(function(){System.register([],function(exports,module){"use strict";return{execute:function(){var __vite_style__=document.createElement("style"); /** * @vue/shared v3.5.21 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ function makeMap(e){const t=Object.create(null);for(const i of e.split(","))t[i]=1;return e=>e in t}__vite_style__.textContent='@charset "UTF-8";.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-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.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{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-editor,.monaco-diff-editor .synthetic-focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="-1"]: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{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-workbench .workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:0 2px 8px var(--vscode-widget-shadow)}.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{position:absolute;z-index:41;pointer-events:none}.monaco-workbench .workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.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-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-workbench .workbench-hover a:hover,.monaco-workbench .workbench-hover a:active{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-right:0;margin-left:16px}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:rgba(0,0,0,0);transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{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{margin-right:16px;cursor:pointer}.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:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover .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{pointer-events:none;opacity:.4;cursor:default}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-aria-container{position:absolute;left:-999em}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.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-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{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{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{color:var(--vscode-descriptionForeground);overflow:hidden;border-radius:2px}.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{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.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:rgba(221,221,221,.4);border:solid 1px rgba(204,204,204,.4);border-bottom-color:rgba(187,187,187,.4);box-shadow:inset 0 -1px rgba(187,187,187,.4);color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:rgba(128,128,128,.17);border:solid 1px rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px rgba(68,68,68,.6);color:#ccc}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center;border-radius:2px;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}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-right-radius:5px;border-top-left-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-inline-action-bar{margin:2px 0 0 5px}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 2px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{font-weight:700;background-color:unset;color:var(--vscode-list-highlightForeground)!important}.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-top:1px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.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{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{padding:4px 6px;font-size:12px}.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}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .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:rgba(255,255,255,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:rgba(255,255,255,.44)}99%{background:transparent}}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.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{position:absolute;bottom:-3px;left:0;height:0px;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-iconpath{width:16px;height:16px;padding-left:2px;margin-top:2px;display:flex}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background);overflow-wrap:initial}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-mouse-cursor-text{cursor:text}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{top:0;bottom:0;position:absolute}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:rgba(255,255,255,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:rgba(0,0,0,0)}.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:rgba(171,171,171,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete,.monaco-editor .inline-deleted-text{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-text{text-decoration:line-through}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor.side-by-side .editor.original{box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow);border-right:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#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{position:relative;overflow:hidden;flex-shrink:0;flex-grow:0}.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{position:absolute;height:100%;left:50%;width:1px;border-left:2px var(--vscode-menu-border) solid}.monaco-diff-editor .gutter .gutterItem .buttons{position:absolute;width:100%;display:flex;justify-content:center;align-items:center}.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{width:fit-content;border-radius:4px;background:var(--vscode-editorGutter-commentRangeForeground)}.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{height:1px;border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);opacity:.5;margin:auto;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-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{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.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;width:10px;vertical-align:middle}.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{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);position:relative;height:100%;width:100%;overflow-y:hidden}.monaco-component.multiDiffEditor>div{position:absolute;top:0;left:0;height:100%;width:100%}.monaco-component.multiDiffEditor>div.placeholder{visibility:hidden;display:grid;place-items:center;place-content:center}.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-direction:column;flex:1;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{z-index:1000;background:var(--vscode-editor-background)}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{margin:8px 0 0;padding:4px 5px;border-top:1px solid var(--vscode-multiDiffEditor-border);display:flex;align-items:center;color:var(--vscode-foreground);background:var(--vscode-multiDiffEditor-headerBackground)}.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;opacity:.75;margin:0 10px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{flex:1;display:flex;flex-direction:column;border-bottom:1px solid var(--vscode-multiDiffEditor-border);overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:var(--vscode-icon-x-content);font-family:var(--vscode-icon-x-font-family)}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}@font-face{font-family:codicon;font-display:block;src:url(/tmagic-editor/playground/assets/codicon-DCmgc-ay.ttf) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.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}.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-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{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)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;z-index:1}.monaco-editor .glyph-margin-widgets .cgmr[class*=codicon-gutter-lightbulb]{display:block;cursor:pointer}.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-auto-fix,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-aifix-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))}.action-widget{font-size:13px;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:5px;background-color:var(--vscode-editorActionList-background);color:var(--vscode-editorActionList-foreground);padding:4px;box-shadow:0 2px 8px var(--vscode-widget-shadow)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%;border-radius:4px}.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-weight:600;font-size:12px}.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:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:8px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.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);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow)}.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{display:block;content:"";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-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px rgba(0,0,0,.85)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{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;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{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{padding-right:2px;padding-bottom:2px;box-sizing:border-box}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row{display:flex}.monaco-editor .monaco-hover .hover-row .hover-row-contents{min-width:0;display:flex;flex-direction:column}.monaco-editor .monaco-hover .hover-row .verbosity-actions{display:flex;flex-direction:column;padding-left:5px;padding-right:5px;justify-content:end;border-right:1px solid var(--vscode-editorHoverWidget-border)}.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 .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;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.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));box-shadow:0 0 8px 2px var(--vscode-widget-shadow);color:var(--vscode-editorWidget-foreground);border-left:1px solid var(--vscode-widget-border);border-right:1px solid var(--vscode-widget-border);border-bottom:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;background-color:var(--vscode-editorWidget-background)}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px;outline-color:var(--vscode-focusBorder)}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.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);padding:1px;box-sizing:border-box}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{left:0!important;background-color:var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border))}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.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;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:var(--vscode-editor-foldPlaceholderForeground);margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.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{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer;color:var(--vscode-textLink-activeForeground)}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.preferences-editor .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info,.preferences-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .inline-edit-remove{background-color:var(--vscode-editorGhostText-background);font-style:italic}.monaco-editor .inline-edit-hidden{opacity:0;font-size: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{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineEditHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.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{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);white-space:pre}.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 .toolbar,.monaco-editor div.inline-edits-widget .promptEditor{opacity:0;transition:opacity .2s ease-in-out}.monaco-editor div.inline-edits-widget:hover .toolbar,.monaco-editor div.inline-edits-widget:hover .promptEditor,.monaco-editor div.inline-edits-widget.focused .toolbar,.monaco-editor div.inline-edits-widget.focused .promptEditor{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 .view-overlays .current-line-exact,.monaco-editor div.inline-edits-widget .preview .monaco-editor .current-line-margin{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)}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .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:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor{--vscode-editor-placeholder-foreground: var(--vscode-editorGhostText-foreground)}.monaco-editor .editorPlaceholder{top:0;position:absolute;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;pointer-events:none;color:var(--vscode-editor-placeholder-foreground)}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input-with-button{padding:3px;border-radius:2px;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-input{width:calc(100% - 8px);padding:0}.monaco-editor .rename-box .rename-input:focus{outline:none}.monaco-editor .rename-box .rename-suggestions-button{display:flex;align-items:center;padding:3px;background-color:transparent;border:none;border-radius:5px;cursor:pointer}.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 .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-number,.monaco-editor .sticky-line-content{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-expanded,.monaco-editor .sticky-line-number .codicon-folding-collapsed{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor .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{width:100%;box-shadow:var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background);right:initial!important}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:center center;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #F6F6F6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}html,body,#app{padding:0;margin:0;width:100%;height:100%}.m-editor-workspace *{user-select:none}.m-editor-workspace .el-slider{position:absolute;bottom:40px;left:20px;width:250px;opacity:.5;transition:opacity 1s}.m-editor-workspace .el-slider:hover{opacity:1}.m-editor-workspace .el-radio-group{position:absolute;top:10px;right:40px;z-index:10}.m-editor-workspace .viewer-scrollbar>.el-scrollbar__bar{display:none}.m-editor-workspace .select-component{text-align:center;transform:translate3d(0,-70px,0)}.m-editor-workspace .select-component p{margin-top:8px}.m-editor-workspace .close-pop-button{position:absolute;left:50%;transform:translate(-50%)}html{overflow:hidden}#app{width:100%;height:100%;display:flex}.editor-app{width:100%;height:100%}.editor-app .m-editor{flex:1;height:100%}.editor-app .el-overlay-dialog{display:flex}.editor-app .pre-viewer{margin:auto}.editor-app .pre-viewer .el-dialog__body{padding:0}.editor-app .menu-left .menu-item-text{margin-left:10px}.m-editor-nav-menu[data-v-67f3d725]{justify-content:flex-end;height:35px}.diff-form{width:500px;margin:20px 0 0 50px}.title{margin:20px 0 0 50px}.form-content{display:flex;height:800px}.form-content .code-editor-content,.form-content .m-form{width:50%}.form-content .m-form{padding:20px;overflow-y:auto;overflow-x:hidden}.table-content{display:flex;height:calc(100% - 35px)}.table-content .right-panel,.table-content .left-panel{width:50%}.table-content .code-editor-content{height:calc(100vh - 100px)}:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645,.045,.355,1);--el-transition-function-fast-bezier:cubic-bezier(.23,1,.32,1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:rgb(121,187,255);--el-color-primary-light-5:rgb(160,207,255);--el-color-primary-light-7:rgb(198,226,255);--el-color-primary-light-8:rgb(217,236,255);--el-color-primary-light-9:rgb(236,245,255);--el-color-primary-dark-2:rgb(51,126,204);--el-color-success:#67c23a;--el-color-success-light-3:rgb(149,212,117);--el-color-success-light-5:rgb(179,225,157);--el-color-success-light-7:rgb(209,237,196);--el-color-success-light-8:rgb(225,243,216);--el-color-success-light-9:rgb(240,249,235);--el-color-success-dark-2:rgb(82,155,46);--el-color-warning:#e6a23c;--el-color-warning-light-3:rgb(238,190,119);--el-color-warning-light-5:rgb(243,209,158);--el-color-warning-light-7:rgb(248,227,197);--el-color-warning-light-8:rgb(250,236,216);--el-color-warning-light-9:rgb(253,246,236);--el-color-warning-dark-2:rgb(184,130,48);--el-color-danger:#f56c6c;--el-color-danger-light-3:rgb(248,152,152);--el-color-danger-light-5:rgb(250,182,182);--el-color-danger-light-7:rgb(252,211,211);--el-color-danger-light-8:rgb(253,226,226);--el-color-danger-light-9:rgb(254,240,240);--el-color-danger-dark-2:rgb(196,86,86);--el-color-error:#f56c6c;--el-color-error-light-3:rgb(248,152,152);--el-color-error-light-5:rgb(250,182,182);--el-color-error-light-7:rgb(252,211,211);--el-color-error-light-8:rgb(253,226,226);--el-color-error-light-9:rgb(254,240,240);--el-color-error-dark-2:rgb(196,86,86);--el-color-info:#909399;--el-color-info-light-3:rgb(177,179,184);--el-color-info-light-5:rgb(200,201,204);--el-color-info-light-7:rgb(222,223,224);--el-color-info-light-8:rgb(233,233,235);--el-color-info-light-9:rgb(244,244,245);--el-color-info-dark-2:rgb(115,118,122);--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0,0,0,.04),0px 8px 20px rgba(0,0,0,.08);--el-box-shadow-light:0px 0px 12px rgba(0,0,0,.12);--el-box-shadow-lighter:0px 0px 6px rgba(0,0,0,.12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0,0,0,.08),0px 12px 32px rgba(0,0,0,.12),0px 8px 16px -8px rgba(0,0,0,.16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0,0,0,.8);--el-overlay-color-light:rgba(0,0,0,.7);--el-overlay-color-lighter:rgba(0,0,0,.5);--el-mask-color:rgba(255,255,255,.9);--el-mask-color-extra-light:rgba(255,255,255,.3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.el-icon{--color:inherit;align-items:center;display:inline-flex;height:1em;justify-content:center;line-height:1em;position:relative;width:1em;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;align-items:center;background-color:var(--el-color-white);border-radius:var(--el-alert-border-radius-base);box-sizing:border-box;display:flex;margin:0;opacity:1;overflow:hidden;padding:var(--el-alert-padding);position:relative;transition:opacity var(--el-transition-duration-fast);width:100%}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color)}.el-alert--primary.is-light,.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color)}.el-alert--success.is-light,.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color)}.el-alert--info.is-light,.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color)}.el-alert--warning.is-light,.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color)}.el-alert--error.is-light,.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{display:flex;flex-direction:column;gap:4px}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);margin-right:8px;width:var(--el-alert-icon-size)}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);margin-right:12px;width:var(--el-alert-icon-large-size)}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{cursor:pointer;font-size:var(--el-alert-close-font-size);opacity:1;position:absolute;right:16px;top:12px}.el-alert .el-alert__close-btn.is-customed{font-size:var(--el-alert-close-customed-font-size);font-style:normal;line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;flex-shrink:0;overflow:auto;width:var(--el-aside-width,300px)}.el-autocomplete{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;position:relative;width:var(--el-input-width)}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper,.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__header{border-bottom:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__footer{border-top:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);line-height:34px;list-style:none;margin:0;overflow:hidden;padding:0 20px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{color:var(--el-text-color-secondary);cursor:default;font-size:20px;height:100px;line-height:100px;text-align:center}.el-autocomplete-suggestion.is-loading li:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size-small:24px;--el-avatar-size:40px;align-items:center;background:var(--el-avatar-bg-color);box-sizing:border-box;color:var(--el-avatar-text-color);display:inline-flex;font-size:var(--el-avatar-text-size);height:var(--el-avatar-size);justify-content:center;outline:none;overflow:hidden;text-align:center;width:var(--el-avatar-size)}.el-avatar>img{display:block;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);align-items:center;background-color:var(--el-backtop-bg-color);border-radius:50%;box-shadow:var(--el-box-shadow-lighter);color:var(--el-backtop-text-color);cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:fixed;width:40px;z-index:5}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;display:inline-block;position:relative;vertical-align:middle;width:-moz-fit-content;width:fit-content}.el-badge__content{align-items:center;background-color:var(--el-badge-bg-color);border:1px solid var(--el-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;font-size:var(--el-badge-font-size);height:var(--el-badge-size);justify-content:center;padding:0 var(--el-badge-padding);white-space:nowrap}.el-badge__content.is-fixed{position:absolute;right:calc(1px + var(--el-badge-size)/2);top:0;transform:translateY(-50%) translate(100%);z-index:var(--el-index-normal)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;height:8px;padding:0;right:0;width:8px}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{content:"";display:table}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);font-weight:700;margin:0 9px}.el-breadcrumb__separator.el-icon{font-weight:400;margin:0 6px}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{align-items:center;display:inline-flex;float:left}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{color:var(--el-text-color-primary);font-weight:700;text-decoration:none;transition:var(--el-transition-color)}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{content:"";display:table}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.el-button-group>.el-button:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-bottom-left-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-bottom-left-radius:0;border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0}.el-button-group .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255,255,255,.5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);align-items:center;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);box-sizing:border-box;color:var(--el-button-text-color);cursor:pointer;display:inline-flex;font-weight:var(--el-button-font-weight);height:32px;justify-content:center;line-height:1;outline:none;text-align:center;transition:.1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-button:hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color);color:var(--el-button-hover-text-color);outline:none}.el-button:active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base)}.el-button,.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{background-color:var(--el-button-disabled-bg-color);background-image:none;border-color:var(--el-button-disabled-border-color);color:var(--el-button-disabled-text-color);cursor:not-allowed}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{background-color:var(--el-mask-color-extra-light);border-radius:inherit;bottom:-1px;content:"";left:-1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:1}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px;width:32px}.el-button.is-text{background-color:transparent;border:0 solid transparent;color:var(--el-button-text-color)}.el-button.is-text.is-disabled{background-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{background:transparent;border-color:transparent;color:var(--el-button-text-color);height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-link:not(.is-disabled):active,.el-button.is-link:not(.is-disabled):hover{background-color:transparent;border-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color)}.el-button--text{background:transparent;border-color:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button--text:not(.is-disabled):hover{background-color:transparent;border-color:transparent;color:var(--el-color-primary-light-3)}.el-button--text:not(.is-disabled):active{background-color:transparent;border-color:transparent;color:var(--el-color-primary-dark-2)}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8);color:var(--el-color-primary-light-5)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8);color:var(--el-color-success-light-5)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8);color:var(--el-color-warning-light-5)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8);color:var(--el-color-danger-light-5)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8);color:var(--el-color-info-light-5)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{padding:12px;width:var(--el-button-size)}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:12px;padding:5px 11px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{padding:5px;width:var(--el-button-size)}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);display:flex;justify-content:space-between;padding:12px 20px}.el-calendar__title{align-self:center;color:var(--el-text-color)}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);font-weight:400;padding:12px 0}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);transition:background-color var(--el-transition-duration-fast) ease;vertical-align:top}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{background-color:var(--el-calendar-selected-bg-color);cursor:pointer}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);background-color:var(--el-card-bg-color);border:1px solid var(--el-card-border-color);border-radius:var(--el-card-border-radius);color:var(--el-text-color-primary);overflow:hidden;transition:var(--el-transition-duration)}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{border-top:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-carousel__item{display:inline-block;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.el-carousel__item,.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item--card,.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{height:50%;width:100%}.el-carousel__mask{background-color:var(--el-color-white);height:100%;left:0;opacity:.24;position:absolute;top:0;transition:var(--el-transition-duration-fast);width:100%}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:rgba(31,45,61,.11);--el-carousel-arrow-hover-background:rgba(31,45,61,.23);--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{align-items:center;background-color:var(--el-carousel-arrow-background);border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:var(--el-carousel-arrow-font-size);height:var(--el-carousel-arrow-size);justify-content:center;margin:0;outline:none;padding:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);transition:var(--el-transition-duration);width:var(--el-carousel-arrow-size);z-index:10}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{list-style:none;margin:0;padding:0;position:absolute;z-index:calc(var(--el-index-normal) + 1)}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translate(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:calc(var(--el-carousel-indicator-height) + var(--el-carousel-indicator-padding-vertical)*2);position:static;text-align:center;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels{left:0;right:0;text-align:center;transform:none}.el-carousel__indicators--labels .el-carousel__button{color:#000;font-size:12px;height:auto;padding:2px 18px;width:auto}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal)}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{height:calc(var(--el-carousel-indicator-width)/2);width:var(--el-carousel-indicator-height)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{background-color:#fff;border:none;cursor:pointer;display:block;height:var(--el-carousel-indicator-height);margin:0;opacity:.48;outline:none;padding:0;transition:var(--el-transition-duration);width:var(--el-carousel-indicator-width)}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%) translate(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%) translate(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);display:flex;font-size:var(--el-cascader-menu-font-size)}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{border-right:var(--el-cascader-menu-border);box-sizing:border-box;color:var(--el-cascader-menu-text-color);min-width:180px}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;list-style:none;margin:0;min-height:100%;padding:6px 0;position:relative}.el-cascader-menu__hover-zone{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.el-cascader-menu__empty-text{align-items:center;color:var(--el-cascader-color-empty);display:flex;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{align-items:center;display:flex;height:34px;line-height:34px;outline:none;padding:0 30px 0 20px;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{left:10px;position:absolute}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{flex:1;overflow:hidden;padding:0 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);display:inline-block;font-size:var(--el-font-size-base);line-height:32px;outline:none;position:relative;vertical-align:middle}.el-cascader:not(.is-disabled):hover .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset;cursor:pointer}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{cursor:pointer;text-overflow:ellipsis}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{font-size:14px;transition:transform var(--el-transition-duration)}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{color:var(--el-disabled-text-color);z-index:calc(var(--el-index-normal) + 1)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);font-size:var(--el-cascader-menu-font-size)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill)}.el-cascader__dropdown.el-popper,.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-cascader__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-cascader__tags{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px;left:0;line-height:normal;padding:4px;position:absolute;right:30px;text-align:left;top:50%;transform:translateY(-50%)}.el-cascader__tags .el-tag{align-items:center;background:var(--el-cascader-tag-background);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{flex:1;line-height:normal;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{align-items:center;background:var(--el-fill-color);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{flex:1;line-height:normal;overflow:hidden;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__collapse-tags .el-tag{margin:2px 0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-list{color:var(--el-cascader-menu-text-color);font-size:var(--el-font-size-base);margin:0;max-height:204px;padding:6px 0;text-align:center}.el-cascader__suggestion-item{align-items:center;cursor:pointer;display:flex;height:34px;justify-content:space-between;outline:none;padding:0 15px;text-align:left}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{background:transparent;border:none;box-sizing:border-box;color:var(--el-cascader-menu-text-color);flex:1;height:24px;margin-left:7px;min-width:60px;outline:none;padding:0}.el-cascader__search-input::-moz-placeholder{color:transparent}.el-cascader__search-input::placeholder{color:transparent}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:700;line-height:var(--el-font-size-base);padding:7px 15px;transition:var(--el-transition-all)}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--primary.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.el-check-tag--primary.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.el-check-tag--primary.is-checked.is-disabled{background-color:var(--el-color-primary-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-checked.is-disabled:hover{background-color:var(--el-color-primary-light-8)}.el-check-tag.el-check-tag--primary.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-check-tag.el-check-tag--success.is-checked{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.el-check-tag--success.is-checked:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.el-check-tag--success.is-checked.is-disabled{background-color:var(--el-color-success-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-checked.is-disabled:hover{background-color:var(--el-color-success-light-8)}.el-check-tag.el-check-tag--success.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-disabled,.el-check-tag.el-check-tag--success.is-disabled:hover{background-color:var(--el-color-success-light-9)}.el-check-tag.el-check-tag--warning.is-checked{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.el-check-tag--warning.is-checked:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.el-check-tag--warning.is-checked.is-disabled{background-color:var(--el-color-warning-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-checked.is-disabled:hover{background-color:var(--el-color-warning-light-8)}.el-check-tag.el-check-tag--warning.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-disabled,.el-check-tag.el-check-tag--warning.is-disabled:hover{background-color:var(--el-color-warning-light-9)}.el-check-tag.el-check-tag--danger.is-checked{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.el-check-tag--danger.is-checked:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.el-check-tag--danger.is-checked.is-disabled{background-color:var(--el-color-danger-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-checked.is-disabled:hover{background-color:var(--el-color-danger-light-8)}.el-check-tag.el-check-tag--danger.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-disabled,.el-check-tag.el-check-tag--danger.is-disabled:hover{background-color:var(--el-color-danger-light-9)}.el-check-tag.el-check-tag--error.is-checked{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.el-check-tag--error.is-checked:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.el-check-tag--error.is-checked.is-disabled{background-color:var(--el-color-error-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-checked.is-disabled:hover{background-color:var(--el-color-error-light-8)}.el-check-tag.el-check-tag--error.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-disabled,.el-check-tag.el-check-tag--error.is-disabled:hover{background-color:var(--el-color-error-light-9)}.el-check-tag.el-check-tag--info.is-checked{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.el-check-tag--info.is-checked:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--info.is-checked.is-disabled{background-color:var(--el-color-info-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-checked.is-disabled:hover{background-color:var(--el-color-info-light-8)}.el-check-tag.el-check-tag--info.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-disabled,.el-check-tag.el-check-tag--info.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);display:inline-block;position:relative}.el-checkbox-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left-color:transparent;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);line-height:1;margin:0;outline:none;padding:8px 15px;position:relative;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{margin:0;opacity:0;outline:none;position:absolute;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7);color:var(--el-checkbox-button-checked-text-color)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button:first-child .el-checkbox-button__inner{border-bottom-left-radius:var(--el-border-radius-base);border-left:var(--el-border);border-top-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-bottom-right-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-checkbox-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);height:var(--el-checkbox-height,32px);margin-right:30px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{border-radius:var(--el-checkbox-border-radius);outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px}.el-checkbox__input{cursor:pointer;display:inline-flex;outline:none;position:relative;white-space:nowrap}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-icon-color);cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%) rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-checked-icon-color);content:"";display:block;height:2px;left:0;position:absolute;right:0;top:5px;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{background-color:var(--el-checkbox-bg-color);border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;display:inline-block;height:var(--el-checkbox-input-height);position:relative;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);width:var(--el-checkbox-input-width);z-index:var(--el-index-normal)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{border:1px solid transparent;border-left:0;border-top:0;box-sizing:content-box;content:"";height:7px;left:50%;position:absolute;top:50%;transform:translate(-45%,-60%) rotate(45deg) scaleY(0);transform-origin:center;transition:transform .15s ease-in .05s;width:3px}.el-checkbox__original{height:0;margin:0;opacity:0;outline:none;position:absolute;width:0;z-index:-1}.el-checkbox__label{display:inline-block;font-size:var(--el-checkbox-font-size);line-height:1;padding-left:8px}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{display:block;min-height:1px}.el-col-0{flex:0 0 0%;max-width:0}.el-col-0,.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{left:0;position:relative}.el-col-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-1,.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.1666666667%}.el-col-pull-1{position:relative;right:4.1666666667%}.el-col-push-1{left:4.1666666667%;position:relative}.el-col-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-2,.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.3333333333%}.el-col-pull-2{position:relative;right:8.3333333333%}.el-col-push-2{left:8.3333333333%;position:relative}.el-col-3{flex:0 0 12.5%;max-width:12.5%}.el-col-3,.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{left:12.5%;position:relative}.el-col-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-4,.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6666666667%}.el-col-pull-4{position:relative;right:16.6666666667%}.el-col-push-4{left:16.6666666667%;position:relative}.el-col-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-5,.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333333333%}.el-col-pull-5{position:relative;right:20.8333333333%}.el-col-push-5{left:20.8333333333%;position:relative}.el-col-6{flex:0 0 25%;max-width:25%}.el-col-6,.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{left:25%;position:relative}.el-col-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-7,.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1666666667%}.el-col-pull-7{position:relative;right:29.1666666667%}.el-col-push-7{left:29.1666666667%;position:relative}.el-col-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-8,.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333333333%}.el-col-pull-8{position:relative;right:33.3333333333%}.el-col-push-8{left:33.3333333333%;position:relative}.el-col-9{flex:0 0 37.5%;max-width:37.5%}.el-col-9,.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{left:37.5%;position:relative}.el-col-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-10,.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6666666667%}.el-col-pull-10{position:relative;right:41.6666666667%}.el-col-push-10{left:41.6666666667%;position:relative}.el-col-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-11,.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333333333%}.el-col-pull-11{position:relative;right:45.8333333333%}.el-col-push-11{left:45.8333333333%;position:relative}.el-col-12{flex:0 0 50%;max-width:50%}.el-col-12,.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%;position:relative}.el-col-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-13,.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1666666667%}.el-col-pull-13{position:relative;right:54.1666666667%}.el-col-push-13{left:54.1666666667%;position:relative}.el-col-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-14,.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333333333%}.el-col-pull-14{position:relative;right:58.3333333333%}.el-col-push-14{left:58.3333333333%;position:relative}.el-col-15{flex:0 0 62.5%;max-width:62.5%}.el-col-15,.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{left:62.5%;position:relative}.el-col-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-16,.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6666666667%}.el-col-pull-16{position:relative;right:66.6666666667%}.el-col-push-16{left:66.6666666667%;position:relative}.el-col-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-17,.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333333333%}.el-col-pull-17{position:relative;right:70.8333333333%}.el-col-push-17{left:70.8333333333%;position:relative}.el-col-18{flex:0 0 75%;max-width:75%}.el-col-18,.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{left:75%;position:relative}.el-col-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-19,.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1666666667%}.el-col-pull-19{position:relative;right:79.1666666667%}.el-col-push-19{left:79.1666666667%;position:relative}.el-col-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-20,.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333333333%}.el-col-pull-20{position:relative;right:83.3333333333%}.el-col-push-20{left:83.3333333333%;position:relative}.el-col-21{flex:0 0 87.5%;max-width:87.5%}.el-col-21,.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{left:87.5%;position:relative}.el-col-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-22,.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6666666667%}.el-col-pull-22{position:relative;right:91.6666666667%}.el-col-push-22{left:91.6666666667%;position:relative}.el-col-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-23,.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333333333%}.el-col-pull-23{position:relative;right:95.8333333333%}.el-col-push-23{left:95.8333333333%;position:relative}.el-col-24{flex:0 0 100%;max-width:100%}.el-col-24,.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{left:100%;position:relative}@media only screen and (max-width:767px){.el-col-xs-0{display:none;flex:0 0 0%;max-width:0}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{left:0;position:relative}.el-col-xs-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xs-1,.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.1666666667%}.el-col-xs-pull-1{position:relative;right:4.1666666667%}.el-col-xs-push-1{left:4.1666666667%;position:relative}.el-col-xs-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xs-2,.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.3333333333%}.el-col-xs-pull-2{position:relative;right:8.3333333333%}.el-col-xs-push-2{left:8.3333333333%;position:relative}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xs-3,.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{left:12.5%;position:relative}.el-col-xs-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xs-4,.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6666666667%}.el-col-xs-pull-4{position:relative;right:16.6666666667%}.el-col-xs-push-4{left:16.6666666667%;position:relative}.el-col-xs-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xs-5,.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333333333%}.el-col-xs-pull-5{position:relative;right:20.8333333333%}.el-col-xs-push-5{left:20.8333333333%;position:relative}.el-col-xs-6{flex:0 0 25%;max-width:25%}.el-col-xs-6,.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{left:25%;position:relative}.el-col-xs-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xs-7,.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1666666667%}.el-col-xs-pull-7{position:relative;right:29.1666666667%}.el-col-xs-push-7{left:29.1666666667%;position:relative}.el-col-xs-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xs-8,.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333333333%}.el-col-xs-pull-8{position:relative;right:33.3333333333%}.el-col-xs-push-8{left:33.3333333333%;position:relative}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xs-9,.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{left:37.5%;position:relative}.el-col-xs-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6666666667%}.el-col-xs-pull-10{position:relative;right:41.6666666667%}.el-col-xs-push-10{left:41.6666666667%;position:relative}.el-col-xs-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333333333%}.el-col-xs-pull-11{position:relative;right:45.8333333333%}.el-col-xs-push-11{left:45.8333333333%;position:relative}.el-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{left:50%;position:relative}.el-col-xs-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1666666667%}.el-col-xs-pull-13{position:relative;right:54.1666666667%}.el-col-xs-push-13{left:54.1666666667%;position:relative}.el-col-xs-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333333333%}.el-col-xs-pull-14{position:relative;right:58.3333333333%}.el-col-xs-push-14{left:58.3333333333%;position:relative}.el-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{left:62.5%;position:relative}.el-col-xs-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6666666667%}.el-col-xs-pull-16{position:relative;right:66.6666666667%}.el-col-xs-push-16{left:66.6666666667%;position:relative}.el-col-xs-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333333333%}.el-col-xs-pull-17{position:relative;right:70.8333333333%}.el-col-xs-push-17{left:70.8333333333%;position:relative}.el-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{left:75%;position:relative}.el-col-xs-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1666666667%}.el-col-xs-pull-19{position:relative;right:79.1666666667%}.el-col-xs-push-19{left:79.1666666667%;position:relative}.el-col-xs-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333333333%}.el-col-xs-pull-20{position:relative;right:83.3333333333%}.el-col-xs-push-20{left:83.3333333333%;position:relative}.el-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{left:87.5%;position:relative}.el-col-xs-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6666666667%}.el-col-xs-pull-22{position:relative;right:91.6666666667%}.el-col-xs-push-22{left:91.6666666667%;position:relative}.el-col-xs-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333333333%}.el-col-xs-pull-23{position:relative;right:95.8333333333%}.el-col-xs-push-23{left:95.8333333333%;position:relative}.el-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{left:100%;position:relative}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;flex:0 0 0%;max-width:0}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{left:0;position:relative}.el-col-sm-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-sm-1,.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.1666666667%}.el-col-sm-pull-1{position:relative;right:4.1666666667%}.el-col-sm-push-1{left:4.1666666667%;position:relative}.el-col-sm-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-sm-2,.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.3333333333%}.el-col-sm-pull-2{position:relative;right:8.3333333333%}.el-col-sm-push-2{left:8.3333333333%;position:relative}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%}.el-col-sm-3,.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{left:12.5%;position:relative}.el-col-sm-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-sm-4,.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6666666667%}.el-col-sm-pull-4{position:relative;right:16.6666666667%}.el-col-sm-push-4{left:16.6666666667%;position:relative}.el-col-sm-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-sm-5,.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333333333%}.el-col-sm-pull-5{position:relative;right:20.8333333333%}.el-col-sm-push-5{left:20.8333333333%;position:relative}.el-col-sm-6{flex:0 0 25%;max-width:25%}.el-col-sm-6,.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{left:25%;position:relative}.el-col-sm-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-sm-7,.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1666666667%}.el-col-sm-pull-7{position:relative;right:29.1666666667%}.el-col-sm-push-7{left:29.1666666667%;position:relative}.el-col-sm-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-sm-8,.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333333333%}.el-col-sm-pull-8{position:relative;right:33.3333333333%}.el-col-sm-push-8{left:33.3333333333%;position:relative}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%}.el-col-sm-9,.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{left:37.5%;position:relative}.el-col-sm-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6666666667%}.el-col-sm-pull-10{position:relative;right:41.6666666667%}.el-col-sm-push-10{left:41.6666666667%;position:relative}.el-col-sm-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333333333%}.el-col-sm-pull-11{position:relative;right:45.8333333333%}.el-col-sm-push-11{left:45.8333333333%;position:relative}.el-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{left:50%;position:relative}.el-col-sm-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1666666667%}.el-col-sm-pull-13{position:relative;right:54.1666666667%}.el-col-sm-push-13{left:54.1666666667%;position:relative}.el-col-sm-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333333333%}.el-col-sm-pull-14{position:relative;right:58.3333333333%}.el-col-sm-push-14{left:58.3333333333%;position:relative}.el-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{left:62.5%;position:relative}.el-col-sm-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6666666667%}.el-col-sm-pull-16{position:relative;right:66.6666666667%}.el-col-sm-push-16{left:66.6666666667%;position:relative}.el-col-sm-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333333333%}.el-col-sm-pull-17{position:relative;right:70.8333333333%}.el-col-sm-push-17{left:70.8333333333%;position:relative}.el-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{left:75%;position:relative}.el-col-sm-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1666666667%}.el-col-sm-pull-19{position:relative;right:79.1666666667%}.el-col-sm-push-19{left:79.1666666667%;position:relative}.el-col-sm-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333333333%}.el-col-sm-pull-20{position:relative;right:83.3333333333%}.el-col-sm-push-20{left:83.3333333333%;position:relative}.el-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{left:87.5%;position:relative}.el-col-sm-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6666666667%}.el-col-sm-pull-22{position:relative;right:91.6666666667%}.el-col-sm-push-22{left:91.6666666667%;position:relative}.el-col-sm-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333333333%}.el-col-sm-pull-23{position:relative;right:95.8333333333%}.el-col-sm-push-23{left:95.8333333333%;position:relative}.el-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{left:100%;position:relative}}@media only screen and (min-width:992px){.el-col-md-0{display:none;flex:0 0 0%;max-width:0}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{left:0;position:relative}.el-col-md-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-md-1,.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.1666666667%}.el-col-md-pull-1{position:relative;right:4.1666666667%}.el-col-md-push-1{left:4.1666666667%;position:relative}.el-col-md-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-md-2,.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.3333333333%}.el-col-md-pull-2{position:relative;right:8.3333333333%}.el-col-md-push-2{left:8.3333333333%;position:relative}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%}.el-col-md-3,.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{left:12.5%;position:relative}.el-col-md-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-md-4,.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6666666667%}.el-col-md-pull-4{position:relative;right:16.6666666667%}.el-col-md-push-4{left:16.6666666667%;position:relative}.el-col-md-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-md-5,.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333333333%}.el-col-md-pull-5{position:relative;right:20.8333333333%}.el-col-md-push-5{left:20.8333333333%;position:relative}.el-col-md-6{flex:0 0 25%;max-width:25%}.el-col-md-6,.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{left:25%;position:relative}.el-col-md-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-md-7,.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1666666667%}.el-col-md-pull-7{position:relative;right:29.1666666667%}.el-col-md-push-7{left:29.1666666667%;position:relative}.el-col-md-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-md-8,.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333333333%}.el-col-md-pull-8{position:relative;right:33.3333333333%}.el-col-md-push-8{left:33.3333333333%;position:relative}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%}.el-col-md-9,.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{left:37.5%;position:relative}.el-col-md-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6666666667%}.el-col-md-pull-10{position:relative;right:41.6666666667%}.el-col-md-push-10{left:41.6666666667%;position:relative}.el-col-md-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333333333%}.el-col-md-pull-11{position:relative;right:45.8333333333%}.el-col-md-push-11{left:45.8333333333%;position:relative}.el-col-md-12{display:block;flex:0 0 50%;max-width:50%}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{left:50%;position:relative}.el-col-md-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1666666667%}.el-col-md-pull-13{position:relative;right:54.1666666667%}.el-col-md-push-13{left:54.1666666667%;position:relative}.el-col-md-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333333333%}.el-col-md-pull-14{position:relative;right:58.3333333333%}.el-col-md-push-14{left:58.3333333333%;position:relative}.el-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{left:62.5%;position:relative}.el-col-md-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6666666667%}.el-col-md-pull-16{position:relative;right:66.6666666667%}.el-col-md-push-16{left:66.6666666667%;position:relative}.el-col-md-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333333333%}.el-col-md-pull-17{position:relative;right:70.8333333333%}.el-col-md-push-17{left:70.8333333333%;position:relative}.el-col-md-18{display:block;flex:0 0 75%;max-width:75%}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{left:75%;position:relative}.el-col-md-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1666666667%}.el-col-md-pull-19{position:relative;right:79.1666666667%}.el-col-md-push-19{left:79.1666666667%;position:relative}.el-col-md-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333333333%}.el-col-md-pull-20{position:relative;right:83.3333333333%}.el-col-md-push-20{left:83.3333333333%;position:relative}.el-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{left:87.5%;position:relative}.el-col-md-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6666666667%}.el-col-md-pull-22{position:relative;right:91.6666666667%}.el-col-md-push-22{left:91.6666666667%;position:relative}.el-col-md-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333333333%}.el-col-md-pull-23{position:relative;right:95.8333333333%}.el-col-md-push-23{left:95.8333333333%;position:relative}.el-col-md-24{display:block;flex:0 0 100%;max-width:100%}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{left:100%;position:relative}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;flex:0 0 0%;max-width:0}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{left:0;position:relative}.el-col-lg-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-lg-1,.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.1666666667%}.el-col-lg-pull-1{position:relative;right:4.1666666667%}.el-col-lg-push-1{left:4.1666666667%;position:relative}.el-col-lg-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-lg-2,.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.3333333333%}.el-col-lg-pull-2{position:relative;right:8.3333333333%}.el-col-lg-push-2{left:8.3333333333%;position:relative}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%}.el-col-lg-3,.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{left:12.5%;position:relative}.el-col-lg-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-lg-4,.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6666666667%}.el-col-lg-pull-4{position:relative;right:16.6666666667%}.el-col-lg-push-4{left:16.6666666667%;position:relative}.el-col-lg-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-lg-5,.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333333333%}.el-col-lg-pull-5{position:relative;right:20.8333333333%}.el-col-lg-push-5{left:20.8333333333%;position:relative}.el-col-lg-6{flex:0 0 25%;max-width:25%}.el-col-lg-6,.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{left:25%;position:relative}.el-col-lg-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-lg-7,.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1666666667%}.el-col-lg-pull-7{position:relative;right:29.1666666667%}.el-col-lg-push-7{left:29.1666666667%;position:relative}.el-col-lg-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-lg-8,.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333333333%}.el-col-lg-pull-8{position:relative;right:33.3333333333%}.el-col-lg-push-8{left:33.3333333333%;position:relative}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%}.el-col-lg-9,.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{left:37.5%;position:relative}.el-col-lg-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6666666667%}.el-col-lg-pull-10{position:relative;right:41.6666666667%}.el-col-lg-push-10{left:41.6666666667%;position:relative}.el-col-lg-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333333333%}.el-col-lg-pull-11{position:relative;right:45.8333333333%}.el-col-lg-push-11{left:45.8333333333%;position:relative}.el-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{left:50%;position:relative}.el-col-lg-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1666666667%}.el-col-lg-pull-13{position:relative;right:54.1666666667%}.el-col-lg-push-13{left:54.1666666667%;position:relative}.el-col-lg-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333333333%}.el-col-lg-pull-14{position:relative;right:58.3333333333%}.el-col-lg-push-14{left:58.3333333333%;position:relative}.el-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{left:62.5%;position:relative}.el-col-lg-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6666666667%}.el-col-lg-pull-16{position:relative;right:66.6666666667%}.el-col-lg-push-16{left:66.6666666667%;position:relative}.el-col-lg-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333333333%}.el-col-lg-pull-17{position:relative;right:70.8333333333%}.el-col-lg-push-17{left:70.8333333333%;position:relative}.el-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{left:75%;position:relative}.el-col-lg-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1666666667%}.el-col-lg-pull-19{position:relative;right:79.1666666667%}.el-col-lg-push-19{left:79.1666666667%;position:relative}.el-col-lg-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333333333%}.el-col-lg-pull-20{position:relative;right:83.3333333333%}.el-col-lg-push-20{left:83.3333333333%;position:relative}.el-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{left:87.5%;position:relative}.el-col-lg-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6666666667%}.el-col-lg-pull-22{position:relative;right:91.6666666667%}.el-col-lg-push-22{left:91.6666666667%;position:relative}.el-col-lg-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333333333%}.el-col-lg-pull-23{position:relative;right:95.8333333333%}.el-col-lg-push-23{left:95.8333333333%;position:relative}.el-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{left:100%;position:relative}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;flex:0 0 0%;max-width:0}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{left:0;position:relative}.el-col-xl-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xl-1,.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.1666666667%}.el-col-xl-pull-1{position:relative;right:4.1666666667%}.el-col-xl-push-1{left:4.1666666667%;position:relative}.el-col-xl-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xl-2,.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.3333333333%}.el-col-xl-pull-2{position:relative;right:8.3333333333%}.el-col-xl-push-2{left:8.3333333333%;position:relative}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xl-3,.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{left:12.5%;position:relative}.el-col-xl-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xl-4,.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6666666667%}.el-col-xl-pull-4{position:relative;right:16.6666666667%}.el-col-xl-push-4{left:16.6666666667%;position:relative}.el-col-xl-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xl-5,.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333333333%}.el-col-xl-pull-5{position:relative;right:20.8333333333%}.el-col-xl-push-5{left:20.8333333333%;position:relative}.el-col-xl-6{flex:0 0 25%;max-width:25%}.el-col-xl-6,.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{left:25%;position:relative}.el-col-xl-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xl-7,.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1666666667%}.el-col-xl-pull-7{position:relative;right:29.1666666667%}.el-col-xl-push-7{left:29.1666666667%;position:relative}.el-col-xl-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xl-8,.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333333333%}.el-col-xl-pull-8{position:relative;right:33.3333333333%}.el-col-xl-push-8{left:33.3333333333%;position:relative}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xl-9,.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{left:37.5%;position:relative}.el-col-xl-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6666666667%}.el-col-xl-pull-10{position:relative;right:41.6666666667%}.el-col-xl-push-10{left:41.6666666667%;position:relative}.el-col-xl-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333333333%}.el-col-xl-pull-11{position:relative;right:45.8333333333%}.el-col-xl-push-11{left:45.8333333333%;position:relative}.el-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{left:50%;position:relative}.el-col-xl-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1666666667%}.el-col-xl-pull-13{position:relative;right:54.1666666667%}.el-col-xl-push-13{left:54.1666666667%;position:relative}.el-col-xl-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333333333%}.el-col-xl-pull-14{position:relative;right:58.3333333333%}.el-col-xl-push-14{left:58.3333333333%;position:relative}.el-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{left:62.5%;position:relative}.el-col-xl-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6666666667%}.el-col-xl-pull-16{position:relative;right:66.6666666667%}.el-col-xl-push-16{left:66.6666666667%;position:relative}.el-col-xl-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333333333%}.el-col-xl-pull-17{position:relative;right:70.8333333333%}.el-col-xl-push-17{left:70.8333333333%;position:relative}.el-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{left:75%;position:relative}.el-col-xl-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1666666667%}.el-col-xl-pull-19{position:relative;right:79.1666666667%}.el-col-xl-push-19{left:79.1666666667%;position:relative}.el-col-xl-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333333333%}.el-col-xl-pull-20{position:relative;right:83.3333333333%}.el-col-xl-push-20{left:83.3333333333%;position:relative}.el-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{left:87.5%;position:relative}.el-col-xl-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6666666667%}.el-col-xl-pull-22{position:relative;right:91.6666666667%}.el-col-xl-push-22{left:91.6666666667%;position:relative}.el-col-xl-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333333333%}.el-col-xl-pull-23{position:relative;right:95.8333333333%}.el-col-xl-push-23{left:95.8333333333%;position:relative}.el-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{left:100%;position:relative}}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-bottom:1px solid var(--el-collapse-border-color);border-top:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{align-items:center;background-color:var(--el-collapse-header-bg-color);border:none;border-bottom:1px solid var(--el-collapse-border-color);color:var(--el-collapse-header-text-color);cursor:pointer;display:flex;font-size:var(--el-collapse-header-font-size);font-weight:500;line-height:var(--el-collapse-header-height);min-height:var(--el-collapse-header-height);outline:none;padding:0;transition:border-bottom-color var(--el-transition-duration);width:100%}.el-collapse-item__arrow{font-weight:300;transition:transform var(--el-transition-duration)}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{flex:auto;text-align:left}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{background-color:var(--el-collapse-content-bg-color);border-bottom:1px solid var(--el-collapse-border-color);box-sizing:border-box;overflow:hidden;will-change:height}.el-collapse-item__content{color:var(--el-collapse-content-text-color);font-size:var(--el-collapse-content-font-size);line-height:1.7692307692;padding-bottom:25px}.el-collapse-item:last-child{margin-bottom:-1px}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-color-picker-panel{background:var(--el-bg-color-overlay);box-sizing:content-box;padding:12px;width:300px}.el-color-picker-panel.is-border{border:1px solid var(--el-border-color-lighter);border-radius:4px}.el-color-picker-panel__wrapper{margin-bottom:6px}.el-color-picker-panel__footer{display:flex;justify-content:space-between;margin-top:12px;text-align:right}.el-color-picker-panel__footer .el-input{color:#000;font-size:12px;line-height:26px;width:160px}.el-color-picker-panel.is-disabled .el-color-hue-slider,.el-color-picker-panel.is-disabled .el-color-svpanel{cursor:not-allowed;opacity:.3}.el-color-picker-panel.is-disabled .el-color-hue-slider__thumb{cursor:not-allowed}.el-color-picker-panel.is-disabled .el-color-alpha-slider,.el-color-picker-panel.is-disabled .el-color-predefine .el-color-predefine__color-selector{cursor:not-allowed;opacity:.3}.el-color-predefine{display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:flex;flex:1;flex-wrap:wrap;gap:8px}.el-color-predefine__color-selector{border-radius:4px;cursor:pointer;height:20px;width:20px}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector>div{border-radius:3px;display:flex;height:100%}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{background-color:red;box-sizing:border-box;float:right;height:12px;padding:0 2px;position:relative;width:280px}.el-color-hue-slider__bar{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);height:100%;position:relative}.el-color-hue-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{height:180px;padding:2px 0;width:12px}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-svpanel{height:180px;position:relative;width:280px}.el-color-svpanel__black,.el-color-svpanel__white{bottom:0;left:0;position:absolute;right:0;top:0}.el-color-svpanel__white{background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:linear-gradient(0deg,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{border-radius:50%;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);cursor:head;height:4px;transform:translate(-2px,-2px);width:4px}.el-color-alpha-slider{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;box-sizing:border-box;height:12px;position:relative;width:280px}.el-color-alpha-slider.is-disabled .el-color-alpha-slider__thumb{cursor:not-allowed}.el-color-alpha-slider__bar{background:linear-gradient(to right,rgba(255,255,255,0) 0,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{height:180px;width:20px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(180deg,rgba(255,255,255,0) 0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-picker-panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker-panel{--el-color-picker-alpha-bg-a:#333333}.el-color-picker{display:inline-block;height:32px;line-height:normal;outline:none;position:relative;width:32px}.el-color-picker:hover:not(.is-disabled,.is-focused) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{background-color:var(--el-fill-color-light);cursor:not-allowed}.el-color-picker.is-disabled .el-color-picker__color{opacity:.3}.el-color-picker--large{height:40px;width:40px}.el-color-picker--small{height:24px;width:24px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{transform:scale(.8)}.el-color-picker__trigger{align-items:center;border:1px solid var(--el-border-color);border-radius:4px;cursor:pointer;display:inline-flex;font-size:0;justify-content:center;padding:4px}.el-color-picker__color,.el-color-picker__trigger{box-sizing:border-box;height:100%;position:relative;width:100%}.el-color-picker__color{border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);display:block;text-align:center}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{align-items:center;color:#fff;display:inline-flex;font-size:12px;justify-content:center}.el-color-picker__panel{background-color:#fff;border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light)}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333333}.el-container{box-sizing:border-box;display:flex;flex:1;flex-basis:auto;flex-direction:row;min-width:0}.el-container.is-vertical{flex-direction:column}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;cursor:pointer;height:30px;padding:4px 0;position:relative;text-align:center;width:32px}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;display:block;height:24px;left:50%;line-height:24px;margin:0 auto;position:absolute;transform:translate(-50%);width:24px}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.end-date .el-date-table-cell__text,.el-date-table td.today.start-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.end-date .el-date-table-cell,.el-date-table td.start-date .el-date-table-cell{color:#fff}.el-date-table td.end-date .el-date-table-cell__text,.el-date-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed;opacity:1}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);border-radius:15px;color:#fff}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{border-bottom:1px solid var(--el-border-color-lighter);color:var(--el-datepicker-header-text-color);font-weight:400;padding:5px}.el-date-table th.el-date-table__week-header{padding:0;width:24px}.el-month-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-month-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.end-date .el-date-table-cell__text,.el-month-table td.today.start-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translate(-50%);width:54px}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.end-date .el-date-table-cell,.el-month-table td.start-date .el-date-table-cell{color:#fff}.el-month-table td.end-date .el-date-table-cell__text,.el-month-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-month-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.end-date .el-date-table-cell__text,.el-year-table td.today.start-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translate(-50%);width:60px}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.end-date .el-date-table-cell,.el-year-table td.start-date .el-date-table-cell{color:#fff}.el-year-table td.end-date .el-date-table-cell__text,.el-year-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-year-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{display:inline-block;max-height:192px;overflow:auto;position:relative;vertical-align:top;width:50%}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;overflow:hidden;text-align:center}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;height:30px;left:0;line-height:30px;position:absolute;text-align:center;width:100%;z-index:var(--el-index-normal)}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__list{list-style:none;margin:0}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;height:80px;width:100%}.el-time-spinner__item{color:var(--el-text-color-regular);font-size:12px;height:32px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper,.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;position:relative;text-align:left;vertical-align:middle}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{height:var(--el-input-height,var(--el-component-size));width:var(--el-date-editor-width)}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .clear-icon,.el-date-editor .close-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{color:var(--el-text-color-placeholder);float:left;font-size:14px;height:inherit}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-text-color-regular);display:inline-block;font-size:var(--el-font-size-base);height:30px;line-height:30px;margin:0;outline:none;padding:0;text-align:center;width:39%}.el-date-editor .el-range-input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{align-items:center;color:var(--el-text-color-primary);display:inline-flex;flex:1;font-size:14px;height:100%;justify-content:center;margin:0;overflow-wrap:break-word;padding:0 5px}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);cursor:pointer;font-size:14px;height:inherit;width:unset}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{align-items:center;display:inline-flex;padding:0 10px;vertical-align:middle}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{font-size:14px;height:38px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{font-size:12px;height:22px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled,.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{background:var(--el-bg-color-overlay);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));color:var(--el-text-color-regular);line-height:30px}.el-picker-panel .el-time-panel{background-color:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{clear:both;content:"";display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{background-color:var(--el-bg-color-overlay);border-top:1px solid var(--el-datepicker-inner-border-color);font-size:0;padding:4px 12px;position:relative;text-align:right}.el-picker-panel__shortcut{background-color:transparent;border:0;color:var(--el-datepicker-text-color);cursor:pointer;display:block;font-size:14px;line-height:28px;outline:none;padding-left:12px;text-align:left;width:100%}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:var(--el-datepicker-active-color)}.el-picker-panel__btn{background-color:transparent;border:1px solid var(--el-fill-color-darker);border-radius:2px;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:24px;outline:none;padding:0 20px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{background:transparent;border:0;color:var(--el-datepicker-icon-color);cursor:pointer;font-size:12px;margin-top:8px;outline:none}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);bottom:0;box-sizing:border-box;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-picker__header{padding:12px 12px 0;text-align:center}.el-date-picker__header--bordered{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{cursor:pointer;float:left;line-height:30px;margin-left:10px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{height:28px;position:relative;text-align:center}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;float:left;margin:0;padding:16px;width:50%}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-range-picker__time-header>.el-icon-arrow-right{color:var(--el-datepicker-icon-color);display:table-cell;font-size:20px;vertical-align:middle}.el-date-range-picker__time-picker-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{background:#fff;position:absolute;right:0;top:13px;z-index:1}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{overflow:visible;width:354px}.el-time-range-picker__content{padding:10px;position:relative;text-align:center;z-index:1}.el-time-range-picker__cell{box-sizing:border-box;display:inline-block;margin:0;padding:4px 7px 7px;width:50%}.el-time-range-picker__header{font-size:14px;margin-bottom:5px;text-align:center}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{border-radius:2px;box-sizing:content-box;left:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:180px;z-index:var(--el-index-top)}.el-time-panel__content{font-size:0;overflow:hidden;position:relative}.el-time-panel__content:after,.el-time-panel__content:before{box-sizing:border-box;content:"";height:32px;left:0;margin-top:-16px;padding-top:6px;position:absolute;right:0;text-align:left;top:50%;z-index:-1}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{border-bottom:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6666666667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333333333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));box-sizing:border-box;height:36px;line-height:25px;padding:4px;text-align:right}.el-time-panel__btn{background-color:transparent;border:none;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:28px;margin:0 5px;outline:none;padding:0 5px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:1px solid var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;height:100%;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;color:var(--el-text-color-primary);font-size:var(--el-font-size-base)}.el-descriptions__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;font-size:14px;line-height:23px;text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{background:var(--el-descriptions-item-bordered-label-background);color:var(--el-text-color-regular);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{background:var(--el-popup-modal-bg-color);height:100%;left:0;opacity:var(--el-popup-modal-opacity);position:fixed;top:0;width:100%}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;margin:var(--el-dialog-margin-top,15vh) auto 50px;overflow-wrap:break-word;padding:var(--el-dialog-padding-primary);position:relative;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{bottom:0;left:0;margin:0;overflow:auto;position:fixed;right:0;top:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:48px;outline:none;padding:0;position:absolute;right:0;top:0;width:48px}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{color:var(--el-text-color-primary);font-size:var(--el-dialog-title-font-size);line-height:var(--el-dialog-font-line-height)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{box-sizing:border-box;padding-top:var(--el-dialog-padding-primary);text-align:right}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);display:block;height:1px;margin:24px 0;width:100%}.el-divider--vertical{border-left:1px var(--el-border-color) var(--el-border-style);display:inline-block;height:1em;margin:0 8px;position:relative;vertical-align:middle;width:1px}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);font-size:14px;font-weight:500;padding:0 20px;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all var(--el-transition-duration);width:100%}.el-drawer .btt,.el-drawer .ltr,.el-drawer .rtl,.el-drawer .ttb{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:var(--el-text-color-primary);display:flex;margin-bottom:32px;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{flex:1;font-size:16px;line-height:inherit;margin:0}.el-drawer__footer{padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{background-color:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:var(--el-font-size-extra-large);outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;overflow:auto;padding:var(--el-drawer-padding-primary)}.el-drawer__body>*{box-sizing:border-box}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__disable{display:none}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger-horizontal:before{width:1px}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger-vertical:before{height:1px}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger:not(.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger-active,.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger:hover):before{background-color:transparent}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active .el-splitter-bar__dragger,.el-drawer-fade-leave-active .el-splitter-bar__dragger{display:none}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:transparent!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);line-height:1;position:relative;vertical-align:top}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper,.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:0}.el-dropdown .el-dropdown__caret-button{align-items:center;border-left:none;display:inline-flex;justify-content:center;padding-left:0;padding-right:0;width:32px}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{background:var(--el-overlay-color-lighter);bottom:-1px;content:"";display:block;left:0;position:absolute;top:-1px;width:1px}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{background-color:var(--el-bg-color-overlay);border:none;border-radius:var(--el-border-radius-base);box-shadow:none;left:0;list-style:none;margin:0;padding:5px 0;position:relative;top:0;z-index:var(--el-dropdown-menu-index)}.el-dropdown-menu__item{align-items:center;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:var(--el-font-size-base);line-height:22px;list-style:none;margin:0;outline:none;padding:5px 16px;white-space:nowrap}.el-dropdown-menu__item:not(.is-disabled):focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{font-size:14px;line-height:22px;padding:7px 20px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{font-size:12px;line-height:20px;padding:2px 12px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-empty-padding);text-align:center}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{height:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top;width:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:100%;vertical-align:top;width:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height);padding:var(--el-footer-padding)}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{display:inline-flex;margin-right:32px;vertical-align:middle}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{justify-content:flex-start;text-align:left}.el-form-item--label-right .el-form-item__label{justify-content:flex-end;text-align:right}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{display:block;height:auto;line-height:22px;margin-bottom:8px;text-align:left;width:-moz-fit-content;width:fit-content}.el-form-item__label-wrap{display:flex}.el-form-item__label{align-items:flex-start;box-sizing:border-box;color:var(--el-text-color-regular);display:inline-flex;flex:0 0 auto;font-size:var(--el-form-label-font-size);height:32px;line-height:32px;padding:0 12px 0 0}.el-form-item__content{align-items:center;display:flex;flex:1;flex-wrap:wrap;font-size:var(--font-size);line-height:32px;min-width:0;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;left:0;line-height:1;padding-top:2px;position:absolute;top:100%}.el-form-item__error--inline{display:inline-block;left:auto;margin-left:10px;position:relative;top:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{color:var(--el-color-danger);content:"*";margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{color:var(--el-color-danger);content:"*";margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px transparent}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-header{--el-header-padding:0 20px;--el-header-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-header-height);padding:var(--el-header-padding)}.el-image-viewer__wrapper{bottom:0;left:0;position:fixed;right:0;top:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{align-items:center;border-radius:50%;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;opacity:.8;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{font-size:40px;height:40px;right:40px;top:40px;width:40px}.el-image-viewer__canvas{align-items:center;display:flex;height:100%;justify-content:center;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;bottom:30px;height:44px;left:50%;padding:0 23px;transform:translate(-50%)}.el-image-viewer__actions__inner{align-items:center;color:#fff;cursor:default;display:flex;font-size:23px;gap:22px;height:100%;justify-content:space-around;padding:0 6px;width:100%}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{bottom:90px;color:#fff;cursor:default;left:50%;transform:translate(-50%)}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;top:50%;transform:translateY(-50%);width:44px}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__close{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;width:44px}.el-image-viewer__mask{background:#000;height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}.el-image__error,.el-image__inner,.el-image__placeholder,.el-image__wrapper{height:100%;width:100%}.el-image{display:inline-block;overflow:hidden;position:relative}.el-image__inner{opacity:1;vertical-align:top}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{left:0;position:absolute;top:0}.el-image__error,.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{align-items:center;color:var(--el-text-color-placeholder);display:flex;font-size:14px;justify-content:center;vertical-align:middle}.el-image__preview{cursor:pointer}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;font-size:var(--el-font-size-base);position:relative;vertical-align:bottom;width:100%}.el-textarea__inner{-webkit-appearance:none;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;font-family:inherit;font-size:inherit;line-height:1.5;padding:5px 11px;position:relative;resize:vertical;transition:var(--el-transition-box-shadow);width:100%}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea .el-input__count{background:var(--el-fill-color-blank);bottom:5px;color:var(--el-color-info);font-size:12px;line-height:14px;position:absolute;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);box-sizing:border-box;display:inline-flex;font-size:var(--el-font-size-base);line-height:var(--el-input-height);position:relative;vertical-align:middle;width:var(--el-input-width)}.el-input::-webkit-scrollbar{width:6px;z-index:11}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{align-items:center;color:var(--el-color-info);display:inline-flex;font-size:12px;height:100%}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);display:inline-block;line-height:normal;padding-left:8px}.el-input__wrapper{align-items:center;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;cursor:text;display:inline-flex;flex-grow:1;justify-content:center;padding:1px 11px;transform:translateZ(0);transition:var(--el-transition-box-shadow)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px)}.el-input__inner{-webkit-appearance:none;background:none;border:none;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));flex-grow:1;font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);outline:none;padding:0;width:100%}.el-input__inner:focus{outline:none}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__prefix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__suffix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{align-items:center;display:flex;height:inherit;justify-content:center;line-height:inherit;margin-left:8px;transition:all var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;cursor:not-allowed}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{align-items:stretch;display:inline-flex;width:100%}.el-input-group__append,.el-input-group__prepend{align-items:center;background-color:var(--el-fill-color-light);border-radius:var(--el-input-border-radius);color:var(--el-color-info);display:inline-flex;justify-content:center;min-height:100%;padding:0 20px;position:relative;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;flex:1;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{background-color:transparent;border-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper,.el-input-group__append{border-bottom-left-radius:0;border-top-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{border-bottom-right-radius:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--append>.el-input__wrapper{border-bottom-right-radius:0;border-top-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{border-bottom-left-radius:0;border-top-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-hidden{display:none!important}.el-input-number{display:inline-flex;line-height:30px;position:relative;vertical-align:middle;width:150px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;line-height:1;text-align:center}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__decrease,.el-input-number__increase{align-items:center;background:var(--el-fill-color-light);bottom:1px;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:13px;height:auto;justify-content:center;position:absolute;top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:32px;z-index:1}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-left:var(--el-border);border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{line-height:38px;width:180px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{font-size:14px;width:40px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{line-height:22px;width:120px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{font-size:12px;width:24px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-bottom:var(--el-border);border-radius:0 var(--el-border-radius-base) 0 0;bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;border-right:none;left:auto;right:1px;top:auto}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px}.el-input-tag{--el-input-tag-border-color-hover:var(--el-border-color-hover);--el-input-tag-placeholder-color:var(--el-text-color-placeholder);--el-input-tag-disabled-color:var(--el-disabled-text-color);--el-input-tag-disabled-border:var(--el-disabled-border-color);--el-input-tag-font-size:var(--el-font-size-base);--el-input-tag-close-hover-color:var(--el-text-color-secondary);--el-input-tag-text-color:var(--el-text-color-regular);--el-input-tag-input-focus-border-color:var(--el-color-primary);--el-input-tag-width:100%;--el-input-tag-mini-height:var(--el-component-size);--el-input-tag-gap:6px;--el-input-tag-padding:4px;--el-input-tag-inner-padding:8px;--el-input-tag-line-height:24px;align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:var(--el-input-tag-font-size);line-height:var(--el-input-tag-line-height);min-height:var(--el-input-tag-mini-height);padding:var(--el-input-tag-padding);transform:translateZ(0);transition:var(--el-transition-duration);width:var(--el-input-tag-width)}.el-input-tag.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-tag.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-input-tag.is-disabled{background-color:var(--el-fill-color-light);cursor:not-allowed}.el-input-tag.is-disabled,.el-input-tag.is-disabled:hover{box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input-tag.is-disabled .el-input-tag__inner .el-input-tag__input,.el-input-tag.is-disabled .el-input-tag__inner .el-tag{cursor:not-allowed}.el-input-tag__prefix,.el-input-tag__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;padding:0 var(--el-input-tag-inner-padding)}.el-input-tag__suffix{gap:8px}.el-input-tag__input-tag-list{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;position:relative}.el-input-tag__input-tag-list.is-near{margin-left:-8px}.el-input-tag__input-tag-list .el-tag{border-color:transparent;cursor:pointer}.el-input-tag__input-tag-list .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__input-tag-list .el-tag .el-tag__content{min-width:0}.el-input-tag__inner{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:var(--el-input-tag-gap);max-width:100%;min-width:0;position:relative}.el-input-tag__inner.is-left-space{margin-left:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-right-space{margin-right:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-draggable .el-tag{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-input-tag__drop-indicator{background-color:var(--el-color-primary);height:var(--el-input-tag-line-height);position:absolute;top:0;width:1px}.el-input-tag__inner .el-tag{border-color:transparent;cursor:pointer;max-width:100%}.el-input-tag__inner .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__inner .el-tag .el-tag__content{line-height:normal;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-input-tag__input-wrapper{flex:1}.el-input-tag__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-input-tag-text-color);font-family:inherit;font-size:inherit;line-height:inherit;outline:none;padding:0;width:100%}.el-input-tag__input::-moz-placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input::placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-input-tag--large{--el-input-tag-gap:6px;--el-input-tag-padding:8px;--el-input-tag-padding-left:8px;--el-input-tag-font-size:14px}.el-input-tag--small{--el-input-tag-gap:4px;--el-input-tag-padding:2px;--el-input-tag-padding-left:6px;--el-input-tag-font-size:12px;--el-input-tag-line-height:20px;--el-input-tag-mini-height:var(--el-component-size-small)}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);align-items:center;color:var(--el-link-text-color);cursor:pointer;display:inline-flex;flex-direction:row;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);justify-content:center;outline:none;padding:0;position:relative;text-decoration:none;vertical-align:middle}.el-link.is-hover-underline:hover:after{border-bottom:1px solid var(--el-link-hover-text-color);bottom:0;content:"";height:0;left:0;position:absolute;right:0}.el-link.is-underline:after{border-bottom:1px solid var(--el-link-text-color);bottom:0;content:"";height:0;left:0;position:absolute;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link__inner{align-items:center;display:inline-flex;justify-content:center}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{background-color:var(--el-mask-color);bottom:0;left:0;margin:0;position:absolute;right:0;top:0;transition:opacity var(--el-transition-duration);z-index:2000}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size))/2);position:absolute;text-align:center;top:50%;width:100%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);font-size:14px;margin:3px 0}.el-loading-spinner .circular{animation:loading-rotate 2s linear infinite;display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size)}.el-loading-spinner .path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(1turn)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;display:block;flex:1;flex-basis:auto;overflow:auto;padding:var(--el-main-padding)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{background-color:var(--el-menu-bg-color);border-right:1px solid var(--el-menu-border-color);box-sizing:border-box;list-style:none;margin:0;padding-left:0;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level)*var(--el-menu-level-padding));white-space:nowrap}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{border-right:none;display:flex;flex-wrap:nowrap;height:var(--el-menu-horizontal-height)}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:1px solid var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{align-items:center;border-bottom:2px solid transparent;color:var(--el-menu-text-color);display:inline-flex;height:100%;justify-content:center;margin:0}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{border-bottom:2px solid transparent;color:var(--el-menu-text-color);height:100%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{align-items:center;background-color:var(--el-menu-bg-color);color:var(--el-menu-text-color);display:flex;height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);padding:0 10px}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{background-color:var(--el-menu-hover-bg-color);color:var(--el-menu-active-color,var(--el-menu-hover-text-color));outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding)*2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{display:inline-block;height:0;overflow:hidden;visibility:hidden;width:0}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{border:none;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light);min-width:200px;padding:5px 0;z-index:100}.el-menu .el-icon{flex-shrink:0}.el-menu-item{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-menu-item [class^=el-icon]{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{align-items:center;box-sizing:border-box;display:inline-flex;height:100%;left:0;padding:0 var(--el-menu-base-level-padding);position:absolute;top:0;width:100%}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:none}.el-sub-menu__title.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu .el-icon{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{font-size:12px;margin-right:0;margin-top:-6px;position:absolute;right:var(--el-menu-base-level-padding);top:50%;transition:transform var(--el-transition-duration);width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{color:var(--el-text-color-secondary);font-size:12px;line-height:normal;padding:7px 0 7px var(--el-menu-base-level-padding)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{opacity:0;transition:var(--el-transition-duration-fast)}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);backface-visibility:hidden;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);box-shadow:var(--el-messagebox-box-shadow);box-sizing:border-box;display:inline-block;font-size:var(--el-messagebox-font-size);max-width:var(--el-messagebox-width);overflow:hidden;overflow-wrap:break-word;padding:var(--el-messagebox-padding-primary);position:relative;text-align:left;vertical-align:middle;width:100%}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{bottom:0;left:0;overflow:auto;padding:16px;position:fixed;right:0;text-align:center;top:0}.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;vertical-align:middle;width:0}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size, 16px))}.el-message-box__title{color:var(--el-messagebox-title-color);font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;display:flex;gap:12px}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0;min-width:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding-top:var(--el-messagebox-padding-primary)}.el-message-box--center .el-message-box__title{align-items:center;display:flex;gap:6px;justify-content:center}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);align-items:center;background-color:var(--el-message-bg-color);border-color:var(--el-message-border-color);border-radius:var(--el-border-radius-base);border-style:var(--el-border-style);border-width:var(--el-border-width);box-sizing:border-box;display:flex;gap:8px;max-width:calc(100% - 32px);padding:var(--el-message-padding);position:fixed;transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;width:-moz-fit-content;width:fit-content}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;right:-8px;top:-8px}.el-message__content{font-size:14px;line-height:1;padding:0}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{color:var(--el-message-close-icon-color);cursor:pointer;font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from:is(.is-left,.is-right),.el-message-fade-leave-to:is(.is-left,.is-right){transform:translateY(-100%)}.el-message-fade-enter-from:is(.is-left,.is-right).is-bottom,.el-message-fade-leave-to:is(.is-left,.is-right).is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);background-color:var(--el-bg-color-overlay);border:1px solid var(--el-notification-border-color);border-radius:var(--el-notification-radius);box-shadow:var(--el-notification-shadow);box-sizing:border-box;display:flex;overflow:hidden;overflow-wrap:break-word;padding:var(--el-notification-padding);position:fixed;transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);width:var(--el-notification-width);z-index:9999}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{flex:1;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right);min-width:0}.el-notification__title{color:var(--el-notification-title-color);font-size:var(--el-notification-title-font-size);font-weight:700;line-height:var(--el-notification-icon-size);margin:0}.el-notification__content{color:var(--el-notification-content-color);font-size:var(--el-notification-content-font-size);line-height:24px;margin:6px 0 0}.el-notification__content p{margin:0}.el-notification .el-notification__icon{flex-shrink:0;font-size:var(--el-notification-icon-size);height:var(--el-notification-icon-size);width:var(--el-notification-icon-size)}.el-notification .el-notification__closeBtn{color:var(--el-notification-close-color);cursor:pointer;font-size:var(--el-notification-close-font-size);position:absolute;right:15px;top:18px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--primary{--el-notification-icon-color:var(--el-color-primary);color:var(--el-notification-icon-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{background-color:var(--el-overlay-color-lighter);bottom:0;height:100%;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2000}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{align-items:center;display:flex;justify-content:space-between;line-height:24px}.el-page-header__left{align-items:center;display:flex;margin-right:40px;position:relative}.el-page-header__back{align-items:center;cursor:pointer;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;display:flex;font-size:16px;margin-right:10px}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;align-items:center;color:var(--el-pagination-text-color);display:flex;font-size:var(--el-pagination-font-size);font-weight:400;white-space:nowrap}.el-pagination .el-input__inner{-moz-appearance:textfield;text-align:center}.el-pagination .el-select{width:128px}.el-pagination button{align-items:center;background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;display:flex;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pagination button *{pointer-events:none}.el-pagination button:focus{outline:none}.el-pagination button.is-active,.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button.is-active{cursor:default;font-weight:700}.el-pagination button.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pagination button.is-disabled,.el-pagination button:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pagination button:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700;width:inherit}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{color:var(--el-text-color-regular);font-weight:400;margin-left:var(--el-pagination-item-gap)}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{align-items:center;color:var(--el-text-color-regular);display:flex;font-weight:400;margin-left:var(--el-pagination-item-gap)}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{box-sizing:border-box;text-align:center}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{align-items:center;display:flex;flex:1;justify-content:flex-end}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.is-disabled,.el-pagination.is-background .el-pager li:disabled{background-color:var(--el-disabled-bg-color);color:var(--el-text-color-placeholder)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active{background-color:var(--el-fill-color-dark);color:var(--el-text-color-secondary)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li{font-size:var(--el-pagination-font-size-small);height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-next,.el-pagination--large .btn-prev,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{font-size:0;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-pager,.el-pager li{align-items:center;display:flex}.el-pager li{background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li.is-active,.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pager li.is-disabled,.el-pager li:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{margin-top:8px;text-align:right}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border:1px solid var(--el-popover-border-color);border-radius:var(--el-popover-border-radius);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;color:var(--el-text-color-regular);font-size:var(--el-popover-font-size);line-height:1.4;min-width:150px;overflow-wrap:break-word;padding:var(--el-popover-padding);z-index:var(--el-index-popper)}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}.el-progress{align-items:center;display:flex;line-height:1;position:relative}.el-progress__text{color:var(--el-text-color-regular);font-size:14px;line-height:1;margin-left:5px;min-width:50px}.el-progress__text i{display:block;vertical-align:middle}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{left:0;margin:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{display:inline-block;vertical-align:middle}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{display:block;margin-right:0;padding-right:0}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);border-radius:100px;height:6px;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{background-color:var(--el-color-primary);border-radius:100px;height:100%;left:0;line-height:1;position:absolute;text-align:right;top:0;transition:width .6s ease;white-space:nowrap}.el-progress-bar__inner:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{animation:indeterminate 3s infinite;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 0,transparent 50%,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 75%,transparent 0,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{color:#fff;display:inline-block;font-size:12px;margin:0 5px;vertical-align:middle}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light)}.el-radio-button,.el-radio-button__inner{display:inline-block;outline:none;position:relative}.el-radio-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left:0;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;font-size:var(--el-font-size-base);font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));line-height:1;margin:0;padding:8px 15px;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:var(--el-border);border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary));color:var(--el-radio-button-checked-text-color,var(--el-color-white))}.el-radio-button__original-radio{opacity:0;outline:none;position:absolute;z-index:-1}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));border-radius:var(--el-border-radius-base);box-shadow:none;outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2}.el-radio-button__original-radio:disabled+.el-radio-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{align-items:center;display:inline-flex;flex-wrap:wrap;font-size:0}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-radio-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-radio-font-weight);height:32px;margin-right:30px;outline:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.el-radio__input.is-disabled .el-radio__inner{border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled .el-radio__inner:after{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{background:var(--el-color-primary);border-color:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{background-color:var(--el-color-white);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{background-color:var(--el-radio-input-bg-color);border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);box-sizing:border-box;cursor:pointer;display:inline-block;height:var(--el-radio-input-height);position:relative;width:var(--el-radio-input-width)}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{border-radius:var(--el-radio-input-border-radius);content:"";height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in;width:4px}.el-radio__original{bottom:0;left:0;margin:0;opacity:0;outline:none;position:absolute;right:0;top:0;z-index:-1}.el-radio__original:focus-visible+.el-radio__inner{border-radius:var(--el-radio-input-border-radius);outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{height:12px;width:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);align-items:center;display:inline-flex;height:32px}.el-rate:active,.el-rate:focus{outline:none}.el-rate__item{color:var(--el-rate-void-color);cursor:pointer;display:inline-block;font-size:0;line-height:normal;position:relative;vertical-align:middle}.el-rate .el-rate__icon{display:inline-block;font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);position:relative;transition:var(--el-transition-duration)}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{left:0;position:absolute;top:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;overflow:hidden}.el-rate__decimal,.el-rate__decimal--box{left:0;position:absolute;top:0}.el-rate__text{color:var(--el-rate-text-color);font-size:var(--el-rate-font-size);vertical-align:middle}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{color:var(--el-rate-disabled-void-color);cursor:auto}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-result-padding);text-align:center}.el-result__icon svg{height:var(--el-result-icon-font-size);width:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{color:var(--el-text-color-primary);font-size:var(--el-result-title-font-size);line-height:1.3;margin:0}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{color:var(--el-text-color-regular);font-size:var(--el-font-size-base);line-height:1.3;margin:0}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;display:flex;flex-wrap:wrap;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;overflow:hidden;position:relative}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));border-radius:inherit;cursor:pointer;display:block;height:0;opacity:var(--el-scrollbar-opacity,.3);position:relative;transition:var(--el-transition-duration) background-color;width:0}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{border-radius:4px;bottom:2px;position:absolute;right:2px;z-index:1}.el-scrollbar__bar.is-vertical{top:2px;width:6px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty,.el-select-dropdown__loading{color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0;text-align:center}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:6px 0}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);height:34px;line-height:34px;overflow:hidden;padding:0 32px 0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{background-color:unset;color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{background-color:var(--el-color-primary);background-position:50%;background-repeat:no-repeat;border-right:none;border-top:none;content:"";height:12px;mask:url("data:image/svg+xml;utf8,%3Csvg class=\'icon\' width=\'200\' height=\'200\' viewBox=\'0 0 1024 1024\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath fill=\'currentColor\' d=\'M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z\'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class=\'icon\' width=\'200\' height=\'200\' viewBox=\'0 0 1024 1024\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath fill=\'currentColor\' d=\'M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z\'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{list-style:none;margin:0;padding:0;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);font-size:12px;line-height:34px;overflow:hidden;padding:0 20px;text-overflow:ellipsis;white-space:nowrap}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;display:inline-block;position:relative;vertical-align:middle;width:var(--el-select-width)}.el-select__wrapper{align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:14px;gap:6px;line-height:24px;min-height:32px;padding:4px 12px;position:relative;text-align:left;transform:translateZ(0);transition:var(--el-transition-duration)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select__wrapper.is-disabled,.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;gap:6px}.el-select__caret{color:var(--el-select-input-color);cursor:pointer;font-size:var(--el-select-input-font-size);transform:rotate(0);transition:var(--el-transition-duration)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{border-color:transparent;cursor:pointer}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{display:flex;flex-wrap:wrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__tags-text{line-height:normal}.el-select__placeholder,.el-select__tags-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select__placeholder{color:var(--el-input-text-color,var(--el-text-color-regular));position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:-1}.el-select__placeholder.is-transparent{color:var(--el-text-color-placeholder);-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper,.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;position:absolute;z-index:-1}.el-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-select-multiple-input-color);font-family:inherit;font-size:inherit;height:24px;outline:none;padding:0;width:100%}.el-select__input.is-disabled{cursor:not-allowed}.el-select__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-select--large .el-select__wrapper{font-size:14px;gap:6px;line-height:24px;min-height:40px;padding:8px 16px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{font-size:12px;gap:4px;line-height:20px;min-height:24px;padding:2px 8px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);display:inline-block;height:16px;width:100%}.el-skeleton__circle{border-radius:50%;height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);width:var(--el-skeleton-circle-size)}.el-skeleton__button{border-radius:4px;height:40px;width:64px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{height:var(--el-font-size-small);width:100%}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{align-items:center;border-radius:0;display:flex;justify-content:center;width:unset}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:22%;width:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{animation:el-skeleton-loading 1.4s ease infinite;background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;display:flex;height:32px;width:100%}.el-slider__runway{background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;height:var(--el-slider-height);position:relative}.el-slider__runway.show-input{margin-right:30px;width:auto}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{transform:scale(1)}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{cursor:not-allowed}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{background-color:var(--el-slider-main-bg-color);border-bottom-left-radius:var(--el-slider-border-radius);border-top-left-radius:var(--el-slider-border-radius);height:var(--el-slider-height);position:absolute}.el-slider__button-wrapper{background-color:transparent;height:var(--el-slider-button-wrapper-size);line-height:normal;outline:none;position:absolute;text-align:center;top:var(--el-slider-button-wrapper-offset);transform:translate(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--el-slider-button-wrapper-size);z-index:1}.el-slider__button-wrapper:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{background-color:var(--el-color-white);border:2px solid var(--el-slider-main-bg-color);border-radius:50%;box-sizing:border-box;display:inline-block;height:var(--el-slider-button-size);transition:var(--el-transition-duration-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:var(--el-slider-button-size)}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{background-color:var(--el-slider-stop-bg-color);border-radius:var(--el-border-radius-circle);height:var(--el-slider-height);position:absolute;transform:translate(-50%);width:var(--el-slider-height)}.el-slider__marks{height:100%;left:12px;top:0;width:18px}.el-slider__marks-text{color:var(--el-color-info);font-size:14px;margin-top:15px;position:absolute;transform:translate(-50%);white-space:pre}.el-slider.is-vertical{display:inline-flex;flex:0;height:100%;position:relative;width:auto}.el-slider.is-vertical .el-slider__runway{height:100%;margin:0 16px;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__bar{border-radius:0 0 3px 3px;height:auto;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__button-wrapper{left:var(--el-slider-button-wrapper-offset);top:auto;transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{left:15px;margin-top:0;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{display:inline-flex;vertical-align:top}.el-space__item{display:flex;flex-wrap:wrap}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{animation:rotate 2s linear infinite;height:50px;width:50px}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(1turn)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-basis:auto!important;flex-grow:0;flex-shrink:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{border-color:var(--el-text-color-primary);color:var(--el-text-color-primary)}.el-step__head.is-wait{border-color:var(--el-text-color-placeholder);color:var(--el-text-color-placeholder)}.el-step__head.is-success{border-color:var(--el-color-success);color:var(--el-color-success)}.el-step__head.is-error{border-color:var(--el-color-danger);color:var(--el-color-danger)}.el-step__head.is-finish{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-step__icon{align-items:center;background:var(--el-bg-color);box-sizing:border-box;display:inline-flex;font-size:14px;height:24px;justify-content:center;position:relative;transition:.15s ease-out;width:24px;z-index:1}.el-step__icon.is-text{border:2px solid;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{color:inherit;display:inline-block;font-weight:700;line-height:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:currentColor;position:absolute}.el-step__line-inner{border:1px solid;box-sizing:border-box;display:block;height:0;transition:.15s ease-out;width:0}.el-step__main{text-align:left;white-space:normal}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:700}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{font-size:12px;font-weight:400;line-height:20px;margin-top:-5px;padding-right:10%}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;left:0;right:0;top:11px}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{bottom:0;left:11px;top:0;width:2px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{font-size:0;padding-right:10px;width:auto}.el-step.is-simple .el-step__icon{background:transparent;font-size:12px;height:16px;width:16px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{align-items:stretch;display:flex;flex-grow:1;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;overflow-wrap:break-word}.el-step.is-simple .el-step__arrow{align-items:center;display:flex;flex-grow:1;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{background:var(--el-text-color-placeholder);content:"";display:inline-block;height:15px;position:absolute;width:1px}.el-step.is-simple .el-step__arrow:before{transform:rotate(-45deg) translateY(-4px);transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{transform:rotate(45deg) translateY(4px);transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);align-items:center;display:inline-flex;font-size:14px;height:32px;line-height:20px;position:relative;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{color:var(--el-text-color-primary);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;height:20px;transition:var(--el-transition-duration-fast);vertical-align:middle}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{display:inline-block;font-size:14px;line-height:1}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{height:0;margin:0;opacity:0;position:absolute;width:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{align-items:center;background:var(--el-switch-off-color);border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));border-radius:10px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:20px;min-width:40px;outline:none;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration)}.el-switch__core .el-switch__inner{align-items:center;display:flex;height:16px;justify-content:center;overflow:hidden;padding:0 4px 0 18px;transition:all var(--el-transition-duration);width:100%}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{color:var(--el-color-white);font-size:12px;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-switch__core .el-switch__action{align-items:center;background-color:var(--el-color-white);border-radius:var(--el-border-radius-circle);color:var(--el-switch-off-color);display:flex;height:16px;justify-content:center;left:1px;position:absolute;transition:all var(--el-transition-duration);width:16px}.el-switch.is-checked .el-switch__core{background-color:var(--el-switch-on-color);border-color:var(--el-switch-border-color,var(--el-switch-on-color))}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;height:40px;line-height:24px}.el-switch--large .el-switch__label{font-size:14px;height:24px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;height:24px;min-width:50px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{height:20px;width:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{font-size:12px;height:24px;line-height:16px}.el-switch--small .el-switch__label{font-size:12px;height:16px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;height:16px;min-width:30px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{height:12px;width:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{background-color:#fff;border:1px solid var(--el-border-color-lighter);border-radius:2px;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{list-style:none;margin:0;min-width:100px;padding:5px 0}.el-table-filter__list-item{cursor:pointer;font-size:var(--el-font-size-base);line-height:36px;padding:0 10px}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:transparent;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:none}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{align-items:center;display:flex;height:unset;margin-bottom:12px;margin-left:5px;margin-right:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,.15);--el-table-index:var(--el-index-normal);background-color:var(--el-table-bg-color);box-sizing:border-box;color:var(--el-table-text-color);font-size:var(--el-font-size-base);height:-moz-fit-content;height:fit-content;max-width:100%;overflow:hidden;position:relative;width:100%}.el-table__inner-wrapper{display:flex;flex-direction:column;height:100%;position:relative}.el-table__inner-wrapper:before{bottom:0;height:1px;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell,.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{align-items:center;display:flex;justify-content:center;left:0;min-height:60px;position:sticky;text-align:center;width:100%}.el-table__empty-text{color:var(--el-text-color-secondary);line-height:60px;width:50%}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table__expand-icon{color:var(--el-text-color-regular);cursor:pointer;font-size:12px;height:20px;position:relative;transition:transform var(--el-transition-duration-fast) ease-in-out}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;min-width:0;padding:8px 0;position:relative;text-align:left;text-overflow:ellipsis;vertical-align:middle;z-index:var(--el-table-index)}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;padding:0;width:15px}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;line-height:23px;overflow:hidden;overflow-wrap:break-word;padding:0 12px;text-overflow:ellipsis;white-space:normal}.el-table .cell.el-tooltip{min-width:50px;white-space:nowrap}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{background:#ff4d51;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;vertical-align:middle;width:8px}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border .el-table__inner-wrapper:after,.el-table--border:after,.el-table--border:before,.el-table__inner-wrapper:before{background-color:var(--el-table-border-color);content:"";position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table--border .el-table__inner-wrapper:after{height:1px;left:0;top:0;width:100%;z-index:calc(var(--el-table-index) + 2)}.el-table--border:before{height:100%;left:0;top:-1px;width:1px}.el-table--border:after{height:100%;right:0;top:-1px;width:1px}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right,.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background:inherit;position:sticky!important;z-index:calc(var(--el-table-index) + 1)}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{bottom:-1px;box-shadow:none;content:"";overflow-x:hidden;overflow-y:hidden;pointer-events:none;position:absolute;top:0;touch-action:none;width:10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch,.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch{background:#fff;position:sticky!important;right:0;z-index:calc(var(--el-table-index) + 1)}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body,.el-table__footer,.el-table__header{border-collapse:separate;table-layout:fixed}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__body-wrapper .el-table-column--selection>.cell,.el-table__header-wrapper .el-table-column--selection>.cell{align-items:center;display:inline-flex;height:23px}.el-table__body-wrapper .el-table-column--selection .el-checkbox,.el-table__header-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;overflow:hidden;position:relative}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{align-items:center;cursor:pointer;display:inline-flex;flex-direction:column;height:14px;overflow:initial;position:relative;vertical-align:middle;width:24px}.el-table .sort-caret{border:5px solid transparent;height:0;left:7px;position:absolute;width:0}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{position:absolute;visibility:hidden;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{position:sticky;top:0;z-index:calc(var(--el-table-index) + 2)}.el-table.el-table--scrollable-y .el-table__body-footer{bottom:0;position:sticky;z-index:calc(var(--el-table-index) + 2)}.el-table__column-resize-proxy{border-left:var(--el-table-border);bottom:0;left:200px;position:absolute;top:0;width:0;z-index:calc(var(--el-table-index) + 9)}.el-table__column-filter-trigger{cursor:pointer;display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{height:100%;top:0;width:1px}.el-table__border-bottom-patch,.el-table__border-left-patch{background-color:var(--el-table-border-color);left:0;position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table__border-bottom-patch{height:1px}.el-table__border-right-patch{background-color:var(--el-table-border-color);height:100%;position:absolute;top:0;width:1px;z-index:calc(var(--el-table-index) + 2)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;height:12px;line-height:12px;margin-right:8px;text-align:center;width:12px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,.15);--el-table-index:var(--el-index-normal);font-size:var(--el-font-size-base)}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);box-shadow:2px 0 4px rgba(0,0,0,.06);display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__horizontal,.el-table-v2__left .el-vl__vertical{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);box-shadow:-2px 0 4px rgba(0,0,0,.06);display:flex;flex-direction:column-reverse;overflow:hidden;position:absolute;right:0;top:0}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__horizontal,.el-table-v2__right .el-vl__vertical{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{overflow:hidden;position:relative}.el-table-v2__header .el-checkbox{z-index:0}.el-table-v2__footer{bottom:0;overflow:hidden;right:0}.el-table-v2__empty,.el-table-v2__footer,.el-table-v2__overlay{left:0;position:absolute}.el-table-v2__overlay{bottom:0;right:0;top:0;z-index:9999}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{align-items:center;background-color:var(--el-table-header-bg-color);color:var(--el-table-header-text-color);display:flex;font-weight:700;height:100%;overflow:hidden;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table-v2__header-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__header-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{display:none;opacity:.6;transition:opacity,display var(--el-transition-duration)}.el-table-v2__sort-icon.is-sorting{display:block;opacity:1}.el-table-v2__row{align-items:center;border-bottom:var(--el-table-border);display:flex;transition:background-color var(--el-transition-duration)}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;display:flex;height:100%;overflow:hidden;padding:0 8px}.el-table-v2__row-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__row-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__expand-icon{cursor:pointer;margin:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{align-items:center;display:flex;justify-content:space-between;margin:0 0 15px;padding:0;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);bottom:0;height:2px;left:0;list-style:none;position:absolute;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);z-index:1}.el-tabs__new-tab{align-items:center;border:1px solid var(--el-border-color);border-radius:3px;color:var(--el-text-color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:20px;justify-content:center;line-height:20px;margin:10px 0 10px 10px;text-align:center;transition:all .15s;width:20px}.el-tabs__new-tab .is-icon-plus{height:inherit;transform:scale(.8);width:inherit}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:1 auto;margin-bottom:-1px;overflow:hidden;position:relative}.el-tabs__nav-wrap:after{background-color:var(--el-border-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%;z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;line-height:44px;position:absolute;text-align:center;width:20px}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;float:left;position:relative;transition:transform var(--el-transition-duration);white-space:nowrap;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{display:flex;min-width:100%}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{align-items:center;box-sizing:border-box;color:var(--el-text-color-primary);display:flex;font-size:var(--el-font-size-base);font-weight:500;height:var(--el-tabs-header-height);justify-content:center;list-style:none;padding:0 20px;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{border-radius:3px;box-shadow:0 0 2px 2px var(--el-color-primary) inset}.el-tabs__item .is-icon-close{border-radius:50%;margin-left:5px;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--el-color-primary)}.el-tabs__item:hover{cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;overflow:hidden;position:relative}.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);box-sizing:border-box;height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{font-size:12px;height:14px;overflow:hidden;position:relative;right:-2px;transform-origin:100% 50%;width:0}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);margin-top:-1px;transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{border:1px solid transparent;color:var(--el-text-color-secondary);margin-top:-1px;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:var(--el-bg-color-overlay);border-left-color:var(--el-border-color);border-right-color:var(--el-border-color);color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-bottom:0;margin-top:-1px}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{bottom:auto;height:auto;top:0;width:2px}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{cursor:pointer;height:30px;line-height:30px;text-align:center;width:100%}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{bottom:auto;height:100%;top:0;width:2px}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-bottom:none;border-left:none;border-right:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-radius:4px 0 0 4px;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:1px solid #fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);left:0;position:absolute;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);left:0;position:absolute;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform:translate(100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@keyframes slideInRight-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(100%);transform-origin:0 0}}@keyframes slideInLeft-enter{0%{opacity:0;transform:translate(-100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@keyframes slideInLeft-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(-100%);transform-origin:0 0}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;align-items:center;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);border-radius:var(--el-tag-border-radius);border-style:solid;border-width:1px;box-sizing:border-box;color:var(--el-tag-text-color);display:inline-flex;font-size:var(--el-tag-font-size);height:24px;justify-content:center;line-height:1;padding:0 9px;vertical-align:middle;white-space:nowrap;--el-icon-size:14px}.el-tag,.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{background-color:var(--el-tag-hover-color);color:var(--el-color-white)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-text-color:var(--el-color-white)}.el-tag--dark,.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info,.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{height:32px;padding:0 11px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{height:20px;padding:0 7px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);align-self:center;color:var(--el-text-color);font-size:var(--el-text-font-size);margin:0;overflow-wrap:break-word;padding:0}.el-text.is-truncated{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-text.is-line-clamp{display:-webkit-inline-box;-webkit-box-orient:vertical;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{margin:0;max-height:200px}.time-select-item{font-size:14px;line-height:20px;padding:8px 10px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:700}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:700}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{padding-left:28px;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;left:4px;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{align-items:center;background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);border-radius:50%;box-sizing:border-box;display:flex;justify-content:center;position:absolute}.el-timeline-item__node--normal{height:var(--el-timeline-node-size-normal);left:-1px;width:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{height:var(--el-timeline-node-size-large);left:-2px;width:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{align-items:center;display:flex;justify-content:center;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);font-size:var(--el-font-size-small);line-height:1}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);list-style:none;margin:0}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{display:block;height:calc(50% - 10px)}.el-tooltip-v2__content{--el-tooltip-v2-padding:5px 10px;--el-tooltip-v2-border-radius:4px;--el-tooltip-v2-border-color:var(--el-border-color);background-color:var(--el-color-white);border:1px solid var(--el-border-color);border-radius:var(--el-tooltip-v2-border-radius);color:var(--el-color-black);padding:var(--el-tooltip-v2-padding)}.el-tooltip-v2__arrow{color:var(--el-color-white);height:var(--el-tooltip-v2-arrow-height);left:var(--el-tooltip-v2-arrow-x);pointer-events:none;position:absolute;top:var(--el-tooltip-v2-arrow-y);width:var(--el-tooltip-v2-arrow-width)}.el-tooltip-v2__arrow:after,.el-tooltip-v2__arrow:before{border:var(--el-tooltip-v2-arrow-border-width) solid transparent;content:"";height:0;position:absolute;width:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow{bottom:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:before{border-bottom:0;border-top-color:var(--el-color-white);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:after{border-bottom:0;border-top-color:var(--el-border-color);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:100%;z-index:-1}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow{top:0}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:before{border-bottom-color:var(--el-color-white);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:after{border-bottom-color:var(--el-border-color);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:100%;z-index:-1}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow{right:0}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:before{border-left-color:var(--el-color-white);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:after{border-left-color:var(--el-border-color);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:100%;z-index:-1}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow{left:0}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:before{border-left:0;border-right-color:var(--el-color-white);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:after{border-left:0;border-right-color:var(--el-border-color);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:100%;z-index:-1}.el-tooltip-v2__content.is-dark{--el-tooltip-v2-border-color:transparent;color:var(--el-color-white)}.el-tooltip-v2__content.is-dark,.el-tooltip-v2__content.is-dark .el-tooltip-v2__arrow{background-color:var(--el-color-black);border-color:transparent}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{display:inline-block;padding:0 30px;vertical-align:middle}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);box-sizing:border-box;display:inline-block;max-height:100%;overflow:hidden;position:relative;text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width)}.el-transfer-panel__body{border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);height:var(--el-transfer-panel-body-height);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.el-transfer-panel__list{box-sizing:border-box;height:var(--el-transfer-panel-body-height);list-style:none;margin:0;overflow:auto;padding:6px 0}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{display:block!important;height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular);margin-right:30px}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{box-sizing:border-box;display:block;line-height:var(--el-transfer-item-height);overflow:hidden;padding-left:22px;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{box-sizing:border-box;padding:15px;text-align:center}.el-transfer-panel__filter .el-input__inner{box-sizing:border-box;display:inline-block;font-size:12px;height:var(--el-transfer-filter-height);width:100%}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{align-items:center;background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);display:flex;height:var(--el-transfer-panel-header-height);margin:0;padding-left:15px}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;display:flex;position:relative;width:100%}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{color:var(--el-text-color-primary);font-size:16px;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{color:var(--el-text-color-secondary);font-size:12px;font-weight:400;position:absolute;right:15px;top:50%;transform:translate3d(0,-50%,0)}.el-transfer-panel .el-transfer-panel__footer{background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);height:var(--el-transfer-panel-footer-height);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{color:var(--el-text-color-secondary);height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);margin:0;padding:6px 15px 0;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);background:var(--el-fill-color-blank);color:var(--el-tree-text-color);cursor:default;font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{height:100%;min-height:60px;position:relative;text-align:center;width:100%}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;left:0;position:absolute;right:0}.el-tree-node{outline:none;white-space:nowrap}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);align-items:center;cursor:pointer;display:flex;height:var(--el-tree-node-content-height)}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{color:var(--el-tree-expand-icon-color);cursor:pointer;font-size:12px;transform:rotate(0);transition:transform var(--el-transition-duration) ease-in-out}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{color:var(--el-tree-expand-icon-color);font-size:var(--el-font-size-base);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:transparent;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__list>.el-select-dropdown__item{padding-left:32px}.el-tree-select__popper .el-select-dropdown__item{background:transparent!important;flex:1;height:20px;line-height:20px;padding-left:0}.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;outline:none}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{color:inherit}.el-upload.is-disabled:focus,.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);font-size:12px;margin-top:7px}.el-upload iframe{filter:alpha(opacity=0);left:0;opacity:0;position:absolute;top:0;z-index:-1}.el-upload--picture-card{--el-upload-picture-card-size:148px;align-items:center;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--el-upload-picture-card-size);justify-content:center;vertical-align:top;width:var(--el-upload-picture-card-size)}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{color:var(--el-color-primary)}.el-upload:focus,.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);position:relative;text-align:center}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);font-size:67px;line-height:50px;margin-bottom:16px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary);padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px)}.el-upload-list{list-style:none;margin:10px 0 0;padding:0;position:relative}.el-upload-list__item{border-radius:4px;box-sizing:border-box;color:var(--el-text-color-regular);font-size:14px;margin-bottom:5px;position:relative;transition:all .5s cubic-bezier(.55,0,.1,1);width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{color:var(--el-text-color-regular);cursor:pointer;display:none;opacity:.75;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:opacity var(--el-transition-duration)}.el-upload-list__item .el-icon--close:hover{color:var(--el-color-primary);opacity:1}.el-upload-list__item .el-icon--close-tip{color:var(--el-color-primary);cursor:pointer;display:none;font-size:12px;font-style:normal;opacity:1;position:absolute;right:5px;top:1px}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;flex-direction:column;justify-content:center;margin-left:4px;width:calc(100% - 30px)}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{align-items:center;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);padding:0 4px;text-align:center;transition:color var(--el-transition-duration)}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{align-items:center;display:none;height:100%;justify-content:center;line-height:inherit;position:absolute;right:5px;top:0;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{color:var(--el-text-color-regular);display:none;font-size:12px;position:absolute;right:10px;top:0}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:inline-flex;height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;overflow:hidden;padding:0;width:var(--el-upload-list-picture-card-size)}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:block;opacity:0}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{align-items:center;background-color:var(--el-overlay-color-lighter);color:#fff;cursor:default;display:inline-flex;font-size:20px;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--el-transition-duration);width:100%}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{color:inherit;font-size:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{bottom:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{align-items:center;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:flex;margin-top:10px;overflow:hidden;padding:10px;z-index:0}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{display:inline-flex;opacity:0}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{align-items:center;background-color:var(--el-color-white);display:inline-flex;height:70px;justify-content:center;-o-object-fit:contain;object-fit:contain;position:relative;width:70px;z-index:1}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);height:26px;position:absolute;right:-17px;text-align:center;top:-7px;transform:rotate(45deg);width:46px}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{cursor:default;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:10}.el-upload-cover:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;height:100%;width:100%}.el-upload-cover__label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-cover__label i{color:#fff;font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-cover__progress{display:inline-block;position:static;vertical-align:middle;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{height:100%;left:0;position:absolute;top:0;width:100%}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);bottom:0;height:100%;left:0;position:absolute;text-align:center;width:100%}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;display:inline-block;font-size:14px;margin-top:60px;transition:var(--el-transition-md-fade);vertical-align:middle}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{background-color:#fff;bottom:0;color:var(--el-text-color-primary);font-size:14px;font-weight:400;height:36px;left:0;line-height:36px;margin:0;overflow:hidden;padding:0 10px;position:absolute;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-vl__wrapper{position:relative}.el-vl__wrapper.always-on .el-virtual-scrollbar,.el-vl__wrapper:hover .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);border-radius:var(--el-popper-border-radius);font-size:12px;line-height:20px;min-width:10px;overflow-wrap:break-word;padding:5px 11px;position:absolute;visibility:visible;word-break:normal;z-index:2000}.el-popper.is-dark{color:var(--el-bg-color)}.el-popper.is-dark,.el-popper.is-dark>.el-popper__arrow:before{background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{right:0}.el-popper.is-light,.el-popper.is-light>.el-popper__arrow:before{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{right:0}.el-popper.is-pure{padding:0}.el-popper__arrow,.el-popper__arrow:before{height:10px;position:absolute;width:10px;z-index:-1}.el-popper__arrow:before{background:var(--el-text-color-primary);box-sizing:border-box;content:" ";transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-left-color:transparent!important;border-top-color:transparent!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{color:var(--el-statistic-title-color);font-size:var(--el-statistic-title-font-size);font-weight:var(--el-statistic-title-font-weight);line-height:20px;margin-bottom:4px}.el-statistic__content{color:var(--el-statistic-content-color);font-size:var(--el-statistic-content-font-size);font-weight:var(--el-statistic-content-font-weight)}.el-statistic__value{display:inline-block}.el-statistic__prefix{display:inline-block;margin-right:4px}.el-statistic__suffix{display:inline-block;margin-left:4px}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);box-shadow:var(--el-box-shadow-light);outline:none;overflow-wrap:break-word;padding:var(--el-tour-padding-primary);width:var(--el-tour-width)}.el-tour__arrow,.el-tour__content{background:var(--el-tour-bg-color);box-sizing:border-box}.el-tour__arrow{height:10px;pointer-events:none;position:absolute;transform:rotate(45deg);width:10px}.el-tour__content[data-side^=top] .el-tour__arrow{border-left-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:transparent;border-right-color:transparent}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:transparent;border-left-color:transparent}.el-tour__content[data-side^=right] .el-tour__arrow{border-right-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size, 16px))}.el-tour__title{color:var(--el-tour-title-text-color);font-size:var(--el-tour-title-font-size);font-weight:var(--el-tour-title-font-weight);line-height:var(--el-tour-font-line-height)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{box-sizing:border-box;display:flex;justify-content:space-between;padding-top:var(--el-tour-padding-primary)}.el-tour__content .el-tour-indicators{display:inline-block;flex:1}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;display:inline-block;height:6px;margin-right:6px;width:6px}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{background:#fff;border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:rgba(255,255,255,.15)}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);border-radius:4px;opacity:0;position:absolute;z-index:0}.el-anchor.el-anchor--vertical .el-anchor__marker{height:14px;left:0;top:8px;transition:top .25s ease-in-out,opacity .25s;width:4px}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{background-color:rgba(5,5,5,.06);content:"";height:100%;left:0;position:absolute;width:2px}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{bottom:0;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;width:20px}.el-anchor.el-anchor--horizontal .el-anchor__list{display:flex;padding-bottom:4px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{background-color:rgba(5,5,5,.06);bottom:0;content:"";height:2px;position:absolute;width:100%}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{display:flex;flex-direction:column;overflow:hidden}.el-anchor__link{cursor:pointer;font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);max-width:100%;outline:none;overflow:hidden;padding:4px 0;text-decoration:none;text-overflow:ellipsis;transition:color var(--el-transition-duration);white-space:nowrap}.el-anchor__link,.el-anchor__link:focus,.el-anchor__link:hover{color:var(--el-anchor-color)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);align-items:stretch;background:var(--el-segmented-bg-color);border-radius:var(--el-border-radius-base);box-sizing:border-box;color:var(--el-segmented-color);display:inline-flex;font-size:14px;min-height:32px;padding:var(--el-segmented-padding)}.el-segmented__group{align-items:stretch;display:flex;position:relative;width:100%}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:all .3s;width:10px}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{border-radius:inherit;bottom:0;content:"";left:0;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute;right:0;top:0}.el-segmented__item{align-items:center;border-radius:calc(var(--el-border-radius-base) - 2px);cursor:pointer;display:flex;flex:1;padding:0 11px}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{background:var(--el-segmented-item-hover-bg-color);color:var(--el-segmented-item-hover-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{color:var(--el-segmented-item-disabled-color);cursor:not-allowed}.el-segmented__item-input{height:0;margin:0;opacity:0;pointer-events:none;position:absolute;width:0}.el-segmented__item-label{flex:1;line-height:normal;overflow:hidden;text-align:center;text-overflow:ellipsis;transition:color .3s;white-space:nowrap;z-index:1}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);font-size:16px;min-height:40px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:14px;min-height:24px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 3px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 3px);padding:0 7px}.el-mention{position:relative;width:100%}.el-mention__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-mention__popper.el-popper,.el-mention__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-mention__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-mention-dropdown{--el-mention-font-size:var(--el-font-size-base);--el-mention-bg-color:var(--el-bg-color-overlay);--el-mention-shadow:var(--el-box-shadow-light);--el-mention-border:1px solid var(--el-border-color-light);--el-mention-option-color:var(--el-text-color-regular);--el-mention-option-height:34px;--el-mention-option-min-width:100px;--el-mention-option-hover-background:var(--el-fill-color-light);--el-mention-option-selected-color:var(--el-color-primary);--el-mention-option-disabled-color:var(--el-text-color-placeholder);--el-mention-option-loading-color:var(--el-text-color-secondary);--el-mention-option-loading-padding:10px 0;--el-mention-max-height:174px;--el-mention-padding:6px 0;--el-mention-header-padding:10px;--el-mention-footer-padding:10px}.el-mention-dropdown__item{box-sizing:border-box;color:var(--el-mention-option-color);cursor:pointer;font-size:var(--el-mention-font-size);height:var(--el-mention-option-height);line-height:var(--el-mention-option-height);min-width:var(--el-mention-option-min-width);overflow:hidden;padding:0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-mention-dropdown__item.is-hovering{background-color:var(--el-mention-option-hover-background)}.el-mention-dropdown__item.is-selected{color:var(--el-mention-option-selected-color);font-weight:700}.el-mention-dropdown__item.is-disabled{background-color:unset;color:var(--el-mention-option-disabled-color);cursor:not-allowed}.el-mention-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-mention-dropdown__loading{color:var(--el-mention-option-loading-color);font-size:12px;margin:0;min-width:var(--el-mention-option-min-width);padding:10px 0;text-align:center}.el-mention-dropdown__wrap{max-height:var(--el-mention-max-height)}.el-mention-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:var(--el-mention-padding)}.el-mention-dropdown__header{border-bottom:var(--el-mention-border);padding:var(--el-mention-header-padding)}.el-mention-dropdown__footer{border-top:var(--el-mention-border);padding:var(--el-mention-footer-padding)}.el-splitter{display:flex;height:100%;margin:0;padding:0;position:relative;width:100%}.el-splitter__mask{bottom:0;left:0;position:absolute;right:0;top:0;z-index:999}.el-splitter__mask-horizontal{cursor:col-resize}.el-splitter__mask-vertical{cursor:row-resize}.el-splitter__horizontal{flex-direction:row}.el-splitter__vertical{flex-direction:column}.el-splitter-bar{flex:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-splitter-bar__disable{cursor:auto!important}.el-splitter-bar__disable:before{background-color:var(--el-border-color-light)!important}.el-splitter-bar__dragger{background:transparent;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.el-splitter-bar__dragger:after,.el-splitter-bar__dragger:before{background-color:var(--el-border-color-light);content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:not(.is-lazy):after{display:none}.el-splitter-bar__dragger:after{opacity:.4}.el-splitter-bar__dragger:hover:before{background-color:var(--el-color-primary-light-5)}.el-splitter-bar__dragger-horizontal:after,.el-splitter-bar__dragger-horizontal:before{height:100%;width:2px}.el-splitter-bar__dragger-vertical:after,.el-splitter-bar__dragger-vertical:before{height:2px;width:100%}.el-splitter-bar__dragger-active:after,.el-splitter-bar__dragger-active:before{background-color:var(--el-color-primary-light-3)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-horizontal:after{transform:translate(calc(-50% + var(--el-splitter-bar-offset)),-50%)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-vertical:after{transform:translate(-50%,calc(-50% + var(--el-splitter-bar-offset)))}.el-splitter-bar:hover .el-splitter-bar__collapse-icon{opacity:1}.el-splitter-bar__collapse-icon{align-items:center;background:var(--el-border-color-light);border-radius:2px;cursor:pointer;display:flex;justify-content:center;opacity:0;position:absolute;z-index:9}.el-splitter-bar__collapse-icon:hover{background-color:var(--el-color-primary-light-5);opacity:1}.el-splitter-bar__horizontal-collapse-icon-start{height:24px;left:-12px;top:50%;transform:translate(-50%,-50%);width:16px}.el-splitter-bar__horizontal-collapse-icon-end{height:24px;left:12px;top:50%;transform:translate(-50%,-50%);width:16px}.el-splitter-bar__vertical-collapse-icon-start{height:16px;right:50%;top:-12px;transform:translate(50%,-50%);width:24px}.el-splitter-bar__vertical-collapse-icon-end{height:16px;right:50%;top:12px;transform:translate(50%,-50%);width:24px}.el-splitter-panel{box-sizing:border-box;flex-grow:0;overflow:auto;scrollbar-width:thin}.m-fields-ui-select{cursor:pointer}.m-fields-ui-select i{margin-right:3px}.m-fields-ui-select span{color:#2882e0}.m-editor-scroll-bar{position:absolute;background-color:transparent;opacity:.3;transition:background-color .2s linear,opacity .2s linear}.m-editor-scroll-bar .m-editor-scroll-bar-thumb{background-color:#aaa;border-radius:6px;position:absolute}.m-editor-scroll-bar.horizontal{width:100%;height:15px;bottom:0}.m-editor-scroll-bar.horizontal .m-editor-scroll-bar-thumb{height:6px;transition:background-color .2s linear,height .2s ease-in-out;bottom:2px}.m-editor-scroll-bar.vertical{height:100%;width:15px;right:5px}.m-editor-scroll-bar.vertical .m-editor-scroll-bar-thumb{width:6px;transition:background-color .2s linear,width .2s ease-in-out;right:2px}.m-editor-scroll-bar:hover,.m-editor-scroll-bar:focus{background-color:#eee;opacity:.9}.m-editor-scroll-bar:hover .m-editor-scroll-bar-thumb,.m-editor-scroll-bar:focus .m-editor-scroll-bar-thumb{background-color:#999}.m-editor-scroll-bar:hover.horizontal .m-editor-scroll-bar-thumb,.m-editor-scroll-bar:focus.horizontal .m-editor-scroll-bar-thumb{height:11px}.m-editor-scroll-bar:hover.vertical .m-editor-scroll-bar-thumb,.m-editor-scroll-bar:focus.vertical .m-editor-scroll-bar-thumb{width:11px}.tmagic-design-popper{min-width:150px;line-height:1.4;background-color:#fff;box-shadow:0 0 12px rgba(0,0,0,.12);color:#606266;border:1px solid #e4e7ed;border-radius:4px;font-size:14px;overflow-wrap:break-word;box-sizing:border-box;padding:10px}.tmagic-design-popper:focus{outline:none}.tmagic-design-popper[data-popper-placement^=top]>.tmagic-design-popper-arrow{bottom:-4px}.tmagic-design-popper[data-popper-placement^=bottom]>.tmagic-design-popper-arrow{top:-4px}.tmagic-design-popper[data-popper-placement^=left]>.tmagic-design-popper-arrow{right:-4px}.tmagic-design-popper[data-popper-placement^=right]>.tmagic-design-popper-arrow{left:-4px}.tmagic-design-popper-arrow,.tmagic-design-popper-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tmagic-design-popper-arrow{visibility:hidden}.tmagic-design-popper-arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.m-table .el-button.action-btn+.el-button.action-btn{margin-left:0}.m-table .keep-all{word-break:keep-all}.m-table .el-table .cell>div{display:inline-block;vertical-align:middle}.m-table .el-table__row.el-table__row--level-1{color:#999}.tmagic-design-form-inline .m-form-container{display:inline-flex}.m-form-dialog .el-dialog__body{padding:0!important}.m-form-dialog .m-dialog-body{padding:0 20px}.m-form-dialog .el-table .m-form-item .el-form-item{margin-bottom:0}.m-form-drawer .el-drawer__header{margin:0}.m-form-drawer .m-drawer-body{height:100%;overflow-y:auto;overflow-x:hidden}.m-form .m-form-tip{color:rgba(0,0,0,.45);font-size:12px;transition:color .3s cubic-bezier(.215,.61,.355,1)}.m-form .m-form-schematic{max-width:50%;height:100%}.m-form .el-table .cell>div.m-form-container{display:block}.m-form .el-tabs{margin-bottom:10px}.m-form .el-form-item.tmagic-form-hidden>.el-form-item__label{display:none}.m-form .t-form__item.tmagic-form-hidden>.t-form__label{display:none}.magic-datetime-picker-popper .el-picker-panel__footer button:first-child{display:none}.m-form-validate__warning{color:var(--el-color-warning);font-size:12px;width:100%;line-height:1.4}.tmagic-form-text-popper{min-width:150px;line-height:1.4;background-color:#fff;box-shadow:0 0 12px rgba(0,0,0,.12);color:#606266;border:1px solid #e4e7ed;border-radius:4px;font-size:14px;overflow-wrap:break-word;box-sizing:border-box;padding:10px}.tmagic-form-text-popper:focus{outline:none}.tmagic-form-text-popper[data-popper-placement^=top]>.tmagic-form-text-popper-arrow{bottom:-4px}.tmagic-form-text-popper[data-popper-placement^=bottom]>.tmagic-form-text-popper-arrow{top:-4px}.tmagic-form-text-popper[data-popper-placement^=left]>.tmagic-form-text-popper-arrow{right:-4px}.tmagic-form-text-popper[data-popper-placement^=right]>.tmagic-form-text-popper-arrow{left:-4px}.tmagic-form-text-popper-arrow,.tmagic-form-text-popper-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tmagic-form-text-popper-arrow{visibility:hidden}.tmagic-form-text-popper-arrow:before{visibility:visible;content:"";transform:rotate(45deg)}div.m-fields-link{width:fit-content}fieldset.m-fieldset{position:relative;border:1px solid rgb(229,229,229);margin-top:10px;margin-bottom:10px;min-inline-size:auto}fieldset.m-fieldset .el-checkbox{height:22px}fieldset.m-fieldset legend{font-size:14px;position:absolute;border:0;top:-10px;left:20px;background:#fff;width:auto;padding:0 3px;font-weight:700;line-height:20px}fieldset.m-fieldset .m-form-tip{margin-left:5px}.m-fields-group-list .el-button--text,.m-fields-group-list .el-tree-node__expand-icon{padding:0;margin-bottom:7px}.m-fields-group-list .el-tree-node__expand-icon.expand{transform:rotate(90deg)}.m-fields-group-list .m-fields-group-list-item{border-bottom:1px solid #ebeef5;margin-bottom:7px}.m-fields-group-list .m-fields-group-list-item:last-of-type{border-bottom:0}.m-form-panel .el-card__header:hover{background:#f2f6fc}.m-form-panel .el-card__header a{color:#409eff}.m-form-panel .el-card__body{padding:10px}.m-form-panel .m-form-tip{margin-left:5px}.m-container-panel:not(:last-of-type){margin-bottom:20px}.m-fields-table-wrap,.m-fields-table{width:100%}.m-fields-table.fixed{position:fixed;height:100%;overflow:auto;top:0;right:0;left:0;bottom:0;z-index:100;background:rgba(0,0,0,.5)}.m-fields-table.fixed>.el-form-item__content{z-index:101;position:relative;margin:10vh auto;max-width:fit-content}.m-fields-table.fixed table{width:95vw!important}.m-fields-table th{background-color:#f2f2f2!important;color:#333!important}.m-fields-table .el-table th{padding:0!important}.m-fields-table .el-table__column--dropable{cursor:move}.m-fields-table .el-form-item__content .el-input-group{vertical-align:middle}.m-fields-table.m-fields-table-item-extra tr.expanded td{border-bottom:0}.m-fields-table .el-table__expanded-cell .m-form-tip{margin-left:80px}.m-fields-table .el-form-item{margin-bottom:0}.m-select{width:100%}.magic-form-dynamic-tab .el-tabs__header.is-top{padding-right:8px}.magic-form-dynamic-tab .el-tabs__header.is-top .el-tabs__new-tab{margin-right:auto;min-width:50px;outline:none;border-color:#409eff;color:#409eff;width:10px}.magic-form-dynamic-tab .el-tabs__header.is-top .el-tabs__new-tab:before{content:"添加"}.magic-form-dynamic-tab .el-tabs__header.is-top .el-tabs__new-tab .el-icon-plus{display:none}.magic-form-tab{margin-bottom:10px}.diff-count-badge{top:-10px}.m-fields-number-range{display:flex;align-items:center}.m-fields-number-range .split-tag{margin:0 5px}.m-form-box{display:flex;flex-direction:column}.m-form-box .el-box__header{margin:0}.m-form-box .dialog-footer{display:flex;align-items:center;justify-content:space-between}.tmagic-design-input.search-input{background:#fff;color:#bbb;padding:10px;position:absolute;top:0;left:0;box-sizing:border-box;z-index:1;background:transparent}.tmagic-design-input.search-input .el-input__prefix{padding:7px}.m-editor-nav-menu{display:flex;z-index:5;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;background-color:#fff;font-size:19.2px;color:#313a40;font-weight:400;box-sizing:border-box;margin:0;flex:0 0 35px;border-bottom:1px solid #d8dee8}.m-editor-nav-menu>div{display:flex;height:100%;z-index:1;align-items:center}.m-editor-nav-menu .menu-center{justify-content:center}.m-editor-nav-menu .menu-right{justify-content:flex-end}.m-editor-nav-menu .menu-item{flex-direction:row;-webkit-box-align:center;align-items:center;vertical-align:middle;font-size:14px;line-height:1;height:100%;color:rgba(255,255,255,.7);box-sizing:inherit;z-index:1;display:flex!important;transition:all .3s ease 0s;border-bottom:2px solid transparent;margin:0}.m-editor-nav-menu .menu-item .is-disabled{opacity:.5}.m-editor-nav-menu .menu-item .is-text{padding:5px}.m-editor-nav-menu .menu-item .is-text>i{color:#313a40}.m-editor-nav-menu .menu-item .icon{display:flex;-webkit-box-align:center;align-items:center;height:100%;padding:0 8px}.m-editor-nav-menu .menu-item .menu-item-text{color:#313a40}.m-editor-nav-menu .menu-item.rule .el-icon{transform:rotate(-90deg)}.m-editor{display:flex;flex-direction:column;width:100%}.m-editor-content{height:calc(100% - 35px)}.m-editor-framework-center{position:relative;transform:translateZ(0);flex:1}.m-editor-framework-left{background-color:#fff}.m-editor-framework-center .el-scrollbar__view{height:100%;min-height:100%;display:flex;justify-content:center;align-items:center}.m-editor-empty-panel{display:flex;flex:1;justify-content:center;align-items:center;flex-direction:column;height:calc(100% - 32px)}.m-editor-empty-content{display:flex;justify-content:space-evenly;flex-direction:row;width:100%}.m-editor-empty-button{border:3px solid rgba(0,0,0,.2);padding:10px 40px;color:rgba(0,0,0,.6);cursor:pointer}.m-editor-empty-button i{height:180px;line-height:180px;font-size:100px}.m-editor-empty-button p{text-align:center;font-size:20px;margin-top:5px}.m-editor-empty-button:hover{border-color:#2882e0;color:#2882e0}.m-editor-sidebar{display:flex;height:100%;position:relative}.m-editor-sidebar .m-editor-sidebar-header{background:#2882e0;height:100%;width:40px}.m-editor-sidebar .m-editor-sidebar-header .m-editor-sidebar-header-item{line-height:15px;height:auto;padding:8px;color:#fff;box-sizing:border-box;cursor:pointer}.m-editor-sidebar .m-editor-sidebar-header .m-editor-sidebar-header-item.is-active{background:#fff}.m-editor-sidebar .m-editor-sidebar-header .m-editor-sidebar-header-item.is-active i,.m-editor-sidebar .m-editor-sidebar-header .m-editor-sidebar-header-item.is-active .magic-editor-tab-panel-title{color:#353140}.m-editor-sidebar .m-editor-sidebar-header i{font-size:25px;color:rgba(255,255,255,.6)}.m-editor-sidebar .m-editor-sidebar-header i:hover{color:#fff}.m-editor-sidebar .m-editor-sidebar-header .magic-editor-tab-panel-title{font-size:12px;white-space:normal;user-select:none}.m-editor-sidebar .m-editor-sidebar-content{height:100%;width:calc(100% - 40px);overflow:auto}.m-editor-sidebar .m-editor-sidebar-tips{position:absolute;bottom:0;left:40px;width:calc(100% - 40px);text-align:center;background-color:rgba(253,246,236,.9);color:#e6a23c;padding:5px 0;font-size:12px}.m-editor-sidebar .m-editor-sidebar-tips .close-icon{cursor:pointer;position:absolute;right:15px}.m-editor-sidebar .fold-icon{position:absolute;bottom:8px;left:0;width:45px;padding-left:8px;color:#fff;font-size:32px;opacity:.8;cursor:pointer}.m-editor-sidebar .fold-icon:hover{background:rgba(0,0,0,.2)}.m-editor-slide-list-box>div:first-child{min-width:240px}.m-editor-slide-list-box .m-form-box{border-left:1px solid #e0e0e0}.m-editor-layer-panel{background:#fff}.m-editor-layer-panel .m-editor-tree{padding-top:48px}.m-editor-layer-panel .search-wrapper{display:flex;align-items:center;justify-content:center;position:absolute;top:0;width:100%;z-index:1}.m-editor-layer-panel .search-wrapper .search-input{flex:1;position:relative}.m-editor-layer-panel .search-wrapper .tmagic-design-button{margin-right:10px}.ui-component-panel.tmagic-design-collapse{border-top:0!important;margin-top:48px;background-color:#fff}.ui-component-panel.tmagic-design-collapse .tmagic-design-collapse-item>div:first-of-type{border-bottom:1px solid #d9dbdd;margin-bottom:10px}.ui-component-panel.tmagic-design-collapse .el-collapse-item__header,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__header{background:#fff;color:#313a40;height:25px;line-height:25px;padding-left:10px;font-size:12px}.ui-component-panel.tmagic-design-collapse .el-collapse-item__header i,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__header i{margin-right:5px;font-size:14px}.ui-component-panel.tmagic-design-collapse .el-collapse-item__wrap,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__body{background:#fff;border-bottom:0}.ui-component-panel.tmagic-design-collapse .el-collapse-item__wrap .el-collapse-item__content,.ui-component-panel.tmagic-design-collapse .el-collapse-item__wrap .t-collapse-panel__content,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__body .el-collapse-item__content,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__body .t-collapse-panel__content{padding:10px;display:flex;flex-wrap:wrap}.ui-component-panel.tmagic-design-collapse .el-collapse-item__wrap .component-item,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__body .component-item{display:flex;overflow:hidden;text-overflow:ellipsis;margin:5px 10px;box-sizing:border-box;color:#313a40;flex-direction:column;width:42px;cursor:pointer}.ui-component-panel.tmagic-design-collapse .el-collapse-item__wrap .component-item i,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__body .component-item i{font-size:20px;background:#fff;height:40px;width:40px;line-height:40px;border-radius:5px;color:#909090;border:1px solid #d9dbdd;display:flex;justify-content:space-evenly;align-items:center;margin-bottom:5px}.ui-component-panel.tmagic-design-collapse .el-collapse-item__wrap .component-item i:hover,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__body .component-item i:hover{background:#2882e0;color:#fff;border-color:#4e8be1}.ui-component-panel.tmagic-design-collapse .el-collapse-item__wrap .component-item span,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__body .component-item span{font-size:12px;text-align:center}.ui-component-panel.tmagic-design-collapse .el-collapse-item__wrap .component-item .el-tooltip,.ui-component-panel.tmagic-design-collapse .t-collapse-panel__body .component-item .el-tooltip{width:50px;height:30px;line-height:15px;display:block;white-space:normal;margin:0}.ui-component-panel .t-collapse{margin-top:0;padding-top:48px;position:relative}.m-editor-resizer{border-left:2px solid transparent;border-right:2px solid transparent;width:8px;margin:0 -5px;height:100%;opacity:.8;background:padding-box #d8dee8;box-sizing:border-box;cursor:col-resize;z-index:1;position:relative}.m-editor-resizer:hover{border-color:#d8dee8}.m-editor-resizer:hover .icon-container{visibility:visible;opacity:1}.m-editor-resizer.m-editor-resizer-dragging:after{content:"";position:absolute;width:600px;height:100%;left:0}.m-editor-resizer.m-editor-resizer-dragging:before{content:"";position:absolute;width:600px;height:100%;right:0}.m-editor-resizer .icon-container{visibility:hidden;opacity:0;transition:opacity .4s;width:20px;height:120px;line-height:120px;text-align:center;background:#d8dee8;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer}.m-editor-resizer .icon-container.position-left{transform:translate(calc(-100% - 4px),-50%)}.m-editor-resizer .icon-container.position-right{transform:translate(calc(100% + 4px),-50%)}.m-editor-resizer .icon{color:#fff;font-size:18px}.m-editor-workspace{height:100%;width:100%;user-select:none}.m-editor-workspace:focus-visible{outline:0}.m-editor-page-bar-tabs{position:fixed;bottom:0;left:0;width:100%;user-select:none}.m-editor-page-list-item{display:flex;width:100%;height:32px;line-height:32px;color:#313a40;z-index:2;overflow:hidden}.m-editor-page-list-item:hover{background-color:#f3f5f9}.m-editor-page-bar{display:flex;width:100%;height:32px;line-height:32px;color:#313a40;background-color:#f3f3f3;border-top:1px solid #d9dbdd;z-index:2;overflow:hidden}.m-editor-page-bar-items{display:flex;transition:transform .3s}.m-editor-page-bar-item{padding:0 10px;cursor:pointer;border-right:1px solid #d9dbdd;display:flex;justify-items:center;align-items:center;background-color:#f3f3f3;white-space:nowrap}.m-editor-page-bar-item.active{background-color:#fff;cursor:text}.m-editor-page-bar-item.active .m-editor-page-bar-menu-icon{cursor:pointer}.m-editor-page-bar-item-icon{position:relative;z-index:1}.m-editor-page-bar-item-icon .icon-active{font-weight:700;color:#2882e0}.m-editor-page-bar-item-title{max-width:150px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.m-editor-page-bar-item-left-icon,.m-editor-page-bar-item-right-icon{position:absolute;right:0;top:0;height:100%}.m-editor-page-bar-item-left-icon{right:34px}.page-bar-popover.tmagic-design-popper{padding:4px 0}.page-bar-popover .menu-item{cursor:pointer;transition:all .2s ease 0s;padding:5px 14px}.page-bar-popover .menu-item .tmagic-design-button{color:#313a40}.page-bar-popover .menu-item:hover{background-color:#f3f5f9}.page-bar-popover .menu-item.active .tmagic-design-button{color:#2882e0}.m-editor-page-bar-search-panel{position:absolute;bottom:32px;border:1px solid #d9dbdd;padding:6px 10px;width:100%;box-sizing:border-box}.m-editor-page-bar-search-panel .tmagic-design-form-item{margin-bottom:0}.m-editor-props-panel{height:100%;position:relative;--props-style-panel-width: 300px}.m-editor-props-panel .m-editor-props-form-panel{padding-bottom:10px;position:relative;height:100%;box-sizing:border-box}.m-editor-props-panel .m-editor-props-form-panel .tmagic-design-scrollbar{height:100%}.m-editor-props-panel .m-editor-props-property-panel.show-style-panel{padding-right:var(--props-style-panel-width)}.m-editor-props-panel .m-editor-props-property-panel.show-style-panel .m-editor-props-panel-src-icon{right:calc(15px + var(--props-style-panel-width))}.m-editor-props-panel .m-editor-props-property-panel .tmagic-design-form{padding-right:10px;padding-left:10px}.m-editor-props-panel .m-editor-props-property-panel .tmagic-design-form>.m-container-tab>.tmagic-design-tabs>.el-tabs__content{padding-top:55px}.m-editor-props-panel .m-editor-props-property-panel .tmagic-design-form>.m-container-tab>.tmagic-design-tabs>.el-tabs__header.is-top{position:absolute;top:0;width:100%;background:#fff;z-index:2}.m-editor-props-panel .m-editor-props-style-panel{position:absolute;width:var(--props-style-panel-width);right:0;top:0;background:#fff;z-index:12}.m-editor-props-panel .m-editor-props-style-panel .tmagic-design-scrollbar{height:calc(100% - 39px)}.m-editor-props-panel .m-editor-props-style-panel .m-editor-props-style-panel-title{text-align:center;font-size:14px;font-weight:600;padding:0 5px;height:38px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #d9dbdd}.m-editor-props-panel .m-editor-props-style-panel .tmagic-design-form{padding-right:10px;padding-left:10px}.m-editor-props-panel .m-editor-props-panel-src-icon{position:absolute;right:15px;bottom:15px;z-index:30;opacity:.5}.m-editor-props-panel .m-editor-props-panel-src-icon:hover{opacity:1}.m-editor-props-panel .m-editor-props-panel-style-icon{position:absolute;right:15px;bottom:60px;z-index:30;opacity:.5}.m-editor-props-panel .m-editor-props-panel-style-icon:hover{opacity:1}.m-editor-props-panel .m-editor-props-panel-src-code.magic-code-editor{position:absolute;left:0;top:0;z-index:10}.m-editor-props-panel .m-editor-resizer{position:absolute;display:block;top:0;right:var(--props-style-panel-width);z-index:13}.m-editor-props-panel.small .el-form-item__label,.m-editor-props-panel.small .m-fieldset legend,.m-editor-props-panel.small .el-tabs__item{font-size:12px}.m-editor-props-panel .el-input__wrapper{border-radius:0}.m-editor-props-panel .m-fields-group-list .tmagic-design-table th,.m-editor-props-panel-popper.small span,.m-editor-props-panel-popper.small a,.m-editor-props-panel-popper.small p{font-size:12px}.magic-editor-content-menu{position:fixed;font-size:12px;background:#fff;box-shadow:0 2px 8px 2px rgba(68,73,77,.16);z-index:1000;transform-origin:0% 0%;font-weight:600;padding:4px 0;overflow:auto;max-height:80%;min-width:180px}.magic-editor-content-menu .menu-item{color:#333;display:flex;-webkit-box-align:center;align-items:center;cursor:pointer;min-width:140px;transition:all .2s ease 0s;padding:5px 14px;border-left:2px solid transparent}.magic-editor-content-menu .menu-item .el-button{width:100%;justify-content:flex-start}.magic-editor-content-menu .menu-item .el-button--text,.magic-editor-content-menu .menu-item i{color:#313a40}.magic-editor-content-menu .menu-item .magic-editor-icon{margin-right:5px}.magic-editor-content-menu .menu-item.divider{padding:0 14px}.magic-editor-content-menu .menu-item.divider .el-divider{margin:0}.magic-editor-content-menu .menu-item.button:hover{background-color:#f3f5f9}.magic-editor-content-menu .menu-item.button:hover .tmagic-design-button,.magic-editor-content-menu .menu-item.button:hover .tmagic-design-button:active,.magic-editor-content-menu .menu-item.button:hover .tmagic-design-button:focus{color:#313a40}.magic-editor-content-menu .menu-item.button:hover.menu-item i{color:#313a40}.magic-editor-content-menu .menu-item.button.active{background-color:#2882e0}.magic-editor-content-menu .menu-item.button.active .tmagic-design-button,.magic-editor-content-menu .menu-item.button.active .tmagic-design-button:active,.magic-editor-content-menu .menu-item.button.active .tmagic-design-button:focus{color:#fff;background-color:transparent}.magic-editor-content-menu .menu-item.button.active.menu-item i{color:#fff}.m-editor-stage{position:relative;width:100%;height:calc(100% - 32px);overflow:hidden;display:flex;justify-content:center;align-items:center}.m-editor-stage:focus-visible{outline:none}.m-editor-stage-container{width:100%;height:100%;z-index:0;position:relative;transition:transform .3s;box-sizing:content-box;box-shadow:rgba(0,0,0,.04) 0 3px 5px}.m-editor-stage-container::-webkit-scrollbar{width:0!important}.m-editor-stage-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;z-index:20}.m-editor-stage-overlay-close.tmagic-design-icon{position:fixed;right:20px;top:10px;cursor:pointer;z-index:1}.m-editor-stage-float-button{cursor:pointer;transform:translateY(-50%);width:12px;font-size:12px;line-height:1.2;position:absolute;left:100%;top:50%;padding:5px;background-color:#fff;transition:background-color .2s;color:rgba(0,0,0,.88);box-shadow:0 6px 16px rgba(0,0,0,.08),0 3px 6px -4px rgba(0,0,0,.12),0 9px 28px 8px rgba(0,0,0,.05)}.m-editor-node-list-menu{height:100%;width:100%;min-width:300px;max-height:500px}.m-container-vs-code .el-form-item{margin-bottom:0}.magic-code-editor{width:100%}.magic-code-editor-wrapper{width:100%;height:100%;position:relative}.magic-code-editor-wrapper.full-screen{position:fixed;z-index:10000;top:0;left:0}.magic-code-editor-wrapper .magic-code-editor-content{width:100%;height:100%}.magic-code-editor-wrapper .magic-code-editor-content .margin{margin:0}.magic-code-editor-wrapper .magic-code-editor-full-screen-icon{position:absolute;top:20px;right:10px;z-index:11;opacity:.3}.magic-code-editor-wrapper .magic-code-editor-full-screen-icon:hover{opacity:1}.tmagic-design-icon{--color: inherit;height:1em;width:1em;position:relative;fill:currentColor}.tmagic-design-icon img{max-width:100%;max-height:100%}.m-fields-code-select{width:100%}.m-fields-code-select .el-card__header{display:none}.m-fields-event-select,.m-fields-event-select .fullWidth{width:100%}.m-fields-event-select .event-select-code{margin-left:20px;width:auto}.m-fields-event-select .m-form-panel{margin:10px 0}.m-fields-event-select .el-card.is-always-shadow{box-shadow:0 0 5px rgba(0,0,0,.12)}.m-fields-code-select-col,.m-fields-data-source-method-select{width:100%}.code-select-container,.data-source-method-select-container{display:flex;align-items:center}.code-select-container .select,.data-source-method-select-container .select{flex:10 0 100px}.code-select-container .icon,.data-source-method-select-container .icon{flex:1 0 20px;cursor:pointer;margin-right:5px}.m-editor-layout{width:100%;display:flex;justify-self:space-between}.m-editor-layout:has(.m-editor-resizer-dragging){overflow:hidden}.m-editor-breadcrumb{position:absolute;left:5px;top:5px;z-index:10}.data-source-list-panel .list-container .list-item .codeIcon,.data-source-list-panel .list-container .list-item .compIcon{width:22px;height:22px;margin-right:5px}.data-source-list-panel-add-menu{padding:4px 0}.data-source-list-panel-add-menu .menu-item{cursor:pointer;transition:all .2s ease 0s;padding:5px 14px}.data-source-list-panel-add-menu .menu-item:hover{background-color:#f3f5f9}.m-editor-data-source-fields,.m-editor-data-source-fields .tmagic-design-table{width:100%}.m-editor-data-source-fields .m-editor-data-source-fields-footer{display:flex;justify-content:flex-end;margin-top:15px}.m-editor-data-source-methods,.m-editor-data-source-methods .tmagic-design-table{width:100%}.m-editor-data-source-methods .m-editor-data-source-methods-footer{display:flex;justify-content:flex-end;margin-top:15px}.tmagic-data-source-input-text .el-input__wrapper.tmagic-data-source-input-text-wrapper{overflow:hidden;padding-right:30px}.tmagic-data-source-input-text .el-input__inner{display:flex;align-items:center;overflow:hidden;white-space:nowrap}.tmagic-data-source-input-text .tmagic-data-source-input-icon{position:absolute;right:7px}.m-fields-key-value{display:flex;justify-items:center;align-items:top;width:100%}.m-fields-key-value-item{display:flex;margin-bottom:10px;align-items:center}.m-fields-key-value-delimiter{margin:0 10px}.m-fields-key-value-delete{margin-left:10px}.m-editor-tree{color:#313a40;font-size:13px}.m-editor-tree .m-editor-tree-node{cursor:pointer;white-space:nowrap}.m-editor-tree .m-editor-tree-node .tree-node{display:flex;align-items:center}.m-editor-tree .m-editor-tree-node .tree-node:hover{background-color:#f3f5f9;color:#313a40}.m-editor-tree .m-editor-tree-node .tree-node.selected{background-color:#2882e0;color:#f3f5f9}.m-editor-tree .m-editor-tree-node .tree-node.drag-inner .tree-node-content{background-color:rgba(40,130,224,.5);color:#f3f5f9}.m-editor-tree .m-editor-tree-node .tree-node.drag-before .tree-node-content{border-top-color:rgba(40,130,224,.5)}.m-editor-tree .m-editor-tree-node .tree-node.drag-after .tree-node-content{border-bottom-color:rgba(40,130,224,.5)}.m-editor-tree .m-editor-tree-node .tree-node .expand-icon{padding:4px;box-sizing:content-box;font-size:14px}.m-editor-tree .m-editor-tree-node .tree-node .tree-node-content{display:flex;flex:1;justify-content:space-between;height:22px;border-top:2px solid transparent;border-bottom:2px solid transparent}.m-editor-tree .m-editor-tree-node .tree-node .tree-node-content .tree-node-label{line-height:22px;flex:1;width:100px;overflow:hidden;text-overflow:ellipsis}.m-editor-tree .m-editor-tree-node .tree-node .tree-node-content .tree-node-label .disabled{cursor:default}.m-editor-tree .m-editor-tree-node .tree-node .tree-node-content .tree-node-label .hook{color:#999}.m-editor-tree .m-editor-tree-node .tree-node .tree-node-tool{display:flex;align-items:center}.m-editor-tree .m-editor-tree-node .tree-node .tree-node-tool .tmagic-design-icon{margin-right:10px}.m-editor-tree .m-editor-tree-empty{text-align:center;color:#909399;font-size:14px}.m-editor-float-box{position:absolute;background-color:#fff;z-index:100;border:1px solid #d9dbdd;display:flex;flex-direction:column;max-height:100%;max-width:100%}.m-editor-float-box .m-editor-float-box-title{text-align:center;font-size:14px;font-weight:600;padding:5px;cursor:move;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9dbdd}.m-editor-float-box .m-editor-float-box-body{overflow:auto;flex:1;padding:0 16px}.m-editor-floating-box-moveable{opacity:0}.m-fields-page-fragment-select{width:100%}.m-fields-page-fragment-select .page-fragment-select-container{width:100%;display:flex;align-items:center}.m-fields-page-fragment-select .page-fragment-select-container .select{flex:1}.m-fields-page-fragment-select .page-fragment-select-container .icon{margin-left:10px}.m-fields-data-source-select,.m-fields-data-source-field-select,.m-fields-data-source-method-select .data-source-method-select-container,.m-fields-code-select-col .code-select-container{width:100%;display:flex;align-items:center}.m-fields-data-source-select .m-fields-select-action-button,.m-fields-data-source-field-select .m-fields-select-action-button,.m-fields-data-source-method-select .data-source-method-select-container .m-fields-select-action-button,.m-fields-code-select-col .code-select-container .m-fields-select-action-button{margin-left:5px}.m-fields-data-source-field-select{width:100%}.m-fields-data-source-field-select .m-editor-data-source-field-select{display:flex;width:100%}.m-fields-data-source-field-select .m-editor-data-source-field-select .tmagic-design-select{flex:1;margin-right:10px}.m-fields-data-source-field-select .m-editor-data-source-field-select .tmagic-design-cascader{flex:2}.border-box-container{display:flex}.border-box-container .border-icon-container{display:flex;flex-direction:column;justify-content:center;width:88px}.border-box-container .border-icon-container-row{display:flex;justify-content:center;align-items:center}.border-box-container .border-icon-container-row+.border-icon-container-row{margin-top:8px}.border-box-container .border-icon-container .border-icon{box-sizing:border-box;width:16px;height:16px;border-width:1px;border-color:#111;border-style:solid;cursor:pointer}.border-box-container .border-icon-container .border-icon+.border-icon{margin-left:8px}.border-box-container .border-icon-container .border-icon.active{border-width:1px;border-color:var(--el-color-primary)}.border-box-container .border-icon-container .border-icon.border-icon-top{border-top-width:2px;border-style:solid dashed dashed dashed}.border-box-container .border-icon-container .border-icon.border-icon-right{border-right-width:2px;border-style:dashed solid dashed dashed}.border-box-container .border-icon-container .border-icon.border-icon-bottom{border-bottom-width:2px;border-style:dashed dashed solid dashed}.border-box-container .border-icon-container .border-icon.border-icon-left{border-left-width:2px;border-style:dashed dashed dashed solid}.border-box-container .border-value-container{margin-left:16px;flex:1}.layout-box-container{position:relative;width:100%;height:130px}.layout-box-container .help-txt{float:left;margin-left:-10px;transform:scale(.75)}.layout-box-container .outer-top-border,.layout-box-container .inner-top-border,.layout-box-container .outer-right-border,.layout-box-container .inner-right-border,.layout-box-container .outer-bottom-border,.layout-box-container .inner-bottom-border,.layout-box-container .outer-left-border,.layout-box-container .inner-left-border{position:absolute;transition:all .3s ease}.layout-box-container .outer-top-border .next-input,.layout-box-container .inner-top-border .next-input,.layout-box-container .outer-right-border .next-input,.layout-box-container .inner-right-border .next-input,.layout-box-container .outer-bottom-border .next-input,.layout-box-container .inner-bottom-border .next-input,.layout-box-container .outer-left-border .next-input,.layout-box-container .inner-left-border .next-input{position:absolute;height:20px}.layout-box-container .outer-top-border .next-input input,.layout-box-container .inner-top-border .next-input input,.layout-box-container .outer-right-border .next-input input,.layout-box-container .inner-right-border .next-input input,.layout-box-container .outer-bottom-border .next-input input,.layout-box-container .inner-bottom-border .next-input input,.layout-box-container .outer-left-border .next-input input,.layout-box-container .inner-left-border .next-input input{padding:0;width:100%;border:none;outline:none;margin:0;font-weight:400;vertical-align:top;background-color:transparent;color:#333;text-align:center;line-height:20px;height:20px}.layout-box-container .outer-top-border,.layout-box-container .inner-top-border{height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:20px solid #d6e4ff}.layout-box-container .outer-top-border .next-input,.layout-box-container .inner-top-border .next-input{left:0;right:0;top:-20px}.layout-box-container .outer-top-border{top:0;left:0;right:0}.layout-box-container .inner-top-border{top:25px;left:25px;right:25px}.layout-box-container .outer-top-border:hover,.layout-box-container .inner-top-border:hover{border-top:20px solid #bfd4fb}.layout-box-container .outer-right-border,.layout-box-container .inner-right-border{width:0;border-top:20px solid transparent;border-bottom:20px solid transparent;border-right:20px solid #d6e4ff}.layout-box-container .outer-right-border .next-input,.layout-box-container .inner-right-border .next-input{top:0;bottom:0;right:-20px;width:20px;margin:auto}.layout-box-container .outer-right-border .next-input input,.layout-box-container .inner-right-border .next-input input{position:absolute;top:0;bottom:0;left:0;margin:auto;width:20px}.layout-box-container .outer-right-border{top:5px;bottom:5px;right:0}.layout-box-container .inner-right-border{top:30px;bottom:30px;right:25px}.layout-box-container .outer-right-border:hover,.layout-box-container .inner-right-border:hover{border-right:20px solid #bfd4fb}.layout-box-container .outer-bottom-border,.layout-box-container .inner-bottom-border{height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-bottom:20px solid #d6e4ff}.layout-box-container .outer-bottom-border .next-input,.layout-box-container .inner-bottom-border .next-input{position:absolute;left:0;right:0;bottom:-20px}.layout-box-container .outer-bottom-border{bottom:0;left:0;right:0}.layout-box-container .inner-bottom-border{bottom:25px;left:25px;right:25px}.layout-box-container .outer-bottom-border:hover,.layout-box-container .inner-bottom-border:hover{border-bottom:20px solid #bfd4fb}.layout-box-container .outer-left-border,.layout-box-container .inner-left-border{width:0;border-top:20px solid transparent;border-bottom:20px solid transparent;border-left:20px solid #d6e4ff}.layout-box-container .outer-left-border .next-input,.layout-box-container .inner-left-border .next-input{position:absolute;top:0;bottom:0;left:-20px;width:20px;margin:auto}.layout-box-container .outer-left-border .next-input input,.layout-box-container .inner-left-border .next-input input{position:absolute;top:0;bottom:0;right:0;margin:auto;width:20px}.layout-box-container .outer-left-border{top:5px;bottom:5px;left:0}.layout-box-container .inner-left-border{top:30px;bottom:30px;left:25px}.layout-box-container .outer-left-border:hover,.layout-box-container .inner-left-border:hover{border-left:20px solid #bfd4fb}.background-position-container{display:flex;width:100%}.background-position-container .presets-value-list{display:flex;flex-wrap:wrap;width:80px;height:auto}.background-position-container .presets-value-list .el-button+.el-button{margin-left:2px}.background-position-container .presets-value-list .el-button:nth-child(3n+1){margin-left:0!important}.background-position-container .presets-value-list .position-icon{position:relative;width:14px;height:14px;border:1px solid #1d1f24}.background-position-container .presets-value-list .position-icon.active{background-color:var(--el-color-primary)}.background-position-container .presets-value-list .position-icon.active:after{border:1px solid #fff}.background-position-container .presets-value-list .position-icon:after{position:absolute;content:"";border:1px solid #1d1f24;box-sizing:border-box}.background-position-container .presets-value-list .position-icon.left-top:after{top:1px;left:1px;width:6px;height:6px}.background-position-container .presets-value-list .position-icon.center-top:after{top:1px;left:1px;width:12px;height:6px}.background-position-container .presets-value-list .position-icon.right-top:after{top:1px;right:1px;width:6px;height:6px}.background-position-container .presets-value-list .position-icon.left-center:after{top:1px;left:1px;width:6px;height:12px}.background-position-container .presets-value-list .position-icon.center-center:after{top:1px;left:1px;width:12px;height:12px}.background-position-container .presets-value-list .position-icon.right-center:after{top:1px;right:1px;width:6px;height:12px}.background-position-container .presets-value-list .position-icon.left-bottom:after{bottom:1px;left:1px;width:6px;height:6px}.background-position-container .presets-value-list .position-icon.center-bottom:after{bottom:1px;left:1px;width:12px;height:6px}.background-position-container .presets-value-list .position-icon.right-bottom:after{bottom:1px;right:1px;width:6px;height:6px}.background-position-container .custom-value{position:relative;flex:1}.m-fields-style-setter{width:100%}.m-fields-style-setter .tmagic-design-collapse-item>.el-collapse-item__header{background-color:#f2f3f7;height:36px;padding:10px}.m-fields-style-setter .tmagic-design-collapse-item .el-collapse-item__wrap{padding:0 10px}.text-align-list{display:flex;height:100%}.text-align-list .btn-active{color:var(--el-color-primary)!important}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}\n/*$vite$:1*/',document.head.appendChild(__vite_style__);const EMPTY_OBJ={},EMPTY_ARR=[],NOOP$1=()=>{},NO=()=>!1,isOn=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),isModelListener=e=>e.startsWith("onUpdate:"),extend$1=Object.assign,remove=(e,t)=>{const i=e.indexOf(t);i>-1&&e.splice(i,1)},hasOwnProperty$k=Object.prototype.hasOwnProperty,hasOwn$1=(e,t)=>hasOwnProperty$k.call(e,t),isArray$4=Array.isArray,isMap$1=e=>"[object Map]"===toTypeString$1(e),isSet$1=e=>"[object Set]"===toTypeString$1(e),isDate$2=e=>"[object Date]"===toTypeString$1(e),isFunction$6=e=>"function"==typeof e,isString$5=e=>"string"==typeof e,isSymbol$1=e=>"symbol"==typeof e,isObject$7=e=>null!==e&&"object"==typeof e,isPromise$1=e=>(isObject$7(e)||isFunction$6(e))&&isFunction$6(e.then)&&isFunction$6(e.catch),objectToString$2=Object.prototype.toString,toTypeString$1=e=>objectToString$2.call(e),toRawType=e=>toTypeString$1(e).slice(8,-1),isPlainObject$2=e=>"[object Object]"===toTypeString$1(e),isIntegerKey=e=>isString$5(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,isReservedProp=makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),cacheStringFunction$1=e=>{const t=Object.create(null);return i=>t[i]||(t[i]=e(i))},camelizeRE$1=/-\w/g,camelize$2=cacheStringFunction$1(e=>e.replace(camelizeRE$1,e=>e.slice(1).toUpperCase())),hyphenateRE$1=/\B([A-Z])/g,hyphenate$1=cacheStringFunction$1(e=>e.replace(hyphenateRE$1,"-$1").toLowerCase()),capitalize$3=cacheStringFunction$1(e=>e.charAt(0).toUpperCase()+e.slice(1)),toHandlerKey=cacheStringFunction$1(e=>e?`on${capitalize$3(e)}`:""),hasChanged=(e,t)=>!Object.is(e,t),invokeArrayFns=(e,...t)=>{for(let i=0;i{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:i})},looseToNumber=e=>{const t=parseFloat(e);return isNaN(t)?e:t},toNumber$1=e=>{const t=isString$5(e)?Number(e):NaN;return isNaN(t)?e:t};let _globalThis;const getGlobalThis=()=>_globalThis||(_globalThis="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function normalizeStyle(e){if(isArray$4(e)){const t={};for(let i=0;i{if(e){const i=e.split(propertyDelimiterRE);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function normalizeClass(e){let t="";if(isString$5(e))t=e;else if(isArray$4(e))for(let i=0;ilooseEqual(e,t))}const isRef$1=e=>!(!e||!0!==e.__v_isRef),toDisplayString=e=>isString$5(e)?e:null==e?"":isArray$4(e)||isObject$7(e)&&(e.toString===objectToString$2||!isFunction$6(e.toString))?isRef$1(e)?toDisplayString(e.value):JSON.stringify(e,replacer$1,2):String(e),replacer$1=(e,t)=>isRef$1(t)?replacer$1(e,t.value):isMap$1(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,i],o)=>(e[stringifySymbol(t,o)+" =>"]=i,e),{})}:isSet$1(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>stringifySymbol(e))}:isSymbol$1(t)?stringifySymbol(t):!isObject$7(t)||isArray$4(t)||isPlainObject$2(t)?t:String(t),stringifySymbol=(e,t="")=>{var i;return isSymbol$1(e)?`Symbol(${null!=(i=e.description)?i:t})`:e}; /** * @vue/reactivity v3.5.21 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ let activeEffectScope,activeSub;class EffectScope{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=activeEffectScope,!e&&activeEffectScope&&(this.index=(activeEffectScope.scopes||(activeEffectScope.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0&&0===--this._on&&(activeEffectScope=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,i;for(this._active=!1,t=0,i=this.effects.length;t0)return;if(batchedComputed){let e=batchedComputed;for(batchedComputed=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;batchedSub;){let i=batchedSub;for(batchedSub=void 0;i;){const o=i.next;if(i.next=void 0,i.flags&=-9,1&i.flags)try{i.trigger()}catch(t){e||(e=t)}i=o}}if(e)throw e}function prepareDeps(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function cleanupDeps(e){let t,i=e.depsTail,o=i;for(;o;){const e=o.prevDep;-1===o.version?(o===i&&(i=e),removeSub(o),removeDep(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=e}e.deps=t,e.depsTail=i}function isDirty(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(refreshComputed(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function refreshComputed(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===globalVersion)return;if(e.globalVersion=globalVersion,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!isDirty(e)))return;e.flags|=2;const t=e.dep,i=activeSub,o=shouldTrack;activeSub=e,shouldTrack=!0;try{prepareDeps(e);const i=e.fn(e._value);(0===t.version||hasChanged(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(n){throw t.version++,n}finally{activeSub=i,shouldTrack=o,cleanupDeps(e),e.flags&=-3}}function removeSub(e,t=!1){const{dep:i,prevSub:o,nextSub:n}=e;if(o&&(o.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=o,e.nextSub=void 0),i.subs===e&&(i.subs=o,!o&&i.computed)){i.computed.flags&=-5;for(let e=i.computed.deps;e;e=e.nextDep)removeSub(e,!0)}t||--i.sc||!i.map||i.map.delete(i.key)}function removeDep(e){const{prevDep:t,nextDep:i}=e;t&&(t.nextDep=i,e.prevDep=void 0),i&&(i.prevDep=t,e.nextDep=void 0)}let shouldTrack=!0;const trackStack=[];function pauseTracking(){trackStack.push(shouldTrack),shouldTrack=!1}function resetTracking(){const e=trackStack.pop();shouldTrack=void 0===e||e}function cleanupEffect(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=activeSub;activeSub=void 0;try{t()}finally{activeSub=e}}}let globalVersion=0,Link$3=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Dep$1=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!activeSub||!shouldTrack||activeSub===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==activeSub)t=this.activeLink=new Link$3(activeSub,this),activeSub.deps?(t.prevDep=activeSub.depsTail,activeSub.depsTail.nextDep=t,activeSub.depsTail=t):activeSub.deps=activeSub.depsTail=t,addSub(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=activeSub.depsTail,t.nextDep=void 0,activeSub.depsTail.nextDep=t,activeSub.depsTail=t,activeSub.deps===t&&(activeSub.deps=e)}return t}trigger(e){this.version++,globalVersion++,this.notify(e)}notify(e){startBatch();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{endBatch()}}};function addSub(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)addSub(e)}const i=e.dep.subs;i!==e&&(e.prevSub=i,i&&(i.nextSub=e)),e.dep.subs=e}}const targetMap=new WeakMap,ITERATE_KEY=Symbol(""),MAP_KEY_ITERATE_KEY=Symbol(""),ARRAY_ITERATE_KEY=Symbol("");function track(e,t,i){if(shouldTrack&&activeSub){let t=targetMap.get(e);t||targetMap.set(e,t=new Map);let o=t.get(i);o||(t.set(i,o=new Dep$1),o.map=t,o.key=i),o.track()}}function trigger(e,t,i,o,n,r){const s=targetMap.get(e);if(!s)return void globalVersion++;const a=e=>{e&&e.trigger()};if(startBatch(),"clear"===t)s.forEach(a);else{const n=isArray$4(e),r=n&&isIntegerKey(i);if(n&&"length"===i){const e=Number(o);s.forEach((t,i)=>{("length"===i||i===ARRAY_ITERATE_KEY||!isSymbol$1(i)&&i>=e)&&a(t)})}else switch((void 0!==i||s.has(void 0))&&a(s.get(i)),r&&a(s.get(ARRAY_ITERATE_KEY)),t){case"add":n?r&&a(s.get("length")):(a(s.get(ITERATE_KEY)),isMap$1(e)&&a(s.get(MAP_KEY_ITERATE_KEY)));break;case"delete":n||(a(s.get(ITERATE_KEY)),isMap$1(e)&&a(s.get(MAP_KEY_ITERATE_KEY)));break;case"set":isMap$1(e)&&a(s.get(ITERATE_KEY))}}endBatch()}function getDepFromReactive(e,t){const i=targetMap.get(e);return i&&i.get(t)}function reactiveReadArray(e){const t=toRaw(e);return t===e?t:(track(t,"iterate",ARRAY_ITERATE_KEY),isShallow(e)?t:t.map(toReactive$1))}function shallowReadArray(e){return track(e=toRaw(e),"iterate",ARRAY_ITERATE_KEY),e}const arrayInstrumentations={__proto__:null,[Symbol.iterator](){return iterator(this,Symbol.iterator,toReactive$1)},concat(...e){return reactiveReadArray(this).concat(...e.map(e=>isArray$4(e)?reactiveReadArray(e):e))},entries(){return iterator(this,"entries",e=>(e[1]=toReactive$1(e[1]),e))},every(e,t){return apply$2(this,"every",e,t,void 0,arguments)},filter(e,t){return apply$2(this,"filter",e,t,e=>e.map(toReactive$1),arguments)},find(e,t){return apply$2(this,"find",e,t,toReactive$1,arguments)},findIndex(e,t){return apply$2(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return apply$2(this,"findLast",e,t,toReactive$1,arguments)},findLastIndex(e,t){return apply$2(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return apply$2(this,"forEach",e,t,void 0,arguments)},includes(...e){return searchProxy(this,"includes",e)},indexOf(...e){return searchProxy(this,"indexOf",e)},join(e){return reactiveReadArray(this).join(e)},lastIndexOf(...e){return searchProxy(this,"lastIndexOf",e)},map(e,t){return apply$2(this,"map",e,t,void 0,arguments)},pop(){return noTracking(this,"pop")},push(...e){return noTracking(this,"push",e)},reduce(e,...t){return reduce(this,"reduce",e,t)},reduceRight(e,...t){return reduce(this,"reduceRight",e,t)},shift(){return noTracking(this,"shift")},some(e,t){return apply$2(this,"some",e,t,void 0,arguments)},splice(...e){return noTracking(this,"splice",e)},toReversed(){return reactiveReadArray(this).toReversed()},toSorted(e){return reactiveReadArray(this).toSorted(e)},toSpliced(...e){return reactiveReadArray(this).toSpliced(...e)},unshift(...e){return noTracking(this,"unshift",e)},values(){return iterator(this,"values",toReactive$1)}};function iterator(e,t,i){const o=shallowReadArray(e),n=o[t]();return o===e||isShallow(e)||(n._next=n.next,n.next=()=>{const e=n._next();return e.value&&(e.value=i(e.value)),e}),n}const arrayProto$1=Array.prototype;function apply$2(e,t,i,o,n,r){const s=shallowReadArray(e),a=s!==e&&!isShallow(e),l=s[t];if(l!==arrayProto$1[t]){const t=l.apply(e,r);return a?toReactive$1(t):t}let c=i;s!==e&&(a?c=function(t,o){return i.call(this,toReactive$1(t),o,e)}:i.length>2&&(c=function(t,o){return i.call(this,t,o,e)}));const d=l.call(s,c,o);return a&&n?n(d):d}function reduce(e,t,i,o){const n=shallowReadArray(e);let r=i;return n!==e&&(isShallow(e)?i.length>3&&(r=function(t,o,n){return i.call(this,t,o,n,e)}):r=function(t,o,n){return i.call(this,t,toReactive$1(o),n,e)}),n[t](r,...o)}function searchProxy(e,t,i){const o=toRaw(e);track(o,"iterate",ARRAY_ITERATE_KEY);const n=o[t](...i);return-1!==n&&!1!==n||!isProxy(i[0])?n:(i[0]=toRaw(i[0]),o[t](...i))}function noTracking(e,t,i=[]){pauseTracking(),startBatch();const o=toRaw(e)[t].apply(e,i);return endBatch(),resetTracking(),o}const isNonTrackableKeys=makeMap("__proto__,__v_isRef,__isVue"),builtInSymbols=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(isSymbol$1));function hasOwnProperty$j(e){isSymbol$1(e)||(e=String(e));const t=toRaw(this);return track(t,"has",e),t.hasOwnProperty(e)}class BaseReactiveHandler{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,i){if("__v_skip"===t)return e.__v_skip;const o=this._isReadonly,n=this._isShallow;if("__v_isReactive"===t)return!o;if("__v_isReadonly"===t)return o;if("__v_isShallow"===t)return n;if("__v_raw"===t)return i===(o?n?shallowReadonlyMap:readonlyMap:n?shallowReactiveMap:reactiveMap).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(i)?e:void 0;const r=isArray$4(e);if(!o){let e;if(r&&(e=arrayInstrumentations[t]))return e;if("hasOwnProperty"===t)return hasOwnProperty$j}const s=Reflect.get(e,t,isRef(e)?e:i);return(isSymbol$1(t)?builtInSymbols.has(t):isNonTrackableKeys(t))?s:(o||track(e,"get",t),n?s:isRef(s)?r&&isIntegerKey(t)?s:s.value:isObject$7(s)?o?readonly(s):reactive$1(s):s)}}class MutableReactiveHandler extends BaseReactiveHandler{constructor(e=!1){super(!1,e)}set(e,t,i,o){let n=e[t];if(!this._isShallow){const t=isReadonly(n);if(isShallow(i)||isReadonly(i)||(n=toRaw(n),i=toRaw(i)),!isArray$4(e)&&isRef(n)&&!isRef(i))return t||(n.value=i),!0}const r=isArray$4(e)&&isIntegerKey(t)?Number(t)e,getProto=e=>Reflect.getPrototypeOf(e);function createIterableMethod(e,t,i){return function(...o){const n=this.__v_raw,r=toRaw(n),s=isMap$1(r),a="entries"===e||e===Symbol.iterator&&s,l="keys"===e&&s,c=n[e](...o),d=i?toShallow:t?toReadonly:toReactive$1;return!t&&track(r,"iterate",l?MAP_KEY_ITERATE_KEY:ITERATE_KEY),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:a?[d(e[0]),d(e[1])]:d(e),done:t}},[Symbol.iterator](){return this}}}}function createReadonlyMethod(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function createInstrumentations(e,t){const i={get(i){const o=this.__v_raw,n=toRaw(o),r=toRaw(i);e||(hasChanged(i,r)&&track(n,"get",i),track(n,"get",r));const{has:s}=getProto(n),a=t?toShallow:e?toReadonly:toReactive$1;return s.call(n,i)?a(o.get(i)):s.call(n,r)?a(o.get(r)):void(o!==n&&o.get(i))},get size(){const t=this.__v_raw;return!e&&track(toRaw(t),"iterate",ITERATE_KEY),t.size},has(t){const i=this.__v_raw,o=toRaw(i),n=toRaw(t);return e||(hasChanged(t,n)&&track(o,"has",t),track(o,"has",n)),t===n?i.has(t):i.has(t)||i.has(n)},forEach(i,o){const n=this,r=n.__v_raw,s=toRaw(r),a=t?toShallow:e?toReadonly:toReactive$1;return!e&&track(s,"iterate",ITERATE_KEY),r.forEach((e,t)=>i.call(o,a(e),a(t),n))}};extend$1(i,e?{add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear")}:{add(e){t||isShallow(e)||isReadonly(e)||(e=toRaw(e));const i=toRaw(this);return getProto(i).has.call(i,e)||(i.add(e),trigger(i,"add",e,e)),this},set(e,i){t||isShallow(i)||isReadonly(i)||(i=toRaw(i));const o=toRaw(this),{has:n,get:r}=getProto(o);let s=n.call(o,e);s||(e=toRaw(e),s=n.call(o,e));const a=r.call(o,e);return o.set(e,i),s?hasChanged(i,a)&&trigger(o,"set",e,i):trigger(o,"add",e,i),this},delete(e){const t=toRaw(this),{has:i,get:o}=getProto(t);let n=i.call(t,e);n||(e=toRaw(e),n=i.call(t,e)),o&&o.call(t,e);const r=t.delete(e);return n&&trigger(t,"delete",e,void 0),r},clear(){const e=toRaw(this),t=0!==e.size,i=e.clear();return t&&trigger(e,"clear",void 0,void 0),i}});return["keys","values","entries",Symbol.iterator].forEach(o=>{i[o]=createIterableMethod(o,e,t)}),i}function createInstrumentationGetter(e,t){const i=createInstrumentations(e,t);return(t,o,n)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get(hasOwn$1(i,o)&&o in t?i:t,o,n)}const mutableCollectionHandlers={get:createInstrumentationGetter(!1,!1)},shallowCollectionHandlers={get:createInstrumentationGetter(!1,!0)},readonlyCollectionHandlers={get:createInstrumentationGetter(!0,!1)},shallowReadonlyCollectionHandlers={get:createInstrumentationGetter(!0,!0)},reactiveMap=new WeakMap,shallowReactiveMap=new WeakMap,readonlyMap=new WeakMap,shallowReadonlyMap=new WeakMap;function targetTypeMap(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function getTargetType(e){return e.__v_skip||!Object.isExtensible(e)?0:targetTypeMap(toRawType(e))}function reactive$1(e){return isReadonly(e)?e:createReactiveObject(e,!1,mutableHandlers,mutableCollectionHandlers,reactiveMap)}function shallowReactive(e){return createReactiveObject(e,!1,shallowReactiveHandlers,shallowCollectionHandlers,shallowReactiveMap)}function readonly(e){return createReactiveObject(e,!0,readonlyHandlers,readonlyCollectionHandlers,readonlyMap)}function shallowReadonly(e){return createReactiveObject(e,!0,shallowReadonlyHandlers,shallowReadonlyCollectionHandlers,shallowReadonlyMap)}function createReactiveObject(e,t,i,o,n){if(!isObject$7(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const r=getTargetType(e);if(0===r)return e;const s=n.get(e);if(s)return s;const a=new Proxy(e,2===r?o:i);return n.set(e,a),a}function isReactive(e){return isReadonly(e)?isReactive(e.__v_raw):!(!e||!e.__v_isReactive)}function isReadonly(e){return!(!e||!e.__v_isReadonly)}function isShallow(e){return!(!e||!e.__v_isShallow)}function isProxy(e){return!!e&&!!e.__v_raw}function toRaw(e){const t=e&&e.__v_raw;return t?toRaw(t):e}function markRaw(e){return!hasOwn$1(e,"__v_skip")&&Object.isExtensible(e)&&def(e,"__v_skip",!0),e}const toReactive$1=e=>isObject$7(e)?reactive$1(e):e,toReadonly=e=>isObject$7(e)?readonly(e):e;function isRef(e){return!!e&&!0===e.__v_isRef}function ref$1(e){return createRef$1(e,!1)}function shallowRef(e){return createRef$1(e,!0)}function createRef$1(e,t){return isRef(e)?e:new RefImpl(e,t)}class RefImpl{constructor(e,t){this.dep=new Dep$1,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:toRaw(e),this._value=t?e:toReactive$1(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,i=this.__v_isShallow||isShallow(e)||isReadonly(e);e=i?e:toRaw(e),hasChanged(e,t)&&(this._rawValue=e,this._value=i?e:toReactive$1(e),this.dep.trigger())}}function triggerRef(e){e.dep&&e.dep.trigger()}function unref(e){return isRef(e)?e.value:e}const shallowUnwrapHandlers={get:(e,t,i)=>"__v_raw"===t?e:unref(Reflect.get(e,t,i)),set:(e,t,i,o)=>{const n=e[t];return isRef(n)&&!isRef(i)?(n.value=i,!0):Reflect.set(e,t,i,o)}};function proxyRefs(e){return isReactive(e)?e:new Proxy(e,shallowUnwrapHandlers)}class CustomRefImpl{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new Dep$1,{get:i,set:o}=e(t.track.bind(t),t.trigger.bind(t));this._get=i,this._set=o}get value(){return this._value=this._get()}set value(e){this._set(e)}}function customRef(e){return new CustomRefImpl(e)}function toRefs(e){const t=isArray$4(e)?new Array(e.length):{};for(const i in e)t[i]=propertyToRef(e,i);return t}class ObjectRefImpl{constructor(e,t,i){this._object=e,this._key=t,this._defaultValue=i,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return getDepFromReactive(toRaw(this._object),this._key)}}class GetterRefImpl{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function toRef(e,t,i){return isRef(e)?e:isFunction$6(e)?new GetterRefImpl(e):isObject$7(e)&&arguments.length>1?propertyToRef(e,t,i):ref$1(e)}function propertyToRef(e,t,i){const o=e[t];return isRef(o)?o:new ObjectRefImpl(e,t,i)}class ComputedRefImpl{constructor(e,t,i){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Dep$1(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=globalVersion-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=i}notify(){if(this.flags|=16,!(8&this.flags)&&activeSub!==this)return batch(this,!0),!0}get value(){const e=this.dep.track();return refreshComputed(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function computed$2(e,t,i=!1){let o,n;isFunction$6(e)?o=e:(o=e.get,n=e.set);return new ComputedRefImpl(o,n,i)}const INITIAL_WATCHER_VALUE={},cleanupMap=new WeakMap;let activeWatcher;function onWatcherCleanup(e,t=!1,i=activeWatcher){if(i){let t=cleanupMap.get(i);t||cleanupMap.set(i,t=[]),t.push(e)}}function watch$1(e,t,i=EMPTY_OBJ){const{immediate:o,deep:n,once:r,scheduler:s,augmentJob:a,call:l}=i,c=e=>n?e:isShallow(e)||!1===n||0===n?traverse(e,1):traverse(e);let d,u,h,p,g=!1,m=!1;if(isRef(e)?(u=()=>e.value,g=isShallow(e)):isReactive(e)?(u=()=>c(e),g=!0):isArray$4(e)?(m=!0,g=e.some(e=>isReactive(e)||isShallow(e)),u=()=>e.map(e=>isRef(e)?e.value:isReactive(e)?c(e):isFunction$6(e)?l?l(e,2):e():void 0)):u=isFunction$6(e)?t?l?()=>l(e,2):e:()=>{if(h){pauseTracking();try{h()}finally{resetTracking()}}const t=activeWatcher;activeWatcher=d;try{return l?l(e,3,[p]):e(p)}finally{activeWatcher=t}}:NOOP$1,t&&n){const e=u,t=!0===n?1/0:n;u=()=>traverse(e(),t)}const f=getCurrentScope(),v=()=>{d.stop(),f&&f.active&&remove(f.effects,d)};if(r&&t){const e=t;t=(...t)=>{e(...t),v()}}let b=m?new Array(e.length).fill(INITIAL_WATCHER_VALUE):INITIAL_WATCHER_VALUE;const _=e=>{if(1&d.flags&&(d.dirty||e))if(t){const e=d.run();if(n||g||(m?e.some((e,t)=>hasChanged(e,b[t])):hasChanged(e,b))){h&&h();const i=activeWatcher;activeWatcher=d;try{const i=[e,b===INITIAL_WATCHER_VALUE?void 0:m&&b[0]===INITIAL_WATCHER_VALUE?[]:b,p];b=e,l?l(t,3,i):t(...i)}finally{activeWatcher=i}}}else d.run()};return a&&a(_),d=new ReactiveEffect(u),d.scheduler=s?()=>s(_,!1):_,p=e=>onWatcherCleanup(e,!1,d),h=d.onStop=()=>{const e=cleanupMap.get(d);if(e){if(l)l(e,4);else for(const t of e)t();cleanupMap.delete(d)}},t?o?_(!0):b=d.run():s?s(_.bind(null,!0),!0):d.run(),v.pause=d.pause.bind(d),v.resume=d.resume.bind(d),v.stop=v,v}function traverse(e,t=1/0,i){if(t<=0||!isObject$7(e)||e.__v_skip)return e;if(((i=i||new Map).get(e)||0)>=t)return e;if(i.set(e,t),t--,isRef(e))traverse(e.value,t,i);else if(isArray$4(e))for(let o=0;o{traverse(e,t,i)});else if(isPlainObject$2(e)){for(const o in e)traverse(e[o],t,i);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&traverse(e[o],t,i)}return e} /** * @vue/runtime-core v3.5.21 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const stack=[];let isWarning=!1;function warn$1(e,...t){if(isWarning)return;isWarning=!0,pauseTracking();const i=stack.length?stack[stack.length-1].component:null,o=i&&i.appContext.config.warnHandler,n=getComponentTrace();if(o)callWithErrorHandling(o,i,11,[e+t.map(e=>{var t,i;return null!=(i=null==(t=e.toString)?void 0:t.call(e))?i:JSON.stringify(e)}).join(""),i&&i.proxy,n.map(({vnode:e})=>`at <${formatComponentName(i,e.type)}>`).join("\n"),n]);else{const i=[`[Vue warn]: ${e}`,...t];n.length&&i.push("\n",...formatTrace(n)),console.warn(...i)}resetTracking(),isWarning=!1}function getComponentTrace(){let e=stack[stack.length-1];if(!e)return[];const t=[];for(;e;){const i=t[0];i&&i.vnode===e?i.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function formatTrace(e){const t=[];return e.forEach((e,i)=>{t.push(...0===i?[]:["\n"],...formatTraceEntry(e))}),t}function formatTraceEntry({vnode:e,recurseCount:t}){const i=t>0?`... (${t} recursive calls)`:"",o=!!e.component&&null==e.component.parent,n=` at <${formatComponentName(e.component,e.type,o)}`,r=">"+i;return e.props?[n,...formatProps(e.props),r]:[n+r]}function formatProps(e){const t=[],i=Object.keys(e);return i.slice(0,3).forEach(i=>{t.push(...formatProp(i,e[i]))}),i.length>3&&t.push(" ..."),t}function formatProp(e,t,i){return isString$5(t)?(t=JSON.stringify(t),i?t:[`${e}=${t}`]):"number"==typeof t||"boolean"==typeof t||null==t?i?t:[`${e}=${t}`]:isRef(t)?(t=formatProp(e,toRaw(t.value),!0),i?t:[`${e}=Ref<`,t,">"]):isFunction$6(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=toRaw(t),i?t:[`${e}=`,t])}function callWithErrorHandling(e,t,i,o){try{return o?e(...o):e()}catch(n){handleError(n,t,i)}}function callWithAsyncErrorHandling(e,t,i,o){if(isFunction$6(e)){const n=callWithErrorHandling(e,t,i,o);return n&&isPromise$1(n)&&n.catch(e=>{handleError(e,t,i)}),n}if(isArray$4(e)){const n=[];for(let r=0;r>>1,n=queue[o],r=getId(n);r=getId(i)?queue.push(e):queue.splice(findInsertionIndex$1(t),0,e),e.flags|=1,queueFlush()}}function queueFlush(){currentFlushPromise||(currentFlushPromise=resolvedPromise.then(flushJobs))}function queuePostFlushCb(e){isArray$4(e)?pendingPostFlushCbs.push(...e):activePostFlushCbs&&-1===e.id?activePostFlushCbs.splice(postFlushIndex+1,0,e):1&e.flags||(pendingPostFlushCbs.push(e),e.flags|=1),queueFlush()}function flushPreFlushCbs(e,t,i=flushIndex+1){for(;igetId(e)-getId(t));if(pendingPostFlushCbs.length=0,activePostFlushCbs)return void activePostFlushCbs.push(...e);for(activePostFlushCbs=e,postFlushIndex=0;postFlushIndexnull==e.id?2&e.flags?-1:1/0:e.id;function flushJobs(e){try{for(flushIndex=0;flushIndex{o._d&&setBlockTracking(-1);const n=setCurrentRenderingInstance(t);let r;try{r=e(...i)}finally{setCurrentRenderingInstance(n),o._d&&setBlockTracking(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function withDirectives(e,t){if(null===currentRenderingInstance)return e;const i=getComponentPublicInstance(currentRenderingInstance),o=e.dirs||(e.dirs=[]);for(let n=0;ne.__isTeleport,isTeleportDisabled=e=>e&&(e.disabled||""===e.disabled),isTeleportDeferred=e=>e&&(e.defer||""===e.defer),isTargetSVG=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,isTargetMathML=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,resolveTarget=(e,t)=>{const i=e&&e.to;if(isString$5(i)){if(t){return t(i)}return null}return i},TeleportImpl={name:"Teleport",__isTeleport:!0,process(e,t,i,o,n,r,s,a,l,c){const{mc:d,pc:u,pbc:h,o:{insert:p,querySelector:g,createText:m,createComment:f}}=c,v=isTeleportDisabled(t.props);let{shapeFlag:b,children:_,dynamicChildren:y}=t;if(null==e){const e=t.el=m(""),c=t.anchor=m("");p(e,i,o),p(c,i,o);const u=(e,t)=>{16&b&&(n&&n.isCE&&(n.ce._teleportTarget=e),d(_,e,t,n,r,s,a,l))},h=()=>{const e=t.target=resolveTarget(t.props,g),i=prepareAnchor(e,t,m,p);e&&("svg"!==s&&isTargetSVG(e)?s="svg":"mathml"!==s&&isTargetMathML(e)&&(s="mathml"),v||(u(e,i),updateCssVars(t,!1)))};v&&(u(i,c),updateCssVars(t,!0)),isTeleportDeferred(t.props)?(t.el.__isMounted=!1,queuePostRenderEffect(()=>{h(),delete t.el.__isMounted},r)):h()}else{if(isTeleportDeferred(t.props)&&!1===e.el.__isMounted)return void queuePostRenderEffect(()=>{TeleportImpl.process(e,t,i,o,n,r,s,a,l,c)},r);t.el=e.el,t.targetStart=e.targetStart;const d=t.anchor=e.anchor,p=t.target=e.target,m=t.targetAnchor=e.targetAnchor,f=isTeleportDisabled(e.props),b=f?i:p,_=f?d:m;if("svg"===s||isTargetSVG(p)?s="svg":("mathml"===s||isTargetMathML(p))&&(s="mathml"),y?(h(e.dynamicChildren,y,b,n,r,s,a),traverseStaticChildren(e,t,!0)):l||u(e,t,b,_,n,r,s,a,!1),v)f?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):moveTeleport(t,i,d,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=resolveTarget(t.props,g);e&&moveTeleport(t,e,null,c,0)}else f&&moveTeleport(t,p,m,c,1);updateCssVars(t,v)}},remove(e,t,i,{um:o,o:{remove:n}},r){const{shapeFlag:s,children:a,anchor:l,targetStart:c,targetAnchor:d,target:u,props:h}=e;if(u&&(n(c),n(d)),r&&n(l),16&s){const e=r||!isTeleportDisabled(h);for(let n=0;n{e.isMounted=!0}),onBeforeUnmount(()=>{e.isUnmounting=!0}),e}const TransitionHookValidator=[Function,Array],BaseTransitionPropsValidators={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:TransitionHookValidator,onEnter:TransitionHookValidator,onAfterEnter:TransitionHookValidator,onEnterCancelled:TransitionHookValidator,onBeforeLeave:TransitionHookValidator,onLeave:TransitionHookValidator,onAfterLeave:TransitionHookValidator,onLeaveCancelled:TransitionHookValidator,onBeforeAppear:TransitionHookValidator,onAppear:TransitionHookValidator,onAfterAppear:TransitionHookValidator,onAppearCancelled:TransitionHookValidator},recursiveGetSubtree=e=>{const t=e.subTree;return t.component?recursiveGetSubtree(t.component):t},BaseTransitionImpl={name:"BaseTransition",props:BaseTransitionPropsValidators,setup(e,{slots:t}){const i=getCurrentInstance$1(),o=useTransitionState();return()=>{const n=t.default&&getTransitionRawChildren(t.default(),!0);if(!n||!n.length)return;const r=findNonCommentChild(n),s=toRaw(e),{mode:a}=s;if(o.isLeaving)return emptyPlaceholder(r);const l=getInnerChild$1(r);if(!l)return emptyPlaceholder(r);let c=resolveTransitionHooks(l,s,o,i,e=>c=e);l.type!==Comment&&setTransitionHooks(l,c);let d=i.subTree&&getInnerChild$1(i.subTree);if(d&&d.type!==Comment&&!isSameVNodeType(d,l)&&recursiveGetSubtree(i).type!==Comment){let e=resolveTransitionHooks(d,s,o,i);if(setTransitionHooks(d,e),"out-in"===a&&l.type!==Comment)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,8&i.job.flags||i.update(),delete e.afterLeave,d=void 0},emptyPlaceholder(r);"in-out"===a&&l.type!==Comment?e.delayLeave=(e,t,i)=>{getLeavingNodesForType(o,d)[String(d.key)]=d,e[leaveCbKey]=()=>{t(),e[leaveCbKey]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{i(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return r}}};function findNonCommentChild(e){let t=e[0];if(e.length>1)for(const i of e)if(i.type!==Comment){t=i;break}return t}const BaseTransition=BaseTransitionImpl;function getLeavingNodesForType(e,t){const{leavingVNodes:i}=e;let o=i.get(t.type);return o||(o=Object.create(null),i.set(t.type,o)),o}function resolveTransitionHooks(e,t,i,o,n){const{appear:r,mode:s,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:d,onEnterCancelled:u,onBeforeLeave:h,onLeave:p,onAfterLeave:g,onLeaveCancelled:m,onBeforeAppear:f,onAppear:v,onAfterAppear:b,onAppearCancelled:_}=t,y=String(e.key),C=getLeavingNodesForType(i,e),w=(e,t)=>{e&&callWithAsyncErrorHandling(e,o,9,t)},x=(e,t)=>{const i=t[1];w(e,t),isArray$4(e)?e.every(e=>e.length<=1)&&i():e.length<=1&&i()},S={mode:s,persisted:a,beforeEnter(t){let o=l;if(!i.isMounted){if(!r)return;o=f||l}t[leaveCbKey]&&t[leaveCbKey](!0);const n=C[y];n&&isSameVNodeType(e,n)&&n.el[leaveCbKey]&&n.el[leaveCbKey](),w(o,[t])},enter(e){let t=c,o=d,n=u;if(!i.isMounted){if(!r)return;t=v||c,o=b||d,n=_||u}let s=!1;const a=e[enterCbKey$1]=t=>{s||(s=!0,w(t?n:o,[e]),S.delayedLeave&&S.delayedLeave(),e[enterCbKey$1]=void 0)};t?x(t,[e,a]):a()},leave(t,o){const n=String(e.key);if(t[enterCbKey$1]&&t[enterCbKey$1](!0),i.isUnmounting)return o();w(h,[t]);let r=!1;const s=t[leaveCbKey]=i=>{r||(r=!0,o(),w(i?m:g,[t]),t[leaveCbKey]=void 0,C[n]===e&&delete C[n])};C[n]=e,p?x(p,[t,s]):s()},clone(e){const r=resolveTransitionHooks(e,t,i,o,n);return n&&n(r),r}};return S}function emptyPlaceholder(e){if(isKeepAlive(e))return(e=cloneVNode(e)).children=null,e}function getInnerChild$1(e){if(!isKeepAlive(e))return isTeleport(e.type)&&e.children?findNonCommentChild(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:i}=e;if(i){if(16&t)return i[0];if(32&t&&isFunction$6(i.default))return i.default()}}function setTransitionHooks(e,t){6&e.shapeFlag&&e.component?(e.transition=t,setTransitionHooks(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function getTransitionRawChildren(e,t=!1,i){let o=[],n=0;for(let r=0;r1)for(let r=0;rextend$1({name:e.name},t,{setup:e}))():e}function markAsyncBoundary(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function useTemplateRef(e){const t=getCurrentInstance$1(),i=shallowRef(null);if(t){const o=t.refs===EMPTY_OBJ?t.refs={}:t.refs;Object.defineProperty(o,e,{enumerable:!0,get:()=>i.value,set:e=>i.value=e})}return i}const pendingSetRefMap=new WeakMap;function setRef(e,t,i,o,n=!1){if(isArray$4(e))return void e.forEach((e,r)=>setRef(e,t&&(isArray$4(t)?t[r]:t),i,o,n));if(isAsyncWrapper(o)&&!n)return void(512&o.shapeFlag&&o.type.__asyncResolved&&o.component.subTree.component&&setRef(e,t,i,o.component.subTree));const r=4&o.shapeFlag?getComponentPublicInstance(o.component):o.el,s=n?null:r,{i:a,r:l}=e,c=t&&t.r,d=a.refs===EMPTY_OBJ?a.refs={}:a.refs,u=a.setupState,h=toRaw(u),p=u===EMPTY_OBJ?NO:e=>hasOwn$1(h,e);if(null!=c&&c!==l)if(invalidatePendingSetRef(t),isString$5(c))d[c]=null,p(c)&&(u[c]=null);else if(isRef(c)){c.value=null;const e=t;e.k&&(d[e.k]=null)}if(isFunction$6(l))callWithErrorHandling(l,a,12,[s,d]);else{const t=isString$5(l),o=isRef(l);if(t||o){const a=()=>{if(e.f){const i=t?p(l)?u[l]:d[l]:l.value;if(n)isArray$4(i)&&remove(i,r);else if(isArray$4(i))i.includes(r)||i.push(r);else if(t)d[l]=[r],p(l)&&(u[l]=d[l]);else{const t=[r];l.value=t,e.k&&(d[e.k]=t)}}else t?(d[l]=s,p(l)&&(u[l]=s)):o&&(l.value=s,e.k&&(d[e.k]=s))};if(s){const t=()=>{a(),pendingSetRefMap.delete(e)};t.id=-1,pendingSetRefMap.set(e,t),queuePostRenderEffect(t,i)}else invalidatePendingSetRef(e),a()}}}function invalidatePendingSetRef(e){const t=pendingSetRefMap.get(e);t&&(t.flags|=8,pendingSetRefMap.delete(e))}getGlobalThis().requestIdleCallback,getGlobalThis().cancelIdleCallback;const isAsyncWrapper=e=>!!e.type.__asyncLoader,isKeepAlive=e=>e.type.__isKeepAlive;function onActivated(e,t){registerKeepAliveHook(e,"a",t)}function onDeactivated(e,t){registerKeepAliveHook(e,"da",t)}function registerKeepAliveHook(e,t,i=currentInstance){const o=e.__wdc||(e.__wdc=()=>{let t=i;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(injectHook(t,o,i),i){let e=i.parent;for(;e&&e.parent;)isKeepAlive(e.parent.vnode)&&injectToKeepAliveRoot(o,t,i,e),e=e.parent}}function injectToKeepAliveRoot(e,t,i,o){const n=injectHook(t,e,o,!0);onUnmounted(()=>{remove(o[t],n)},i)}function injectHook(e,t,i=currentInstance,o=!1){if(i){const n=i[e]||(i[e]=[]),r=t.__weh||(t.__weh=(...o)=>{pauseTracking();const n=setCurrentInstance$1(i),r=callWithAsyncErrorHandling(t,i,e,o);return n(),resetTracking(),r});return o?n.unshift(r):n.push(r),r}}const createHook=e=>(t,i=currentInstance)=>{isInSSRComponentSetup&&"sp"!==e||injectHook(e,(...e)=>t(...e),i)},onBeforeMount=createHook("bm"),onMounted=createHook("m"),onBeforeUpdate=createHook("bu"),onUpdated=createHook("u"),onBeforeUnmount=createHook("bum"),onUnmounted=createHook("um"),onServerPrefetch=createHook("sp"),onRenderTriggered=createHook("rtg"),onRenderTracked=createHook("rtc");function onErrorCaptured(e,t=currentInstance){injectHook("ec",e,t)}const COMPONENTS="components",DIRECTIVES="directives";function resolveComponent(e,t){return resolveAsset(COMPONENTS,e,!0,t)||e}const NULL_DYNAMIC_COMPONENT=Symbol.for("v-ndc");function resolveDynamicComponent(e){return isString$5(e)?resolveAsset(COMPONENTS,e,!1)||e:e||NULL_DYNAMIC_COMPONENT}function resolveDirective(e){return resolveAsset(DIRECTIVES,e)}function resolveAsset(e,t,i=!0,o=!1){const n=currentRenderingInstance||currentInstance;if(n){const i=n.type;if(e===COMPONENTS){const e=getComponentName(i,!1);if(e&&(e===t||e===camelize$2(t)||e===capitalize$3(camelize$2(t))))return i}const r=resolve$1(n[e]||i[e],t)||resolve$1(n.appContext[e],t);return!r&&o?i:r}}function resolve$1(e,t){return e&&(e[t]||e[camelize$2(t)]||e[capitalize$3(camelize$2(t))])}function renderList(e,t,i,o){let n;const r=i,s=isArray$4(e);if(s||isString$5(e)){let i=!1,o=!1;s&&isReactive(e)&&(i=!isShallow(e),o=isReadonly(e),e=shallowReadArray(e)),n=new Array(e.length);for(let s=0,a=e.length;st(e,i,void 0,r));else{const i=Object.keys(e);n=new Array(i.length);for(let o=0,s=i.length;o{const t=o.fn(...e);return t&&(t.key=o.key),t}:o.fn)}return e}function renderSlot(e,t,i={},o,n){if(currentRenderingInstance.ce||currentRenderingInstance.parent&&isAsyncWrapper(currentRenderingInstance.parent)&¤tRenderingInstance.parent.ce)return"default"!==t&&(i.name=t),openBlock(),createBlock(Fragment,null,[createVNode("slot",i,o&&o())],64);let r=e[t];r&&r._c&&(r._d=!1),openBlock();const s=r&&ensureValidVNode(r(i)),a=i.key||s&&s.key,l=createBlock(Fragment,{key:(a&&!isSymbol$1(a)?a:`_${t}`)+(!s&&o?"_fb":"")},s||(o?o():[]),s&&1===e._?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),r&&r._c&&(r._d=!0),l}function ensureValidVNode(e){return e.some(e=>!isVNode(e)||e.type!==Comment&&!(e.type===Fragment&&!ensureValidVNode(e.children)))?e:null}function toHandlers(e,t){const i={};for(const o in e)i[toHandlerKey(o)]=e[o];return i}const getPublicInstance=e=>e?isStatefulComponent(e)?getComponentPublicInstance(e):getPublicInstance(e.parent):null,publicPropertiesMap=extend$1(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>getPublicInstance(e.parent),$root:e=>getPublicInstance(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>resolveMergedOptions(e),$forceUpdate:e=>e.f||(e.f=()=>{queueJob(e.update)}),$nextTick:e=>e.n||(e.n=nextTick.bind(e.proxy)),$watch:e=>instanceWatch.bind(e)}),hasSetupBinding=(e,t)=>e!==EMPTY_OBJ&&!e.__isScriptSetup&&hasOwn$1(e,t),PublicInstanceProxyHandlers={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:i,setupState:o,data:n,props:r,accessCache:s,type:a,appContext:l}=e;let c;if("$"!==t[0]){const a=s[t];if(void 0!==a)switch(a){case 1:return o[t];case 2:return n[t];case 4:return i[t];case 3:return r[t]}else{if(hasSetupBinding(o,t))return s[t]=1,o[t];if(n!==EMPTY_OBJ&&hasOwn$1(n,t))return s[t]=2,n[t];if((c=e.propsOptions[0])&&hasOwn$1(c,t))return s[t]=3,r[t];if(i!==EMPTY_OBJ&&hasOwn$1(i,t))return s[t]=4,i[t];shouldCacheAccess&&(s[t]=0)}}const d=publicPropertiesMap[t];let u,h;return d?("$attrs"===t&&track(e.attrs,"get",""),d(e)):(u=a.__cssModules)&&(u=u[t])?u:i!==EMPTY_OBJ&&hasOwn$1(i,t)?(s[t]=4,i[t]):(h=l.config.globalProperties,hasOwn$1(h,t)?h[t]:void 0)},set({_:e},t,i){const{data:o,setupState:n,ctx:r}=e;return hasSetupBinding(n,t)?(n[t]=i,!0):o!==EMPTY_OBJ&&hasOwn$1(o,t)?(o[t]=i,!0):!hasOwn$1(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(r[t]=i,!0))},has({_:{data:e,setupState:t,accessCache:i,ctx:o,appContext:n,propsOptions:r,type:s}},a){let l,c;return!!(i[a]||e!==EMPTY_OBJ&&"$"!==a[0]&&hasOwn$1(e,a)||hasSetupBinding(t,a)||(l=r[0])&&hasOwn$1(l,a)||hasOwn$1(o,a)||hasOwn$1(publicPropertiesMap,a)||hasOwn$1(n.config.globalProperties,a)||(c=s.__cssModules)&&c[a])},defineProperty(e,t,i){return null!=i.get?e._.accessCache[t]=0:hasOwn$1(i,"value")&&this.set(e,t,i.value,null),Reflect.defineProperty(e,t,i)}};function useSlots(){return getContext().slots}function useAttrs$1(){return getContext().attrs}function getContext(e){const t=getCurrentInstance$1();return t.setupContext||(t.setupContext=createSetupContext(t))}function normalizePropsOrEmits(e){return isArray$4(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function mergeDefaults(e,t){const i=normalizePropsOrEmits(e);for(const o in t){if(o.startsWith("__skip"))continue;let e=i[o];e?isArray$4(e)||isFunction$6(e)?e=i[o]={type:e,default:t[o]}:e.default=t[o]:null===e&&(e=i[o]={default:t[o]}),e&&t[`__skip_${o}`]&&(e.skipFactory=!0)}return i}function mergeModels(e,t){return e&&t?isArray$4(e)&&isArray$4(t)?e.concat(t):extend$1({},normalizePropsOrEmits(e),normalizePropsOrEmits(t)):e||t}let shouldCacheAccess=!0;function applyOptions(e){const t=resolveMergedOptions(e),i=e.proxy,o=e.ctx;shouldCacheAccess=!1,t.beforeCreate&&callHook$1(t.beforeCreate,e,"bc");const{data:n,computed:r,methods:s,watch:a,provide:l,inject:c,created:d,beforeMount:u,mounted:h,beforeUpdate:p,updated:g,activated:m,deactivated:f,beforeDestroy:v,beforeUnmount:b,destroyed:_,unmounted:y,render:C,renderTracked:w,renderTriggered:x,errorCaptured:S,serverPrefetch:k,expose:E,inheritAttrs:I,components:T,directives:D,filters:L}=t;if(c&&resolveInjections(c,o,null),s)for(const M in s){const e=s[M];isFunction$6(e)&&(o[M]=e.bind(i))}if(n){const t=n.call(i,i);isObject$7(t)&&(e.data=reactive$1(t))}if(shouldCacheAccess=!0,r)for(const M in r){const e=r[M],t=isFunction$6(e)?e.bind(i,i):isFunction$6(e.get)?e.get.bind(i,i):NOOP$1,n=!isFunction$6(e)&&isFunction$6(e.set)?e.set.bind(i):NOOP$1,s=computed$1({get:t,set:n});Object.defineProperty(o,M,{enumerable:!0,configurable:!0,get:()=>s.value,set:e=>s.value=e})}if(a)for(const M in a)createWatcher(a[M],o,i,M);if(l){const e=isFunction$6(l)?l.call(i):l;Reflect.ownKeys(e).forEach(t=>{provide(t,e[t])})}function N(e,t){isArray$4(t)?t.forEach(t=>e(t.bind(i))):t&&e(t.bind(i))}if(d&&callHook$1(d,e,"c"),N(onBeforeMount,u),N(onMounted,h),N(onBeforeUpdate,p),N(onUpdated,g),N(onActivated,m),N(onDeactivated,f),N(onErrorCaptured,S),N(onRenderTracked,w),N(onRenderTriggered,x),N(onBeforeUnmount,b),N(onUnmounted,y),N(onServerPrefetch,k),isArray$4(E))if(E.length){const t=e.exposed||(e.exposed={});E.forEach(e=>{Object.defineProperty(t,e,{get:()=>i[e],set:t=>i[e]=t,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===NOOP$1&&(e.render=C),null!=I&&(e.inheritAttrs=I),T&&(e.components=T),D&&(e.directives=D),k&&markAsyncBoundary(e)}function resolveInjections(e,t,i=NOOP$1){isArray$4(e)&&(e=normalizeInject(e));for(const o in e){const i=e[o];let n;n=isObject$7(i)?"default"in i?inject(i.from||o,i.default,!0):inject(i.from||o):inject(i),isRef(n)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>n.value,set:e=>n.value=e}):t[o]=n}}function callHook$1(e,t,i){callWithAsyncErrorHandling(isArray$4(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,i)}function createWatcher(e,t,i,o){let n=o.includes(".")?createPathGetter(i,o):()=>i[o];if(isString$5(e)){const i=t[e];isFunction$6(i)&&watch(n,i)}else if(isFunction$6(e))watch(n,e.bind(i));else if(isObject$7(e))if(isArray$4(e))e.forEach(e=>createWatcher(e,t,i,o));else{const o=isFunction$6(e.handler)?e.handler.bind(i):t[e.handler];isFunction$6(o)&&watch(n,o,e)}}function resolveMergedOptions(e){const t=e.type,{mixins:i,extends:o}=t,{mixins:n,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,a=r.get(t);let l;return a?l=a:n.length||i||o?(l={},n.length&&n.forEach(e=>mergeOptions$2(l,e,s,!0)),mergeOptions$2(l,t,s)):l=t,isObject$7(t)&&r.set(t,l),l}function mergeOptions$2(e,t,i,o=!1){const{mixins:n,extends:r}=t;r&&mergeOptions$2(e,r,i,!0),n&&n.forEach(t=>mergeOptions$2(e,t,i,!0));for(const s in t)if(o&&"expose"===s);else{const o=internalOptionMergeStrats[s]||i&&i[s];e[s]=o?o(e[s],t[s]):t[s]}return e}const internalOptionMergeStrats={data:mergeDataFn,props:mergeEmitsOrPropsOptions,emits:mergeEmitsOrPropsOptions,methods:mergeObjectOptions,computed:mergeObjectOptions,beforeCreate:mergeAsArray,created:mergeAsArray,beforeMount:mergeAsArray,mounted:mergeAsArray,beforeUpdate:mergeAsArray,updated:mergeAsArray,beforeDestroy:mergeAsArray,beforeUnmount:mergeAsArray,destroyed:mergeAsArray,unmounted:mergeAsArray,activated:mergeAsArray,deactivated:mergeAsArray,errorCaptured:mergeAsArray,serverPrefetch:mergeAsArray,components:mergeObjectOptions,directives:mergeObjectOptions,watch:mergeWatchOptions,provide:mergeDataFn,inject:mergeInject};function mergeDataFn(e,t){return t?e?function(){return extend$1(isFunction$6(e)?e.call(this,this):e,isFunction$6(t)?t.call(this,this):t)}:t:e}function mergeInject(e,t){return mergeObjectOptions(normalizeInject(e),normalizeInject(t))}function normalizeInject(e){if(isArray$4(e)){const t={};for(let i=0;i(n.has(e)||(e&&isFunction$6(e.install)?(n.add(e),e.install(a,...t)):isFunction$6(e)&&(n.add(e),e(a,...t))),a),mixin:e=>(o.mixins.includes(e)||o.mixins.push(e),a),component:(e,t)=>t?(o.components[e]=t,a):o.components[e],directive:(e,t)=>t?(o.directives[e]=t,a):o.directives[e],mount(n,r,l){if(!s){const r=a._ceVNode||createVNode(t,i);return r.appContext=o,!0===l?l="svg":!1===l&&(l=void 0),e(r,n,l),s=!0,a._container=n,n.__vue_app__=a,getComponentPublicInstance(r.component)}},onUnmount(e){r.push(e)},unmount(){s&&(callWithAsyncErrorHandling(r,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide:(e,t)=>(o.provides[e]=t,a),runWithContext(e){const t=currentApp;currentApp=a;try{return e()}finally{currentApp=t}}};return a}}let currentApp=null;function provide(e,t){if(currentInstance){let i=currentInstance.provides;const o=currentInstance.parent&¤tInstance.parent.provides;o===i&&(i=currentInstance.provides=Object.create(o)),i[e]=t}else;}function inject(e,t,i=!1){const o=getCurrentInstance$1();if(o||currentApp){let n=currentApp?currentApp._context.provides:o?null==o.parent||o.ce?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:void 0;if(n&&e in n)return n[e];if(arguments.length>1)return i&&isFunction$6(t)?t.call(o&&o.proxy):t}}const internalObjectProto={},createInternalObject=()=>Object.create(internalObjectProto),isInternalObject=e=>Object.getPrototypeOf(e)===internalObjectProto;function initProps(e,t,i,o=!1){const n={},r=createInternalObject();e.propsDefaults=Object.create(null),setFullProps(e,t,n,r);for(const s in e.propsOptions[0])s in n||(n[s]=void 0);i?e.props=o?n:shallowReactive(n):e.type.props?e.props=n:e.props=r,e.attrs=r}function updateProps(e,t,i,o){const{props:n,attrs:r,vnode:{patchFlag:s}}=e,a=toRaw(n),[l]=e.propsOptions;let c=!1;if(!(o||s>0)||16&s){let o;setFullProps(e,t,n,r)&&(c=!0);for(const r in a)t&&(hasOwn$1(t,r)||(o=hyphenate$1(r))!==r&&hasOwn$1(t,o))||(l?!i||void 0===i[r]&&void 0===i[o]||(n[r]=resolvePropValue(l,a,r,void 0,e,!0)):delete n[r]);if(r!==a)for(const e in r)t&&hasOwn$1(t,e)||(delete r[e],c=!0)}else if(8&s){const i=e.vnode.dynamicProps;for(let o=0;o{l=!0;const[i,o]=normalizePropsOptions(e,t,!0);extend$1(s,i),o&&a.push(...o)};!i&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}if(!r&&!l)return isObject$7(e)&&o.set(e,EMPTY_ARR),EMPTY_ARR;if(isArray$4(r))for(let d=0;d"_"===e||"_ctx"===e||"$stable"===e,normalizeSlotValue=e=>isArray$4(e)?e.map(normalizeVNode):[normalizeVNode(e)],normalizeSlot$1=(e,t,i)=>{if(t._n)return t;const o=withCtx((...e)=>normalizeSlotValue(t(...e)),i);return o._c=!1,o},normalizeObjectSlots=(e,t,i)=>{const o=e._ctx;for(const n in e){if(isInternalKey(n))continue;const i=e[n];if(isFunction$6(i))t[n]=normalizeSlot$1(n,i,o);else if(null!=i){const e=normalizeSlotValue(i);t[n]=()=>e}}},normalizeVNodeSlots=(e,t)=>{const i=normalizeSlotValue(t);e.slots.default=()=>i},assignSlots=(e,t,i)=>{for(const o in t)!i&&isInternalKey(o)||(e[o]=t[o])},initSlots=(e,t,i)=>{const o=e.slots=createInternalObject();if(32&e.vnode.shapeFlag){const e=t._;e?(assignSlots(o,t,i),i&&def(o,"_",e,!0)):normalizeObjectSlots(t,o)}else t&&normalizeVNodeSlots(e,t)},updateSlots=(e,t,i)=>{const{vnode:o,slots:n}=e;let r=!0,s=EMPTY_OBJ;if(32&o.shapeFlag){const e=t._;e?i&&1===e?r=!1:assignSlots(n,t,i):(r=!t.$stable,normalizeObjectSlots(t,n)),s=t}else t&&(normalizeVNodeSlots(e,t),s={default:1});if(r)for(const a in n)isInternalKey(a)||null!=s[a]||delete n[a]},queuePostRenderEffect=queueEffectWithSuspense;function createRenderer$1(e){return baseCreateRenderer(e)}function baseCreateRenderer(e,t){getGlobalThis().__VUE__=!0;const{insert:i,remove:o,patchProp:n,createElement:r,createText:s,createComment:a,setText:l,setElementText:c,parentNode:d,nextSibling:u,setScopeId:h=NOOP$1,insertStaticContent:p}=e,g=(e,t,i,o=null,n=null,r=null,s=void 0,a=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!isSameVNodeType(e,t)&&(o=z(e),A(e,n,r,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:d,shapeFlag:u}=t;switch(c){case Text$2:m(e,t,i,o);break;case Comment:f(e,t,i,o);break;case Static:null==e&&v(t,i,o,s);break;case Fragment:k(e,t,i,o,n,r,s,a,l);break;default:1&u?b(e,t,i,o,n,r,s,a,l):6&u?E(e,t,i,o,n,r,s,a,l):(64&u||128&u)&&c.process(e,t,i,o,n,r,s,a,l,W)}null!=d&&n?setRef(d,e&&e.ref,r,t||e,!t):null==d&&e&&null!=e.ref&&setRef(e.ref,null,r,e,!0)},m=(e,t,o,n)=>{if(null==e)i(t.el=s(t.children),o,n);else{const i=t.el=e.el;t.children!==e.children&&l(i,t.children)}},f=(e,t,o,n)=>{null==e?i(t.el=a(t.children||""),o,n):t.el=e.el},v=(e,t,i,o)=>{[e.el,e.anchor]=p(e.children,t,i,o,e.el,e.anchor)},b=(e,t,i,o,n,r,s,a,l)=>{"svg"===t.type?s="svg":"math"===t.type&&(s="mathml"),null==e?_(t,i,o,n,r,s,a,l):w(e,t,n,r,s,a,l)},_=(e,t,o,s,a,l,d,u)=>{let h,p;const{props:g,shapeFlag:m,transition:f,dirs:v}=e;if(h=e.el=r(e.type,l,g&&g.is,g),8&m?c(h,e.children):16&m&&C(e.children,h,null,s,a,resolveChildrenNamespace(e,l),d,u),v&&invokeDirectiveHook(e,null,s,"created"),y(h,e,e.scopeId,d,s),g){for(const e in g)"value"===e||isReservedProp(e)||n(h,e,null,g[e],l,s);"value"in g&&n(h,"value",null,g.value,l),(p=g.onVnodeBeforeMount)&&invokeVNodeHook(p,s,e)}v&&invokeDirectiveHook(e,null,s,"beforeMount");const b=needTransition(a,f);b&&f.beforeEnter(h),i(h,t,o),((p=g&&g.onVnodeMounted)||b||v)&&queuePostRenderEffect(()=>{p&&invokeVNodeHook(p,s,e),b&&f.enter(h),v&&invokeDirectiveHook(e,null,s,"mounted")},a)},y=(e,t,i,o,n)=>{if(i&&h(e,i),o)for(let r=0;r{for(let c=l;c{const l=t.el=e.el;let{patchFlag:d,dynamicChildren:u,dirs:h}=t;d|=16&e.patchFlag;const p=e.props||EMPTY_OBJ,g=t.props||EMPTY_OBJ;let m;if(i&&toggleRecurse(i,!1),(m=g.onVnodeBeforeUpdate)&&invokeVNodeHook(m,i,t,e),h&&invokeDirectiveHook(t,e,i,"beforeUpdate"),i&&toggleRecurse(i,!0),(p.innerHTML&&null==g.innerHTML||p.textContent&&null==g.textContent)&&c(l,""),u?x(e.dynamicChildren,u,l,i,o,resolveChildrenNamespace(t,r),s):a||N(e,t,l,null,i,o,resolveChildrenNamespace(t,r),s,!1),d>0){if(16&d)S(l,p,g,i,r);else if(2&d&&p.class!==g.class&&n(l,"class",null,g.class,r),4&d&&n(l,"style",p.style,g.style,r),8&d){const e=t.dynamicProps;for(let t=0;t{m&&invokeVNodeHook(m,i,t,e),h&&invokeDirectiveHook(t,e,i,"updated")},o)},x=(e,t,i,o,n,r,s)=>{for(let a=0;a{if(t!==i){if(t!==EMPTY_OBJ)for(const s in t)isReservedProp(s)||s in i||n(e,s,t[s],null,r,o);for(const s in i){if(isReservedProp(s))continue;const a=i[s],l=t[s];a!==l&&"value"!==s&&n(e,s,l,a,r,o)}"value"in i&&n(e,"value",t.value,i.value,r)}},k=(e,t,o,n,r,a,l,c,d)=>{const u=t.el=e?e.el:s(""),h=t.anchor=e?e.anchor:s("");let{patchFlag:p,dynamicChildren:g,slotScopeIds:m}=t;m&&(c=c?c.concat(m):m),null==e?(i(u,o,n),i(h,o,n),C(t.children||[],o,h,r,a,l,c,d)):p>0&&64&p&&g&&e.dynamicChildren?(x(e.dynamicChildren,g,o,r,a,l,c),(null!=t.key||r&&t===r.subTree)&&traverseStaticChildren(e,t,!0)):N(e,t,o,h,r,a,l,c,d)},E=(e,t,i,o,n,r,s,a,l)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?n.ctx.activate(t,i,o,s,l):I(t,i,o,n,r,s,l):T(e,t,l)},I=(e,t,i,o,n,r,s)=>{const a=e.component=createComponentInstance(e,o,n);if(isKeepAlive(e)&&(a.ctx.renderer=W),setupComponent(a,!1,s),a.asyncDep){if(n&&n.registerDep(a,D,s),!e.el){const o=a.subTree=createVNode(Comment);f(null,o,t,i),e.placeholder=o.el}}else D(a,e,t,i,n,r,s)},T=(e,t,i)=>{const o=t.component=e.component;if(shouldUpdateComponent(e,t,i)){if(o.asyncDep&&!o.asyncResolved)return void L(o,t,i);o.next=t,o.update()}else t.el=e.el,o.vnode=t},D=(e,t,i,o,n,r,s)=>{const a=()=>{if(e.isMounted){let{next:t,bu:i,u:o,parent:l,vnode:c}=e;{const i=locateNonHydratedAsyncRoot(e);if(i)return t&&(t.el=c.el,L(e,t,s)),void i.asyncDep.then(()=>{e.isUnmounted||a()})}let u,h=t;toggleRecurse(e,!1),t?(t.el=c.el,L(e,t,s)):t=c,i&&invokeArrayFns(i),(u=t.props&&t.props.onVnodeBeforeUpdate)&&invokeVNodeHook(u,l,t,c),toggleRecurse(e,!0);const p=renderComponentRoot(e),m=e.subTree;e.subTree=p,g(m,p,d(m.el),z(m),e,n,r),t.el=p.el,null===h&&updateHOCHostEl(e,p.el),o&&queuePostRenderEffect(o,n),(u=t.props&&t.props.onVnodeUpdated)&&queuePostRenderEffect(()=>invokeVNodeHook(u,l,t,c),n)}else{let s;const{el:a,props:l}=t,{bm:c,m:d,parent:u,root:h,type:p}=e,m=isAsyncWrapper(t);toggleRecurse(e,!1),c&&invokeArrayFns(c),!m&&(s=l&&l.onVnodeBeforeMount)&&invokeVNodeHook(s,u,t),toggleRecurse(e,!0);{h.ce&&!1!==h.ce._def.shadowRoot&&h.ce._injectChildStyle(p);const s=e.subTree=renderComponentRoot(e);g(null,s,i,o,e,n,r),t.el=s.el}if(d&&queuePostRenderEffect(d,n),!m&&(s=l&&l.onVnodeMounted)){const e=t;queuePostRenderEffect(()=>invokeVNodeHook(s,u,e),n)}(256&t.shapeFlag||u&&isAsyncWrapper(u.vnode)&&256&u.vnode.shapeFlag)&&e.a&&queuePostRenderEffect(e.a,n),e.isMounted=!0,t=i=o=null}};e.scope.on();const l=e.effect=new ReactiveEffect(a);e.scope.off();const c=e.update=l.run.bind(l),u=e.job=l.runIfDirty.bind(l);u.i=e,u.id=e.uid,l.scheduler=()=>queueJob(u),toggleRecurse(e,!0),c()},L=(e,t,i)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,updateProps(e,t.props,o,i),updateSlots(e,t.children,i),pauseTracking(),flushPreFlushCbs(e),resetTracking()},N=(e,t,i,o,n,r,s,a,l=!1)=>{const d=e&&e.children,u=e?e.shapeFlag:0,h=t.children,{patchFlag:p,shapeFlag:g}=t;if(p>0){if(128&p)return void $(d,h,i,o,n,r,s,a,l);if(256&p)return void M(d,h,i,o,n,r,s,a,l)}8&g?(16&u&&F(d,n,r),h!==d&&c(i,h)):16&u?16&g?$(d,h,i,o,n,r,s,a,l):F(d,n,r,!0):(8&u&&c(i,""),16&g&&C(h,i,o,n,r,s,a,l))},M=(e,t,i,o,n,r,s,a,l)=>{t=t||EMPTY_ARR;const c=(e=e||EMPTY_ARR).length,d=t.length,u=Math.min(c,d);let h;for(h=0;hd?F(e,n,r,!0,!1,u):C(t,i,o,n,r,s,a,l,u)},$=(e,t,i,o,n,r,s,a,l)=>{let c=0;const d=t.length;let u=e.length-1,h=d-1;for(;c<=u&&c<=h;){const o=e[c],d=t[c]=l?cloneIfMounted(t[c]):normalizeVNode(t[c]);if(!isSameVNodeType(o,d))break;g(o,d,i,null,n,r,s,a,l),c++}for(;c<=u&&c<=h;){const o=e[u],c=t[h]=l?cloneIfMounted(t[h]):normalizeVNode(t[h]);if(!isSameVNodeType(o,c))break;g(o,c,i,null,n,r,s,a,l),u--,h--}if(c>u){if(c<=h){const e=h+1,u=eh)for(;c<=u;)A(e[c],n,r,!0),c++;else{const p=c,m=c,f=new Map;for(c=m;c<=h;c++){const e=t[c]=l?cloneIfMounted(t[c]):normalizeVNode(t[c]);null!=e.key&&f.set(e.key,c)}let v,b=0;const _=h-m+1;let y=!1,C=0;const w=new Array(_);for(c=0;c<_;c++)w[c]=0;for(c=p;c<=u;c++){const o=e[c];if(b>=_){A(o,n,r,!0);continue}let d;if(null!=o.key)d=f.get(o.key);else for(v=m;v<=h;v++)if(0===w[v-m]&&isSameVNodeType(o,t[v])){d=v;break}void 0===d?A(o,n,r,!0):(w[d-m]=c+1,d>=C?C=d:y=!0,g(o,t[d],i,null,n,r,s,a,l),b++)}const x=y?getSequence(w):EMPTY_ARR;for(v=x.length-1,c=_-1;c>=0;c--){const e=m+c,u=t[e],h=t[e+1],p=e+1{const{el:a,type:l,transition:c,children:d,shapeFlag:h}=e;if(6&h)return void R(e.component.subTree,t,n,r);if(128&h)return void e.suspense.move(t,n,r);if(64&h)return void l.move(e,t,n,W);if(l===Fragment){i(a,t,n);for(let e=0;e{let r;for(;e&&e!==t;)r=u(e),i(e,o,n),e=r;i(t,o,n)})(e,t,n);if(2!==r&&1&h&&c)if(0===r)c.beforeEnter(a),i(a,t,n),queuePostRenderEffect(()=>c.enter(a),s);else{const{leave:r,delayLeave:s,afterLeave:l}=c,d=()=>{e.ctx.isUnmounted?o(a):i(a,t,n)},u=()=>{a._isLeaving&&a[leaveCbKey](!0),r(a,()=>{d(),l&&l()})};s?s(a,d,u):u()}else i(a,t,n)},A=(e,t,i,o=!1,n=!1)=>{const{type:r,props:s,ref:a,children:l,dynamicChildren:c,shapeFlag:d,patchFlag:u,dirs:h,cacheIndex:p}=e;if(-2===u&&(n=!1),null!=a&&(pauseTracking(),setRef(a,null,i,e,!0),resetTracking()),null!=p&&(t.renderCache[p]=void 0),256&d)return void t.ctx.deactivate(e);const g=1&d&&h,m=!isAsyncWrapper(e);let f;if(m&&(f=s&&s.onVnodeBeforeUnmount)&&invokeVNodeHook(f,t,e),6&d)B(e.component,i,o);else{if(128&d)return void e.suspense.unmount(i,o);g&&invokeDirectiveHook(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,i,W,o):c&&!c.hasOnce&&(r!==Fragment||u>0&&64&u)?F(c,t,i,!1,!0):(r===Fragment&&384&u||!n&&16&d)&&F(l,t,i),o&&O(e)}(m&&(f=s&&s.onVnodeUnmounted)||g)&&queuePostRenderEffect(()=>{f&&invokeVNodeHook(f,t,e),g&&invokeDirectiveHook(e,null,t,"unmounted")},i)},O=e=>{const{type:t,el:i,anchor:n,transition:r}=e;if(t===Fragment)return void P(i,n);if(t===Static)return void(({el:e,anchor:t})=>{let i;for(;e&&e!==t;)i=u(e),o(e),e=i;o(t)})(e);const s=()=>{o(i),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&e.shapeFlag&&r&&!r.persisted){const{leave:t,delayLeave:o}=r,n=()=>t(i,s);o?o(e.el,s,n):n()}else s()},P=(e,t)=>{let i;for(;e!==t;)i=u(e),o(e),e=i;o(t)},B=(e,t,i)=>{const{bum:o,scope:n,job:r,subTree:s,um:a,m:l,a:c}=e;invalidateMount(l),invalidateMount(c),o&&invokeArrayFns(o),n.stop(),r&&(r.flags|=8,A(s,e,t,i)),a&&queuePostRenderEffect(a,t),queuePostRenderEffect(()=>{e.isUnmounted=!0},t)},F=(e,t,i,o=!1,n=!1,r=0)=>{for(let s=r;s{if(6&e.shapeFlag)return z(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=u(e.anchor||e.el),i=t&&t[TeleportEndKey];return i?u(i):t};let V=!1;const H=(e,t,i)=>{null==e?t._vnode&&A(t._vnode,null,null,!0):g(t._vnode||null,e,t,null,null,null,i),t._vnode=e,V||(V=!0,flushPreFlushCbs(),flushPostFlushCbs(),V=!1)},W={p:g,um:A,m:R,r:O,mt:I,mc:C,pc:N,pbc:x,n:z,o:e};return{render:H,hydrate:undefined,createApp:createAppAPI(H)}}function resolveChildrenNamespace({type:e,props:t},i){return"svg"===i&&"foreignObject"===e||"mathml"===i&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:i}function toggleRecurse({effect:e,job:t},i){i?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function needTransition(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function traverseStaticChildren(e,t,i=!1){const o=e.children,n=t.children;if(isArray$4(o)&&isArray$4(n))for(let r=0;r>1,e[i[a]]0&&(t[o]=i[r-1]),i[r]=o)}}for(r=i.length,s=i[r-1];r-- >0;)i[r]=s,s=t[s];return i}function locateNonHydratedAsyncRoot(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:locateNonHydratedAsyncRoot(t)}function invalidateMount(e){if(e)for(let t=0;tinject(ssrContextKey);function watchEffect(e,t){return doWatch(e,null,t)}function watchSyncEffect(e,t){return doWatch(e,null,{flush:"sync"})}function watch(e,t,i){return doWatch(e,t,i)}function doWatch(e,t,i=EMPTY_OBJ){const{immediate:o,deep:n,flush:r,once:s}=i,a=extend$1({},i),l=t&&o||!t&&"post"!==r;let c;if(isInSSRComponentSetup)if("sync"===r){const e=useSSRContext();c=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=NOOP$1,e.resume=NOOP$1,e.pause=NOOP$1,e}const d=currentInstance;a.call=(e,t,i)=>callWithAsyncErrorHandling(e,d,t,i);let u=!1;"post"===r?a.scheduler=e=>{queuePostRenderEffect(e,d&&d.suspense)}:"sync"!==r&&(u=!0,a.scheduler=(e,t)=>{t?e():queueJob(e)}),a.augmentJob=e=>{t&&(e.flags|=4),u&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};const h=watch$1(e,t,a);return isInSSRComponentSetup&&(c?c.push(h):l&&h()),h}function instanceWatch(e,t,i){const o=this.proxy,n=isString$5(e)?e.includes(".")?createPathGetter(o,e):()=>o[e]:e.bind(o,o);let r;isFunction$6(t)?r=t:(r=t.handler,i=t);const s=setCurrentInstance$1(this),a=doWatch(n,r.bind(o),i);return s(),a}function createPathGetter(e,t){const i=t.split(".");return()=>{let t=e;for(let e=0;e{let l,c,d=EMPTY_OBJ;return watchSyncEffect(()=>{const t=e[n];hasChanged(l,t)&&(l=t,a())}),{get:()=>(s(),i.get?i.get(l):l),set(e){const s=i.set?i.set(e):e;if(!(hasChanged(s,l)||d!==EMPTY_OBJ&&hasChanged(e,d)))return;const u=o.vnode.props;u&&(t in u||n in u||r in u)&&(`onUpdate:${t}`in u||`onUpdate:${n}`in u||`onUpdate:${r}`in u)||(l=e,a()),o.emit(`update:${t}`,s),hasChanged(e,s)&&hasChanged(e,d)&&!hasChanged(s,c)&&a(),d=e,c=s}}});return a[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?s||EMPTY_OBJ:a,done:!1}:{done:!0}}},a}const getModelModifiers=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${camelize$2(t)}Modifiers`]||e[`${hyphenate$1(t)}Modifiers`];function emit(e,t,...i){if(e.isUnmounted)return;const o=e.vnode.props||EMPTY_OBJ;let n=i;const r=t.startsWith("update:"),s=r&&getModelModifiers(o,t.slice(7));let a;s&&(s.trim&&(n=i.map(e=>isString$5(e)?e.trim():e)),s.number&&(n=i.map(looseToNumber)));let l=o[a=toHandlerKey(t)]||o[a=toHandlerKey(camelize$2(t))];!l&&r&&(l=o[a=toHandlerKey(hyphenate$1(t))]),l&&callWithAsyncErrorHandling(l,e,6,n);const c=o[a+"Once"];if(c){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,callWithAsyncErrorHandling(c,e,6,n)}}const mixinEmitsCache=new WeakMap;function normalizeEmitsOptions(e,t,i=!1){const o=i?mixinEmitsCache:t.emitsCache,n=o.get(e);if(void 0!==n)return n;const r=e.emits;let s={},a=!1;if(!isFunction$6(e)){const o=e=>{const i=normalizeEmitsOptions(e,t,!0);i&&(a=!0,extend$1(s,i))};!i&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return r||a?(isArray$4(r)?r.forEach(e=>s[e]=null):extend$1(s,r),isObject$7(e)&&o.set(e,s),s):(isObject$7(e)&&o.set(e,null),null)}function isEmitListener(e,t){return!(!e||!isOn(t))&&(t=t.slice(2).replace(/Once$/,""),hasOwn$1(e,t[0].toLowerCase()+t.slice(1))||hasOwn$1(e,hyphenate$1(t))||hasOwn$1(e,t))}function markAttrsAccessed(){}function renderComponentRoot(e){const{type:t,vnode:i,proxy:o,withProxy:n,propsOptions:[r],slots:s,attrs:a,emit:l,render:c,renderCache:d,props:u,data:h,setupState:p,ctx:g,inheritAttrs:m}=e,f=setCurrentRenderingInstance(e);let v,b;try{if(4&i.shapeFlag){const e=n||o,t=e;v=normalizeVNode(c.call(t,e,d,u,p,h,g)),b=a}else{const e=t;0,v=normalizeVNode(e.length>1?e(u,{attrs:a,slots:s,emit:l}):e(u,null)),b=t.props?a:getFunctionalFallthrough(a)}}catch(y){blockStack.length=0,handleError(y,e,1),v=createVNode(Comment)}let _=v;if(b&&!1!==m){const e=Object.keys(b),{shapeFlag:t}=_;e.length&&7&t&&(r&&e.some(isModelListener)&&(b=filterModelListeners(b,r)),_=cloneVNode(_,b,!1,!0))}return i.dirs&&(_=cloneVNode(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(i.dirs):i.dirs),i.transition&&setTransitionHooks(_,i.transition),v=_,setCurrentRenderingInstance(f),v}const getFunctionalFallthrough=e=>{let t;for(const i in e)("class"===i||"style"===i||isOn(i))&&((t||(t={}))[i]=e[i]);return t},filterModelListeners=(e,t)=>{const i={};for(const o in e)isModelListener(o)&&o.slice(9)in t||(i[o]=e[o]);return i};function shouldUpdateComponent(e,t,i){const{props:o,children:n,component:r}=e,{props:s,children:a,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(!(i&&l>=0))return!(!n&&!a||a&&a.$stable)||o!==s&&(o?!s||hasPropsChanged(o,s,c):!!s);if(1024&l)return!0;if(16&l)return o?hasPropsChanged(o,s,c):!!s;if(8&l){const e=t.dynamicProps;for(let t=0;te.__isSuspense;function queueEffectWithSuspense(e,t){t&&t.pendingBranch?isArray$4(e)?t.effects.push(...e):t.effects.push(e):queuePostFlushCb(e)}const Fragment=Symbol.for("v-fgt"),Text$2=Symbol.for("v-txt"),Comment=Symbol.for("v-cmt"),Static=Symbol.for("v-stc"),blockStack=[];let currentBlock=null;function openBlock(e=!1){blockStack.push(currentBlock=e?null:[])}function closeBlock(){blockStack.pop(),currentBlock=blockStack[blockStack.length-1]||null}let isBlockTreeEnabled=1;function setBlockTracking(e,t=!1){isBlockTreeEnabled+=e,e<0&¤tBlock&&t&&(currentBlock.hasOnce=!0)}function setupBlock(e){return e.dynamicChildren=isBlockTreeEnabled>0?currentBlock||EMPTY_ARR:null,closeBlock(),isBlockTreeEnabled>0&¤tBlock&¤tBlock.push(e),e}function createElementBlock(e,t,i,o,n,r){return setupBlock(createBaseVNode(e,t,i,o,n,r,!0))}function createBlock(e,t,i,o,n){return setupBlock(createVNode(e,t,i,o,n,!0))}function isVNode(e){return!!e&&!0===e.__v_isVNode}function isSameVNodeType(e,t){return e.type===t.type&&e.key===t.key}const normalizeKey=({key:e})=>null!=e?e:null,normalizeRef=({ref:e,ref_key:t,ref_for:i})=>("number"==typeof e&&(e=""+e),null!=e?isString$5(e)||isRef(e)||isFunction$6(e)?{i:currentRenderingInstance,r:e,k:t,f:!!i}:e:null);function createBaseVNode(e,t=null,i=null,o=0,n=null,r=(e===Fragment?0:1),s=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&normalizeKey(t),ref:t&&normalizeRef(t),scopeId:currentScopeId,slotScopeIds:null,children:i,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:o,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:currentRenderingInstance};return a?(normalizeChildren(l,i),128&r&&e.normalize(l)):i&&(l.shapeFlag|=isString$5(i)?8:16),isBlockTreeEnabled>0&&!s&¤tBlock&&(l.patchFlag>0||6&r)&&32!==l.patchFlag&¤tBlock.push(l),l}const createVNode=_createVNode;function _createVNode(e,t=null,i=null,o=0,n=null,r=!1){if(e&&e!==NULL_DYNAMIC_COMPONENT||(e=Comment),isVNode(e)){const o=cloneVNode(e,t,!0);return i&&normalizeChildren(o,i),isBlockTreeEnabled>0&&!r&¤tBlock&&(6&o.shapeFlag?currentBlock[currentBlock.indexOf(e)]=o:currentBlock.push(o)),o.patchFlag=-2,o}if(isClassComponent(e)&&(e=e.__vccOpts),t){t=guardReactiveProps(t);let{class:e,style:i}=t;e&&!isString$5(e)&&(t.class=normalizeClass(e)),isObject$7(i)&&(isProxy(i)&&!isArray$4(i)&&(i=extend$1({},i)),t.style=normalizeStyle(i))}return createBaseVNode(e,t,i,o,n,isString$5(e)?1:isSuspense(e)?128:isTeleport(e)?64:isObject$7(e)?4:isFunction$6(e)?2:0,r,!0)}function guardReactiveProps(e){return e?isProxy(e)||isInternalObject(e)?extend$1({},e):e:null}function cloneVNode(e,t,i=!1,o=!1){const{props:n,ref:r,patchFlag:s,children:a,transition:l}=e,c=t?mergeProps(n||{},t):n,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&normalizeKey(c),ref:t&&t.ref?i&&r?isArray$4(r)?r.concat(normalizeRef(t)):[r,normalizeRef(t)]:normalizeRef(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Fragment?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&cloneVNode(e.ssContent),ssFallback:e.ssFallback&&cloneVNode(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&setTransitionHooks(d,l.clone(d)),d}function createTextVNode(e=" ",t=0){return createVNode(Text$2,null,e,t)}function createStaticVNode(e,t){const i=createVNode(Static,null,e);return i.staticCount=t,i}function createCommentVNode(e="",t=!1){return t?(openBlock(),createBlock(Comment,null,e)):createVNode(Comment,null,e)}function normalizeVNode(e){return null==e||"boolean"==typeof e?createVNode(Comment):isArray$4(e)?createVNode(Fragment,null,e.slice()):isVNode(e)?cloneIfMounted(e):createVNode(Text$2,null,String(e))}function cloneIfMounted(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:cloneVNode(e)}function normalizeChildren(e,t){let i=0;const{shapeFlag:o}=e;if(null==t)t=null;else if(isArray$4(t))i=16;else if("object"==typeof t){if(65&o){const i=t.default;return void(i&&(i._c&&(i._d=!1),normalizeChildren(e,i()),i._c&&(i._d=!0)))}{i=32;const o=t._;o||isInternalObject(t)?3===o&¤tRenderingInstance&&(1===currentRenderingInstance.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=currentRenderingInstance}}else isFunction$6(t)?(t={default:t,_ctx:currentRenderingInstance},i=32):(t=String(t),64&o?(i=16,t=[createTextVNode(t)]):i=8);e.children=t,e.shapeFlag|=i}function mergeProps(...e){const t={};for(let i=0;icurrentInstance||currentRenderingInstance;let internalSetCurrentInstance,setInSSRSetupState;{const e=getGlobalThis(),t=(t,i)=>{let o;return(o=e[t])||(o=e[t]=[]),o.push(i),e=>{o.length>1?o.forEach(t=>t(e)):o[0](e)}};internalSetCurrentInstance=t("__VUE_INSTANCE_SETTERS__",e=>currentInstance=e),setInSSRSetupState=t("__VUE_SSR_SETTERS__",e=>isInSSRComponentSetup=e)}const setCurrentInstance$1=e=>{const t=currentInstance;return internalSetCurrentInstance(e),e.scope.on(),()=>{e.scope.off(),internalSetCurrentInstance(t)}},unsetCurrentInstance=()=>{currentInstance&¤tInstance.scope.off(),internalSetCurrentInstance(null)};function isStatefulComponent(e){return 4&e.vnode.shapeFlag}let isInSSRComponentSetup=!1;function setupComponent(e,t=!1,i=!1){t&&setInSSRSetupState(t);const{props:o,children:n}=e.vnode,r=isStatefulComponent(e);initProps(e,o,r,t),initSlots(e,n,i||t);const s=r?setupStatefulComponent(e,t):void 0;return t&&setInSSRSetupState(!1),s}function setupStatefulComponent(e,t){const i=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,PublicInstanceProxyHandlers);const{setup:o}=i;if(o){pauseTracking();const i=e.setupContext=o.length>1?createSetupContext(e):null,n=setCurrentInstance$1(e),r=callWithErrorHandling(o,e,0,[e.props,i]),s=isPromise$1(r);if(resetTracking(),n(),!s&&!e.sp||isAsyncWrapper(e)||markAsyncBoundary(e),s){if(r.then(unsetCurrentInstance,unsetCurrentInstance),t)return r.then(t=>{handleSetupResult(e,t)}).catch(t=>{handleError(t,e,0)});e.asyncDep=r}else handleSetupResult(e,r)}else finishComponentSetup(e)}function handleSetupResult(e,t,i){isFunction$6(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:isObject$7(t)&&(e.setupState=proxyRefs(t)),finishComponentSetup(e)}function finishComponentSetup(e,t,i){const o=e.type;e.render||(e.render=o.render||NOOP$1);{const t=setCurrentInstance$1(e);pauseTracking();try{applyOptions(e)}finally{resetTracking(),t()}}}const attrsProxyHandlers={get:(e,t)=>(track(e,"get",""),e[t])};function createSetupContext(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,attrsProxyHandlers),slots:e.slots,emit:e.emit,expose:t}}function getComponentPublicInstance(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(proxyRefs(markRaw(e.exposed)),{get:(t,i)=>i in t?t[i]:i in publicPropertiesMap?publicPropertiesMap[i](e):void 0,has:(e,t)=>t in e||t in publicPropertiesMap})):e.proxy}const classifyRE=/(?:^|[-_])\w/g,classify=e=>e.replace(classifyRE,e=>e.toUpperCase()).replace(/[-_]/g,"");function getComponentName(e,t=!0){return isFunction$6(e)?e.displayName||e.name:e.name||t&&e.__name}function formatComponentName(e,t,i=!1){let o=getComponentName(t);if(!o&&t.__file){const e=t.__file.match(/([^/\\]+)\.\w+$/);e&&(o=e[1])}if(!o&&e&&e.parent){const i=e=>{for(const i in e)if(e[i]===t)return i};o=i(e.components||e.parent.type.components)||i(e.appContext.components)}return o?classify(o):i?"App":"Anonymous"}function isClassComponent(e){return isFunction$6(e)&&"__vccOpts"in e}const computed$1=(e,t)=>computed$2(e,t,isInSSRComponentSetup);function h$2(e,t,i){const o=(e,t,i)=>{setBlockTracking(-1);try{return createVNode(e,t,i)}finally{setBlockTracking(1)}},n=arguments.length;return 2===n?isObject$7(t)&&!isArray$4(t)?isVNode(t)?o(e,null,[t]):o(e,t):o(e,null,t):(n>3?i=Array.prototype.slice.call(arguments,2):3===n&&isVNode(i)&&(i=[i]),o(e,t,i))}const version$1="3.5.21",warn=NOOP$1; /** * @vue/runtime-dom v3.5.21 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ let policy;const tt$1="undefined"!=typeof window&&window.trustedTypes;if(tt$1)try{policy=tt$1.createPolicy("vue",{createHTML:e=>e})}catch(e){}const unsafeToTrustedHTML=policy?e=>policy.createHTML(e):e=>e,svgNS="http://www.w3.org/2000/svg",mathmlNS="http://www.w3.org/1998/Math/MathML",doc$1="undefined"!=typeof document?document:null,templateContainer=doc$1&&doc$1.createElement("template"),nodeOps={insert:(e,t,i)=>{t.insertBefore(e,i||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,i,o)=>{const n="svg"===t?doc$1.createElementNS(svgNS,e):"mathml"===t?doc$1.createElementNS(mathmlNS,e):i?doc$1.createElement(e,{is:i}):doc$1.createElement(e);return"select"===e&&o&&null!=o.multiple&&n.setAttribute("multiple",o.multiple),n},createText:e=>doc$1.createTextNode(e),createComment:e=>doc$1.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>doc$1.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,i,o,n,r){const s=i?i.previousSibling:t.lastChild;if(n&&(n===r||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),i),n!==r&&(n=n.nextSibling););else{templateContainer.innerHTML=unsafeToTrustedHTML("svg"===o?`${e}`:"mathml"===o?`${e}`:e);const n=templateContainer.content;if("svg"===o||"mathml"===o){const e=n.firstChild;for(;e.firstChild;)n.appendChild(e.firstChild);n.removeChild(e)}t.insertBefore(n,i)}return[s?s.nextSibling:t.firstChild,i?i.previousSibling:t.lastChild]}},TRANSITION="transition",ANIMATION$1="animation",vtcKey=Symbol("_vtc"),DOMTransitionPropsValidators={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},TransitionPropsValidators=extend$1({},BaseTransitionPropsValidators,DOMTransitionPropsValidators),decorate$1=e=>(e.displayName="Transition",e.props=TransitionPropsValidators,e),Transition=decorate$1((e,{slots:t})=>h$2(BaseTransition,resolveTransitionProps(e),t)),callHook=(e,t=[])=>{isArray$4(e)?e.forEach(e=>e(...t)):e&&e(...t)},hasExplicitCallback=e=>!!e&&(isArray$4(e)?e.some(e=>e.length>1):e.length>1);function resolveTransitionProps(e){const t={};for(const T in e)T in DOMTransitionPropsValidators||(t[T]=e[T]);if(!1===e.css)return t;const{name:i="v",type:o,duration:n,enterFromClass:r=`${i}-enter-from`,enterActiveClass:s=`${i}-enter-active`,enterToClass:a=`${i}-enter-to`,appearFromClass:l=r,appearActiveClass:c=s,appearToClass:d=a,leaveFromClass:u=`${i}-leave-from`,leaveActiveClass:h=`${i}-leave-active`,leaveToClass:p=`${i}-leave-to`}=e,g=normalizeDuration(n),m=g&&g[0],f=g&&g[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:_,onLeave:y,onLeaveCancelled:C,onBeforeAppear:w=v,onAppear:x=b,onAppearCancelled:S=_}=t,k=(e,t,i,o)=>{e._enterCancelled=o,removeTransitionClass(e,t?d:a),removeTransitionClass(e,t?c:s),i&&i()},E=(e,t)=>{e._isLeaving=!1,removeTransitionClass(e,u),removeTransitionClass(e,p),removeTransitionClass(e,h),t&&t()},I=e=>(t,i)=>{const n=e?x:b,s=()=>k(t,e,i);callHook(n,[t,s]),nextFrame(()=>{removeTransitionClass(t,e?l:r),addTransitionClass(t,e?d:a),hasExplicitCallback(n)||whenTransitionEnds(t,o,m,s)})};return extend$1(t,{onBeforeEnter(e){callHook(v,[e]),addTransitionClass(e,r),addTransitionClass(e,s)},onBeforeAppear(e){callHook(w,[e]),addTransitionClass(e,l),addTransitionClass(e,c)},onEnter:I(!1),onAppear:I(!0),onLeave(e,t){e._isLeaving=!0;const i=()=>E(e,t);addTransitionClass(e,u),e._enterCancelled?(addTransitionClass(e,h),forceReflow()):(forceReflow(),addTransitionClass(e,h)),nextFrame(()=>{e._isLeaving&&(removeTransitionClass(e,u),addTransitionClass(e,p),hasExplicitCallback(y)||whenTransitionEnds(e,o,f,i))}),callHook(y,[e,i])},onEnterCancelled(e){k(e,!1,void 0,!0),callHook(_,[e])},onAppearCancelled(e){k(e,!0,void 0,!0),callHook(S,[e])},onLeaveCancelled(e){E(e),callHook(C,[e])}})}function normalizeDuration(e){if(null==e)return null;if(isObject$7(e))return[NumberOf(e.enter),NumberOf(e.leave)];{const t=NumberOf(e);return[t,t]}}function NumberOf(e){return toNumber$1(e)}function addTransitionClass(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[vtcKey]||(e[vtcKey]=new Set)).add(t)}function removeTransitionClass(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const i=e[vtcKey];i&&(i.delete(t),i.size||(e[vtcKey]=void 0))}function nextFrame(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let endId=0;function whenTransitionEnds(e,t,i,o){const n=e._endId=++endId,r=()=>{n===e._endId&&o()};if(null!=i)return setTimeout(r,i);const{type:s,timeout:a,propCount:l}=getTransitionInfo(e,t);if(!s)return o();const c=s+"end";let d=0;const u=()=>{e.removeEventListener(c,h),r()},h=t=>{t.target===e&&++d>=l&&u()};setTimeout(()=>{d(i[e]||"").split(", "),n=o(`${TRANSITION}Delay`),r=o(`${TRANSITION}Duration`),s=getTimeout(n,r),a=o(`${ANIMATION$1}Delay`),l=o(`${ANIMATION$1}Duration`),c=getTimeout(a,l);let d=null,u=0,h=0;t===TRANSITION?s>0&&(d=TRANSITION,u=s,h=r.length):t===ANIMATION$1?c>0&&(d=ANIMATION$1,u=c,h=l.length):(u=Math.max(s,c),d=u>0?s>c?TRANSITION:ANIMATION$1:null,h=d?d===TRANSITION?r.length:l.length:0);return{type:d,timeout:u,propCount:h,hasTransform:d===TRANSITION&&/\b(?:transform|all)(?:,|$)/.test(o(`${TRANSITION}Property`).toString())}}function getTimeout(e,t){for(;e.lengthtoMs(t)+toMs(e[i])))}function toMs(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function forceReflow(){return document.body.offsetHeight}function patchClass(e,t,i){const o=e[vtcKey];o&&(t=(t?[t,...o]:[...o]).join(" ")),null==t?e.removeAttribute("class"):i?e.setAttribute("class",t):e.className=t}const vShowOriginalDisplay=Symbol("_vod"),vShowHidden=Symbol("_vsh"),vShow={name:"show",beforeMount(e,{value:t},{transition:i}){e[vShowOriginalDisplay]="none"===e.style.display?"":e.style.display,i&&t?i.beforeEnter(e):setDisplay(e,t)},mounted(e,{value:t},{transition:i}){i&&t&&i.enter(e)},updated(e,{value:t,oldValue:i},{transition:o}){!t!=!i&&(o?t?(o.beforeEnter(e),setDisplay(e,!0),o.enter(e)):o.leave(e,()=>{setDisplay(e,!1)}):setDisplay(e,t))},beforeUnmount(e,{value:t}){setDisplay(e,t)}};function setDisplay(e,t){e.style.display=t?e[vShowOriginalDisplay]:"none",e[vShowHidden]=!t}const CSS_VAR_TEXT=Symbol(""),displayRE=/(?:^|;)\s*display\s*:/;function patchStyle(e,t,i){const o=e.style,n=isString$5(i);let r=!1;if(i&&!n){if(t)if(isString$5(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==i[t]&&setStyle(o,t,"")}else for(const e in t)null==i[e]&&setStyle(o,e,"");for(const e in i)"display"===e&&(r=!0),setStyle(o,e,i[e])}else if(n){if(t!==i){const e=o[CSS_VAR_TEXT];e&&(i+=";"+e),o.cssText=i,r=displayRE.test(i)}}else t&&e.removeAttribute("style");vShowOriginalDisplay in e&&(e[vShowOriginalDisplay]=r?o.display:"",e[vShowHidden]&&(o.display="none"))}const importantRE=/\s*!important$/;function setStyle(e,t,i){if(isArray$4(i))i.forEach(i=>setStyle(e,t,i));else if(null==i&&(i=""),t.startsWith("--"))e.setProperty(t,i);else{const o=autoPrefix(e,t);importantRE.test(i)?e.setProperty(hyphenate$1(o),i.replace(importantRE,""),"important"):e[o]=i}}const prefixes$1=["Webkit","Moz","ms"],prefixCache={};function autoPrefix(e,t){const i=prefixCache[t];if(i)return i;let o=camelize$2(t);if("filter"!==o&&o in e)return prefixCache[t]=o;o=capitalize$3(o);for(let n=0;ncachedNow||(p$1.then(()=>cachedNow=0),cachedNow=Date.now());function createInvoker(e,t){const i=e=>{if(e._vts){if(e._vts<=i.attached)return}else e._vts=Date.now();callWithAsyncErrorHandling(patchStopImmediatePropagation(e,i.value),t,5,[e])};return i.value=e,i.attached=getNow(),i}function patchStopImmediatePropagation(e,t){if(isArray$4(t)){const i=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{i.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}const isNativeOn=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,patchProp=(e,t,i,o,n,r)=>{const s="svg"===n;"class"===t?patchClass(e,o,s):"style"===t?patchStyle(e,i,o):isOn(t)?isModelListener(t)||patchEvent(e,t,i,o,r):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):shouldSetAsProp(e,t,o,s))?(patchDOMProp(e,t,o),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||patchAttr(e,t,o,s,r,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&isString$5(o)?("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),patchAttr(e,t,o,s)):patchDOMProp(e,camelize$2(t),o,r,t)};function shouldSetAsProp(e,t,i,o){if(o)return"innerHTML"===t||"textContent"===t||!!(t in e&&isNativeOn(t)&&isFunction$6(i));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}return(!isNativeOn(t)||!isString$5(i))&&t in e}const positionMap=new WeakMap,newPositionMap=new WeakMap,moveCbKey=Symbol("_moveCb"),enterCbKey=Symbol("_enterCb"),decorate=e=>(delete e.props.mode,e),TransitionGroupImpl=decorate({name:"TransitionGroup",props:extend$1({},TransitionPropsValidators,{tag:String,moveClass:String}),setup(e,{slots:t}){const i=getCurrentInstance$1(),o=useTransitionState();let n,r;return onUpdated(()=>{if(!n.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!hasCSSTransform(n[0].el,i.vnode.el,t))return void(n=[]);n.forEach(callPendingCbs),n.forEach(recordPosition);const o=n.filter(applyTranslation);forceReflow(),o.forEach(e=>{const i=e.el,o=i.style;addTransitionClass(i,t),o.transform=o.webkitTransform=o.transitionDuration="";const n=i[moveCbKey]=e=>{e&&e.target!==i||e&&!e.propertyName.endsWith("transform")||(i.removeEventListener("transitionend",n),i[moveCbKey]=null,removeTransitionClass(i,t))};i.addEventListener("transitionend",n)}),n=[]}),()=>{const s=toRaw(e),a=resolveTransitionProps(s);let l=s.tag||Fragment;if(n=[],r)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&o.classList.remove(e))}),i.split(/\s+/).forEach(e=>e&&o.classList.add(e)),o.style.display="none";const r=1===t.nodeType?t:t.parentNode;r.appendChild(o);const{hasTransform:s}=getTransitionInfo(o);return r.removeChild(o),s}const getModelAssigner=e=>{const t=e.props["onUpdate:modelValue"]||!1;return isArray$4(t)?e=>invokeArrayFns(t,e):t};function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const assignKey=Symbol("_assign"),vModelText={created(e,{modifiers:{lazy:t,trim:i,number:o}},n){e[assignKey]=getModelAssigner(n);const r=o||n.props&&"number"===n.props.type;addEventListener(e,t?"change":"input",t=>{if(t.target.composing)return;let o=e.value;i&&(o=o.trim()),r&&(o=looseToNumber(o)),e[assignKey](o)}),i&&addEventListener(e,"change",()=>{e.value=e.value.trim()}),t||(addEventListener(e,"compositionstart",onCompositionStart),addEventListener(e,"compositionend",onCompositionEnd),addEventListener(e,"change",onCompositionEnd))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:i,modifiers:{lazy:o,trim:n,number:r}},s){if(e[assignKey]=getModelAssigner(s),e.composing)return;const a=null==t?"":t;if((!r&&"number"!==e.type||/^0\d/.test(e.value)?e.value:looseToNumber(e.value))!==a){if(document.activeElement===e&&"range"!==e.type){if(o&&t===i)return;if(n&&e.value.trim()===a)return}e.value=a}}},vModelCheckbox={deep:!0,created(e,t,i){e[assignKey]=getModelAssigner(i),addEventListener(e,"change",()=>{const t=e._modelValue,i=getValue$3(e),o=e.checked,n=e[assignKey];if(isArray$4(t)){const e=looseIndexOf(t,i),r=-1!==e;if(o&&!r)n(t.concat(i));else if(!o&&r){const i=[...t];i.splice(e,1),n(i)}}else if(isSet$1(t)){const e=new Set(t);o?e.add(i):e.delete(i),n(e)}else n(getCheckboxValue(e,o))})},mounted:setChecked,beforeUpdate(e,t,i){e[assignKey]=getModelAssigner(i),setChecked(e,t,i)}};function setChecked(e,{value:t,oldValue:i},o){let n;if(e._modelValue=t,isArray$4(t))n=looseIndexOf(t,o.props.value)>-1;else if(isSet$1(t))n=t.has(o.props.value);else{if(t===i)return;n=looseEqual(t,getCheckboxValue(e,!0))}e.checked!==n&&(e.checked=n)}const vModelRadio={created(e,{value:t},i){e.checked=looseEqual(t,i.props.value),e[assignKey]=getModelAssigner(i),addEventListener(e,"change",()=>{e[assignKey](getValue$3(e))})},beforeUpdate(e,{value:t,oldValue:i},o){e[assignKey]=getModelAssigner(o),t!==i&&(e.checked=looseEqual(t,o.props.value))}};function getValue$3(e){return"_value"in e?e._value:e.value}function getCheckboxValue(e,t){const i=t?"_trueValue":"_falseValue";return i in e?e[i]:t}const systemModifiers=["ctrl","shift","alt","meta"],modifierGuards={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>systemModifiers.some(i=>e[`${i}Key`]&&!t.includes(i))},withModifiers=(e,t)=>{const i=e._withMods||(e._withMods={}),o=t.join(".");return i[o]||(i[o]=(i,...o)=>{for(let e=0;e{const i=e._withKeys||(e._withKeys={}),o=t.join(".");return i[o]||(i[o]=i=>{if(!("key"in i))return;const o=hyphenate$1(i.key);return t.some(e=>e===o||keyNames[e]===o)?e(i):void 0})},rendererOptions=extend$1({patchProp:patchProp},nodeOps);let renderer;function ensureRenderer(){return renderer||(renderer=createRenderer$1(rendererOptions))}const render=(...e)=>{ensureRenderer().render(...e)},createApp=(...e)=>{const t=ensureRenderer().createApp(...e),{mount:i}=t;return t.mount=e=>{const o=normalizeContainer(e);if(!o)return;const n=t._component;isFunction$6(n)||n.render||n.template||(n.template=o.innerHTML),1===o.nodeType&&(o.textContent="");const r=i(o,!1,resolveRootNamespace(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t};function resolveRootNamespace(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function normalizeContainer(e){if(isString$5(e)){return document.querySelector(e)}return e}function tail(e,t=0){return e[e.length-(1+t)]}function tail2(e){if(0===e.length)throw new Error("Invalid tail call");return[e.slice(0,e.length-1),e[e.length-1]]}function equals$2(e,t,i=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let o=0,n=e.length;oi(e[o],t))}function binarySearch2(e,t){let i=0,o=e-1;for(;i<=o;){const e=(i+o)/2|0,n=t(e);if(n<0)i=e+1;else{if(!(n>0))return e;o=e-1}}return-(i+1)}function quickSelect(e,t,i){if((e|=0)>=t.length)throw new TypeError("invalid index");const o=t[Math.floor(t.length*Math.random())],n=[],r=[],s=[];for(const a of t){const e=i(a,o);e<0?n.push(a):e>0?r.push(a):s.push(a)}return e!!e)}function coalesceInPlace(e){let t=0;for(let i=0;i0}function distinct(e,t=e=>e){const i=new Set;return e.filter(e=>{const o=t(e);return!i.has(o)&&(i.add(o),!0)})}function firstOrDefault(e,t){return e.length>0?e[0]:t}function range$2(e,t){let i="number"==typeof t?e:0;"number"==typeof t?i=e:(i=0,t=e);const o=[];if(i<=t)for(let n=i;nt;n--)o.push(n);return o}function arrayInsert(e,t,i){const o=e.slice(0,t),n=e.slice(t);return o.concat(i,n)}function pushToStart(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.unshift(t))}function pushToEnd(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.push(t))}function pushMany(e,t){for(const i of t)e.push(i)}function asArray(e){return Array.isArray(e)?e:[e]}function insertInto(e,t,i){const o=getActualStartIndex(e,t),n=e.length,r=i.length;e.length=n+r;for(let s=n-1;s>=o;s--)e[s+r]=e[s];for(let s=0;st(e(i),e(o))}function tieBreakComparators(...e){return(t,i)=>{for(const o of e){const e=o(t,i);if(!CompareResult.isNeitherLessOrGreaterThan(e))return e}return CompareResult.neitherLessOrGreaterThan}}!function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(CompareResult||(CompareResult={}));const numberComparator=(e,t)=>e-t,booleanComparator=(e,t)=>numberComparator(e?1:0,t?1:0);function reverseOrder(e){return(t,i)=>-e(t,i)}class ArrayQueue{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class CallbackIterable{static{this.empty=new CallbackIterable(e=>{})}constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new CallbackIterable(t=>this.iterate(i=>!e(i)||t(i)))}map(e){return new CallbackIterable(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(o=>((i||CompareResult.isGreaterThan(e(o,t)))&&(i=!1,t=o),!0)),t}}class Permutation{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((i,o)=>t(e[i],e[o]));return new Permutation(i)}apply(e){return e.map((t,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let t=0;t{t[e]=i&&"object"==typeof i?deepClone(i):i}),t}function deepFreeze(e){if(!e||"object"!=typeof e)return e;const t=[e];for(;t.length>0;){const e=t.shift();Object.freeze(e);for(const i in e)if(_hasOwnProperty.call(e,i)){const o=e[i];"object"!=typeof o||Object.isFrozen(o)||isTypedArray$1(o)||t.push(o)}}return e}const _hasOwnProperty=Object.prototype.hasOwnProperty;function cloneAndChange(e,t){return _cloneAndChange(e,t,new Set)}function _cloneAndChange(e,t,i){if(isUndefinedOrNull(e))return e;const o=t(e);if(void 0!==o)return o;if(Array.isArray(e)){const o=[];for(const n of e)o.push(_cloneAndChange(n,t,i));return o}if(isObject$6(e)){if(i.has(e))throw new Error("Cannot clone recursive data-structure");i.add(e);const o={};for(const n in e)_hasOwnProperty.call(e,n)&&(o[n]=_cloneAndChange(e[n],t,i));return i.delete(e),o}return e}function mixin(e,t,i=!0){return isObject$6(e)?(isObject$6(t)&&Object.keys(t).forEach(o=>{o in e?i&&(isObject$6(e[o])&&isObject$6(t[o])?mixin(e[o],t[o],i):e[o]=t[o]):e[o]=t[o]}),e):t}function equals$1(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let i,o;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(i=0;ifunction(){const i=Array.prototype.slice.call(arguments,0);return t(e,i)},o={};for(const n of e)o[n]=i(n);return o}function getNLSMessages(){return globalThis._VSCODE_NLS_MESSAGES}function getNLSLanguage(){return globalThis._VSCODE_NLS_LANGUAGE}const isPseudo="pseudo"===getNLSLanguage()||"undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function _format$1(e,t){let i;return i=0===t.length?e:e.replace(/\{(\d+)\}/g,(e,i)=>{const o=i[0],n=t[o];let r=e;return"string"==typeof n?r=n:"number"!=typeof n&&"boolean"!=typeof n&&null!=n||(r=String(n)),r}),isPseudo&&(i="["+i.replace(/[aouei]/g,"$&$&")+"]"),i}function localize(e,t,...i){return _format$1("number"==typeof e?lookupMessage(e,t):t,i)}function lookupMessage(e,t){const i=getNLSMessages()?.[e];if("string"!=typeof i){if("string"==typeof t)return t;throw new Error(`!!! NLS MISSING: ${e} !!!`)}return i}function localize2(e,t,...i){let o;o="number"==typeof e?lookupMessage(e,t):t;const n=_format$1(o,i);return{value:n,original:t===o?n:_format$1(t,i)}}const LANGUAGE_DEFAULT="en";let _isWindows=!1,_isMacintosh=!1,_isLinux=!1,_isNative=!1,_isWeb=!1,_isIOS=!1,_isMobile=!1,_locale,_language=LANGUAGE_DEFAULT,_platformLocale=LANGUAGE_DEFAULT,_translationsConfigFile,_userAgent;const $globalThis=globalThis;let nodeProcess;void 0!==$globalThis.vscode&&void 0!==$globalThis.vscode.process?nodeProcess=$globalThis.vscode.process:"undefined"!=typeof process&&"string"==typeof process?.versions?.node&&(nodeProcess=process);const isElectronProcess="string"==typeof nodeProcess?.versions?.electron,isElectronRenderer=isElectronProcess&&"renderer"===nodeProcess?.type;if("object"==typeof nodeProcess){_isWindows="win32"===nodeProcess.platform,_isMacintosh="darwin"===nodeProcess.platform,_isLinux="linux"===nodeProcess.platform,_isLinux&&nodeProcess.env.SNAP&&nodeProcess.env.SNAP_REVISION,nodeProcess.env.CI||nodeProcess.env.BUILD_ARTIFACTSTAGINGDIRECTORY,_locale=LANGUAGE_DEFAULT,_language=LANGUAGE_DEFAULT;const t=nodeProcess.env.VSCODE_NLS_CONFIG;if(t)try{const e=JSON.parse(t);_locale=e.userLocale,_platformLocale=e.osLocale,_language=e.resolvedLanguage||LANGUAGE_DEFAULT,_translationsConfigFile=e.languagePack?.translationsConfigFile}catch(e){}_isNative=!0}else"object"!=typeof navigator||isElectronRenderer?console.error("Unable to resolve platform."):(_userAgent=navigator.userAgent,_isWindows=_userAgent.indexOf("Windows")>=0,_isMacintosh=_userAgent.indexOf("Macintosh")>=0,_isIOS=(_userAgent.indexOf("Macintosh")>=0||_userAgent.indexOf("iPad")>=0||_userAgent.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,_isLinux=_userAgent.indexOf("Linux")>=0,_isMobile=_userAgent?.indexOf("Mobi")>=0,_isWeb=!0,_language=getNLSLanguage()||LANGUAGE_DEFAULT,_locale=navigator.language.toLowerCase(),_platformLocale=_locale);const isWindows=_isWindows,isMacintosh=_isMacintosh,isLinux=_isLinux,isNative=_isNative,isWeb=_isWeb,isWebWorker=_isWeb&&"function"==typeof $globalThis.importScripts,webWorkerOrigin=isWebWorker?$globalThis.origin:void 0,isIOS$1=_isIOS,isMobile=_isMobile,userAgent$2=_userAgent,language=_language,setTimeout0IsFaster="function"==typeof $globalThis.postMessage&&!$globalThis.importScripts,setTimeout0=(()=>{if(setTimeout0IsFaster){const e=[];$globalThis.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,o=e.length;i{const o=++t;e.push({id:o,callback:i}),$globalThis.postMessage({vscodeScheduleAsyncWork:o},"*")}}return e=>setTimeout(e)})(),OS=_isMacintosh||_isIOS?2:_isWindows?1:3;let _isLittleEndian=!0,_isLittleEndianComputed=!1;function isLittleEndian(){if(!_isLittleEndianComputed){_isLittleEndianComputed=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);_isLittleEndian=513===t[0]}return _isLittleEndian}const isChrome$1=!!(userAgent$2&&userAgent$2.indexOf("Chrome")>=0),isFirefox$2=!!(userAgent$2&&userAgent$2.indexOf("Firefox")>=0),isSafari$1=!!(!isChrome$1&&userAgent$2&&userAgent$2.indexOf("Safari")>=0),isEdge=!!(userAgent$2&&userAgent$2.indexOf("Edg/")>=0),isAndroid$1=!!(userAgent$2&&userAgent$2.indexOf("Android")>=0),EDITOR_MODEL_DEFAULTS={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Iterable;!function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const i=Object.freeze([]);function*o(e){yield e}e.empty=function(){return i},e.single=o,e.wrap=function(e){return t(e)?e:o(e)},e.from=function(e){return e||i},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let i=0;for(const o of e)if(t(o,i++))return!0;return!1},e.find=function(e,t){for(const i of e)if(t(i))return i},e.filter=function*(e,t){for(const i of e)t(i)&&(yield i)},e.map=function*(e,t){let i=0;for(const o of e)yield t(o,i++)},e.flatMap=function*(e,t){let i=0;for(const o of e)yield*t(o,i++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,i){let o=i;for(const n of e)o=t(o,n);return o},e.slice=function*(e,t,i=e.length){for(t<0&&(t+=e.length),i<0?i+=e.length:i>e.length&&(i=e.length);tn}]},e.asyncToArray=async function(e){const t=[];for await(const i of e)t.push(i);return Promise.resolve(t)}}(Iterable||(Iterable={}));let Node$5=class e{static{this.Undefined=new e(void 0)}constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};class LinkedList{constructor(){this._first=Node$5.Undefined,this._last=Node$5.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Node$5.Undefined}clear(){let e=this._first;for(;e!==Node$5.Undefined;){const t=e.next;e.prev=Node$5.Undefined,e.next=Node$5.Undefined,e=t}this._first=Node$5.Undefined,this._last=Node$5.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const i=new Node$5(e);if(this._first===Node$5.Undefined)this._first=i,this._last=i;else if(t){const e=this._last;this._last=i,i.prev=e,e.next=i}else{const e=this._first;this._first=i,i.next=e,e.prev=i}this._size+=1;let o=!1;return()=>{o||(o=!0,this._remove(i))}}shift(){if(this._first!==Node$5.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Node$5.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Node$5.Undefined&&e.next!==Node$5.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Node$5.Undefined&&e.next===Node$5.Undefined?(this._first=Node$5.Undefined,this._last=Node$5.Undefined):e.next===Node$5.Undefined?(this._last=this._last.prev,this._last.next=Node$5.Undefined):e.prev===Node$5.Undefined&&(this._first=this._first.next,this._first.prev=Node$5.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==Node$5.Undefined;)yield e.element,e=e.next}}const USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function createWordRegExp(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const i of USUAL_WORD_SEPARATORS)e.indexOf(i)>=0||(t+="\\"+i);return t+="\\s]+)",new RegExp(t,"g")}const DEFAULT_WORD_REGEXP=createWordRegExp();function ensureValidWordDefinition(e){let t=DEFAULT_WORD_REGEXP;if(e&&e instanceof RegExp)if(e.global)t=e;else{let i="g";e.ignoreCase&&(i+="i"),e.multiline&&(i+="m"),e.unicode&&(i+="u"),t=new RegExp(e.source,i)}return t.lastIndex=0,t}const _defaultConfig=new LinkedList;function getWordAtText(e,t,i,o,n){if(t=ensureValidWordDefinition(t),n||(n=Iterable.first(_defaultConfig)),i.length>n.maxLen){let r=e-n.maxLen/2;return r<0?r=0:o+=r,getWordAtText(e,t,i=i.substring(r,e+n.maxLen/2),o,n)}const r=Date.now(),s=e-1-o;let a=-1,l=null;for(let c=1;!(Date.now()-r>=n.timeBudget);c++){const e=s-n.windowSize*c;t.lastIndex=Math.max(0,e);const o=_findRegexMatchEnclosingPosition(t,i,s,a);if(!o&&l)break;if(l=o,e<=0)break;a=e}if(l){const e={word:l[0],startColumn:o+1+l.index,endColumn:o+1+l.index+l[0].length};return t.lastIndex=0,e}return null}function _findRegexMatchEnclosingPosition(e,t,i,o){let n;for(;n=e.exec(t);){const t=n.index||0;if(t<=i&&e.lastIndex>=i)return n;if(o>0&&t>o)return null}return null}_defaultConfig.unshift({maxLen:1e3,windowSize:15,timeBudget:150});const MINIMAP_GUTTER_WIDTH=8;class ConfigurationChangedEvent{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class ComputeOptionsMemory{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class BaseEditorOption{constructor(e,t,i,o){this.id=e,this.name=t,this.defaultValue=i,this.schema=o}applyUpdate(e,t){return applyUpdate(e,t)}compute(e,t,i){return i}}class ApplyUpdateResult{constructor(e,t){this.newValue=e,this.didChange=t}}function applyUpdate(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return new ApplyUpdateResult(t,e!==t);if(Array.isArray(e)||Array.isArray(t)){const i=Array.isArray(e)&&Array.isArray(t)&&equals$2(e,t);return new ApplyUpdateResult(t,!i)}let i=!1;for(const o in t)if(t.hasOwnProperty(o)){const n=applyUpdate(e[o],t[o]);n.didChange&&(e[o]=n.newValue,i=!0)}return new ApplyUpdateResult(e,i)}class ComputedEditorOption{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return applyUpdate(e,t)}validate(e){return this.defaultValue}}class SimpleEditorOption{constructor(e,t,i,o){this.id=e,this.name=t,this.defaultValue=i,this.schema=o}applyUpdate(e,t){return applyUpdate(e,t)}validate(e){return void 0===e?this.defaultValue:e}compute(e,t,i){return i}}function boolean(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}class EditorBooleanOption extends SimpleEditorOption{constructor(e,t,i,o=void 0){void 0!==o&&(o.type="boolean",o.default=i),super(e,t,i,o)}validate(e){return boolean(e,this.defaultValue)}}function clampedInt(e,t,i,o){if(void 0===e)return t;let n=parseInt(e,10);return isNaN(n)?t:(n=Math.max(i,n),n=Math.min(o,n),0|n)}class EditorIntOption extends SimpleEditorOption{static clampedInt(e,t,i,o){return clampedInt(e,t,i,o)}constructor(e,t,i,o,n,r=void 0){void 0!==r&&(r.type="integer",r.default=i,r.minimum=o,r.maximum=n),super(e,t,i,r),this.minimum=o,this.maximum=n}validate(e){return EditorIntOption.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function clampedFloat(e,t,i,o){if(void 0===e)return t;const n=EditorFloatOption.float(e,t);return EditorFloatOption.clamp(n,i,o)}class EditorFloatOption extends SimpleEditorOption{static clamp(e,t,i){return ei?i:e}static float(e,t){if("number"==typeof e)return e;if(void 0===e)return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,o,n){void 0!==n&&(n.type="number",n.default=i),super(e,t,i,n),this.validationFn=o}validate(e){return this.validationFn(EditorFloatOption.float(e,this.defaultValue))}}class EditorStringOption extends SimpleEditorOption{static string(e,t){return"string"!=typeof e?t:e}constructor(e,t,i,o=void 0){void 0!==o&&(o.type="string",o.default=i),super(e,t,i,o)}validate(e){return EditorStringOption.string(e,this.defaultValue)}}function stringSet(e,t,i,o){return"string"!=typeof e?t:o&&e in o?o[e]:-1===i.indexOf(e)?t:e}class EditorStringEnumOption extends SimpleEditorOption{constructor(e,t,i,o,n=void 0){void 0!==n&&(n.type="string",n.enum=o,n.default=i),super(e,t,i,n),this._allowedValues=o}validate(e){return stringSet(e,this.defaultValue,this._allowedValues)}}class EditorEnumOption extends BaseEditorOption{constructor(e,t,i,o,n,r,s=void 0){void 0!==s&&(s.type="string",s.enum=n,s.default=o),super(e,t,i,s),this._allowedValues=n,this._convert=r}validate(e){return"string"!=typeof e||-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)}}function _autoIndentFromString(e){switch(e){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class EditorAccessibilitySupport extends BaseEditorOption{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[localize("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached."),localize("accessibilitySupport.on","Optimize for usage with a Screen Reader."),localize("accessibilitySupport.off","Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:localize("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return 0===i?e.accessibilitySupport:i}}class EditorComments extends BaseEditorOption{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:localize("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:localize("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertSpace:boolean(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:boolean(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function _cursorBlinkingStyleFromString(e){switch(e){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var TextEditorCursorStyle$1,ShowLightbulbIconMode$1;function _cursorStyleFromString(e){switch(e){case"line":return TextEditorCursorStyle$1.Line;case"block":return TextEditorCursorStyle$1.Block;case"underline":return TextEditorCursorStyle$1.Underline;case"line-thin":return TextEditorCursorStyle$1.LineThin;case"block-outline":return TextEditorCursorStyle$1.BlockOutline;case"underline-thin":return TextEditorCursorStyle$1.UnderlineThin}}!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(TextEditorCursorStyle$1||(TextEditorCursorStyle$1={}));class EditorClassName extends ComputedEditorOption{constructor(){super(143)}compute(e,t,i){const o=["monaco-editor"];return t.get(39)&&o.push(t.get(39)),e.extraEditorClassName&&o.push(e.extraEditorClassName),"default"===t.get(74)?o.push("mouse-default"):"copy"===t.get(74)&&o.push("mouse-copy"),t.get(112)&&o.push("showUnused"),t.get(141)&&o.push("showDeprecated"),o.join(" ")}}class EditorEmptySelectionClipboard extends EditorBooleanOption{constructor(){super(37,"emptySelectionClipboard",!0,{description:localize("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class EditorFind extends BaseEditorOption{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:localize("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[localize("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),localize("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),localize("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:localize("find.seedSearchStringFromSelection","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:e.autoFindInSelection,enumDescriptions:[localize("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),localize("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),localize("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:localize("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:localize("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:isMacintosh},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:localize("find.addExtraSpaceOnTop","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:e.loop,description:localize("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{cursorMoveOnType:boolean(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof e.seedSearchStringFromSelection?e.seedSearchStringFromSelection?"always":"never":stringSet(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":stringSet(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:boolean(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:boolean(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:boolean(t.loop,this.defaultValue.loop)}}}class EditorFontLigatures extends BaseEditorOption{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(51,"fontLigatures",EditorFontLigatures.OFF,{anyOf:[{type:"boolean",description:localize("fontLigatures","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:localize("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:localize("fontLigaturesGeneral","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(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e||0===e.length?EditorFontLigatures.OFF:"true"===e?EditorFontLigatures.ON:e:Boolean(e)?EditorFontLigatures.ON:EditorFontLigatures.OFF}}class EditorFontVariations extends BaseEditorOption{static{this.OFF="normal"}static{this.TRANSLATE="translate"}constructor(){super(54,"fontVariations",EditorFontVariations.OFF,{anyOf:[{type:"boolean",description:localize("fontVariations","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:localize("fontVariationSettings","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:localize("fontVariationsGeneral","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(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?EditorFontVariations.OFF:"true"===e?EditorFontVariations.TRANSLATE:e:Boolean(e)?EditorFontVariations.TRANSLATE:EditorFontVariations.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}}class EditorFontInfo extends ComputedEditorOption{constructor(){super(50)}compute(e,t,i){return e.fontInfo}}class EditorFontSize extends SimpleEditorOption{constructor(){super(52,"fontSize",EDITOR_FONT_DEFAULTS.fontSize,{type:"number",minimum:6,maximum:100,default:EDITOR_FONT_DEFAULTS.fontSize,description:localize("fontSize","Controls the font size in pixels.")})}validate(e){const t=EditorFloatOption.float(e,this.defaultValue);return 0===t?EDITOR_FONT_DEFAULTS.fontSize:EditorFloatOption.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}class EditorFontWeight extends BaseEditorOption{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",EDITOR_FONT_DEFAULTS.fontWeight,{anyOf:[{type:"number",minimum:EditorFontWeight.MINIMUM_VALUE,maximum:EditorFontWeight.MAXIMUM_VALUE,errorMessage:localize("fontWeightErrorMessage",'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:EditorFontWeight.SUGGESTION_VALUES}],default:EDITOR_FONT_DEFAULTS.fontWeight,description:localize("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return"normal"===e||"bold"===e?e:String(EditorIntOption.clampedInt(e,EDITOR_FONT_DEFAULTS.fontWeight,EditorFontWeight.MINIMUM_VALUE,EditorFontWeight.MAXIMUM_VALUE))}}class EditorGoToLocation extends BaseEditorOption{constructor(){const e={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:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[localize("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),localize("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),localize("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","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",e,{"editor.gotoLocation.multiple":{deprecationMessage:localize("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:localize("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:localize("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:localize("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:localize("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:localize("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:localize("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:localize("alternativeTypeDefinitionCommand","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:e.alternativeDeclarationCommand,enum:i,description:localize("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:localize("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:localize("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{multiple:stringSet(t.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:t.multipleDefinitions??stringSet(t.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:t.multipleTypeDefinitions??stringSet(t.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:t.multipleDeclarations??stringSet(t.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:t.multipleImplementations??stringSet(t.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:t.multipleReferences??stringSet(t.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:t.multipleTests??stringSet(t.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:EditorStringOption.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:EditorStringOption.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:EditorStringOption.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:EditorStringOption.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:EditorStringOption.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:EditorStringOption.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}class EditorHover extends BaseEditorOption{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:localize("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:localize("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:localize("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:localize("hover.hidingDelay","Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:localize("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),delay:EditorIntOption.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:boolean(t.sticky,this.defaultValue.sticky),hidingDelay:EditorIntOption.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:boolean(t.above,this.defaultValue.above)}}}class EditorLayoutInfoComputer extends ComputedEditorOption{constructor(){super(146)}compute(e,t,i){return EditorLayoutInfoComputer.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let o=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(o=Math.max(o,t-1));const n=(i+e.viewLineCount+o)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:o,desiredRatio:n,minimapLineCount:Math.floor(e.viewLineCount/n)}}static _computeMinimapLayout(e,t){const i=e.outerWidth,o=e.outerHeight,n=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(n*o),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:o};const r=t.stableMinimapLayoutInput,s=r&&e.outerHeight===r.outerHeight&&e.lineHeight===r.lineHeight&&e.typicalHalfwidthCharacterWidth===r.typicalHalfwidthCharacterWidth&&e.pixelRatio===r.pixelRatio&&e.scrollBeyondLastLine===r.scrollBeyondLastLine&&e.paddingTop===r.paddingTop&&e.paddingBottom===r.paddingBottom&&e.minimap.enabled===r.minimap.enabled&&e.minimap.side===r.minimap.side&&e.minimap.size===r.minimap.size&&e.minimap.showSlider===r.minimap.showSlider&&e.minimap.renderCharacters===r.minimap.renderCharacters&&e.minimap.maxColumn===r.minimap.maxColumn&&e.minimap.scale===r.minimap.scale&&e.verticalScrollbarWidth===r.verticalScrollbarWidth&&e.isViewportWrapping===r.isViewportWrapping,a=e.lineHeight,l=e.typicalHalfwidthCharacterWidth,c=e.scrollBeyondLastLine,d=e.minimap.renderCharacters;let u=n>=2?Math.round(2*e.minimap.scale):e.minimap.scale;const h=e.minimap.maxColumn,p=e.minimap.size,g=e.minimap.side,m=e.verticalScrollbarWidth,f=e.viewLineCount,v=e.remainingWidth,b=e.isViewportWrapping,_=d?2:3;let y=Math.floor(n*o);const C=y/n;let w=!1,x=!1,S=_*u,k=u/n,E=1;if("fill"===p||"fit"===p){const{typicalViewportLineCount:i,extraLinesBeforeFirstLine:r,extraLinesBeyondLastLine:l,desiredRatio:d,minimapLineCount:h}=EditorLayoutInfoComputer.computeContainedMinimapLineCount({viewLineCount:f,scrollBeyondLastLine:c,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:o,lineHeight:a,pixelRatio:n});if(f/h>1)w=!0,x=!0,u=1,S=1,k=u/n;else{let o=!1,c=u+1;if("fit"===p){const e=Math.ceil((r+f+l)*S);b&&s&&v<=t.stableFitRemainingWidth?(o=!0,c=t.stableFitMaxMinimapScale):o=e>y}if("fill"===p||o){w=!0;const o=u;S=Math.min(a*n,Math.max(1,Math.floor(1/d))),b&&s&&v<=t.stableFitRemainingWidth&&(c=t.stableFitMaxMinimapScale),u=Math.min(c,Math.max(1,Math.floor(S/_))),u>o&&(E=Math.min(2,u/o)),k=u/n/E,y=Math.ceil(Math.max(i,r+f+l)*S),b?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=v,t.stableFitMaxMinimapScale=u):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const I=Math.floor(h*k),T=Math.min(I,Math.max(0,Math.floor((v-m-2)*k/(l+k)))+MINIMAP_GUTTER_WIDTH);let D=Math.floor(n*T);const L=D/n;D=Math.floor(D*E);return{renderMinimap:d?1:2,minimapLeft:"left"===g?0:i-T-m,minimapWidth:T,minimapHeightIsEditorHeight:w,minimapIsSampling:x,minimapScale:u,minimapLineHeight:S,minimapCanvasInnerWidth:D,minimapCanvasInnerHeight:y,minimapCanvasOuterWidth:L,minimapCanvasOuterHeight:C}}static computeLayout(e,t){const i=0|t.outerWidth,o=0|t.outerHeight,n=0|t.lineHeight,r=0|t.lineNumbersDigitCount,s=t.typicalHalfwidthCharacterWidth,a=t.maxDigitWidth,l=t.pixelRatio,c=t.viewLineCount,d=e.get(138),u="inherit"===d?e.get(137):d,h="inherit"===u?e.get(133):u,p=e.get(136),g=t.isDominatedByLongLines,m=e.get(57),f=0!==e.get(68).renderType,v=e.get(69),b=e.get(106),_=e.get(84),y=e.get(73),C=e.get(104),w=C.verticalScrollbarSize,x=C.verticalHasArrows,S=C.arrowSize,k=C.horizontalScrollbarSize,E=e.get(43),I="never"!==e.get(111);let T=e.get(66);E&&I&&(T+=16);let D=0;if(f){const e=Math.max(r,v);D=Math.round(e*a)}let L=0;m&&(L=n*t.glyphMarginDecorationLaneCount);let N=0,M=N+L,$=M+D,R=$+T;const A=i-L-D-T;let O=!1,P=!1,B=-1;"inherit"===u&&g?(O=!0,P=!0):"on"===h||"bounded"===h?P=!0:"wordWrapColumn"===h&&(B=p);const F=EditorLayoutInfoComputer._computeMinimapLayout({outerWidth:i,outerHeight:o,lineHeight:n,typicalHalfwidthCharacterWidth:s,pixelRatio:l,scrollBeyondLastLine:b,paddingTop:_.top,paddingBottom:_.bottom,minimap:y,verticalScrollbarWidth:w,viewLineCount:c,remainingWidth:A,isViewportWrapping:P},t.memory||new ComputeOptionsMemory);0!==F.renderMinimap&&0===F.minimapLeft&&(N+=F.minimapWidth,M+=F.minimapWidth,$+=F.minimapWidth,R+=F.minimapWidth);const z=A-F.minimapWidth,V=Math.max(1,Math.floor((z-w-2)/s)),H=x?S:0;return P&&(B=Math.max(1,V),"bounded"===h&&(B=Math.min(B,p))),{width:i,height:o,glyphMarginLeft:N,glyphMarginWidth:L,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:M,lineNumbersWidth:D,decorationsLeft:$,decorationsWidth:T,contentLeft:R,contentWidth:z,minimap:F,viewportColumn:V,isWordWrapMinified:O,isViewportWrapping:P,wrappingColumn:B,verticalScrollbarWidth:w,horizontalScrollbarHeight:k,overviewRuler:{top:H,width:w,height:o-2*H,right:0}}}}class WrappingStrategy extends BaseEditorOption{constructor(){super(140,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[localize("wrappingStrategy.simple","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."),localize("wrappingStrategy.advanced","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:localize("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return stringSet(e,"simple",["simple","advanced"])}compute(e,t,i){return 2===t.get(2)?"advanced":i}}!function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(ShowLightbulbIconMode$1||(ShowLightbulbIconMode$1={}));class EditorLightbulb extends BaseEditorOption{constructor(){const e={enabled:ShowLightbulbIconMode$1.OnCode};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[ShowLightbulbIconMode$1.Off,ShowLightbulbIconMode$1.OnCode,ShowLightbulbIconMode$1.On],default:e.enabled,enumDescriptions:[localize("editor.lightbulb.enabled.off","Disable the code action menu."),localize("editor.lightbulb.enabled.onCode","Show the code action menu when the cursor is on lines with code."),localize("editor.lightbulb.enabled.on","Show the code action menu when the cursor is on lines with code or on empty lines.")],description:localize("enabled","Enables the Code Action lightbulb in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;return{enabled:stringSet(e.enabled,this.defaultValue.enabled,[ShowLightbulbIconMode$1.Off,ShowLightbulbIconMode$1.OnCode,ShowLightbulbIconMode$1.On])}}}class EditorStickyScroll extends BaseEditorOption{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(116,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:localize("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:localize("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:localize("editor.stickyScroll.defaultModel","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:e.scrollWithEditor,description:localize("editor.stickyScroll.scrollWithEditor","Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),maxLineCount:EditorIntOption.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:stringSet(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:boolean(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class EditorInlayHints extends BaseEditorOption{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(142,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:localize("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[localize("editor.inlayHints.on","Inlay hints are enabled"),localize("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",isMacintosh?"Ctrl+Option":"Ctrl+Alt"),localize("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",isMacintosh?"Ctrl+Option":"Ctrl+Alt"),localize("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:localize("inlayHints.fontSize","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:e.fontFamily,markdownDescription:localize("inlayHints.fontFamily","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:e.padding,description:localize("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return"boolean"==typeof t.enabled&&(t.enabled=t.enabled?"on":"off"),{enabled:stringSet(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:EditorIntOption.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:EditorStringOption.string(t.fontFamily,this.defaultValue.fontFamily),padding:boolean(t.padding,this.defaultValue.padding)}}}class EditorLineDecorationsWidth extends BaseEditorOption{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){if("string"==typeof e&&/^\d+(\.\d+)?ch$/.test(e)){return-parseFloat(e.substring(0,e.length-2))}return EditorIntOption.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?EditorIntOption.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}class EditorLineHeight extends EditorFloatOption{constructor(){super(67,"lineHeight",EDITOR_FONT_DEFAULTS.lineHeight,e=>EditorFloatOption.clamp(e,0,150),{markdownDescription:localize("lineHeight","Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(e,t,i){return e.fontInfo.lineHeight}}class EditorMinimap extends BaseEditorOption{constructor(){const e={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",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:localize("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:localize("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[localize("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),localize("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),localize("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:localize("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:localize("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:localize("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:localize("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:localize("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:localize("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:localize("minimap.showRegionSectionHeaders","Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:localize("minimap.showMarkSectionHeaders","Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:localize("minimap.sectionHeaderFontSize","Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:e.sectionHeaderLetterSpacing,description:localize("minimap.sectionHeaderLetterSpacing","Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),autohide:boolean(t.autohide,this.defaultValue.autohide),size:stringSet(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:stringSet(t.side,this.defaultValue.side,["right","left"]),showSlider:stringSet(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:boolean(t.renderCharacters,this.defaultValue.renderCharacters),scale:EditorIntOption.clampedInt(t.scale,1,1,3),maxColumn:EditorIntOption.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:boolean(t.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:boolean(t.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:EditorFloatOption.clamp(t.sectionHeaderFontSize??this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:EditorFloatOption.clamp(t.sectionHeaderLetterSpacing??this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}function _multiCursorModifierFromString(e){return"ctrlCmd"===e?isMacintosh?"metaKey":"ctrlKey":"altKey"}class EditorPadding extends BaseEditorOption{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:localize("padding.top","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:localize("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{top:EditorIntOption.clampedInt(t.top,0,0,1e3),bottom:EditorIntOption.clampedInt(t.bottom,0,0,1e3)}}}class EditorParameterHints extends BaseEditorOption{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:localize("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:localize("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),cycle:boolean(t.cycle,this.defaultValue.cycle)}}}class EditorPixelRatio extends ComputedEditorOption{constructor(){super(144)}compute(e,t,i){return e.pixelRatio}}class PlaceholderOption extends BaseEditorOption{constructor(){super(88,"placeholder",void 0)}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?e:this.defaultValue}}class EditorQuickSuggestions extends BaseEditorOption{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[localize("on","Quick suggestions show inside the suggest widget"),localize("inline","Quick suggestions show as ghost text"),localize("off","Quick suggestions are disabled")]}];super(90,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:localize("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:localize("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:localize("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:localize("quickSuggestions","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=e}validate(e){if("boolean"==typeof e){const t=e?"on":"off";return{comments:t,strings:t,other:t}}if(!e||"object"!=typeof e)return this.defaultValue;const{other:t,comments:i,strings:o}=e,n=["on","inline","off"];let r,s,a;return r="boolean"==typeof t?t?"on":"off":stringSet(t,this.defaultValue.other,n),s="boolean"==typeof i?i?"on":"off":stringSet(i,this.defaultValue.comments,n),a="boolean"==typeof o?o?"on":"off":stringSet(o,this.defaultValue.strings,n),{other:r,comments:s,strings:a}}}class EditorRenderLineNumbersOption extends BaseEditorOption{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[localize("lineNumbers.off","Line numbers are not rendered."),localize("lineNumbers.on","Line numbers are rendered as absolute number."),localize("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),localize("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:localize("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return void 0!==e&&("function"==typeof e?(t=4,i=e):t="interval"===e?3:"relative"===e?2:"on"===e?1:0),{renderType:t,renderFn:i}}}function filterValidationDecorations(e){const t=e.get(99);return"editable"===t?e.get(92):"on"!==t}class EditorRulers extends BaseEditorOption{constructor(){const e=[],t={type:"number",description:localize("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(103,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:localize("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:localize("rulers","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(e){if(Array.isArray(e)){const t=[];for(const i of e)if("number"==typeof i)t.push({column:EditorIntOption.clampedInt(i,0,0,1e4),color:null});else if(i&&"object"==typeof i){const e=i;t.push({column:EditorIntOption.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort((e,t)=>e.column-t.column),t}return this.defaultValue}}class ReadonlyMessage extends BaseEditorOption{constructor(){super(93,"readOnlyMessage",undefined)}validate(e){return e&&"object"==typeof e?e:this.defaultValue}}function _scrollbarVisibilityFromString(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return 2;case"visible":return 3;default:return 1}}let EditorScrollbar$1=class extends BaseEditorOption{constructor(){const e={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",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[localize("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),localize("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),localize("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:localize("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[localize("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),localize("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),localize("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:localize("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:localize("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:localize("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:localize("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:localize("scrollbar.ignoreHorizontalScrollbarInContentHeight","When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e,i=EditorIntOption.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),o=EditorIntOption.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:EditorIntOption.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:_scrollbarVisibilityFromString(t.vertical,this.defaultValue.vertical),horizontal:_scrollbarVisibilityFromString(t.horizontal,this.defaultValue.horizontal),useShadows:boolean(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:boolean(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:boolean(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:boolean(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:boolean(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:EditorIntOption.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:o,verticalSliderSize:EditorIntOption.clampedInt(t.verticalSliderSize,o,0,1e3),scrollByPage:boolean(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:boolean(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}};const inUntrustedWorkspace="inUntrustedWorkspace",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 UnicodeHighlight extends BaseEditorOption{constructor(){const e={nonBasicASCII:inUntrustedWorkspace,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:inUntrustedWorkspace,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(126,"unicodeHighlight",e,{[unicodeHighlightConfigKeys.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,inUntrustedWorkspace],default:e.nonBasicASCII,description:localize("unicodeHighlight.nonBasicASCII","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.")},[unicodeHighlightConfigKeys.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:localize("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[unicodeHighlightConfigKeys.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:localize("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[unicodeHighlightConfigKeys.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,inUntrustedWorkspace],default:e.includeComments,description:localize("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[unicodeHighlightConfigKeys.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,inUntrustedWorkspace],default:e.includeStrings,description:localize("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[unicodeHighlightConfigKeys.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:localize("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[unicodeHighlightConfigKeys.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:localize("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(equals$1(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&(equals$1(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},i=!0));const o=super.applyUpdate(e,t);return i?new ApplyUpdateResult(o.newValue,!0):o}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{nonBasicASCII:primitiveSet(t.nonBasicASCII,inUntrustedWorkspace,[!0,!1,inUntrustedWorkspace]),invisibleCharacters:boolean(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:boolean(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:primitiveSet(t.includeComments,inUntrustedWorkspace,[!0,!1,inUntrustedWorkspace]),includeStrings:primitiveSet(t.includeStrings,inUntrustedWorkspace,[!0,!1,inUntrustedWorkspace]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if("object"!=typeof e||!e)return t;const i={};for(const[o,n]of Object.entries(e))!0===n&&(i[o]=!0);return i}}class InlineEditorSuggest extends BaseEditorOption{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:localize("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[localize("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),localize("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),localize("inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:localize("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:localize("inlineSuggest.suppressSuggestions","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:e.fontFamily,description:localize("inlineSuggest.fontFamily","Controls the font family of the inline suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),mode:stringSet(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:stringSet(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:boolean(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:boolean(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:EditorStringOption.string(t.fontFamily,this.defaultValue.fontFamily)}}}class InlineEditorEdit extends BaseEditorOption{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:localize("inlineEdit.enabled","Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[localize("inlineEdit.showToolbar.always","Show the inline edit toolbar whenever an inline suggestion is shown."),localize("inlineEdit.showToolbar.onHover","Show the inline edit toolbar when hovering over an inline suggestion."),localize("inlineEdit.showToolbar.never","Never show the inline edit toolbar.")],description:localize("inlineEdit.showToolbar","Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:localize("inlineEdit.fontFamily","Controls the font family of the inline edit.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),showToolbar:stringSet(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:EditorStringOption.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:boolean(t.keepOnBlur,this.defaultValue.keepOnBlur)}}}class BracketPairColorization extends BaseEditorOption{constructor(){const e={enabled:EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:localize("bracketPairColorization.enabled","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:e.independentColorPoolPerBracketType,description:localize("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:boolean(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class GuideOptions extends BaseEditorOption{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[localize("editor.guides.bracketPairs.true","Enables bracket pair guides."),localize("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),localize("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:localize("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[localize("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),localize("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),localize("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:localize("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:localize("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:localize("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[localize("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),localize("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),localize("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:localize("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{bracketPairs:primitiveSet(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:primitiveSet(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:boolean(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:boolean(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:primitiveSet(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function primitiveSet(e,t,i){const o=i.indexOf(e);return-1===o?t:i[o]}class EditorSuggest extends BaseEditorOption{constructor(){const e={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",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[localize("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),localize("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:localize("suggest.insertMode","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:localize("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:localize("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:localize("suggest.shareSuggestSelections","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:[localize("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),localize("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),localize("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),localize("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:localize("suggest.selectionMode","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:e.snippetsPreventQuickSuggestions,description:localize("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:localize("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:localize("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:localize("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:localize("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:localize("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:localize("deprecated","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:localize("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.matchOnWordStartOnly","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:localize("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertMode:stringSet(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:boolean(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:boolean(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:boolean(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:boolean(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:stringSet(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:boolean(t.showIcons,this.defaultValue.showIcons),showStatusBar:boolean(t.showStatusBar,this.defaultValue.showStatusBar),preview:boolean(t.preview,this.defaultValue.preview),previewMode:stringSet(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:boolean(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:boolean(t.showMethods,this.defaultValue.showMethods),showFunctions:boolean(t.showFunctions,this.defaultValue.showFunctions),showConstructors:boolean(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:boolean(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:boolean(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:boolean(t.showFields,this.defaultValue.showFields),showVariables:boolean(t.showVariables,this.defaultValue.showVariables),showClasses:boolean(t.showClasses,this.defaultValue.showClasses),showStructs:boolean(t.showStructs,this.defaultValue.showStructs),showInterfaces:boolean(t.showInterfaces,this.defaultValue.showInterfaces),showModules:boolean(t.showModules,this.defaultValue.showModules),showProperties:boolean(t.showProperties,this.defaultValue.showProperties),showEvents:boolean(t.showEvents,this.defaultValue.showEvents),showOperators:boolean(t.showOperators,this.defaultValue.showOperators),showUnits:boolean(t.showUnits,this.defaultValue.showUnits),showValues:boolean(t.showValues,this.defaultValue.showValues),showConstants:boolean(t.showConstants,this.defaultValue.showConstants),showEnums:boolean(t.showEnums,this.defaultValue.showEnums),showEnumMembers:boolean(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:boolean(t.showKeywords,this.defaultValue.showKeywords),showWords:boolean(t.showWords,this.defaultValue.showWords),showColors:boolean(t.showColors,this.defaultValue.showColors),showFiles:boolean(t.showFiles,this.defaultValue.showFiles),showReferences:boolean(t.showReferences,this.defaultValue.showReferences),showFolders:boolean(t.showFolders,this.defaultValue.showFolders),showTypeParameters:boolean(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:boolean(t.showSnippets,this.defaultValue.showSnippets),showUsers:boolean(t.showUsers,this.defaultValue.showUsers),showIssues:boolean(t.showIssues,this.defaultValue.showIssues)}}}class SmartSelect extends BaseEditorOption{constructor(){super(114,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:localize("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:localize("selectSubwords","Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return e&&"object"==typeof e?{selectLeadingAndTrailingWhitespace:boolean(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:boolean(e.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}class WordSegmenterLocales extends BaseEditorOption{constructor(){super(131,"wordSegmenterLocales",[],{anyOf:[{description:localize("wordSegmenterLocales","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:localize("wordSegmenterLocales","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(e){if("string"==typeof e&&(e=[e]),Array.isArray(e)){const t=[];for(const i of e)if("string"==typeof i)try{Intl.Segmenter.supportedLocalesOf(i).length>0&&t.push(i)}catch{}return t}return this.defaultValue}}class WrappingIndentOption extends BaseEditorOption{constructor(){super(139,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[localize("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),localize("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),localize("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),localize("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:localize("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return 2===t.get(2)?0:i}}class EditorWrappingInfoComputer extends ComputedEditorOption{constructor(){super(147)}compute(e,t,i){const o=t.get(146);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:o.isWordWrapMinified,isViewportWrapping:o.isViewportWrapping,wrappingColumn:o.wrappingColumn}}}class EditorDropIntoEditor extends BaseEditorOption{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:localize("dropIntoEditor.enabled","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:localize("dropIntoEditor.showDropSelector","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:[localize("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),localize("dropIntoEditor.showDropSelector.never","Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),showDropSelector:stringSet(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}class EditorPasteAs extends BaseEditorOption{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:localize("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:localize("pasteAs.showPasteSelector","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:[localize("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),localize("pasteAs.showPasteSelector.never","Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),showPasteSelector:stringSet(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}const DEFAULT_WINDOWS_FONT_FAMILY="Consolas, 'Courier New', monospace",DEFAULT_MAC_FONT_FAMILY="Menlo, Monaco, 'Courier New', monospace",DEFAULT_LINUX_FONT_FAMILY="'Droid Sans Mono', 'monospace', monospace",EDITOR_FONT_DEFAULTS={fontFamily:isMacintosh?DEFAULT_MAC_FONT_FAMILY:isLinux?DEFAULT_LINUX_FONT_FAMILY:DEFAULT_WINDOWS_FONT_FAMILY,fontWeight:"normal",fontSize:isMacintosh?12:14,lineHeight:0,letterSpacing:0},editorOptionsRegistry=[];function register$2(e){return editorOptionsRegistry[e.id]=e,e}const EditorOptions={acceptSuggestionOnCommitCharacter:register$2(new EditorBooleanOption(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:localize("acceptSuggestionOnCommitCharacter","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:register$2(new EditorStringEnumOption(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",localize("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:localize("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:register$2(new EditorAccessibilitySupport),accessibilityPageSize:register$2(new EditorIntOption(3,"accessibilityPageSize",10,1,1073741824,{description:localize("accessibilityPageSize","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:register$2(new EditorStringOption(4,"ariaLabel",localize("editorViewAccessibleLabel","Editor content"))),ariaRequired:register$2(new EditorBooleanOption(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:register$2(new EditorBooleanOption(8,"screenReaderAnnounceInlineSuggestion",!0,{description:localize("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:register$2(new EditorStringEnumOption(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),localize("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:localize("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:register$2(new EditorStringEnumOption(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize("editor.autoClosingComments.languageDefined","Use language configurations to determine when to autoclose comments."),localize("editor.autoClosingComments.beforeWhitespace","Autoclose comments only when the cursor is to the left of whitespace."),""],description:localize("autoClosingComments","Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:register$2(new EditorStringEnumOption(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",localize("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:localize("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:register$2(new EditorStringEnumOption(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",localize("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:localize("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:register$2(new EditorStringEnumOption(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),localize("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:localize("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:register$2(new EditorEnumOption(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],_autoIndentFromString,{enumDescriptions:[localize("editor.autoIndent.none","The editor will not insert indentation automatically."),localize("editor.autoIndent.keep","The editor will keep the current line's indentation."),localize("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),localize("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),localize("editor.autoIndent.full","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:localize("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:register$2(new EditorBooleanOption(13,"automaticLayout",!1)),autoSurround:register$2(new EditorStringEnumOption(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[localize("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),localize("editor.autoSurround.quotes","Surround with quotes but not brackets."),localize("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:localize("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:register$2(new BracketPairColorization),bracketPairGuides:register$2(new GuideOptions),stickyTabStops:register$2(new EditorBooleanOption(117,"stickyTabStops",!1,{description:localize("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:register$2(new EditorBooleanOption(17,"codeLens",!0,{description:localize("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:register$2(new EditorStringOption(18,"codeLensFontFamily","",{description:localize("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:register$2(new EditorIntOption(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:localize("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:register$2(new EditorBooleanOption(20,"colorDecorators",!0,{description:localize("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:register$2(new EditorStringEnumOption(149,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[localize("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),localize("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),localize("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:localize("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:register$2(new EditorIntOption(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:localize("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:register$2(new EditorBooleanOption(22,"columnSelection",!1,{description:localize("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:register$2(new EditorComments),contextmenu:register$2(new EditorBooleanOption(24,"contextmenu",!0)),copyWithSyntaxHighlighting:register$2(new EditorBooleanOption(25,"copyWithSyntaxHighlighting",!0,{description:localize("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:register$2(new EditorEnumOption(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],_cursorBlinkingStyleFromString,{description:localize("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:register$2(new EditorStringEnumOption(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[localize("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),localize("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),localize("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:localize("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:register$2(new EditorEnumOption(28,"cursorStyle",TextEditorCursorStyle$1.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],_cursorStyleFromString,{description:localize("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:register$2(new EditorIntOption(29,"cursorSurroundingLines",0,0,1073741824,{description:localize("cursorSurroundingLines","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:register$2(new EditorStringEnumOption(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[localize("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),localize("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],markdownDescription:localize("cursorSurroundingLinesStyle","Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:register$2(new EditorIntOption(31,"cursorWidth",0,0,1073741824,{markdownDescription:localize("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:register$2(new EditorBooleanOption(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:register$2(new EditorBooleanOption(33,"disableMonospaceOptimizations",!1)),domReadOnly:register$2(new EditorBooleanOption(34,"domReadOnly",!1)),dragAndDrop:register$2(new EditorBooleanOption(35,"dragAndDrop",!0,{description:localize("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:register$2(new EditorEmptySelectionClipboard),dropIntoEditor:register$2(new EditorDropIntoEditor),stickyScroll:register$2(new EditorStickyScroll),experimentalWhitespaceRendering:register$2(new EditorStringEnumOption(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[localize("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),localize("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),localize("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:localize("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:register$2(new EditorStringOption(39,"extraEditorClassName","")),fastScrollSensitivity:register$2(new EditorFloatOption(40,"fastScrollSensitivity",5,e=>e<=0?5:e,{markdownDescription:localize("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:register$2(new EditorFind),fixedOverflowWidgets:register$2(new EditorBooleanOption(42,"fixedOverflowWidgets",!1)),folding:register$2(new EditorBooleanOption(43,"folding",!0,{description:localize("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:register$2(new EditorStringEnumOption(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[localize("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),localize("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:localize("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:register$2(new EditorBooleanOption(45,"foldingHighlight",!0,{description:localize("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:register$2(new EditorBooleanOption(46,"foldingImportsByDefault",!1,{description:localize("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:register$2(new EditorIntOption(47,"foldingMaximumRegions",5e3,10,65e3,{description:localize("foldingMaximumRegions","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:register$2(new EditorBooleanOption(48,"unfoldOnClickAfterEndOfLine",!1,{description:localize("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:register$2(new EditorStringOption(49,"fontFamily",EDITOR_FONT_DEFAULTS.fontFamily,{description:localize("fontFamily","Controls the font family.")})),fontInfo:register$2(new EditorFontInfo),fontLigatures2:register$2(new EditorFontLigatures),fontSize:register$2(new EditorFontSize),fontWeight:register$2(new EditorFontWeight),fontVariations:register$2(new EditorFontVariations),formatOnPaste:register$2(new EditorBooleanOption(55,"formatOnPaste",!1,{description:localize("formatOnPaste","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:register$2(new EditorBooleanOption(56,"formatOnType",!1,{description:localize("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:register$2(new EditorBooleanOption(57,"glyphMargin",!0,{description:localize("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:register$2(new EditorGoToLocation),hideCursorInOverviewRuler:register$2(new EditorBooleanOption(59,"hideCursorInOverviewRuler",!1,{description:localize("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:register$2(new EditorHover),inDiffEditor:register$2(new EditorBooleanOption(61,"inDiffEditor",!1)),letterSpacing:register$2(new EditorFloatOption(64,"letterSpacing",EDITOR_FONT_DEFAULTS.letterSpacing,e=>EditorFloatOption.clamp(e,-5,20),{description:localize("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:register$2(new EditorLightbulb),lineDecorationsWidth:register$2(new EditorLineDecorationsWidth),lineHeight:register$2(new EditorLineHeight),lineNumbers:register$2(new EditorRenderLineNumbersOption),lineNumbersMinChars:register$2(new EditorIntOption(69,"lineNumbersMinChars",5,1,300)),linkedEditing:register$2(new EditorBooleanOption(70,"linkedEditing",!1,{description:localize("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:register$2(new EditorBooleanOption(71,"links",!0,{description:localize("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:register$2(new EditorStringEnumOption(72,"matchBrackets","always",["always","near","never"],{description:localize("matchBrackets","Highlight matching brackets.")})),minimap:register$2(new EditorMinimap),mouseStyle:register$2(new EditorStringEnumOption(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:register$2(new EditorFloatOption(75,"mouseWheelScrollSensitivity",1,e=>0===e?1:e,{markdownDescription:localize("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:register$2(new EditorBooleanOption(76,"mouseWheelZoom",!1,{markdownDescription:isMacintosh?localize("mouseWheelZoom.mac","Zoom the font of the editor when using mouse wheel and holding `Cmd`."):localize("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:register$2(new EditorBooleanOption(77,"multiCursorMergeOverlapping",!0,{description:localize("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:register$2(new EditorEnumOption(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],_multiCursorModifierFromString,{markdownEnumDescriptions:[localize("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),localize("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:localize({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"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:register$2(new EditorStringEnumOption(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[localize("multiCursorPaste.spread","Each cursor pastes a single line of the text."),localize("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:localize("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:register$2(new EditorIntOption(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:localize("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:register$2(new EditorStringEnumOption(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[localize("occurrencesHighlight.off","Does not highlight occurrences."),localize("occurrencesHighlight.singleFile","Highlights occurrences only in the current file."),localize("occurrencesHighlight.multiFile","Experimental: Highlights occurrences across all valid open files.")],markdownDescription:localize("occurrencesHighlight","Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:register$2(new EditorBooleanOption(82,"overviewRulerBorder",!0,{description:localize("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:register$2(new EditorIntOption(83,"overviewRulerLanes",3,0,3)),padding:register$2(new EditorPadding),pasteAs:register$2(new EditorPasteAs),parameterHints:register$2(new EditorParameterHints),peekWidgetDefaultFocus:register$2(new EditorStringEnumOption(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[localize("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),localize("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:localize("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:register$2(new PlaceholderOption),definitionLinkOpensInPeek:register$2(new EditorBooleanOption(89,"definitionLinkOpensInPeek",!1,{description:localize("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:register$2(new EditorQuickSuggestions),quickSuggestionsDelay:register$2(new EditorIntOption(91,"quickSuggestionsDelay",10,0,1073741824,{description:localize("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:register$2(new EditorBooleanOption(92,"readOnly",!1)),readOnlyMessage:register$2(new ReadonlyMessage),renameOnType:register$2(new EditorBooleanOption(94,"renameOnType",!1,{description:localize("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:localize("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:register$2(new EditorBooleanOption(95,"renderControlCharacters",!0,{description:localize("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:register$2(new EditorStringEnumOption(96,"renderFinalNewline",isLinux?"dimmed":"on",["off","on","dimmed"],{description:localize("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:register$2(new EditorStringEnumOption(97,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",localize("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:localize("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:register$2(new EditorBooleanOption(98,"renderLineHighlightOnlyWhenFocus",!1,{description:localize("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:register$2(new EditorStringEnumOption(99,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:register$2(new EditorStringEnumOption(100,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",localize("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),localize("renderWhitespace.selection","Render whitespace characters only on selected text."),localize("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:localize("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:register$2(new EditorIntOption(101,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:register$2(new EditorBooleanOption(102,"roundedSelection",!0,{description:localize("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:register$2(new EditorRulers),scrollbar:register$2(new EditorScrollbar$1),scrollBeyondLastColumn:register$2(new EditorIntOption(105,"scrollBeyondLastColumn",4,0,1073741824,{description:localize("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:register$2(new EditorBooleanOption(106,"scrollBeyondLastLine",!0,{description:localize("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:register$2(new EditorBooleanOption(107,"scrollPredominantAxis",!0,{description:localize("scrollPredominantAxis","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:register$2(new EditorBooleanOption(108,"selectionClipboard",!0,{description:localize("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:isLinux})),selectionHighlight:register$2(new EditorBooleanOption(109,"selectionHighlight",!0,{description:localize("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:register$2(new EditorBooleanOption(110,"selectOnLineNumbers",!0)),showFoldingControls:register$2(new EditorStringEnumOption(111,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[localize("showFoldingControls.always","Always show the folding controls."),localize("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),localize("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:localize("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:register$2(new EditorBooleanOption(112,"showUnused",!0,{description:localize("showUnused","Controls fading out of unused code.")})),showDeprecated:register$2(new EditorBooleanOption(141,"showDeprecated",!0,{description:localize("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:register$2(new EditorInlayHints),snippetSuggestions:register$2(new EditorStringEnumOption(113,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[localize("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),localize("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),localize("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),localize("snippetSuggestions.none","Do not show snippet suggestions.")],description:localize("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:register$2(new SmartSelect),smoothScrolling:register$2(new EditorBooleanOption(115,"smoothScrolling",!1,{description:localize("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:register$2(new EditorIntOption(118,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:register$2(new EditorSuggest),inlineSuggest:register$2(new InlineEditorSuggest),inlineEdit:register$2(new InlineEditorEdit),inlineCompletionsAccessibilityVerbose:register$2(new EditorBooleanOption(150,"inlineCompletionsAccessibilityVerbose",!1,{description:localize("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:register$2(new EditorIntOption(120,"suggestFontSize",0,0,1e3,{markdownDescription:localize("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:register$2(new EditorIntOption(121,"suggestLineHeight",0,0,1e3,{markdownDescription:localize("suggestLineHeight","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:register$2(new EditorBooleanOption(122,"suggestOnTriggerCharacters",!0,{description:localize("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:register$2(new EditorStringEnumOption(123,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[localize("suggestSelection.first","Always select the first suggestion."),localize("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),localize("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:localize("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:register$2(new EditorStringEnumOption(124,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[localize("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),localize("tabCompletion.off","Disable tab completions."),localize("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:localize("tabCompletion","Enables tab completions.")})),tabIndex:register$2(new EditorIntOption(125,"tabIndex",0,-1,1073741824)),unicodeHighlight:register$2(new UnicodeHighlight),unusualLineTerminators:register$2(new EditorStringEnumOption(127,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[localize("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),localize("unusualLineTerminators.off","Unusual line terminators are ignored."),localize("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:localize("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:register$2(new EditorBooleanOption(128,"useShadowDOM",!0)),useTabStops:register$2(new EditorBooleanOption(129,"useTabStops",!0,{description:localize("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:register$2(new EditorStringEnumOption(130,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[localize("wordBreak.normal","Use the default line break rule."),localize("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:localize("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:register$2(new WordSegmenterLocales),wordSeparators:register$2(new EditorStringOption(132,"wordSeparators",USUAL_WORD_SEPARATORS,{description:localize("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:register$2(new EditorStringEnumOption(133,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[localize("wordWrap.off","Lines will never wrap."),localize("wordWrap.on","Lines will wrap at the viewport width."),localize({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),localize({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:localize({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:register$2(new EditorStringOption(134,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:register$2(new EditorStringOption(135,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:register$2(new EditorIntOption(136,"wordWrapColumn",80,1,1073741824,{markdownDescription:localize({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:register$2(new EditorStringEnumOption(137,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:register$2(new EditorStringEnumOption(138,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:register$2(new EditorClassName),defaultColorDecorators:register$2(new EditorBooleanOption(148,"defaultColorDecorators",!1,{markdownDescription:localize("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:register$2(new EditorPixelRatio),tabFocusMode:register$2(new EditorBooleanOption(145,"tabFocusMode",!1,{markdownDescription:localize("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:register$2(new EditorLayoutInfoComputer),wrappingInfo:register$2(new EditorWrappingInfoComputer),wrappingIndent:register$2(new WrappingIndentOption),wrappingStrategy:register$2(new WrappingStrategy)};class ErrorHandler{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{if(e.stack){if(ErrorNoTelemetry.isErrorNoTelemetry(e))throw new ErrorNoTelemetry(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const errorHandler=new ErrorHandler;function onUnexpectedError(e){isCancellationError(e)||errorHandler.onUnexpectedError(e)}function onUnexpectedExternalError(e){isCancellationError(e)||errorHandler.onUnexpectedExternalError(e)}function transformErrorForSerialization(e){if(e instanceof Error){const{name:t,message:i}=e;return{$isError:!0,name:t,message:i,stack:e.stacktrace||e.stack,noTelemetry:ErrorNoTelemetry.isErrorNoTelemetry(e)}}return e}const canceledName="Canceled";function isCancellationError(e){return e instanceof CancellationError||e instanceof Error&&e.name===canceledName&&e.message===canceledName}class CancellationError extends Error{constructor(){super(canceledName),this.name=this.message}}function canceled(){const e=new Error(canceledName);return e.name=e.message,e}function illegalArgument(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function illegalState(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class NotSupportedError extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class ErrorNoTelemetry extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof ErrorNoTelemetry)return e;const t=new ErrorNoTelemetry;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class BugIndicatingError extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,BugIndicatingError.prototype)}}function createSingleCallFunction(e,t){const i=this;let o,n=!1;return function(){return n||(n=!0,o=e.apply(i,arguments)),o}}function trackDisposable(e){return e}function setParentOfDisposable(e,t){}function markAsSingleton(e){return e}function isDisposable(e){return"object"==typeof e&&null!==e&&"function"==typeof e.dispose&&0===e.dispose.length}function dispose(t){if(Iterable.is(t)){const i=[];for(const o of t)if(o)try{o.dispose()}catch(e){i.push(e)}if(1===i.length)throw i[0];if(i.length>1)throw new AggregateError(i,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}if(t)return t.dispose(),t}function combinedDisposable(...e){return toDisposable(()=>dispose(e))}function toDisposable(e){return trackDisposable({dispose:createSingleCallFunction(()=>{e()})})}class DisposableStore{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{dispose(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?DisposableStore.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(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&this._toDispose.delete(e)}}class Disposable{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new DisposableStore,setParentOfDisposable(this._store)}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}class MutableDisposable{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}}class RefCountedDisposable{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return 0===--this._counter&&this._disposable.dispose(),this}}class ImmortalReference{constructor(e){this.object=e}dispose(){}}class DisposableMap{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{dispose(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!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),i||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const hasPerformanceNow=globalThis.performance&&"function"==typeof globalThis.performance.now;class StopWatch{static create(e){return new StopWatch(e)}constructor(e){this._now=hasPerformanceNow&&!1===e?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-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var Event$1;!function(e){function t(e){return(t,i=null,o)=>{let n,r=!1;return n=e(e=>{if(!r)return n?n.dispose():r=!0,t.call(i,e)},null,o),r&&n.dispose(),n}}function i(e,t,i){return n((i,o=null,n)=>e(e=>i.call(o,t(e)),null,n),i)}function o(e,t,i){return n((i,o=null,n)=>e(e=>t(e)&&i.call(o,e),null,n),i)}function n(e,t){let i;const o=new Emitter$1({onWillAddFirstListener(){i=e(o.fire,o)},onDidRemoveLastListener(){i?.dispose()}});return t?.add(o),o.event}function r(e,t,i=100,o=!1,n=!1,r,s){let a,l,c,d,u=0;const h=new Emitter$1({leakWarningThreshold:r,onWillAddFirstListener(){a=e(e=>{u++,l=t(l,e),o&&!c&&(h.fire(l),l=void 0),d=()=>{const e=l;l=void 0,c=void 0,(!o||u>1)&&h.fire(e),u=0},"number"==typeof i?(clearTimeout(c),c=setTimeout(d,i)):void 0===c&&(c=0,queueMicrotask(d))})},onWillRemoveListener(){n&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,a.dispose()}});return s?.add(h),h.event}e.None=()=>Disposable.None,e.defer=function(e,t){return r(e,()=>{},0,void 0,!0,void 0,t)},e.once=t,e.onceIf=function(t,i){return e.once(e.filter(t,i))},e.map=i,e.forEach=function(e,t,i){return n((i,o=null,n)=>e(e=>{t(e),i.call(o,e)},null,n),i)},e.filter=o,e.signal=function(e){return e},e.any=function(...e){return(t,i=null,o)=>function(e,t){t instanceof Array?t.push(e):t&&t.add(e);return e}(combinedDisposable(...e.map(e=>e(e=>t.call(i,e)))),o)},e.reduce=function(e,t,o,n){let r=o;return i(e,e=>(r=t(r,e),r),n)},e.debounce=r,e.accumulate=function(t,i=0,o){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],i,void 0,!0,void 0,o)},e.latch=function(e,t=(e,t)=>e===t,i){let n,r=!0;return o(e,e=>{const i=r||!t(e,n);return r=!1,n=e,i},i)},e.split=function(t,i,o){return[e.filter(t,i,o),e.filter(t,e=>!i(e),o)]},e.buffer=function(e,t=!1,i=[],o){let n=i.slice(),r=e(e=>{n?n.push(e):a.fire(e)});o&&o.add(r);const s=()=>{n?.forEach(e=>a.fire(e)),n=null},a=new Emitter$1({onWillAddFirstListener(){r||(r=e(e=>a.fire(e)),o&&o.add(r))},onDidAddFirstListener(){n&&(t?setTimeout(s):s())},onDidRemoveLastListener(){r&&r.dispose(),r=null}});return o&&o.add(a),a.event},e.chain=function(e,t){return(i,o,n)=>{const r=t(new a);return e(function(e){const t=r.evaluate(e);t!==s&&i.call(o,t)},void 0,n)}};const s=Symbol("HaltChainable");class a{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:s),this}reduce(e,t){let i=t;return this.steps.push(t=>(i=e(i,t),i)),this}latch(e=(e,t)=>e===t){let t,i=!0;return this.steps.push(o=>{const n=i||!e(o,t);return i=!1,t=o,n?o:s}),this}evaluate(e){for(const t of this.steps)if((e=t(e))===s)break;return e}}e.fromNodeEventEmitter=function(e,t,i=e=>e){const o=(...e)=>n.fire(i(...e)),n=new Emitter$1({onWillAddFirstListener:()=>e.on(t,o),onDidRemoveLastListener:()=>e.removeListener(t,o)});return n.event},e.fromDOMEventEmitter=function(e,t,i=e=>e){const o=(...e)=>n.fire(i(...e)),n=new Emitter$1({onWillAddFirstListener:()=>e.addEventListener(t,o),onDidRemoveLastListener:()=>e.removeEventListener(t,o)});return n.event},e.toPromise=function(e){return new Promise(i=>t(e)(i))},e.fromPromise=function(e){const t=new Emitter$1;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event},e.forward=function(e,t){return e(e=>t.fire(e))},e.runAndSubscribe=function(e,t,i){return t(i),e(e=>t(e))};class l{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;const i={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new Emitter$1(i),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new l(e,t).emitter.event},e.fromObservableLight=function(e){return(t,i,o)=>{let n=0,r=!1;const s={beginUpdate(){n++},endUpdate(){n--,0===n&&(e.reportChanges(),r&&(r=!1,t.call(i)))},handlePossibleChange(){},handleChange(){r=!0}};e.addObserver(s),e.reportChanges();const a={dispose(){e.removeObserver(s)}};return o instanceof DisposableStore?o.add(a):Array.isArray(o)&&o.push(a),a}}}(Event$1||(Event$1={}));class EventProfiling{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${EventProfiling._idPool++}`,EventProfiling.all.add(this)}start(e){this._stopWatch=new StopWatch,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}let _globalLeakWarningThreshold=-1;class LeakageMonitor{static{this._idPool=1}constructor(e,t,i=(LeakageMonitor._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[i,o]of this._stacks)(!e||t{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],i=new ListenerRefusalError(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||onUnexpectedError)(i),Disposable.None}if(this._disposed)return Disposable.None;t&&(e=e.bind(t));const o=new UniqueContainer(e);let n;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(o.stack=Stacktrace.create(),n=this._leakageMon.check(o.stack,this._size+1)),this._listeners?this._listeners instanceof UniqueContainer?(this._deliveryQueue??=new EventDeliveryQueuePrivate,this._listeners=[this._listeners,o]):this._listeners.push(o):(this._options?.onWillAddFirstListener?.(this),this._listeners=o,this._options?.onDidAddFirstListener?.(this)),this._size++;const r=toDisposable(()=>{n?.(),this._removeListener(o)});return i instanceof DisposableStore?i.add(r):Array.isArray(i)&&i.push(r),r},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,i=t.indexOf(e);if(-1===i)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--,t[i]=void 0;const o=this._deliveryQueue.current===this;if(this._size*compactionThreshold<=t.length){let e=0;for(let i=0;i0}};const createEventDeliveryQueue=()=>new EventDeliveryQueuePrivate;class EventDeliveryQueuePrivate{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class PauseableEmitter extends Emitter$1{constructor(e){super(e),this._isPaused=0,this._eventQueue=new LinkedList,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0===--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}}class DebounceEmitter extends PauseableEmitter{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class MicrotaskEmitter extends Emitter$1{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),1===this._queuedEvents.length&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(e=>super.fire(e)),this._queuedEvents=[]}))}}class EventMultiplexer{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new Emitter$1({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};this.events.push(t),this.hasListeners&&this.hook(t);return toDisposable(createSingleCallFunction(()=>{this.hasListeners&&this.unhook(t);const e=this.events.indexOf(t);this.events.splice(e,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(e=>this.emitter.fire(e))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(const e of this.events)e.listener?.dispose();this.events=[]}}class EventBufferer{constructor(){this.data=[]}wrapEvent(e,t,i){return(o,n,r)=>e(e=>{const r=this.data[this.data.length-1];if(!t)return void(r?r.buffers.push(()=>o.call(n,e)):o.call(n,e));const s=r;s?(s.items??=[],s.items.push(e),0===s.buffers.length&&r.buffers.push(()=>{s.reducedResult??=i?s.items.reduce(t,i):s.items.reduce(t),o.call(n,s.reducedResult)})):o.call(n,t(i,e))},void 0,r)}bufferEvents(e){const t={buffers:new Array};this.data.push(t);const i=e();return this.data.pop(),t.buffers.forEach(e=>e()),i}}class Relay{constructor(){this.listening=!1,this.inputEvent=Event$1.None,this.inputEventListener=Disposable.None,this.emitter=new Emitter$1({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(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const shortcutEvent=Object.freeze(function(e,t){const i=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(i)}}});var CancellationToken;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof MutableToken||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Event$1.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:shortcutEvent})}(CancellationToken||(CancellationToken={}));class MutableToken{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?shortcutEvent:(this._emitter||(this._emitter=new Emitter$1),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}let CancellationTokenSource$1=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new MutableToken),this._token}cancel(){this._token?this._token instanceof MutableToken&&this._token.cancel():this._token=CancellationToken.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=CancellationToken.None}};function cancelOnDispose(e){const t=new CancellationTokenSource$1;return e.add({dispose(){t.cancel()}}),t.token}class KeyCodeStrMap{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const uiMap=new KeyCodeStrMap,userSettingsUSMap=new KeyCodeStrMap,userSettingsGeneralMap=new KeyCodeStrMap,EVENT_KEY_CODE_MAP=new Array(230),scanCodeStrToInt=Object.create(null),scanCodeLowerCaseStrToInt=Object.create(null),IMMUTABLE_CODE_TO_KEY_CODE=[];for(let t=0;t<=193;t++)IMMUTABLE_CODE_TO_KEY_CODE[t]=-1;var KeyCodeUtils;function KeyChord(e,t){return(e|(65535&t)<<16>>>0)>>>0}!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],i=[],o=[];for(const n of t){const[e,t,r,s,a,l,c,d,u]=n;if(o[t]||(o[t]=!0,scanCodeStrToInt[r]=t,scanCodeLowerCaseStrToInt[r.toLowerCase()]=t,e&&(IMMUTABLE_CODE_TO_KEY_CODE[t]=s)),!i[s]){if(i[s]=!0,!a)throw new Error(`String representation missing for key code ${s} around scan code ${r}`);uiMap.define(s,a),userSettingsUSMap.define(s,d||a),userSettingsGeneralMap.define(s,u||d||a)}l&&(EVENT_KEY_CODE_MAP[l]=s)}}(),function(e){e.toString=function(e){return uiMap.keyCodeToStr(e)},e.fromString=function(e){return uiMap.strToKeyCode(e)},e.toUserSettingsUS=function(e){return userSettingsUSMap.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return userSettingsGeneralMap.keyCodeToStr(e)},e.fromUserSettings=function(e){return userSettingsUSMap.strToKeyCode(e)||userSettingsGeneralMap.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return uiMap.keyCodeToStr(e)}}(KeyCodeUtils||(KeyCodeUtils={}));var define_process_env_default={};let safeProcess;const vscodeGlobal=globalThis.vscode;if(void 0!==vscodeGlobal&&void 0!==vscodeGlobal.process){const e=vscodeGlobal.process;safeProcess={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else safeProcess="undefined"!=typeof process&&"string"==typeof process?.versions?.node?{get platform(){return process.platform},get arch(){return process.arch},get env(){return define_process_env_default},cwd:()=>define_process_env_default.VSCODE_CWD||process.cwd()}:{get platform(){return isWindows?"win32":isMacintosh?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const cwd=safeProcess.cwd,env=safeProcess.env,platform=safeProcess.platform,CHAR_UPPERCASE_A=65,CHAR_LOWERCASE_A=97,CHAR_UPPERCASE_Z=90,CHAR_LOWERCASE_Z=122,CHAR_DOT=46,CHAR_FORWARD_SLASH=47,CHAR_BACKWARD_SLASH=92,CHAR_COLON=58,CHAR_QUESTION_MARK=63;class ErrorInvalidArgType extends Error{constructor(e,t,i){let o;"string"==typeof t&&0===t.indexOf("not ")?(o="must not be",t=t.replace(/^not /,"")):o="must be";const n=-1!==e.indexOf(".")?"property":"argument";let r=`The "${e}" ${n} ${o} of type ${t}`;r+=". Received type "+typeof i,super(r),this.code="ERR_INVALID_ARG_TYPE"}}function validateObject(e,t){if(null===e||"object"!=typeof e)throw new ErrorInvalidArgType(t,"Object",e)}function validateString(e,t){if("string"!=typeof e)throw new ErrorInvalidArgType(t,"string",e)}const platformIsWin32="win32"===platform;function isPathSeparator$1(e){return e===CHAR_FORWARD_SLASH||e===CHAR_BACKWARD_SLASH}function isPosixPathSeparator(e){return e===CHAR_FORWARD_SLASH}function isWindowsDeviceRoot(e){return e>=CHAR_UPPERCASE_A&&e<=CHAR_UPPERCASE_Z||e>=CHAR_LOWERCASE_A&&e<=CHAR_LOWERCASE_Z}function normalizeString(e,t,i,o){let n="",r=0,s=-1,a=0,l=0;for(let c=0;c<=e.length;++c){if(c2){const e=n.lastIndexOf(i);-1===e?(n="",r=0):(n=n.slice(0,e),r=n.length-1-n.lastIndexOf(i)),s=c,a=0;continue}if(0!==n.length){n="",r=0,s=c,a=0;continue}}t&&(n+=n.length>0?`${i}..`:"..",r=2)}else n.length>0?n+=`${i}${e.slice(s+1,c)}`:n=e.slice(s+1,c),r=c-s-1;s=c,a=0}else l===CHAR_DOT&&-1!==a?++a:a=-1}return n}function formatExt(e){return e?`${"."===e[0]?"":"."}${e}`:""}function _format(e,t){validateObject(t,"pathObject");const i=t.dir||t.root,o=t.base||`${t.name||""}${formatExt(t.ext)}`;return i?i===t.root?`${i}${o}`:`${i}${e}${o}`:o}const win32={resolve(...e){let t="",i="",o=!1;for(let n=e.length-1;n>=-1;n--){let r;if(n>=0){if(r=e[n],validateString(r,`paths[${n}]`),0===r.length)continue}else 0===t.length?r=cwd():(r=env[`=${t}`]||cwd(),(void 0===r||r.slice(0,2).toLowerCase()!==t.toLowerCase()&&r.charCodeAt(2)===CHAR_BACKWARD_SLASH)&&(r=`${t}\\`));const s=r.length;let a=0,l="",c=!1;const d=r.charCodeAt(0);if(1===s)isPathSeparator$1(d)&&(a=1,c=!0);else if(isPathSeparator$1(d))if(c=!0,isPathSeparator$1(r.charCodeAt(1))){let e=2,t=e;for(;e2&&isPathSeparator$1(r.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(o){if(t.length>0)break}else if(i=`${r.slice(a)}\\${i}`,o=c,c&&t.length>0)break}return i=normalizeString(i,!o,"\\",isPathSeparator$1),o?`${t}\\${i}`:`${t}${i}`||"."},normalize(e){validateString(e,"path");const t=e.length;if(0===t)return".";let i,o=0,n=!1;const r=e.charCodeAt(0);if(1===t)return isPosixPathSeparator(r)?"\\":e;if(isPathSeparator$1(r))if(n=!0,isPathSeparator$1(e.charCodeAt(1))){let n=2,r=n;for(;n2&&isPathSeparator$1(e.charCodeAt(2))&&(n=!0,o=3));let s=o0&&isPathSeparator$1(e.charCodeAt(t-1))&&(s+="\\"),void 0===i?n?`\\${s}`:s:n?`${i}\\${s}`:`${i}${s}`},isAbsolute(e){validateString(e,"path");const t=e.length;if(0===t)return!1;const i=e.charCodeAt(0);return isPathSeparator$1(i)||t>2&&isWindowsDeviceRoot(i)&&e.charCodeAt(1)===CHAR_COLON&&isPathSeparator$1(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,i;for(let r=0;r0&&(void 0===t?t=i=o:t+=`\\${o}`)}if(void 0===t)return".";let o=!0,n=0;if("string"==typeof i&&isPathSeparator$1(i.charCodeAt(0))){++n;const e=i.length;e>1&&isPathSeparator$1(i.charCodeAt(1))&&(++n,e>2&&(isPathSeparator$1(i.charCodeAt(2))?++n:o=!1))}if(o){for(;n=2&&(t=`\\${t.slice(n)}`)}return win32.normalize(t)},relative(e,t){if(validateString(e,"from"),validateString(t,"to"),e===t)return"";const i=win32.resolve(e),o=win32.resolve(t);if(i===o)return"";if((e=i.toLowerCase())===(t=o.toLowerCase()))return"";let n=0;for(;nn&&e.charCodeAt(r-1)===CHAR_BACKWARD_SLASH;)r--;const s=r-n;let a=0;for(;aa&&t.charCodeAt(l-1)===CHAR_BACKWARD_SLASH;)l--;const c=l-a,d=sd){if(t.charCodeAt(a+h)===CHAR_BACKWARD_SLASH)return o.slice(a+h+1);if(2===h)return o.slice(a+h)}s>d&&(e.charCodeAt(n+h)===CHAR_BACKWARD_SLASH?u=h:2===h&&(u=3)),-1===u&&(u=0)}let p="";for(h=n+u+1;h<=r;++h)h!==r&&e.charCodeAt(h)!==CHAR_BACKWARD_SLASH||(p+=0===p.length?"..":"\\..");return a+=u,p.length>0?`${p}${o.slice(a,l)}`:(o.charCodeAt(a)===CHAR_BACKWARD_SLASH&&++a,o.slice(a,l))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=win32.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===CHAR_BACKWARD_SLASH){if(t.charCodeAt(1)===CHAR_BACKWARD_SLASH){const e=t.charCodeAt(2);if(e!==CHAR_QUESTION_MARK&&e!==CHAR_DOT)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(isWindowsDeviceRoot(t.charCodeAt(0))&&t.charCodeAt(1)===CHAR_COLON&&t.charCodeAt(2)===CHAR_BACKWARD_SLASH)return`\\\\?\\${t}`;return e},dirname(e){validateString(e,"path");const t=e.length;if(0===t)return".";let i=-1,o=0;const n=e.charCodeAt(0);if(1===t)return isPathSeparator$1(n)?e:".";if(isPathSeparator$1(n)){if(i=o=1,isPathSeparator$1(e.charCodeAt(1))){let n=2,r=n;for(;n2&&isPathSeparator$1(e.charCodeAt(2))?3:2,o=i);let r=-1,s=!0;for(let a=t-1;a>=o;--a)if(isPathSeparator$1(e.charCodeAt(a))){if(!s){r=a;break}}else s=!1;if(-1===r){if(-1===i)return".";r=i}return e.slice(0,r)},basename(e,t){void 0!==t&&validateString(t,"suffix"),validateString(e,"path");let i,o=0,n=-1,r=!0;if(e.length>=2&&isWindowsDeviceRoot(e.charCodeAt(0))&&e.charCodeAt(1)===CHAR_COLON&&(o=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,a=-1;for(i=e.length-1;i>=o;--i){const l=e.charCodeAt(i);if(isPathSeparator$1(l)){if(!r){o=i+1;break}}else-1===a&&(r=!1,a=i+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(n=i):(s=-1,n=a))}return o===n?n=a:-1===n&&(n=e.length),e.slice(o,n)}for(i=e.length-1;i>=o;--i)if(isPathSeparator$1(e.charCodeAt(i))){if(!r){o=i+1;break}}else-1===n&&(r=!1,n=i+1);return-1===n?"":e.slice(o,n)},extname(e){validateString(e,"path");let t=0,i=-1,o=0,n=-1,r=!0,s=0;e.length>=2&&e.charCodeAt(1)===CHAR_COLON&&isWindowsDeviceRoot(e.charCodeAt(0))&&(t=o=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(isPathSeparator$1(t)){if(!r){o=a+1;break}}else-1===n&&(r=!1,n=a+1),t===CHAR_DOT?-1===i?i=a:1!==s&&(s=1):-1!==i&&(s=-1)}return-1===i||-1===n||0===s||1===s&&i===n-1&&i===o+1?"":e.slice(i,n)},format:_format.bind(null,"\\"),parse(e){validateString(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const i=e.length;let o=0,n=e.charCodeAt(0);if(1===i)return isPathSeparator$1(n)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(isPathSeparator$1(n)){if(o=1,isPathSeparator$1(e.charCodeAt(1))){let t=2,n=t;for(;t0&&(t.root=e.slice(0,o));let r=-1,s=o,a=-1,l=!0,c=e.length-1,d=0;for(;c>=o;--c)if(n=e.charCodeAt(c),isPathSeparator$1(n)){if(!l){s=c+1;break}}else-1===a&&(l=!1,a=c+1),n===CHAR_DOT?-1===r?r=c:1!==d&&(d=1):-1!==r&&(d=-1);return-1!==a&&(-1===r||0===d||1===d&&r===a-1&&r===s+1?t.base=t.name=e.slice(s,a):(t.name=e.slice(s,r),t.base=e.slice(s,a),t.ext=e.slice(r,a))),t.dir=s>0&&s!==o?e.slice(0,s-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},posixCwd=(()=>{if(platformIsWin32){const e=/\\/g;return()=>{const t=cwd().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>cwd()})(),posix={resolve(...e){let t="",i=!1;for(let o=e.length-1;o>=-1&&!i;o--){const n=o>=0?e[o]:posixCwd();validateString(n,`paths[${o}]`),0!==n.length&&(t=`${n}/${t}`,i=n.charCodeAt(0)===CHAR_FORWARD_SLASH)}return t=normalizeString(t,!i,"/",isPosixPathSeparator),i?`/${t}`:t.length>0?t:"."},normalize(e){if(validateString(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===CHAR_FORWARD_SLASH,i=e.charCodeAt(e.length-1)===CHAR_FORWARD_SLASH;return 0===(e=normalizeString(e,!t,"/",isPosixPathSeparator)).length?t?"/":i?"./":".":(i&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(validateString(e,"path"),e.length>0&&e.charCodeAt(0)===CHAR_FORWARD_SLASH),join(...e){if(0===e.length)return".";let t;for(let i=0;i0&&(void 0===t?t=o:t+=`/${o}`)}return void 0===t?".":posix.normalize(t)},relative(e,t){if(validateString(e,"from"),validateString(t,"to"),e===t)return"";if((e=posix.resolve(e))===(t=posix.resolve(t)))return"";const i=e.length,o=i-1,n=t.length-1,r=or){if(t.charCodeAt(1+a)===CHAR_FORWARD_SLASH)return t.slice(1+a+1);if(0===a)return t.slice(1+a)}else o>r&&(e.charCodeAt(1+a)===CHAR_FORWARD_SLASH?s=a:0===a&&(s=0));let l="";for(a=1+s+1;a<=i;++a)a!==i&&e.charCodeAt(a)!==CHAR_FORWARD_SLASH||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+s)}`},toNamespacedPath:e=>e,dirname(e){if(validateString(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===CHAR_FORWARD_SLASH;let i=-1,o=!0;for(let n=e.length-1;n>=1;--n)if(e.charCodeAt(n)===CHAR_FORWARD_SLASH){if(!o){i=n;break}}else o=!1;return-1===i?t?"/":".":t&&1===i?"//":e.slice(0,i)},basename(e,t){void 0!==t&&validateString(t,"ext"),validateString(e,"path");let i,o=0,n=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,a=-1;for(i=e.length-1;i>=0;--i){const l=e.charCodeAt(i);if(l===CHAR_FORWARD_SLASH){if(!r){o=i+1;break}}else-1===a&&(r=!1,a=i+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(n=i):(s=-1,n=a))}return o===n?n=a:-1===n&&(n=e.length),e.slice(o,n)}for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===CHAR_FORWARD_SLASH){if(!r){o=i+1;break}}else-1===n&&(r=!1,n=i+1);return-1===n?"":e.slice(o,n)},extname(e){validateString(e,"path");let t=-1,i=0,o=-1,n=!0,r=0;for(let s=e.length-1;s>=0;--s){const a=e.charCodeAt(s);if(a!==CHAR_FORWARD_SLASH)-1===o&&(n=!1,o=s+1),a===CHAR_DOT?-1===t?t=s:1!==r&&(r=1):-1!==t&&(r=-1);else if(!n){i=s+1;break}}return-1===t||-1===o||0===r||1===r&&t===o-1&&t===i+1?"":e.slice(t,o)},format:_format.bind(null,"/"),parse(e){validateString(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const i=e.charCodeAt(0)===CHAR_FORWARD_SLASH;let o;i?(t.root="/",o=1):o=0;let n=-1,r=0,s=-1,a=!0,l=e.length-1,c=0;for(;l>=o;--l){const t=e.charCodeAt(l);if(t!==CHAR_FORWARD_SLASH)-1===s&&(a=!1,s=l+1),t===CHAR_DOT?-1===n?n=l:1!==c&&(c=1):-1!==n&&(c=-1);else if(!a){r=l+1;break}}if(-1!==s){const o=0===r&&i?1:r;-1===n||0===c||1===c&&n===s-1&&n===r+1?t.base=t.name=e.slice(o,s):(t.name=e.slice(o,n),t.base=e.slice(o,s),t.ext=e.slice(n,s))}return r>0?t.dir=e.slice(0,r-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};posix.win32=win32.win32=win32,posix.posix=win32.posix=posix;const normalize=platformIsWin32?win32.normalize:posix.normalize,join$1=platformIsWin32?win32.join:posix.join,resolve=platformIsWin32?win32.resolve:posix.resolve,relative=platformIsWin32?win32.relative:posix.relative,dirname$1=platformIsWin32?win32.dirname:posix.dirname,basename$1=platformIsWin32?win32.basename:posix.basename,extname$1=platformIsWin32?win32.extname:posix.extname,sep=platformIsWin32?win32.sep:posix.sep,_schemePattern=/^\w[\w\d+.-]*$/,_singleSlashStart=/^\//,_doubleSlashStart=/^\/\//;function _validateUri(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!_schemePattern.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!_singleSlashStart.test(e.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(_doubleSlashStart.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}function _schemeFix(e,t){return e||t?e:"file"}function _referenceResolution(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==_slash&&(t=_slash+t):t=_slash}return t}const _empty="",_slash="/",_regexp=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class URI{static isUri(e){return e instanceof URI||!!e&&("string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString)}constructor(e,t,i,o,n,r=!1){"object"==typeof e?(this.scheme=e.scheme||_empty,this.authority=e.authority||_empty,this.path=e.path||_empty,this.query=e.query||_empty,this.fragment=e.fragment||_empty):(this.scheme=_schemeFix(e,r),this.authority=t||_empty,this.path=_referenceResolution(this.scheme,i||_empty),this.query=o||_empty,this.fragment=n||_empty,_validateUri(this,r))}get fsPath(){return uriToFsPath(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:o,query:n,fragment:r}=e;return void 0===t?t=this.scheme:null===t&&(t=_empty),void 0===i?i=this.authority:null===i&&(i=_empty),void 0===o?o=this.path:null===o&&(o=_empty),void 0===n?n=this.query:null===n&&(n=_empty),void 0===r?r=this.fragment:null===r&&(r=_empty),t===this.scheme&&i===this.authority&&o===this.path&&n===this.query&&r===this.fragment?this:new Uri$1(t,i,o,n,r)}static parse(e,t=!1){const i=_regexp.exec(e);return i?new Uri$1(i[2]||_empty,percentDecode(i[4]||_empty),percentDecode(i[5]||_empty),percentDecode(i[7]||_empty),percentDecode(i[9]||_empty),t):new Uri$1(_empty,_empty,_empty,_empty,_empty)}static file(e){let t=_empty;if(isWindows&&(e=e.replace(/\\/g,_slash)),e[0]===_slash&&e[1]===_slash){const i=e.indexOf(_slash,2);-1===i?(t=e.substring(2),e=_slash):(t=e.substring(2,i),e=e.substring(i)||_slash)}return new Uri$1("file",t,e,_empty,_empty)}static from(e,t){return new Uri$1(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return i=isWindows&&"file"===e.scheme?URI.file(win32.join(uriToFsPath(e,!0),...t)).path:posix.join(e.path,...t),e.with({path:i})}toString(e=!1){return _asFormatted(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof URI)return e;{const t=new Uri$1(e);return t._formatted=e.external??null,t._fsPath=e._sep===_pathSepMarker?e.fsPath??null:null,t}}return e}}const _pathSepMarker=isWindows?1:void 0;let Uri$1=class extends URI{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=uriToFsPath(this,!1)),this._fsPath}toString(e=!1){return e?_asFormatted(this,!0):(this._formatted||(this._formatted=_asFormatted(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=_pathSepMarker),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}};const encodeTable={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 encodeURIComponentFast(e,t,i){let o,n=-1;for(let r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||i&&91===s||i&&93===s||i&&58===s)-1!==n&&(o+=encodeURIComponent(e.substring(n,r)),n=-1),void 0!==o&&(o+=e.charAt(r));else{void 0===o&&(o=e.substr(0,r));const t=encodeTable[s];void 0!==t?(-1!==n&&(o+=encodeURIComponent(e.substring(n,r)),n=-1),o+=t):-1===n&&(n=r)}}return-1!==n&&(o+=encodeURIComponent(e.substring(n))),void 0!==o?o:e}function encodeURIComponentMinimal(e){let t;for(let i=0;i1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,isWindows&&(i=i.replace(/\//g,"\\")),i}function _asFormatted(e,t){const i=t?encodeURIComponentMinimal:encodeURIComponentFast;let o="",{scheme:n,authority:r,path:s,query:a,fragment:l}=e;if(n&&(o+=n,o+=":"),(r||"file"===n)&&(o+=_slash,o+=_slash),r){let e=r.indexOf("@");if(-1!==e){const t=r.substr(0,e);r=r.substr(e+1),e=t.lastIndexOf(":"),-1===e?o+=i(t,!1,!1):(o+=i(t.substr(0,e),!1,!1),o+=":",o+=i(t.substr(e+1),!1,!0)),o+="@"}r=r.toLowerCase(),e=r.lastIndexOf(":"),-1===e?o+=i(r,!1,!0):(o+=i(r.substr(0,e),!1,!0),o+=r.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){const e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){const e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}o+=i(s,!0,!1)}return a&&(o+="?",o+=i(a,!1,!1)),l&&(o+="#",o+=t?l:encodeURIComponentFast(l,!1,!1)),o}function decodeURIComponentGraceful(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+decodeURIComponentGraceful(e.substr(3)):e}}const _rEncodedAsHex=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function percentDecode(e){return e.match(_rEncodedAsHex)?e.replace(_rEncodedAsHex,e=>decodeURIComponentGraceful(e)):e}let Position$1=class e{constructor(e,t){this.lineNumber=e,this.column=t}with(t=this.lineNumber,i=this.column){return t===this.lineNumber&&i===this.column?this:new e(t,i)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(t){return e.equals(this,t)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(t){return e.isBefore(this,t)}static isBefore(e,t){return e.lineNumberi||e===i&&t>o?(this.startLineNumber=i,this.startColumn=o,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=o)}isEmpty(){return e.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(t){return e.containsPosition(this,t)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<=e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>=e.endColumn))}containsRange(t){return e.containsRange(this,t)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))}strictContainsRange(t){return e.strictContainsRange(this,t)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}plusRange(t){return e.plusRange(this,t)}static plusRange(t,i){let o,n,r,s;return i.startLineNumbert.endLineNumber?(r=i.endLineNumber,s=i.endColumn):i.endLineNumber===t.endLineNumber?(r=i.endLineNumber,s=Math.max(i.endColumn,t.endColumn)):(r=t.endLineNumber,s=t.endColumn),new e(o,n,r,s)}intersectRanges(t){return e.intersectRanges(this,t)}static intersectRanges(t,i){let o=t.startLineNumber,n=t.startColumn,r=t.endLineNumber,s=t.endColumn;const a=i.startLineNumber,l=i.startColumn,c=i.endLineNumber,d=i.endColumn;return oc?(r=c,s=d):r===c&&(s=Math.min(s,d)),o>r||o===r&&n>s?null:new e(o,n,r,s)}equalsRange(t){return e.equalsRange(this,t)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return e.getEndPosition(this)}static getEndPosition(e){return new Position$1(e.endLineNumber,e.endColumn)}getStartPosition(){return e.getStartPosition(this)}static getStartPosition(e){return new Position$1(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,i){return new e(this.startLineNumber,this.startColumn,t,i)}setStartPosition(t,i){return new e(t,i,this.endLineNumber,this.endColumn)}collapseToStart(){return e.collapseToStart(this)}static collapseToStart(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return e.collapseToEnd(this)}static collapseToEnd(t){return new e(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new e(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}static fromPositions(t,i=t){return new e(t.lineNumber,t.column,i.lineNumber,i.column)}static lift(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}},Selection$1=class e extends Range$2{constructor(e,t,i,o){super(e,t,i,o),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=o}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return e.selectionsEqual(this,t)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,i){return 0===this.getDirection()?new e(this.startLineNumber,this.startColumn,t,i):new e(t,i,this.startLineNumber,this.startColumn)}getPosition(){return new Position$1(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Position$1(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,i){return 0===this.getDirection()?new e(t,i,this.endLineNumber,this.endColumn):new e(this.endLineNumber,this.endColumn,t,i)}static fromPositions(t,i=t){return new e(t.lineNumber,t.column,i.lineNumber,i.column)}static fromRange(t,i){return 0===i?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new e(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new e(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,o=e.length;i{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))})}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){this._factories.get(e)?.dispose();const i=new TokenizationSupportFactoryData(this,e,t);return this._factories.set(e,i),toDisposable(()=>{const t=this._factories.get(e);t&&t===i&&(this._factories.delete(e),t.dispose())})}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,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}};class TokenizationSupportFactoryData extends Disposable{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,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 e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}let Token$2=class{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}};class TokenizationResult{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class EncodedTokenizationResult{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var HoverVerbosityAction$1,CompletionItemKinds,InlineCompletionTriggerKind$1,DocumentPasteTriggerKind,SignatureHelpTriggerKind$1,DocumentHighlightKind$1;!function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(HoverVerbosityAction$1||(HoverVerbosityAction$1={})),function(e){const t=new Map;t.set(0,Codicon.symbolMethod),t.set(1,Codicon.symbolFunction),t.set(2,Codicon.symbolConstructor),t.set(3,Codicon.symbolField),t.set(4,Codicon.symbolVariable),t.set(5,Codicon.symbolClass),t.set(6,Codicon.symbolStruct),t.set(7,Codicon.symbolInterface),t.set(8,Codicon.symbolModule),t.set(9,Codicon.symbolProperty),t.set(10,Codicon.symbolEvent),t.set(11,Codicon.symbolOperator),t.set(12,Codicon.symbolUnit),t.set(13,Codicon.symbolValue),t.set(15,Codicon.symbolEnum),t.set(14,Codicon.symbolConstant),t.set(15,Codicon.symbolEnum),t.set(16,Codicon.symbolEnumMember),t.set(17,Codicon.symbolKeyword),t.set(27,Codicon.symbolSnippet),t.set(18,Codicon.symbolText),t.set(19,Codicon.symbolColor),t.set(20,Codicon.symbolFile),t.set(21,Codicon.symbolReference),t.set(22,Codicon.symbolCustomColor),t.set(23,Codicon.symbolFolder),t.set(24,Codicon.symbolTypeParameter),t.set(25,Codicon.account),t.set(26,Codicon.issues),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for CompletionItemKind "+e),i=Codicon.symbolProperty),i};const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26),e.fromString=function(e,t){let o=i.get(e);return void 0!==o||t||(o=9),o}}(CompletionItemKinds||(CompletionItemKinds={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(InlineCompletionTriggerKind$1||(InlineCompletionTriggerKind$1={}));class SelectedSuggestionInfo{constructor(e,t,i,o){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=o}equals(e){return Range$2.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}function isLocationLink(e){return e&&URI.isUri(e.uri)&&Range$2.isIRange(e.range)&&(Range$2.isIRange(e.originSelectionRange)||Range$2.isIRange(e.targetSelectionRange))}!function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(DocumentPasteTriggerKind||(DocumentPasteTriggerKind={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(SignatureHelpTriggerKind$1||(SignatureHelpTriggerKind$1={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(DocumentHighlightKind$1||(DocumentHighlightKind$1={}));const symbolKindNames={17:localize("Array","array"),16:localize("Boolean","boolean"),4:localize("Class","class"),13:localize("Constant","constant"),8:localize("Constructor","constructor"),9:localize("Enum","enumeration"),21:localize("EnumMember","enumeration member"),23:localize("Event","event"),7:localize("Field","field"),0:localize("File","file"),11:localize("Function","function"),10:localize("Interface","interface"),19:localize("Key","key"),5:localize("Method","method"),1:localize("Module","module"),2:localize("Namespace","namespace"),20:localize("Null","null"),15:localize("Number","number"),18:localize("Object","object"),24:localize("Operator","operator"),3:localize("Package","package"),6:localize("Property","property"),14:localize("String","string"),22:localize("Struct","struct"),25:localize("TypeParameter","type parameter"),12:localize("Variable","variable")};function getAriaLabelForSymbol(e,t){return localize("symbolAriaLabel","{0} ({1})",e,symbolKindNames[t])}var SymbolKinds,NewSymbolNameTag$1,NewSymbolNameTriggerKind$1,Command$1,InlayHintKind$1;!function(e){const t=new Map;t.set(0,Codicon.symbolFile),t.set(1,Codicon.symbolModule),t.set(2,Codicon.symbolNamespace),t.set(3,Codicon.symbolPackage),t.set(4,Codicon.symbolClass),t.set(5,Codicon.symbolMethod),t.set(6,Codicon.symbolProperty),t.set(7,Codicon.symbolField),t.set(8,Codicon.symbolConstructor),t.set(9,Codicon.symbolEnum),t.set(10,Codicon.symbolInterface),t.set(11,Codicon.symbolFunction),t.set(12,Codicon.symbolVariable),t.set(13,Codicon.symbolConstant),t.set(14,Codicon.symbolString),t.set(15,Codicon.symbolNumber),t.set(16,Codicon.symbolBoolean),t.set(17,Codicon.symbolArray),t.set(18,Codicon.symbolObject),t.set(19,Codicon.symbolKey),t.set(20,Codicon.symbolNull),t.set(21,Codicon.symbolEnumMember),t.set(22,Codicon.symbolStruct),t.set(23,Codicon.symbolEvent),t.set(24,Codicon.symbolOperator),t.set(25,Codicon.symbolTypeParameter),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for SymbolKind "+e),i=Codicon.symbolProperty),i}}(SymbolKinds||(SymbolKinds={}));class FoldingRangeKind{static{this.Comment=new FoldingRangeKind("comment")}static{this.Imports=new FoldingRangeKind("imports")}static{this.Region=new FoldingRangeKind("region")}static fromValue(e){switch(e){case"comment":return FoldingRangeKind.Comment;case"imports":return FoldingRangeKind.Imports;case"region":return FoldingRangeKind.Region}return new FoldingRangeKind(e)}constructor(e){this.value=e}}!function(e){e[e.AIGenerated=1]="AIGenerated"}(NewSymbolNameTag$1||(NewSymbolNameTag$1={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(NewSymbolNameTriggerKind$1||(NewSymbolNameTriggerKind$1={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&("string"==typeof e.id&&"string"==typeof e.title)}}(Command$1||(Command$1={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(InlayHintKind$1||(InlayHintKind$1={}));class LazyTokenizationSupport{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=>{e&&e.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const TokenizationRegistry=new TokenizationRegistry$1,TreeSitterTokenizationRegistry=new TokenizationRegistry$1;var InlineEditTriggerKind$1,AccessibilitySupport,CodeActionTriggerType,CompletionItemInsertTextRule,CompletionItemKind,CompletionItemTag,CompletionTriggerKind,ContentWidgetPositionPreference,CursorChangeReason,DefaultEndOfLine,DocumentHighlightKind,EditorAutoIndentStrategy,EditorOption,EndOfLinePreference,EndOfLineSequence,GlyphMarginLane$1,HoverVerbosityAction,IndentAction$1,InjectedTextCursorStops$1,InlayHintKind,InlineCompletionTriggerKind,InlineEditTriggerKind,KeyCode$1,MarkerSeverity$2,MarkerTag$1,MinimapPosition,MinimapSectionHeaderStyle,MouseTargetType,NewSymbolNameTag,NewSymbolNameTriggerKind,OverlayWidgetPositionPreference,OverviewRulerLane$1,PartialAcceptTriggerKind,PositionAffinity,RenderLineNumbersType,RenderMinimap,ScrollType,ScrollbarVisibility,SelectionDirection$1,ShowLightbulbIconMode,SignatureHelpTriggerKind,SymbolKind,SymbolTag,TextEditorCursorBlinkingStyle,TextEditorCursorStyle,TrackedRangeStickiness,WrappingIndent;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(InlineEditTriggerKind$1||(InlineEditTriggerKind$1={})),function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(AccessibilitySupport||(AccessibilitySupport={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(CodeActionTriggerType||(CodeActionTriggerType={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(CompletionItemInsertTextRule||(CompletionItemInsertTextRule={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(CompletionItemKind||(CompletionItemKind={})),function(e){e[e.Deprecated=1]="Deprecated"}(CompletionItemTag||(CompletionItemTag={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(CompletionTriggerKind||(CompletionTriggerKind={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(ContentWidgetPositionPreference||(ContentWidgetPositionPreference={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(CursorChangeReason||(CursorChangeReason={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(DefaultEndOfLine||(DefaultEndOfLine={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(DocumentHighlightKind||(DocumentHighlightKind={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(EditorAutoIndentStrategy||(EditorAutoIndentStrategy={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.placeholder=88]="placeholder",e[e.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",e[e.quickSuggestions=90]="quickSuggestions",e[e.quickSuggestionsDelay=91]="quickSuggestionsDelay",e[e.readOnly=92]="readOnly",e[e.readOnlyMessage=93]="readOnlyMessage",e[e.renameOnType=94]="renameOnType",e[e.renderControlCharacters=95]="renderControlCharacters",e[e.renderFinalNewline=96]="renderFinalNewline",e[e.renderLineHighlight=97]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=99]="renderValidationDecorations",e[e.renderWhitespace=100]="renderWhitespace",e[e.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",e[e.roundedSelection=102]="roundedSelection",e[e.rulers=103]="rulers",e[e.scrollbar=104]="scrollbar",e[e.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=106]="scrollBeyondLastLine",e[e.scrollPredominantAxis=107]="scrollPredominantAxis",e[e.selectionClipboard=108]="selectionClipboard",e[e.selectionHighlight=109]="selectionHighlight",e[e.selectOnLineNumbers=110]="selectOnLineNumbers",e[e.showFoldingControls=111]="showFoldingControls",e[e.showUnused=112]="showUnused",e[e.snippetSuggestions=113]="snippetSuggestions",e[e.smartSelect=114]="smartSelect",e[e.smoothScrolling=115]="smoothScrolling",e[e.stickyScroll=116]="stickyScroll",e[e.stickyTabStops=117]="stickyTabStops",e[e.stopRenderingLineAfter=118]="stopRenderingLineAfter",e[e.suggest=119]="suggest",e[e.suggestFontSize=120]="suggestFontSize",e[e.suggestLineHeight=121]="suggestLineHeight",e[e.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",e[e.suggestSelection=123]="suggestSelection",e[e.tabCompletion=124]="tabCompletion",e[e.tabIndex=125]="tabIndex",e[e.unicodeHighlighting=126]="unicodeHighlighting",e[e.unusualLineTerminators=127]="unusualLineTerminators",e[e.useShadowDOM=128]="useShadowDOM",e[e.useTabStops=129]="useTabStops",e[e.wordBreak=130]="wordBreak",e[e.wordSegmenterLocales=131]="wordSegmenterLocales",e[e.wordSeparators=132]="wordSeparators",e[e.wordWrap=133]="wordWrap",e[e.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=136]="wordWrapColumn",e[e.wordWrapOverride1=137]="wordWrapOverride1",e[e.wordWrapOverride2=138]="wordWrapOverride2",e[e.wrappingIndent=139]="wrappingIndent",e[e.wrappingStrategy=140]="wrappingStrategy",e[e.showDeprecated=141]="showDeprecated",e[e.inlayHints=142]="inlayHints",e[e.editorClassName=143]="editorClassName",e[e.pixelRatio=144]="pixelRatio",e[e.tabFocusMode=145]="tabFocusMode",e[e.layoutInfo=146]="layoutInfo",e[e.wrappingInfo=147]="wrappingInfo",e[e.defaultColorDecorators=148]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"}(EditorOption||(EditorOption={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(EndOfLinePreference||(EndOfLinePreference={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(EndOfLineSequence||(EndOfLineSequence={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(GlyphMarginLane$1||(GlyphMarginLane$1={})),function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(HoverVerbosityAction||(HoverVerbosityAction={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(IndentAction$1||(IndentAction$1={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(InjectedTextCursorStops$1||(InjectedTextCursorStops$1={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(InlayHintKind||(InlayHintKind={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(InlineCompletionTriggerKind||(InlineCompletionTriggerKind={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(InlineEditTriggerKind||(InlineEditTriggerKind={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(KeyCode$1||(KeyCode$1={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(MarkerSeverity$2||(MarkerSeverity$2={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(MarkerTag$1||(MarkerTag$1={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(MinimapPosition||(MinimapPosition={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(MinimapSectionHeaderStyle||(MinimapSectionHeaderStyle={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(MouseTargetType||(MouseTargetType={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(NewSymbolNameTag||(NewSymbolNameTag={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(NewSymbolNameTriggerKind||(NewSymbolNameTriggerKind={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(OverlayWidgetPositionPreference||(OverlayWidgetPositionPreference={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(OverviewRulerLane$1||(OverviewRulerLane$1={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(PartialAcceptTriggerKind||(PartialAcceptTriggerKind={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(PositionAffinity||(PositionAffinity={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(RenderLineNumbersType||(RenderLineNumbersType={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(RenderMinimap||(RenderMinimap={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(ScrollType||(ScrollType={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(ScrollbarVisibility||(ScrollbarVisibility={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(SelectionDirection$1||(SelectionDirection$1={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(ShowLightbulbIconMode||(ShowLightbulbIconMode={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(SignatureHelpTriggerKind||(SignatureHelpTriggerKind={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(SymbolKind||(SymbolKind={})),function(e){e[e.Deprecated=1]="Deprecated"}(SymbolTag||(SymbolTag={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(TextEditorCursorBlinkingStyle||(TextEditorCursorBlinkingStyle={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(TextEditorCursorStyle||(TextEditorCursorStyle={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(TrackedRangeStickiness||(TrackedRangeStickiness={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(WrappingIndent||(WrappingIndent={}));let KeyMod$1=class{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(e,t){return KeyChord(e,t)}};function createMonacoBaseAPI(){return{editor:void 0,languages:void 0,CancellationTokenSource:CancellationTokenSource$1,Emitter:Emitter$1,KeyCode:KeyCode$1,KeyMod:KeyMod$1,Position:Position$1,Range:Range$2,Selection:Selection$1,SelectionDirection:SelectionDirection$1,MarkerSeverity:MarkerSeverity$2,MarkerTag:MarkerTag$1,Uri:URI,Token:Token$2}}function ensureCodeWindow(e,t){const i=e;"number"!=typeof i.vscodeWindowId&&Object.defineProperty(i,"vscodeWindowId",{get:()=>t})}const mainWindow=window;function identity$2(e){return e}class LRUCachedFunction{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,"function"==typeof e?(this._fn=e,this._computeKey=identity$2):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class CachedFunction{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,"function"==typeof e?(this._fn=e,this._computeKey=identity$2):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const i=this._fn(e);return this._map.set(e,i),this._map2.set(t,i),i}}class Lazy{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}function isFalsyOrWhitespace(e){return!e||"string"!=typeof e||0===e.trim().length}const _formatRegexp=/{(\d+)}/g;function format$1(e,...t){return 0===t.length?e:e.replace(_formatRegexp,function(e,i){const o=parseInt(i,10);return isNaN(o)||o<0||o>=t.length?e:t[o]})}function htmlAttributeEncodeValue(e){return e.replace(/[<>"'&]/g,e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e})}function escape(e){return e.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function escapeRegExpCharacters(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function trim(e,t=" "){return rtrim(ltrim(e,t),t)}function ltrim(e,t){if(!e||!t)return e;const i=t.length;if(0===i||0===e.length)return e;let o=0;for(;e.indexOf(t,o)===o;)o+=i;return e.substring(o)}function rtrim(e,t){if(!e||!t)return e;const i=t.length,o=e.length;if(0===i||0===o)return e;let n=o,r=-1;for(;r=e.lastIndexOf(t,n-1),-1!==r&&r+i===n;){if(0===r)return"";n=r}return e.substring(0,n)}function convertSimple2RegExpPattern(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function stripWildcards(e){return e.replace(/\*/g,"")}function createRegExp(e,t,i={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=escapeRegExpCharacters(e)),i.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let o="";return i.global&&(o+="g"),i.matchCase||(o+="i"),i.multiline&&(o+="m"),i.unicode&&(o+="u"),new RegExp(e,o)}function regExpLeadsToEndlessLoop(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)}function splitLines(e){return e.split(/\r\n|\r|\n/)}function splitLinesIncludeSeparators(e){const t=[],i=e.split(/(\r\n|\r|\n)/);for(let o=0;o=0;i--){const t=e.charCodeAt(i);if(32!==t&&9!==t)return i}return-1}function compare(e,t){return et?1:0}function compareSubstring(e,t,i=0,o=e.length,n=0,r=t.length){for(;ir)return 1}const s=o-i,a=r-n;return sa?1:0}function compareIgnoreCase(e,t){return compareSubstringIgnoreCase(e,t,0,e.length,0,t.length)}function compareSubstringIgnoreCase(e,t,i=0,o=e.length,n=0,r=t.length){for(;i=128||a>=128)return compareSubstring(e.toLowerCase(),t.toLowerCase(),i,o,n,r);isLowerAsciiLetter(s)&&(s-=32),isLowerAsciiLetter(a)&&(a-=32);const l=s-a;if(0!==l)return l}const s=o-i,a=r-n;return sa?1:0}function isAsciiDigit(e){return e>=48&&e<=57}function isLowerAsciiLetter(e){return e>=97&&e<=122}function isUpperAsciiLetter(e){return e>=65&&e<=90}function equalsIgnoreCase(e,t){return e.length===t.length&&0===compareSubstringIgnoreCase(e,t)}function startsWithIgnoreCase(e,t){const i=t.length;return!(t.length>e.length)&&0===compareSubstringIgnoreCase(e,t,0,i)}function commonPrefixLength(e,t){const i=Math.min(e.length,t.length);let o;for(o=0;o1){const o=e.charCodeAt(t-2);if(isHighSurrogate(o))return computeCodePoint(o,i)}return i}class CodePointIterator{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=getPrevCodePoint(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=getNextCodePoint(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class GraphemeIterator{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new CodePointIterator(e,t)}nextGraphemeLength(){const e=GraphemeBreakTree.getInstance(),t=this._iterator,i=t.offset;let o=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const i=t.offset,n=e.getGraphemeBreakType(t.nextCodePoint());if(breakBetweenGraphemeBreakType(o,n)){t.setOffset(i);break}o=n}return t.offset-i}prevGraphemeLength(){const e=GraphemeBreakTree.getInstance(),t=this._iterator,i=t.offset;let o=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const i=t.offset,n=e.getGraphemeBreakType(t.prevCodePoint());if(breakBetweenGraphemeBreakType(n,o)){t.setOffset(i);break}o=n}return i-t.offset}eol(){return this._iterator.eol()}}function nextCharLength(e,t){return new GraphemeIterator(e,t).nextGraphemeLength()}function prevCharLength(e,t){return new GraphemeIterator(e,t).prevGraphemeLength()}function getCharContainingOffset(e,t){t>0&&isLowSurrogate(e.charCodeAt(t))&&t--;const i=t+nextCharLength(e,t);return[i-prevCharLength(e,i),i]}let CONTAINS_RTL;function makeContainsRtl(){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 containsRTL(e){return CONTAINS_RTL||(CONTAINS_RTL=makeContainsRtl()),CONTAINS_RTL.test(e)}const IS_BASIC_ASCII=/^[\t\n\r\x20-\x7E]*$/;function isBasicASCII(e){return IS_BASIC_ASCII.test(e)}const UNUSUAL_LINE_TERMINATORS=/[\u2028\u2029]/;function containsUnusualLineTerminators(e){return UNUSUAL_LINE_TERMINATORS.test(e)}function isFullWidthCharacter(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function isEmojiImprecise(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const UTF8_BOM_CHARACTER=String.fromCharCode(65279);function startsWithUTF8BOM(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function containsUppercaseCharacter(e,t=!1){return!!e&&(t&&(e=e.replace(/\\./g,"")),e.toLowerCase()!==e)}function singleLetterHash(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function breakBetweenGraphemeBreakType(e,t){return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}class GraphemeBreakTree{static{this._INSTANCE=null}static getInstance(){return GraphemeBreakTree._INSTANCE||(GraphemeBreakTree._INSTANCE=new GraphemeBreakTree),GraphemeBreakTree._INSTANCE}constructor(){this._data=getGraphemeBreakRawData()}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let o=1;for(;o<=i;)if(et[3*o+1]))return t[3*o+2];o=2*o+1}return 0}}function getGraphemeBreakRawData(){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 getLeftDeleteOffset(e,t){if(0===e)return 0;const i=getOffsetBeforeLastEmojiComponent(e,t);if(void 0!==i)return i;const o=new CodePointIterator(t,e);return o.prevCodePoint(),o.offset}function getOffsetBeforeLastEmojiComponent(e,t){const i=new CodePointIterator(t,e);let o=i.prevCodePoint();for(;isEmojiModifier(o)||65039===o||8419===o;){if(0===i.offset)return;o=i.prevCodePoint()}if(!isEmojiImprecise(o))return;let n=i.offset;if(n>0){8205===i.prevCodePoint()&&(n=i.offset)}return n}function isEmojiModifier(e){return 127995<=e&&e<=127999}const noBreakWhitespace=" ";class AmbiguousCharacters{static{this.ambiguousCharacterData=new 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 LRUCachedFunction({getCacheKey:JSON.stringify},e=>{function t(e){const t=new Map;for(let i=0;i!e.startsWith("_")&&e in o);0===r.length&&(r=["_default"]);for(const a of r){n=i(n,t(o[a]))}const s=function(e,t){const i=new Map(e);for(const[o,n]of t)i.set(o,n);return i}(t(o._common),n);return new AmbiguousCharacters(s)})}static getInstance(e){return AmbiguousCharacters.cache.get(Array.from(e))}static{this._locales=new Lazy(()=>Object.keys(AmbiguousCharacters.ambiguousCharacterData.value).filter(e=>!e.startsWith("_")))}static getLocales(){return AmbiguousCharacters._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class InvisibleCharacters{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(InvisibleCharacters.getRawData())),this._data}static isInvisibleCharacter(e){return InvisibleCharacters.getData().has(e)}static get codePoints(){return InvisibleCharacters.getData()}}class WindowManager{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new WindowManager}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}}function addMatchMediaChangeListener(e,t,i){"string"==typeof t&&(t=e.matchMedia(t)),t.addEventListener("change",i)}function getZoomFactor(e){return WindowManager.INSTANCE.getZoomFactor(e)}const userAgent$1=navigator.userAgent,isFirefox$1=userAgent$1.indexOf("Firefox")>=0,isWebKit=userAgent$1.indexOf("AppleWebKit")>=0,isChrome=userAgent$1.indexOf("Chrome")>=0,isSafari=!isChrome&&userAgent$1.indexOf("Safari")>=0,isWebkitWebView=!isChrome&&!isSafari&&isWebKit;userAgent$1.indexOf("Electron/");const isAndroid=userAgent$1.indexOf("Android")>=0;let standalone=!1;if("function"==typeof mainWindow.matchMedia){const e=mainWindow.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=mainWindow.matchMedia("(display-mode: fullscreen)");standalone=e.matches,addMatchMediaChangeListener(mainWindow,e,({matches:e})=>{standalone&&t.matches||(standalone=e)})}const BrowserFeatures={clipboard:{writeText:isNative||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:isNative||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:mainWindow.PointerEvent&&("ontouchstart"in mainWindow||navigator.maxTouchPoints>0)};function decodeKeybinding(e,t){if("number"==typeof e){if(0===e)return null;const i=(65535&e)>>>0,o=(4294901760&e)>>>16;return new Keybinding$1(0!==o?[createSimpleKeybinding(i,t),createSimpleKeybinding(o,t)]:[createSimpleKeybinding(i,t)])}{const i=[];for(let o=0;o{const n=t.token.onCancellationRequested(()=>{n.dispose(),o(new CancellationError)});Promise.resolve(i).then(i=>{n.dispose(),t.dispose(),e(i)},e=>{n.dispose(),t.dispose(),o(e)})});return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return o.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return o.finally(e)}}}function raceCancellation(e,t,i){return new Promise((o,n)=>{const r=t.onCancellationRequested(()=>{r.dispose(),o(i)});e.then(o,n).finally(()=>r.dispose())})}class Throttler{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{if(this.queuedPromise=null,this.isDisposed)return;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise(t=>{this.activePromise.then(e,e).then(t)})}return new Promise((e,t)=>{this.queuedPromise.then(e,t)})}return this.activePromise=e(),new Promise((e,t)=>{this.activePromise.then(t=>{this.activePromise=null,e(t)},e=>{this.activePromise=null,t(e)})})}dispose(){this.isDisposed=!0}}const timeoutDeferred=(e,t)=>{let i=!0;const o=setTimeout(()=>{i=!1,t()},e);return{isTriggered:()=>i,dispose:()=>{clearTimeout(o),i=!1}}},microtaskDeferred=e=>{let t=!0;return queueMicrotask(()=>{t&&(t=!1,e())}),{isTriggered:()=>t,dispose:()=>{t=!1}}};class Delayer{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((e,t)=>{this.doResolve=e,this.doReject=t}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const e=this.task;return this.task=null,e()}}));const i=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===MicrotaskDelay?microtaskDeferred(i):timeoutDeferred(t,i),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new CancellationError),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}class ThrottledDelayer{constructor(e){this.delayer=new Delayer(e),this.throttler=new Throttler}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function timeout(e,t){return t?new Promise((i,o)=>{const n=setTimeout(()=>{r.dispose(),i()},e),r=t.onCancellationRequested(()=>{clearTimeout(n),r.dispose(),o(new CancellationError)})}):createCancelablePromise(t=>timeout(e,t))}function disposableTimeout(e,t=0,i){const o=setTimeout(()=>{e(),i&&n.dispose()},t),n=toDisposable(()=>{clearTimeout(o),i?.deleteAndLeak(n)});return i?.add(n),n}function first(e,t=e=>!!e,i=null){let o=0;const n=e.length,r=()=>{if(o>=n)return Promise.resolve(i);const s=e[o++];return Promise.resolve(s()).then(e=>t(e)?Promise.resolve(e):r())};return r()}class TimeoutTimer{constructor(e,t){this._isDisposed=!1,this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new BugIndicatingError("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new BugIndicatingError("Calling 'setIfNotSet' on a disposed TimeoutTimer");-1===this._token&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class IntervalTimer{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){if(this.isDisposed)throw new BugIndicatingError("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const o=i.setInterval(()=>{e()},t);this.disposable=toDisposable(()=>{i.clearInterval(o),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}}class RunOnceScheduler{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}let runWhenGlobalIdle,_runWhenIdle;_runWhenIdle="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{setTimeout0(()=>{if(i)return;const e=Date.now()+15,o={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(o))});let i=!1;return{dispose(){i||(i=!0)}}}:(e,t,i)=>{const o=e.requestIdleCallback(t,"number"==typeof i?{timeout:i}:void 0);let n=!1;return{dispose(){n||(n=!0,e.cancelIdleCallback(o))}}},runWhenGlobalIdle=e=>_runWhenIdle(globalThis,e);class AbstractIdleValue{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=_runWhenIdle(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class GlobalIdleValue extends AbstractIdleValue{constructor(e){super(globalThis,e)}}class DeferredPromise{get isRejected(){return 1===this.outcome?.outcome}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new CancellationError)}}var Promises;!function(e){e.settled=async function(e){let t;const i=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||(t=e)})));if(void 0!==t)throw t;return i},e.withAsyncBody=function(e){return new Promise(async(t,i)=>{try{await e(t,i)}catch(error){i(error)}})}}(Promises||(Promises={}));class AsyncIterableObject{static fromArray(e){return new AsyncIterableObject(t=>{t.emitMany(e)})}static fromPromise(e){return new AsyncIterableObject(async t=>{t.emitMany(await e)})}static fromPromises(e){return new AsyncIterableObject(async t=>{await Promise.all(e.map(async e=>t.emitOne(await e)))})}static merge(e){return new AsyncIterableObject(async t=>{await Promise.all(e.map(async e=>{for await(const i of e)t.emitOne(i)}))})}static{this.EMPTY=AsyncIterableObject.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new Emitter$1,queueMicrotask(async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(i){this.reject(i)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new AsyncIterableObject(async i=>{for await(const o of e)i.emitOne(t(o))})}map(e){return AsyncIterableObject.map(this,e)}static filter(e,t){return new AsyncIterableObject(async i=>{for await(const o of e)t(o)&&i.emitOne(o)})}filter(e){return AsyncIterableObject.filter(this,e)}static coalesce(e){return AsyncIterableObject.filter(e,e=>!!e)}coalesce(){return AsyncIterableObject.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return AsyncIterableObject.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}class CancelableAsyncIterableObject extends AsyncIterableObject{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function createCancelableAsyncIterable(e){const t=new CancellationTokenSource$1,i=e(t.token);return new CancelableAsyncIterableObject(t,async e=>{const o=t.token.onCancellationRequested(()=>{o.dispose(),t.dispose(),e.reject(new CancellationError)});try{for await(const o of i){if(t.token.isCancellationRequested)return;e.emitOne(o)}o.dispose(),t.dispose()}catch(n){o.dispose(),t.dispose(),e.reject(n)}})} /*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */const{entries:entries,setPrototypeOf:setPrototypeOf,isFrozen:isFrozen,getPrototypeOf:getPrototypeOf,getOwnPropertyDescriptor:getOwnPropertyDescriptor}=Object;let{freeze:freeze$1,seal:seal,create:create$1}=Object,{apply:apply$1,construct:construct}="undefined"!=typeof Reflect&&Reflect;freeze$1||(freeze$1=function(e){return e}),seal||(seal=function(e){return e}),apply$1||(apply$1=function(e,t,i){return e.apply(t,i)}),construct||(construct=function(e,t){return new e(...t)});const arrayForEach=unapply(Array.prototype.forEach),arrayPop=unapply(Array.prototype.pop),arrayPush$1=unapply(Array.prototype.push),stringToLowerCase=unapply(String.prototype.toLowerCase),stringToString=unapply(String.prototype.toString),stringMatch=unapply(String.prototype.match),stringReplace=unapply(String.prototype.replace),stringIndexOf=unapply(String.prototype.indexOf),stringTrim=unapply(String.prototype.trim),objectHasOwnProperty=unapply(Object.prototype.hasOwnProperty),regExpTest=unapply(RegExp.prototype.test),typeErrorCreate=unconstruct(TypeError);function unapply(e){return function(t){for(var i=arguments.length,o=new Array(i>1?i-1:0),n=1;n2&&void 0!==arguments[2]?arguments[2]:stringToLowerCase;setPrototypeOf&&setPrototypeOf(e,null);let o=t.length;for(;o--;){let n=t[o];if("string"==typeof n){const e=i(n);e!==n&&(isFrozen(t)||(t[o]=e),n=e)}e[n]=!0}return e}function cleanArray(e){for(let t=0;t/gm),TMPLIT_EXPR=seal(/\${[\w\W]*}/gm),DATA_ATTR=seal(/^data-[\-\w.\u00B7-\uFFFF]/),ARIA_ATTR=seal(/^aria-[\-\w]+$/),IS_ALLOWED_URI=seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),IS_SCRIPT_OR_DATA=seal(/^(?:\w+script|data):/i),ATTR_WHITESPACE=seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),DOCTYPE_NAME=seal(/^html$/i),CUSTOM_ELEMENT=seal(/^[a-z][.\w]*(-[.\w]+)+$/i);var EXPRESSIONS=Object.freeze({__proto__:null,MUSTACHE_EXPR:MUSTACHE_EXPR,ERB_EXPR:ERB_EXPR,TMPLIT_EXPR:TMPLIT_EXPR,DATA_ATTR:DATA_ATTR,ARIA_ATTR:ARIA_ATTR,IS_ALLOWED_URI:IS_ALLOWED_URI,IS_SCRIPT_OR_DATA:IS_SCRIPT_OR_DATA,ATTR_WHITESPACE:ATTR_WHITESPACE,DOCTYPE_NAME:DOCTYPE_NAME,CUSTOM_ELEMENT:CUSTOM_ELEMENT});const NODE_TYPE={element:1,text:3,progressingInstruction:7,comment:8,document:9},getGlobal=function(){return"undefined"==typeof window?null:window},_createTrustedTypesPolicy=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let i=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(i=t.getAttribute(o));const n="dompurify"+(i?"#"+i:"");try{return e.createPolicy(n,{createHTML:e=>e,createScriptURL:e=>e})}catch(_){return console.warn("TrustedTypes policy "+n+" could not be created."),null}};function createDOMPurify(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:getGlobal();const t=e=>createDOMPurify(e);if(t.version="3.1.7",t.removed=[],!e||!e.document||e.document.nodeType!==NODE_TYPE.document)return t.isSupported=!1,t;let{document:i}=e;const o=i,n=o.currentScript,{DocumentFragment:r,HTMLTemplateElement:s,Node:a,Element:l,NodeFilter:c,NamedNodeMap:d=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:u,DOMParser:h,trustedTypes:p}=e,g=l.prototype,m=lookupGetter(g,"cloneNode"),f=lookupGetter(g,"remove"),v=lookupGetter(g,"nextSibling"),b=lookupGetter(g,"childNodes"),y=lookupGetter(g,"parentNode");if("function"==typeof s){const e=i.createElement("template");e.content&&e.content.ownerDocument&&(i=e.content.ownerDocument)}let C,w="";const{implementation:x,createNodeIterator:S,createDocumentFragment:k,getElementsByTagName:E}=i,{importNode:I}=o;let T={};t.isSupported="function"==typeof entries&&"function"==typeof y&&x&&void 0!==x.createHTMLDocument;const{MUSTACHE_EXPR:D,ERB_EXPR:L,TMPLIT_EXPR:N,DATA_ATTR:M,ARIA_ATTR:$,IS_SCRIPT_OR_DATA:R,ATTR_WHITESPACE:A,CUSTOM_ELEMENT:O}=EXPRESSIONS;let{IS_ALLOWED_URI:P}=EXPRESSIONS,B=null;const F=addToSet({},[...html$1,...svg$1,...svgFilters,...mathMl$1,...text$2]);let z=null;const V=addToSet({},[...html$2,...svg,...mathMl,...xml]);let H=Object.seal(create$1(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}})),W=null,K=null,U=!0,j=!0,G=!1,q=!0,Y=!1,X=!0,Q=!1,Z=!1,J=!1,ee=!1,te=!1,ie=!1,oe=!0,ne=!1;let re=!0,se=!1,ae={},le=null;const ce=addToSet({},["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 de=null;const ue=addToSet({},["audio","video","img","source","image","track"]);let he=null;const pe=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ge="http://www.w3.org/1998/Math/MathML",me="http://www.w3.org/2000/svg",fe="http://www.w3.org/1999/xhtml";let ve=fe,be=!1,_e=null;const ye=addToSet({},[ge,me,fe],stringToString);let Ce=null;const we=["application/xhtml+xml","text/html"];let xe=null,Se=null;const ke=i.createElement("form"),Ee=function(e){return e instanceof RegExp||e instanceof Function},Ie=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Se||Se!==e){if(e&&"object"==typeof e||(e={}),e=clone$3(e),Ce=-1===we.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,xe="application/xhtml+xml"===Ce?stringToString:stringToLowerCase,B=objectHasOwnProperty(e,"ALLOWED_TAGS")?addToSet({},e.ALLOWED_TAGS,xe):F,z=objectHasOwnProperty(e,"ALLOWED_ATTR")?addToSet({},e.ALLOWED_ATTR,xe):V,_e=objectHasOwnProperty(e,"ALLOWED_NAMESPACES")?addToSet({},e.ALLOWED_NAMESPACES,stringToString):ye,he=objectHasOwnProperty(e,"ADD_URI_SAFE_ATTR")?addToSet(clone$3(pe),e.ADD_URI_SAFE_ATTR,xe):pe,de=objectHasOwnProperty(e,"ADD_DATA_URI_TAGS")?addToSet(clone$3(ue),e.ADD_DATA_URI_TAGS,xe):ue,le=objectHasOwnProperty(e,"FORBID_CONTENTS")?addToSet({},e.FORBID_CONTENTS,xe):ce,W=objectHasOwnProperty(e,"FORBID_TAGS")?addToSet({},e.FORBID_TAGS,xe):{},K=objectHasOwnProperty(e,"FORBID_ATTR")?addToSet({},e.FORBID_ATTR,xe):{},ae=!!objectHasOwnProperty(e,"USE_PROFILES")&&e.USE_PROFILES,U=!1!==e.ALLOW_ARIA_ATTR,j=!1!==e.ALLOW_DATA_ATTR,G=e.ALLOW_UNKNOWN_PROTOCOLS||!1,q=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Y=e.SAFE_FOR_TEMPLATES||!1,X=!1!==e.SAFE_FOR_XML,Q=e.WHOLE_DOCUMENT||!1,ee=e.RETURN_DOM||!1,te=e.RETURN_DOM_FRAGMENT||!1,ie=e.RETURN_TRUSTED_TYPE||!1,J=e.FORCE_BODY||!1,oe=!1!==e.SANITIZE_DOM,ne=e.SANITIZE_NAMED_PROPS||!1,re=!1!==e.KEEP_CONTENT,se=e.IN_PLACE||!1,P=e.ALLOWED_URI_REGEXP||IS_ALLOWED_URI,ve=e.NAMESPACE||fe,H=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Ee(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Ee(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(H.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Y&&(j=!1),te&&(ee=!0),ae&&(B=addToSet({},text$2),z=[],!0===ae.html&&(addToSet(B,html$1),addToSet(z,html$2)),!0===ae.svg&&(addToSet(B,svg$1),addToSet(z,svg),addToSet(z,xml)),!0===ae.svgFilters&&(addToSet(B,svgFilters),addToSet(z,svg),addToSet(z,xml)),!0===ae.mathMl&&(addToSet(B,mathMl$1),addToSet(z,mathMl),addToSet(z,xml))),e.ADD_TAGS&&(B===F&&(B=clone$3(B)),addToSet(B,e.ADD_TAGS,xe)),e.ADD_ATTR&&(z===V&&(z=clone$3(z)),addToSet(z,e.ADD_ATTR,xe)),e.ADD_URI_SAFE_ATTR&&addToSet(he,e.ADD_URI_SAFE_ATTR,xe),e.FORBID_CONTENTS&&(le===ce&&(le=clone$3(le)),addToSet(le,e.FORBID_CONTENTS,xe)),re&&(B["#text"]=!0),Q&&addToSet(B,["html","head","body"]),B.table&&(addToSet(B,["tbody"]),delete W.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=e.TRUSTED_TYPES_POLICY,w=C.createHTML("")}else void 0===C&&(C=_createTrustedTypesPolicy(p,n)),null!==C&&"string"==typeof w&&(w=C.createHTML(""));freeze$1&&freeze$1(e),Se=e}},Te=addToSet({},["mi","mo","mn","ms","mtext"]),De=addToSet({},["annotation-xml"]),Le=addToSet({},["title","style","font","a","script"]),Ne=addToSet({},[...svg$1,...svgFilters,...svgDisallowed]),Me=addToSet({},[...mathMl$1,...mathMlDisallowed]),$e=function(e){arrayPush$1(t.removed,{element:e});try{y(e).removeChild(e)}catch(_){f(e)}},Re=function(e,i){try{arrayPush$1(t.removed,{attribute:i.getAttributeNode(e),from:i})}catch(_){arrayPush$1(t.removed,{attribute:null,from:i})}if(i.removeAttribute(e),"is"===e&&!z[e])if(ee||te)try{$e(i)}catch(_){}else try{i.setAttribute(e,"")}catch(_){}},Ae=function(e){let t=null,o=null;if(J)e=""+e;else{const t=stringMatch(e,/^[\r\n\t ]+/);o=t&&t[0]}"application/xhtml+xml"===Ce&&ve===fe&&(e=''+e+"");const n=C?C.createHTML(e):e;if(ve===fe)try{t=(new h).parseFromString(n,Ce)}catch(_){}if(!t||!t.documentElement){t=x.createDocument(ve,"template",null);try{t.documentElement.innerHTML=be?w:n}catch(_){}}const r=t.body||t.documentElement;return e&&o&&r.insertBefore(i.createTextNode(o),r.childNodes[0]||null),ve===fe?E.call(t,Q?"html":"body")[0]:Q?t.documentElement:r},Oe=function(e){return S.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Pe=function(e){return e instanceof u&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof d)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Be=function(e){return"function"==typeof a&&e instanceof a},Fe=function(e,i,o){T[e]&&arrayForEach(T[e],e=>{e.call(t,i,o,Se)})},ze=function(e){let i=null;if(Fe("beforeSanitizeElements",e,null),Pe(e))return $e(e),!0;const o=xe(e.nodeName);if(Fe("uponSanitizeElement",e,{tagName:o,allowedTags:B}),e.hasChildNodes()&&!Be(e.firstElementChild)&®ExpTest(/<[/\w]/g,e.innerHTML)&®ExpTest(/<[/\w]/g,e.textContent))return $e(e),!0;if(e.nodeType===NODE_TYPE.progressingInstruction)return $e(e),!0;if(X&&e.nodeType===NODE_TYPE.comment&®ExpTest(/<[/\w]/g,e.data))return $e(e),!0;if(!B[o]||W[o]){if(!W[o]&&He(o)){if(H.tagNameCheck instanceof RegExp&®ExpTest(H.tagNameCheck,o))return!1;if(H.tagNameCheck instanceof Function&&H.tagNameCheck(o))return!1}if(re&&!le[o]){const t=y(e)||e.parentNode,i=b(e)||e.childNodes;if(i&&t){for(let o=i.length-1;o>=0;--o){const n=m(i[o],!0);n.__removalCount=(e.__removalCount||0)+1,t.insertBefore(n,v(e))}}}return $e(e),!0}return e instanceof l&&!function(e){let t=y(e);t&&t.tagName||(t={namespaceURI:ve,tagName:"template"});const i=stringToLowerCase(e.tagName),o=stringToLowerCase(t.tagName);return!!_e[e.namespaceURI]&&(e.namespaceURI===me?t.namespaceURI===fe?"svg"===i:t.namespaceURI===ge?"svg"===i&&("annotation-xml"===o||Te[o]):Boolean(Ne[i]):e.namespaceURI===ge?t.namespaceURI===fe?"math"===i:t.namespaceURI===me?"math"===i&&De[o]:Boolean(Me[i]):e.namespaceURI===fe?!(t.namespaceURI===me&&!De[o])&&!(t.namespaceURI===ge&&!Te[o])&&!Me[i]&&(Le[i]||!Ne[i]):!("application/xhtml+xml"!==Ce||!_e[e.namespaceURI]))}(e)?($e(e),!0):"noscript"!==o&&"noembed"!==o&&"noframes"!==o||!regExpTest(/<\/no(script|embed|frames)/i,e.innerHTML)?(Y&&e.nodeType===NODE_TYPE.text&&(i=e.textContent,arrayForEach([D,L,N],e=>{i=stringReplace(i,e," ")}),e.textContent!==i&&(arrayPush$1(t.removed,{element:e.cloneNode()}),e.textContent=i)),Fe("afterSanitizeElements",e,null),!1):($e(e),!0)},Ve=function(e,t,o){if(oe&&("id"===t||"name"===t)&&(o in i||o in ke))return!1;if(j&&!K[t]&®ExpTest(M,t));else if(U&®ExpTest($,t));else if(!z[t]||K[t]){if(!(He(e)&&(H.tagNameCheck instanceof RegExp&®ExpTest(H.tagNameCheck,e)||H.tagNameCheck instanceof Function&&H.tagNameCheck(e))&&(H.attributeNameCheck instanceof RegExp&®ExpTest(H.attributeNameCheck,t)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(t))||"is"===t&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&®ExpTest(H.tagNameCheck,o)||H.tagNameCheck instanceof Function&&H.tagNameCheck(o))))return!1}else if(he[t]);else if(regExpTest(P,stringReplace(o,A,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==stringIndexOf(o,"data:")||!de[e]){if(G&&!regExpTest(R,stringReplace(o,A,"")));else if(o)return!1}else;return!0},He=function(e){return"annotation-xml"!==e&&stringMatch(e,O)},We=function(e){Fe("beforeSanitizeAttributes",e,null);const{attributes:i}=e;if(!i)return;const o={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:z};let n=i.length;for(;n--;){const r=i[n],{name:s,namespaceURI:a,value:l}=r,c=xe(s);let d="value"===s?l:stringTrim(l);if(o.attrName=c,o.attrValue=d,o.keepAttr=!0,o.forceKeepAttr=void 0,Fe("uponSanitizeAttribute",e,o),d=o.attrValue,o.forceKeepAttr)continue;if(Re(s,e),!o.keepAttr)continue;if(!q&®ExpTest(/\/>/i,d)){Re(s,e);continue}Y&&arrayForEach([D,L,N],e=>{d=stringReplace(d,e," ")});const u=xe(e.nodeName);if(Ve(u,c,d))if(!ne||"id"!==c&&"name"!==c||(Re(s,e),d="user-content-"+d),X&®ExpTest(/((--!?|])>)|<\/(style|title)/i,d))Re(s,e);else{if(C&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(a);else switch(p.getAttributeType(u,c)){case"TrustedHTML":d=C.createHTML(d);break;case"TrustedScriptURL":d=C.createScriptURL(d)}try{a?e.setAttributeNS(a,s,d):e.setAttribute(s,d),Pe(e)?$e(e):arrayPop(t.removed)}catch(_){}}}Fe("afterSanitizeAttributes",e,null)},Ke=function e(t){let i=null;const o=Oe(t);for(Fe("beforeSanitizeShadowDOM",t,null);i=o.nextNode();)Fe("uponSanitizeShadowNode",i,null),ze(i)||(i.content instanceof r&&e(i.content),We(i));Fe("afterSanitizeShadowDOM",t,null)};return t.sanitize=function(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,s=null,l=null,c=null;if(be=!e,be&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Be(e)){if("function"!=typeof e.toString)throw typeErrorCreate("toString is not a function");if("string"!=typeof(e=e.toString()))throw typeErrorCreate("dirty is not a string, aborting")}if(!t.isSupported)return e;if(Z||Ie(i),t.removed=[],"string"==typeof e&&(se=!1),se){if(e.nodeName){const t=xe(e.nodeName);if(!B[t]||W[t])throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof a)n=Ae("\x3c!----\x3e"),s=n.ownerDocument.importNode(e,!0),s.nodeType===NODE_TYPE.element&&"BODY"===s.nodeName||"HTML"===s.nodeName?n=s:n.appendChild(s);else{if(!ee&&!Y&&!Q&&-1===e.indexOf("<"))return C&&ie?C.createHTML(e):e;if(n=Ae(e),!n)return ee?null:ie?w:""}n&&J&&$e(n.firstChild);const d=Oe(se?e:n);for(;l=d.nextNode();)ze(l)||(l.content instanceof r&&Ke(l.content),We(l));if(se)return e;if(ee){if(te)for(c=k.call(n.ownerDocument);n.firstChild;)c.appendChild(n.firstChild);else c=n;return(z.shadowroot||z.shadowrootmode)&&(c=I.call(o,c,!0)),c}let u=Q?n.outerHTML:n.innerHTML;return Q&&B["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&®ExpTest(DOCTYPE_NAME,n.ownerDocument.doctype.name)&&(u="\n"+u),Y&&arrayForEach([D,L,N],e=>{u=stringReplace(u,e," ")}),C&&ie?C.createHTML(u):u},t.setConfig=function(){Ie(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Z=!0},t.clearConfig=function(){Se=null,Z=!1},t.isValidAttribute=function(e,t,i){Se||Ie({});const o=xe(e),n=xe(t);return Ve(o,n,i)},t.addHook=function(e,t){"function"==typeof t&&(T[e]=T[e]||[],arrayPush$1(T[e],t))},t.removeHook=function(e){if(T[e])return arrayPop(T[e])},t.removeHooks=function(e){T[e]&&(T[e]=[])},t.removeAllHooks=function(){T={}},t}var purify=createDOMPurify();purify.version,purify.isSupported;const sanitize$1=purify.sanitize;purify.setConfig,purify.clearConfig,purify.isValidAttribute;const addHook=purify.addHook,removeHook=purify.removeHook;var Schemas;function matchesScheme(e,t){return URI.isUri(e)?equalsIgnoreCase(e.scheme,t):startsWithIgnoreCase(e,t+":")}function matchesSomeScheme(e,...t){return t.some(t=>matchesScheme(e,t))}purify.removeHooks,purify.removeAllHooks,function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",e.vscodeNotebookMetadata="vscode-notebook-metadata",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.commentsInput="comment",e.codeSetting="code-setting",e.outputChannel="output"}(Schemas||(Schemas={}));const connectionTokenQueryName="tkn";class RemoteAuthoritiesImpl{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(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return posix.join(this._serverRootPath,Schemas.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(s){return onUnexpectedError(s),e}const t=e.authority;let i=this._hosts[t];i&&-1!==i.indexOf(":")&&-1===i.indexOf("[")&&(i=`[${i}]`);const o=this._ports[t],n=this._connectionTokens[t];let r=`path=${encodeURIComponent(e.path)}`;return"string"==typeof n&&(r+=`&${connectionTokenQueryName}=${encodeURIComponent(n)}`),URI.from({scheme:isWeb?this._preferredWebSchema:Schemas.vscodeRemoteResource,authority:`${i}:${o}`,path:this._remoteResourcesPath,query:r})}}const RemoteAuthorities=new RemoteAuthoritiesImpl,VSCODE_AUTHORITY="vscode-app";class FileAccessImpl{static{this.FALLBACK_AUTHORITY=VSCODE_AUTHORITY}asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===Schemas.vscodeRemote?RemoteAuthorities.rewrite(e):e.scheme!==Schemas.file||!isNative&&webWorkerOrigin!==`${Schemas.vscodeFileResource}://${FileAccessImpl.FALLBACK_AUTHORITY}`?e:e.with({scheme:Schemas.vscodeFileResource,authority:e.authority||FileAccessImpl.FALLBACK_AUTHORITY,query:null,fragment:null})}toUri(e,t){if(URI.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return URI.joinPath(URI.parse(t,!0),e);const i=join$1(t,e);return URI.file(i)}return URI.parse(t.toUrl(e))}}const FileAccess=new FileAccessImpl;var COI;function hash$3(e){return doHash(e,0)}function doHash(e,t){switch(typeof e){case"object":return null===e?numberHash(349,t):Array.isArray(e)?arrayHash(e,t):objectHash(e,t);case"string":return stringHash$1(e,t);case"boolean":return booleanHash(e,t);case"number":return numberHash(e,t);case"undefined":return numberHash(937,t);default:return numberHash(617,t)}}function numberHash(e,t){return(t<<5)-t+e|0}function booleanHash(e,t){return numberHash(e?433:863,t)}function stringHash$1(e,t){t=numberHash(149417,t);for(let i=0,o=e.length;idoHash(t,e),t)}function objectHash(e,t){return t=numberHash(181387,t),Object.keys(e).sort().reduce((t,i)=>(t=stringHash$1(i,t),doHash(e[i],t)),t)}function leftRotate$2(e,t,i=32){const o=i-t;return(e<>>o)>>>0}function fill(e,t=0,i=e.byteLength,o=0){for(let n=0;ne.toString(16).padStart(2,"0")).join(""):leftPad((e>>>0).toString(16),t/4)}!function(e){const t=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"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const i="vscode-coi";e.getHeadersFromQuery=function(e){let o;"string"==typeof e?o=new URL(e).searchParams:e instanceof URL?o=e.searchParams:URI.isUri(e)&&(o=new URL(e.toString(!0)).searchParams);const n=o?.get(i);if(n)return t.get(n)},e.addSearchParam=function(e,t,o){if(!globalThis.crossOriginIsolated)return;const n=t&&o?"3":o?"2":"1";e instanceof URLSearchParams?e.set(i,n):e[i]=n}}(COI||(COI={}));class StringSHA1{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(e){const t=e.length;if(0===t)return;const i=this._buff;let o,n,r=this._buffLen,s=this._leftoverHighSurrogate;for(0!==s?(o=s,n=-1,s=0):(o=e.charCodeAt(0),n=0);;){let a=o;if(isHighSurrogate(o)){if(!(n+1>>6,e[t++]=128|(63&i)>>>0):i<65536?(e[t++]=224|(61440&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0):(e[t++]=240|(1835008&i)>>>18,e[t++]=128|(258048&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}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()),toHexString(this._h0)+toHexString(this._h1)+toHexString(this._h2)+toHexString(this._h3)+toHexString(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,fill(this._buff,this._buffLen),this._buffLen>56&&(this._step(),fill(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=StringSHA1._bigBlock32,t=this._buffDV;for(let d=0;d<64;d+=4)e.setUint32(d,t.getUint32(d,!1),!1);for(let d=64;d<320;d+=4)e.setUint32(d,leftRotate$2(e.getUint32(d-12,!1)^e.getUint32(d-32,!1)^e.getUint32(d-56,!1)^e.getUint32(d-64,!1),1),!1);let i,o,n,r=this._h0,s=this._h1,a=this._h2,l=this._h3,c=this._h4;for(let d=0;d<80;d++)d<20?(i=s&a|~s&l,o=1518500249):d<40?(i=s^a^l,o=1859775393):d<60?(i=s&a|s&l|a&l,o=2400959708):(i=s^a^l,o=3395469782),n=leftRotate$2(r,5)+i+c+o+e.getUint32(4*d,!1)&4294967295,c=l,l=a,a=leftRotate$2(s,30),s=r,r=n;this._h0=this._h0+r&4294967295,this._h1=this._h1+s&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+l&4294967295,this._h4=this._h4+c&4294967295}}const{getWindow:getWindow$2,getWindows:getWindows,getWindowsCount:getWindowsCount,getWindowId:getWindowId,getWindowById:getWindowById,onDidRegisterWindow:onDidRegisterWindow,onWillUnregisterWindow:onWillUnregisterWindow,onDidUnregisterWindow:onDidUnregisterWindow}=function(){const e=new Map;ensureCodeWindow(mainWindow,1);const t={window:mainWindow,disposables:new DisposableStore};e.set(mainWindow.vscodeWindowId,t);const i=new Emitter$1,o=new Emitter$1,n=new Emitter$1;return{onDidRegisterWindow:i.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:o.event,registerWindow(t){if(e.has(t.vscodeWindowId))return Disposable.None;const r=new DisposableStore,s={window:t,disposables:r.add(new DisposableStore)};return e.set(t.vscodeWindowId,s),r.add(toDisposable(()=>{e.delete(t.vscodeWindowId),o.fire(t)})),r.add(addDisposableListener(t,EventType$1.BEFORE_UNLOAD,()=>{n.fire(t)})),i.fire(s),r},getWindows:()=>e.values(),getWindowsCount:()=>e.size,getWindowId:e=>e.vscodeWindowId,hasWindow:t=>e.has(t),getWindowById:function(i,o){return("number"==typeof i?e.get(i):void 0)??(o?t:void 0)},getWindow(e){const t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;const i=e;return i?.view?i.view.window:mainWindow},getDocument:e=>getWindow$2(e).document}}();function clearNode(e){for(;e.firstChild;)e.firstChild.remove()}class DomListener{constructor(e,t,i,o){this._node=e,this._type=t,this._handler=i,this._options=o||!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 addDisposableListener(e,t,i,o){return new DomListener(e,t,i,o)}function _wrapAsStandardMouseEvent(e,t){return function(i){return t(new StandardMouseEvent(e,i))}}function _wrapAsStandardKeyboardEvent(e){return function(t){return e(new StandardKeyboardEvent(t))}}const addStandardDisposableListener=function(e,t,i,o){let n=i;return"click"===t||"mousedown"===t||"contextmenu"===t?n=_wrapAsStandardMouseEvent(getWindow$2(e),i):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(n=_wrapAsStandardKeyboardEvent(i)),addDisposableListener(e,t,n,o)},addStandardDisposableGenericMouseDownListener=function(e,t,i){return addDisposableGenericMouseDownListener(e,_wrapAsStandardMouseEvent(getWindow$2(e),t),i)};function addDisposableGenericMouseDownListener(e,t,i){return addDisposableListener(e,isIOS$1&&BrowserFeatures.pointerEvents?EventType$1.POINTER_DOWN:EventType$1.MOUSE_DOWN,t,i)}function runWhenWindowIdle(e,t,i){return _runWhenIdle(e,t,i)}class WindowIdleValue extends AbstractIdleValue{constructor(e,t){super(e,t)}}let runAtThisOrScheduleAtNextAnimationFrame,scheduleAtNextAnimationFrame;class WindowIntervalTimer extends IntervalTimer{constructor(e){super(),this.defaultTarget=e&&getWindow$2(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}}class AnimationFrameQueueItem{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){onUnexpectedError(e)}}static sort(e,t){return t.priority-e.priority}}function getComputedStyle$3(e){return getWindow$2(e).getComputedStyle(e,null)}function getClientArea(e,t){const i=getWindow$2(e),o=i.document;if(e!==o.body)return new Dimension(e.clientWidth,e.clientHeight);if(isIOS$1&&i?.visualViewport)return new Dimension(i.visualViewport.width,i.visualViewport.height);if(i?.innerWidth&&i.innerHeight)return new Dimension(i.innerWidth,i.innerHeight);if(o.body&&o.body.clientWidth&&o.body.clientHeight)return new Dimension(o.body.clientWidth,o.body.clientHeight);if(o.documentElement&&o.documentElement.clientWidth&&o.documentElement.clientHeight)return new Dimension(o.documentElement.clientWidth,o.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}!function(){const e=new Map,t=new Map,i=new Map,o=new Map;scheduleAtNextAnimationFrame=(n,r,s=0)=>{const a=getWindowId(n),l=new AnimationFrameQueueItem(r,s);let c=e.get(a);return c||(c=[],e.set(a,c)),c.push(l),i.get(a)||(i.set(a,!0),n.requestAnimationFrame(()=>(n=>{i.set(n,!1);const r=e.get(n)??[];for(t.set(n,r),e.set(n,[]),o.set(n,!0);r.length>0;)r.sort(AnimationFrameQueueItem.sort),r.shift().execute();o.set(n,!1)})(a))),l},runAtThisOrScheduleAtNextAnimationFrame=(e,i,n)=>{const r=getWindowId(e);if(o.get(r)){const e=new AnimationFrameQueueItem(i,n);let o=t.get(r);return o||(o=[],t.set(r,o)),o.push(e),e}return scheduleAtNextAnimationFrame(e,i,n)}}();class SizeUtils{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const o=getComputedStyle$3(e),n=o?o.getPropertyValue(t):"0";return SizeUtils.convertToPixels(e,n)}static getBorderLeftWidth(e){return SizeUtils.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return SizeUtils.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return SizeUtils.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return SizeUtils.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return SizeUtils.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return SizeUtils.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return SizeUtils.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return SizeUtils.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return SizeUtils.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return SizeUtils.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return SizeUtils.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return SizeUtils.getDimension(e,"margin-bottom","marginBottom")}}class Dimension{static{this.None=new Dimension(0,0)}constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Dimension(e,t):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(e){return e instanceof Dimension?e:new Dimension(e.width,e.height)}static equals(e,t){return e===t||!(!e||!t)&&(e.width===t.width&&e.height===t.height)}}function getTopLeftOffset(e){let t=e.offsetParent,i=e.offsetTop,o=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==e.ownerDocument.body&&e!==e.ownerDocument.documentElement;){i-=e.scrollTop;const n=isShadowRoot$1(e)?null:getComputedStyle$3(e);n&&(o-="rtl"!==n.direction?e.scrollLeft:-e.scrollLeft),e===t&&(o+=SizeUtils.getBorderLeftWidth(e),i+=SizeUtils.getBorderTopWidth(e),i+=e.offsetTop,o+=e.offsetLeft,t=e.offsetParent)}return{left:o,top:i}}function size(e,t,i){"number"==typeof t&&(e.style.width=`${t}px`),"number"==typeof i&&(e.style.height=`${i}px`)}function getDomNodePagePosition(e){const t=e.getBoundingClientRect(),i=getWindow$2(e);return{left:t.left+i.scrollX,top:t.top+i.scrollY,width:t.width,height:t.height}}function getDomNodeZoomLevel(e){let t=e,i=1;do{const e=getComputedStyle$3(t).zoom;null!=e&&"1"!==e&&(i*=e),t=t.parentElement}while(null!==t&&t!==t.ownerDocument.documentElement);return i}function getTotalWidth(e){const t=SizeUtils.getMarginLeft(e)+SizeUtils.getMarginRight(e);return e.offsetWidth+t}function getContentWidth(e){const t=SizeUtils.getBorderLeftWidth(e)+SizeUtils.getBorderRightWidth(e),i=SizeUtils.getPaddingLeft(e)+SizeUtils.getPaddingRight(e);return e.offsetWidth-t-i}function getContentHeight(e){const t=SizeUtils.getBorderTopWidth(e)+SizeUtils.getBorderBottomWidth(e),i=SizeUtils.getPaddingTop(e)+SizeUtils.getPaddingBottom(e);return e.offsetHeight-t-i}function getTotalHeight(e){const t=SizeUtils.getMarginTop(e)+SizeUtils.getMarginBottom(e);return e.offsetHeight+t}function isAncestor$1(e,t){return Boolean(t?.contains(e))}function findParentWithClass(e,t,i){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(i)if("string"==typeof i){if(e.classList.contains(i))return null}else if(e===i)return null;e=e.parentNode}return null}function hasParentWithClass(e,t,i){return!!findParentWithClass(e,t,i)}function isShadowRoot$1(e){return e&&!!e.host&&!!e.mode}function isInShadowDOM(e){return!!getShadowRoot$2(e)}function getShadowRoot$2(e){for(;e.parentNode;){if(e===e.ownerDocument?.body)return null;e=e.parentNode}return isShadowRoot$1(e)?e:null}function getActiveElement(){let e=getActiveDocument().activeElement;for(;e?.shadowRoot;)e=e.shadowRoot.activeElement;return e}function isActiveElement(e){return getActiveElement()===e}function isAncestorOfActiveElement(e){return isAncestor$1(getActiveElement(),e)}function getActiveDocument(){if(getWindowsCount()<=1)return mainWindow.document;return Array.from(getWindows()).map(({window:e})=>e.document).find(e=>e.hasFocus())??mainWindow.document}function getActiveWindow(){const e=getActiveDocument();return e.defaultView?.window??mainWindow}const globalStylesheets=new Map;function createStyleSheet2(){return new WrappedStyleElement}class WrappedStyleElement{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=createStyleSheet(mainWindow.document.head,t=>t.innerText=e))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function createStyleSheet(e=mainWindow.document.head,t,i){const o=document.createElement("style");if(o.type="text/css",o.media="screen",t?.(o),e.appendChild(o),i&&i.add(toDisposable(()=>o.remove())),e===mainWindow.document.head){const e=new Set;globalStylesheets.set(o,e);for(const{window:t,disposables:n}of getWindows()){if(t===mainWindow)continue;const r=n.add(cloneGlobalStyleSheet(o,e,t));i?.add(r)}}return o}function cloneGlobalStyleSheet(e,t,i){const o=new DisposableStore,n=e.cloneNode(!0);i.document.head.appendChild(n),o.add(toDisposable(()=>n.remove()));for(const r of getDynamicStyleSheetRules(e))n.sheet?.insertRule(r.cssText,n.sheet?.cssRules.length);return o.add(sharedMutationObserver.observe(e,o,{childList:!0})(()=>{n.textContent=e.textContent})),t.add(n),o.add(toDisposable(()=>t.delete(n))),o}const sharedMutationObserver=new class{constructor(){this.mutationObservers=new Map}observe(e,t,i){let o=this.mutationObservers.get(e);o||(o=new Map,this.mutationObservers.set(e,o));const n=hash$3(i);let r=o.get(n);if(r)r.users+=1;else{const s=new Emitter$1,a=new MutationObserver(e=>s.fire(e));a.observe(e,i);const l=r={users:1,observer:a,onDidMutate:s.event};t.add(toDisposable(()=>{l.users-=1,0===l.users&&(s.dispose(),a.disconnect(),o?.delete(n),0===o?.size&&this.mutationObservers.delete(e))})),o.set(n,r)}return r.onDidMutate}};let _sharedStyleSheet=null;function getSharedStyleSheet(){return _sharedStyleSheet||(_sharedStyleSheet=createStyleSheet()),_sharedStyleSheet}function getDynamicStyleSheetRules(e){return e?.sheet?.rules?e.sheet.rules:e?.sheet?.cssRules?e.sheet.cssRules:[]}function createCSSRule(e,t,i=getSharedStyleSheet()){if(i&&t){i.sheet?.insertRule(`${e} {${t}}`,0);for(const o of globalStylesheets.get(i)??[])createCSSRule(e,t,o)}}function removeCSSRulesContainingSelector(e,t=getSharedStyleSheet()){if(!t)return;const i=getDynamicStyleSheetRules(t),o=[];for(let n=0;n=0;n--)t.sheet?.deleteRule(o[n]);for(const n of globalStylesheets.get(t)??[])removeCSSRulesContainingSelector(e,n)}function isCSSStyleRule(e){return"string"==typeof e.selectorText}function isHTMLElement$1(e){return e instanceof HTMLElement||e instanceof getWindow$2(e).HTMLElement}function isHTMLAnchorElement(e){return e instanceof HTMLAnchorElement||e instanceof getWindow$2(e).HTMLAnchorElement}function isSVGElement(e){return e instanceof SVGElement||e instanceof getWindow$2(e).SVGElement}function isMouseEvent$1(e){return e instanceof MouseEvent||e instanceof getWindow$2(e).MouseEvent}function isKeyboardEvent(e){return e instanceof KeyboardEvent||e instanceof getWindow$2(e).KeyboardEvent}const EventType$1={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",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend"};function isEventLike(e){const t=e;return!(!t||"function"!=typeof t.preventDefault||"function"!=typeof t.stopPropagation)}const EventHelper$1={stop:(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e)};function saveParentsScrollTop(e){const t=[];for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)t[i]=e.scrollTop,e=e.parentNode;return t}function restoreParentsScrollTop(e,t){for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)e.scrollTop!==t[i]&&(e.scrollTop=t[i]),e=e.parentNode}class FocusTracker extends Disposable{static hasFocusWithin(e){if(isHTMLElement$1(e)){const t=getShadowRoot$2(e);return isAncestor$1(t?t.activeElement:e.ownerDocument.activeElement,e)}{const t=e;return isAncestor$1(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new Emitter$1),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Emitter$1),this.onDidBlur=this._onDidBlur.event;let t=FocusTracker.hasFocusWithin(e),i=!1;const o=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},n=()=>{t&&(i=!0,(isHTMLElement$1(e)?getWindow$2(e):e).setTimeout(()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{FocusTracker.hasFocusWithin(e)!==t&&(t?n():o())},this._register(addDisposableListener(e,EventType$1.FOCUS,o,!0)),this._register(addDisposableListener(e,EventType$1.BLUR,n,!0)),isHTMLElement$1(e)&&(this._register(addDisposableListener(e,EventType$1.FOCUS_IN,()=>this._refreshStateHandler())),this._register(addDisposableListener(e,EventType$1.FOCUS_OUT,()=>this._refreshStateHandler())))}}function trackFocus(e){return new FocusTracker(e)}function after(e,t){return e.after(t),t}function append$2(e,...t){if(e.append(...t),1===t.length&&"string"!=typeof t[0])return t[0]}function prepend$1(e,t){return e.insertBefore(t,e.firstChild),t}function reset(e,...t){e.innerText="",append$2(e,...t)}const SELECTOR_REGEX=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Namespace;function _$(e,t,i,...o){const n=SELECTOR_REGEX.exec(t);if(!n)throw new Error("Bad use of emmet");const r=n[1]||"div";let s;return s=e!==Namespace.HTML?document.createElementNS(e,r):document.createElement(r),n[3]&&(s.id=n[3]),n[4]&&(s.className=n[4].replace(/\./g," ").trim()),i&&Object.entries(i).forEach(([e,t])=>{void 0!==t&&(/^on\w+$/.test(e)?s[e]=t:"selected"===e?t&&s.setAttribute(e,"true"):s.setAttribute(e,t))}),s.append(...o),s}function $$f(e,t,...i){return _$(Namespace.HTML,e,t,...i)}function setVisibility(e,...t){e?show(...t):hide$2(...t)}function show(...e){for(const t of e)t.style.display="",t.removeAttribute("aria-hidden")}function hide$2(...e){for(const t of e)t.style.display="none",t.setAttribute("aria-hidden","true")}function computeScreenAwareSize(e,t){const i=e.devicePixelRatio*t;return Math.max(1,Math.floor(i))/e.devicePixelRatio}function windowOpenNoOpener(e){mainWindow.open(e,"_blank","noopener")}function animate(e,t){const i=()=>{t(),o=scheduleAtNextAnimationFrame(e,i)};let o=scheduleAtNextAnimationFrame(e,i);return toDisposable(()=>o.dispose())}function asCSSUrl(e){return e?`url('${FileAccess.uriToBrowserUri(e).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function asCSSPropertyValue(e){return`'${e.replace(/'/g,"%27")}'`}function asCssValueWithDefault(e,t){if(void 0!==e){const i=e.match(/^\s*var\((.+)\)$/);if(i){const e=i[1].split(",",2);return 2===e.length&&(t=asCssValueWithDefault(e[1].trim(),t)),`var(${e[0]}, ${t})`}return e}return t}function hookDomPurifyHrefAndSrcSanitizer(e,t=!1){const i=document.createElement("a");return addHook("afterSanitizeAttributes",o=>{for(const n of["href","src"])if(o.hasAttribute(n)){const r=o.getAttribute(n);if("href"===n&&r.startsWith("#"))continue;if(i.href=r,!e.includes(i.protocol.replace(/:$/,""))){if(t&&"src"===n&&i.href.startsWith("data:"))continue;o.removeAttribute(n)}}}),toDisposable(()=>{removeHook("afterSanitizeAttributes")})}!function(e){e.HTML="http://www.w3.org/1999/xhtml",e.SVG="http://www.w3.org/2000/svg"}(Namespace||(Namespace={})),$$f.SVG=function(e,t,...i){return _$(Namespace.SVG,e,t,...i)},RemoteAuthorities.setPreferredWebSchema(/^https:/.test(mainWindow.location.href)?"https":"http");const 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"]);class ModifierKeyEmitter extends Emitter$1{constructor(){super(),this._subscriptions=new DisposableStore,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(Event$1.runAndSubscribe(onDidRegisterWindow,({window:e,disposables:t})=>this.registerListeners(e,t),{window:mainWindow,disposables:this._subscriptions}))}registerListeners(e,t){t.add(addDisposableListener(e,"keydown",e=>{if(e.defaultPrevented)return;const t=new StandardKeyboardEvent(e);if(6!==t.keyCode||!e.repeat){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===t.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}},!0)),t.add(addDisposableListener(e,"keyup",e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!e.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=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))},!0)),t.add(addDisposableListener(e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(addDisposableListener(e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(addDisposableListener(e.document.body,"mousemove",e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(addDisposableListener(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 ModifierKeyEmitter.instance||(ModifierKeyEmitter.instance=new ModifierKeyEmitter),ModifierKeyEmitter.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class DragAndDropObserver extends Disposable{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(addDisposableListener(this.element,EventType$1.DRAG_START,e=>{this.callbacks.onDragStart?.(e)})),this.callbacks.onDrag&&this._register(addDisposableListener(this.element,EventType$1.DRAG,e=>{this.callbacks.onDrag?.(e)})),this._register(addDisposableListener(this.element,EventType$1.DRAG_ENTER,e=>{this.counter++,this.dragStartTime=e.timeStamp,this.callbacks.onDragEnter?.(e)})),this._register(addDisposableListener(this.element,EventType$1.DRAG_OVER,e=>{e.preventDefault(),this.callbacks.onDragOver?.(e,e.timeStamp-this.dragStartTime)})),this._register(addDisposableListener(this.element,EventType$1.DRAG_LEAVE,e=>{this.counter--,0===this.counter&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(e))})),this._register(addDisposableListener(this.element,EventType$1.DRAG_END,e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(e)})),this._register(addDisposableListener(this.element,EventType$1.DROP,e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(e)}))}}const H_REGEX=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function h$1(e,...t){let i,o;Array.isArray(t[0])?(i={},o=t[0]):(i=t[0]||{},o=t[1]);const n=H_REGEX.exec(e);if(!n||!n.groups)throw new Error("Bad use of h");const r=n.groups.tag||"div",s=document.createElement(r);n.groups.id&&(s.id=n.groups.id);const a=[];if(n.groups.class)for(const c of n.groups.class.split("."))""!==c&&a.push(c);if(void 0!==i.className)for(const c of i.className.split("."))""!==c&&a.push(c);a.length>0&&(s.className=a.join(" "));const l={};if(n.groups.name&&(l[n.groups.name]=s),o)for(const c of o)isHTMLElement$1(c)?s.appendChild(c):"string"==typeof c?s.append(c):"root"in c&&(Object.assign(l,c),s.appendChild(c.root));for(const[c,d]of Object.entries(i))if("className"!==c)if("style"===c)for(const[e,t]of Object.entries(d))s.style.setProperty(camelCaseToHyphenCase(e),"number"==typeof t?t+"px":""+t);else"tabIndex"===c?s.tabIndex=d:s.setAttribute(camelCaseToHyphenCase(c),d.toString());return l.root=s,l}function svgElem(e,...t){let i,o;Array.isArray(t[0])?(i={},o=t[0]):(i=t[0]||{},o=t[1]);const n=H_REGEX.exec(e);if(!n||!n.groups)throw new Error("Bad use of h");const r=n.groups.tag||"div",s=document.createElementNS("http://www.w3.org/2000/svg",r);n.groups.id&&(s.id=n.groups.id);const a=[];if(n.groups.class)for(const c of n.groups.class.split("."))""!==c&&a.push(c);if(void 0!==i.className)for(const c of i.className.split("."))""!==c&&a.push(c);a.length>0&&(s.className=a.join(" "));const l={};if(n.groups.name&&(l[n.groups.name]=s),o)for(const c of o)isHTMLElement$1(c)?s.appendChild(c):"string"==typeof c?s.append(c):"root"in c&&(Object.assign(l,c),s.appendChild(c.root));for(const[c,d]of Object.entries(i))if("className"!==c)if("style"===c)for(const[e,t]of Object.entries(d))s.style.setProperty(camelCaseToHyphenCase(e),"number"==typeof t?t+"px":""+t);else"tabIndex"===c?s.tabIndex=d:s.setAttribute(camelCaseToHyphenCase(c),d.toString());return l.root=s,l}function camelCaseToHyphenCase(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class DevicePixelRatioMonitor extends Disposable{constructor(e){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){this._mediaQueryList?.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class PixelRatioMonitorImpl extends Disposable{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new DevicePixelRatioMonitor(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d");return(e.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}class PixelRatioMonitorFacade{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=getWindowId(e);let i=this.mapWindowIdToPixelRatioMonitor.get(t);return i||(i=markAsSingleton(new PixelRatioMonitorImpl(e)),this.mapWindowIdToPixelRatioMonitor.set(t,i),markAsSingleton(Event$1.once(onDidUnregisterWindow)(({vscodeWindowId:e})=>{e===t&&(i?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))}))),i}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}}const PixelRatio=new PixelRatioMonitorFacade;class FastDomNode{constructor(e){this.domNode=e,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(e){const t=numberAsPixels(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=numberAsPixels(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=numberAsPixels(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=numberAsPixels(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=numberAsPixels(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=numberAsPixels(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=numberAsPixels(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=numberAsPixels(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=numberAsPixels(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=numberAsPixels(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=numberAsPixels(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function numberAsPixels(e){return"number"==typeof e?`${e}px`:e}function createFastDomNode(e){return new FastDomNode(e)}function applyFontInfo(e,t){e instanceof FastDomNode?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px")}class CharWidthRequest{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class DomCharWidthReader{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");applyFontInfo(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");applyFontInfo(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const o=document.createElement("div");applyFontInfo(o,this._bareFontInfo),o.style.fontStyle="italic",e.appendChild(o);const n=[];for(const r of this._requests){let e;0===r.type&&(e=t),2===r.type&&(e=i),1===r.type&&(e=o),e.appendChild(document.createElement("br"));const s=document.createElement("span");DomCharWidthReader._render(s,r),e.appendChild(s),n.push(s)}this._container=e,this._testElements=n}static _render(e,t){if(" "===t.chr){let t=" ";for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let i=t.chr;for(let e=0;e<8;e++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)},5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues();let o=!1;for(const n of i)n.isTrusted||(o=!0,t.remove(n));o&&this._onDidChange.fire()}readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let i=this._actualReadFontInfo(e,t);(i.typicalHalfwidthCharacterWidth<=2||i.typicalFullwidthCharacterWidth<=2||i.spaceWidth<=2||i.maxDigitWidth<=2)&&(i=new FontInfo({pixelRatio:PixelRatio.getInstance(e).value,fontFamily:i.fontFamily,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFeatureSettings:i.fontFeatureSettings,fontVariationSettings:i.fontVariationSettings,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,isMonospace:i.isMonospace,typicalHalfwidthCharacterWidth:Math.max(i.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(i.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:i.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(i.spaceWidth,5),middotWidth:Math.max(i.middotWidth,5),wsmiddotWidth:Math.max(i.wsmiddotWidth,5),maxDigitWidth:Math.max(i.maxDigitWidth,5)},!1)),this._writeToCache(e,t,i)}return i.get(t)}_createRequest(e,t,i,o){const n=new CharWidthRequest(e,t);return i.push(n),o?.push(n),n}_actualReadFontInfo(e,t){const i=[],o=[],n=this._createRequest("n",0,i,o),r=this._createRequest("m",0,i,null),s=this._createRequest(" ",0,i,o),a=this._createRequest("0",0,i,o),l=this._createRequest("1",0,i,o),c=this._createRequest("2",0,i,o),d=this._createRequest("3",0,i,o),u=this._createRequest("4",0,i,o),h=this._createRequest("5",0,i,o),p=this._createRequest("6",0,i,o),g=this._createRequest("7",0,i,o),m=this._createRequest("8",0,i,o),f=this._createRequest("9",0,i,o),v=this._createRequest("→",0,i,o),b=this._createRequest("→",0,i,null),_=this._createRequest("·",0,i,o),y=this._createRequest(String.fromCharCode(11825),0,i,null),C="|/-_ilm%";for(let E=0,I=8;E.001){x=!1;break}}let k=!0;return x&&b.width!==S&&(k=!1),b.width>v.width&&(k=!1),new FontInfo({pixelRatio:PixelRatio.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:x,typicalHalfwidthCharacterWidth:n.width,typicalFullwidthCharacterWidth:r.width,canUseHalfwidthRightwardsArrow:k,spaceWidth:s.width,middotWidth:_.width,wsmiddotWidth:y.width,maxDigitWidth:w},!0)}}class FontMeasurementsCache{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}}const FontMeasurements=new FontMeasurementsImpl;var _util;!function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(_util||(_util={}));const IInstantiationService=createDecorator("instantiationService");function storeServiceDependency(e,t,i){t[_util.DI_TARGET]===t?t[_util.DI_DEPENDENCIES].push({id:e,index:i}):(t[_util.DI_DEPENDENCIES]=[{id:e,index:i}],t[_util.DI_TARGET]=t)}function createDecorator(e){if(_util.serviceIds.has(e))return _util.serviceIds.get(e);const t=function(e,i,o){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");storeServiceDependency(t,e,o)};return t.toString=()=>e,_util.serviceIds.set(e,t),t}const ICodeEditorService=createDecorator("codeEditorService"),IModelService=createDecorator("modelService"),ITextModelService=createDecorator("textModelService");class Action extends Disposable{constructor(e,t="",i="",o=!0,n){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=i,this._enabled=o,this._actionCallback=n}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}}class ActionRunner extends Disposable{constructor(){super(...arguments),this._onWillRun=this._register(new Emitter$1),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new Emitter$1),this.onDidRun=this._onDidRun.event}async run(t,i){if(!t.enabled)return;let o;this._onWillRun.fire({action:t});try{await this.runAction(t,i)}catch(e){o=e}this._onDidRun.fire({action:t,error:o})}async runAction(e,t){await e.run(t)}}class Separator{constructor(){this.id=Separator.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const i of e)i.length&&(t=t.length?[...t,new Separator,...i]:i);return t}static{this.ID="vs.actions.separator"}async run(){}}class SubmenuAction{get actions(){return this._actions}constructor(e,t,i,o){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=o,this._actions=i}async run(){}}class EmptySubmenuAction extends Action{static{this.ID="vs.actions.empty"}constructor(){super(EmptySubmenuAction.ID,localize("submenu.empty","(empty)"),void 0,!1)}}function toAction(e){return{id:e.id,label:e.label,tooltip:e.tooltip??e.label,class:e.class,enabled:e.enabled??!0,checked:e.checked,run:async(...t)=>e.run(...t)}}var ThemeColor,ThemeIcon;!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(ThemeColor||(ThemeColor={})),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 t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function i(e){const o=t.exec(e.id);if(!o)return i(Codicon.error);const[,n,r]=o,s=["codicon","codicon-"+n];return r&&s.push("codicon-modifier-"+r.substring(1)),s}e.asClassNameArray=i,e.asClassName=function(e){return i(e).join(" ")},e.asCSSSelector=function(e){return"."+i(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||ThemeColor.isThemeColor(e.color))};const o=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=o.exec(e);if(!t)return;const[,i]=t;return{id:i}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let i=e.id;const o=i.lastIndexOf("~");return-1!==o&&(i=i.substring(0,o)),t&&(i=`${i}~${t}`),{id:i}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){return e.id===t.id&&e.color?.id===t.color?.id}}(ThemeIcon||(ThemeIcon={}));const ICommandService=createDecorator("commandService"),CommandsRegistry=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new Emitter$1,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(e,t){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t})}if(e.metadata&&Array.isArray(e.metadata.args)){const t=[];for(const o of e.metadata.args)t.push(o.constraint);const i=e.handler;e.handler=function(e,...o){return validateConstraints(o,t),i(e,...o)}}const{id:i}=e;let o=this._commands.get(i);o||(o=new LinkedList,this._commands.set(i,o));const n=o.unshift(e),r=toDisposable(()=>{n();const e=this._commands.get(i);e?.isEmpty()&&this._commands.delete(i)});return this._onDidRegisterCommand.fire(i),r}registerCommandAlias(e,t){return CommandsRegistry.registerCommand(e,(e,...i)=>e.get(ICommandService).executeCommand(t,...i))}getCommand(e){const t=this._commands.get(e);if(t&&!t.isEmpty())return Iterable.first(t)}getCommands(){const e=new Map;for(const t of this._commands.keys()){const i=this.getCommand(t);i&&e.set(t,i)}return e}};function hintDidYouMean(...e){switch(e.length){case 1:return localize("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",e[0]);case 2:return localize("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",e[0],e[1]);case 3:return localize("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}CommandsRegistry.registerCommand("noop",()=>{});const hintDidYouForgetToOpenOrCloseQuote=localize("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),hintDidYouForgetToEscapeSlash=localize("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");let Scanner$2=class e{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw illegalState(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map(e=>e.charCodeAt(0)))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();){this._start=this._current;switch(this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(hintDidYouMean("==","=~"));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(hintDidYouMean("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(hintDidYouMean("||"));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(e){return!this._isAtEnd()&&(this._input.charCodeAt(this._current)===e&&(this._current++,!0))}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),o={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(o)}_string(){this.stringRe.lastIndex=this._start;const t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;const i=this._input.substring(this._start,this._current),o=e._keywords.get(i);o?this._addToken(o):this._tokens.push({type:17,lexeme:i,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(hintDidYouForgetToOpenOrCloseQuote):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let t=this._current,i=!1,o=!1;for(;;){if(t>=this._input.length)return this._current=t,void this._error(hintDidYouForgetToEscapeSlash);const e=this._input.charCodeAt(t);if(i)i=!1;else{if(47===e&&!o){t++;break}91===e?o=!0:92===e?i=!0:93===e&&(o=!1)}t++}for(;t=this._input.length}};const CONSTANT_VALUES=new Map;CONSTANT_VALUES.set("false",!1),CONSTANT_VALUES.set("true",!0),CONSTANT_VALUES.set("isMac",isMacintosh),CONSTANT_VALUES.set("isLinux",isLinux),CONSTANT_VALUES.set("isWindows",isWindows),CONSTANT_VALUES.set("isWeb",isWeb),CONSTANT_VALUES.set("isMacNative",isMacintosh&&!isWeb),CONSTANT_VALUES.set("isEdge",isEdge),CONSTANT_VALUES.set("isFirefox",isFirefox$2),CONSTANT_VALUES.set("isChrome",isChrome$1),CONSTANT_VALUES.set("isSafari",isSafari$1);const hasOwnProperty$i=Object.prototype.hasOwnProperty,defaultConfig$1={regexParsingWithErrorRecovery:!0},errorEmptyString=localize("contextkey.parser.error.emptyString","Empty context key expression"),hintEmptyString=localize("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),errorNoInAfterNot=localize("contextkey.parser.error.noInAfterNot","'in' after 'not'."),errorClosingParenthesis=localize("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),errorUnexpectedToken=localize("contextkey.parser.error.unexpectedToken","Unexpected token"),hintUnexpectedToken=localize("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),errorUnexpectedEOF=localize("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),hintUnexpectedEOF=localize("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");let Parser$1=class t{static{this._parseError=new Error}constructor(e=defaultConfig$1){this._config=e,this._scanner=new Scanner$2,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(i){if(""!==i){this._tokens=this._scanner.reset(i).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),i=17===e.type?hintUnexpectedToken:void 0;throw this._parsingErrors.push({message:errorUnexpectedToken,offset:e.offset,lexeme:Scanner$2.getLexeme(e),additionalInfo:i}),t._parseError}return e}catch(e){if(e!==t._parseError)throw e;return}}else this._parsingErrors.push({message:errorEmptyString,offset:0,lexeme:"",additionalInfo:hintEmptyString})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:ContextKeyExpr.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:ContextKeyExpr.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),ContextKeyFalseExpr.INSTANCE;case 12:return this._advance(),ContextKeyTrueExpr.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,errorClosingParenthesis),e?.negate()}case 17:return this._advance(),ContextKeyNotExpr.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const i=this._peek();switch(i.type){case 11:return this._advance(),ContextKeyExpr.true();case 12:return this._advance(),ContextKeyExpr.false();case 0:{this._advance();const e=this._expr();return this._consume(1,errorClosingParenthesis),e}case 17:{const t=i.lexeme;if(this._advance(),this._matchOne(9)){const i=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==i.type)throw this._errExpectedButGot("REGEX",i);const o=i.lexeme,n=o.lastIndexOf("/"),r=n===o.length-1?void 0:this._removeFlagsGY(o.substring(n+1));let s;try{s=new RegExp(o.substring(1,n),r)}catch(e){throw this._errExpectedButGot("REGEX",i)}return ContextKeyRegexExpr.create(t,s)}switch(i.type){case 10:case 19:{const o=[i.lexeme];this._advance();let n=this._peek(),r=0;for(let e=0;e=0){const s=e.slice(t+1,r),a="i"===e[r+1]?"i":"";try{n=new RegExp(s,a)}catch(o){throw this._errExpectedButGot("REGEX",i)}}}if(null===n)throw this._errExpectedButGot("REGEX",i);return ContextKeyRegexExpr.create(t,n)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,errorNoInAfterNot);const e=this._value();return ContextKeyExpr.notIn(t,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return ContextKeyExpr.equals(t,e);switch(e){case"true":return ContextKeyExpr.has(t);case"false":return ContextKeyExpr.not(t);default:return ContextKeyExpr.equals(t,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return ContextKeyExpr.notEquals(t,e);switch(e){case"true":return ContextKeyExpr.not(t);case"false":return ContextKeyExpr.has(t);default:return ContextKeyExpr.notEquals(t,e)}}case 5:return this._advance(),ContextKeySmallerExpr.create(t,this._value());case 6:return this._advance(),ContextKeySmallerEqualsExpr.create(t,this._value());case 7:return this._advance(),ContextKeyGreaterExpr.create(t,this._value());case 8:return this._advance(),ContextKeyGreaterEqualsExpr.create(t,this._value());case 13:return this._advance(),ContextKeyExpr.in(t,this._value());default:return ContextKeyExpr.has(t)}}case 20:throw this._parsingErrors.push({message:errorUnexpectedEOF,offset:i.offset,lexeme:"",additionalInfo:hintUnexpectedEOF}),t._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,i,o){const n=localize("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,Scanner$2.getLexeme(i)),r=i.offset,s=Scanner$2.getLexeme(i);return this._parsingErrors.push({message:n,offset:r,lexeme:s,additionalInfo:o}),t._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}};class ContextKeyExpr{static false(){return ContextKeyFalseExpr.INSTANCE}static true(){return ContextKeyTrueExpr.INSTANCE}static has(e){return ContextKeyDefinedExpr.create(e)}static equals(e,t){return ContextKeyEqualsExpr.create(e,t)}static notEquals(e,t){return ContextKeyNotEqualsExpr.create(e,t)}static regex(e,t){return ContextKeyRegexExpr.create(e,t)}static in(e,t){return ContextKeyInExpr.create(e,t)}static notIn(e,t){return ContextKeyNotInExpr.create(e,t)}static not(e){return ContextKeyNotExpr.create(e)}static and(...e){return ContextKeyAndExpr.create(e,null,!0)}static or(...e){return ContextKeyOrExpr.create(e,null,!0)}static{this._parser=new Parser$1({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(null==e)return;return this._parser.parse(e)}}function expressionsAreEqualWithConstantSubstitution(e,t){const i=e?e.substituteConstants():void 0,o=t?t.substituteConstants():void 0;return!i&&!o||!(!i||!o)&&i.equals(o)}function cmp(e,t){return e.cmp(t)}class ContextKeyFalseExpr{static{this.INSTANCE=new ContextKeyFalseExpr}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return ContextKeyTrueExpr.INSTANCE}}class ContextKeyTrueExpr{static{this.INSTANCE=new ContextKeyTrueExpr}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return ContextKeyFalseExpr.INSTANCE}}class ContextKeyDefinedExpr{static create(e,t=null){const i=CONSTANT_VALUES.get(e);return"boolean"==typeof i?i?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE:new ContextKeyDefinedExpr(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:cmp1(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=CONSTANT_VALUES.get(this.key);return"boolean"==typeof e?e?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyNotExpr.create(this.key,this)),this.negated}}class ContextKeyEqualsExpr{static create(e,t,i=null){if("boolean"==typeof t)return t?ContextKeyDefinedExpr.create(e,i):ContextKeyNotExpr.create(e,i);const o=CONSTANT_VALUES.get(e);if("boolean"==typeof o){return t===(o?"true":"false")?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE}return new ContextKeyEqualsExpr(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=CONSTANT_VALUES.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyNotEqualsExpr.create(this.key,this.value,this)),this.negated}}class ContextKeyInExpr{static create(e,t){return new ContextKeyInExpr(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&(this.key===e.key&&this.valueKey===e.valueKey)}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):"string"==typeof i&&"object"==typeof t&&null!==t&&hasOwnProperty$i.call(t,i)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=ContextKeyNotInExpr.create(this.key,this.valueKey)),this.negated}}class ContextKeyNotInExpr{static create(e,t){return new ContextKeyNotInExpr(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=ContextKeyInExpr.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class ContextKeyNotEqualsExpr{static create(e,t,i=null){if("boolean"==typeof t)return t?ContextKeyNotExpr.create(e,i):ContextKeyDefinedExpr.create(e,i);const o=CONSTANT_VALUES.get(e);if("boolean"==typeof o){return t===(o?"true":"false")?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE}return new ContextKeyNotEqualsExpr(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=CONSTANT_VALUES.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyEqualsExpr.create(this.key,this.value,this)),this.negated}}class ContextKeyNotExpr{static create(e,t=null){const i=CONSTANT_VALUES.get(e);return"boolean"==typeof i?i?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE:new ContextKeyNotExpr(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:cmp1(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=CONSTANT_VALUES.get(this.key);return"boolean"==typeof e?e?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyDefinedExpr.create(this.key,this)),this.negated}}function withFloatOrStr(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):ContextKeyFalseExpr.INSTANCE}class ContextKeyGreaterExpr{static create(e,t,i=null){return withFloatOrStr(t,t=>new ContextKeyGreaterExpr(e,t,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeySmallerEqualsExpr.create(this.key,this.value,this)),this.negated}}class ContextKeyGreaterEqualsExpr{static create(e,t,i=null){return withFloatOrStr(t,t=>new ContextKeyGreaterEqualsExpr(e,t,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeySmallerExpr.create(this.key,this.value,this)),this.negated}}class ContextKeySmallerExpr{static create(e,t,i=null){return withFloatOrStr(t,t=>new ContextKeySmallerExpr(e,t,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))new ContextKeySmallerEqualsExpr(e,t,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyGreaterExpr.create(this.key,this.value,this)),this.negated}}class ContextKeyRegexExpr{static create(e,t){return new ContextKeyRegexExpr(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyNotRegexExpr.create(this)),this.negated}}class ContextKeyNotRegexExpr{static create(e){return new ContextKeyNotRegexExpr(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function eliminateConstantsInArray(e){let t=null;for(let i=0,o=e.length;ie.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const e=o[o.length-1];if(9!==e.type)break;o.pop();const t=o.pop(),n=0===o.length,r=ContextKeyOrExpr.create(e.expr.map(e=>ContextKeyAndExpr.create([e,t],null,i)),null,n);r&&(o.push(r),o.sort(cmp))}if(1===o.length)return o[0];if(i){for(let e=0;ee.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=ContextKeyOrExpr.create(e,this,!0)}return this.negated}}class ContextKeyOrExpr{static create(e,t,i){return ContextKeyOrExpr._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),o=[];for(const e of getTerminals(t))for(const t of getTerminals(i))o.push(ContextKeyAndExpr.create([e,t],null,!1));e.unshift(ContextKeyOrExpr.create(o,null,!1))}this.negated=ContextKeyOrExpr.create(e,this,!0)}return this.negated}}class RawContextKey extends ContextKeyDefinedExpr{static{this._info=[]}static all(){return RawContextKey._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,"object"==typeof i?RawContextKey._info.push({...i,key:e}):!0!==i&&RawContextKey._info.push({key:e,description:i,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return ContextKeyEqualsExpr.create(this.key,e)}}const IContextKeyService=createDecorator("contextKeyService");function cmp1(e,t){return et?1:0}function cmp2(e,t,i,o){return ei?1:to?1:0}function implies(e,t){if(0===e.type||1===t.type)return!0;if(9===e.type)return 9===t.type&&allElementsIncluded(e.expr,t.expr);if(9===t.type){for(const i of t.expr)if(implies(e,i))return!0;return!1}if(6===e.type){if(6===t.type)return allElementsIncluded(t.expr,e.expr);for(const i of e.expr)if(implies(i,t))return!0;return!1}return e.equals(t)}function allElementsIncluded(e,t){let i=0,o=0;for(;i{s(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(sorter)),this._cachedMergedKeybindings.slice(0)}}const KeybindingsRegistry=new KeybindingsRegistryImpl,Extensions$9={EditorModes:"platform.keybindingsRegistry"};function sorter(e,t){if(e.weight1!==t.weight1)return e.weight1-t.weight1;if(e.command&&t.command){if(e.commandt.command)return 1}return e.weight2-t.weight2}Registry.add(Extensions$9.EditorModes,KeybindingsRegistry);var __decorate$2F=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2v=function(e,t){return function(i,o){t(i,o,e)}},MenuItemAction_1;function isIMenuItem(e){return void 0!==e.command}function isISubmenuItem(e){return void 0!==e.submenu}class MenuId{static{this._instances=new Map}static{this.CommandPalette=new MenuId("CommandPalette")}static{this.DebugBreakpointsContext=new MenuId("DebugBreakpointsContext")}static{this.DebugCallStackContext=new MenuId("DebugCallStackContext")}static{this.DebugConsoleContext=new MenuId("DebugConsoleContext")}static{this.DebugVariablesContext=new MenuId("DebugVariablesContext")}static{this.NotebookVariablesContext=new MenuId("NotebookVariablesContext")}static{this.DebugHoverContext=new MenuId("DebugHoverContext")}static{this.DebugWatchContext=new MenuId("DebugWatchContext")}static{this.DebugToolBar=new MenuId("DebugToolBar")}static{this.DebugToolBarStop=new MenuId("DebugToolBarStop")}static{this.DebugCallStackToolbar=new MenuId("DebugCallStackToolbar")}static{this.DebugCreateConfiguration=new MenuId("DebugCreateConfiguration")}static{this.EditorContext=new MenuId("EditorContext")}static{this.SimpleEditorContext=new MenuId("SimpleEditorContext")}static{this.EditorContent=new MenuId("EditorContent")}static{this.EditorLineNumberContext=new MenuId("EditorLineNumberContext")}static{this.EditorContextCopy=new MenuId("EditorContextCopy")}static{this.EditorContextPeek=new MenuId("EditorContextPeek")}static{this.EditorContextShare=new MenuId("EditorContextShare")}static{this.EditorTitle=new MenuId("EditorTitle")}static{this.EditorTitleRun=new MenuId("EditorTitleRun")}static{this.EditorTitleContext=new MenuId("EditorTitleContext")}static{this.EditorTitleContextShare=new MenuId("EditorTitleContextShare")}static{this.EmptyEditorGroup=new MenuId("EmptyEditorGroup")}static{this.EmptyEditorGroupContext=new MenuId("EmptyEditorGroupContext")}static{this.EditorTabsBarContext=new MenuId("EditorTabsBarContext")}static{this.EditorTabsBarShowTabsSubmenu=new MenuId("EditorTabsBarShowTabsSubmenu")}static{this.EditorTabsBarShowTabsZenModeSubmenu=new MenuId("EditorTabsBarShowTabsZenModeSubmenu")}static{this.EditorActionsPositionSubmenu=new MenuId("EditorActionsPositionSubmenu")}static{this.ExplorerContext=new MenuId("ExplorerContext")}static{this.ExplorerContextShare=new MenuId("ExplorerContextShare")}static{this.ExtensionContext=new MenuId("ExtensionContext")}static{this.GlobalActivity=new MenuId("GlobalActivity")}static{this.CommandCenter=new MenuId("CommandCenter")}static{this.CommandCenterCenter=new MenuId("CommandCenterCenter")}static{this.LayoutControlMenuSubmenu=new MenuId("LayoutControlMenuSubmenu")}static{this.LayoutControlMenu=new MenuId("LayoutControlMenu")}static{this.MenubarMainMenu=new MenuId("MenubarMainMenu")}static{this.MenubarAppearanceMenu=new MenuId("MenubarAppearanceMenu")}static{this.MenubarDebugMenu=new MenuId("MenubarDebugMenu")}static{this.MenubarEditMenu=new MenuId("MenubarEditMenu")}static{this.MenubarCopy=new MenuId("MenubarCopy")}static{this.MenubarFileMenu=new MenuId("MenubarFileMenu")}static{this.MenubarGoMenu=new MenuId("MenubarGoMenu")}static{this.MenubarHelpMenu=new MenuId("MenubarHelpMenu")}static{this.MenubarLayoutMenu=new MenuId("MenubarLayoutMenu")}static{this.MenubarNewBreakpointMenu=new MenuId("MenubarNewBreakpointMenu")}static{this.PanelAlignmentMenu=new MenuId("PanelAlignmentMenu")}static{this.PanelPositionMenu=new MenuId("PanelPositionMenu")}static{this.ActivityBarPositionMenu=new MenuId("ActivityBarPositionMenu")}static{this.MenubarPreferencesMenu=new MenuId("MenubarPreferencesMenu")}static{this.MenubarRecentMenu=new MenuId("MenubarRecentMenu")}static{this.MenubarSelectionMenu=new MenuId("MenubarSelectionMenu")}static{this.MenubarShare=new MenuId("MenubarShare")}static{this.MenubarSwitchEditorMenu=new MenuId("MenubarSwitchEditorMenu")}static{this.MenubarSwitchGroupMenu=new MenuId("MenubarSwitchGroupMenu")}static{this.MenubarTerminalMenu=new MenuId("MenubarTerminalMenu")}static{this.MenubarViewMenu=new MenuId("MenubarViewMenu")}static{this.MenubarHomeMenu=new MenuId("MenubarHomeMenu")}static{this.OpenEditorsContext=new MenuId("OpenEditorsContext")}static{this.OpenEditorsContextShare=new MenuId("OpenEditorsContextShare")}static{this.ProblemsPanelContext=new MenuId("ProblemsPanelContext")}static{this.SCMInputBox=new MenuId("SCMInputBox")}static{this.SCMChangesSeparator=new MenuId("SCMChangesSeparator")}static{this.SCMChangesContext=new MenuId("SCMChangesContext")}static{this.SCMIncomingChanges=new MenuId("SCMIncomingChanges")}static{this.SCMIncomingChangesContext=new MenuId("SCMIncomingChangesContext")}static{this.SCMIncomingChangesSetting=new MenuId("SCMIncomingChangesSetting")}static{this.SCMOutgoingChanges=new MenuId("SCMOutgoingChanges")}static{this.SCMOutgoingChangesContext=new MenuId("SCMOutgoingChangesContext")}static{this.SCMOutgoingChangesSetting=new MenuId("SCMOutgoingChangesSetting")}static{this.SCMIncomingChangesAllChangesContext=new MenuId("SCMIncomingChangesAllChangesContext")}static{this.SCMIncomingChangesHistoryItemContext=new MenuId("SCMIncomingChangesHistoryItemContext")}static{this.SCMOutgoingChangesAllChangesContext=new MenuId("SCMOutgoingChangesAllChangesContext")}static{this.SCMOutgoingChangesHistoryItemContext=new MenuId("SCMOutgoingChangesHistoryItemContext")}static{this.SCMChangeContext=new MenuId("SCMChangeContext")}static{this.SCMResourceContext=new MenuId("SCMResourceContext")}static{this.SCMResourceContextShare=new MenuId("SCMResourceContextShare")}static{this.SCMResourceFolderContext=new MenuId("SCMResourceFolderContext")}static{this.SCMResourceGroupContext=new MenuId("SCMResourceGroupContext")}static{this.SCMSourceControl=new MenuId("SCMSourceControl")}static{this.SCMSourceControlInline=new MenuId("SCMSourceControlInline")}static{this.SCMSourceControlTitle=new MenuId("SCMSourceControlTitle")}static{this.SCMHistoryTitle=new MenuId("SCMHistoryTitle")}static{this.SCMTitle=new MenuId("SCMTitle")}static{this.SearchContext=new MenuId("SearchContext")}static{this.SearchActionMenu=new MenuId("SearchActionContext")}static{this.StatusBarWindowIndicatorMenu=new MenuId("StatusBarWindowIndicatorMenu")}static{this.StatusBarRemoteIndicatorMenu=new MenuId("StatusBarRemoteIndicatorMenu")}static{this.StickyScrollContext=new MenuId("StickyScrollContext")}static{this.TestItem=new MenuId("TestItem")}static{this.TestItemGutter=new MenuId("TestItemGutter")}static{this.TestProfilesContext=new MenuId("TestProfilesContext")}static{this.TestMessageContext=new MenuId("TestMessageContext")}static{this.TestMessageContent=new MenuId("TestMessageContent")}static{this.TestPeekElement=new MenuId("TestPeekElement")}static{this.TestPeekTitle=new MenuId("TestPeekTitle")}static{this.TestCallStack=new MenuId("TestCallStack")}static{this.TouchBarContext=new MenuId("TouchBarContext")}static{this.TitleBarContext=new MenuId("TitleBarContext")}static{this.TitleBarTitleContext=new MenuId("TitleBarTitleContext")}static{this.TunnelContext=new MenuId("TunnelContext")}static{this.TunnelPrivacy=new MenuId("TunnelPrivacy")}static{this.TunnelProtocol=new MenuId("TunnelProtocol")}static{this.TunnelPortInline=new MenuId("TunnelInline")}static{this.TunnelTitle=new MenuId("TunnelTitle")}static{this.TunnelLocalAddressInline=new MenuId("TunnelLocalAddressInline")}static{this.TunnelOriginInline=new MenuId("TunnelOriginInline")}static{this.ViewItemContext=new MenuId("ViewItemContext")}static{this.ViewContainerTitle=new MenuId("ViewContainerTitle")}static{this.ViewContainerTitleContext=new MenuId("ViewContainerTitleContext")}static{this.ViewTitle=new MenuId("ViewTitle")}static{this.ViewTitleContext=new MenuId("ViewTitleContext")}static{this.CommentEditorActions=new MenuId("CommentEditorActions")}static{this.CommentThreadTitle=new MenuId("CommentThreadTitle")}static{this.CommentThreadActions=new MenuId("CommentThreadActions")}static{this.CommentThreadAdditionalActions=new MenuId("CommentThreadAdditionalActions")}static{this.CommentThreadTitleContext=new MenuId("CommentThreadTitleContext")}static{this.CommentThreadCommentContext=new MenuId("CommentThreadCommentContext")}static{this.CommentTitle=new MenuId("CommentTitle")}static{this.CommentActions=new MenuId("CommentActions")}static{this.CommentsViewThreadActions=new MenuId("CommentsViewThreadActions")}static{this.InteractiveToolbar=new MenuId("InteractiveToolbar")}static{this.InteractiveCellTitle=new MenuId("InteractiveCellTitle")}static{this.InteractiveCellDelete=new MenuId("InteractiveCellDelete")}static{this.InteractiveCellExecute=new MenuId("InteractiveCellExecute")}static{this.InteractiveInputExecute=new MenuId("InteractiveInputExecute")}static{this.InteractiveInputConfig=new MenuId("InteractiveInputConfig")}static{this.ReplInputExecute=new MenuId("ReplInputExecute")}static{this.IssueReporter=new MenuId("IssueReporter")}static{this.NotebookToolbar=new MenuId("NotebookToolbar")}static{this.NotebookStickyScrollContext=new MenuId("NotebookStickyScrollContext")}static{this.NotebookCellTitle=new MenuId("NotebookCellTitle")}static{this.NotebookCellDelete=new MenuId("NotebookCellDelete")}static{this.NotebookCellInsert=new MenuId("NotebookCellInsert")}static{this.NotebookCellBetween=new MenuId("NotebookCellBetween")}static{this.NotebookCellListTop=new MenuId("NotebookCellTop")}static{this.NotebookCellExecute=new MenuId("NotebookCellExecute")}static{this.NotebookCellExecuteGoTo=new MenuId("NotebookCellExecuteGoTo")}static{this.NotebookCellExecutePrimary=new MenuId("NotebookCellExecutePrimary")}static{this.NotebookDiffCellInputTitle=new MenuId("NotebookDiffCellInputTitle")}static{this.NotebookDiffCellMetadataTitle=new MenuId("NotebookDiffCellMetadataTitle")}static{this.NotebookDiffCellOutputsTitle=new MenuId("NotebookDiffCellOutputsTitle")}static{this.NotebookOutputToolbar=new MenuId("NotebookOutputToolbar")}static{this.NotebookOutlineFilter=new MenuId("NotebookOutlineFilter")}static{this.NotebookOutlineActionMenu=new MenuId("NotebookOutlineActionMenu")}static{this.NotebookEditorLayoutConfigure=new MenuId("NotebookEditorLayoutConfigure")}static{this.NotebookKernelSource=new MenuId("NotebookKernelSource")}static{this.BulkEditTitle=new MenuId("BulkEditTitle")}static{this.BulkEditContext=new MenuId("BulkEditContext")}static{this.TimelineItemContext=new MenuId("TimelineItemContext")}static{this.TimelineTitle=new MenuId("TimelineTitle")}static{this.TimelineTitleContext=new MenuId("TimelineTitleContext")}static{this.TimelineFilterSubMenu=new MenuId("TimelineFilterSubMenu")}static{this.AccountsContext=new MenuId("AccountsContext")}static{this.SidebarTitle=new MenuId("SidebarTitle")}static{this.PanelTitle=new MenuId("PanelTitle")}static{this.AuxiliaryBarTitle=new MenuId("AuxiliaryBarTitle")}static{this.AuxiliaryBarHeader=new MenuId("AuxiliaryBarHeader")}static{this.TerminalInstanceContext=new MenuId("TerminalInstanceContext")}static{this.TerminalEditorInstanceContext=new MenuId("TerminalEditorInstanceContext")}static{this.TerminalNewDropdownContext=new MenuId("TerminalNewDropdownContext")}static{this.TerminalTabContext=new MenuId("TerminalTabContext")}static{this.TerminalTabEmptyAreaContext=new MenuId("TerminalTabEmptyAreaContext")}static{this.TerminalStickyScrollContext=new MenuId("TerminalStickyScrollContext")}static{this.WebviewContext=new MenuId("WebviewContext")}static{this.InlineCompletionsActions=new MenuId("InlineCompletionsActions")}static{this.InlineEditsActions=new MenuId("InlineEditsActions")}static{this.InlineEditActions=new MenuId("InlineEditActions")}static{this.NewFile=new MenuId("NewFile")}static{this.MergeInput1Toolbar=new MenuId("MergeToolbar1Toolbar")}static{this.MergeInput2Toolbar=new MenuId("MergeToolbar2Toolbar")}static{this.MergeBaseToolbar=new MenuId("MergeBaseToolbar")}static{this.MergeInputResultToolbar=new MenuId("MergeToolbarResultToolbar")}static{this.InlineSuggestionToolbar=new MenuId("InlineSuggestionToolbar")}static{this.InlineEditToolbar=new MenuId("InlineEditToolbar")}static{this.ChatContext=new MenuId("ChatContext")}static{this.ChatCodeBlock=new MenuId("ChatCodeblock")}static{this.ChatCompareBlock=new MenuId("ChatCompareBlock")}static{this.ChatMessageTitle=new MenuId("ChatMessageTitle")}static{this.ChatExecute=new MenuId("ChatExecute")}static{this.ChatExecuteSecondary=new MenuId("ChatExecuteSecondary")}static{this.ChatInputSide=new MenuId("ChatInputSide")}static{this.AccessibleView=new MenuId("AccessibleView")}static{this.MultiDiffEditorFileToolbar=new MenuId("MultiDiffEditorFileToolbar")}static{this.DiffEditorHunkToolbar=new MenuId("DiffEditorHunkToolbar")}static{this.DiffEditorSelectionToolbar=new MenuId("DiffEditorSelectionToolbar")}constructor(e){if(MenuId._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);MenuId._instances.set(e,this),this.id=e}}const IMenuService=createDecorator("menuService");class MenuRegistryChangeEvent{static{this._all=new Map}static for(e){let t=this._all.get(e);return t||(t=new MenuRegistryChangeEvent(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof MenuRegistryChangeEvent&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}const MenuRegistry=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new MicrotaskEmitter({merge:MenuRegistryChangeEvent.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(e){return this._commands.set(e.id,e),this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette)),toDisposable(()=>{this._commands.delete(e.id)&&this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette))})}getCommand(e){return this._commands.get(e)}getCommands(){const e=new Map;return this._commands.forEach((t,i)=>e.set(i,t)),e}appendMenuItem(e,t){let i=this._menuItems.get(e);i||(i=new LinkedList,this._menuItems.set(e,i));const o=i.push(t);return this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(e)),toDisposable(()=>{o(),this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(e))})}appendMenuItems(e){const t=new DisposableStore;for(const{id:i,item:o}of e)t.add(this.appendMenuItem(i,o));return t}getMenuItems(e){let t;return t=this._menuItems.has(e)?[...this._menuItems.get(e)]:[],e===MenuId.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(e){const t=new Set;for(const i of e)isIMenuItem(i)&&(t.add(i.command.id),i.alt&&t.add(i.alt.id));this._commands.forEach((i,o)=>{t.has(o)||e.push({command:i})})}};class SubmenuItemAction extends SubmenuAction{constructor(e,t,i){super(`submenuitem.${e.submenu.id}`,"string"==typeof e.title?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let MenuItemAction=MenuItemAction_1=class{static label(e,t){return t?.renderShortTitle&&e.shortTitle?"string"==typeof e.shortTitle?e.shortTitle:e.shortTitle.value:"string"==typeof e.title?e.title:e.title.value}constructor(e,t,i,o,n,r,s){let a;if(this.hideActions=o,this.menuKeybinding=n,this._commandService=s,this.id=e.id,this.label=MenuItemAction_1.label(e,i),this.tooltip=("string"==typeof e.tooltip?e.tooltip:e.tooltip?.value)??"",this.enabled=!e.precondition||r.contextMatchesRules(e.precondition),this.checked=void 0,e.toggled){const t=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=r.contextMatchesRules(t.condition),this.checked&&t.tooltip&&(this.tooltip="string"==typeof t.tooltip?t.tooltip:t.tooltip.value),this.checked&&ThemeIcon.isThemeIcon(t.icon)&&(a=t.icon),this.checked&&t.title&&(this.label="string"==typeof t.title?t.title:t.title.value)}a||(a=ThemeIcon.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new MenuItemAction_1(t,void 0,i,o,void 0,r,s):void 0,this._options=i,this.class=a&&ThemeIcon.asClassName(a)}run(...e){let t=[];return this._options?.arg&&(t=[...t,this._options.arg]),this._options?.shouldForwardArgs&&(t=[...t,...e]),this._commandService.executeCommand(this.id,...t)}};MenuItemAction=MenuItemAction_1=__decorate$2F([__param$2v(5,IContextKeyService),__param$2v(6,ICommandService)],MenuItemAction);class Action2{constructor(e){this.desc=e}}function registerAction2(e){const t=[],i=new e,{f1:o,menu:n,keybinding:r,...s}=i.desc;if(CommandsRegistry.getCommand(s.id))throw new Error(`Cannot register two commands with the same id: ${s.id}`);if(t.push(CommandsRegistry.registerCommand({id:s.id,handler:(e,...t)=>i.run(e,...t),metadata:s.metadata})),Array.isArray(n))for(const a of n)t.push(MenuRegistry.appendMenuItem(a.id,{command:{...s,precondition:null===a.precondition?void 0:s.precondition},...a}));else n&&t.push(MenuRegistry.appendMenuItem(n.id,{command:{...s,precondition:null===n.precondition?void 0:s.precondition},...n}));if(o&&(t.push(MenuRegistry.appendMenuItem(MenuId.CommandPalette,{command:s,when:s.precondition})),t.push(MenuRegistry.addCommand(s))),Array.isArray(r))for(const a of r)t.push(KeybindingsRegistry.registerKeybindingRule({...a,id:s.id,when:s.precondition?ContextKeyExpr.and(s.precondition,a.when):a.when}));else r&&t.push(KeybindingsRegistry.registerKeybindingRule({...r,id:s.id,when:s.precondition?ContextKeyExpr.and(s.precondition,r.when):r.when}));return{dispose(){dispose(t)}}}const ITelemetryService=createDecorator("telemetryService"),ILogService=createDecorator("logService");var LogLevel;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(LogLevel||(LogLevel={}));const DEFAULT_LOG_LEVEL=LogLevel.Info;class AbstractLogger extends Disposable{constructor(){super(...arguments),this.level=DEFAULT_LOG_LEVEL,this._onDidChangeLogLevel=this._register(new Emitter$1),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==LogLevel.Off&&this.level<=e}}class ConsoleLogger extends AbstractLogger{constructor(e=DEFAULT_LOG_LEVEL,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(LogLevel.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(LogLevel.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(LogLevel.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(LogLevel.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(LogLevel.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}}class MultiplexLogger extends AbstractLogger{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}function LogLevelToString(e){switch(e){case LogLevel.Trace:return"trace";case LogLevel.Debug:return"debug";case LogLevel.Info:return"info";case LogLevel.Warning:return"warn";case LogLevel.Error:return"error";case LogLevel.Off:return"off"}}new RawContextKey("logLevel",LogLevelToString(LogLevel.Info));class Command{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let e=t.kbExpr;this.precondition&&(e=e?ContextKeyExpr.and(e,this.precondition):this.precondition);const i={id:this.id,weight:t.weight,args:t.args,when:e,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};KeybindingsRegistry.registerKeybindingRule(i)}}CommandsRegistry.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){MenuRegistry.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class MultiCommand extends Command{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,o){return this._implementations.push({priority:e,name:t,implementation:i,when:o}),this._implementations.sort((e,t)=>t.priority-e.priority),{dispose:()=>{for(let e=0;e{if(e.get(IContextKeyService).contextMatchesRules(i??void 0))return o(e,r,t)})}runCommand(e,t){return EditorCommand.runEditorCommand(e,t,this.precondition,(e,t,i)=>this.runEditorCommand(e,t,i))}}class EditorAction extends EditorCommand{static convertOptions(e){let t;function i(t){return t.menuId||(t.menuId=MenuId.EditorContext),t.title||(t.title=e.label),t.when=ContextKeyExpr.and(e.precondition,t.when),t}return t=Array.isArray(e.menuOpts)?e.menuOpts:e.menuOpts?[e.menuOpts]:[],Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(EditorAction.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(ITelemetryService).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class MultiEditorAction extends EditorAction{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((e,t)=>t[0]-e[0]),{dispose:()=>{for(let e=0;e{const i=e.get(IContextKeyService),n=e.get(ILogService);if(i.contextMatchesRules(this.desc.precondition??void 0))return this.runEditorCommand(e,o,...t);n.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,this.desc.precondition?.serialize())})}}function registerModelAndPositionCommand(e,t){CommandsRegistry.registerCommand(e,function(e,...i){const o=e.get(IInstantiationService),[n,r]=i;assertType(URI.isUri(n)),assertType(Position$1.isIPosition(r));const s=e.get(IModelService).getModel(n);if(s){const e=Position$1.lift(r);return o.invokeFunction(t,s,e,...i.slice(2))}return e.get(ITextModelService).createModelReference(n).then(e=>new Promise((n,s)=>{try{n(o.invokeFunction(t,e.object.textEditorModel,Position$1.lift(r),i.slice(2)))}catch(a){s(a)}}).finally(()=>{e.dispose()}))})}function registerEditorCommand(e){return EditorContributionRegistry.INSTANCE.registerEditorCommand(e),e}function registerEditorAction(e){const t=new e;return EditorContributionRegistry.INSTANCE.registerEditorAction(t),t}function registerMultiEditorAction(e){return EditorContributionRegistry.INSTANCE.registerEditorAction(e),e}function registerInstantiatedEditorAction(e){EditorContributionRegistry.INSTANCE.registerEditorAction(e)}function registerEditorContribution(e,t,i){EditorContributionRegistry.INSTANCE.registerEditorContribution(e,t,i)}var EditorExtensionsRegistry;!function(e){e.getEditorCommand=function(e){return EditorContributionRegistry.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return EditorContributionRegistry.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return EditorContributionRegistry.INSTANCE.getEditorContributions()},e.getSomeEditorContributions=function(e){return EditorContributionRegistry.INSTANCE.getEditorContributions().filter(t=>e.indexOf(t.id)>=0)},e.getDiffEditorContributions=function(){return EditorContributionRegistry.INSTANCE.getDiffEditorContributions()}}(EditorExtensionsRegistry||(EditorExtensionsRegistry={}));const Extensions$8={EditorCommonContributions:"editor.contributions"};class EditorContributionRegistry{static{this.INSTANCE=new EditorContributionRegistry}constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}function registerCommand$3(e){return e.register(),e}Registry.add(Extensions$8.EditorCommonContributions,EditorContributionRegistry.INSTANCE);const UndoCommand=registerCommand$3(new MultiCommand({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"1_do",title:localize({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("undo","Undo"),order:1}]}));registerCommand$3(new ProxyCommand(UndoCommand,{id:"default:undo",precondition:void 0}));const RedoCommand=registerCommand$3(new MultiCommand({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"1_do",title:localize({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:MenuId.CommandPalette,group:"",title:localize("redo","Redo"),order:1}]}));registerCommand$3(new ProxyCommand(RedoCommand,{id:"default:redo",precondition:void 0}));const SelectAllCommand=registerCommand$3(new MultiCommand({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:MenuId.MenubarSelectionMenu,group:"1_basic",title:localize({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("selectAll","Select All"),order:1}]})),scriptRel="modulepreload",assetsURL=function(e){return"/tmagic-editor/playground/"+e},seen={},__vitePreload=function(e,t,i){let o=Promise.resolve();function n(e){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(t=>{for(const e of t||[])"rejected"===e.status&&n(e.reason);return e().catch(n)})},DEFAULT_CHANNEL="default",INITIALIZE="$initialize";let webWorkerWarningLogged=!1,ttPolicy$4;function logOnceWebWorkerWarning(e){isWeb&&(webWorkerWarningLogged||(webWorkerWarningLogged=!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(e.message))}class RequestMessage{constructor(e,t,i,o,n){this.vsWorker=e,this.req=t,this.channel=i,this.method=o,this.args=n,this.type=0}}class ReplyMessage{constructor(e,t,i,o){this.vsWorker=e,this.seq=t,this.res=i,this.err=o,this.type=1}}class SubscribeEventMessage{constructor(e,t,i,o,n){this.vsWorker=e,this.req=t,this.channel=i,this.eventName=o,this.arg=n,this.type=2}}class EventMessage{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class UnsubscribeEventMessage{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class SimpleWorkerProtocol{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,i){const o=String(++this._lastSentReq);return new Promise((n,r)=>{this._pendingReplies[o]={resolve:n,reject:r},this._send(new RequestMessage(this._workerId,o,e,t,i))})}listen(e,t,i){let o=null;const n=new Emitter$1({onWillAddFirstListener:()=>{o=String(++this._lastSentReq),this._pendingEmitters.set(o,n),this._send(new SubscribeEventMessage(this._workerId,o,e,t,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(o),this._send(new UnsubscribeEventMessage(this._workerId,o)),o=null}});return n.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}createProxyToRemoteChannel(e,t){const i={get:(i,o)=>("string"!=typeof o||i[o]||(propertyIsDynamicEvent(o)?i[o]=t=>this.listen(e,o,t):propertyIsEvent(o)?i[o]=this.listen(e,o,void 0):36===o.charCodeAt(0)&&(i[o]=async(...i)=>(await(t?.()),this.sendMessage(e,o,i)))),i[o])};return new Proxy(Object.create(null),i)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;return e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),void t.reject(i)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then(e=>{this._send(new ReplyMessage(this._workerId,t,e,void 0))},e=>{e.detail instanceof Error&&(e.detail=transformErrorForSerialization(e.detail)),this._send(new ReplyMessage(this._workerId,t,void 0,transformErrorForSerialization(e)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.channel,e.eventName,e.arg)(e=>{this._send(new EventMessage(this._workerId,t,e))});this._pendingEvents.set(t,i)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let i=0;i{this._protocol.handleMessage(e)},e=>{onUnexpectedError(e)})),this._protocol=new SimpleWorkerProtocol({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t,i)=>this._handleMessage(e,t,i),handleEvent:(e,t,i)=>this._handleEvent(e,t,i)}),this._protocol.setWorkerId(this._worker.getId());let i=null;const o=globalThis.require;void 0!==o&&"function"==typeof o.getConfig?i=o.getConfig():void 0!==globalThis.requirejs&&(i=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(DEFAULT_CHANNEL,INITIALIZE,[this._worker.getId(),JSON.parse(JSON.stringify(i)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(DEFAULT_CHANNEL,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(e=>{this._onError("Worker failed to load "+t.amdModuleId,e)})}_handleMessage(t,i,o){const n=this._localChannels.get(t);if(!n)return Promise.reject(new Error(`Missing channel ${t} on main thread`));if("function"!=typeof n[i])return Promise.reject(new Error(`Missing method ${i} on main thread channel ${t}`));try{return Promise.resolve(n[i].apply(n,o))}catch(e){return Promise.reject(e)}}_handleEvent(e,t,i){const o=this._localChannels.get(e);if(!o)throw new Error(`Missing channel ${e} on main thread`);if(propertyIsDynamicEvent(t)){const n=o[t].call(o,i);if("function"!=typeof n)throw new Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return n}if(propertyIsEvent(t)){const i=o[t];if("function"!=typeof i)throw new Error(`Missing event ${t} on main thread channel ${e}.`);return i}throw new Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}}function propertyIsEvent(e){return"o"===e[0]&&"n"===e[1]&&isUpperAsciiLetter(e.charCodeAt(2))}function propertyIsDynamicEvent(e){return/^onDynamic/.test(e)&&isUpperAsciiLetter(e.charCodeAt(9))}function createTrustedTypesPolicy(e,t){const i=globalThis.MonacoEnvironment;if(i?.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(e,t)}catch(o){return void onUnexpectedError(o)}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(o){return void onUnexpectedError(o)}}function getWorker$1(e,t){const i=globalThis.MonacoEnvironment;if(i){if("function"==typeof i.getWorker)return i.getWorker("workerMain.js",t);if("function"==typeof i.getWorkerUrl){const e=i.getWorkerUrl("workerMain.js",t);return new Worker(ttPolicy$4?ttPolicy$4.createScriptURL(e):e,{name:t,type:"module"})}}if(e){const i=getWorkerBootstrapUrl(t,e.toString(!0));return whenESMWorkerReady(new Worker(ttPolicy$4?ttPolicy$4.createScriptURL(i):i,{name:t,type:"module"}))}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function getWorkerBootstrapUrl(e,t,i){if(/^((http:)|(https:)|(file:)|(vscode-file:))/.test(t)&&t.substring(0,globalThis.origin.length)!==globalThis.origin);else{const i=t.lastIndexOf("?"),o=t.lastIndexOf("#",i),n=i>0?new URLSearchParams(t.substring(i+1,~o?o:void 0)):new URLSearchParams;COI.addSearchParam(n,!0,!0);t=n.toString()?`${t}?${n.toString()}#${e}`:`${t}#${e}`}const o=new Blob([coalesce([`/*${e}*/`,void 0,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify(getNLSMessages())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify(getNLSLanguage())};`,`globalThis._VSCODE_FILE_ROOT = '${globalThis._VSCODE_FILE_ROOT}';`,"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });","globalThis.workerttPolicy = ttPolicy;",`await import(ttPolicy?.createScriptURL('${t}') ?? '${t}');`,"globalThis.postMessage({ type: 'vscode-worker-ready' });",`/*${e}*/`]).join("")],{type:"application/javascript"});return URL.createObjectURL(o)}function whenESMWorkerReady(e){return new Promise((t,i)=>{e.onmessage=function(i){"vscode-worker-ready"===i.data.type&&(e.onmessage=null,t(e))},e.onerror=i})}function isPromiseLike(e){return"function"==typeof e.then}ttPolicy$4="object"==typeof self&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name&&void 0!==globalThis.workerttPolicy?globalThis.workerttPolicy:createTrustedTypesPolicy("defaultWorkerFactory",{createScriptURL:e=>e});class WebWorker extends Disposable{constructor(e,t,i,o,n,r){super(),this.id=i,this.label=o;const s=getWorker$1(e,o);isPromiseLike(s)?this.worker=s:this.worker=Promise.resolve(s),this.postMessage(t,[]),this.worker.then(e=>{e.onmessage=function(e){n(e.data)},e.onmessageerror=r,"function"==typeof e.addEventListener&&e.addEventListener("error",r)}),this._register(toDisposable(()=>{this.worker?.then(e=>{e.onmessage=null,e.onmessageerror=null,e.removeEventListener("error",r),e.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){this.worker?.then(i=>{try{i.postMessage(e,t)}catch(o){onUnexpectedError(o),onUnexpectedError(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:o}))}})}}class WorkerDescriptor{constructor(e,t){this.amdModuleId=e,this.label=t,this.esmModuleLocation=FileAccess.asBrowserUri(`${e}.esm.js`)}}class DefaultWorkerFactory{static{this.LAST_WORKER_ID=0}constructor(){this._webWorkerFailedBeforeError=!1}create(e,t,i){const o=++DefaultWorkerFactory.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new WebWorker(e.esmModuleLocation,e.amdModuleId,o,e.label||"anonymous"+o,t,e=>{logOnceWebWorkerWarning(e),this._webWorkerFailedBeforeError=e,i(e)})}}function createWebWorker$2(e,t){const i="string"==typeof e?new WorkerDescriptor(e,t):e;return new SimpleWorkerClient(new DefaultWorkerFactory,i)}var IndentAction;!function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(IndentAction||(IndentAction={}));class StandardAutoClosingPairConditional{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t \n\t"}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(e=>new StandardAutoClosingPairConditional(e)):e.brackets?this._autoClosingPairs=e.brackets.map(e=>new StandardAutoClosingPairConditional({open:e[0],close:e[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new StandardAutoClosingPairConditional({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:CharacterPairSupport.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}}function createScopedLineTokens(e,t){const i=e.getCount(),o=e.findTokenIndexAtOffset(t),n=e.getLanguageId(o);let r=o;for(;r+10&&e.getLanguageId(s-1)===n;)s--;return new ScopedLineTokens(e,n,s,r+1,e.getStartOffset(s),e.getEndOffset(r))}class ScopedLineTokens{constructor(e,t,i,o,n,r){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=o,this.firstCharOffset=n,this._lastCharOffset=r,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}function ignoreBracketsInToken(e){return!!(3&e)}const hasBuffer="undefined"!=typeof Buffer;let textDecoder,_utf16LE_TextDecoder,_utf16BE_TextDecoder,_platformTextDecoder;class VSBuffer{static wrap(e){return hasBuffer&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new VSBuffer(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return hasBuffer?this.buffer.toString():(textDecoder||(textDecoder=new TextDecoder),textDecoder.decode(this.buffer))}}function readUInt16LE(e,t){return(e[t+0]|0)>>>0|e[t+1]<<8>>>0}function writeUInt16LE(e,t,i){e[i+0]=255&t,t>>>=8,e[i+1]=255&t}function readUInt32BE(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function writeUInt32BE(e,t,i){e[i+3]=t,t>>>=8,e[i+2]=t,t>>>=8,e[i+1]=t,t>>>=8,e[i]=t}function readUInt8(e,t){return e[t]}function writeUInt8(e,t,i){e[i]=t}function getUTF16LE_TextDecoder(){return _utf16LE_TextDecoder||(_utf16LE_TextDecoder=new TextDecoder("UTF-16LE")),_utf16LE_TextDecoder}function getUTF16BE_TextDecoder(){return _utf16BE_TextDecoder||(_utf16BE_TextDecoder=new TextDecoder("UTF-16BE")),_utf16BE_TextDecoder}function getPlatformTextDecoder(){return _platformTextDecoder||(_platformTextDecoder=isLittleEndian()?getUTF16LE_TextDecoder():getUTF16BE_TextDecoder()),_platformTextDecoder}function decodeUTF16LE(e,t,i){const o=new Uint16Array(e.buffer,t,i);return i>0&&(65279===o[0]||65534===o[0])?compatDecodeUTF16LE(e,t,i):getUTF16LE_TextDecoder().decode(o)}function compatDecodeUTF16LE(e,t,i){const o=[];let n=0;for(let r=0;r=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(let i=0;i[e[0].toLowerCase(),e[1].toLowerCase()]);const i=[];for(let s=0;s{const[i,o]=e,[n,r]=t;return i===n||i===r||o===n||o===r},n=(e,o)=>{const n=Math.min(e,o),r=Math.max(e,o);for(let s=0;s0&&r.push({open:o,close:n})}return r}class RichEditBrackets{constructor(e,t){this._richEditBracketsBrand=void 0;const i=groupFuzzyBrackets(t);this.brackets=i.map((t,o)=>new RichEditBracket(e,o,t.open,t.close,getRegexForBracketPair(t.open,t.close,i,o),getReversedRegexForBracketPair(t.open,t.close,i,o))),this.forwardRegex=getRegexForBrackets(this.brackets),this.reversedRegex=getReversedRegexForBrackets(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const o of this.brackets){for(const e of o.open)this.textIsBracket[e]=o,this.textIsOpenBracket[e]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,e.length);for(const e of o.close)this.textIsBracket[e]=o,this.textIsOpenBracket[e]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,e.length)}}}function collectSuperstrings(e,t,i,o){for(let n=0,r=t.length;n=0&&o.push(t);for(const t of r.close)t.indexOf(e)>=0&&o.push(t)}}function lengthcmp(e,t){return e.length-t.length}function unique$1(e){if(e.length<=1)return e;const t=[],i=new Set;for(const o of e)i.has(o)||(t.push(o),i.add(o));return t}function getRegexForBracketPair(e,t,i,o){let n=[];n=n.concat(e),n=n.concat(t);for(let r=0,s=n.length;r=0;o--)t[i++]=e.charCodeAt(o);return getPlatformTextDecoder().decode(t)}(e)),t}}();class BracketsUtils{static _findPrevBracketInText(e,t,i,o){const n=i.match(e);if(!n)return null;const r=i.length-(n.index||0),s=n[0].length,a=o+r;return new Range$2(t,a-s+1,t,a+1)}static findPrevBracketInRange(e,t,i,o,n){const r=toReversedString(i).substring(i.length-n,i.length-o);return this._findPrevBracketInText(e,t,r,o)}static findNextBracketInText(e,t,i,o){const n=i.match(e);if(!n)return null;const r=n.index||0,s=n[0].length;if(0===s)return null;const a=o+r;return new Range$2(t,a+1,t,a+1+s)}static findNextBracketInRange(e,t,i,o,n){const r=i.substring(o,n);return this.findNextBracketInText(e,t,r,o)}}class BracketElectricCharacterSupport{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const t=i.charAt(i.length-1);e.push(t)}return distinct(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const o=t.findTokenIndexAtOffset(i-1);if(ignoreBracketsInToken(t.getStandardTokenType(o)))return null;const n=this._richEditBrackets.reversedRegex,r=t.getLineContent().substring(0,i-1)+e,s=BracketsUtils.findPrevBracketInRange(n,1,r,0,r.length);if(!s)return null;const a=r.substring(s.startColumn-1,s.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const l=t.getActualLineContentBefore(s.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function resetGlobalRegex(e){return e.global&&(e.lastIndex=0),!0}class IndentRulesSupport{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&resetGlobalRegex(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&resetGlobalRegex(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&resetGlobalRegex(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&resetGlobalRegex(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class OnEnterSupport{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(e=>{const t=OnEnterSupport._createOpenBracketRegExp(e[0]),i=OnEnterSupport._createCloseBracketRegExp(e[1]);t&&i&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:i})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,o){if(e>=3)for(let n=0,r=this._regExpRules.length;n!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text))))return e.action}if(e>=2&&i.length>0&&o.length>0)for(let n=0,r=this._brackets.length;n=2&&i.length>0)for(let n=0,r=this._brackets.length;n0&&"#"===e.charAt(e.length-1)?e.substring(0,e.length-1):e}class JSONContributionRegistry{constructor(){this._onDidChangeSchema=new Emitter$1,this.schemasById={}}registerSchema(e,t){this.schemasById[normalizeId(e)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}}const jsonContributionRegistry=new JSONContributionRegistry;Registry.add(Extensions$7.JSONContribution,jsonContributionRegistry);const Extensions$6={Configuration:"base.contributions.configuration"},resourceLanguageSettingsSchemaId="vscode://schemas/settings/resourceLanguage",contributionRegistry=Registry.as(Extensions$7.JSONContribution);class ConfigurationRegistry{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new Emitter$1,this._onDidUpdateConfiguration=new Emitter$1,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:localize("defaultLanguageConfigurationOverrides.title","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={},contributionRegistry.registerSchema(resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),contributionRegistry.registerSchema(resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);const i=[];for(const{overrides:o,source:n}of e)for(const e in o){t.add(e);const r=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),s=o[e];if(r.configurationDefaultOverrides.push({value:s,source:n}),OVERRIDE_PROPERTY_REGEX.test(e)){const t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,s,n,r.configurationDefaultOverrideValue);if(!t)continue;r.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,n),i.push(...overrideIdentifiersFromKey(e))}else{const t=this.mergeDefaultConfigurationsForConfigurationProperty(e,s,n,r.configurationDefaultOverrideValue);if(!t)continue;r.configurationDefaultOverrideValue=t;const i=this.configurationProperties[e];i&&(this.updatePropertyDefaultValue(e,i),this.updateSchema(e,i))}}this.doRegisterOverrideIdentifiers(i)}updateDefaultOverrideProperty(e,t,i){const o={type:"object",default:t.value,description:localize("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",getLanguageTagSettingPlainKey(e)),$ref:resourceLanguageSettingsSchemaId,defaultDefaultValue:t.value,source:i,defaultValueSource:i};this.configurationProperties[e]=o,this.defaultLanguageConfigurationOverridesNode.properties[e]=o}mergeDefaultConfigurationsForOverrideIdentifier(e,t,i,o){const n=o?.value||{},r=o?.source??new Map;if(r instanceof Map){for(const e of Object.keys(t)){const o=t[e];if(isObject$6(o)&&(isUndefined$4(n[e])||isObject$6(n[e]))){if(n[e]={...n[e]??{},...o},i)for(const t in o)r.set(`${e}.${t}`,i)}else n[e]=o,i?r.set(e,i):r.delete(e)}return{value:n,source:r}}console.error("objectConfigurationSources is not a Map")}mergeDefaultConfigurationsForConfigurationProperty(e,t,i,o){const n=this.configurationProperties[e],r=o?.value??n?.defaultDefaultValue;let s=i;if(isObject$6(t)&&(void 0!==n&&"object"===n.type||void 0===n&&(isUndefined$4(r)||isObject$6(r)))){if(s=o?.source??new Map,!(s instanceof Map))return void console.error("defaultValueSource is not a Map");for(const o in t)i&&s.set(`${e}.${o}`,i);t={...isObject$6(r)?r:{},...t}}return{value:t,source:s}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach(e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,i),this.configurationContributors.push(e),this.registerJSONConfiguration(e)})}validateAndRegisterProperties(e,t=!0,i,o,n=3,r){n=isUndefinedOrNull(e.scope)?n:e.scope;const s=e.properties;if(s)for(const l in s){const e=s[l];t&&validateProperty(l,e)?delete s[l]:(e.source=i,e.defaultDefaultValue=s[l].default,this.updatePropertyDefaultValue(l,e),OVERRIDE_PROPERTY_REGEX.test(l)?e.scope=void 0:(e.scope=isUndefinedOrNull(e.scope)?n:e.scope,e.restricted=isUndefinedOrNull(e.restricted)?!!o?.includes(l):e.restricted),!s[l].hasOwnProperty("included")||s[l].included?(this.configurationProperties[l]=s[l],s[l].policy?.name&&this.policyConfigurations.set(s[l].policy.name,l),!s[l].deprecationMessage&&s[l].markdownDeprecationMessage&&(s[l].deprecationMessage=s[l].markdownDeprecationMessage),r.add(l)):(this.excludedConfigurationProperties[l]=s[l],delete s[l]))}const a=e.allOf;if(a)for(const l of a)this.validateAndRegisterProperties(l,t,i,o,n,r)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const i=e.properties;if(i)for(const t in i)this.updateSchema(t,i[t]);const o=e.allOf;o?.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:case 2:case 6:case 3:case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:localize("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:localize("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:resourceLanguageSettingsSchemaId};this.updatePropertyDefaultValue(t,i)}}registerOverridePropertyPatternKey(){localize("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),localize("overrideSettings.errorMessage","This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue;let o,n;!i||t.disallowConfigurationDefault&&i.source||(o=i.value,n=i.source),isUndefined$4(o)&&(o=t.defaultDefaultValue,n=void 0),isUndefined$4(o)&&(o=getDefaultValue$2(t.type)),t.default=o,t.defaultValueSource=n}}const OVERRIDE_IDENTIFIER_PATTERN="\\[([^\\]]+)\\]",OVERRIDE_IDENTIFIER_REGEX=new RegExp(OVERRIDE_IDENTIFIER_PATTERN,"g"),OVERRIDE_PROPERTY_PATTERN=`^(${OVERRIDE_IDENTIFIER_PATTERN})+$`,OVERRIDE_PROPERTY_REGEX=new RegExp(OVERRIDE_PROPERTY_PATTERN);function overrideIdentifiersFromKey(e){const t=[];if(OVERRIDE_PROPERTY_REGEX.test(e)){let i=OVERRIDE_IDENTIFIER_REGEX.exec(e);for(;i?.length;){const o=i[1].trim();o&&t.push(o),i=OVERRIDE_IDENTIFIER_REGEX.exec(e)}}return distinct(t)}function getDefaultValue$2(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const configurationRegistry$2=new ConfigurationRegistry;function validateProperty(e,t){return e.trim()?OVERRIDE_PROPERTY_REGEX.test(e)?localize("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==configurationRegistry$2.getConfigurationProperties()[e]?localize("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):t.policy?.name&&void 0!==configurationRegistry$2.getPolicyConfigurations().get(t.policy?.name)?localize("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,t.policy?.name,configurationRegistry$2.getPolicyConfigurations().get(t.policy?.name)):null:localize("config.property.empty","Cannot register an empty property")}Registry.add(Extensions$6.Configuration,configurationRegistry$2);const Extensions$5={ModesRegistry:"editor.modesRegistry"};class EditorModesRegistry{constructor(){this._onDidChangeLanguages=new Emitter$1,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{const t=new Set;return{info:new OpeningBracketKind(this,e,t),closing:t}}),n=new CachedFunction(e=>{const t=new Set,i=new Set;return{info:new ClosingBracketKind(this,e,t,i),opening:t,openingColorized:i}});for(const[s,a]of i){const e=o.get(s),t=n.get(a);e.closing.add(t.info),t.opening.add(e.info)}const r=t.colorizedBracketPairs?filterValidBrackets(t.colorizedBracketPairs):i.filter(e=>!("<"===e[0]&&">"===e[1]));for(const[s,a]of r){const e=o.get(s),t=n.get(a);e.closing.add(t.info),t.openingColorized.add(e.info),t.opening.add(e.info)}this._openingBrackets=new Map([...o.cachedValues].map(([e,t])=>[e,t.info])),this._closingBrackets=new Map([...n.cachedValues].map(([e,t])=>[e,t.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){return createBracketOrRegExp(Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]),e)}}function filterValidBrackets(e){return e.filter(([e,t])=>""!==e&&""!==t)}class BracketKindBase{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class OpeningBracketKind extends BracketKindBase{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class ClosingBracketKind extends BracketKindBase{constructor(e,t,i,o){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=o,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var __decorate$2E=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2u=function(e,t){return function(i,o){t(i,o,e)}};class LanguageConfigurationServiceChangeEvent{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const ILanguageConfigurationService=createDecorator("languageConfigurationService");let LanguageConfigurationService=class extends Disposable{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new LanguageConfigurationRegistry),this.onDidChangeEmitter=this._register(new Emitter$1),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(customizedLanguageConfigKeys));this._register(this.configurationService.onDidChangeConfiguration(e=>{const t=e.change.keys.some(e=>i.has(e)),o=e.change.overrides.filter(([e,t])=>t.some(e=>i.has(e))).map(([e])=>e);if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent(void 0));else for(const i of o)this.languageService.isRegisteredLanguageId(i)&&(this.configurations.delete(i),this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent(i)))})),this._register(this._registry.onDidChange(e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent(e.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=computeConfig(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};function computeConfig(e,t,i,o){let n=t.getLanguageConfiguration(e);if(!n){if(!o.isRegisteredLanguageId(e))return new ResolvedLanguageConfiguration(e,{});n=new ResolvedLanguageConfiguration(e,{})}const r=getCustomizedLanguageConfig(n.languageId,i),s=combineLanguageConfigurations([n.underlyingConfig,r]);return new ResolvedLanguageConfiguration(n.languageId,s)}LanguageConfigurationService=__decorate$2E([__param$2u(0,IConfigurationService),__param$2u(1,ILanguageService)],LanguageConfigurationService);const customizedLanguageConfigKeys={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function getCustomizedLanguageConfig(e,t){const i=t.getValue(customizedLanguageConfigKeys.brackets,{overrideIdentifier:e}),o=t.getValue(customizedLanguageConfigKeys.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:validateBracketPairs(i),colorizedBracketPairs:validateBracketPairs(o)}}function validateBracketPairs(e){if(Array.isArray(e))return e.map(e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]}).filter(e=>!!e)}function getIndentationAtPosition(e,t,i){let o=getLeadingWhitespace(e.getLineContent(t));return o.length>i-1&&(o=o.substring(0,i-1)),o}class ComposedLanguageConfiguration{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new LanguageConfigurationContribution(e,t,++this._order);return this._entries.push(i),this._resolved=null,toDisposable(()=>{for(let e=0;ee.configuration)))}}function combineLanguageConfigurations(e){let t={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 i of e)t={comments:i.comments||t.comments,brackets:i.brackets||t.brackets,wordPattern:i.wordPattern||t.wordPattern,indentationRules:i.indentationRules||t.indentationRules,onEnterRules:i.onEnterRules||t.onEnterRules,autoClosingPairs:i.autoClosingPairs||t.autoClosingPairs,surroundingPairs:i.surroundingPairs||t.surroundingPairs,autoCloseBefore:i.autoCloseBefore||t.autoCloseBefore,folding:i.folding||t.folding,colorizedBracketPairs:i.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:i.__electricCharacterSupport||t.__electricCharacterSupport};return t}class LanguageConfigurationContribution{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class LanguageConfigurationChangeEvent{constructor(e){this.languageId=e}}class LanguageConfigurationRegistry extends Disposable{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._register(this.register(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(e,t,i=0){let o=this._entries.get(e);o||(o=new ComposedLanguageConfiguration(e),this._entries.set(e,o));const n=o.register(t,i);return this._onDidChange.fire(new LanguageConfigurationChangeEvent(e)),toDisposable(()=>{n.dispose(),this._onDidChange.fire(new LanguageConfigurationChangeEvent(e))})}getLanguageConfiguration(e){const t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class ResolvedLanguageConfiguration{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new OnEnterSupport(this.underlyingConfig):null,this.comments=ResolvedLanguageConfiguration._handleComments(this.underlyingConfig),this.characterPair=new CharacterPairSupport(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||DEFAULT_WORD_REGEXP,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new IndentRulesSupport(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new LanguageBracketsConfiguration(e,this.underlyingConfig)}getWordDefinition(){return ensureValidWordDefinition(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new RichEditBrackets(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new BracketElectricCharacterSupport(this.brackets)),this._electricCharacter}onEnter(e,t,i,o){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,o):null}getAutoClosingPairs(){return new AutoClosingPairs(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[e,o]=t.blockComment;i.blockCommentStartToken=e,i.blockCommentEndToken=o}return i}}registerSingleton(ILanguageConfigurationService,LanguageConfigurationService,1);class DiffChange{constructor(e,t,i,o){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=o}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class StringDiffSequence{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,o=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new 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,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),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 LcsDiff{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[o,n,r]=LcsDiff._getElements(e),[s,a,l]=LcsDiff._getElements(t);this._hasStrings=r&&l,this._originalStringElements=o,this._originalElementsOrHash=n,this._modifiedStringElements=s,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(LcsDiff._isStringArray(t)){const e=new Int32Array(t.length);for(let i=0,o=t.length;i=e&&o>=i&&this.ElementsAreEqual(t,o);)t--,o--;if(e>t||i>o){let n;return i<=o?(Debug.Assert(e===t+1,"originalStart should only be one more than originalEnd"),n=[new DiffChange(e,0,i,o-i+1)]):e<=t?(Debug.Assert(i===o+1,"modifiedStart should only be one more than modifiedEnd"),n=[new DiffChange(e,t-e+1,i,0)]):(Debug.Assert(e===t+1,"originalStart should only be one more than originalEnd"),Debug.Assert(i===o+1,"modifiedStart should only be one more than modifiedEnd"),n=[]),n}const r=[0],s=[0],a=this.ComputeRecursionPoint(e,t,i,o,r,s,n),l=r[0],c=s[0];if(null!==a)return a;if(!n[0]){const r=this.ComputeDiffRecursive(e,l,i,c,n);let s=[];return s=n[0]?[new DiffChange(l+1,t-(l+1)+1,c+1,o-(c+1)+1)]:this.ComputeDiffRecursive(l+1,t,c+1,o,n),this.ConcatenateChanges(r,s)}return[new DiffChange(e,t-e+1,i,o-i+1)]}WALKTRACE(e,t,i,o,n,r,s,a,l,c,d,u,h,p,g,m,f,v){let b=null,_=null,y=new DiffChangeHelper,C=t,w=i,x=h[0]-m[0]-o,S=-1073741824,k=this.m_forwardHistory.length-1;do{const t=x+e;t===C||t=0&&(e=(l=this.m_forwardHistory[k])[0],C=1,w=l.length-1)}while(--k>=-1);if(b=y.getReverseChanges(),v[0]){let e=h[0]+1,t=m[0]+1;if(null!==b&&b.length>0){const i=b[b.length-1];e=Math.max(e,i.getOriginalEnd()),t=Math.max(t,i.getModifiedEnd())}_=[new DiffChange(e,u-e+1,t,g-t+1)]}else{y=new DiffChangeHelper,C=r,w=s,x=h[0]-m[0]-a,S=1073741824,k=f?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=x+n;e===C||e=c[e+1]?(p=(d=c[e+1]-1)-x-a,d>S&&y.MarkNextChange(),S=d+1,y.AddOriginalElement(d+1,p+1),x=e+1-n):(p=(d=c[e-1])-x-a,d>S&&y.MarkNextChange(),S=d,y.AddModifiedElement(d+1,p+1),x=e-1-n),k>=0&&(n=(c=this.m_reverseHistory[k])[0],C=1,w=c.length-1)}while(--k>=-1);_=y.getChanges()}return this.ConcatenateChanges(b,_)}ComputeRecursionPoint(e,t,i,o,n,r,s){let a=0,l=0,c=0,d=0,u=0,h=0;e--,i--,n[0]=0,r[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const p=t-e+(o-i),g=p+1,m=new Int32Array(g),f=new Int32Array(g),v=o-i,b=t-e,_=e-i,y=t-o,C=(b-v)%2==0;m[v]=e,f[b]=t,s[0]=!1;for(let w=1;w<=p/2+1;w++){let p=0,x=0;c=this.ClipDiagonalBound(v-w,w,v,g),d=this.ClipDiagonalBound(v+w,w,v,g);for(let e=c;e<=d;e+=2){a=e===c||ep+x&&(p=a,x=l),!C&&Math.abs(e-b)<=w-1&&a>=f[e])return n[0]=a,r[0]=l,i<=f[e]&&w<=1448?this.WALKTRACE(v,c,d,_,b,u,h,y,m,f,a,t,n,l,o,r,C,s):null}const S=(p-e+(x-i)-w)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(p,S))return s[0]=!0,n[0]=p,r[0]=x,S>0&&w<=1448?this.WALKTRACE(v,c,d,_,b,u,h,y,m,f,a,t,n,l,o,r,C,s):(e++,i++,[new DiffChange(e,t-e+1,i,o-i+1)]);u=this.ClipDiagonalBound(b-w,w,b,g),h=this.ClipDiagonalBound(b+w,w,b,g);for(let g=u;g<=h;g+=2){a=g===u||g=f[g+1]?f[g+1]-1:f[g-1],l=a-(g-b)-y;const p=a;for(;a>e&&l>i&&this.ElementsAreEqual(a,l);)a--,l--;if(f[g]=a,C&&Math.abs(g-v)<=w&&a<=m[g])return n[0]=a,r[0]=l,p>=m[g]&&w<=1448?this.WALKTRACE(v,c,d,_,b,u,h,y,m,f,a,t,n,l,o,r,C,s):null}if(w<=1447){let e=new Int32Array(d-c+2);e[0]=v-c+1,MyArray.Copy2(m,c,e,1,d-c+1),this.m_forwardHistory.push(e),e=new Int32Array(h-u+2),e[0]=b-u+1,MyArray.Copy2(f,u,e,1,h-u+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(v,c,d,_,b,u,h,y,m,f,a,t,n,l,o,r,C,s)}PrettifyChanges(e){for(let t=0;t0,s=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let o=0,n=0;if(t>0){const i=e[t-1];o=i.originalStart+i.originalLength,n=i.modifiedStart+i.modifiedLength}const r=i.originalLength>0,s=i.modifiedLength>0;let a=0,l=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let e=1;;e++){const t=i.originalStart-e,c=i.modifiedStart-e;if(tl&&(l=d,a=e)}i.originalStart-=a,i.modifiedStart-=a;const c=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],c)&&(e[t-1]=c[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,i=e.length;t0&&t>a&&(a=t,l=d,c=e)}return a>0?[l,c]:null}_contiguousSequenceScore(e,t,i){let o=0;for(let n=0;n=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,o){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(i,o)?1:0)}ConcatenateChanges(e,t){const i=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const o=new Array(e.length+t.length-1);return MyArray.Copy(e,0,o,0,e.length-1),o[e.length-1]=i[0],MyArray.Copy(t,1,o,e.length,t.length-1),o}{const i=new Array(e.length+t.length);return MyArray.Copy(e,0,i,0,e.length),MyArray.Copy(t,0,i,e.length,t.length),i}}ChangesOverlap(e,t,i){if(Debug.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),Debug.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const o=e.originalStart;let n=e.originalLength;const r=e.modifiedStart;let s=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(n=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(s=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new DiffChange(o,n,r,s),!0}return i[0]=null,!1}ClipDiagonalBound(e,t,i,o){if(e>=0&&e255?255:0|e}function toUint32(e){return e<0?0:e>4294967295?4294967295:0|e}class CharacterClassifier{constructor(e){const t=toUint8(e);this._defaultValue=t,this._asciiMap=CharacterClassifier._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const i=toUint8(t);e>=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class CharacterSet{constructor(){this._actual=new CharacterClassifier(0)}add(e){this._actual.set(e,1)}has(e){return 1===this._actual.get(e)}clear(){return this._actual.clear()}}class Uint8Matrix{constructor(e,t,i){const o=new Uint8Array(e*t);for(let n=0,r=e*t;nt&&(t=r),o>i&&(i=o),s>i&&(i=s)}t++,i++;const o=new Uint8Matrix(i,t,0);for(let n=0,r=e.length;n=this._maxCharCode?0:this._states.get(e,t)}}let _stateMachine=null;function getStateMachine(){return null===_stateMachine&&(_stateMachine=new StateMachine([[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]])),_stateMachine}let _classifier=null;function getClassifier(){if(null===_classifier){_classifier=new CharacterClassifier(0);const e=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let i=0;io);if(o>0){const e=t.charCodeAt(o-1),i=t.charCodeAt(r);(40===e&&41===i||91===e&&93===i||123===e&&125===i)&&r--}return{range:{startLineNumber:i,startColumn:o+1,endLineNumber:i,endColumn:r+2},url:t.substring(o,r+1)}}static computeLinks(e,t=getStateMachine()){const i=getClassifier(),o=[];for(let n=1,r=e.getLineCount();n<=r;n++){const r=e.getLineContent(n),s=r.length;let a=0,l=0,c=0,d=1,u=!1,h=!1,p=!1,g=!1;for(;a=0?(o+=i?1:-1,o<0?o=e.length-1:o%=e.length,e[o]):null}}class EditorWorkerHost{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(e){return e.getChannel(EditorWorkerHost.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(EditorWorkerHost.CHANNEL_NAME,t)}}var _a$2,_b;class ResourceMapEntry{constructor(e,t){this.uri=e,this.value=t}}function isEntries(e){return Array.isArray(e)}class ResourceMap{static{this.defaultToKey=e=>e.toString()}constructor(e,t){if(this[_a$2]="ResourceMap",e instanceof ResourceMap)this.map=new Map(e.map),this.toKey=t??ResourceMap.defaultToKey;else if(isEntries(e)){this.map=new Map,this.toKey=t??ResourceMap.defaultToKey;for(const[t,i]of e)this.set(t,i)}else this.map=new Map,this.toKey=e??ResourceMap.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new ResourceMapEntry(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[i,o]of this.map)e(o.value,o.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(_a$2=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}class LinkedMap{constructor(){this[_b]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return 0!==t&&this.touch(i,t),i.value}set(e,t,i=0){let o=this._map.get(e);if(o)o.value=t,0!==i&&this.touch(o,i);else{switch(o={key:e,value:t,next:void 0,previous:void 0},i){case 0:case 2:default:this.addItemLast(o);break;case 1:this.addItemFirst(o)}this._map.set(e,o),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let o=this._head;for(;o;){if(t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");o=o.next}}keys(){const e=this,t=this._state;let i=this._head;const o={[Symbol.iterator]:()=>o,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:i.key,done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return o}values(){const e=this,t=this._state;let i=this._head;const o={[Symbol.iterator]:()=>o,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:i.value,done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return o}entries(){const e=this,t=this._state;let i=this._head;const o={[Symbol.iterator]:()=>o,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:[i.key,i.value],done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return o}[(_b=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._tail,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.previous,i--;this._tail=t,this._size=i,t&&(t.next=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(t.previous=i,i.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,i=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=i,i.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class Cache extends LinkedMap{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class LRUCache extends Cache{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class BidirectionalMap{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class SetMap{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),0===i.size&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}class WordCharacterClassifier extends CharacterClassifier{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let i=0,o=e.length;it)break;i=o}return i}findNextIntlWordAtOrAfterOffset(e,t){for(const i of this._getIntlSegmenterWordsOnLine(e))if(!(i.index=0;let t=null;try{t=createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(o){return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new SearchData(t,this.wordSeparators?getMapForWordSeparators(this.wordSeparators,[]):null,i?this.searchString:null)}}function isMultilineRegexSource(e){if(!e||0===e.length)return!1;for(let t=0,i=e.length;t=i)break;const o=e.charCodeAt(t);if(110===o||114===o||87===o)return!0}}return!1}function createFindMatch(e,t,i){if(!i)return new FindMatch(e,null);const o=[];for(let n=0,r=t.length;n=e?o=n-1:t[n+1]>=e?(i=n,o=n):i=n+1}return i+1}}class TextModelSearch{static findMatches(e,t,i,o,n){const r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,i,new Searcher(r.wordSeparators,r.regex),o,n):this._doFindMatchesLineByLine(e,i,r,o,n):[]}static _getMultilineMatchRange(e,t,i,o,n,r){let s,a,l=0;if(o?(l=o.findLineFeedCountBeforeOffset(n),s=t+n+l):s=t+n,o){const e=o.findLineFeedCountBeforeOffset(n+r.length)-l;a=s+r.length+e}else a=s+r.length;const c=e.getPositionAt(s),d=e.getPositionAt(a);return new Range$2(c.lineNumber,c.column,d.lineNumber,d.column)}static _doFindMatchesMultiline(e,t,i,o,n){const r=e.getOffsetAt(t.getStartPosition()),s=e.getValueInRange(t,1),a="\r\n"===e.getEOL()?new LineFeedCounter(s):null,l=[];let c,d=0;for(i.reset(0);c=i.next(s);)if(l[d++]=createFindMatch(this._getMultilineMatchRange(e,r,s,a,c.index,c[0]),c,o),d>=n)return l;return l}static _doFindMatchesLineByLine(e,t,i,o,n){const r=[];let s=0;if(t.startLineNumber===t.endLineNumber){const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return s=this._findMatchesInLine(i,a,t.startLineNumber,t.startColumn-1,s,r,o,n),r}const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(i,a,t.startLineNumber,t.startColumn-1,s,r,o,n);for(let l=t.startLineNumber+1;l=a))return n;return n}const c=new Searcher(e.wordSeparators,e.regex);let d;c.reset(0);do{if(d=c.next(t),d&&(r[n++]=createFindMatch(new Range$2(i,d.index+1+o,i,d.index+1+d[0].length+o),d,s),n>=a))return n}while(d);return n}static findNextMatch(e,t,i,o){const n=t.parseSearchRequest();if(!n)return null;const r=new Searcher(n.wordSeparators,n.regex);return n.regex.multiline?this._doFindNextMatchMultiline(e,i,r,o):this._doFindNextMatchLineByLine(e,i,r,o)}static _doFindNextMatchMultiline(e,t,i,o){const n=new Position$1(t.lineNumber,1),r=e.getOffsetAt(n),s=e.getLineCount(),a=e.getValueInRange(new Range$2(n.lineNumber,n.column,s,e.getLineMaxColumn(s)),1),l="\r\n"===e.getEOL()?new LineFeedCounter(a):null;i.reset(t.column-1);const c=i.next(a);return c?createFindMatch(this._getMultilineMatchRange(e,r,a,l,c.index,c[0]),c,o):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new Position$1(1,1),i,o):null}static _doFindNextMatchLineByLine(e,t,i,o){const n=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r),a=this._findFirstMatchInLine(i,s,r,t.column,o);if(a)return a;for(let l=1;l<=n;l++){const t=(r+l-1)%n,s=e.getLineContent(t+1),a=this._findFirstMatchInLine(i,s,t+1,1,o);if(a)return a}return null}static _findFirstMatchInLine(e,t,i,o,n){e.reset(o-1);const r=e.next(t);return r?createFindMatch(new Range$2(i,r.index+1,i,r.index+1+r[0].length),r,n):null}static findPreviousMatch(e,t,i,o){const n=t.parseSearchRequest();if(!n)return null;const r=new Searcher(n.wordSeparators,n.regex);return n.regex.multiline?this._doFindPreviousMatchMultiline(e,i,r,o):this._doFindPreviousMatchLineByLine(e,i,r,o)}static _doFindPreviousMatchMultiline(e,t,i,o){const n=this._doFindMatchesMultiline(e,new Range$2(1,1,t.lineNumber,t.column),i,o,10*LIMIT_FIND_COUNT$1);if(n.length>0)return n[n.length-1];const r=e.getLineCount();return t.lineNumber!==r||t.column!==e.getLineMaxColumn(r)?this._doFindPreviousMatchMultiline(e,new Position$1(r,e.getLineMaxColumn(r)),i,o):null}static _doFindPreviousMatchLineByLine(e,t,i,o){const n=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r).substring(0,t.column-1),a=this._findLastMatchInLine(i,s,r,o);if(a)return a;for(let l=1;l<=n;l++){const t=(n+r-l-1)%n,s=e.getLineContent(t+1),a=this._findLastMatchInLine(i,s,t+1,o);if(a)return a}return null}static _findLastMatchInLine(e,t,i,o){let n,r=null;for(e.reset(0);n=e.next(t);)r=createFindMatch(new Range$2(i,n.index+1,i,n.index+1+n[0].length),n,o);return r}}function leftIsWordBounday(e,t,i,o,n){if(0===o)return!0;const r=t.charCodeAt(o-1);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(n>0){const i=t.charCodeAt(o);if(0!==e.get(i))return!0}return!1}function rightIsWordBounday(e,t,i,o,n){if(o+n===i)return!0;const r=t.charCodeAt(o+n);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(n>0){const i=t.charCodeAt(o+n-1);if(0!==e.get(i))return!0}return!1}function isValidMatch(e,t,i,o,n){return leftIsWordBounday(e,t,i,o,n)&&rightIsWordBounday(e,t,i,o,n)}class Searcher{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(i=this._searchRegex.exec(e),!i)return null;const o=i.index,n=i[0].length;if(o===this._prevMatchStartIndex&&n===this._prevMatchLength){if(0===n){getNextCodePoint(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=o,this._prevMatchLength=n,!this._wordSeparators||isValidMatch(this._wordSeparators,e,t,o,n))return i}while(i);return null}}class UnicodeTextModelHighlighter{static computeUnicodeHighlights(e,t,i){const o=i?i.startLineNumber:1,n=i?i.endLineNumber:e.getLineCount(),r=new CodePointHighlighter(t),s=r.getCandidateCodePoints();let a;a="allNonBasicAscii"===s?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(`${buildRegExpCharClassExpr(Array.from(s))}`,"g");const l=new Searcher(null,a),c=[];let d,u=!1,h=0,p=0,g=0;e:for(let m=o,f=n;m<=f;m++){const t=e.getLineContent(m),i=t.length;l.reset(0);do{if(d=l.next(t),d){let e=d.index,o=d.index+d[0].length;if(e>0){isHighSurrogate(t.charCodeAt(e-1))&&e--}if(o+1=t){u=!0;break e}c.push(new Range$2(m,e+1,m,o+1))}}}while(d)}return{ranges:c,hasMore:u,ambiguousCharacterCount:h,invisibleCharacterCount:p,nonBasicAsciiCharacterCount:g}}static computeUnicodeHighlightReason(e,t){const i=new CodePointHighlighter(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const o=e.codePointAt(0),n=i.ambiguousCharacters.getPrimaryConfusable(o),r=AmbiguousCharacters.getLocales().filter(e=>!AmbiguousCharacters.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(o));return{kind:0,confusableWith:String.fromCodePoint(n),notAmbiguousInLocales:r}}case 1:return{kind:2}}}}function buildRegExpCharClassExpr(e,t){return`[${escapeRegExpCharacters(e.map(e=>String.fromCodePoint(e)).join(""))}]`}class CodePointHighlighter{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=AmbiguousCharacters.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of InvisibleCharacters.codePoints)isAllowedInvisibleCharacter(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let o=!1,n=!1;if(t)for(const r of t){const e=r.codePointAt(0),t=isBasicASCII(r);o=o||t,t||this.ambiguousCharacters.isAmbiguous(e)||InvisibleCharacters.isInvisibleCharacter(e)||(n=!0)}return!o&&n?0:this.options.invisibleCharacters&&!isAllowedInvisibleCharacter(e)&&InvisibleCharacters.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function isAllowedInvisibleCharacter(e){return" "===e||"\n"===e||"\t"===e}class LinesDiff{constructor(e,t,i){this.changes=e,this.moves=t,this.hitTimeout=i}}class MovedText{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}class OffsetRange{static addRange(e,t){let i=0;for(;it))return new OffsetRange(e,t)}static ofLength(e){return new OffsetRange(0,e)}static ofStartAndLength(e,t){return new OffsetRange(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new BugIndicatingError(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new OffsetRange(this.start+e,this.endExclusive+e)}deltaStart(e){return new OffsetRange(this.start+e,this.endExclusive)}deltaEnd(e){return new OffsetRange(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString()).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length,0)}}function findLast$1(e,t){const i=findLastIdx(e,t);if(-1!==i)return e[i]}function findLastIdx(e,t,i=e.length-1){for(let o=i;o>=0;o--){if(t(e[o]))return o}return-1}function findLastMonotonous(e,t){const i=findLastIdxMonotonous(e,t);return-1===i?void 0:e[i]}function findLastIdxMonotonous(e,t,i=0,o=e.length){let n=i,r=o;for(;n0&&(i=n)}return i}function findLastMax(e,t){if(0===e.length)return;let i=e[0];for(let o=1;o=0&&(i=n)}return i}function findFirstMin(e,t){return findFirstMax(e,(e,i)=>-t(e,i))}function findMaxIdx(e,t){if(0===e.length)return-1;let i=0;for(let o=1;o0&&(i=o)}return i}function mapFindFirst(e,t){for(const i of e){const e=t(i);if(void 0!==e)return e}}let LineRange$1=class e{static fromRangeInclusive(t){return new e(t.startLineNumber,t.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new LineRangeSet(e[0].slice());for(let i=1;it)throw new BugIndicatingError(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&et.endLineNumberExclusive>=e.startLineNumber),i=findLastIdxMonotonous(this._normalizedRanges,t=>t.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const i=this._normalizedRanges[t];this._normalizedRanges[t]=i.join(e)}else{const o=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,o)}}contains(e){const t=findLastMonotonous(this._normalizedRanges,t=>t.startLineNumber<=e);return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=findLastMonotonous(this._normalizedRanges,t=>t.startLineNumbere.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let i=0,o=0,n=null;for(;i=r.startLineNumber?n=new LineRange$1(n.startLineNumber,Math.max(n.endLineNumberExclusive,r.endLineNumberExclusive)):(t.push(n),n=r)}return null!==n&&t.push(n),new LineRangeSet(t)}subtractFrom(e){const t=findFirstIdxMonotonousOrArrLen(this._normalizedRanges,t=>t.endLineNumberExclusive>=e.startLineNumber),i=findLastIdxMonotonous(this._normalizedRanges,t=>t.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)return new LineRangeSet([e]);const o=[];let n=e.startLineNumber;for(let r=t;rn&&o.push(new LineRange$1(n,e.startLineNumber)),n=e.endLineNumberExclusive}return ne.toString()).join(", ")}getIntersection(e){const t=[];let i=0,o=0;for(;it.delta(e)))}}class TextLength{static{this.zero=new TextLength(0,0)}static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new TextLength(0,t.column-e.column):new TextLength(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return TextLength.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,i=0;for(const o of e)"\n"===o?(t++,i=0):i++;return new TextLength(t,i)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return 0===this.lineCount?new Range$2(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new Range$2(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new Position$1(e.lineNumber,e.column+this.columnCount):new Position$1(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}class PositionOffsetTransformer{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;tcheckAdjacentItems(e,(e,t)=>e.range.getEndPosition().isBeforeOrEqual(t.range.getStartPosition())))}apply(e){let t="",i=new Position$1(1,1);for(const n of this.edits){const o=n.range,r=o.getStartPosition(),s=o.getEndPosition(),a=rangeFromPositions(i,r);a.isEmpty()||(t+=e.getValueOfRange(a)),t+=n.text,i=s}const o=rangeFromPositions(i,e.endPositionExclusive);return o.isEmpty()||(t+=e.getValueOfRange(o)),t}applyToString(e){const t=new StringText(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,o=0;for(const n of this.edits){const r=TextLength.ofText(n.text),s=Position$1.lift({lineNumber:n.range.startLineNumber+i,column:n.range.startColumn+(n.range.startLineNumber===t?o:0)}),a=r.createRange(s);e.push(a),i=a.endLineNumber-n.range.endLineNumber,o=a.endColumn-n.range.endColumn,t=n.range.endLineNumber}return e}}class SingleTextEdit{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}}function rangeFromPositions(e,t){if(e.lineNumber===t.lineNumber&&e.column===Number.MAX_SAFE_INTEGER)return Range$2.fromPositions(t,t);if(!e.isBeforeOrEqual(t))throw new BugIndicatingError("start must be before end");return new Range$2(e.lineNumber,e.column,t.lineNumber,t.column)}class AbstractText{get endPositionExclusive(){return this.length.addToPosition(new Position$1(1,1))}}class StringText extends AbstractText{constructor(e){super(),this.value=e,this._t=new PositionOffsetTransformer(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}class LineRangeMapping{static inverse(e,t,i){const o=[];let n=1,r=1;for(const a of e){const e=new LineRangeMapping(new LineRange$1(n,a.original.startLineNumber),new LineRange$1(r,a.modified.startLineNumber));e.modified.isEmpty||o.push(e),n=a.original.endLineNumberExclusive,r=a.modified.endLineNumberExclusive}const s=new LineRangeMapping(new LineRange$1(n,t+1),new LineRange$1(r,i+1));return s.modified.isEmpty||o.push(s),o}static clip(e,t,i){const o=[];for(const n of e){const e=n.original.intersect(t),r=n.modified.intersect(i);e&&!e.isEmpty&&r&&!r.isEmpty&&o.push(new LineRangeMapping(e,r))}return o}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new LineRangeMapping(this.modified,this.original)}join(e){return new LineRangeMapping(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new RangeMapping(e,t);if(1===this.original.startLineNumber||1===this.modified.startLineNumber){if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new BugIndicatingError("not a valid diff");return new RangeMapping(new Range$2(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new Range$2(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}return new RangeMapping(new Range$2(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new Range$2(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(isValidLineNumber(this.original.endLineNumberExclusive,e)&&isValidLineNumber(this.modified.endLineNumberExclusive,t))return new RangeMapping(new Range$2(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new Range$2(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new RangeMapping(Range$2.fromPositions(new Position$1(this.original.startLineNumber,1),normalizePosition(new Position$1(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),Range$2.fromPositions(new Position$1(this.modified.startLineNumber,1),normalizePosition(new Position$1(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new RangeMapping(Range$2.fromPositions(normalizePosition(new Position$1(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),normalizePosition(new Position$1(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),Range$2.fromPositions(normalizePosition(new Position$1(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),normalizePosition(new Position$1(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new BugIndicatingError}}function normalizePosition(e,t){if(e.lineNumber<1)return new Position$1(1,1);if(e.lineNumber>t.length)return new Position$1(t.length,t[t.length-1].length+1);const i=t[e.lineNumber-1];return e.column>i.length+1?new Position$1(e.lineNumber,i.length+1):e}function isValidLineNumber(e,t){return e>=1&&e<=t.length}class DetailedLineRangeMapping extends LineRangeMapping{static fromRangeMappings(e){const t=LineRange$1.join(e.map(e=>LineRange$1.fromRangeInclusive(e.originalRange))),i=LineRange$1.join(e.map(e=>LineRange$1.fromRangeInclusive(e.modifiedRange)));return new DetailedLineRangeMapping(t,i,e)}constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){return new DetailedLineRangeMapping(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new DetailedLineRangeMapping(this.original,this.modified,[this.toRangeMapping()])}}class RangeMapping{static assertSorted(e){for(let t=1;t${this.modifiedRange.toString()}}`}flip(){return new RangeMapping(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new SingleTextEdit(this.originalRange,t)}}const MINIMUM_MATCHING_CHARACTER_LENGTH=3;class LegacyLinesDiffComputer{computeDiff(e,t,i){const o=new DiffComputer(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),n=[];let r=null;for(const s of o.changes){let e,t;e=0===s.originalEndLineNumber?new LineRange$1(s.originalStartLineNumber+1,s.originalStartLineNumber+1):new LineRange$1(s.originalStartLineNumber,s.originalEndLineNumber+1),t=0===s.modifiedEndLineNumber?new LineRange$1(s.modifiedStartLineNumber+1,s.modifiedStartLineNumber+1):new LineRange$1(s.modifiedStartLineNumber,s.modifiedEndLineNumber+1);let i=new DetailedLineRangeMapping(e,t,s.charChanges?.map(e=>new RangeMapping(new Range$2(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new Range$2(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn))));r&&(r.modified.endLineNumberExclusive!==i.modified.startLineNumber&&r.original.endLineNumberExclusive!==i.original.startLineNumber||(i=new DetailedLineRangeMapping(r.original.join(i.original),r.modified.join(i.modified),r.innerChanges&&i.innerChanges?r.innerChanges.concat(i.innerChanges):void 0),n.pop())),n.push(i),r=i}return assertFn(()=>checkAdjacentItems(n,(e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive===t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class CharChange{constructor(e,t,i,o,n,r,s,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=o,this.modifiedStartLineNumber=n,this.modifiedStartColumn=r,this.modifiedEndLineNumber=s,this.modifiedEndColumn=a}static createFromDiffChange(e,t,i){const o=t.getStartLineNumber(e.originalStart),n=t.getStartColumn(e.originalStart),r=t.getEndLineNumber(e.originalStart+e.originalLength-1),s=t.getEndColumn(e.originalStart+e.originalLength-1),a=i.getStartLineNumber(e.modifiedStart),l=i.getStartColumn(e.modifiedStart),c=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),d=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new CharChange(o,n,r,s,a,l,c,d)}}function postProcessCharChanges(e){if(e.length<=1)return e;const t=[e[0]];let i=t[0];for(let o=1,n=e.length;o0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&n()){const r=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=o.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(r.getElements().length>0&&a.getElements().length>0){let e=computeDiff(r,a,n,!0).changes;s&&(e=postProcessCharChanges(e)),u=[];for(let t=0,i=e.length;t1&&s>1;){if(e.charCodeAt(i-2)!==t.charCodeAt(s-2))break;i--,s--}(i>1||s>1)&&this._pushTrimWhitespaceCharChange(o,n+1,1,i,r+1,1,s)}{let i=getLastNonBlankColumn(e,1),s=getLastNonBlankColumn(t,1);const a=e.length+1,l=t.length+1;for(;i!0;const t=Date.now();return()=>Date.now()-t{i.push(SequenceDiff.fromOffsetPairs(e?e.getEndExclusives():OffsetPair.zero,o?o.getStarts():new OffsetPair(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))}),i}static fromOffsetPairs(e,t){return new SequenceDiff(new OffsetRange(e.offset1,t.offset1),new OffsetRange(e.offset2,t.offset2))}static assertSorted(e){let t;for(const i of e){if(t&&!(t.seq1Range.endExclusive<=i.seq1Range.start&&t.seq2Range.endExclusive<=i.seq2Range.start))throw new BugIndicatingError("Sequence diffs must be sorted");t=i}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new SequenceDiff(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new SequenceDiff(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new SequenceDiff(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new SequenceDiff(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new SequenceDiff(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(t&&i)return new SequenceDiff(t,i)}getStarts(){return new OffsetPair(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new OffsetPair(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class OffsetPair{static{this.zero=new OffsetPair(0,0)}static{this.max=new OffsetPair(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new OffsetPair(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}class InfiniteTimeout{static{this.instance=new InfiniteTimeout}isValid(){return!0}}class DateTimeout{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new BugIndicatingError("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&a>0&&3===r.get(p-1,a-1)&&(d+=s.get(p-1,a-1)),d+=o?o(p,a):1):d=-1;const u=Math.max(l,c,d);if(u===d){const e=p>0&&a>0?s.get(p-1,a-1):0;s.set(p,a,e+1),r.set(p,a,3)}else u===l?(s.set(p,a,0),r.set(p,a,1)):u===c&&(s.set(p,a,0),r.set(p,a,2));n.set(p,a,u)}const a=[];let l=e.length,c=t.length;function d(e,t){e+1===l&&t+1===c||a.push(new SequenceDiff(new OffsetRange(e+1,l),new OffsetRange(t+1,c))),l=e,c=t}let u=e.length-1,h=t.length-1;for(;u>=0&&h>=0;)3===r.get(u,h)?(d(u,h),u--,h--):1===r.get(u,h)?u--:h--;return d(-1,-1),a.reverse(),new DiffAlgorithmResult(a,!1)}}class MyersDiffAlgorithm{compute(e,t,i=InfiniteTimeout.instance){if(0===e.length||0===t.length)return DiffAlgorithmResult.trivial(e,t);const o=e,n=t;function r(e,t){for(;eo.length||u>n.length)continue;const h=r(d,u);a.set(c,h);const p=d===i?l.get(c+1):l.get(c-1);if(l.set(c,h!==d?new SnakePath(p,d,u,h-d):p),a.get(c)===o.length&&a.get(c)-c===n.length)break e}}let d=l.get(c);const u=[];let h=o.length,p=n.length;for(;;){const e=d?d.x+d.length:0,t=d?d.y+d.length:0;if(e===h&&t===p||u.push(new SequenceDiff(new OffsetRange(e,h),new OffsetRange(t,p))),!d)break;h=d.x,p=d.y,d=d.prev}return u.reverse(),new DiffAlgorithmResult(u,!1)}}class SnakePath{constructor(e,t,i,o){this.prev=e,this.x=t,this.y=i,this.length=o}}class FastInt32Array{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class FastArrayNegativeIndices{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class LinesSliceCharSequence{constructor(e,t,i){this.lines=e,this.range=t,this.considerWhitespaceChanges=i,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let o=this.range.startLineNumber;o<=this.range.endLineNumber;o++){let t=e[o-1],n=0;o===this.range.startLineNumber&&this.range.startColumn>1&&(n=this.range.startColumn-1,t=t.substring(n)),this.lineStartOffsets.push(n);let r=0;if(!i){const e=t.trimStart();r=t.length-e.length,t=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(r);const s=o===this.range.endLineNumber?Math.min(this.range.endColumn-1-n-r,t.length):t.length;for(let e=0;eString.fromCharCode(e)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=getCategory(e>0?this.elements[e-1]:-1),i=getCategory(et<=e),o=e-this.firstElementOffsetByLineIdx[i];return new Position$1(this.range.startLineNumber+i,1+this.lineStartOffsets[i]+o+(0===o&&"left"===t?0:this.trimmedWsLengthsByLineIdx[i]))}translateRange(e){const t=this.translateOffset(e.start,"right"),i=this.translateOffset(e.endExclusive,"left");return i.isBefore(t)?Range$2.fromPositions(i,i):Range$2.fromPositions(t,i)}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!isWordChar(this.elements[e]))return;let t=e;for(;t>0&&isWordChar(this.elements[t-1]);)t--;let i=e;for(;it<=e.start)??0,i=findFirstMonotonous(this.firstElementOffsetByLineIdx,t=>e.endExclusive<=t)??this.elements.length;return new OffsetRange(t,i)}}function isWordChar(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const score$1={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function getCategoryBoundaryScore(e){return score$1[e]}function getCategory(e){return 10===e?8:13===e?7:isSpace$1(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function computeMovedLines(e,t,i,o,n,r){let{moves:s,excludedChanges:a}=computeMovesFromSimpleDeletionsToSimpleInsertions(e,t,i,r);if(!r.isValid())return[];const l=e.filter(e=>!a.has(e));return pushMany(s,computeUnchangedMoves(l,o,n,t,i,r)),s=joinCloseConsecutiveMoves(s),s=s.filter(e=>{const i=e.original.toOffsetRange().slice(t).map(e=>e.trim());return i.join("\n").length>=15&&countWhere(i,e=>e.length>=2)>=2}),s=removeMovesInSameDiff(e,s),s}function countWhere(e,t){let i=0;for(const o of e)t(o)&&i++;return i}function computeMovesFromSimpleDeletionsToSimpleInsertions(e,t,i,o){const n=[],r=e.filter(e=>e.modified.isEmpty&&e.original.length>=3).map(e=>new LineRangeFragment(e.original,t,e)),s=new Set(e.filter(e=>e.original.isEmpty&&e.modified.length>=3).map(e=>new LineRangeFragment(e.modified,i,e))),a=new Set;for(const l of r){let e,t=-1;for(const i of s){const o=l.computeSimilarity(i);o>t&&(t=o,e=i)}if(t>.9&&e&&(s.delete(e),n.push(new LineRangeMapping(l.range,e.range)),a.add(l.source),a.add(e.source)),!o.isValid())return{moves:n,excludedChanges:a}}return{moves:n,excludedChanges:a}}function computeUnchangedMoves(e,t,i,o,n,r){const s=[],a=new SetMap;for(const h of e)for(let e=h.original.startLineNumber;ee.modified.startLineNumber,numberComparator));for(const h of e){let e=[];for(let t=h.modified.startLineNumber;t{for(const o of e)if(o.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&o.modifiedLineRange.endLineNumberExclusive+1===n.endLineNumberExclusive)return o.originalLineRange=new LineRange$1(o.originalLineRange.startLineNumber,t.endLineNumberExclusive),o.modifiedLineRange=new LineRange$1(o.modifiedLineRange.startLineNumber,n.endLineNumberExclusive),void r.push(o);const i={modifiedLineRange:n,originalLineRange:t};l.push(i),r.push(i)}),e=r}if(!r.isValid())return[]}l.sort(reverseOrder(compareBy(e=>e.modifiedLineRange.length,numberComparator)));const c=new LineRangeSet,d=new LineRangeSet;for(const h of l){const e=h.modifiedLineRange.startLineNumber-h.originalLineRange.startLineNumber,t=c.subtractFrom(h.modifiedLineRange),i=d.subtractFrom(h.originalLineRange).getWithDelta(e),o=t.getIntersection(i);for(const n of o.ranges){if(n.length<3)continue;const t=n,i=n.delta(-e);s.push(new LineRangeMapping(i,t)),c.addRange(t),d.addRange(i)}}s.sort(compareBy(e=>e.original.startLineNumber,numberComparator));const u=new MonotonousArray(e);for(let h=0;he.original.startLineNumber<=t.original.startLineNumber),a=findLastMonotonous(e,e=>e.modified.startLineNumber<=t.modified.startLineNumber),l=Math.max(t.original.startLineNumber-i.original.startLineNumber,t.modified.startLineNumber-a.modified.startLineNumber),p=u.findLastMonotonous(e=>e.original.startLineNumbere.modified.startLineNumbero.length||i>n.length)break;if(c.contains(i)||d.contains(e))break;if(!areLinesSimilar(o[e-1],n[i-1],r))break}for(f>0&&(d.addRange(new LineRange$1(t.original.startLineNumber-f,t.original.startLineNumber)),c.addRange(new LineRange$1(t.modified.startLineNumber-f,t.modified.startLineNumber))),v=0;vo.length||i>n.length)break;if(c.contains(i)||d.contains(e))break;if(!areLinesSimilar(o[e-1],n[i-1],r))break}v>0&&(d.addRange(new LineRange$1(t.original.endLineNumberExclusive,t.original.endLineNumberExclusive+v)),c.addRange(new LineRange$1(t.modified.endLineNumberExclusive,t.modified.endLineNumberExclusive+v))),(f>0||v>0)&&(s[h]=new LineRangeMapping(new LineRange$1(t.original.startLineNumber-f,t.original.endLineNumberExclusive+v),new LineRange$1(t.modified.startLineNumber-f,t.modified.endLineNumberExclusive+v)))}return s}function areLinesSimilar(e,t,i){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const o=(new MyersDiffAlgorithm).compute(new LinesSliceCharSequence([e],new Range$2(1,1,1,e.length),!1),new LinesSliceCharSequence([t],new Range$2(1,1,1,t.length),!1),i);let n=0;const r=SequenceDiff.invert(o.diffs,e.length);for(const a of r)a.seq1Range.forEach(t=>{isSpace$1(e.charCodeAt(t))||n++});const s=function(t){let i=0;for(let o=0;ot.length?e:t);return n/s>.6&&s>10}function joinCloseConsecutiveMoves(e){if(0===e.length)return e;e.sort(compareBy(e=>e.original.startLineNumber,numberComparator));const t=[e[0]];for(let i=1;i=0&&s>=0&&r+s<=2?t[t.length-1]=o.join(n):t.push(n)}return t}function removeMovesInSameDiff(e,t){const i=new MonotonousArray(e);return t=t.filter(t=>{const o=i.findLastMonotonous(e=>e.original.startLineNumbere.modified.startLineNumber0&&(s=s.delta(a))}n.push(s)}return o.length>0&&n.push(o[o.length-1]),n}function shiftSequenceDiffs(e,t,i){if(!e.getBoundaryScore||!t.getBoundaryScore)return i;for(let o=0;o0?i[o-1]:void 0,r=i[o],s=o+1=o.start&&e.seq2Range.start-r>=n.start&&i.isStronglyEqual(e.seq2Range.start-r,e.seq2Range.endExclusive-r)&&r<100;)r++;r--;let s=0;for(;e.seq1Range.start+sl&&(l=s,a=c)}return e.delta(a)}function removeShortMatches(e,t,i){const o=[];for(const n of i){const e=o[o.length-1];e?n.seq1Range.start-e.seq1Range.endExclusive<=2||n.seq2Range.start-e.seq2Range.endExclusive<=2?o[o.length-1]=new SequenceDiff(e.seq1Range.join(n.seq1Range),e.seq2Range.join(n.seq2Range)):o.push(n):o.push(n)}return o}function extendDiffsToEntireWordIfAppropriate(e,t,i){const o=SequenceDiff.invert(i,e.length),n=[];let r=new OffsetPair(0,0);function s(i,s){if(i.offset10;){const i=o[0];if(!(i.seq1Range.intersects(c.seq1Range)||i.seq2Range.intersects(c.seq2Range)))break;const n=e.findWordContaining(i.seq1Range.start),r=t.findWordContaining(i.seq2Range.start),s=new SequenceDiff(n,r),a=s.intersect(i);if(u+=a.seq1Range.length,h+=a.seq2Range.length,c=c.join(s),!(c.seq1Range.endExclusive>=i.seq1Range.endExclusive))break;o.shift()}u+h<2*(c.seq1Range.length+c.seq2Range.length)/3&&n.push(c),r=c.getEndExclusives()}for(;o.length>0;){const e=o.shift();e.seq1Range.isEmpty||(s(e.getStarts(),e),s(e.getEndExclusives().delta(-1),e))}return mergeSequenceDiffs(i,n)}function mergeSequenceDiffs(e,t){const i=[];for(;e.length>0||t.length>0;){const o=e[0],n=t[0];let r;r=o&&(!n||o.seq1Range.start0&&i[i.length-1].seq1Range.endExclusive>=r.seq1Range.start?i[i.length-1]=i[i.length-1].join(r):i.push(r)}return i}function removeVeryShortMatchingLinesBetweenDiffs(e,t,i){let o=i;if(0===o.length)return o;let n,r=0;do{n=!1;const s=[o[0]];for(let a=1;a5||i.seq1Range.length+i.seq2Range.length>5)}d(c,l)?(n=!0,s[s.length-1]=s[s.length-1].join(l)):s.push(l)}o=s}while(r++<10&&n);return o}function removeVeryShortMatchingTextBetweenLongDiffs(e,t,i){let o=i;if(0===o.length)return o;let n,r=0;do{n=!1;const a=[o[0]];for(let l=1;l5||n.length>500)return!1;const r=e.getText(n).trim();if(r.length>20||r.split(/\r\n|\r|\n/).length>1)return!1;const s=e.countLinesIn(i.seq1Range),a=i.seq1Range.length,l=t.countLinesIn(i.seq2Range),u=i.seq2Range.length,h=e.countLinesIn(o.seq1Range),p=o.seq1Range.length,g=t.countLinesIn(o.seq2Range),m=o.seq2Range.length;function f(e){return Math.min(e,130)}return Math.pow(Math.pow(f(40*s+a),1.5)+Math.pow(f(40*l+u),1.5),1.5)+Math.pow(Math.pow(f(40*h+p),1.5)+Math.pow(f(40*g+m),1.5),1.5)>74184.96480721243}u(d,c)?(n=!0,a[a.length-1]=a[a.length-1].join(c)):a.push(c)}o=a}while(r++<10&&n);const s=[];return forEachWithNeighbors(o,(t,i,o)=>{let n=i;function r(e){return e.length>0&&e.trim().length<=3&&i.seq1Range.length+i.seq2Range.length>100}const a=e.extendToFullLines(i.seq1Range),l=e.getText(new OffsetRange(a.start,i.seq1Range.start));r(l)&&(n=n.deltaStart(-l.length));const c=e.getText(new OffsetRange(i.seq1Range.endExclusive,a.endExclusive));r(c)&&(n=n.deltaEnd(c.length));const d=SequenceDiff.fromOffsetPairs(t?t.getEndExclusives():OffsetPair.zero,o?o.getStarts():OffsetPair.max),u=n.intersect(d);s.length>0&&u.getStarts().equals(s[s.length-1].getEndExclusives())?s[s.length-1]=s[s.length-1].join(u):s.push(u)}),s}class LineSequence{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:getIndentation(this.lines[e-1]))+(e===this.lines.length?0:getIndentation(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function getIndentation(e){let t=0;for(;te===t))return new LinesDiff([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new LinesDiff([new DetailedLineRangeMapping(new LineRange$1(1,e.length+1),new LineRange$1(1,t.length+1),[new RangeMapping(new Range$2(1,1,e.length,e[e.length-1].length+1),new Range$2(1,1,t.length,t[t.length-1].length+1))])],[],!1);const o=0===i.maxComputationTimeMs?InfiniteTimeout.instance:new DateTimeout(i.maxComputationTimeMs),n=!i.ignoreTrimWhitespace,r=new Map;function s(e){let t=r.get(e);return void 0===t&&(t=r.size,r.set(e,t)),t}const a=e.map(e=>s(e.trim())),l=t.map(e=>s(e.trim())),c=new LineSequence(a,e),d=new LineSequence(l,t),u=(()=>c.length+d.length<1700?this.dynamicProgrammingDiffing.compute(c,d,o,(i,o)=>e[i]===t[o]?0===t[o].length?.1:1+Math.log(1+t[o].length):.99):this.myersDiffingAlgorithm.compute(c,d,o))();let h=u.diffs,p=u.hitTimeout;h=optimizeSequenceDiffs(c,d,h),h=removeVeryShortMatchingLinesBetweenDiffs(c,d,h);const g=[],m=i=>{if(n)for(let r=0;ry.seq1Range.start-f===y.seq2Range.start-v);m(y.seq1Range.start-f),f=y.seq1Range.endExclusive,v=y.seq2Range.endExclusive;const i=this.refineDiff(e,t,y,o,n);i.hitTimeout&&(p=!0);for(const e of i.mappings)g.push(e)}m(e.length-f);const b=lineRangeMappingFromRangeMappings(g,e,t);let _=[];return i.computeMoves&&(_=this.computeMoves(b,e,t,a,l,o,n)),assertFn(()=>{function i(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const i=t[e.lineNumber-1];return!(e.column<1||e.column>i.length+1)}function o(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1)&&!(e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const n of b){if(!n.innerChanges)return!1;for(const o of n.innerChanges){if(!(i(o.modifiedRange.getStartPosition(),t)&&i(o.modifiedRange.getEndPosition(),t)&&i(o.originalRange.getStartPosition(),e)&&i(o.originalRange.getEndPosition(),e)))return!1}if(!o(n.modified,t)||!o(n.original,e))return!1}return!0}),new LinesDiff(b,_,p)}computeMoves(e,t,i,o,n,r,s){const a=computeMovedLines(e,t,i,o,n,r).map(e=>{const o=lineRangeMappingFromRangeMappings(this.refineDiff(t,i,new SequenceDiff(e.original.toOffsetRange(),e.modified.toOffsetRange()),r,s).mappings,t,i,!0);return new MovedText(e,o)});return a}refineDiff(e,t,i,o,n){const r=toLineRangeMapping(i).toRangeMapping2(e,t),s=new LinesSliceCharSequence(e,r.originalRange,n),a=new LinesSliceCharSequence(t,r.modifiedRange,n),l=s.length+a.length<500?this.dynamicProgrammingDiffing.compute(s,a,o):this.myersDiffingAlgorithm.compute(s,a,o);let c=l.diffs;c=optimizeSequenceDiffs(s,a,c),c=extendDiffsToEntireWordIfAppropriate(s,a,c),c=removeShortMatches(s,a,c),c=removeVeryShortMatchingTextBetweenLongDiffs(s,a,c);const d=c.map(e=>new RangeMapping(s.translateRange(e.seq1Range),a.translateRange(e.seq2Range)));return{mappings:d,hitTimeout:l.hitTimeout}}}function lineRangeMappingFromRangeMappings(e,t,i,o=!1){const n=[];for(const r of groupAdjacentBy(e.map(e=>getLineRangeMapping(e,t,i)),(e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified))){const e=r[0],t=r[r.length-1];n.push(new DetailedLineRangeMapping(e.original.join(t.original),e.modified.join(t.modified),r.map(e=>e.innerChanges[0])))}return assertFn(()=>{if(!o&&n.length>0){if(n[0].modified.startLineNumber!==n[0].original.startLineNumber)return!1;if(i.length-n[n.length-1].modified.endLineNumberExclusive!==t.length-n[n.length-1].original.endLineNumberExclusive)return!1}return checkAdjacentItems(n,(e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive===t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive=i[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+n&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+n&&(o=1);const r=new LineRange$1(e.originalRange.startLineNumber+o,e.originalRange.endLineNumber+1+n),s=new LineRange$1(e.modifiedRange.startLineNumber+o,e.modifiedRange.endLineNumber+1+n);return new DetailedLineRangeMapping(r,s,[e])}function toLineRangeMapping(e){return new LineRangeMapping(new LineRange$1(e.seq1Range.start+1,e.seq1Range.endExclusive+1),new LineRange$1(e.seq2Range.start+1,e.seq2Range.endExclusive+1))}const linesDiffComputers={getLegacy:()=>new LegacyLinesDiffComputer,getDefault:()=>new DefaultLinesDiffComputer};function roundFloat(e,t){const i=Math.pow(10,t);return Math.round(e*i)/i}let RGBA$1=class{constructor(e,t,i,o=1){this._rgbaBrand=void 0,this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,i)),this.a=roundFloat(Math.max(Math.min(1,o),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}},HSLA$1=class e{constructor(e,t,i,o){this._hslaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=roundFloat(Math.max(Math.min(1,t),0),3),this.l=roundFloat(Math.max(Math.min(1,i),0),3),this.a=roundFloat(Math.max(Math.min(1,o),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(t){const i=t.r/255,o=t.g/255,n=t.b/255,r=t.a,s=Math.max(i,o,n),a=Math.min(i,o,n);let l=0,c=0;const d=(a+s)/2,u=s-a;if(u>0){switch(c=Math.min(d<=.5?u/(2*d):u/(2-2*d),1),s){case i:l=(o-n)/u+(o1&&(i-=1),i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(t){const i=t.h/360,{s:o,l:n,a:r}=t;let s,a,l;if(0===o)s=a=l=n;else{const t=n<.5?n*(1+o):n+o-n*o,r=2*n-t;s=e._hue2rgb(r,t,i+1/3),a=e._hue2rgb(r,t,i),l=e._hue2rgb(r,t,i-1/3)}return new RGBA$1(Math.round(255*s),Math.round(255*a),Math.round(255*l),r)}};class HSVA{constructor(e,t,i,o){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=roundFloat(Math.max(Math.min(1,t),0),3),this.v=roundFloat(Math.max(Math.min(1,i),0),3),this.a=roundFloat(Math.max(Math.min(1,o),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,o=e.b/255,n=Math.max(t,i,o),r=n-Math.min(t,i,o),s=0===n?0:r/n;let a;return a=0===r?0:n===t?((i-o)/r%6+6)%6:n===i?(o-t)/r+2:(t-i)/r+4,new HSVA(Math.round(60*a),s,n,e.a)}static toRGBA(e){const{h:t,s:i,v:o,a:n}=e,r=o*i,s=r*(1-Math.abs(t/60%2-1)),a=o-r;let[l,c,d]=[0,0,0];return t<60?(l=r,c=s):t<120?(l=s,c=r):t<180?(c=r,d=s):t<240?(c=s,d=r):t<300?(l=s,d=r):t<=360&&(l=r,d=s),l=Math.round(255*(l+a)),c=Math.round(255*(c+a)),d=Math.round(255*(d+a)),new RGBA$1(l,c,d,n)}}let Color$1=class e{static fromHex(t){return e.Format.CSS.parseHex(t)||e.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:HSLA$1.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:HSVA.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof RGBA$1)this.rgba=e;else if(e instanceof HSLA$1)this._hsla=e,this.rgba=HSLA$1.toRGBA(e);else{if(!(e instanceof HSVA))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=HSVA.toRGBA(e)}}equals(e){return!!e&&RGBA$1.equals(this.rgba,e.rgba)&&HSLA$1.equals(this.hsla,e.hsla)&&HSVA.equals(this.hsva,e.hsva)}getRelativeLuminance(){return roundFloat(.2126*e._relativeLuminanceForComponent(this.rgba.r)+.7152*e._relativeLuminanceForComponent(this.rgba.g)+.0722*e._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()0)for(const o of i){const i=o.filter(e=>void 0!==e),n=i[1],r=i[2];if(!r)continue;let s;if("rgb"===n){const t=/^\(\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;s=_findRGBColorInformation(_findRange(e,o),_findMatches(r,t),!1)}else if("rgba"===n){const t=/^\(\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;s=_findRGBColorInformation(_findRange(e,o),_findMatches(r,t),!0)}else if("hsl"===n){const t=/^\(\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;s=_findHSLColorInformation(_findRange(e,o),_findMatches(r,t),!1)}else if("hsla"===n){const t=/^\(\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;s=_findHSLColorInformation(_findRange(e,o),_findMatches(r,t),!0)}else"#"===n&&(s=_findHexColorInformation(_findRange(e,o),n+r));s&&t.push(s)}return t}function computeDefaultDocumentColors(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?computeColors(e):[]}!function(e){var t;(function(t){function i(e){const t=e.toString(16);return 2!==t.length?"0"+t:t}function o(e){switch(e){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}return 0}t.formatRGB=function(t){return 1===t.rgba.a?`rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})`:e.Format.CSS.formatRGBA(t)},t.formatRGBA=function(e){return`rgba(${e.rgba.r}, ${e.rgba.g}, ${e.rgba.b}, ${+e.rgba.a.toFixed(2)})`},t.formatHSL=function(t){return 1===t.hsla.a?`hsl(${t.hsla.h}, ${(100*t.hsla.s).toFixed(2)}%, ${(100*t.hsla.l).toFixed(2)}%)`:e.Format.CSS.formatHSLA(t)},t.formatHSLA=function(e){return`hsla(${e.hsla.h}, ${(100*e.hsla.s).toFixed(2)}%, ${(100*e.hsla.l).toFixed(2)}%, ${e.hsla.a.toFixed(2)})`},t.formatHex=function(e){return`#${i(e.rgba.r)}${i(e.rgba.g)}${i(e.rgba.b)}`},t.formatHexA=function(t,o=!1){return o&&1===t.rgba.a?e.Format.CSS.formatHex(t):`#${i(t.rgba.r)}${i(t.rgba.g)}${i(t.rgba.b)}${i(Math.round(255*t.rgba.a))}`},t.format=function(t){return t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t)},t.parseHex=function(t){const i=t.length;if(0===i)return null;if(35!==t.charCodeAt(0))return null;if(7===i){const i=16*o(t.charCodeAt(1))+o(t.charCodeAt(2)),n=16*o(t.charCodeAt(3))+o(t.charCodeAt(4)),r=16*o(t.charCodeAt(5))+o(t.charCodeAt(6));return new e(new RGBA$1(i,n,r,1))}if(9===i){const i=16*o(t.charCodeAt(1))+o(t.charCodeAt(2)),n=16*o(t.charCodeAt(3))+o(t.charCodeAt(4)),r=16*o(t.charCodeAt(5))+o(t.charCodeAt(6)),s=16*o(t.charCodeAt(7))+o(t.charCodeAt(8));return new e(new RGBA$1(i,n,r,s/255))}if(4===i){const i=o(t.charCodeAt(1)),n=o(t.charCodeAt(2)),r=o(t.charCodeAt(3));return new e(new RGBA$1(16*i+i,16*n+n,16*r+r))}if(5===i){const i=o(t.charCodeAt(1)),n=o(t.charCodeAt(2)),r=o(t.charCodeAt(3)),s=o(t.charCodeAt(4));return new e(new RGBA$1(16*i+i,16*n+n,16*r+r,(16*s+s)/255))}return null}})((t=e.Format||(e.Format={})).CSS||(t.CSS={}))}(Color$1||(Color$1={}));const markRegex=new RegExp("\\bMARK:\\s*(.*)$","d"),trimDashesRegex=/^-+|-+$/g;function findSectionHeaders(e,t){let i=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){const o=collectRegionHeaders(e,t);i=i.concat(o)}if(t.findMarkSectionHeaders){const t=collectMarkHeaders(e);i=i.concat(t)}return i}function collectRegionHeaders(e,t){const i=[],o=e.getLineCount();for(let n=1;n<=o;n++){const o=e.getLineContent(n),r=o.match(t.foldingRules.markers.start);if(r){const e={startLineNumber:n,startColumn:r[0].length+1,endLineNumber:n,endColumn:o.length+1};if(e.endColumn>e.startColumn){const t={range:e,...getHeaderText(o.substring(r[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&i.push(t)}}}return i}function collectMarkHeaders(e){const t=[],i=e.getLineCount();for(let o=1;o<=i;o++){addMarkHeaderIfFound(e.getLineContent(o),o,t)}return t}function addMarkHeaderIfFound(e,t,i){markRegex.lastIndex=0;const o=markRegex.exec(e);if(o){const e={startLineNumber:t,startColumn:o.indices[1][0]+1,endLineNumber:t,endColumn:o.indices[1][1]+1};if(e.endColumn>e.startColumn){const t={range:e,...getHeaderText(o[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&i.push(t)}}}function getHeaderText(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(trimDashesRegex,""),hasSeparatorLine:t}}class PrefixSumComputer{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=toUint32(e);const i=this.values,o=this.prefixSum,n=t.length;return 0!==n&&(this.values=new Uint32Array(i.length+n),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+n),this.values.set(t,e),e-1=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=toUint32(e),t=toUint32(t),this.values[e]!==t&&(this.values[e]=t,e-1=i.length)return!1;const n=i.length-e;return t>=n&&(t=n),0!==t&&(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=toUint32(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,o=0,n=0,r=0;for(;t<=i;)if(o=t+(i-t)/2|0,n=this.prefixSum[o],r=n-this.values[o],e=n))break;t=o+1}return new PrefixSumIndexOfResult(o,e-r)}}class ConstantTimePrefixSumComputer{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),0===e?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new PrefixSumIndexOfResult(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=arrayInsert(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=i+t;for(let o=0;othis._checkStopModelSync(),Math.round(STOP_SYNC_MODEL_DELTA_TIME_MS/2)),this._register(e)}}dispose(){for(const e in this._syncedModels)dispose(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const i of e){const e=i.toString();this._syncedModels[e]||this._beginModelSync(i,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const i in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[i]>STOP_SYNC_MODEL_DELTA_TIME_MS&&t.push(i)}for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i)return;if(!t&&i.isTooLargeForSyncing())return;const o=e.toString();this._proxy.$acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const n=new DisposableStore;n.add(i.onDidChangeContent(e=>{this._proxy.$acceptModelChanged(o.toString(),e)})),n.add(i.onWillDispose(()=>{this._stopModelSync(o)})),n.add(toDisposable(()=>{this._proxy.$acceptRemovedModel(o)})),this._syncedModels[o]=n}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],dispose(t)}}class WorkerTextModelSyncServer{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new MirrorModel(URI.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class MirrorModel extends MirrorTextModel{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;ithis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,o=!0;else{const e=this._lines[t-1].length+1;i<1?(i=1,o=!0):i>e&&(i=e,o=!0)}return o?{lineNumber:t,column:i}:e}}class BaseEditorSimpleWorker{constructor(){this._workerTextModelSyncServer=new WorkerTextModelSyncServer}dispose(){}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}_getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,i){const o=this._getModel(e);return o?UnicodeTextModelHighlighter.computeUnicodeHighlights(o,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){const i=this._getModel(e);return i?findSectionHeaders(i,t):[]}async $computeDiff(e,t,i,o){const n=this._getModel(e),r=this._getModel(t);if(!n||!r)return null;return EditorSimpleWorker.computeDiff(n,r,i,o)}static computeDiff(e,t,i,o){const n="advanced"===o?linesDiffComputers.getDefault():linesDiffComputers.getLegacy(),r=e.getLinesContent(),s=t.getLinesContent(),a=n.computeDiff(r,s,i);function l(e){return e.map(e=>[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map(e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn])])}return{identical:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:l(a.changes),moves:a.moves.map(e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)])}}static _modelsAreIdentical(e,t){const i=e.getLineCount();if(i!==t.getLineCount())return!1;for(let o=1;o<=i;o++){if(e.getLineContent(o)!==t.getLineContent(o))return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(e,t,i){const o=this._getModel(e);if(!o)return t;const n=[];let r;t=t.slice(0).sort((e,t)=>{if(e.range&&t.range)return Range$2.compareRangesUsingStarts(e.range,t.range);return(e.range?0:1)-(t.range?0:1)});let s=0;for(let a=1;aEditorSimpleWorker._diffLimit){n.push({range:a,text:l});continue}const t=stringDiff(e,l,i),s=o.offsetAt(Range$2.lift(a).getStartPosition());for(const i of t){const e=o.positionAt(s+i.originalStart),t=o.positionAt(s+i.originalStart+i.originalLength),r={text:l.substr(i.modifiedStart,i.modifiedLength),range:{startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:t.lineNumber,endColumn:t.column}};o.getValueInRange(r.range)!==r.text&&n.push(r)}}return"number"==typeof r&&n.push({eol:r,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),n}async $computeLinks(e){const t=this._getModel(e);return t?computeLinks(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?computeDefaultDocumentColors(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(e,t,i,o){const n=new StopWatch,r=new RegExp(i,o),s=new Set;e:for(const a of e){const e=this._getModel(a);if(e)for(const i of e.words(r))if(i!==t&&isNaN(Number(i))&&(s.add(i),s.size>EditorSimpleWorker._suggestionsLimit))break e}return{words:Array.from(s),duration:n.elapsed()}}async $computeWordRanges(e,t,i,o){const n=this._getModel(e);if(!n)return Object.create(null);const r=new RegExp(i,o),s=Object.create(null);for(let a=t.startLineNumber;athis._host.$fhr(e,t)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,t),Promise.resolve(getAllMethodNames(this._foreignModule))):new Promise((i,n)=>{const r=e=>{this._foreignModule=e.create(o,t),i(getAllMethodNames(this._foreignModule))};{const t=FileAccess.asBrowserUri(`${e}.js`).toString(!0);__vitePreload(()=>module.import(`${t}`),void 0).then(r).catch(n)}})}$fmr(t,i){if(!this._foreignModule||"function"!=typeof this._foreignModule[t])return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,i))}catch(e){return Promise.reject(e)}}}"function"==typeof importScripts&&(globalThis.monaco=createMonacoBaseAPI());const ITextResourceConfigurationService=createDecorator("textResourceConfigurationService"),ITextResourcePropertiesService=createDecorator("textResourcePropertiesService"),ILanguageFeaturesService=createDecorator("ILanguageFeaturesService");var __decorate$2D=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2t=function(e,t){return function(i,o){t(i,o,e)}};const STOP_WORKER_DELTA_TIME_MS=3e5;function canSyncModel(e,t){const i=e.getModel(t);return!!i&&!i.isTooLargeForSyncing()}let EditorWorkerService=class extends Disposable{constructor(e,t,i,o,n,r){super(),this._languageConfigurationService=n,this._modelService=t,this._workerManager=this._register(new WorkerManager(e,this._modelService)),this._logService=o,this._register(r.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!canSyncModel(this._modelService,e.uri))return Promise.resolve({links:[]});const i=await this._workerWithResources([e.uri]),o=await i.$computeLinks(e.uri.toString());return o&&{links:o}}})),this._register(r.completionProvider.register("*",new WordBasedCompletionItemProvider(this._workerManager,i,this._modelService,this._languageConfigurationService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return canSyncModel(this._modelService,e)}async computedUnicodeHighlights(e,t,i){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,i)}async computeDiff(e,t,i,o){const n=await this._workerWithResources([e,t],!0),r=await n.$computeDiff(e.toString(),t.toString(),i,o);if(!r)return null;const s={identical:r.identical,quitEarly:r.quitEarly,changes:a(r.changes),moves:r.moves.map(e=>new MovedText(new LineRangeMapping(new LineRange$1(e[0],e[1]),new LineRange$1(e[2],e[3])),a(e[4])))};return s;function a(e){return e.map(e=>new DetailedLineRangeMapping(new LineRange$1(e[0],e[1]),new LineRange$1(e[2],e[3]),e[4]?.map(e=>new RangeMapping(new Range$2(e[0],e[1],e[2],e[3]),new Range$2(e[4],e[5],e[6],e[7])))))}}async computeMoreMinimalEdits(e,t,i=!1){if(isNonEmptyArray(t)){if(!canSyncModel(this._modelService,e))return Promise.resolve(t);const o=StopWatch.create(),n=this._workerWithResources([e]).then(o=>o.$computeMoreMinimalEdits(e.toString(),t,i));return n.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),o.elapsed())),Promise.race([n,timeout(1e3).then(()=>t)])}return Promise.resolve(void 0)}canNavigateValueSet(e){return canSyncModel(this._modelService,e)}async navigateValueSet(e,t,i){const o=this._modelService.getModel(e);if(!o)return null;const n=this._languageConfigurationService.getLanguageConfiguration(o.getLanguageId()).getWordDefinition(),r=n.source,s=n.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,i,r,s)}canComputeWordRanges(e){return canSyncModel(this._modelService,e)}async computeWordRanges(e,t){const i=this._modelService.getModel(e);if(!i)return Promise.resolve(null);const o=this._languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition(),n=o.source,r=o.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,n,r)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){const i=await this._workerManager.withWorker();return await i.workerWithSyncedResources(e,t)}};EditorWorkerService=__decorate$2D([__param$2t(1,IModelService),__param$2t(2,ITextResourceConfigurationService),__param$2t(3,ILogService),__param$2t(4,ILanguageConfigurationService),__param$2t(5,ILanguageFeaturesService)],EditorWorkerService);class WordBasedCompletionItemProvider{constructor(e,t,i,o){this.languageConfigurationService=o,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if("off"===i.wordBasedSuggestions)return;const o=[];if("currentDocument"===i.wordBasedSuggestions)canSyncModel(this._modelService,e.uri)&&o.push(e.uri);else for(const d of this._modelService.getModels())canSyncModel(this._modelService,d.uri)&&(d===e?o.unshift(d.uri):"allDocuments"!==i.wordBasedSuggestions&&d.getLanguageId()!==e.getLanguageId()||o.push(d.uri));if(0===o.length)return;const n=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),r=e.getWordAtPosition(t),s=r?new Range$2(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn):Range$2.fromPositions(t),a=s.setEndPosition(t.lineNumber,t.column),l=await this._workerManager.withWorker(),c=await l.textualSuggest(o,r?.word,n);return c?{duration:c.duration,suggestions:c.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:a,replace:s}}))}:void 0}}let WorkerManager=class extends Disposable{constructor(e,t){super(),this._workerDescriptor=e,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=(new Date).getTime();this._register(new WindowIntervalTimer).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(STOP_WORKER_DELTA_TIME_MS/2),mainWindow),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;(new Date).getTime()-this._lastWorkerUsedTime>STOP_WORKER_DELTA_TIME_MS&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new EditorWorkerClient(this._workerDescriptor,!1,this._modelService)),Promise.resolve(this._editorWorkerClient)}};WorkerManager=__decorate$2D([__param$2t(1,IModelService)],WorkerManager);class SynchronousWorkerClient{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw new Error("Not supported")}}let EditorWorkerClient=class extends Disposable{constructor(e,t,i){super(),this._workerDescriptor=e,this._disposed=!1,this._modelService=i,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(createWebWorker$2(this._workerDescriptor)),EditorWorkerHost.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){logOnceWebWorkerWarning(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{const e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return logOnceWebWorkerWarning(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new SynchronousWorkerClient(new EditorSimpleWorker(this._createEditorWorkerHost(),null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new WorkerTextModelSyncClient(e,this._modelService,this._keepIdleModels))),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(canceled());const i=await this._getProxy();return this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i}async textualSuggest(e,t,i){const o=await this.workerWithSyncedResources(e),n=i.source,r=i.flags;return o.$textualSuggest(e.map(e=>e.toString()),t,n,r)}dispose(){super.dispose(),this._disposed=!0}};var ColorScheme;function isHighContrast(e){return e===ColorScheme.HIGH_CONTRAST_DARK||e===ColorScheme.HIGH_CONTRAST_LIGHT}function isDark(e){return e===ColorScheme.DARK||e===ColorScheme.HIGH_CONTRAST_DARK}EditorWorkerClient=__decorate$2D([__param$2t(2,IModelService)],EditorWorkerClient),function(e){e.DARK="dark",e.LIGHT="light",e.HIGH_CONTRAST_DARK="hcDark",e.HIGH_CONTRAST_LIGHT="hcLight"}(ColorScheme||(ColorScheme={}));const IThemeService=createDecorator("themeService");function themeColorFromId(e){return{id:e}}function getThemeTypeSelector(e){switch(e){case ColorScheme.DARK:return"vs-dark";case ColorScheme.HIGH_CONTRAST_DARK:return"hc-black";case ColorScheme.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const Extensions$4={ThemingContribution:"base.contributions.theming"};class ThemingRegistry{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new Emitter$1}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),toDisposable(()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)})}getThemingParticipants(){return this.themingParticipants}}const themingRegistry$1=new ThemingRegistry;function registerThemingParticipant(e){return themingRegistry$1.onColorThemeChange(e)}Registry.add(Extensions$4.ThemingContribution,themingRegistry$1);class Themable extends Disposable{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(e=>this.onThemeChange(e)))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}var __decorate$2C=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2s=function(e,t){return function(i,o){t(i,o,e)}};let AbstractCodeEditorService=class extends Disposable{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new Emitter$1),this._onCodeEditorAdd=this._register(new Emitter$1),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new Emitter$1),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new Emitter$1),this._onDiffEditorAdd=this._register(new Emitter$1),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new Emitter$1),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new LinkedList,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const i of t){if(i.hasTextFocus())return i;i.hasWidgetFocus()&&(e=i)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(t=>t.removeDecorationsByType(e))))}setModelProperty(e,t,i){const o=e.toString();let n;this._modelProperties.has(o)?n=this._modelProperties.get(o):(n=new Map,this._modelProperties.set(o,n)),n.set(t,i)}getModelProperty(e,t){const i=e.toString();if(this._modelProperties.has(i)){return this._modelProperties.get(i).get(t)}}async openCodeEditor(e,t,i){for(const o of this._codeEditorOpenHandlers){const n=await o(e,t,i);if(null!==n)return n}return null}registerCodeEditorOpenHandler(e){return toDisposable(this._codeEditorOpenHandlers.unshift(e))}};AbstractCodeEditorService=__decorate$2C([__param$2s(0,IThemeService)],AbstractCodeEditorService);var __decorate$2B=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2r=function(e,t){return function(i,o){t(i,o,e)}};let StandaloneCodeEditorService=class extends AbstractCodeEditorService{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(e,t,i)=>t?this.doOpenEditor(t,e):null))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const i=t.resource.scheme;if(i===Schemas.http||i===Schemas.https)return windowOpenNoOpener(t.resource.toString()),e}return null}const i=t.options?t.options.selection:null;if(i)if("number"==typeof i.endLineNumber&&"number"==typeof i.endColumn)e.setSelection(i),e.revealRangeInCenter(i,1);else{const t={lineNumber:i.startLineNumber,column:i.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}return e}findModel(e,t){const i=e.getModel();return i&&i.uri.toString()!==t.toString()?null:i}};StandaloneCodeEditorService=__decorate$2B([__param$2r(0,IContextKeyService),__param$2r(1,IThemeService)],StandaloneCodeEditorService),registerSingleton(ICodeEditorService,StandaloneCodeEditorService,0);const ILayoutService=createDecorator("layoutService");var __decorate$2A=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2q=function(e,t){return function(i,o){t(i,o,e)}};let StandaloneLayoutService=class{get mainContainer(){return firstOrDefault(this._codeEditorService.listCodeEditors())?.getContainerDomNode()??mainWindow.document.body}get activeContainer(){const e=this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor();return e?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return getClientArea(this.mainContainer)}get activeContainerDimension(){return getClientArea(this.activeContainer)}get containers(){return coalesce(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=Event$1.None,this.onDidLayoutActiveContainer=Event$1.None,this.onDidLayoutContainer=Event$1.None,this.onDidChangeActiveContainer=Event$1.None,this.onDidAddContainer=Event$1.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};StandaloneLayoutService=__decorate$2A([__param$2q(0,ICodeEditorService)],StandaloneLayoutService);let EditorScopedLayoutService=class extends StandaloneLayoutService{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};var Severity$1;EditorScopedLayoutService=__decorate$2A([__param$2q(1,ICodeEditorService)],EditorScopedLayoutService),registerSingleton(ILayoutService,StandaloneLayoutService,1),function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(Severity$1||(Severity$1={})),function(e){const t="error",i="warning",o="info";e.fromValue=function(n){return n?equalsIgnoreCase(t,n)?e.Error:equalsIgnoreCase(i,n)||equalsIgnoreCase("warn",n)?e.Warning:equalsIgnoreCase(o,n)?e.Info:e.Ignore:e.Ignore},e.toString=function(n){switch(n){case e.Error:return t;case e.Warning:return i;case e.Info:return o;default:return"ignore"}}}(Severity$1||(Severity$1={}));const Severity$2=Severity$1,IDialogService=createDecorator("dialogService");var Severity=Severity$2;const INotificationService=createDecorator("notificationService");class NoOpNotification{}const IUndoRedoService=createDecorator("undoRedoService");class ResourceEditStackSnapshot{constructor(e,t){this.resource=e,this.elements=t}}class UndoRedoGroup{static{this._ID=0}constructor(){this.id=UndoRedoGroup._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new UndoRedoGroup}}class UndoRedoSource{static{this._ID=0}constructor(){this.id=UndoRedoSource._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new UndoRedoSource}}var __decorate$2z=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2p=function(e,t){return function(i,o){t(i,o,e)}};function getResourceLabel(e){return e.scheme===Schemas.file?e.fsPath:e.path}let stackElementCounter=0;class ResourceStackElement{constructor(e,t,i,o,n,r,s){this.id=++stackElementCounter,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=i,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=o,this.groupOrder=n,this.sourceId=r,this.sourceOrder=s,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class ResourceReasonPair{constructor(e,t){this.resourceLabel=e,this.reason=t}}class RemovedResources{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,o]of this.elements){(0===o.reason?e:t).push(o.resourceLabel)}const i=[];return e.length>0&&i.push(localize({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&i.push(localize({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",t.join(", "))),i.join("\n")}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class WorkspaceStackElement{constructor(e,t,i,o,n,r,s){this.id=++stackElementCounter,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=o,this.groupOrder=n,this.sourceId=r,this.sourceOrder=s,this.removedResources=null,this.invalidatedResources=null}canSplit(){return"function"==typeof this.actual.split}removeResource(e,t,i){this.removedResources||(this.removedResources=new RemovedResources),this.removedResources.has(t)||this.removedResources.set(t,new ResourceReasonPair(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),0===this.invalidatedResources.size&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new RemovedResources),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new ResourceReasonPair(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class ResourceEditStack{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){1===e.type?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,o=this._past.length;i=0;i--)t.push(this._future[i].id);return new ResourceEditStackSnapshot(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,o=0,n=-1;for(let s=0,a=this._past.length;s=t||r.id!==e.elements[o])&&(i=!1,n=0),i||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}let r=-1;for(let s=this._future.length-1;s>=0;s--,o++){const n=this._future[s];i&&(o>=t||n.id!==e.elements[o])&&(i=!1,r=s),i||1!==n.type||n.removeResource(this.resourceLabel,this.strResource,0)}-1!==n&&(this._past=this._past.slice(0,n)),-1!==r&&(this._future=this._future.slice(r+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return 0===this._past.length?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return 0===this._future.length?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class EditStackSnapshot{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;tt.sourceOrder)&&(t=r,i=o))}return[t,i]}canUndo(e){if(e instanceof UndoRedoSource){const[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}const t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){return this._editStacks.get(t).hasPastElements()}return!1}_onError(e,t){onUnexpectedError(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,o,n){const r=this._acquireLocks(i);let s;try{s=t()}catch(a){return r(),o.dispose(),this._onError(a,e)}return s?s.then(()=>(r(),o.dispose(),n()),t=>(r(),o.dispose(),this._onError(t,e))):(r(),o.dispose(),n())}async _invokeWorkspacePrepare(e){if(void 0===e.actual.prepareUndoRedo)return Disposable.None;const t=e.actual.prepareUndoRedo();return void 0===t?Disposable.None:t}_invokeResourcePrepare(e,t){if(1!==e.actual.type||void 0===e.actual.prepareUndoRedo)return t(Disposable.None);const i=e.actual.prepareUndoRedo();return i?isDisposable(i)?t(i):i.then(e=>t(e)):t(Disposable.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||missingEditStack);return new EditStackSnapshot(t)}_tryToSplitAndUndo(e,t,i,o){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(o),new WorkspaceVerificationError(this._undo(e,0,!0));for(const n of t.strResources)this.removeElements(n);return this._notificationService.warn(o),new WorkspaceVerificationError}_checkWorkspaceUndo(e,t,i,o){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,localize({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(o&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,localize({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const n=[];for(const s of i.editStacks)s.getClosestPastElement()!==t&&n.push(s.resourceLabel);if(n.length>0)return this._tryToSplitAndUndo(e,t,null,localize({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",t.label,n.join(", ")));const r=[];for(const s of i.editStacks)s.locked&&r.push(s.resourceLabel);return r.length>0?this._tryToSplitAndUndo(e,t,null,localize({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,r.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,localize({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,i){const o=this._getAffectedEditStacks(t),n=this._checkWorkspaceUndo(e,t,o,!1);return n?n.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,o,i)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const i=t.getClosestPastElement();if(i){if(i===e){const i=t.getSecondClosestPastElement();if(i&&i.groupId===e.groupId)return!0}if(i.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,i,o){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let n;!function(e){e[e.All=0]="All",e[e.This=1]="This",e[e.Cancel=2]="Cancel"}(n||(n={}));const{result:r}=await this._dialogService.prompt({type:Severity$2.Info,message:localize("confirmWorkspace","Would you like to undo '{0}' across all files?",t.label),buttons:[{label:localize({key:"ok",comment:["{0} denotes a number that is > 1, && denotes a mnemonic"]},"&&Undo in {0} Files",i.editStacks.length),run:()=>n.All},{label:localize({key:"nok",comment:["&& denotes a mnemonic"]},"Undo this &&File"),run:()=>n.This}],cancelButton:{run:()=>n.Cancel}});if(r===n.Cancel)return;if(r===n.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const s=this._checkWorkspaceUndo(e,t,i,!1);if(s)return s.returnValue;o=!0}let n;try{n=await this._invokeWorkspacePrepare(t)}catch(s){return this._onError(s,t)}const r=this._checkWorkspaceUndo(e,t,i,!0);if(r)return n.dispose(),r.returnValue;for(const a of i.editStacks)a.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),i,n,()=>this._continueUndoInGroup(t.groupId,o))}_resourceUndo(e,t,i){if(t.isValid){if(e.locked){const e=localize({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);return void this._notificationService.warn(e)}return this._invokeResourcePrepare(t,o=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new EditStackSnapshot([e]),o,()=>this._continueUndoInGroup(t.groupId,i))))}e.flushAllElements()}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[o,n]of this._editStacks){const r=n.getClosestPastElement();r&&(r.groupId===e&&(!t||r.groupOrder>t.groupOrder)&&(t=r,i=o))}return[t,i]}_continueUndoInGroup(e,t){if(!e)return;const[,i]=this._findClosestUndoElementInGroup(e);return i?this._undo(i,0,t):void 0}undo(e){if(e instanceof UndoRedoSource){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return"string"==typeof e?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,i){if(!this._editStacks.has(e))return;const o=this._editStacks.get(e),n=o.getClosestPastElement();if(!n)return;if(n.groupId){const[e,o]=this._findClosestUndoElementInGroup(n.groupId);if(n!==e&&o)return this._undo(o,t,i)}if((n.sourceId!==t||n.confirmBeforeUndo)&&!i)return this._confirmAndContinueUndo(e,t,n);try{return 1===n.type?this._workspaceUndo(e,n,i):this._resourceUndo(o,n,i)}finally{}}async _confirmAndContinueUndo(e,t,i){if((await this._dialogService.confirm({message:localize("confirmDifferentSource","Would you like to undo '{0}'?",i.label),primaryButton:localize({key:"confirmDifferentSource.yes",comment:["&& denotes a mnemonic"]},"&&Yes"),cancelButton:localize("confirmDifferentSource.no","No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[o,n]of this._editStacks){const r=n.getClosestFutureElement();r&&(r.sourceId===e&&(!t||r.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,localize({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",t.label,n.join(", ")));const r=[];for(const s of i.editStacks)s.locked&&r.push(s.resourceLabel);return r.length>0?this._tryToSplitAndRedo(e,t,null,localize({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,r.join(", "))):i.isValid()?null:this._tryToSplitAndRedo(e,t,null,localize({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const i=this._getAffectedEditStacks(t),o=this._checkWorkspaceRedo(e,t,i,!1);return o?o.returnValue:this._executeWorkspaceRedo(e,t,i)}async _executeWorkspaceRedo(e,t,i){let o;try{o=await this._invokeWorkspacePrepare(t)}catch(r){return this._onError(r,t)}const n=this._checkWorkspaceRedo(e,t,i,!0);if(n)return o.dispose(),n.returnValue;for(const s of i.editStacks)s.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),i,o,()=>this._continueRedoInGroup(t.groupId))}_resourceRedo(e,t){if(t.isValid){if(e.locked){const e=localize({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);return void this._notificationService.warn(e)}return this._invokeResourcePrepare(t,i=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new EditStackSnapshot([e]),i,()=>this._continueRedoInGroup(t.groupId))))}e.flushAllElements()}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[o,n]of this._editStacks){const r=n.getClosestFutureElement();r&&(r.groupId===e&&(!t||r.groupOrder=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2o=function(e,t){return function(i,o){t(i,o,e)}};const ILanguageFeatureDebounceService=createDecorator("ILanguageFeatureDebounceService");var IdentityHash;!function(e){const t=new WeakMap;let i=0;e.of=function(e){let o=t.get(e);return void 0===o&&(o=++i,t.set(e,o)),o}}(IdentityHash||(IdentityHash={}));class NullDebounceInformation{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class FeatureDebounceInformation{constructor(e,t,i,o,n,r){this._logService=e,this._name=t,this._registry=i,this._default=o,this._min=n,this._max=r,this._cache=new LRUCache(50,.7)}_key(e){return e.id+this._registry.all(e).reduce((e,t)=>doHash(IdentityHash.of(t),e),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?clamp(i.value,this._min,this._max):this.default()}update(e,t){const i=this._key(e);let o=this._cache.get(i);o||(o=new SlidingWindowAverage(6),this._cache.set(i,o));const n=clamp(o.update(t),this._min,this._max);return matchesScheme(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${n}ms`),n}_overall(){const e=new MovingAverage;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){return clamp(0|this._overall()||this._default,this._min,this._max)}}let LanguageFeatureDebounceService=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,i){const o=i?.min??50,n=i?.max??o**2,r=i?.key??void 0,s=`${IdentityHash.of(e)},${o}${r?","+r:""}`;let a=this._data.get(s);return a||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),a=new NullDebounceInformation(1.5*o)):a=new FeatureDebounceInformation(this._logService,t,e,0|this._overallAverage()||1.5*o,o,n),this._data.set(s,a)),a}_overallAverage(){const e=new MovingAverage;for(const t of this._data.values())e.update(t.default());return e.value}};LanguageFeatureDebounceService=__decorate$2y([__param$2o(0,ILogService),__param$2o(1,IEnvironmentService)],LanguageFeatureDebounceService),registerSingleton(ILanguageFeatureDebounceService,LanguageFeatureDebounceService,1);class TokenMetadata{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const i=this.getFontStyle(e);return 1&i&&(t+=" mtki"),2&i&&(t+=" mtkb"),4&i&&(t+=" mtku"),8&i&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),o=this.getFontStyle(e);let n=`color: ${t[i]};`;1&o&&(n+="font-style: italic;"),2&o&&(n+="font-weight: bold;");let r="";return 4&o&&(r+=" underline"),8&o&&(r+=" line-through"),r&&(n+=`text-decoration:${r};`),n}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&i),bold:Boolean(2&i),underline:Boolean(4&i),strikethrough:Boolean(8&i)}}}function countEOL(e){let t=0,i=0,o=0,n=0;for(let r=0,s=e.length;r0?t.charCodeAt(0):0)}acceptEdit(e,t,i,o,n){this._acceptDeleteRange(e),this._acceptInsertText(new Position$1(e.startLineNumber,e.startColumn),t,i,o,n),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;if(i<0){const e=i-t;return void(this._startLineNumber-=e)}const o=this._tokens.getMaxDeltaLine();if(!(t>=o+1)){if(t<0&&i>=o+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const o=-t;this._startLineNumber-=o,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,i,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,i,e.endColumn-1)}}_acceptInsertText(e,t,i,o,n){if(0===t&&0===i)return;const r=e.lineNumber-this._startLineNumber;if(r<0)return void(this._startLineNumber+=t);r>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(r,e.column-1,t,i,o,n)}}class SparseMultilineTokensStorage{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let i=0;ie)){let n=o;for(;n>t&&this._getDeltaLine(n-1)===e;)n--;let r=o;for(;re||d===e&&h>=t)&&(de||s===e&&p>=t){if(sn?g-=n-i:g=i;else if(h===t&&p===i){if(!(h===o&&g>n)){c=!0;continue}g-=n-i}else if(hn)){c=!0;continue}h=t,p=i,g=p+(g-n)}else if(h>o){if(0===a&&!c){l=s;break}h-=a}else{if(!(h===o&&p>=n))throw new Error("Not possible!");e&&0===h&&(p+=e,g+=e),h-=a,p-=n-i,g-=n-i}const f=4*l;r[f]=h,r[f+1]=p,r[f+2]=g,r[f+3]=m,l++}this._tokenCount=l}acceptInsertText(e,t,i,o,n,r){const s=0===i&&1===o&&(r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122),a=this._tokens,l=this._tokenCount;for(let c=0;c=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2n=function(e,t){return function(i,o){t(i,o,e)}};let SemanticTokensProviderStyling=class{constructor(e,t,i,o){this._legend=e,this._themeService=t,this._languageService=i,this._logService=o,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new HashTable}getMetadata(e,t,i){const o=this._languageService.languageIdCodec.encodeLanguageId(i),n=this._hashTable.get(e,t,o);let r;if(n)r=n.metadata;else{let n=this._legend.tokenTypes[e];const s=[];if(n){let e=t;for(let t=0;e>0&&t>=1;const o=this._themeService.getColorTheme().getTokenStyleMetadata(n,s,i);if(void 0===o)r=2147483647;else{if(r=0,void 0!==o.italic){r|=1|(o.italic?1:0)<<11}if(void 0!==o.bold){r|=2|(o.bold?2:0)<<11}if(void 0!==o.underline){r|=4|(o.underline?4:0)<<11}if(void 0!==o.strikethrough){r|=8|(o.strikethrough?8:0)<<11}if(o.foreground){r|=16|o.foreground<<15}0===r&&(r=2147483647)}}else r=2147483647,n="not-in-legend";this._hashTable.add(e,t,o,r)}return r}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,i,o,n){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${i}: The provided start offset ${o} is outside the previous data (length ${n}).`))}};function toMultilineTokens2(e,t,i){const o=e.data,n=e.data.length/5|0,r=Math.max(Math.ceil(n/1024),400),s=[];let a=0,l=1,c=0;for(;ae&&0===o[5*t];)t--;if(t-1===e){let e=d;for(;e+1d)t.warnOverlappingSemanticTokens(s,d+1);else{const e=t.getMetadata(v,b,i);2147483647!==e&&(0===p&&(p=s),u[h]=s-p,u[h+1]=d,u[h+2]=f,u[h+3]=e,h+=4,g=s,m=f)}l=s,c=d,a++}h!==u.length&&(u=u.subarray(0,h));const f=SparseMultilineTokens.create(p,u);s.push(f)}return s}SemanticTokensProviderStyling=__decorate$2x([__param$2n(1,IThemeService),__param$2n(2,ILanguageService),__param$2n(3,ILogService)],SemanticTokensProviderStyling);class HashTableEntry{constructor(e,t,i,o){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=i,this.metadata=o,this.next=null}}class HashTable{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=HashTable._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=HashTable._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2m=function(e,t){return function(i,o){t(i,o,e)}};let SemanticTokensStylingService=class extends Disposable{constructor(e,t,i){super(),this._themeService=e,this._logService=t,this._languageService=i,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new SemanticTokensProviderStyling(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};function isPathSeparator(e){return 47===e||92===e}function toSlashes(e){return e.replace(/[\\/]/g,posix.sep)}function toPosixPath(e){return-1===e.indexOf("/")&&(e=toSlashes(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e="/"+e),e}function getRoot(e,t=posix.sep){if(!e)return"";const i=e.length,o=e.charCodeAt(0);if(isPathSeparator(o)){if(isPathSeparator(e.charCodeAt(1))&&!isPathSeparator(e.charCodeAt(2))){let o=3;const n=o;for(;oe.length)return!1;if(i){if(!startsWithIgnoreCase(e,t))return!1;if(t.length===e.length)return!0;let i=t.length;return t.charAt(t.length-1)===o&&i--,e.charAt(i)===o}return t.charAt(t.length-1)!==o&&(t+=o),0===e.indexOf(t)}function isWindowsDriveLetter(e){return e>=65&&e<=90||e>=97&&e<=122}function hasDriveLetter(e,t=isWindows){return!!t&&(isWindowsDriveLetter(e.charCodeAt(0))&&58===e.charCodeAt(1))}SemanticTokensStylingService=__decorate$2w([__param$2m(0,IThemeService),__param$2m(1,ILogService),__param$2m(2,ILanguageService)],SemanticTokensStylingService),registerSingleton(ISemanticTokensStylingService,SemanticTokensStylingService,1);const GLOBSTAR="**",GLOB_SPLIT="/",PATH_REGEX="[/\\\\]",NO_PATH_REGEX="[^/\\\\]",ALL_FORWARD_SLASHES=/\//g;function starsToRegExp(e,t){switch(e){case 0:return"";case 1:return`${NO_PATH_REGEX}*?`;default:return`(?:${PATH_REGEX}|${NO_PATH_REGEX}+${PATH_REGEX}${t?`|${PATH_REGEX}${NO_PATH_REGEX}+`:""})*?`}}function splitGlobAware(e,t){if(!e)return[];const i=[];let o=!1,n=!1,r="";for(const s of e){switch(s){case t:if(!o&&!n){i.push(r),r="";continue}break;case"{":o=!0;break;case"}":o=!1;break;case"[":n=!0;break;case"]":n=!1}r+=s}return r&&i.push(r),i}function parseRegExp(e){if(!e)return"";let t="";const i=splitGlobAware(e,GLOB_SPLIT);if(i.every(e=>e===GLOBSTAR))t=".*";else{let e=!1;i.forEach((o,n)=>{if(o===GLOBSTAR){if(e)return;t+=starsToRegExp(2,n===i.length-1)}else{let e=!1,r="",s=!1,a="";for(const i of o)if("}"!==i&&e)r+=i;else{if(s&&("]"!==i||!a)){let e;e="-"===i?i:"^"!==i&&"!"!==i||a?i===GLOB_SPLIT?"":escapeRegExpCharacters(i):"^",a+=e;continue}switch(i){case"{":e=!0;continue;case"[":s=!0;continue;case"}":{const i=`(?:${splitGlobAware(r,",").map(e=>parseRegExp(e)).join("|")})`;t+=i,e=!1,r="";break}case"]":t+="["+a+"]",s=!1,a="";break;case"?":t+=NO_PATH_REGEX;continue;case"*":t+=starsToRegExp(1);continue;default:t+=escapeRegExpCharacters(i)}}nparsePattern(e,t)).filter(e=>e!==NULL),e),o=i.length;if(!o)return NULL;if(1===o)return i[0];const n=function(t,o){for(let n=0,r=i.length;n!!e.allBasenames);r&&(n.allBasenames=r.allBasenames);const s=i.reduce((e,t)=>t.allPaths?e.concat(t.allPaths):e,[]);return s.length&&(n.allPaths=s),n}function trivia4and5(e,t,i){const o=sep===posix.sep,n=o?e:e.replace(ALL_FORWARD_SLASHES,sep),r=sep+n,s=posix.sep+e;let a;return a=i?function(i,a){return"string"!=typeof i||i!==n&&!i.endsWith(r)&&(o||i!==e&&!i.endsWith(s))?null:t}:function(i,r){return"string"!=typeof i||i!==n&&(o||i!==e)?null:t},a.allPaths=[(i?"*/":"./")+e],a}function toRegExp(e){try{const t=new RegExp(`^${parseRegExp(e)}$`);return function(i){return t.lastIndex=0,"string"==typeof i&&t.test(i)?e:null}}catch(error){return NULL}}function match(e,t,i){return!(!e||"string"!=typeof t)&&parse$6(e)(t,void 0,i)}function parse$6(e,t={}){if(!e)return FALSE;if("string"==typeof e||isRelativePattern(e)){const i=parsePattern(e,t);if(i===NULL)return FALSE;const o=function(e,t){return!!i(e,t)};return i.allBasenames&&(o.allBasenames=i.allBasenames),i.allPaths&&(o.allPaths=i.allPaths),o}return parsedExpression(e,t)}function isRelativePattern(e){const t=e;return!!t&&("string"==typeof t.base&&"string"==typeof t.pattern)}function parsedExpression(e,t){const i=aggregateBasenameMatches(Object.getOwnPropertyNames(e).map(i=>parseExpressionPattern(i,e[i],t)).filter(e=>e!==NULL)),o=i.length;if(!o)return NULL;if(!i.some(e=>!!e.requiresSiblings)){if(1===o)return i[0];const e=function(e,t){let o;for(let n=0,r=i.length;n{for(const e of o){const t=await e;if("string"==typeof t)return t}return null})():null},t=i.find(e=>!!e.allBasenames);t&&(e.allBasenames=t.allBasenames);const n=i.reduce((e,t)=>t.allPaths?e.concat(t.allPaths):e,[]);return n.length&&(e.allPaths=n),e}const n=function(e,t,o){let n,r;for(let s=0,a=i.length;s{for(const e of r){const t=await e;if("string"==typeof t)return t}return null})():null},r=i.find(e=>!!e.allBasenames);r&&(n.allBasenames=r.allBasenames);const s=i.reduce((e,t)=>t.allPaths?e.concat(t.allPaths):e,[]);return s.length&&(n.allPaths=s),n}function parseExpressionPattern(e,t,i){if(!1===t)return NULL;const o=parsePattern(e,i);if(o===NULL)return NULL;if("boolean"==typeof t)return o;if(t){const i=t.when;if("string"==typeof i){const t=(t,n,r,s)=>{if(!s||!o(t,n))return null;const a=s(i.replace("$(basename)",()=>r));return isThenable$1(a)?a.then(t=>t?e:null):a?e:null};return t.requiresSiblings=!0,t}}return o}function aggregateBasenameMatches(e,t){const i=e.filter(e=>!!e.basenames);if(i.length<2)return e;const o=i.reduce((e,t)=>{const i=t.basenames;return i?e.concat(i):e},[]);let n;if(t){n=[];for(let e=0,i=o.length;e{const i=t.patterns;return i?e.concat(i):e},[]);const r=function(e,t){if("string"!=typeof e)return null;if(!t){let i;for(i=e.length;i>0;i--){const t=e.charCodeAt(i-1);if(47===t||92===t)break}t=e.substr(i)}const i=o.indexOf(t);return-1!==i?n[i]:null};r.basenames=o,r.patterns=n,r.allBasenames=o;const s=e.filter(e=>!e.basenames);return s.push(r),s}function score(e,t,i,o,n,r){if(Array.isArray(e)){let s=0;for(const a of e){const e=score(a,t,i,o,n,r);if(10===e)return e;e>s&&(s=e)}return s}if("string"==typeof e)return o?"*"===e?5:e===i?10:0:0;if(e){const{language:s,pattern:a,scheme:l,hasAccessToAllModels:c,notebookType:d}=e;if(!o&&!c)return 0;d&&n&&(t=n);let u=0;if(l)if(l===t.scheme)u=10;else{if("*"!==l)return 0;u=5}if(s)if(s===i)u=10;else{if("*"!==s)return 0;u=Math.max(u,5)}if(d)if(d===r)u=10;else{if("*"!==d||void 0===r)return 0;u=Math.max(u,5)}if(a){let e;if(e="string"==typeof a?a:{...a,base:normalize(a.base)},e!==t.fsPath&&!match(e,t.fsPath))return 0;u=10}return u}return 0}function isExclusive(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(isExclusive):!!e.exclusive)}class MatchCandidate{constructor(e,t,i,o,n){this.uri=e,this.languageId=t,this.notebookUri=i,this.notebookType=o,this.recursive=n}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}}class LanguageFeatureRegistry{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event}register(e,t){let i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),toDisposable(()=>{if(i){const e=this._entries.indexOf(i);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const i of this._entries)i._score>0&&t.push(i.provider);return t}ordered(e,t=!1){const i=[];return this._orderedForEach(e,t,e=>i.push(e.provider)),i}orderedGroups(e){const t=[];let i,o;return this._orderedForEach(e,!1,e=>{i&&o===e._score?i.push(e.provider):(o=e._score,i=[e.provider],t.push(i))}),t}_orderedForEach(e,t,i){this._updateScores(e,t);for(const o of this._entries)o._score>0&&i(o)}_updateScores(e,t){const i=this._notebookInfoResolver?.(e.uri),o=i?new MatchCandidate(e.uri,e.getLanguageId(),i.uri,i.type,t):new MatchCandidate(e.uri,e.getLanguageId(),void 0,void 0,t);if(!this._lastCandidate?.equals(o)){this._lastCandidate=o;for(const i of this._entries)if(i._score=score(i.selector,o.uri,o.languageId,shouldSynchronizeModel(e),o.notebookUri,o.notebookType),isExclusive(i.selector)&&i._score>0){if(!t){for(const e of this._entries)e._score=0;i._score=1e3;break}i._score=0}this._entries.sort(LanguageFeatureRegistry._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:isBuiltinSelector(e.selector)&&!isBuiltinSelector(t.selector)?1:!isBuiltinSelector(e.selector)&&isBuiltinSelector(t.selector)?-1:e._timet._time?-1:0}}function isBuiltinSelector(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(isBuiltinSelector):Boolean(e.isBuiltin))}class LanguageFeaturesService{constructor(){this.referenceProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.renameProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.newSymbolNamesProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.codeActionProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.definitionProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.typeDefinitionProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.declarationProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.implementationProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentSymbolProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.inlayHintsProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.colorProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.codeLensProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentFormattingEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeFormattingEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.onTypeFormattingEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.signatureHelpProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.hoverProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentHighlightProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.multiDocumentHighlightProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.selectionRangeProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.foldingRangeProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.linkProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.inlineCompletionsProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.inlineEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.completionProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.linkedEditingRangeProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentSemanticTokensProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentDropEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentPasteEditProvider=new LanguageFeatureRegistry(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}}function asCssVariableName(e){return`--vscode-${e.replace(/\./g,"-")}`}function asCssVariable(e){return`var(${asCssVariableName(e)})`}function asCssVariableWithDefault(e,t){return`var(${asCssVariableName(e)}, ${t})`}function isColorDefaults(e){return null!==e&&"object"==typeof e&&"light"in e&&"dark"in e}registerSingleton(ILanguageFeaturesService,LanguageFeaturesService,1);const Extensions$3={ColorContribution:"base.contributions.colors"},DEFAULT_COLOR_CONFIG_VALUE="default";class ColorRegistry{constructor(){this._onDidChangeSchema=new Emitter$1,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,i,o=!1,n){const r={id:e,description:i,defaults:t,needsTransparency:o,deprecationMessage:n};this.colorsById[e]=r;const s={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return n&&(s.deprecationMessage=n),o&&(s.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",s.patternErrorMessage=localize("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:i,oneOf:[s,{type:"string",const:DEFAULT_COLOR_CONFIG_VALUE,description:localize("useDefault","Use the default color.")}]},this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i?.defaults){return resolveColorValue(isColorDefaults(i.defaults)?i.defaults[t.type]:i.defaults,t)}}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort((e,t)=>{const i=-1===e.indexOf(".")?0:1,o=-1===t.indexOf(".")?0:1;return i!==o?i-o:e.localeCompare(t)}).map(e=>`- \`${e}\`: ${this.colorsById[e].description}`).join("\n")}}const colorRegistry$1=new ColorRegistry;function registerColor(e,t,i,o,n){return colorRegistry$1.registerColor(e,t,i,o,n)}function executeTransform(e,t){switch(e.op){case 0:return resolveColorValue(e.value,t)?.darken(e.factor);case 1:return resolveColorValue(e.value,t)?.lighten(e.factor);case 2:return resolveColorValue(e.value,t)?.transparent(e.factor);case 3:{const i=resolveColorValue(e.background,t);return i?resolveColorValue(e.value,t)?.makeOpaque(i):resolveColorValue(e.value,t)}case 4:for(const i of e.values){const e=resolveColorValue(i,t);if(e)return e}return;case 6:return resolveColorValue(t.defines(e.if)?e.then:e.else,t);case 5:{const i=resolveColorValue(e.value,t);if(!i)return;const o=resolveColorValue(e.background,t);return o?i.isDarkerThan(o)?Color$1.getLighterColor(i,o,e.factor).transparent(e.transparency):Color$1.getDarkerColor(i,o,e.factor).transparent(e.transparency):i.transparent(e.factor*e.transparency)}default:throw assertNever()}}function darken$1(e,t){return{op:0,value:e,factor:t}}function lighten(e,t){return{op:1,value:e,factor:t}}function transparent(e,t){return{op:2,value:e,factor:t}}function oneOf(...e){return{op:4,values:e}}function ifDefinedThenElse(e,t,i){return{op:6,if:e,then:t,else:i}}function lessProminent(e,t,i,o){return{op:5,value:e,background:t,factor:i,transparency:o}}function resolveColorValue(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?Color$1.fromHex(e):t.getColor(e):e instanceof Color$1?e:"object"==typeof e?executeTransform(e,t):void 0}Registry.add(Extensions$3.ColorContribution,colorRegistry$1);const workbenchColorsSchemaId="vscode://schemas/workbench-colors",schemaRegistry$1=Registry.as(Extensions$7.JSONContribution);schemaRegistry$1.registerSchema(workbenchColorsSchemaId,colorRegistry$1.getColorSchema());const delayer$1=new RunOnceScheduler(()=>schemaRegistry$1.notifySchemaChanged(workbenchColorsSchemaId),200);colorRegistry$1.onDidChangeSchema(()=>{delayer$1.isScheduled()||delayer$1.schedule()});const foreground=registerColor("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},localize("foreground","Overall foreground color. This color is only used if not overridden by a component."));registerColor("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},localize("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),registerColor("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},localize("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),registerColor("descriptionForeground",{light:"#717171",dark:transparent(foreground,.7),hcDark:transparent(foreground,.7),hcLight:transparent(foreground,.7)},localize("descriptionForeground","Foreground color for description text providing additional information, for example for a label."));const iconForeground=registerColor("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},localize("iconForeground","The default color for icons in the workbench.")),focusBorder=registerColor("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},localize("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),contrastBorder=registerColor("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},localize("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),activeContrastBorder=registerColor("contrastActiveBorder",{light:null,dark:null,hcDark:focusBorder,hcLight:focusBorder},localize("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast."));registerColor("selection.background",null,localize("selectionBackground","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."));const textLinkForeground=registerColor("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},localize("textLinkForeground","Foreground color for links in text."));registerColor("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},localize("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),registerColor("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:Color$1.black,hcLight:"#292929"},localize("textSeparatorForeground","Color for text separators.")),registerColor("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},localize("textPreformatForeground","Foreground color for preformatted text segments.")),registerColor("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},localize("textPreformatBackground","Background color for preformatted text segments.")),registerColor("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},localize("textBlockQuoteBackground","Background color for block quotes in text.")),registerColor("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:Color$1.white,hcLight:"#292929"},localize("textBlockQuoteBorder","Border color for block quotes in text.")),registerColor("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:Color$1.black,hcLight:"#F2F2F2"},localize("textCodeBlockBackground","Background color for code blocks in text.")),registerColor("sash.hoverBorder",focusBorder,localize("sashActiveBorder","Border color of active sashes."));const badgeBackground=registerColor("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:Color$1.black,hcLight:"#0F4A85"},localize("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),badgeForeground=registerColor("badge.foreground",{dark:Color$1.white,light:"#333",hcDark:Color$1.white,hcLight:Color$1.white},localize("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),scrollbarShadow=registerColor("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},localize("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),scrollbarSliderBackground=registerColor("scrollbarSlider.background",{dark:Color$1.fromHex("#797979").transparent(.4),light:Color$1.fromHex("#646464").transparent(.4),hcDark:transparent(contrastBorder,.6),hcLight:transparent(contrastBorder,.4)},localize("scrollbarSliderBackground","Scrollbar slider background color.")),scrollbarSliderHoverBackground=registerColor("scrollbarSlider.hoverBackground",{dark:Color$1.fromHex("#646464").transparent(.7),light:Color$1.fromHex("#646464").transparent(.7),hcDark:transparent(contrastBorder,.8),hcLight:transparent(contrastBorder,.8)},localize("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),scrollbarSliderActiveBackground=registerColor("scrollbarSlider.activeBackground",{dark:Color$1.fromHex("#BFBFBF").transparent(.4),light:Color$1.fromHex("#000000").transparent(.6),hcDark:contrastBorder,hcLight:contrastBorder},localize("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),progressBarBackground=registerColor("progressBar.background",{dark:Color$1.fromHex("#0E70C0"),light:Color$1.fromHex("#0E70C0"),hcDark:contrastBorder,hcLight:contrastBorder},localize("progressBarBackground","Background color of the progress bar that can show for long running operations.")),editorBackground=registerColor("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:Color$1.black,hcLight:Color$1.white},localize("editorBackground","Editor background color.")),editorForeground=registerColor("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:Color$1.white,hcLight:foreground},localize("editorForeground","Editor default foreground color."));registerColor("editorStickyScroll.background",editorBackground,localize("editorStickyScrollBackground","Background color of sticky scroll in the editor")),registerColor("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:Color$1.fromHex("#0F4A85").transparent(.1)},localize("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),registerColor("editorStickyScroll.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorStickyScrollBorder","Border color of sticky scroll in the editor")),registerColor("editorStickyScroll.shadow",scrollbarShadow,localize("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor"));const editorWidgetBackground=registerColor("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:Color$1.white},localize("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),editorWidgetForeground=registerColor("editorWidget.foreground",foreground,localize("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),editorWidgetBorder=registerColor("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:contrastBorder,hcLight:contrastBorder},localize("editorWidgetBorder","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."));registerColor("editorWidget.resizeBorder",null,localize("editorWidgetResizeBorder","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.")),registerColor("editorError.background",null,localize("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const editorErrorForeground=registerColor("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},localize("editorError.foreground","Foreground color of error squigglies in the editor.")),editorErrorBorder=registerColor("editorError.border",{dark:null,light:null,hcDark:Color$1.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},localize("errorBorder","If set, color of double underlines for errors in the editor.")),editorWarningBackground=registerColor("editorWarning.background",null,localize("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),editorWarningForeground=registerColor("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},localize("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),editorWarningBorder=registerColor("editorWarning.border",{dark:null,light:null,hcDark:Color$1.fromHex("#FFCC00").transparent(.8),hcLight:Color$1.fromHex("#FFCC00").transparent(.8)},localize("warningBorder","If set, color of double underlines for warnings in the editor."));registerColor("editorInfo.background",null,localize("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const editorInfoForeground=registerColor("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},localize("editorInfo.foreground","Foreground color of info squigglies in the editor.")),editorInfoBorder=registerColor("editorInfo.border",{dark:null,light:null,hcDark:Color$1.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},localize("infoBorder","If set, color of double underlines for infos in the editor.")),editorHintForeground=registerColor("editorHint.foreground",{dark:Color$1.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},localize("editorHint.foreground","Foreground color of hint squigglies in the editor."));registerColor("editorHint.border",{dark:null,light:null,hcDark:Color$1.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},localize("hintBorder","If set, color of double underlines for hints in the editor."));const editorActiveLinkForeground=registerColor("editorLink.activeForeground",{dark:"#4E94CE",light:Color$1.blue,hcDark:Color$1.cyan,hcLight:"#292929"},localize("activeLinkForeground","Color of active links.")),editorSelectionBackground=registerColor("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},localize("editorSelectionBackground","Color of the editor selection.")),editorSelectionForeground=registerColor("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:Color$1.white},localize("editorSelectionForeground","Color of the selected text for high contrast.")),editorInactiveSelection=registerColor("editor.inactiveSelectionBackground",{light:transparent(editorSelectionBackground,.5),dark:transparent(editorSelectionBackground,.5),hcDark:transparent(editorSelectionBackground,.7),hcLight:transparent(editorSelectionBackground,.5)},localize("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),editorSelectionHighlight=registerColor("editor.selectionHighlightBackground",{light:lessProminent(editorSelectionBackground,editorBackground,.3,.6),dark:lessProminent(editorSelectionBackground,editorBackground,.3,.6),hcDark:null,hcLight:null},localize("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),registerColor("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},localize("editorFindMatch","Color of the current search match."));const editorFindMatchForeground=registerColor("editor.findMatchForeground",null,localize("editorFindMatchForeground","Text color of the current search match.")),editorFindMatchHighlight=registerColor("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},localize("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),editorFindMatchHighlightForeground=registerColor("editor.findMatchHighlightForeground",null,localize("findMatchHighlightForeground","Foreground color of the other search matches."),!0);registerColor("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},localize("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),registerColor("editor.findMatchBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("editorFindMatchBorder","Border color of the current search match."));const editorFindMatchHighlightBorder=registerColor("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("findMatchHighlightBorder","Border color of the other search matches.")),editorFindRangeHighlightBorder=registerColor("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:transparent(activeContrastBorder,.4),hcLight:transparent(activeContrastBorder,.4)},localize("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},localize("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const editorHoverBackground=registerColor("editorHoverWidget.background",editorWidgetBackground,localize("hoverBackground","Background color of the editor hover."));registerColor("editorHoverWidget.foreground",editorWidgetForeground,localize("hoverForeground","Foreground color of the editor hover."));const editorHoverBorder=registerColor("editorHoverWidget.border",editorWidgetBorder,localize("hoverBorder","Border color of the editor hover."));registerColor("editorHoverWidget.statusBarBackground",{dark:lighten(editorHoverBackground,.2),light:darken$1(editorHoverBackground,.05),hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("statusBarBackground","Background color of the editor hover status bar."));const editorInlayHintForeground=registerColor("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:Color$1.white,hcLight:Color$1.black},localize("editorInlayHintForeground","Foreground color of inline hints")),editorInlayHintBackground=registerColor("editorInlayHint.background",{dark:transparent(badgeBackground,.1),light:transparent(badgeBackground,.1),hcDark:transparent(Color$1.white,.1),hcLight:transparent(badgeBackground,.1)},localize("editorInlayHintBackground","Background color of inline hints")),editorInlayHintTypeForeground=registerColor("editorInlayHint.typeForeground",editorInlayHintForeground,localize("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),editorInlayHintTypeBackground=registerColor("editorInlayHint.typeBackground",editorInlayHintBackground,localize("editorInlayHintBackgroundTypes","Background color of inline hints for types")),editorInlayHintParameterForeground=registerColor("editorInlayHint.parameterForeground",editorInlayHintForeground,localize("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),editorInlayHintParameterBackground=registerColor("editorInlayHint.parameterBackground",editorInlayHintBackground,localize("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),editorLightBulbForeground=registerColor("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},localize("editorLightBulbForeground","The color used for the lightbulb actions icon."));registerColor("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),registerColor("editorLightBulbAi.foreground",editorLightBulbForeground,localize("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),registerColor("editor.snippetTabstopHighlightBackground",{dark:new Color$1(new RGBA$1(124,124,124,.3)),light:new Color$1(new RGBA$1(10,50,100,.2)),hcDark:new Color$1(new RGBA$1(124,124,124,.3)),hcLight:new Color$1(new RGBA$1(10,50,100,.2))},localize("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),registerColor("editor.snippetTabstopHighlightBorder",null,localize("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),registerColor("editor.snippetFinalTabstopHighlightBackground",null,localize("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),registerColor("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new Color$1(new RGBA$1(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},localize("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet."));const defaultInsertColor=new Color$1(new RGBA$1(155,185,85,.2)),defaultRemoveColor=new Color$1(new RGBA$1(255,0,0,.2)),diffInserted=registerColor("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},localize("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),diffRemoved=registerColor("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},localize("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("diffEditor.insertedLineBackground",{dark:defaultInsertColor,light:defaultInsertColor,hcDark:null,hcLight:null},localize("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),registerColor("diffEditor.removedLineBackground",{dark:defaultRemoveColor,light:defaultRemoveColor,hcDark:null,hcLight:null},localize("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),registerColor("diffEditorGutter.insertedLineBackground",null,localize("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),registerColor("diffEditorGutter.removedLineBackground",null,localize("diffEditorRemovedLineGutter","Background color for the margin where lines got removed."));const diffOverviewRulerInserted=registerColor("diffEditorOverview.insertedForeground",null,localize("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),diffOverviewRulerRemoved=registerColor("diffEditorOverview.removedForeground",null,localize("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content."));registerColor("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},localize("diffEditorInsertedOutline","Outline color for the text that got inserted.")),registerColor("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},localize("diffEditorRemovedOutline","Outline color for text that got removed.")),registerColor("diffEditor.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("diffEditorBorder","Border color between the two text editors.")),registerColor("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},localize("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),registerColor("diffEditor.unchangedRegionBackground","sideBar.background",localize("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),registerColor("diffEditor.unchangedRegionForeground","foreground",localize("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),registerColor("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},localize("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor."));const widgetShadow=registerColor("widget.shadow",{dark:transparent(Color$1.black,.36),light:transparent(Color$1.black,.16),hcDark:null,hcLight:null},localize("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),widgetBorder=registerColor("widget.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("widgetBorder","Border color of widgets such as find/replace inside the editor.")),toolbarHoverBackground=registerColor("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},localize("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"));registerColor("toolbar.hoverOutline",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),registerColor("toolbar.activeBackground",{dark:lighten(toolbarHoverBackground,.1),light:darken$1(toolbarHoverBackground,.1),hcDark:null,hcLight:null},localize("toolbarActiveBackground","Toolbar background when holding the mouse over actions"));const breadcrumbsForeground=registerColor("breadcrumb.foreground",transparent(foreground,.8),localize("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),breadcrumbsBackground=registerColor("breadcrumb.background",editorBackground,localize("breadcrumbsBackground","Background color of breadcrumb items.")),breadcrumbsFocusForeground=registerColor("breadcrumb.focusForeground",{light:darken$1(foreground,.2),dark:lighten(foreground,.1),hcDark:lighten(foreground,.1),hcLight:lighten(foreground,.1)},localize("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),breadcrumbsActiveSelectionForeground=registerColor("breadcrumb.activeSelectionForeground",{light:darken$1(foreground,.2),dark:lighten(foreground,.1),hcDark:lighten(foreground,.1),hcLight:lighten(foreground,.1)},localize("breadcrumbsSelectedForeground","Color of selected breadcrumb items."));registerColor("breadcrumbPicker.background",editorWidgetBackground,localize("breadcrumbsSelectedBackground","Background color of breadcrumb item picker."));const headerTransparency=.5,currentBaseColor=Color$1.fromHex("#40C8AE").transparent(headerTransparency),incomingBaseColor=Color$1.fromHex("#40A6FF").transparent(headerTransparency),commonBaseColor=Color$1.fromHex("#606060").transparent(.4),contentTransparency=.4,rulerTransparency=1,mergeCurrentHeaderBackground=registerColor("merge.currentHeaderBackground",{dark:currentBaseColor,light:currentBaseColor,hcDark:null,hcLight:null},localize("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("merge.currentContentBackground",transparent(mergeCurrentHeaderBackground,contentTransparency),localize("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const mergeIncomingHeaderBackground=registerColor("merge.incomingHeaderBackground",{dark:incomingBaseColor,light:incomingBaseColor,hcDark:null,hcLight:null},localize("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("merge.incomingContentBackground",transparent(mergeIncomingHeaderBackground,contentTransparency),localize("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const mergeCommonHeaderBackground=registerColor("merge.commonHeaderBackground",{dark:commonBaseColor,light:commonBaseColor,hcDark:null,hcLight:null},localize("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("merge.commonContentBackground",transparent(mergeCommonHeaderBackground,contentTransparency),localize("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const mergeBorder=registerColor("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},localize("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."));registerColor("editorOverviewRuler.currentContentForeground",{dark:transparent(mergeCurrentHeaderBackground,rulerTransparency),light:transparent(mergeCurrentHeaderBackground,rulerTransparency),hcDark:mergeBorder,hcLight:mergeBorder},localize("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),registerColor("editorOverviewRuler.incomingContentForeground",{dark:transparent(mergeIncomingHeaderBackground,rulerTransparency),light:transparent(mergeIncomingHeaderBackground,rulerTransparency),hcDark:mergeBorder,hcLight:mergeBorder},localize("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),registerColor("editorOverviewRuler.commonContentForeground",{dark:transparent(mergeCommonHeaderBackground,rulerTransparency),light:transparent(mergeCommonHeaderBackground,rulerTransparency),hcDark:mergeBorder,hcLight:mergeBorder},localize("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts."));const overviewRulerFindMatchForeground=registerColor("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},localize("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerSelectionHighlightForeground=registerColor("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",localize("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),problemsErrorIconForeground=registerColor("problemsErrorIcon.foreground",editorErrorForeground,localize("problemsErrorIconForeground","The color used for the problems error icon.")),problemsWarningIconForeground=registerColor("problemsWarningIcon.foreground",editorWarningForeground,localize("problemsWarningIconForeground","The color used for the problems warning icon.")),problemsInfoIconForeground=registerColor("problemsInfoIcon.foreground",editorInfoForeground,localize("problemsInfoIconForeground","The color used for the problems info icon.")),minimapFindMatch=registerColor("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},localize("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),minimapSelectionOccurrenceHighlight=registerColor("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},localize("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),minimapSelection=registerColor("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},localize("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),minimapInfo=registerColor("minimap.infoHighlight",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:editorInfoBorder,hcLight:editorInfoBorder},localize("minimapInfo","Minimap marker color for infos.")),minimapWarning=registerColor("minimap.warningHighlight",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningBorder,hcLight:editorWarningBorder},localize("overviewRuleWarning","Minimap marker color for warnings.")),minimapError=registerColor("minimap.errorHighlight",{dark:new Color$1(new RGBA$1(255,18,18,.7)),light:new Color$1(new RGBA$1(255,18,18,.7)),hcDark:new Color$1(new RGBA$1(255,50,50,1)),hcLight:"#B5200D"},localize("minimapError","Minimap marker color for errors.")),minimapBackground=registerColor("minimap.background",null,localize("minimapBackground","Minimap background color.")),minimapForegroundOpacity=registerColor("minimap.foregroundOpacity",Color$1.fromHex("#000f"),localize("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));registerColor("minimapSlider.background",transparent(scrollbarSliderBackground,.5),localize("minimapSliderBackground","Minimap slider background color.")),registerColor("minimapSlider.hoverBackground",transparent(scrollbarSliderHoverBackground,.5),localize("minimapSliderHoverBackground","Minimap slider background color when hovering.")),registerColor("minimapSlider.activeBackground",transparent(scrollbarSliderActiveBackground,.5),localize("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),registerColor("charts.foreground",foreground,localize("chartsForeground","The foreground color used in charts.")),registerColor("charts.lines",transparent(foreground,.5),localize("chartsLines","The color used for horizontal lines in charts.")),registerColor("charts.red",editorErrorForeground,localize("chartsRed","The red color used in chart visualizations.")),registerColor("charts.blue",editorInfoForeground,localize("chartsBlue","The blue color used in chart visualizations.")),registerColor("charts.yellow",editorWarningForeground,localize("chartsYellow","The yellow color used in chart visualizations.")),registerColor("charts.orange",minimapFindMatch,localize("chartsOrange","The orange color used in chart visualizations.")),registerColor("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},localize("chartsGreen","The green color used in chart visualizations.")),registerColor("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("chartsPurple","The purple color used in chart visualizations."));const inputBackground=registerColor("input.background",{dark:"#3C3C3C",light:Color$1.white,hcDark:Color$1.black,hcLight:Color$1.white},localize("inputBoxBackground","Input box background.")),inputForeground=registerColor("input.foreground",foreground,localize("inputBoxForeground","Input box foreground.")),inputBorder=registerColor("input.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("inputBoxBorder","Input box border.")),inputActiveOptionBorder=registerColor("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputBoxActiveOptionBorder","Border color of activated options in input fields.")),inputActiveOptionHoverBackground=registerColor("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},localize("inputOption.hoverBackground","Background color of activated options in input fields.")),inputActiveOptionBackground=registerColor("inputOption.activeBackground",{dark:transparent(focusBorder,.4),light:transparent(focusBorder,.2),hcDark:Color$1.transparent,hcLight:Color$1.transparent},localize("inputOption.activeBackground","Background hover color of options in input fields.")),inputActiveOptionForeground=registerColor("inputOption.activeForeground",{dark:Color$1.white,light:Color$1.black,hcDark:foreground,hcLight:foreground},localize("inputOption.activeForeground","Foreground color of activated options in input fields."));registerColor("input.placeholderForeground",{light:transparent(foreground,.5),dark:transparent(foreground,.5),hcDark:transparent(foreground,.7),hcLight:transparent(foreground,.7)},localize("inputPlaceholderForeground","Input box foreground color for placeholder text."));const inputValidationInfoBackground=registerColor("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:Color$1.black,hcLight:Color$1.white},localize("inputValidationInfoBackground","Input validation background color for information severity.")),inputValidationInfoForeground=registerColor("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:foreground},localize("inputValidationInfoForeground","Input validation foreground color for information severity.")),inputValidationInfoBorder=registerColor("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputValidationInfoBorder","Input validation border color for information severity.")),inputValidationWarningBackground=registerColor("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:Color$1.black,hcLight:Color$1.white},localize("inputValidationWarningBackground","Input validation background color for warning severity.")),inputValidationWarningForeground=registerColor("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:foreground},localize("inputValidationWarningForeground","Input validation foreground color for warning severity.")),inputValidationWarningBorder=registerColor("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputValidationWarningBorder","Input validation border color for warning severity.")),inputValidationErrorBackground=registerColor("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:Color$1.black,hcLight:Color$1.white},localize("inputValidationErrorBackground","Input validation background color for error severity.")),inputValidationErrorForeground=registerColor("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:foreground},localize("inputValidationErrorForeground","Input validation foreground color for error severity.")),inputValidationErrorBorder=registerColor("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputValidationErrorBorder","Input validation border color for error severity.")),selectBackground=registerColor("dropdown.background",{dark:"#3C3C3C",light:Color$1.white,hcDark:Color$1.black,hcLight:Color$1.white},localize("dropdownBackground","Dropdown background.")),selectListBackground=registerColor("dropdown.listBackground",{dark:null,light:null,hcDark:Color$1.black,hcLight:Color$1.white},localize("dropdownListBackground","Dropdown list background.")),selectForeground=registerColor("dropdown.foreground",{dark:"#F0F0F0",light:foreground,hcDark:Color$1.white,hcLight:foreground},localize("dropdownForeground","Dropdown foreground.")),selectBorder=registerColor("dropdown.border",{dark:selectBackground,light:"#CECECE",hcDark:contrastBorder,hcLight:contrastBorder},localize("dropdownBorder","Dropdown border.")),buttonForeground=registerColor("button.foreground",Color$1.white,localize("buttonForeground","Button foreground color.")),buttonSeparator=registerColor("button.separator",transparent(buttonForeground,.4),localize("buttonSeparator","Button separator color.")),buttonBackground=registerColor("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},localize("buttonBackground","Button background color.")),buttonHoverBackground=registerColor("button.hoverBackground",{dark:lighten(buttonBackground,.2),light:darken$1(buttonBackground,.2),hcDark:buttonBackground,hcLight:buttonBackground},localize("buttonHoverBackground","Button background color when hovering.")),buttonBorder=registerColor("button.border",contrastBorder,localize("buttonBorder","Button border color.")),buttonSecondaryForeground=registerColor("button.secondaryForeground",{dark:Color$1.white,light:Color$1.white,hcDark:Color$1.white,hcLight:foreground},localize("buttonSecondaryForeground","Secondary button foreground color.")),buttonSecondaryBackground=registerColor("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:Color$1.white},localize("buttonSecondaryBackground","Secondary button background color.")),buttonSecondaryHoverBackground=registerColor("button.secondaryHoverBackground",{dark:lighten(buttonSecondaryBackground,.2),light:darken$1(buttonSecondaryBackground,.2),hcDark:null,hcLight:null},localize("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),radioActiveForeground=registerColor("radio.activeForeground",inputActiveOptionForeground,localize("radioActiveForeground","Foreground color of active radio option.")),radioActiveBackground=registerColor("radio.activeBackground",inputActiveOptionBackground,localize("radioBackground","Background color of active radio option.")),radioActiveBorder=registerColor("radio.activeBorder",inputActiveOptionBorder,localize("radioActiveBorder","Border color of the active radio option.")),radioInactiveForeground=registerColor("radio.inactiveForeground",null,localize("radioInactiveForeground","Foreground color of inactive radio option.")),radioInactiveBackground=registerColor("radio.inactiveBackground",null,localize("radioInactiveBackground","Background color of inactive radio option.")),radioInactiveBorder=registerColor("radio.inactiveBorder",{light:transparent(radioActiveForeground,.2),dark:transparent(radioActiveForeground,.2),hcDark:transparent(radioActiveForeground,.4),hcLight:transparent(radioActiveForeground,.2)},localize("radioInactiveBorder","Border color of the inactive radio option.")),radioInactiveHoverBackground=registerColor("radio.inactiveHoverBackground",inputActiveOptionHoverBackground,localize("radioHoverBackground","Background color of inactive active radio option when hovering.")),checkboxBackground=registerColor("checkbox.background",selectBackground,localize("checkbox.background","Background color of checkbox widget."));registerColor("checkbox.selectBackground",editorWidgetBackground,localize("checkbox.select.background","Background color of checkbox widget when the element it's in is selected."));const checkboxForeground=registerColor("checkbox.foreground",selectForeground,localize("checkbox.foreground","Foreground color of checkbox widget.")),checkboxBorder=registerColor("checkbox.border",selectBorder,localize("checkbox.border","Border color of checkbox widget."));registerColor("checkbox.selectBorder",iconForeground,localize("checkbox.select.border","Border color of checkbox widget when the element it's in is selected."));const keybindingLabelBackground=registerColor("keybindingLabel.background",{dark:new Color$1(new RGBA$1(128,128,128,.17)),light:new Color$1(new RGBA$1(221,221,221,.4)),hcDark:Color$1.transparent,hcLight:Color$1.transparent},localize("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),keybindingLabelForeground=registerColor("keybindingLabel.foreground",{dark:Color$1.fromHex("#CCCCCC"),light:Color$1.fromHex("#555555"),hcDark:Color$1.white,hcLight:foreground},localize("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),keybindingLabelBorder=registerColor("keybindingLabel.border",{dark:new Color$1(new RGBA$1(51,51,51,.6)),light:new Color$1(new RGBA$1(204,204,204,.4)),hcDark:new Color$1(new RGBA$1(111,195,223)),hcLight:contrastBorder},localize("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),keybindingLabelBottomBorder=registerColor("keybindingLabel.bottomBorder",{dark:new Color$1(new RGBA$1(68,68,68,.6)),light:new Color$1(new RGBA$1(187,187,187,.4)),hcDark:new Color$1(new RGBA$1(111,195,223)),hcLight:foreground},localize("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),listFocusBackground=registerColor("list.focusBackground",null,localize("listFocusBackground","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.")),listFocusForeground=registerColor("list.focusForeground",null,localize("listFocusForeground","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.")),listFocusOutline=registerColor("list.focusOutline",{dark:focusBorder,light:focusBorder,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("listFocusOutline","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.")),listFocusAndSelectionOutline=registerColor("list.focusAndSelectionOutline",null,localize("listFocusAndSelectionOutline","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.")),listActiveSelectionBackground=registerColor("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:Color$1.fromHex("#0F4A85").transparent(.1)},localize("listActiveSelectionBackground","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.")),listActiveSelectionForeground=registerColor("list.activeSelectionForeground",{dark:Color$1.white,light:Color$1.white,hcDark:null,hcLight:null},localize("listActiveSelectionForeground","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.")),listActiveSelectionIconForeground=registerColor("list.activeSelectionIconForeground",null,localize("listActiveSelectionIconForeground","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.")),listInactiveSelectionBackground=registerColor("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:Color$1.fromHex("#0F4A85").transparent(.1)},localize("listInactiveSelectionBackground","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.")),listInactiveSelectionForeground=registerColor("list.inactiveSelectionForeground",null,localize("listInactiveSelectionForeground","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.")),listInactiveSelectionIconForeground=registerColor("list.inactiveSelectionIconForeground",null,localize("listInactiveSelectionIconForeground","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.")),listInactiveFocusBackground=registerColor("list.inactiveFocusBackground",null,localize("listInactiveFocusBackground","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.")),listInactiveFocusOutline=registerColor("list.inactiveFocusOutline",null,localize("listInactiveFocusOutline","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.")),listHoverBackground=registerColor("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:Color$1.white.transparent(.1),hcLight:Color$1.fromHex("#0F4A85").transparent(.1)},localize("listHoverBackground","List/Tree background when hovering over items using the mouse.")),listHoverForeground=registerColor("list.hoverForeground",null,localize("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),listDropOverBackground=registerColor("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},localize("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),listDropBetweenBackground=registerColor("list.dropBetweenBackground",{dark:iconForeground,light:iconForeground,hcDark:null,hcLight:null},localize("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),listHighlightForeground=registerColor("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:focusBorder,hcLight:focusBorder},localize("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),listFocusHighlightForeground=registerColor("list.focusHighlightForeground",{dark:listHighlightForeground,light:ifDefinedThenElse(listActiveSelectionBackground,listHighlightForeground,"#BBE7FF"),hcDark:listHighlightForeground,hcLight:listHighlightForeground},localize("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));registerColor("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},localize("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),registerColor("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},localize("listErrorForeground","Foreground color of list items containing errors.")),registerColor("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},localize("listWarningForeground","Foreground color of list items containing warnings."));const listFilterWidgetBackground=registerColor("listFilterWidget.background",{light:darken$1(editorWidgetBackground,0),dark:lighten(editorWidgetBackground,0),hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),listFilterWidgetOutline=registerColor("listFilterWidget.outline",{dark:Color$1.transparent,light:Color$1.transparent,hcDark:"#f38518",hcLight:"#007ACC"},localize("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),listFilterWidgetNoMatchesOutline=registerColor("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:contrastBorder,hcLight:contrastBorder},localize("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),listFilterWidgetShadow=registerColor("listFilterWidget.shadow",widgetShadow,localize("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees."));registerColor("list.filterMatchBackground",{dark:editorFindMatchHighlight,light:editorFindMatchHighlight,hcDark:null,hcLight:null},localize("listFilterMatchHighlight","Background color of the filtered match.")),registerColor("list.filterMatchBorder",{dark:editorFindMatchHighlightBorder,light:editorFindMatchHighlightBorder,hcDark:contrastBorder,hcLight:activeContrastBorder},localize("listFilterMatchHighlightBorder","Border color of the filtered match.")),registerColor("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},localize("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const treeIndentGuidesStroke=registerColor("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},localize("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),treeInactiveIndentGuidesStroke=registerColor("tree.inactiveIndentGuidesStroke",transparent(treeIndentGuidesStroke,.4),localize("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),tableColumnsBorder=registerColor("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},localize("tableColumnsBorder","Table border color between columns.")),tableOddRowsBackgroundColor=registerColor("tree.tableOddRowsBackground",{dark:transparent(foreground,.04),light:transparent(foreground,.04),hcDark:null,hcLight:null},localize("tableOddRowsBackgroundColor","Background color for odd table rows."));registerColor("editorActionList.background",editorWidgetBackground,localize("editorActionListBackground","Action List background color.")),registerColor("editorActionList.foreground",editorWidgetForeground,localize("editorActionListForeground","Action List foreground color.")),registerColor("editorActionList.focusForeground",listActiveSelectionForeground,localize("editorActionListFocusForeground","Action List foreground color for the focused item.")),registerColor("editorActionList.focusBackground",listActiveSelectionBackground,localize("editorActionListFocusBackground","Action List background color for the focused item."));const menuBorder=registerColor("menu.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("menuBorder","Border color of menus.")),menuForeground=registerColor("menu.foreground",selectForeground,localize("menuForeground","Foreground color of menu items.")),menuBackground=registerColor("menu.background",selectBackground,localize("menuBackground","Background color of menu items.")),menuSelectionForeground=registerColor("menu.selectionForeground",listActiveSelectionForeground,localize("menuSelectionForeground","Foreground color of the selected menu item in menus.")),menuSelectionBackground=registerColor("menu.selectionBackground",listActiveSelectionBackground,localize("menuSelectionBackground","Background color of the selected menu item in menus.")),menuSelectionBorder=registerColor("menu.selectionBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("menuSelectionBorder","Border color of the selected menu item in menus.")),menuSeparatorBackground=registerColor("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:contrastBorder,hcLight:contrastBorder},localize("menuSeparatorBackground","Color of a separator menu item in menus.")),quickInputBackground=registerColor("quickInput.background",editorWidgetBackground,localize("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),quickInputForeground=registerColor("quickInput.foreground",editorWidgetForeground,localize("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),quickInputTitleBackground=registerColor("quickInputTitle.background",{dark:new Color$1(new RGBA$1(255,255,255,.105)),light:new Color$1(new RGBA$1(0,0,0,.06)),hcDark:"#000000",hcLight:Color$1.white},localize("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),pickerGroupForeground=registerColor("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:Color$1.white,hcLight:"#0F4A85"},localize("pickerGroupForeground","Quick picker color for grouping labels.")),pickerGroupBorder=registerColor("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:Color$1.white,hcLight:"#0F4A85"},localize("pickerGroupBorder","Quick picker color for grouping borders.")),_deprecatedQuickInputListFocusBackground=registerColor("quickInput.list.focusBackground",null,"",void 0,localize("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),quickInputListFocusForeground=registerColor("quickInputList.focusForeground",listActiveSelectionForeground,localize("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),quickInputListFocusIconForeground=registerColor("quickInputList.focusIconForeground",listActiveSelectionIconForeground,localize("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),quickInputListFocusBackground=registerColor("quickInputList.focusBackground",{dark:oneOf(_deprecatedQuickInputListFocusBackground,listActiveSelectionBackground),light:oneOf(_deprecatedQuickInputListFocusBackground,listActiveSelectionBackground),hcDark:null,hcLight:null},localize("quickInput.listFocusBackground","Quick picker background color for the focused item."));registerColor("search.resultsInfoForeground",{light:foreground,dark:transparent(foreground,.65),hcDark:foreground,hcLight:foreground},localize("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),registerColor("searchEditor.findMatchBackground",{light:transparent(editorFindMatchHighlight,.66),dark:transparent(editorFindMatchHighlight,.66),hcDark:editorFindMatchHighlight,hcLight:editorFindMatchHighlight},localize("searchEditor.queryMatch","Color of the Search Editor query matches.")),registerColor("searchEditor.findMatchBorder",{light:transparent(editorFindMatchHighlightBorder,.66),dark:transparent(editorFindMatchHighlightBorder,.66),hcDark:editorFindMatchHighlightBorder,hcLight:editorFindMatchHighlightBorder},localize("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."));var __decorate$2v=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2l=function(e,t){return function(i,o){t(i,o,e)}};const IHoverService=createDecorator("hoverService");let WorkbenchHoverDelegate=class extends Disposable{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,i={},o,n){super(),this.placement=e,this.instantHover=t,this.overrideOptions=i,this.configurationService=o,this.hoverService=n,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new DisposableStore),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))}))}showHover(e,t){const i="function"==typeof this.overrideOptions?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const o=isHTMLElement$1(e.target)?[e.target]:e.target.targetElements;for(const r of o)this.hoverDisposables.add(addStandardDisposableListener(r,"keydown",e=>{e.equals(9)&&this.hoverService.hideHover()}));const n=isHTMLElement$1(e.content)?void 0:e.content.toString();return this.hoverService.showHover({...e,...i,persistence:{hideOnKeyDown:!0,...i.persistence},id:n,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...i.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTime{try{e.releasePointerCapture(t)}catch(i){}}))}catch(s){r=getWindow$2(e)}this._hooks.add(addDisposableListener(r,EventType$1.POINTER_MOVE,e=>{e.buttons===i?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)})),this._hooks.add(addDisposableListener(r,EventType$1.POINTER_UP,e=>this.stopMonitoring(!0)))}}function memoize$1(e,t,i){let o=null,n=null;if("function"==typeof i.value?(o="value",n=i.value,0!==n.length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof i.get&&(o="get",n=i.get),!n)throw new Error("not supported");const r=`$memoize$${t}`;i[o]=function(...e){return this.hasOwnProperty(r)||Object.defineProperty(this,r,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,e)}),this[r]}}var __decorate$2u=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},EventType;!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(EventType||(EventType={}));class Gesture extends 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(Event$1.runAndSubscribe(onDidRegisterWindow,({window:e,disposables:t})=>{t.add(addDisposableListener(e.document,"touchstart",e=>this.onTouchStart(e),{passive:!1})),t.add(addDisposableListener(e.document,"touchend",t=>this.onTouchEnd(e,t))),t.add(addDisposableListener(e.document,"touchmove",e=>this.onTouchMove(e),{passive:!1}))},{window:mainWindow,disposables:this._store}))}static addTarget(e){if(!Gesture.isTouchDevice())return Disposable.None;Gesture.INSTANCE||(Gesture.INSTANCE=markAsSingleton(new Gesture));return toDisposable(Gesture.INSTANCE.targets.push(e))}static ignoreTarget(e){if(!Gesture.isTouchDevice())return Disposable.None;Gesture.INSTANCE||(Gesture.INSTANCE=markAsSingleton(new Gesture));return toDisposable(Gesture.INSTANCE.ignoreTargets.push(e))}static isTouchDevice(){return"ontouchstart"in mainWindow||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,o=e.targetTouches.length;i=Gesture.HOLD_DELAY&&Math.abs(s.initialPageX-tail(s.rollingPageX))<30&&Math.abs(s.initialPageY-tail(s.rollingPageY))<30){const e=this.newGestureEvent(EventType.Contextmenu,s.initialTarget);e.pageX=tail(s.rollingPageX),e.pageY=tail(s.rollingPageY),this.dispatchEvent(e)}else if(1===o){const t=tail(s.rollingPageX),o=tail(s.rollingPageY),n=tail(s.rollingTimestamps)-s.rollingTimestamps[0],r=t-s.rollingPageX[0],a=o-s.rollingPageY[0],l=[...this.targets].filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(e,l,i,Math.abs(r)/n,r>0?1:-1,t,Math.abs(a)/n,a>0?1:-1,o)}this.dispatchEvent(this.newGestureEvent(EventType.End,s.initialTarget)),delete this.activeTouches[r.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===EventType.Tap){const t=(new Date).getTime();let i=0;i=t-this._lastSetTapCountTime>Gesture.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=t,e.tapCount=i}else e.type!==EventType.Change&&e.type!==EventType.Contextmenu||(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let o=0,n=e.initialTarget;for(;n&&n!==i;)o++,n=n.parentElement;t.push([o,i])}t.sort((e,t)=>e[0]-t[0]);for(const[i,o]of t)o.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,o,n,r,s,a,l){this.handle=scheduleAtNextAnimationFrame(e,()=>{const c=Date.now(),d=c-i;let u=0,h=0,p=!0;o+=Gesture.SCROLL_FRICTION*d,s+=Gesture.SCROLL_FRICTION*d,o>0&&(p=!1,u=n*o*d),s>0&&(p=!1,h=a*s*d);const g=this.newGestureEvent(EventType.Change);g.translationX=u,g.translationY=h,t.forEach(e=>e.dispatchEvent(g)),p||this.inertia(e,t,c,o,n,r+u,s,a,l+h)})}onTouchMove(e){const t=Date.now();for(let i=0,o=e.changedTouches.length;i3&&(n.rollingPageX.shift(),n.rollingPageY.shift(),n.rollingTimestamps.shift()),n.rollingPageX.push(o.pageX),n.rollingPageY.push(o.pageY),n.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}__decorate$2u([memoize$1],Gesture,"isTouchDevice",null);let Widget$1=class extends Disposable{onclick(e,t){this._register(addDisposableListener(e,EventType$1.CLICK,i=>t(new StandardMouseEvent(getWindow$2(e),i))))}onmousedown(e,t){this._register(addDisposableListener(e,EventType$1.MOUSE_DOWN,i=>t(new StandardMouseEvent(getWindow$2(e),i))))}onmouseover(e,t){this._register(addDisposableListener(e,EventType$1.MOUSE_OVER,i=>t(new StandardMouseEvent(getWindow$2(e),i))))}onmouseleave(e,t){this._register(addDisposableListener(e,EventType$1.MOUSE_LEAVE,i=>t(new StandardMouseEvent(getWindow$2(e),i))))}onkeydown(e,t){this._register(addDisposableListener(e,EventType$1.KEY_DOWN,e=>t(new StandardKeyboardEvent(e))))}onkeyup(e,t){this._register(addDisposableListener(e,EventType$1.KEY_UP,e=>t(new StandardKeyboardEvent(e))))}oninput(e,t){this._register(addDisposableListener(e,EventType$1.INPUT,t))}onblur(e,t){this._register(addDisposableListener(e,EventType$1.BLUR,t))}onfocus(e,t){this._register(addDisposableListener(e,EventType$1.FOCUS,t))}ignoreGesture(e){return Gesture.ignoreTarget(e)}};const ARROW_IMG_SIZE=11;class ScrollbarArrow extends Widget$1{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",void 0!==e.top&&(this.bgDomNode.style.top="0px"),void 0!==e.left&&(this.bgDomNode.style.left="0px"),void 0!==e.bottom&&(this.bgDomNode.style.bottom="0px"),void 0!==e.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...ThemeIcon.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width=ARROW_IMG_SIZE+"px",this.domNode.style.height=ARROW_IMG_SIZE+"px",void 0!==e.top&&(this.domNode.style.top=e.top+"px"),void 0!==e.left&&(this.domNode.style.left=e.left+"px"),void 0!==e.bottom&&(this.domNode.style.bottom=e.bottom+"px"),void 0!==e.right&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new GlobalPointerMoveMonitor),this._register(addStandardDisposableListener(this.bgDomNode,EventType$1.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(addStandardDisposableListener(this.domNode,EventType$1.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new WindowIntervalTimer),this._pointerdownScheduleRepeatTimer=this._register(new TimeoutTimer)}_arrowPointerDown(e){if(!(e.target&&e.target instanceof Element))return;this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,getWindow$2(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}}class ScrollbarVisibilityController extends Disposable{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new TimeoutTimer)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?" fade":"")))}}const POINTER_DRAG_RESET_DISTANCE$1=140;class AbstractScrollbar extends Widget$1{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new ScrollbarVisibilityController(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new GlobalPointerMoveMonitor),this._shouldRender=!0,this.domNode=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(addDisposableListener(this.domNode.domNode,EventType$1.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){const t=this._register(new ScrollbarArrow(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,o){this.slider=createFastDomNode(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),"number"==typeof i&&this.slider.setWidth(i),"number"==typeof o&&this.slider.setHeight(o),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(addDisposableListener(this.slider.domNode,EventType$1.POINTER_DOWN,e=>{0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(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(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),o=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),n=this._sliderPointerPosition(e);i<=n&&n<=o?0===e.button&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&"number"==typeof e.offsetX&&"number"==typeof e.offsetY)t=e.offsetX,i=e.offsetY;else{const o=getDomNodePagePosition(this.domNode.domNode);t=e.pageX-o.left,i=e.pageY-o.top}const o=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(o):this._scrollbarState.getDesiredScrollPositionFromOffset(o)),0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),o=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{const n=this._sliderOrthogonalPointerPosition(e),r=Math.abs(n-i);if(isWindows&&r>POINTER_DRAG_RESET_DISTANCE$1)return void this._setDesiredScrollPositionNow(o.getScrollPosition());const s=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(o.getDesiredScrollPositionFromDelta(s))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}const MINIMUM_SLIDER_SIZE=20;class ScrollbarState{constructor(e,t,i,o,n,r){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=o,this._scrollSize=n,this._scrollPosition=r,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new ScrollbarState(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,o,n){const r=Math.max(0,i-e),s=Math.max(0,r-2*t),a=o>0&&o>i;if(!a)return{computedAvailableSize:Math.round(r),computedIsNeeded:a,computedSliderSize:Math.round(s),computedSliderRatio:0,computedSliderPosition:0};const l=Math.round(Math.max(MINIMUM_SLIDER_SIZE,Math.floor(i*s/o))),c=(s-l)/(o-i),d=n*c;return{computedAvailableSize:Math.round(r),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:c,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){const e=ScrollbarState._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 t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return tthis._host.onMouseWheel(new StandardWheelEvent(null,1,0))}),this._createArrow({className:"scra",icon:Codicon.scrollbarButtonRight,top:i,left:void 0,bottom:void 0,right:e,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(2===e.horizontal?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class VerticalScrollbar extends AbstractScrollbar{constructor(e,t,i){const o=e.getScrollDimensions(),n=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new ScrollbarState(t.verticalHasArrows?t.arrowSize:0,2===t.vertical?0:t.verticalScrollbarSize,0,o.height,o.scrollHeight,n.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const e=(t.arrowSize-ARROW_IMG_SIZE)/2,i=(t.verticalScrollbarSize-ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:Codicon.scrollbarButtonUp,top:e,left:i,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,0,1))}),this._createArrow({className:"scra",icon:Codicon.scrollbarButtonDown,top:void 0,left:i,bottom:e,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class ScrollState{constructor(e,t,i,o,n,r,s){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,i|=0,o|=0,n|=0,r|=0,s|=0),this.rawScrollLeft=o,this.rawScrollTop=s,t<0&&(t=0),o+t>i&&(o=i-t),o<0&&(o=0),n<0&&(n=0),s+n>r&&(s=r-n),s<0&&(s=0),this.width=t,this.scrollWidth=i,this.scrollLeft=o,this.height=n,this.scrollHeight=r,this.scrollTop=s}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new ScrollState(this._forceIntegerValues,void 0!==e.width?e.width:this.width,void 0!==e.scrollWidth?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,void 0!==e.height?e.height:this.height,void 0!==e.scrollHeight?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new ScrollState(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==e.scrollLeft?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==e.scrollTop?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,o=this.scrollWidth!==e.scrollWidth,n=this.scrollLeft!==e.scrollLeft,r=this.height!==e.height,s=this.scrollHeight!==e.scrollHeight,a=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:o,scrollLeftChanged:n,heightChanged:r,scrollHeightChanged:s,scrollTopChanged:a}}}let Scrollable$1=class extends Disposable{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new Emitter$1),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new ScrollState(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){const i=this._state.withScrollDimensions(e,t);this._setState(i,Boolean(this._smoothScrolling)),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let o;o=t?new SmoothScrollingOperation(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=o}else{const t=this._state.withScrollPosition(e);this._smoothScrolling=SmoothScrollingOperation.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);return this._setState(t,!0),this._smoothScrolling?e.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})):void 0}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}};class SmoothScrollingUpdate{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function createEaseOutCubic(e,t){const i=t-e;return function(t){return e+i*easeOutCubic(t)}}function createComposed(e,t,i){return function(o){return o2.5*i){let o,n;return e0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if(this._isAlmostInt(e.deltaX)&&this._isAlmostInt(e.deltaY)||(i+=.25),t){const o=Math.abs(e.deltaX),n=Math.abs(e.deltaY),r=Math.abs(t.deltaX),s=Math.abs(t.deltaY),a=Math.max(Math.min(o,r),1),l=Math.max(Math.min(n,s),1),c=Math.max(o,r),d=Math.max(n,s);c%a===0&&d%l===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}class AbstractScrollableElement extends Widget$1{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new Emitter$1),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new Emitter$1),e.style.overflow="hidden",this._options=resolveOptions$2(t),this._scrollable=i,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));const o={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new VerticalScrollbar(this._scrollable,this._options,o)),this._horizontalScrollbar=this._register(new HorizontalScrollbar(this._scrollable,this._options,o)),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(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=createFastDomNode(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=createFastDomNode(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=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,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new TimeoutTimer),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=dispose(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,isMacintosh&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){void 0!==e.handleMouseWheel&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==e.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),void 0!==e.fastScrollSensitivity&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),void 0!==e.scrollPredominantAxis&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),void 0!==e.horizontal&&(this._options.horizontal=e.horizontal),void 0!==e.vertical&&(this._options.vertical=e.vertical),void 0!==e.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),void 0!==e.verticalScrollbarSize&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),void 0!==e.scrollByPage&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new StandardWheelEvent(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=dispose(this._mouseWheelToDispose),e)){const e=e=>{this._onMouseWheel(new StandardWheelEvent(e))};this._mouseWheelToDispose.push(addDisposableListener(this._listenOnDomNode,EventType$1.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;const t=MouseWheelClassifier.INSTANCE;t.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let o=e.deltaY*this._options.mouseWheelScrollSensitivity,n=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&n+o===0?n=o=0:Math.abs(o)>=Math.abs(n)?n=0:o=0),this._options.flipAxes&&([o,n]=[n,o]);const r=!isMacintosh&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!r||n||(n=o,o=0),e.browserEvent&&e.browserEvent.altKey&&(n*=this._options.fastScrollSensitivity,o*=this._options.fastScrollSensitivity);const s=this._scrollable.getFutureScrollPosition();let a={};if(o){const e=SCROLL_WHEEL_SENSITIVITY*o,t=s.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(a,t)}if(n){const e=SCROLL_WHEEL_SENSITIVITY*n,t=s.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(a,t)}if(a=this._scrollable.validateScrollPosition(a),s.scrollLeft!==a.scrollLeft||s.scrollTop!==a.scrollTop){this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),i=!0}}let o=i;!o&&this._options.alwaysConsumeMouseWheel&&(o=!0),!o&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(o=!0),o&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||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 e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,o=i?" left":"",n=t?" top":"",r=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${o}`),this._topShadowDomNode.setClassName(`shadow${n}`),this._topLeftShadowDomNode.setClassName(`shadow${r}${n}${o}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){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(),HIDE_TIMEOUT)}}class ScrollableElement extends AbstractScrollableElement{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new Scrollable$1({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>scheduleAtNextAnimationFrame(getWindow$2(e),t)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class SmoothScrollableElement extends AbstractScrollableElement{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class DomScrollableElement extends AbstractScrollableElement{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new Scrollable$1({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>scheduleAtNextAnimationFrame(getWindow$2(e),t)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll(e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)})),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}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})}}function resolveOptions$2(e){const t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==e.consumeMouseWheelIfScrollbarIsNeeded&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,scrollPredominantAxis:void 0===e.scrollPredominantAxis||e.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:1,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:1,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0,scrollByPage:void 0!==e.scrollByPage&&e.scrollByPage};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,isMacintosh&&(t.className+=" mac"),t}const $$e=$$f;let HoverWidget$1=class extends 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 DomScrollableElement(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}};class HoverAction extends Disposable{static render(e,t,i){return new HoverAction(e,t,i)}constructor(e,t,i){super(),this.actionLabel=t.label,this.actionKeybindingLabel=i,this.actionContainer=append$2(e,$$e("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=append$2(this.actionContainer,$$e("a.action")),this.action.setAttribute("role","button"),t.iconClass&&append$2(this.action,$$e(`span.icon.${t.iconClass}`));append$2(this.action,$$e("span")).textContent=i?`${t.label} (${i})`:t.label,this._store.add(new ClickAction(this.actionContainer,t.run)),this._store.add(new KeyDownAction(this.actionContainer,t.run,[3,10])),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}function getHoverAccessibleViewHint(e,t){return e&&t?localize("acessibleViewHint","Inspect this in the accessible view with {0}.",t):e?localize("acessibleViewHintNoKbOpen","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}class ClickAction extends Disposable{constructor(e,t){super(),this._register(addDisposableListener(e,EventType$1.CLICK,i=>{i.stopPropagation(),i.preventDefault(),t(e)}))}}class KeyDownAction extends Disposable{constructor(e,t,i){super(),this._register(addDisposableListener(e,EventType$1.KEY_DOWN,o=>{const n=new StandardKeyboardEvent(o);i.some(e=>n.equals(e))&&(o.stopPropagation(),o.preventDefault(),t(e))}))}}const IOpenerService=createDecorator("openerService");function extractSelection(e){let t;const i=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(e.fragment);return i&&(t={startLineNumber:parseInt(i[1]),startColumn:i[2]?parseInt(i[2]):1,endLineNumber:i[4]?parseInt(i[4]):void 0,endColumn:i[4]?i[5]?parseInt(i[5]):1:void 0},e=e.with({fragment:""})),{selection:t,uri:e}}class DomEmitter{get event(){return this.emitter.event}constructor(e,t,i){const o=e=>this.emitter.fire(e);this.emitter=new Emitter$1({onWillAddFirstListener:()=>e.addEventListener(t,o,i),onDidRemoveLastListener:()=>e.removeEventListener(t,o,i)})}dispose(){this.emitter.dispose()}}function renderText(e,t={}){const i=createElement$1(t);return i.textContent=e,i}function renderFormattedText(e,t={}){const i=createElement$1(t);return _renderFormattedText(i,parseFormattedText(e,!!t.renderCodeSegments),t.actionHandler,t.renderCodeSegments),i}function createElement$1(e){const t=e.inline?"span":"div",i=document.createElement(t);return e.className&&(i.className=e.className),i}class StringStream{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function _renderFormattedText(e,t,i,o){let n;if(2===t.type)n=document.createTextNode(t.content||"");else if(3===t.type)n=document.createElement("b");else if(4===t.type)n=document.createElement("i");else if(7===t.type&&o)n=document.createElement("code");else if(5===t.type&&i){const e=document.createElement("a");i.disposables.add(addStandardDisposableListener(e,"click",e=>{i.callback(String(t.index),e)})),n=e}else 8===t.type?n=document.createElement("br"):1===t.type&&(n=e);n&&e!==n&&e.appendChild(n),n&&Array.isArray(t.children)&&t.children.forEach(e=>{_renderFormattedText(n,e,i,o)})}function parseFormattedText(e,t){const i={type:1,children:[]};let o=0,n=i;const r=[],s=new StringStream(e);for(;!s.eos();){let e=s.next();const i="\\"===e&&0!==formatTagType(s.peek(),t);if(i&&(e=s.next()),!i&&isFormatTag(e,t)&&e===s.peek()){s.advance(),2===n.type&&(n=r.pop());const i=formatTagType(e,t);if(n.type===i||5===n.type&&6===i)n=r.pop();else{const e={type:i,children:[]};5===i&&(e.index=o,o++),n.children.push(e),r.push(n),n=e}}else if("\n"===e)2===n.type&&(n=r.pop()),n.children.push({type:8});else if(2!==n.type){const t={type:2,content:e};n.children.push(t),r.push(n),n=t}else n.content+=e}return 2===n.type&&(n=r.pop()),i}function isFormatTag(e,t){return 0!==formatTagType(e,t)}function formatTagType(e,t){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return t?7:0;default:return 0}}const labelWithIconsRegex=new RegExp(`(\\\\)?\\$\\((${ThemeIcon.iconNameExpression}(?:${ThemeIcon.iconModifierExpression})?)\\)`,"g");function renderLabelWithIcons(e){const t=new Array;let i,o=0,n=0;for(;null!==(i=labelWithIconsRegex.exec(e));){n=i.index||0,o0)return new Uint32Array(t)}let codeBufferLength=0;const codeBuffer=new Uint32Array(10);function disassembleKorean(e){if(codeBufferLength=0,getCodesFromArray(e,modernConsonants,4352),codeBufferLength>0)return codeBuffer.subarray(0,codeBufferLength);if(getCodesFromArray(e,modernVowels,4449),codeBufferLength>0)return codeBuffer.subarray(0,codeBufferLength);if(getCodesFromArray(e,modernFinalConsonants,4520),codeBufferLength>0)return codeBuffer.subarray(0,codeBufferLength);if(getCodesFromArray(e,compatibilityJamo,12593),codeBufferLength)return codeBuffer.subarray(0,codeBufferLength);if(e>=44032&&e<=55203){const t=e-44032,i=t%588,o=Math.floor(t/588),n=Math.floor(i/28),r=i%28-1;if(o=0&&(r0)return codeBuffer.subarray(0,codeBufferLength)}}function getCodesFromArray(e,t,i){e>=i&&e>8&&(codeBuffer[codeBufferLength++]=e>>8&255),e>>16&&(codeBuffer[codeBufferLength++]=e>>16&255))}const modernConsonants=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),modernVowels=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),modernFinalConsonants=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]),compatibilityJamo=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);function or(...e){return function(t,i){for(let o=0,n=e.length;o0?[{start:0,end:t.length}]:[]:null}function matchesContiguousSubString(e,t){const i=t.toLowerCase().indexOf(e.toLowerCase());return-1===i?null:[{start:i,end:i+e.length}]}function matchesSubString(e,t){return _matchesSubString(e.toLowerCase(),t.toLowerCase(),0,0)}function _matchesSubString(e,t,i,o){if(i===e.length)return[];if(o===t.length)return null;if(e[i]===t[o]){let n=null;return(n=_matchesSubString(e,t,i+1,o+1))?join({start:o,end:o+1},n):null}return _matchesSubString(e,t,i,o+1)}function isLower(e){return 97<=e&&e<=122}function isUpper(e){return 65<=e&&e<=90}function isNumber$4(e){return 48<=e&&e<=57}function isWhitespace(e){return 32===e||9===e||10===e||13===e}const wordSeparators=new Set;function isWordSeparator(e){return isWhitespace(e)||wordSeparators.has(e)}function charactersMatch(e,t){return e===t||isWordSeparator(e)&&isWordSeparator(t)}"()[]{}<>`'\"-/;:,.?!".split("").forEach(e=>wordSeparators.add(e.charCodeAt(0)));const alternateCharsCache=new Map;function getAlternateCodes(e){if(alternateCharsCache.has(e))return alternateCharsCache.get(e);let t;const i=getKoreanAltChars(e);return i&&(t=i),alternateCharsCache.set(e,t),t}function isAlphanumeric(e){return isLower(e)||isUpper(e)||isNumber$4(e)}function join(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function nextAnchor(e,t){for(let i=t;i0&&!isAlphanumeric(e.charCodeAt(i-1)))return i}return e.length}function _matchesCamelCase(e,t,i,o){if(i===e.length)return[];if(o===t.length)return null;if(e[i]!==t[o].toLowerCase())return null;{let n=null,r=o+1;for(n=_matchesCamelCase(e,t,i+1,o+1);!n&&(r=nextAnchor(t,r)).6}function isCamelCaseWord(e){const{upperPercent:t,lowerPercent:i,alphaPercent:o,numericPercent:n}=e;return i>.2&&t<.8&&o>.6&&n<.2}function isCamelCasePattern(e){let t=0,i=0,o=0,n=0;for(let r=0;r60&&(t=t.substring(0,60));const i=analyzeCamelCaseWord(t);if(!isCamelCaseWord(i)){if(!isUpperCaseWord(i))return null;t=t.toLowerCase()}let o=null,n=0;for(e=e.toLowerCase();n0&&isWordSeparator(e.charCodeAt(i-1)))return i;return e.length}const fuzzyContiguousFilter=or(matchesPrefix,matchesCamelCase,matchesContiguousSubString),fuzzySeparateFilter=or(matchesPrefix,matchesCamelCase,matchesSubString),fuzzyRegExpCache=new LRUCache(1e4);function matchesFuzzy(e,t,i=!1){if("string"!=typeof e||"string"!=typeof t)return null;let o=fuzzyRegExpCache.get(e);o||(o=new RegExp(convertSimple2RegExpPattern(e),"i"),fuzzyRegExpCache.set(e,o));const n=o.exec(t);return n?[{start:n.index,end:n.index+n[0].length}]:i?fuzzySeparateFilter(e,t):fuzzyContiguousFilter(e,t)}function matchesFuzzy2(e,t){const i=fuzzyScore(e,e.toLowerCase(),0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return i?createMatches(i):null}function anyScore(e,t,i,o,n,r){const s=Math.min(13,e.length);for(;i1;o--){const n=e[o]+i,r=t[t.length-1];r&&r.end===n?r.end=n+1:t.push({start:n,end:n+1})}return t}const _maxLen=128;function initTable(){const e=[],t=[];for(let i=0;i<=_maxLen;i++)t[i]=0;for(let i=0;i<=_maxLen;i++)e.push(t.slice(0));return e}function initArr(e){const t=[];for(let i=0;i<=e;i++)t[i]=0;return t}const _minWordMatchPos=initArr(2*_maxLen),_maxWordMatchPos=initArr(2*_maxLen),_diag=initTable(),_table=initTable(),_arrows=initTable();function isSeparatorAtPos(e,t){if(t<0||t>=e.length)return!1;const i=e.codePointAt(t);switch(i){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!!isEmojiImprecise(i)}}function isWhitespaceAtPos(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function isUpperCaseAtPos(e,t,i){return t[e]!==i[e]}function isPatternInWord(e,t,i,o,n,r,s=!1){for(;t_maxLen?_maxLen:e.length,l=o.length>_maxLen?_maxLen:o.length;if(i>=a||r>=l||a-i>l-r)return;if(!isPatternInWord(t,i,a,n,r,l,!0))return;_fillInMaxWordMatchPos(a,l,i,r,t,n);let c=1,d=1,u=i,h=r;const p=[!1];for(c=1,u=i;us,b=v?_table[c][d-1]+(_diag[c][d-1]>0?-5:0):0,_=h>s+1&&_diag[c][d-1]>0,y=_?_table[c][d-2]+(_diag[c][d-2]>0?-5:0):0;if(_&&(!v||y>=b)&&(!m||y>=f))_table[c][d]=y,_arrows[c][d]=3,_diag[c][d]=0;else if(v&&(!m||b>=f))_table[c][d]=b,_arrows[c][d]=2,_diag[c][d]=0;else{if(!m)throw new Error("not possible");_table[c][d]=f,_arrows[c][d]=1,_diag[c][d]=_diag[c-1][d-1]+1}}}if(!p[0]&&!s.firstMatchCanBeWeak)return;c--,d--;const g=[_table[c][d],r];let m=0,f=0;for(;c>=1;){let e=d;do{const t=_arrows[c][e];if(3===t)e-=2;else{if(2!==t)break;e-=1}}while(e>=1);m>1&&t[i+c-1]===n[r+d-1]&&!isUpperCaseAtPos(e+r-1,o,n)&&m+1>_diag[c][e]&&(e=d),e===d?m++:m=1,f||(f=e),c--,d=e-1,g.push(d)}l-r===a&&s.boostFullMatch&&(g[0]+=2);const v=f-a;return g[0]-=v,g}function _fillInMaxWordMatchPos(e,t,i,o,n,r){let s=e-1,a=t-1;for(;s>=i&&a>=o;)n[s]===r[a]&&(_maxWordMatchPos[s]=a,s--),a--}function _doScore(e,t,i,o,n,r,s,a,l,c,d){if(t[i]!==r[s])return Number.MIN_SAFE_INTEGER;let u=1,h=!1;return s===i-o?u=e[i]===n[s]?7:5:!isUpperCaseAtPos(s,n,r)||0!==s&&isUpperCaseAtPos(s-1,n,r)?!isSeparatorAtPos(r,s)||0!==s&&isSeparatorAtPos(r,s-1)?(isSeparatorAtPos(r,s-1)||isWhitespaceAtPos(r,s-1))&&(u=5,h=!0):u=5:(u=e[i]===n[s]?7:5,h=!0),u>1&&i===o&&(d[0]=!0),h||(h=isUpperCaseAtPos(s,n,r)||isSeparatorAtPos(r,s-1)||isWhitespaceAtPos(r,s-1)),i===o?s>l&&(u-=h?3:5):u+=c?h?2:0:h?0:1,s+1===a&&(u-=h?3:5),u}function fuzzyScoreGracefulAggressive(e,t,i,o,n,r,s){return fuzzyScoreWithPermutations(e,t,i,o,n,r,!0,s)}function fuzzyScoreWithPermutations(e,t,i,o,n,r,s,a){let l=fuzzyScore(e,t,i,o,n,r,a);if(e.length>=3){const t=Math.min(7,e.length-1);for(let s=i+1;sl[0])&&(l=e))}}}return l}function nextTypoPermutation(e,t){if(t+1>=e.length)return;const i=e[t],o=e[t+1];return i!==o?e.slice(0,t)+o+i+e.slice(t+2):void 0}const iconStartMarker="$(",iconsRegex=new RegExp(`\\$\\(${ThemeIcon.iconNameExpression}(?:${ThemeIcon.iconModifierExpression})?\\)`,"g"),escapeIconsRegex=new RegExp(`(\\\\)?${iconsRegex.source}`,"g");function escapeIcons(e){return e.replace(escapeIconsRegex,(e,t)=>t?e:`\\${e}`)}const markdownEscapedIconsRegex=new RegExp(`\\\\${iconsRegex.source}`,"g");function markdownEscapeEscapedIcons(e){return e.replace(markdownEscapedIconsRegex,e=>`\\${e}`)}const stripIconsRegex=new RegExp(`(\\s)?(\\\\)?${iconsRegex.source}(\\s)?`,"g");function stripIcons(e){return-1===e.indexOf(iconStartMarker)?e:e.replace(stripIconsRegex,(e,t,i,o)=>i?e:t||o||"")}function getCodiconAriaLabel(e){return e?e.replace(/\$\((.*?)\)/g,(e,t)=>` ${t} `).trim():""}const _parseIconsRegex=new RegExp(`\\$\\(${ThemeIcon.iconNameCharacter}+\\)`,"g");function parseLabelWithIcons(e){_parseIconsRegex.lastIndex=0;let t="";const i=[];let o=0;for(;;){const n=_parseIconsRegex.lastIndex,r=_parseIconsRegex.exec(e),s=e.substring(n,r?.index);if(s.length>0){t+=s;for(let e=0;egetRoot(i).length&&i[i.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=sep){return hasTrailingPathSeparator(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=sep){let i=!1;if(e.scheme===Schemas.file){const o=originalFSPath(e);i=void 0!==o&&o.length===getRoot(o).length&&o[o.length-1]===t}else{t="/";const o=e.path;i=1===o.length&&47===o.charCodeAt(o.length-1)}return i||hasTrailingPathSeparator(e,t)?e:e.with({path:e.path+"/"})}}const extUri=new ExtUri(()=>!1),isEqual$1=extUri.isEqual.bind(extUri);extUri.isEqualOrParent.bind(extUri),extUri.getComparisonKey.bind(extUri);const basenameOrAuthority=extUri.basenameOrAuthority.bind(extUri),basename=extUri.basename.bind(extUri),extname=extUri.extname.bind(extUri),dirname=extUri.dirname.bind(extUri),joinPath=extUri.joinPath.bind(extUri),normalizePath=extUri.normalizePath.bind(extUri),relativePath=extUri.relativePath.bind(extUri),resolvePath=extUri.resolvePath.bind(extUri);extUri.isAbsolutePath.bind(extUri);const isEqualAuthority=extUri.isEqualAuthority.bind(extUri),hasTrailingPathSeparator=extUri.hasTrailingPathSeparator.bind(extUri);var DataUri;extUri.removeTrailingPathSeparator.bind(extUri),extUri.addTrailingPathSeparator.bind(extUri),function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(e=>{const[t,o]=e.split(":");t&&o&&i.set(t,o)});const o=t.path.substring(0,t.path.indexOf(";"));return o&&i.set(e.META_DATA_MIME,o),i}}(DataUri||(DataUri={}));class MarkdownString{constructor(e="",t=!1){if(this.value=e,"string"!=typeof this.value)throw illegalArgument("value");"boolean"==typeof t?(this.isTrusted=t,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=t.isTrusted??void 0,this.supportThemeIcons=t.supportThemeIcons??!1,this.supportHtml=t.supportHtml??!1)}appendText(e,t=0){return this.value+=escapeMarkdownSyntaxTokens(this.supportThemeIcons?escapeIcons(e):e).replace(/([ \t]+)/g,(e,t)=>" ".repeat(t.length)).replace(/\>/gm,"\\>").replace(/\n/g,1===t?"\\\n":"\n\n"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+=`\n${appendEscapedMarkdownCodeBlockFence(t,e)}\n`,this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=` "${this._escape(this._escape(i,'"'),")")}"`),this.value+=")",this}_escape(e,t){const i=new RegExp(escapeRegExpCharacters(t),"g");return e.replace(i,(t,i)=>"\\"!==e.charAt(i-1)?`\\${t}`:t)}}function isEmptyMarkdownString(e){return isMarkdownString(e)?!e.value:!Array.isArray(e)||e.every(isEmptyMarkdownString)}function isMarkdownString(e){return e instanceof MarkdownString||!(!e||"object"!=typeof e)&&!("string"!=typeof e.value||"boolean"!=typeof e.isTrusted&&"object"!=typeof e.isTrusted&&void 0!==e.isTrusted||"boolean"!=typeof e.supportThemeIcons&&void 0!==e.supportThemeIcons)}function markdownStringEqual(e,t){return e===t||!(!e||!t)&&(e.value===t.value&&e.isTrusted===t.isTrusted&&e.supportThemeIcons===t.supportThemeIcons&&e.supportHtml===t.supportHtml&&(e.baseUri===t.baseUri||!!e.baseUri&&!!t.baseUri&&isEqual$1(URI.from(e.baseUri),URI.from(t.baseUri))))}function escapeMarkdownSyntaxTokens(e){return e.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function appendEscapedMarkdownCodeBlockFence(e,t){const i=e.match(/^`+/gm)?.reduce((e,t)=>e.length>t.length?e:t).length??0,o=i>=3?i+1:3;return[`${"`".repeat(o)}${t}`,e,`${"`".repeat(o)}`].join("\n")}function escapeDoubleQuotes(e){return e.replace(/"/g,""")}function removeMarkdownEscapes(e){return e?e.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1"):e}function parseHrefAndDimensions(e){const t=[],i=e.split("|").map(e=>e.trim());e=i[0];const o=i[1];if(o){const e=/height=(\d+)/.exec(o),i=/width=(\d+)/.exec(o),n=e?e[1]:"",r=i?i[1]:"",s=isFinite(parseInt(r)),a=isFinite(parseInt(n));s&&t.push(`width="${r}"`),a&&t.push(`height="${n}"`)}return{href:e,dimensions:t}}class IdGenerator{constructor(e){this._prefix=e,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}const defaultGenerator=new IdGenerator("id#");let __marked_exports={};!function(){function t(e,t){t(__marked_exports)}t.amd=!0,function(e,i){t.amd?t(0,i):"object"==typeof exports&&void 0!==module?i(exports):i((e="undefined"!=typeof globalThis?globalThis:e||self).marked={})}(this,function(t){function i(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function o(e){t.defaults=e}t.defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};const n=/[&<>"']/,r=new RegExp(n.source,"g"),s=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,a=new RegExp(s.source,"g"),l={"&":"&","<":"<",">":">",'"':""","'":"'"},c=e=>l[e];function d(e,t){if(t){if(n.test(e))return e.replace(r,c)}else if(s.test(e))return e.replace(a,c);return e}const u=/(^|[^\[])\^/g;function h(e,t){let i="string"==typeof e?e:e.source;t=t||"";const o={replace:(e,t)=>{let n="string"==typeof t?t:t.source;return n=n.replace(u,"$1"),i=i.replace(e,n),o},getRegex:()=>new RegExp(i,t)};return o}function p(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const g={exec:()=>null};function m(e,t){const i=e.replace(/\|/g,(e,t,i)=>{let o=!1,n=t;for(;--n>=0&&"\\"===i[n];)o=!o;return o?"|":" |"}),o=i.split(/ \|/);let n=0;if(o[0].trim()||o.shift(),o.length>0&&!o[o.length-1].trim()&&o.pop(),t)if(o.length>t)o.splice(t);else for(;o.length0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:f(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],i=function(e,t){const i=e.match(/^(\s+)(?:```)/);if(null===i)return t;const o=i[1];return t.split("\n").map(e=>{const t=e.match(/^\s+/);if(null===t)return e;const[i]=t;return i.length>=o.length?e.slice(o.length):e}).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:i}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=f(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:f(t[0],"\n")}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let e=f(t[0],"\n").split("\n"),i="",o="";const n=[];for(;e.length>0;){let t=!1;const r=[];let s;for(s=0;s/.test(e[s]))r.push(e[s]),t=!0;else{if(t)break;r.push(e[s])}e=e.slice(s);const a=r.join("\n"),l=a.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");i=i?`${i}\n${a}`:a,o=o?`${o}\n${l}`:l;const c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,n,!0),this.lexer.state.top=c,0===e.length)break;const d=n[n.length-1];if("code"===d?.type)break;if("blockquote"===d?.type){const t=d,r=t.raw+"\n"+e.join("\n"),s=this.blockquote(r);n[n.length-1]=s,i=i.substring(0,i.length-t.raw.length)+s.raw,o=o.substring(0,o.length-t.text.length)+s.text;break}if("list"===d?.type){const t=d,r=t.raw+"\n"+e.join("\n"),s=this.list(r);n[n.length-1]=s,i=i.substring(0,i.length-d.raw.length)+s.raw,o=o.substring(0,o.length-t.raw.length)+s.raw,e=r.substring(n[n.length-1].raw.length).split("\n");continue}}return{type:"blockquote",raw:i,tokens:n,text:o}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[1].trim();const o=i.length>1,n={type:"list",raw:"",ordered:o,start:o?+i.slice(0,-1):"",loose:!1,items:[]};i=o?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=o?i:"[*+-]");const r=new RegExp(`^( {0,3}${i})((?:[\t ][^\\n]*)?(?:\\n|$))`);let s=!1;for(;e;){let i=!1,o="",a="";if(!(t=r.exec(e)))break;if(this.rules.block.hr.test(e))break;o=t[0],e=e.substring(o.length);let l=t[2].split("\n",1)[0].replace(/^\t+/,e=>" ".repeat(3*e.length)),c=e.split("\n",1)[0],d=!l.trim(),u=0;if(this.options.pedantic?(u=2,a=l.trimStart()):d?u=t[1].length+1:(u=t[2].search(/[^ ]/),u=u>4?1:u,a=l.slice(u),u+=t[1].length),d&&/^ *$/.test(c)&&(o+=c+"\n",e=e.substring(c.length+1),i=!0),!i){const t=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),i=new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),n=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\`\`\`|~~~)`),r=new RegExp(`^ {0,${Math.min(3,u-1)}}#`);for(;e;){const s=e.split("\n",1)[0];if(c=s,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),n.test(c))break;if(r.test(c))break;if(t.test(c))break;if(i.test(e))break;if(c.search(/[^ ]/)>=u||!c.trim())a+="\n"+c.slice(u);else{if(d)break;if(l.search(/[^ ]/)>=4)break;if(n.test(l))break;if(r.test(l))break;if(i.test(l))break;a+="\n"+c}d||c.trim()||(d=!0),o+=s+"\n",e=e.substring(s.length+1),l=c.slice(u)}}n.loose||(s?n.loose=!0:/\n *\n *$/.test(o)&&(s=!0));let h,p=null;this.options.gfm&&(p=/^\[[ xX]\] /.exec(a),p&&(h="[ ] "!==p[0],a=a.replace(/^\[[ xX]\] +/,""))),n.items.push({type:"list_item",raw:o,task:!!p,checked:h,loose:!1,text:a,tokens:[]}),n.raw+=o}n.items[n.items.length-1].raw=n.items[n.items.length-1].raw.trimEnd(),n.items[n.items.length-1].text=n.items[n.items.length-1].text.trimEnd(),n.raw=n.raw.trimEnd();for(let e=0;e"space"===e.type),i=t.length>0&&t.some(e=>/\n.*\n/.test(e.raw));n.loose=i}if(n.loose)for(let e=0;e$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:i,title:o}}}table(e){const t=this.rules.block.table.exec(e);if(!t)return;if(!/[:|]/.test(t[2]))return;const i=m(t[1]),o=t[2].replace(/^\||\| *$/g,"").split("|"),n=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],r={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===o.length){for(const e of o)/^ *-+: *$/.test(e)?r.align.push("right"):/^ *:-+: *$/.test(e)?r.align.push("center"):/^ *:-+ *$/.test(e)?r.align.push("left"):r.align.push(null);for(let e=0;e({text:e,tokens:this.lexer.inline(e),header:!1,align:r.align[t]})));return r}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:d(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=f(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let i=0;for(let o=0;o-1){const i=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,i).trim(),t[3]=""}}let i=t[2],o="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);e&&(i=e[1],o=e[3])}else o=t[3]?t[3].slice(1,-1):"";return i=i.trim(),/^$/.test(e)?i.slice(1):i.slice(1,-1)),v(t,{href:i?i.replace(this.rules.inline.anyPunctuation,"$1"):i,title:o?o.replace(this.rules.inline.anyPunctuation,"$1"):o},t[0],this.lexer)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){const e=t[(i[2]||i[1]).replace(/\s+/g," ").toLowerCase()];if(!e){const e=i[0].charAt(0);return{type:"text",raw:e,text:e}}return v(i,e,i[0],this.lexer)}}emStrong(e,t,i=""){let o=this.rules.inline.emStrongLDelim.exec(e);if(!o)return;if(o[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(o[1]||o[2]||"")||!i||this.rules.inline.punctuation.exec(i)){const i=[...o[0]].length-1;let n,r,s=i,a=0;const l="*"===o[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+i);null!=(o=l.exec(t));){if(n=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!n)continue;if(r=[...n].length,o[3]||o[4]){s+=r;continue}if((o[5]||o[6])&&i%3&&!((i+r)%3)){a+=r;continue}if(s-=r,s>0)continue;r=Math.min(r,r+s+a);const t=[...o[0]][0].length,l=e.slice(0,i+o.index+t+r);if(Math.min(i,r)%2){const e=l.slice(1,-1);return{type:"em",raw:l,text:e,tokens:this.lexer.inlineTokens(e)}}const c=l.slice(2,-2);return{type:"strong",raw:l,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const i=/[^ ]/.test(e),o=/^ /.test(e)&&/ $/.test(e);return i&&o&&(e=e.substring(1,e.length-1)),e=d(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,i;return"@"===t[2]?(e=d(t[1]),i="mailto:"+e):(e=d(t[1]),i=e),{type:"link",raw:t[0],text:e,href:i,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,i;if("@"===t[2])e=d(t[0]),i="mailto:"+e;else{let o;do{o=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(o!==t[0]);e=d(t[0]),i="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:i,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:d(t[0]),{type:"text",raw:t[0],text:e}}}}const _=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,y=/(?:[*+-]|\d{1,9}[.)])/,C=h(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,y).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(),w=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,x=/(?!\s*\])(?:\\.|[^\[\]\\])+/,S=h(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",x).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),k=h(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,y).getRegex(),E="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",I=/|$))/,T=h("^ {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",I).replace("tag",E).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),D=h(w).replace("hr",_).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",E).getRegex(),L={blockquote:h(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",D).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:S,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:_,html:T,lheading:C,list:k,newline:/^(?: *(?:\n|$))+/,paragraph:D,table:g,text:/^[^\n]+/},N=h("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",_).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",E).getRegex(),M={...L,table:N,paragraph:h(w).replace("hr",_).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",N).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",E).getRegex()},$={...L,html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",I).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:g,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:h(w).replace("hr",_).replace("heading"," *#{1,6} *[^\n]").replace("lheading",C).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},R=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,A=/^( {2,}|\\)\n(?!\s*$)/,O="\\p{P}\\p{S}",P=h(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,O).getRegex(),B=h(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,O).getRegex(),F=h("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,O).getRegex(),z=h("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,O).getRegex(),V=h(/\\([punct])/,"gu").replace(/punct/g,O).getRegex(),H=h(/^<(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(),W=h(I).replace("(?:--\x3e|$)","--\x3e").getRegex(),K=h("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",W).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),U=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,j=h(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",U).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),G=h(/^!?\[(label)\]\[(ref)\]/).replace("label",U).replace("ref",x).getRegex(),q=h(/^!?\[(ref)\](?:\[\])?/).replace("ref",x).getRegex(),Y={_backpedal:g,anyPunctuation:V,autolink:H,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:A,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:g,emStrongLDelim:B,emStrongRDelimAst:F,emStrongRDelimUnd:z,escape:R,link:j,nolink:q,punctuation:P,reflink:G,reflinkSearch:h("reflink|nolink(?!\\()","g").replace("reflink",G).replace("nolink",q).getRegex(),tag:K,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\t+" ".repeat(i.length));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(i=>!!(o=i.call({lexer:this},e,t))&&(e=e.substring(o.raw.length),t.push(o),!0))))if(o=this.tokenizer.space(e))e=e.substring(o.raw.length),1===o.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(o);else if(o=this.tokenizer.code(e))e=e.substring(o.raw.length),n=t[t.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?t.push(o):(n.raw+="\n"+o.raw,n.text+="\n"+o.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(o=this.tokenizer.fences(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.heading(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.hr(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.blockquote(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.list(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.html(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.def(e))e=e.substring(o.raw.length),n=t[t.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[o.tag]||(this.tokens.links[o.tag]={href:o.href,title:o.title}):(n.raw+="\n"+o.raw,n.text+="\n"+o.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(o=this.tokenizer.table(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.lheading(e))e=e.substring(o.raw.length),t.push(o);else{if(r=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const i=e.slice(1);let o;this.options.extensions.startBlock.forEach(e=>{o=e.call({lexer:this},i),"number"==typeof o&&o>=0&&(t=Math.min(t,o))}),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(this.state.top&&(o=this.tokenizer.paragraph(r)))n=t[t.length-1],i&&"paragraph"===n?.type?(n.raw+="\n"+o.raw,n.text+="\n"+o.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(o),i=r.length!==e.length,e=e.substring(o.raw.length);else if(o=this.tokenizer.text(e))e=e.substring(o.raw.length),n=t[t.length-1],n&&"text"===n.type?(n.raw+="\n"+o.raw,n.text+="\n"+o.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(o);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i,o,n,r,s,a,l=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(l));)e.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.anyPunctuation.exec(l));)l=l.slice(0,r.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(s||(a=""),s=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(o=>!!(i=o.call({lexer:this},e,t))&&(e=e.substring(i.raw.length),t.push(i),!0))))if(i=this.tokenizer.escape(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.tag(e))e=e.substring(i.raw.length),o=t[t.length-1],o&&"text"===i.type&&"text"===o.type?(o.raw+=i.raw,o.text+=i.text):t.push(i);else if(i=this.tokenizer.link(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(i.raw.length),o=t[t.length-1],o&&"text"===i.type&&"text"===o.type?(o.raw+=i.raw,o.text+=i.text):t.push(i);else if(i=this.tokenizer.emStrong(e,l,a))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.codespan(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.br(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.del(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.autolink(e))e=e.substring(i.raw.length),t.push(i);else if(this.state.inLink||!(i=this.tokenizer.url(e))){if(n=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const i=e.slice(1);let o;this.options.extensions.startInline.forEach(e=>{o=e.call({lexer:this},i),"number"==typeof o&&o>=0&&(t=Math.min(t,o))}),t<1/0&&t>=0&&(n=e.substring(0,t+1))}if(i=this.tokenizer.inlineText(n))e=e.substring(i.raw.length),"_"!==i.raw.slice(-1)&&(a=i.raw.slice(-1)),s=!0,o=t[t.length-1],o&&"text"===o.type?(o.raw+=i.raw,o.text+=i.text):t.push(i);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(i.raw.length),t.push(i);return t}}class ie{options;parser;constructor(e){this.options=e||t.defaults}space(e){return""}code({text:e,lang:t,escaped:i}){const o=(t||"").match(/^\S*/)?.[0],n=e.replace(/\n$/,"")+"\n";return o?'
'+(i?n:d(n,!0))+"
\n":"
"+(i?n:d(n,!0))+"
\n"}blockquote({tokens:e}){return`
\n${this.parser.parse(e)}
\n`}html({text:e}){return e}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)}\n`}hr(e){return"
\n"}list(e){const t=e.ordered,i=e.start;let o="";for(let r=0;r\n"+o+"\n"}listitem(e){let t="";if(e.task){const i=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=i+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=i+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:i+" ",text:i+" "}):t+=i+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`
  • ${t}
  • \n`}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    \n`}table(e){let t="",i="";for(let n=0;n${o}`),"\n\n"+t+"\n"+o+"
    \n"}tablerow({text:e}){return`\n${e}\n`}tablecell(e){const t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`\n`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${e}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:i}){const o=this.parser.parseInline(i),n=p(e);if(null===n)return o;let r='
    ",r}image({href:e,title:t,text:i}){const o=p(e);if(null===o)return i;let n=`${i}{const n=e[o].flat(1/0);i=i.concat(this.walkTokens(n,t))}):e.tokens&&(i=i.concat(this.walkTokens(e.tokens,t)))}}return i}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{const i={...e};if(i.async=this.defaults.async||i.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const i=t.renderers[e.name];t.renderers[e.name]=i?function(...t){let o=e.renderer.apply(this,t);return!1===o&&(o=i.apply(this,t)),o}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const i=t[e.level];i?i.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),i.extensions=t),e.renderer){const t=this.defaults.renderer||new ie(this.defaults);for(const i in e.renderer){if(!(i in t))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;const o=i,n=e.renderer[o],r=t[o];t[o]=(...e)=>{let i=n.apply(t,e);return!1===i&&(i=r.apply(t,e)),i||""}}i.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new b(this.defaults);for(const i in e.tokenizer){if(!(i in t))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;const o=i,n=e.tokenizer[o],r=t[o];t[o]=(...e)=>{let i=n.apply(t,e);return!1===i&&(i=r.apply(t,e)),i}}i.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new re;for(const i in e.hooks){if(!(i in t))throw new Error(`hook '${i}' does not exist`);if("options"===i)continue;const o=i,n=e.hooks[o],r=t[o];re.passThroughHooks.has(i)?t[o]=e=>{if(this.defaults.async)return Promise.resolve(n.call(t,e)).then(e=>r.call(t,e));const i=n.call(t,e);return r.call(t,i)}:t[o]=(...e)=>{let i=n.apply(t,e);return!1===i&&(i=r.apply(t,e)),i}}i.hooks=t}if(e.walkTokens){const t=this.defaults.walkTokens,o=e.walkTokens;i.walkTokens=function(e){let i=[];return i.push(o.call(this,e)),t&&(i=i.concat(t.call(this,e))),i}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return te.lex(e,t??this.defaults)}parser(e,t){return ne.parse(e,t??this.defaults)}parseMarkdown(t,i){return(o,n)=>{const r={...n},s={...this.defaults,...r},a=this.onError(!!s.silent,!!s.async);if(!0===this.defaults.async&&!1===r.async)return a(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(null==o)return a(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof o)return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(o)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(o):o).then(e=>t(e,s)).then(e=>s.hooks?s.hooks.processAllTokens(e):e).then(e=>s.walkTokens?Promise.all(this.walkTokens(e,s.walkTokens)).then(()=>e):e).then(e=>i(e,s)).then(e=>s.hooks?s.hooks.postprocess(e):e).catch(a);try{s.hooks&&(o=s.hooks.preprocess(o));let e=t(o,s);s.hooks&&(e=s.hooks.processAllTokens(e)),s.walkTokens&&this.walkTokens(e,s.walkTokens);let n=i(e,s);return s.hooks&&(n=s.hooks.postprocess(n)),n}catch(e){return a(e)}}}onError(e,t){return i=>{if(i.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+d(i.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(i);throw i}}}const ae=new se;function le(e,t){return ae.parse(e,t)}le.options=le.setOptions=function(e){return ae.setOptions(e),le.defaults=ae.defaults,o(le.defaults),le},le.getDefaults=i,le.defaults=t.defaults,le.use=function(...e){return ae.use(...e),le.defaults=ae.defaults,o(le.defaults),le},le.walkTokens=function(e,t){return ae.walkTokens(e,t)},le.parseInline=ae.parseInline,le.Parser=ne,le.parser=ne.parse,le.Renderer=ie,le.TextRenderer=oe,le.Lexer=te,le.lexer=te.lex,le.Tokenizer=b,le.Hooks=re,le.parse=le;const ce=le.options,de=le.setOptions,ue=le.use,he=le.walkTokens,pe=le.parseInline,ge=le,me=ne.parse,fe=te.lex;t.Hooks=re,t.Lexer=te,t.Marked=se,t.Parser=ne,t.Renderer=ie,t.TextRenderer=oe,t.Tokenizer=b,t.getDefaults=i,t.lexer=fe,t.marked=le,t.options=ce,t.parse=ge,t.parseInline=pe,t.parser=me,t.setOptions=de,t.use=ue,t.walkTokens=he})}(),__marked_exports.Hooks||exports.Hooks,__marked_exports.Lexer||exports.Lexer,__marked_exports.Marked||exports.Marked,__marked_exports.Parser||exports.Parser;var Renderer=__marked_exports.Renderer||exports.Renderer;__marked_exports.TextRenderer||exports.TextRenderer,__marked_exports.Tokenizer||exports.Tokenizer;var defaults$1=__marked_exports.defaults||exports.defaults;__marked_exports.getDefaults||exports.getDefaults;var lexer=__marked_exports.lexer||exports.lexer;__marked_exports.marked||exports.marked,__marked_exports.options||exports.options;var parse$5=__marked_exports.parse||exports.parse;__marked_exports.parseInline||exports.parseInline;var parser$1=__marked_exports.parser||exports.parser;function stringify$2(e){return JSON.stringify(e,replacer)}function parse$4(e){let t=JSON.parse(e);return t=revive(t),t}function replacer(e,t){return t instanceof RegExp?{$mid:2,source:t.source,flags:t.flags}:t}function revive(e,t=0){if(!e||t>200)return e;if("object"==typeof e){switch(e.$mid){case 1:return URI.revive(e);case 2:return new RegExp(e.source,e.flags);case 17:return new Date(e.source)}if(e instanceof VSBuffer||e instanceof Uint8Array)return e;if(Array.isArray(e))for(let i=0;i{let o=[],n=[];return e&&(({href:e,dimensions:o}=parseHrefAndDimensions(e)),n.push(`src="${escapeDoubleQuotes(e)}"`)),i&&n.push(`alt="${escapeDoubleQuotes(i)}"`),t&&n.push(`title="${escapeDoubleQuotes(t)}"`),o.length&&(n=n.concat(o)),""},paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    `},link({href:e,title:t,tokens:i}){let o=this.parser.parseInline(i);return"string"!=typeof e?"":(e===o&&(o=removeMarkdownEscapes(o)),t="string"==typeof t?escapeDoubleQuotes(removeMarkdownEscapes(t)):"",`
    /g,">").replace(/"/g,""").replace(/'/g,"'")}" title="${t||e}" draggable="false">${o}`)}});function renderMarkdown(t,i={},o={}){const n=new DisposableStore;let r=!1;const s=createElement$1(i),a=function(i){let o;try{o=parse$4(decodeURIComponent(i))}catch(e){}return o?(o=cloneAndChange(o,e=>t.uris&&t.uris[e]?URI.revive(t.uris[e]):void 0),encodeURIComponent(JSON.stringify(o))):i},l=function(e,i){const o=t.uris&&t.uris[e];let n=URI.revive(o);return i?e.startsWith(Schemas.data+":")?e:(n||(n=URI.parse(e)),FileAccess.uriToBrowserUri(n).toString(!0)):n?URI.parse(e).toString()===n.toString()?e:(n.query&&(n=n.with({query:a(n.query)})),n.toString()):e},c=new Renderer;c.image=defaultMarkedRenderers.image,c.link=defaultMarkedRenderers.link,c.paragraph=defaultMarkedRenderers.paragraph;const d=[],u=[];if(i.codeBlockRendererSync?c.code=({text:e,lang:t})=>{const o=defaultGenerator.nextId(),n=i.codeBlockRendererSync(postProcessCodeBlockLanguageId(t),e);return u.push([o,n]),`
    ${escape(e)}
    `}:i.codeBlockRenderer&&(c.code=({text:e,lang:t})=>{const o=defaultGenerator.nextId(),n=i.codeBlockRenderer(postProcessCodeBlockLanguageId(t),e);return d.push(n.then(e=>[o,e])),`
    ${escape(e)}
    `}),i.actionHandler){const e=function(e){let o=e.target;if("A"===o.tagName||(o=o.parentElement,o&&"A"===o.tagName))try{let n=o.dataset.href;n&&(t.baseUri&&(n=resolveWithBaseUri(URI.from(t.baseUri),n)),i.actionHandler.callback(n,e))}catch(n){onUnexpectedError(n)}finally{e.preventDefault()}},o=i.actionHandler.disposables.add(new DomEmitter(s,"click")),n=i.actionHandler.disposables.add(new DomEmitter(s,"auxclick"));i.actionHandler.disposables.add(Event$1.any(o.event,n.event)(t=>{const i=new StandardMouseEvent(getWindow$2(s),t);(i.leftButton||i.middleButton)&&e(i)})),i.actionHandler.disposables.add(addDisposableListener(s,"keydown",t=>{const i=new StandardKeyboardEvent(t);(i.equals(10)||i.equals(3))&&e(i)}))}t.supportHtml||(c.html=({text:e})=>{if(i.sanitizerOptions?.replaceWithPlaintext)return escape(e);return(t.isTrusted?e.match(/^(]+>)|(<\/\s*span>)$/):void 0)?e:""}),o.renderer=c;let h,p=t.value??"";if(p.length>1e5&&(p=`${p.substr(0,1e5)}…`),t.supportThemeIcons&&(p=markdownEscapeEscapedIcons(p)),i.fillInIncompleteTokens){const e={...defaults$1,...o},t=fillInIncompleteTokens(lexer(p,e));h=parser$1(t,e)}else h=parse$5(p,{...o,async:!1});if(t.supportThemeIcons){h=renderLabelWithIcons(h).map(e=>"string"==typeof e?e:e.outerHTML).join("")}const g=(new DOMParser).parseFromString(sanitizeRenderedMarkdown({isTrusted:t.isTrusted,...i.sanitizerOptions},h),"text/html");if(g.body.querySelectorAll("img, audio, video, source").forEach(e=>{const o=e.getAttribute("src");if(o){let r=o;try{t.baseUri&&(r=resolveWithBaseUri(URI.from(t.baseUri),r))}catch(n){}if(e.setAttribute("src",l(r,!0)),i.remoteImageIsAllowed){const t=URI.parse(r);t.scheme===Schemas.file||t.scheme===Schemas.data||i.remoteImageIsAllowed(t)||e.replaceWith($$f("",void 0,e.outerHTML))}}}),g.body.querySelectorAll("a").forEach(e=>{const i=e.getAttribute("href");if(e.setAttribute("href",""),!i||/^data:|javascript:/i.test(i)||/^command:/i.test(i)&&!t.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(i))e.replaceWith(...e.childNodes);else{let o=l(i,!1);t.baseUri&&(o=resolveWithBaseUri(URI.from(t.baseUri),i)),e.dataset.href=o}}),s.innerHTML=sanitizeRenderedMarkdown({isTrusted:t.isTrusted,...i.sanitizerOptions},g.body.innerHTML),d.length>0)Promise.all(d).then(e=>{if(r)return;const t=new Map(e),o=s.querySelectorAll("div[data-code]");for(const i of o){const e=t.get(i.dataset.code??"");e&&reset(i,e)}i.asyncRenderCallback?.()});else if(u.length>0){const e=new Map(u),t=s.querySelectorAll("div[data-code]");for(const i of t){const t=e.get(i.dataset.code??"");t&&reset(i,t)}}if(i.asyncRenderCallback)for(const e of s.getElementsByTagName("img")){const t=n.add(addDisposableListener(e,"load",()=>{t.dispose(),i.asyncRenderCallback()}))}return{element:s,dispose:()=>{r=!0,n.dispose()}}}function postProcessCodeBlockLanguageId(e){if(!e)return"";const t=e.split(/[\s+|:|,|\{|\?]/,1);return t.length?t[0]:e}function resolveWithBaseUri(e,t){return/^\w[\w\d+.-]*:/.test(t)?t:e.path.endsWith("/")?resolvePath(e,t).toString():resolvePath(dirname(e),t).toString()}const selfClosingTags=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function sanitizeRenderedMarkdown(e,t){const{config:i,allowedSchemes:o}=getSanitizerOptions(e),n=new DisposableStore;n.add(addDompurifyHook("uponSanitizeAttribute",(e,t)=>{if("style"!==t.attrName&&"class"!==t.attrName){if("INPUT"===e.tagName&&"checkbox"===e.attributes.getNamedItem("type")?.value){if("type"===t.attrName&&"checkbox"===t.attrValue||"disabled"===t.attrName||"checked"===t.attrName)return void(t.keepAttr=!0);t.keepAttr=!1}}else{if("SPAN"===e.tagName){if("style"===t.attrName)return void(t.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(t.attrValue));if("class"===t.attrName)return void(t.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(t.attrValue))}t.keepAttr=!1}})),n.add(addDompurifyHook("uponSanitizeElement",(t,i)=>{if("input"===i.tagName&&("checkbox"===t.attributes.getNamedItem("type")?.value?t.setAttribute("disabled",""):e.replaceWithPlaintext||t.remove()),e.replaceWithPlaintext&&!i.allowedTags[i.tagName]&&"body"!==i.tagName&&t.parentElement){let e,o;if("#comment"===i.tagName)e=`\x3c!--${t.textContent}--\x3e`;else{const n=selfClosingTags.includes(i.tagName),r=t.attributes.length?" "+Array.from(t.attributes).map(e=>`${e.name}="${e.value}"`).join(" "):"";e=`<${i.tagName}${r}>`,n||(o=``)}const n=document.createDocumentFragment(),r=t.parentElement.ownerDocument.createTextNode(e);n.appendChild(r);const s=o?t.parentElement.ownerDocument.createTextNode(o):void 0;for(;t.firstChild;)n.appendChild(t.firstChild);s&&n.appendChild(s),t.nodeType===Node.COMMENT_NODE?t.parentElement.insertBefore(n,t):t.parentElement.replaceChild(n,t)}})),n.add(hookDomPurifyHrefAndSrcSanitizer(o));try{return sanitize$1(t,{...i,RETURN_TRUSTED_TYPE:!0})}finally{n.dispose()}}const 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 getSanitizerOptions(e){const t=[Schemas.http,Schemas.https,Schemas.mailto,Schemas.data,Schemas.file,Schemas.vscodeFileResource,Schemas.vscodeRemote,Schemas.vscodeRemoteResource];return e.isTrusted&&t.push(Schemas.command),{config:{ALLOWED_TAGS:e.allowedTags??[...basicMarkupHtmlTags],ALLOWED_ATTR:allowedMarkdownAttr,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:t}}function renderStringAsPlaintext(e){return"string"==typeof e?e:renderMarkdownAsPlaintext(e)}function renderMarkdownAsPlaintext(e,t){let i=e.value??"";i.length>1e5&&(i=`${i.substr(0,1e5)}…`);const o=parse$5(i,{async:!1,renderer:plainTextRenderer.value}).replace(/&(#\d+|[a-zA-Z]+);/g,e=>unescapeInfo.get(e)??e);return sanitizeRenderedMarkdown({isTrusted:!1},o).toString()}const unescapeInfo=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]);function createRenderer(){const e=new Renderer;return e.code=({text:e})=>e,e.blockquote=({text:e})=>e+"\n",e.html=e=>"",e.heading=function({tokens:e}){return this.parser.parseInline(e)+"\n"},e.hr=()=>"",e.list=function({items:e}){return e.map(e=>this.listitem(e)).join("\n")+"\n"},e.listitem=({text:e})=>e+"\n",e.paragraph=function({tokens:e}){return this.parser.parseInline(e)+"\n"},e.table=function({header:e,rows:t}){return e.map(e=>this.tablecell(e)).join(" ")+"\n"+t.map(e=>e.map(e=>this.tablecell(e)).join(" ")).join("\n")+"\n"},e.tablerow=({text:e})=>e,e.tablecell=function({tokens:e}){return this.parser.parseInline(e)},e.strong=({text:e})=>e,e.em=({text:e})=>e,e.codespan=({text:e})=>e,e.br=e=>"\n",e.del=({text:e})=>e,e.image=e=>"",e.text=({text:e})=>e,e.link=({text:e})=>e,e}const plainTextRenderer=new Lazy(e=>createRenderer());function mergeRawTokenText(e){let t="";return e.forEach(e=>{t+=e.raw}),t}function completeSingleLinePattern(e){if(e.tokens)for(let t=e.tokens.length-1;t>=0;t--){const i=e.tokens[t];if("text"===i.type){const o=i.raw.split("\n"),n=o[o.length-1];if(n.includes("`"))return completeCodespan(e);if(n.includes("**"))return completeDoublestar(e);if(n.match(/\*\w/))return completeStar(e);if(n.match(/(^|\s)__\w/))return completeDoubleUnderscore(e);if(n.match(/(^|\s)_\w/))return completeUnderscore(e);if(hasLinkTextAndStartOfLinkTarget(n)||hasStartOfLinkTargetAndNoLinkText(n)&&e.tokens.slice(0,t).some(e=>"text"===e.type&&e.raw.match(/\[[^\]]*$/))){const i=e.tokens.slice(t+1);return"link"===i[0]?.type&&"text"===i[1]?.type&&i[1].raw.match(/^ *"[^"]*$/)||n.match(/^[^"]* +"[^"]*$/)?completeLinkTargetArg(e):completeLinkTarget(e)}if(n.match(/(^|\s)\[\w*/))return completeLinkText(e)}}}function hasLinkTextAndStartOfLinkTarget(e){return!!e.match(/(^|\s)\[.*\]\(\w*/)}function hasStartOfLinkTargetAndNoLinkText(e){return!!e.match(/^[^\[]*\]\([^\)]*$/)}function completeListItemPattern(e){const t=e.items[e.items.length-1],i=t.tokens?t.tokens[t.tokens.length-1]:void 0;let o;if("text"!==i?.type||"inRawBlock"in t||(o=completeSingleLinePattern(i)),!o||"paragraph"!==o.type)return;const n=mergeRawTokenText(e.items.slice(0,-1)),r=t.raw.match(/^(\s*(-|\d+\.|\*) +)/)?.[0];if(!r)return;const s=r+mergeRawTokenText(t.tokens.slice(0,-1))+o.raw,a=lexer(n+s)[0];return"list"===a.type?a:void 0}const maxIncompleteTokensFixRounds=3;function fillInIncompleteTokens(e){for(let t=0;t0){const e=n?i.slice(0,-1).join("\n"):t,r=!!e.match(/\|\s*$/),s=e+(r?"":"|")+`\n|${" --- |".repeat(o)}`;return lexer(s)}}function addDompurifyHook(e,t){return addHook(e,t),toDisposable(()=>removeHook(e))}class LineTokens{static{this.defaultTokenMetadata=33587200}static createEmpty(e,t){const i=LineTokens.defaultTokenMetadata,o=new Uint32Array(2);return o[0]=e.length,o[1]=i,new LineTokens(o,e,t)}static createFromTextAndMetadata(e,t){let i=0,o="";const n=new Array;for(const{text:r,metadata:s}of e)n.push(i+r.length,s),i+=r.length,o+=r;return new LineTokens(new Uint32Array(n),o,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=i}equals(e){return e instanceof LineTokens&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,i){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const o=t<<1,n=o+(i<<1);for(let r=o;r0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],i=TokenMetadata.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return TokenMetadata.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return TokenMetadata.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return TokenMetadata.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[1+(e<<1)];return TokenMetadata.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return TokenMetadata.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return LineTokens.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new SliceLineTokens(this,e,t,i)}static convertToEndOffset(e,t){const i=(e.length>>>1)-1;for(let o=0;o>>1)-1;for(;it&&(o=n)}return i}withInserted(e){if(0===e.length)return this;let t=0,i=0,o="";const n=new Array;let r=0;for(;;){const s=tr){o+=this._text.substring(r,a.offset);const e=this._tokens[1+(t<<1)];n.push(o.length,e),r=a.offset}o+=a.text,n.push(o.length,a.tokenMetadata),i++}}return new LineTokens(new Uint32Array(n),o,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),i=this.getEndOffset(e);return this._text.substring(t,i)}forEach(e){const t=this.getCount();for(let i=0;i=i)break;this._tokensCount++}}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof SliceLineTokens&&(this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount))}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){const t=this._firstTokenIndex+e,i=this._source.getStartOffset(t),o=this._source.getEndOffset(t);let n=this._source.getTokenText(t);return ithis._endOffset&&(n=n.substring(0,n.length-(o-this._endOffset))),n}forEach(e){for(let t=0;t>>0,new EncodedTokenizationResult(i,null===t?NullState:t)}const fallback={getInitialState:()=>NullState,tokenizeEncoded:(e,t,i)=>nullTokenizeEncoded(0,i)};async function tokenizeToString(e,t,i){if(!i)return _tokenizeToString(t,e.languageIdCodec,fallback);const o=await TokenizationRegistry.getOrCreate(i);return _tokenizeToString(t,e.languageIdCodec,o||fallback)}function tokenizeLineToHTML(e,t,i,o,n,r,s){let a="
    ",l=o,c=0,d=!0;for(let u=0,h=t.getCount();u0;)s&&d?(p+=" ",d=!1):(p+=" ",d=!0),e--;break}case 60:p+="<",d=!1;break;case 62:p+=">",d=!1;break;case 38:p+="&",d=!1;break;case 0:p+="�",d=!1;break;case 65279:case 8232:case 8233:case 133:p+="�",d=!1;break;case 13:p+="​",d=!1;break;case 32:s&&d?(p+=" ",d=!1):(p+=" ",d=!0);break;default:p+=String.fromCharCode(t),d=!1}}if(a+=`${p}`,h>n||l>=n)break}return a+="
    ",a}function _tokenizeToString(e,t,i){let o='
    ';const n=splitLines(e);let r=i.getInitialState();for(let s=0,a=n.length;s0&&(o+="
    ");const a=i.tokenizeEncoded(e,!0,r);LineTokens.convertToEndOffset(a.tokens,e.length);const l=new LineTokens(a.tokens,e,t).inflate();let c=0;for(let t=0,i=l.getCount();t${escape(e.substring(c,n))}`,c=n}r=a.endState}return o+="
    ",o}var __decorate$2t=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2k=function(e,t){return function(i,o){t(i,o,e)}},MarkdownRenderer_1;let MarkdownRenderer=class{static{MarkdownRenderer_1=this}static{this._ttpTokenizer=createTrustedTypesPolicy("tokenizeToString",{createHTML:e=>e})}constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new Emitter$1,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e){return{element:document.createElement("span"),dispose:()=>{}}}const o=new DisposableStore,n=o.add(renderMarkdown(e,{...this._getRenderOptions(e,o),...t},i));return n.element.classList.add("rendered-markdown"),{element:n.element,dispose:()=>o.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(e,t)=>{let i;e?i=this._languageService.getLanguageIdByLanguageName(e):this._options.editor&&(i=this._options.editor.getModel()?.getLanguageId()),i||(i=PLAINTEXT_LANGUAGE_ID);const o=await tokenizeToString(this._languageService,t,i),n=document.createElement("span");if(n.innerHTML=MarkdownRenderer_1._ttpTokenizer?.createHTML(o)??o,this._options.editor){applyFontInfo(n,this._options.editor.getOption(50))}else this._options.codeBlockFontFamily&&(n.style.fontFamily=this._options.codeBlockFontFamily);return void 0!==this._options.codeBlockFontSize&&(n.style.fontSize=this._options.codeBlockFontSize),n},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:t=>openLinkFromMarkdown(this._openerService,t,e.isTrusted),disposables:t}}}};async function openLinkFromMarkdown(t,i,o){try{return await t.open(i,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:toAllowCommandsOption(o)})}catch(e){return onUnexpectedError(e),!1}}function toAllowCommandsOption(e){return!0===e||!(!e||!Array.isArray(e.enabledCommands))&&e.enabledCommands}MarkdownRenderer=MarkdownRenderer_1=__decorate$2t([__param$2k(1,ILanguageService),__param$2k(2,IOpenerService)],MarkdownRenderer);const IAccessibilityService=createDecorator("accessibilityService"),CONTEXT_ACCESSIBILITY_MODE_ENABLED=new RawContextKey("accessibilityModeEnabled",!1),MAX_MESSAGE_LENGTH=2e4;let ariaContainer,alertContainer,alertContainer2,statusContainer,statusContainer2;function setARIAContainer(e){ariaContainer=document.createElement("div"),ariaContainer.className="monaco-aria-container";const t=()=>{const e=document.createElement("div");return e.className="monaco-alert",e.setAttribute("role","alert"),e.setAttribute("aria-atomic","true"),ariaContainer.appendChild(e),e};alertContainer=t(),alertContainer2=t();const i=()=>{const e=document.createElement("div");return e.className="monaco-status",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),ariaContainer.appendChild(e),e};statusContainer=i(),statusContainer2=i(),e.appendChild(ariaContainer)}function alert(e){ariaContainer&&(alertContainer.textContent!==e?(clearNode(alertContainer2),insertMessage(alertContainer,e)):(clearNode(alertContainer),insertMessage(alertContainer2,e)))}function status(e){ariaContainer&&(statusContainer.textContent!==e?(clearNode(statusContainer2),insertMessage(statusContainer,e)):(clearNode(statusContainer),insertMessage(statusContainer2,e)))}function insertMessage(e,t){clearNode(e),t.length>MAX_MESSAGE_LENGTH&&(t=t.substr(0,MAX_MESSAGE_LENGTH)),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}var __decorate$2s=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2j=function(e,t){return function(i,o){t(i,o,e)}};const $$d=$$f;let HoverWidget=class extends Widget$1{get _targetWindow(){return getWindow$2(this._target.targetElements[0])}get _targetDocumentElement(){return getWindow$2(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 2===this._hoverPosition?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,i,o,n,r){super(),this._keybindingService=t,this._configurationService=i,this._openerService=o,this._instantiationService=n,this._accessibilityService=r,this._messageListeners=new 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 Emitter$1),this._onRequestLayout=this._register(new Emitter$1),this._linkHandler=e.linkHandler||(t=>openLinkFromMarkdown(this._openerService,t,isMarkdownString(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new ElementHoverTarget(e.target),this._hoverPointer=e.appearance?.showPointer?$$d("div.workbench-hover-pointer"):void 0,this._hover=this._register(new HoverWidget$1),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),e.appearance?.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),e.appearance?.skipFadeInAnimation&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),e.position?.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=e.position?.hoverPosition??3,this.onmousedown(this._hover.containerDomNode,e=>e.stopPropagation()),this.onkeydown(this._hover.containerDomNode,e=>{e.equals(9)&&this.dispose()}),this._register(addDisposableListener(this._targetWindow,"blur",()=>this.dispose()));const s=$$d("div.hover-row.markdown-hover"),a=$$d("div.hover-contents");if("string"==typeof e.content)a.textContent=e.content,a.style.whiteSpace="pre-wrap";else if(isHTMLElement$1(e.content))a.appendChild(e.content),a.classList.add("html-hover-contents");else{const t=e.content,i=this._instantiationService.createInstance(MarkdownRenderer,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||EDITOR_FONT_DEFAULTS.fontFamily}),{element:o}=i.render(t,{actionHandler:{callback:e=>this._linkHandler(e),disposables:this._messageListeners},asyncRenderCallback:()=>{a.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});a.appendChild(o)}if(s.appendChild(a),this._hover.contentsDomNode.appendChild(s),e.actions&&e.actions.length>0){const t=$$d("div.hover-row.status-bar"),i=$$d("div.actions");e.actions.forEach(e=>{const t=this._keybindingService.lookupKeybinding(e.commandId),o=t?t.getLabel():null;HoverAction.render(i,{label:e.label,commandId:e.commandId,run:t=>{e.run(t),this.dispose()},iconClass:e.iconClass},o)}),t.appendChild(i),this._hover.containerDomNode.appendChild(t)}let l;if(this._hoverContainer=$$d("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode),l=!(e.actions&&e.actions.length>0)&&(void 0===e.persistence?.hideOnHover?"string"==typeof e.content||isMarkdownString(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):e.persistence.hideOnHover),e.appearance?.showHoverHint){const e=$$d("div.hover-row.status-bar"),t=$$d("div.info");t.textContent=localize("hoverhint","Hold {0} key to mouse over",isMacintosh?"Option":"Alt"),e.appendChild(t),this._hover.containerDomNode.appendChild(e)}const c=[...this._target.targetElements];l||c.push(this._hoverContainer);const d=this._register(new CompositeMouseTracker(c));if(this._register(d.onMouseOut(()=>{this._isLocked||this.dispose()})),l){const e=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new CompositeMouseTracker(e)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=d}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const i=prepend$1(this._hoverContainer,$$d("div")),o=append$2(this._hoverContainer,$$d("div"));i.tabIndex=0,o.tabIndex=0,this._register(addDisposableListener(o,"focus",t=>{e.focus(),t.preventDefault()})),this._register(addDisposableListener(i,"focus",e=>{t.focus(),e.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return e}const o=this.findLastFocusableChild(i);if(o)return o}}render(e){e.appendChild(this._hoverContainer);const t=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&getHoverAccessibleViewHint(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel());t&&status(t),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=this._target.targetElements.map(e=>(e=>{const t=getDomNodeZoomLevel(e),i=e.getBoundingClientRect();return{top:i.top*t,bottom:i.bottom*t,right:i.right*t,left:i.left*t}})(e)),{top:t,right:i,bottom:o,left:n}=e[0],r=i-n,s=o-t,a={top:t,right:i,bottom:o,left:n,width:r,height:s,center:{x:n+r/2,y:t+s/2}};if(this.adjustHorizontalHoverPosition(a),this.adjustVerticalHoverPosition(a),this.adjustHoverMaxHeight(a),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:a.left+=3,a.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:a.left-=3,a.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:a.top+=3,a.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:a.top-=3,a.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px"}a.center.x=a.left+r/2,a.center.y=a.top+s/2}this.computeXCordinate(a),this.computeYCordinate(a),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(a)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;void 0!==this._target.x?this._x=this._target.x:1===this._hoverPosition?this._x=e.right:0===this._hoverPosition?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(void 0!==this._target.x)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const i=t+2;return void(1===this._hoverPosition?this._hover.containerDomNode.style.maxWidth=this._targetDocumentElement.clientWidth-e.right-i+"px":0===this._hoverPosition&&(this._hover.containerDomNode.style.maxWidth=e.left-i+"px"))}if(1===this._hoverPosition){if(this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2}}else if(0===this._hoverPosition){if(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2}e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1)}}adjustVerticalHoverPosition(e){if(void 0!==this._target.y||this._forcePosition)return;const t=this._hoverPointer?3:0;3===this._hoverPosition?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):2===this._hoverPosition&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const i=2+(this._hoverPointer?3:0);3===this._hoverPosition?t=Math.min(t,e.top-i):2===this._hoverPosition&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-i))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top=e.center.y-(this._y-t)-3+"px":this._hoverPointer.style.top=Math.round(t/2)-3+"px";break}case 3:case 2:{this._hoverPointer.classList.add(3===this._hoverPosition?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let i=Math.round(t/2)-3;const o=this._x+i;(oe.right)&&(i=e.center.x-this._x-3),this._hoverPointer.style.left=`${i}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}};HoverWidget=__decorate$2s([__param$2j(1,IKeybindingService),__param$2j(2,IConfigurationService),__param$2j(3,IOpenerService),__param$2j(4,IInstantiationService),__param$2j(5,IAccessibilityService)],HoverWidget);class CompositeMouseTracker extends Widget$1{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new Emitter$1),this._elements.forEach(e=>this.onmouseover(e,()=>this._onTargetMouseOver(e))),this._elements.forEach(e=>this.onmouseleave(e,()=>this._onTargetMouseLeave(e)))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=getWindow$2(e).setTimeout(()=>this._fireIfMouseOutside(),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(getWindow$2(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class ElementHoverTarget{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}}var Range$1,LayoutAnchorMode;function isAnchor(e){const t=e;return!!t&&"number"==typeof t.x&&"number"==typeof t.y}function layout(e,t,i){const o=i.mode===LayoutAnchorMode.ALIGN?i.offset:i.offset+i.size,n=i.mode===LayoutAnchorMode.ALIGN?i.offset+i.size:i.offset;return 0===i.position?t<=e-o?o:t<=n?n-t:Math.max(e-t,0):t<=n?n-t:t<=e-o?o:0}!function(e){function t(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};const i=Math.max(e.start,t.start),o=Math.min(e.end,t.end);return o-i<=0?{start:0,end:0}:{start:i,end:o}}function i(e){return e.end-e.start<=0}e.intersect=t,e.isEmpty=i,e.intersects=function(e,o){return!i(t(e,o))},e.relativeComplement=function(e,t){const o=[],n={start:e.start,end:Math.min(t.start,e.end)},r={start:Math.max(t.end,e.start),end:e.end};return i(n)||o.push(n),i(r)||o.push(r),o}}(Range$1||(Range$1={})),function(e){e[e.AVOID=0]="AVOID",e[e.ALIGN=1]="ALIGN"}(LayoutAnchorMode||(LayoutAnchorMode={}));class ContextView extends Disposable{static{this.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"]}static{this.BUBBLE_DOWN_EVENTS=["click"]}constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=Disposable.None,this.toDisposeOnSetContainer=Disposable.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=$$f(".context-view"),hide$2(this.view),this.setContainer(e,t),this._register(toDisposable(()=>this.setContainer(null,1)))}setContainer(e,t){this.useFixedPosition=1!==t;const i=this.useShadowDOM;if(this.useShadowDOM=3===t,(e!==this.container||i!==this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.view.remove(),this.shadowRoot&&(this.shadowRoot=null,this.shadowRootHostElement?.remove(),this.shadowRootHostElement=null),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=$$f(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const e=document.createElement("style");e.textContent=SHADOW_ROOT_CSS,this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild($$f("slot"))}else this.container.appendChild(this.view);const t=new DisposableStore;ContextView.BUBBLE_UP_EVENTS.forEach(e=>{t.add(addStandardDisposableListener(this.container,e,e=>{this.onDOMEvent(e,!1)}))}),ContextView.BUBBLE_DOWN_EVENTS.forEach(e=>{t.add(addStandardDisposableListener(this.container,e,e=>{this.onDOMEvent(e,!0)},!0))}),this.toDisposeOnSetContainer=t}}show(e){this.isVisible()&&this.hide(),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+(e.layer??0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",show(this.view),this.toDisposeOnClean=e.render(this.view)||Disposable.None,this.delegate=e,this.doLayout(),this.delegate.focus?.()}getViewElement(){return this.view}layout(){this.isVisible()&&(!1!==this.delegate.canRelayout||isIOS$1&&BrowserFeatures.pointerEvents?(this.delegate?.layout?.(),this.doLayout()):this.hide())}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(isHTMLElement$1(e)){const i=getDomNodePagePosition(e),o=getDomNodeZoomLevel(e);t={top:i.top*o,left:i.left*o,width:i.width*o,height:i.height*o}}else t=isAnchor(e)?{top:e.y,left:e.x,width:e.width||1,height:e.height||2}:{top:e.posy,left:e.posx,width:2,height:2};const i=getTotalWidth(this.view),o=getTotalHeight(this.view),n=this.delegate.anchorPosition||0,r=this.delegate.anchorAlignment||0,s=this.delegate.anchorAxisAlignment||0;let a,l;const c=getActiveWindow();if(0===s){const e={offset:t.top-c.pageYOffset,size:t.height,position:0===n?0:1},s={offset:t.left,size:t.width,position:0===r?0:1,mode:LayoutAnchorMode.ALIGN};a=layout(c.innerHeight,o,e)+c.pageYOffset,Range$1.intersects({start:a,end:a+o},{start:e.offset,end:e.offset+e.size})&&(s.mode=LayoutAnchorMode.AVOID),l=layout(c.innerWidth,i,s)}else{const e={offset:t.left,size:t.width,position:0===r?0:1},s={offset:t.top,size:t.height,position:0===n?0:1,mode:LayoutAnchorMode.ALIGN};l=layout(c.innerWidth,i,e),Range$1.intersects({start:l,end:l+i},{start:e.offset,end:e.offset+e.size})&&(s.mode=LayoutAnchorMode.AVOID),a=layout(c.innerHeight,o,s)+c.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(0===n?"bottom":"top"),this.view.classList.add(0===r?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const d=getDomNodePagePosition(this.container);this.view.style.top=a-(this.useFixedPosition?getDomNodePagePosition(this.view).top:d.top)+"px",this.view.style.left=l-(this.useFixedPosition?getDomNodePagePosition(this.view).left:d.left)+"px",this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,t?.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),hide$2(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,getWindow$2(e).document.activeElement):t&&!isAncestor$1(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}const SHADOW_ROOT_CSS='\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';var __decorate$2r=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2i=function(e,t){return function(i,o){t(i,o,e)}};let ContextViewHandler=class extends Disposable{constructor(e){super(),this.layoutService=e,this.contextView=this._register(new ContextView(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,i){let o;o=t?t===this.layoutService.getContainer(getWindow$2(t))?1:i?3:2:1,this.contextView.setContainer(t??this.layoutService.activeContainer,o),this.contextView.show(e);const n={close:()=>{this.openContextView===n&&this.hideContextView()}};return this.openContextView=n,n}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e),this.openContextView=void 0}};ContextViewHandler=__decorate$2r([__param$2i(0,ILayoutService)],ContextViewHandler);class ContextViewService extends ContextViewHandler{getContextViewElement(){return this.contextView.getViewElement()}}class ManagedHoverWidget{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let o;if(void 0===e||isString$4(e)||isHTMLElement$1(e))o=e;else if(isFunction$5(e.markdown)){this._hoverWidget||this.show(localize("iconLabel.loading","Loading..."),t,i),this._cancellationTokenSource=new CancellationTokenSource$1;const n=this._cancellationTokenSource.token;if(o=await e.markdown(n),void 0===o&&(o=e.markdownNotSupportedFallback),this.isDisposed||n.isCancellationRequested)return}else o=e.markdown??e.markdownNotSupportedFallback;this.show(o,t,i)}show(e,t,i){const o=this._hoverWidget;if(this.hasContent(e)){const n={content:e,target:this.target,actions:i?.actions,linkHandler:i?.linkHandler,trapFocus:i?.trapFocus,appearance:{showPointer:"element"===this.hoverDelegate.placement,skipFadeInAnimation:!this.fadeInAnimation||!!o,showHoverHint:i?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(n,t)}o?.dispose()}hasContent(e){return!!e&&(!isMarkdownString(e)||!!e.value)}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}var __decorate$2q=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2h=function(e,t){return function(i,o){t(i,o,e)}};let HoverService=class extends Disposable{constructor(e,t,i,o,n){super(),this._instantiationService=e,this._keybindingService=i,this._layoutService=o,this._accessibilityService=n,this._managedHovers=new Map,t.onDidShowContextMenu(()=>this.hideHover()),this._contextViewHandler=this._register(new ContextViewHandler(this._layoutService))}showHover(e,t,i){if(getHoverOptionsIdentity(this._currentHoverOptions)===getHoverOptionsIdentity(e))return;if(this._currentHover&&this._currentHoverOptions?.persistence?.sticky)return;this._currentHoverOptions=e,this._lastHoverOptions=e;const o=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),n=getActiveElement();i||(o&&n?n.classList.contains("monaco-hover")||(this._lastFocusedElementBeforeOpen=n):this._lastFocusedElementBeforeOpen=void 0);const r=new DisposableStore,s=this._instantiationService.createInstance(HoverWidget,e);if(e.persistence?.sticky&&(s.isLocked=!0),s.onDispose(()=>{this._currentHover?.domNode&&isAncestorOfActiveElement(this._currentHover.domNode)&&this._lastFocusedElementBeforeOpen?.focus(),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),r.dispose()},void 0,r),!e.container){const t=isHTMLElement$1(e.target)?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(getWindow$2(t))}if(this._contextViewHandler.showContextView(new HoverContextViewDelegate(s,t),e.container),s.onRequestLayout(()=>this._contextViewHandler.layout(),void 0,r),e.persistence?.sticky)r.add(addDisposableListener(getWindow$2(e.container).document,EventType$1.MOUSE_DOWN,e=>{isAncestor$1(e.target,s.domNode)||this.doHideHover()}));else{if("targetElements"in e.target)for(const i of e.target.targetElements)r.add(addDisposableListener(i,EventType$1.CLICK,()=>this.hideHover()));else r.add(addDisposableListener(e.target,EventType$1.CLICK,()=>this.hideHover()));const t=getActiveElement();if(t){const i=getWindow$2(t).document;r.add(addDisposableListener(t,EventType$1.KEY_DOWN,t=>this._keyDown(t,s,!!e.persistence?.hideOnKeyDown))),r.add(addDisposableListener(i,EventType$1.KEY_DOWN,t=>this._keyDown(t,s,!!e.persistence?.hideOnKeyDown))),r.add(addDisposableListener(t,EventType$1.KEY_UP,e=>this._keyUp(e,s))),r.add(addDisposableListener(i,EventType$1.KEY_UP,e=>this._keyUp(e,s)))}}if("IntersectionObserver"in mainWindow){const t=new IntersectionObserver(e=>this._intersectionChange(e,s),{threshold:0}),i="targetElements"in e.target?e.target.targetElements[0]:e.target;t.observe(i),r.add(toDisposable(()=>t.disconnect()))}return this._currentHover=s,s}hideHover(){!this._currentHover?.isLocked&&this._currentHoverOptions&&this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showHover(this._lastHoverOptions,!0,!0)}_keyDown(e,t,i){if("Alt"===e.key)return void(t.isLocked=!0);const o=new StandardKeyboardEvent(e);this._keybindingService.resolveKeyboardEvent(o).getSingleModifierDispatchChords().some(e=>!!e)||0!==this._keybindingService.softDispatch(o,o.target).kind||!i||this._currentHoverOptions?.trapFocus&&"Tab"===e.key||(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus())}_keyUp(e,t){"Alt"===e.key&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus()))}setupManagedHover(e,t,i,o){let n,r;t.setAttribute("custom-hover","true"),""!==t.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:",t.title),t.title="");const s=(t,i)=>{const o=void 0!==r;t&&(r?.dispose(),r=void 0),i&&(n?.dispose(),n=void 0),o&&(e.onDidHideHover?.(),r=void 0)},a=(n,s,a,l)=>new TimeoutTimer(async()=>{r&&!r.isDisposed||(r=new ManagedHoverWidget(e,a||t,n>0),await r.update("function"==typeof i?i():i,s,{...o,trapFocus:l}))},n);let l=!1;const c=addDisposableListener(t,EventType$1.MOUSE_DOWN,()=>{l=!0,s(!0,!0)},!0),d=addDisposableListener(t,EventType$1.MOUSE_UP,()=>{l=!1},!0),u=addDisposableListener(t,EventType$1.MOUSE_LEAVE,e=>{l=!1,s(!1,e.fromElement===t)},!0),h=addDisposableListener(t,EventType$1.MOUSE_OVER,i=>{if(n)return;const o=new DisposableStore,r={targetElements:[t],dispose:()=>{}};if(void 0===e.placement||"mouse"===e.placement){const e=e=>{r.x=e.x+10,isHTMLElement$1(e.target)&&getHoverTargetElement(e.target,t)!==t&&s(!0,!0)};o.add(addDisposableListener(t,EventType$1.MOUSE_MOVE,e,!0))}n=o,isHTMLElement$1(i.target)&&getHoverTargetElement(i.target,t)!==t||o.add(a(e.delay,!1,r))},!0),p=()=>{if(l||n)return;const i={targetElements:[t],dispose:()=>{}},o=new DisposableStore;o.add(addDisposableListener(t,EventType$1.BLUR,()=>s(!0,!0),!0)),o.add(a(e.delay,!1,i)),n=o};let g;const m=t.tagName.toLowerCase();"input"!==m&&"textarea"!==m&&(g=addDisposableListener(t,EventType$1.FOCUS,p,!0));const f={show:e=>{s(!1,!0),a(0,e,void 0,e)},hide:()=>{s(!0,!0)},update:async(e,t)=>{i=e,await(r?.update(i,void 0,t))},dispose:()=>{this._managedHovers.delete(t),h.dispose(),u.dispose(),c.dispose(),d.dispose(),g?.dispose(),s(!0,!0)}};return this._managedHovers.set(t,f),f}showManagedHover(e){const t=this._managedHovers.get(e);t&&t.show(!0)}dispose(){this._managedHovers.forEach(e=>e.dispose()),super.dispose()}};function getHoverOptionsIdentity(e){if(void 0!==e)return e?.id??e}HoverService=__decorate$2q([__param$2h(0,IInstantiationService),__param$2h(1,IContextMenuService),__param$2h(2,IKeybindingService),__param$2h(3,ILayoutService),__param$2h(4,IAccessibilityService)],HoverService);class HoverContextViewDelegate{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function getHoverTargetElement(e,t){for(t=t??getWindow$2(e).document.body;!e.hasAttribute("custom-hover")&&e!==t;)e=e.parentElement;return e}registerSingleton(IHoverService,HoverService,1),registerThemingParticipant((e,t)=>{const i=e.getColor(editorHoverBorder);i&&(t.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${i.transparent(.5)}; }`))});const IBulkEditService=createDecorator("IWorkspaceEditService");class ResourceEdit{constructor(e){this.metadata=e}static convert(e){return e.edits.map(e=>{if(ResourceTextEdit.is(e))return ResourceTextEdit.lift(e);if(ResourceFileEdit.is(e))return ResourceFileEdit.lift(e);throw new Error("Unsupported edit")})}}class ResourceTextEdit extends ResourceEdit{static is(e){return e instanceof ResourceTextEdit||isObject$6(e)&&URI.isUri(e.resource)&&isObject$6(e.textEdit)}static lift(e){return e instanceof ResourceTextEdit?e:new ResourceTextEdit(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,i=void 0,o){super(o),this.resource=e,this.textEdit=t,this.versionId=i}}class ResourceFileEdit extends ResourceEdit{static is(e){return e instanceof ResourceFileEdit||isObject$6(e)&&(Boolean(e.newResource)||Boolean(e.oldResource))}static lift(e){return e instanceof ResourceFileEdit?e:new ResourceFileEdit(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,i={},o){super(o),this.oldResource=e,this.newResource=t,this.options=i}}const diffEditorDefaultOptions={enableSplitViewResizing:!0,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},editorConfigurationBaseNode=Object.freeze({id:"editor",order:5,type:"object",title:localize("editorConfigurationTitle","Editor"),scope:5}),editorConfiguration={...editorConfigurationBaseNode,properties:{"editor.tabSize":{type:"number",default:EDITOR_MODEL_DEFAULTS.tabSize,minimum:1,markdownDescription:localize("tabSize","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:localize("indentSize",'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:EDITOR_MODEL_DEFAULTS.insertSpaces,markdownDescription:localize("insertSpaces","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:EDITOR_MODEL_DEFAULTS.detectIndentation,markdownDescription:localize("detectIndentation","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:EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,description:localize("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:EDITOR_MODEL_DEFAULTS.largeFileOptimizations,description:localize("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[localize("wordBasedSuggestions.off","Turn off Word Based Suggestions."),localize("wordBasedSuggestions.currentDocument","Only suggest words from the active document."),localize("wordBasedSuggestions.matchingDocuments","Suggest words from all open documents of the same language."),localize("wordBasedSuggestions.allDocuments","Suggest words from all open documents.")],description:localize("wordBasedSuggestions","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:[localize("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),localize("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),localize("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:localize("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:localize("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:localize("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!0,description:localize("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:localize("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:localize("editor.experimental.asyncTokenizationVerification","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:localize("editor.experimental.treeSitterTelemetry","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:localize("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:localize("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:localize("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:localize("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:localize("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:localize("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:diffEditorDefaultOptions.maxComputationTime,description:localize("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:diffEditorDefaultOptions.maxFileSize,description:localize("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:diffEditorDefaultOptions.renderSideBySide,description:localize("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:diffEditorDefaultOptions.renderSideBySideInlineBreakpoint,description:localize("renderSideBySideInlineBreakpoint","If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:diffEditorDefaultOptions.useInlineViewWhenSpaceIsLimited,description:localize("useInlineViewWhenSpaceIsLimited","If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:diffEditorDefaultOptions.renderMarginRevertIcon,description:localize("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:diffEditorDefaultOptions.renderGutterMenu,description:localize("renderGutterMenu","When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:diffEditorDefaultOptions.ignoreTrimWhitespace,description:localize("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:diffEditorDefaultOptions.renderIndicators,description:localize("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:diffEditorDefaultOptions.diffCodeLens,description:localize("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:diffEditorDefaultOptions.diffWordWrap,markdownEnumDescriptions:[localize("wordWrap.off","Lines will never wrap."),localize("wordWrap.on","Lines will wrap at the viewport width."),localize("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:diffEditorDefaultOptions.diffAlgorithm,markdownEnumDescriptions:[localize("diffAlgorithm.legacy","Uses the legacy diffing algorithm."),localize("diffAlgorithm.advanced","Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:diffEditorDefaultOptions.hideUnchangedRegions.enabled,markdownDescription:localize("hideUnchangedRegions.enabled","Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:diffEditorDefaultOptions.hideUnchangedRegions.revealLineCount,markdownDescription:localize("hideUnchangedRegions.revealLineCount","Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:diffEditorDefaultOptions.hideUnchangedRegions.minimumLineCount,markdownDescription:localize("hideUnchangedRegions.minimumLineCount","Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:diffEditorDefaultOptions.hideUnchangedRegions.contextLineCount,markdownDescription:localize("hideUnchangedRegions.contextLineCount","Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:diffEditorDefaultOptions.experimental.showMoves,markdownDescription:localize("showMoves","Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:diffEditorDefaultOptions.experimental.showEmptyDecorations,description:localize("showEmptyDecorations","Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")},"diffEditor.experimental.useTrueInlineView":{type:"boolean",default:diffEditorDefaultOptions.experimental.useTrueInlineView,description:localize("useTrueInlineView","If enabled and the editor uses the inline view, word changes are rendered inline.")}}};function isConfigurationPropertySchema(e){return void 0!==e.type||void 0!==e.anyOf}for(const t of editorOptionsRegistry){const e=t.schema;if(void 0!==e)if(isConfigurationPropertySchema(e))editorConfiguration.properties[`editor.${t.name}`]=e;else for(const t in e)Object.hasOwnProperty.call(e,t)&&(editorConfiguration.properties[t]=e[t])}let cachedEditorConfigurationKeys=null;function getEditorConfigurationKeys(){return null===cachedEditorConfigurationKeys&&(cachedEditorConfigurationKeys=Object.create(null),Object.keys(editorConfiguration.properties).forEach(e=>{cachedEditorConfigurationKeys[e]=!0})),cachedEditorConfigurationKeys}function isEditorConfigurationKey(e){return getEditorConfigurationKeys()[`editor.${e}`]||!1}function isDiffEditorConfigurationKey(e){return getEditorConfigurationKeys()[`diffEditor.${e}`]||!1}const configurationRegistry$1=Registry.as(Extensions$6.Configuration);configurationRegistry$1.registerConfiguration(editorConfiguration);class EditOperation{static insert(e,t){return{range:new Range$2(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}function freeze(e){return Object.isFrozen(e)?e:deepFreeze(e)}class ConfigurationModel{static createEmptyModel(e){return new ConfigurationModel({},[],[],void 0,e)}constructor(e,t,i,o,n){this._contents=e,this._keys=t,this._overrides=i,this.raw=o,this.logService=n,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration)if(this.raw?.length){const e=this.raw.map(e=>{if(e instanceof ConfigurationModel)return e;const t=new ConfigurationModelParser("",this.logService);return t.parseRaw(e),t.configurationModel});this._rawConfiguration=e.reduce((e,t)=>t===e?t:e.merge(t),e[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length}getValue(e){return e?getConfigurationValue(this.contents,e):this.contents}inspect(e,t){const i=this;return{get value(){return freeze(i.rawConfiguration.getValue(e))},get override(){return t?freeze(i.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return freeze(t?i.rawConfiguration.override(t).getValue(e):i.rawConfiguration.getValue(e))},get overrides(){const t=[];for(const{contents:o,identifiers:n,keys:r}of i.rawConfiguration.overrides){const s=new ConfigurationModel(o,r,[],void 0,i.logService).getValue(e);void 0!==s&&t.push({identifiers:n,value:s})}return t.length?freeze(t):void 0}}}getOverrideValue(e,t){const i=this.getContentsForOverrideIdentifer(t);return i?e?getConfigurationValue(i,e):i:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){const t=deepClone(this.contents),i=deepClone(this.overrides),o=[...this.keys],n=this.raw?.length?[...this.raw]:[this];for(const r of e)if(n.push(...r.raw?.length?r.raw:[r]),!r.isEmpty()){this.mergeContents(t,r.contents);for(const e of r.overrides){const[t]=i.filter(t=>equals$2(t.identifiers,e.identifiers));t?(this.mergeContents(t.contents,e.contents),t.keys.push(...e.keys),t.keys=distinct(t.keys)):i.push(deepClone(e))}for(const e of r.keys)-1===o.indexOf(e)&&o.push(e)}return new ConfigurationModel(t,o,i,n.every(e=>e instanceof ConfigurationModel)?void 0:n,this.logService)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||"object"!=typeof t||!Object.keys(t).length)return this;const i={};for(const o of distinct([...Object.keys(this.contents),...Object.keys(t)])){let e=this.contents[o];const n=t[o];n&&("object"==typeof e&&"object"==typeof n?(e=deepClone(e),this.mergeContents(e,n)):e=n),i[o]=e}return new ConfigurationModel(i,this.keys,this.overrides,void 0,this.logService)}mergeContents(e,t){for(const i of Object.keys(t))i in e&&isObject$6(e[i])&&isObject$6(t[i])?this.mergeContents(e[i],t[i]):e[i]=deepClone(t[i])}getContentsForOverrideIdentifer(e){let t=null,i=null;const o=e=>{e&&(i?this.mergeContents(i,e):i=deepClone(e))};for(const n of this.overrides)1===n.identifiers.length&&n.identifiers[0]===e?t=n.contents:n.identifiers.includes(e)&&o(n.contents);return o(t),i}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);-1!==t&&(this.keys.splice(t,1),removeFromValueTree(this.contents,e),OVERRIDE_PROPERTY_REGEX.test(e)&&this.overrides.splice(this.overrides.findIndex(t=>equals$2(t.identifiers,overrideIdentifiersFromKey(e))),1))}updateValue(e,t,i){if(addToValueTree(this.contents,e,t,e=>this.logService.error(e)),(i=i||-1===this.keys.indexOf(e))&&this.keys.push(e),OVERRIDE_PROPERTY_REGEX.test(e)){const t=overrideIdentifiersFromKey(e),i={identifiers:t,keys:Object.keys(this.contents[e]),contents:toValuesTree(this.contents[e],e=>this.logService.error(e))},o=this.overrides.findIndex(e=>equals$2(e.identifiers,t));-1!==o?this.overrides[o]=i:this.overrides.push(i)}}}class ConfigurationModelParser{constructor(e,t){this._name=e,this.logService=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||ConfigurationModel.createEmptyModel(this.logService)}parseRaw(e,t){this._raw=e;const{contents:i,keys:o,overrides:n,restricted:r,hasExcludedProperties:s}=this.doParseRaw(e,t);this._configurationModel=new ConfigurationModel(i,o,n,s?[e]:void 0,this.logService),this._restrictedConfigurations=r||[]}doParseRaw(e,t){const i=Registry.as(Extensions$6.Configuration).getConfigurationProperties(),o=this.filter(e,i,!0,t),n=toValuesTree(e=o.raw,e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`)),r=Object.keys(e),s=this.toOverrides(e,e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`));return{contents:n,keys:r,overrides:s,restricted:o.restricted,hasExcludedProperties:o.hasExcludedProperties}}filter(e,t,i,o){let n=!1;if(!o?.scopes&&!o?.skipRestricted&&!o?.exclude?.length)return{raw:e,restricted:[],hasExcludedProperties:n};const r={},s=[];for(const a in e)if(OVERRIDE_PROPERTY_REGEX.test(a)&&i){const i=this.filter(e[a],t,!1,o);r[a]=i.raw,n=n||i.hasExcludedProperties,s.push(...i.restricted)}else{const i=t[a],l=i?void 0!==i.scope?i.scope:3:void 0;i?.restricted&&s.push(a),o.exclude?.includes(a)||!o.include?.includes(a)&&(void 0!==l&&void 0!==o.scopes&&!o.scopes.includes(l)||o.skipRestricted&&i?.restricted)?n=!0:r[a]=e[a]}return{raw:r,restricted:s,hasExcludedProperties:n}}toOverrides(e,t){const i=[];for(const o of Object.keys(e))if(OVERRIDE_PROPERTY_REGEX.test(o)){const n={};for(const t in e[o])n[t]=e[o][t];i.push({identifiers:overrideIdentifiersFromKey(o),keys:Object.keys(n),contents:toValuesTree(n,t)})}return i}}class ConfigurationInspectValue{constructor(e,t,i,o,n,r,s,a,l,c,d,u,h){this.key=e,this.overrides=t,this._value=i,this.overrideIdentifiers=o,this.defaultConfiguration=n,this.policyConfiguration=r,this.applicationConfiguration=s,this.userConfiguration=a,this.localUserConfiguration=l,this.remoteUserConfiguration=c,this.workspaceConfiguration=d,this.folderConfigurationModel=u,this.memoryConfigurationModel=h}toInspectValue(e){return void 0!==e?.value||void 0!==e?.override||void 0!==e?.overrides?e: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 Configuration{constructor(e,t,i,o,n,r,s,a,l,c){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=i,this._localUserConfiguration=o,this._remoteUserConfiguration=n,this._workspaceConfiguration=r,this._folderConfigurations=s,this._memoryConfiguration=a,this._memoryConfigurationByResource=l,this.logService=c,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new ResourceMap,this._userConfiguration=null}getValue(e,t,i){return this.getConsolidatedConfigurationModel(e,t,i).getValue(e)}updateValue(e,t,i={}){let o;i.resource?(o=this._memoryConfigurationByResource.get(i.resource),o||(o=ConfigurationModel.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(i.resource,o))):o=this._memoryConfiguration,void 0===t?o.removeValue(e):o.setValue(e,t),i.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,i){const o=this.getConsolidatedConfigurationModel(e,t,i),n=this.getFolderConfigurationModelForResource(t.resource,i),r=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration,s=new Set;for(const a of o.overrides)for(const t of a.identifiers)void 0!==o.getOverrideValue(e,t)&&s.add(t);return new ConfigurationInspectValue(e,t,o.getValue(e),s.size?[...s]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,i?this._workspaceConfiguration:void 0,n||void 0,r)}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(e,t,i){let o=this.getConsolidatedConfigurationModelForResource(t,i);return t.overrideIdentifier&&(o=o.override(t.overrideIdentifier)),this._policyConfiguration.isEmpty()||void 0===this._policyConfiguration.getValue(e)||(o=o.merge(this._policyConfiguration)),o}getConsolidatedConfigurationModelForResource({resource:e},t){let i=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const o=t.getFolder(e);o&&(i=this.getFolderConsolidatedConfiguration(o.uri)||i);const n=this._memoryConfigurationByResource.get(e);n&&(i=i.merge(n))}return i}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const i=this.getWorkspaceConsolidatedConfiguration(),o=this._folderConfigurations.get(e);o?(t=i.merge(o),this._foldersConsolidatedConfigurations.set(e,t)):t=i}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const i=t.getFolder(e);if(i)return this._folderConfigurations.get(i.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((e,t)=>{const{contents:i,overrides:o,keys:n}=this._folderConfigurations.get(t);return e.push([t,{contents:i,overrides:o,keys:n}]),e},[])}}static parse(e,t){const i=this.parseConfigurationModel(e.defaults,t),o=this.parseConfigurationModel(e.policy,t),n=this.parseConfigurationModel(e.application,t),r=this.parseConfigurationModel(e.user,t),s=this.parseConfigurationModel(e.workspace,t),a=e.folders.reduce((e,i)=>(e.set(URI.revive(i[0]),this.parseConfigurationModel(i[1],t)),e),new ResourceMap);return new Configuration(i,o,n,r,ConfigurationModel.createEmptyModel(t),s,a,ConfigurationModel.createEmptyModel(t),new ResourceMap,t)}static parseConfigurationModel(e,t){return new ConfigurationModel(e.contents,e.keys,e.overrides,void 0,t)}}class ConfigurationChangeEvent{constructor(e,t,i,o,n){this.change=e,this.previous=t,this.currentConfiguraiton=i,this.currentWorkspace=o,this.logService=n,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=".".charCodeAt(0),this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const r of e.keys)this.affectedKeys.add(r);for(const[,r]of e.overrides)for(const e of r)this.affectedKeys.add(e);this._affectsConfigStr=this._marker;for(const r of this.affectedKeys)this._affectsConfigStr+=r+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Configuration.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){const i=this._marker+e,o=this._affectsConfigStr.indexOf(i);if(o<0)return!1;const n=o+i.length;if(n>=this._affectsConfigStr.length)return!1;const r=this._affectsConfigStr.charCodeAt(n);if(r!==this._markerCode1&&r!==this._markerCode2)return!1;if(t){return!equals$1(this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,this.currentConfiguraiton.getValue(e,t,this.currentWorkspace))}return!0}}class IMEImpl{constructor(){this._onDidChange=new Emitter$1,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()}}const IME=new IMEImpl,NoMatchingKb={kind:0},MoreChordsNeeded={kind:1};function KbFound(e,t,i){return{kind:2,commandId:e,commandArgs:t,isBubble:i}}class KeybindingResolver{constructor(e,t,i){this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const o of e){const e=o.command;e&&"-"!==e.charAt(0)&&this._defaultBoundCommands.set(e,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=KeybindingResolver.handleRemovals([].concat(e).concat(t));for(let o=0,n=this._keybindings.length;o=0;o--){const e=i[o];if(e.command===t.command)continue;let n=!0;for(let i=1;i=0;o--){const e=i[o];if(t.contextMatchesRules(e.when))return e}return i[i.length-1]}resolve(e,t,i){const o=[...t,i];this._log(`| Resolving ${o}`);const n=this._map.get(o[0]);if(void 0===n)return this._log("\\ No keybinding entries."),NoMatchingKb;let r=null;if(o.length<2)r=n;else{r=[];for(let e=0,t=n.length;et.chords.length)continue;let i=!0;for(let e=1;e=0;i--){const o=t[i];if(KeybindingResolver._contextMatchesRules(e,o.when))return o}return null}static _contextMatchesRules(e,t){return!t||t.evaluate(e)}}function printWhenExplanation(e){return e?`${e.serialize()}`:"no when condition"}function printSourceExplanation(e){return e.extensionId?e.isBuiltinExtension?`built-in extension ${e.extensionId}`:`user extension ${e.extensionId}`:e.isDefault?"built-in":"user"}const HIGH_FREQ_COMMANDS=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class AbstractKeybindingService extends Disposable{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:Event$1.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,o,n){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=i,this._notificationService=o,this._logService=n,this._onDidUpdateKeybindings=this._register(new Emitter$1),this._currentChords=[],this._currentChordChecker=new IntervalTimer,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=KeybindingModifierSet.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new TimeoutTimer,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const i=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(i)return i.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const i=this.resolveKeyboardEvent(e);if(i.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),NoMatchingKb;const[o]=i.getDispatchChords();if(null===o)return this._log("\\ Keyboard event cannot be dispatched"),NoMatchingKb;const n=this._contextKeyService.getContext(t),r=this._currentChords.map(({keypress:e})=>e);return this._getResolver().resolve(n,r,o)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet(()=>{this._documentHasFocus()?Date.now()-e>5e3&&this._leaveChordMode():this._leaveChordMode()},500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw illegalState("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(localize("first.chord","({0}) was pressed. Waiting for second key of chord...",t));break;default:{const e=this._currentChords.map(({label:e})=>e).join(", ");this._currentChordStatusMessage=this._notificationService.status(localize("next.chord","({0}) was pressed. Waiting for next key of chord...",e))}}this._scheduleLeaveChordMode(),IME.enabled&&IME.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],IME.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const i=this.resolveKeyboardEvent(e),[o]=i.getSingleModifierDispatchChords();if(o)return this._ignoreSingleModifiers.has(o)?(this._log(`+ Ignoring single modifier ${o} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=KeybindingModifierSet.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=KeybindingModifierSet.EMPTY,null===this._currentSingleModifier?(this._log(`+ Storing single modifier for possible chord ${o}.`),this._currentSingleModifier=o,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):o===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${o} ${o}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(i,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${o}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[n]=i.getChords();return this._ignoreSingleModifiers=new KeybindingModifierSet(n),null!==this._currentSingleModifier&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,i=!1){let o=!1;if(e.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let n=null,r=null;if(i){const[t]=e.getSingleModifierDispatchChords();n=t,r=t?[t]:[]}else[n]=e.getDispatchChords(),r=this._currentChords.map(({keypress:e})=>e);if(null===n)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),o;const s=this._contextKeyService.getContext(t),a=e.getLabel(),l=this._getResolver().resolve(s,r,n);switch(l.kind){case 0:if(this._logService.trace("KeybindingService#dispatch",a,"[ No matching keybinding ]"),this.inChordMode){const e=this._currentChords.map(({label:e})=>e).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status(localize("missing.chord","The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),o=!0}return o;case 1:return this._logService.trace("KeybindingService#dispatch",a,"[ Several keybindings match - more chords needed ]"),o=!0,this._expectAnotherChord(n,a),this._log(1===this._currentChords.length?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),o;case 2:if(this._logService.trace("KeybindingService#dispatch",a,`[ Will dispatch command ${l.commandId} ]`),null===l.commandId||""===l.commandId){if(this.inChordMode){const e=this._currentChords.map(({label:e})=>e).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status(localize("missing.chord","The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),o=!0}}else{this.inChordMode&&this._leaveChordMode(),l.isBubble||(o=!0),this._log(`+ Invoking command ${l.commandId}.`),this._currentlyDispatchingCommandId=l.commandId;try{void 0===l.commandArgs?this._commandService.executeCommand(l.commandId).then(void 0,e=>this._notificationService.warn(e)):this._commandService.executeCommand(l.commandId,l.commandArgs).then(void 0,e=>this._notificationService.warn(e))}finally{this._currentlyDispatchingCommandId=null}HIGH_FREQ_COMMANDS.test(l.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:l.commandId,from:"keybinding",detail:e.getUserSettingsLabel()??void 0})}return o}}mightProducePrintableCharacter(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)}}class KeybindingModifierSet{static{this.EMPTY=new KeybindingModifierSet(null)}constructor(e){this._ctrlKey=!!e&&e.ctrlKey,this._shiftKey=!!e&&e.shiftKey,this._altKey=!!e&&e.altKey,this._metaKey=!!e&&e.metaKey}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}class ResolvedKeybindingItem{constructor(e,t,i,o,n,r,s){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?toEmptyArrayIfContainsNull(e.getDispatchChords()):[],e&&0===this.chords.length&&(this.chords=toEmptyArrayIfContainsNull(e.getSingleModifierDispatchChords())),this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=i,this.when=o,this.isDefault=n,this.extensionId=r,this.isBuiltinExtension=s}}function toEmptyArrayIfContainsNull(e){const t=[];for(let i=0,o=e.length;ithis._getLabel(e))}getAriaLabel(){return AriaLabelProvider.toLabel(this._os,this._chords,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:ElectronAcceleratorLabelProvider.toLabel(this._os,this._chords,e=>this._getElectronAccelerator(e))}getUserSettingsLabel(){return UserSettingsLabelProvider.toLabel(this._os,this._chords,e=>this._getUserSettingsLabel(e))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(e=>this._getChord(e))}_getChord(e){return new ResolvedChord(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map(e=>this._getChordDispatch(e))}getSingleModifierDispatchChords(){return this._chords.map(e=>this._getSingleModifierChordDispatch(e))}}class USLayoutResolvedKeybinding extends BaseResolvedKeybinding{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(2===this._os)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return KeyCodeUtils.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":KeyCodeUtils.toString(e.keyCode)}_getElectronAccelerator(e){return KeyCodeUtils.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=KeyCodeUtils.toUserSettingsUS(e.keyCode);return t?t.toLowerCase():t}_getChordDispatch(e){return USLayoutResolvedKeybinding.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=KeyCodeUtils.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return 5!==e.keyCode||e.shiftKey||e.altKey||e.metaKey?4!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey?6!==e.keyCode||e.ctrlKey||e.shiftKey||e.metaKey?57!==e.keyCode||e.ctrlKey||e.shiftKey||e.altKey?null:"meta":"alt":"shift":"ctrl"}static _scanCodeToKeyCode(e){const t=IMMUTABLE_CODE_TO_KEY_CODE[e];if(-1!==t)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof KeyCodeChord)return e;const t=this._scanCodeToKeyCode(e.scanCode);return 0===t?null:new KeyCodeChord(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const i=toEmptyArrayIfContainsNull(e.chords.map(e=>this._toKeyCodeChord(e)));return i.length>0?[new USLayoutResolvedKeybinding(i,t)]:[]}}const ILabelService=createDecorator("labelService"),IProgressService=createDecorator("progressService");let Progress$1=class{static{this.None=Object.freeze({report(){}})}constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}};const IEditorProgressService=createDecorator("editorProgressService");class StringIterator{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const e=this._value.charCodeAt(t);if(!(47===e||this._splitOnBackslash&&92===e))break}return this.next()}hasNext(){return this._to!1,t=()=>!1){return new TernarySearchTree(new UriIterator(e,t))}static forStrings(){return new TernarySearchTree(new StringIterator)}static forConfigKeys(){return new TernarySearchTree(new ConfigKeysIterator)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const i=this._iter.reset(e);let o;this._root||(this._root=new TernarySearchTreeNode,this._root.segment=i.value());const n=[];for(o=this._root;;){const e=i.cmp(o.segment);if(e>0)o.left||(o.left=new TernarySearchTreeNode,o.left.segment=i.value()),n.push([-1,o]),o=o.left;else if(e<0)o.right||(o.right=new TernarySearchTreeNode,o.right.segment=i.value()),n.push([1,o]),o=o.right;else{if(!i.hasNext())break;i.next(),o.mid||(o.mid=new TernarySearchTreeNode,o.mid.segment=i.value()),n.push([0,o]),o=o.mid}}const r=o.value;o.value=t,o.key=e;for(let s=n.length-1;s>=0;s--){const e=n[s][1];e.updateHeight();const t=e.balanceFactor();if(t<-1||t>1){const t=n[s][0],i=n[s+1][0];if(1===t&&1===i)n[s][1]=e.rotateLeft();else if(-1===t&&-1===i)n[s][1]=e.rotateRight();else if(1===t&&-1===i)e.right=n[s+1][1]=n[s+1][1].rotateRight(),n[s][1]=e.rotateLeft();else{if(-1!==t||1!==i)throw new Error;e.left=n[s+1][1]=n[s+1][1].rotateLeft(),n[s][1]=e.rotateRight()}if(s>0)switch(n[s-1][0]){case-1:n[s-1][1].left=n[s][1];break;case 1:n[s-1][1].right=n[s][1];break;case 0:n[s-1][1].mid=n[s][1]}else this._root=n[0][1]}}return r}get(e){return this._getNode(e)?.value}_getNode(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const e=t.cmp(i.segment);if(e>0)i=i.left;else if(e<0)i=i.right;else{if(!t.hasNext())break;t.next(),i=i.mid}}return i}has(e){const t=this._getNode(e);return!(void 0===t?.value&&void 0===t?.mid)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){const i=this._iter.reset(e),o=[];let n=this._root;for(;n;){const e=i.cmp(n.segment);if(e>0)o.push([-1,n]),n=n.left;else if(e<0)o.push([1,n]),n=n.right;else{if(!i.hasNext())break;i.next(),o.push([0,n]),n=n.mid}}if(n){if(t?(n.left=void 0,n.mid=void 0,n.right=void 0,n.height=1):(n.key=void 0,n.value=void 0),!n.mid&&!n.value)if(n.left&&n.right){const e=this._min(n.right);if(e.key){const{key:t,value:i,segment:o}=e;this._delete(e.key,!1),n.key=t,n.value=i,n.segment=o}}else{const e=n.left??n.right;if(o.length>0){const[t,i]=o[o.length-1];switch(t){case-1:i.left=e;break;case 0:i.mid=e;break;case 1:i.right=e}}else this._root=e}for(let e=o.length-1;e>=0;e--){const t=o[e][1];t.updateHeight();const i=t.balanceFactor();if(i>1?(t.right.balanceFactor()>=0||(t.right=t.right.rotateRight()),o[e][1]=t.rotateLeft()):i<-1&&(t.left.balanceFactor()<=0||(t.left=t.left.rotateLeft()),o[e][1]=t.rotateRight()),e>0)switch(o[e-1][0]){case-1:o[e-1][1].left=o[e][1];break;case 1:o[e-1][1].right=o[e][1];break;case 0:o[e-1][1].mid=o[e][1]}else this._root=o[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let i,o=this._root;for(;o;){const e=t.cmp(o.segment);if(e>0)o=o.left;else if(e<0)o=o.right;else{if(!t.hasNext())break;t.next(),i=o.value||i,o=o.mid}}return o&&o.value||i}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const i=this._iter.reset(e);let o=this._root;for(;o;){const e=i.cmp(o.segment);if(e>0)o=o.left;else if(e<0)o=o.right;else{if(!i.hasNext())return o.mid?this._entries(o.mid):t?o.value:void 0;i.next(),o=o.mid}}}forEach(e){for(const[t,i]of this)e(i,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}}const IWorkspaceContextService=createDecorator("contextService");function isSingleFolderWorkspaceIdentifier(e){const t=e;return"string"==typeof t?.id&&URI.isUri(t.uri)}function isEmptyWorkspaceIdentifier(e){const t=e;return"string"==typeof t?.id&&!isSingleFolderWorkspaceIdentifier(e)&&!isWorkspaceIdentifier(e)}const UNKNOWN_EMPTY_WINDOW_WORKSPACE={id:"empty-window"};function toWorkspaceIdentifier(e,t){if("string"==typeof e||void 0===e)return"string"==typeof e?{id:basename$1(e)}:UNKNOWN_EMPTY_WINDOW_WORKSPACE;const i=e;return i.configuration?{id:i.id,configPath:i.configuration}:1===i.folders.length?{id:i.id,uri:i.folders[0].uri}:{id:i.id}}function isWorkspaceIdentifier(e){const t=e;return"string"==typeof t?.id&&URI.isUri(t.configPath)}class WorkspaceFolder{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const WORKSPACE_EXTENSION="code-workspace";localize("codeWorkspace","Code Workspace");const STANDALONE_EDITOR_WORKSPACE_ID="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function isStandaloneEditorWorkspace(e){return e.id===STANDALONE_EDITOR_WORKSPACE_ID}var InspectTokensNLS,GoToLineNLS,QuickHelpNLS,QuickCommandNLS,QuickOutlineNLS,StandaloneCodeEditorNLS,ToggleHighContrastNLS,StandaloneServicesNLS;!function(e){e.inspectTokensAction=localize("inspectTokens","Developer: Inspect Tokens")}(InspectTokensNLS||(InspectTokensNLS={})),function(e){e.gotoLineActionLabel=localize("gotoLineActionLabel","Go to Line/Column...")}(GoToLineNLS||(GoToLineNLS={})),function(e){e.helpQuickAccessActionLabel=localize("helpQuickAccess","Show all Quick Access Providers")}(QuickHelpNLS||(QuickHelpNLS={})),function(e){e.quickCommandActionLabel=localize("quickCommandActionLabel","Command Palette"),e.quickCommandHelp=localize("quickCommandActionHelp","Show And Run Commands")}(QuickCommandNLS||(QuickCommandNLS={})),function(e){e.quickOutlineActionLabel=localize("quickOutlineActionLabel","Go to Symbol..."),e.quickOutlineByCategoryActionLabel=localize("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")}(QuickOutlineNLS||(QuickOutlineNLS={})),function(e){e.editorViewAccessibleLabel=localize("editorViewAccessibleLabel","Editor content")}(StandaloneCodeEditorNLS||(StandaloneCodeEditorNLS={})),function(e){e.toggleHighContrast=localize("toggleHighContrast","Toggle High Contrast Theme")}(ToggleHighContrastNLS||(ToggleHighContrastNLS={})),function(e){e.bulkEditServiceSummary=localize("bulkEditServiceSummary","Made {0} edits in {1} files")}(StandaloneServicesNLS||(StandaloneServicesNLS={}));const IWorkspaceTrustManagementService=createDecorator("workspaceTrustManagementService");let registeredAssociations=[],nonUserRegisteredAssociations=[],userRegisteredAssociations=[];function registerPlatformLanguageAssociation(e,t=!1){_registerLanguageAssociation(e,!1,t)}function _registerLanguageAssociation(e,t,i){const o=toLanguageAssociationItem(e,t);registeredAssociations.push(o),o.userConfigured?userRegisteredAssociations.push(o):nonUserRegisteredAssociations.push(o),i&&!o.userConfigured&®isteredAssociations.forEach(e=>{e.mime===o.mime||e.userConfigured||(o.extension&&e.extension===o.extension&&console.warn(`Overwriting extension <<${o.extension}>> to now point to mime <<${o.mime}>>`),o.filename&&e.filename===o.filename&&console.warn(`Overwriting filename <<${o.filename}>> to now point to mime <<${o.mime}>>`),o.filepattern&&e.filepattern===o.filepattern&&console.warn(`Overwriting filepattern <<${o.filepattern}>> to now point to mime <<${o.mime}>>`),o.firstline&&e.firstline===o.firstline&&console.warn(`Overwriting firstline <<${o.firstline}>> to now point to mime <<${o.mime}>>`))})}function toLanguageAssociationItem(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?parse$6(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(posix.sep)>=0}}function clearPlatformLanguageAssociations(){registeredAssociations=registeredAssociations.filter(e=>e.userConfigured),nonUserRegisteredAssociations=[]}function getLanguageIds(e,t){return getAssociations(e,t).map(e=>e.id)}function getAssociations(e,t){let i;if(e)switch(e.scheme){case Schemas.file:i=e.fsPath;break;case Schemas.data:i=DataUri.parseMetaData(e).get(DataUri.META_DATA_LABEL);break;case Schemas.vscodeNotebookCell:i=void 0;break;default:i=e.path}if(!i)return[{id:"unknown",mime:Mimes.unknown}];i=i.toLowerCase();const o=basename$1(i),n=getAssociationByPath(i,o,userRegisteredAssociations);if(n)return[n,{id:PLAINTEXT_LANGUAGE_ID,mime:Mimes.text}];const r=getAssociationByPath(i,o,nonUserRegisteredAssociations);if(r)return[r,{id:PLAINTEXT_LANGUAGE_ID,mime:Mimes.text}];if(t){const e=getAssociationByFirstline(t);if(e)return[e,{id:PLAINTEXT_LANGUAGE_ID,mime:Mimes.text}]}return[{id:"unknown",mime:Mimes.unknown}]}function getAssociationByPath(e,t,i){let o,n,r;for(let s=i.length-1;s>=0;s--){const a=i[s];if(t===a.filenameLowercase){o=a;break}if(a.filepattern&&(!n||a.filepattern.length>n.filepattern.length)){const i=a.filepatternOnPath?e:t;a.filepatternLowercase?.(i)&&(n=a)}a.extension&&(!r||a.extension.length>r.extension.length)&&t.endsWith(a.extensionLowercase)&&(r=a)}return o||(n||(r||void 0))}function getAssociationByFirstline(e){if(startsWithUTF8BOM(e)&&(e=e.substr(1)),e.length>0)for(let t=registeredAssociations.length-1;t>=0;t--){const i=registeredAssociations[t];if(!i.firstline)continue;const o=e.match(i.firstline);if(o&&o.length>0)return i}}const hasOwnProperty$h=Object.prototype.hasOwnProperty,NULL_LANGUAGE_ID="vs.editor.nullLanguage";class LanguageIdCodec{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(NULL_LANGUAGE_ID,0),this._register(PLAINTEXT_LANGUAGE_ID,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||NULL_LANGUAGE_ID}}class LanguagesRegistry extends Disposable{static{this.instanceCount=0}constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,LanguagesRegistry.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new LanguageIdCodec,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(ModesRegistry.onDidChangeLanguages(e=>{this._initializeFromRegistry()})))}dispose(){LanguagesRegistry.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},clearPlatformLanguageAssociations();const e=[].concat(ModesRegistry.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach(e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier}),t.mimetypes.forEach(e=>{this._mimeTypesMap[e]=t.identifier})}),Registry.as(Extensions$6.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let i;hasOwnProperty$h.call(this._languages,t)?i=this._languages[t]:(this.languageIdCodec.register(t),i={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=i),this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let o=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),o=t.mimetypes[0]),o||(o=`text/x-${i}`,e.mimetypes.push(o)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)registerPlatformLanguageAssociation({id:i,mime:o,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const a of t.filenames)registerPlatformLanguageAssociation({id:i,mime:o,filename:a},this._warnOnOverwrite),e.filenames.push(a);if(Array.isArray(t.filenamePatterns))for(const a of t.filenamePatterns)registerPlatformLanguageAssociation({id:i,mime:o,filepattern:a},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);regExpLeadsToEndlessLoop(t)||registerPlatformLanguageAssociation({id:i,mime:o,firstline:t},this._warnOnOverwrite)}catch(s){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,s)}}e.aliases.push(i);let n=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(n=0===t.aliases.length?[null]:t.aliases),null!==n)for(const a of n)a&&0!==a.length&&e.aliases.push(a);const r=null!==n&&n.length>0;if(r&&null===n[0]);else{const t=(r?n[0]:null)||i;!r&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&hasOwnProperty$h.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return hasOwnProperty$h.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&hasOwnProperty$h.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?getLanguageIds(e,t):[]}}const strictEquals=(e,t)=>e===t;function itemsEquals(e=strictEquals){return(t,i)=>equals$2(t,i,e)}function itemEquals(){return(e,t)=>e.equals(t)}function equalsIfDefined(e,t,i){if(void 0!==i){const o=e;return null==o||null==t?t===o:i(o,t)}{const t=e;return(e,i)=>null==e||null==i?i===e:t(e,i)}}function structuralEquals(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let i=0;i{const e=getFunctionName(o);if(void 0!==e)return e;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(o.toString());return t?`${this.debugName}.${t[2]}`:i?void 0:`${this.debugName} (mapped)`},debugReferenceFn:o},e=>o(this.read(e),e))}flatten(){return _derived({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},e=>this.read(e).read(e))}recomputeInitiallyAndOnChange(e,t){return e.add(_recomputeInitiallyAndOnChange(this,t)),this}keepObserved(e){return e.add(_keepObserved(this)),this}}class BaseObservable extends ConvenientObservable{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function transaction(e,t){const i=new TransactionImpl(e,t);try{e(i)}finally{i.finish()}}function globalTransaction(e){if(_globalTransaction)e(_globalTransaction);else{const t=new TransactionImpl(e,void 0);_globalTransaction=t;try{e(t)}finally{t.finish(),_globalTransaction=void 0}}}async function asyncTransaction(e,t){const i=new TransactionImpl(e,t);try{await e(i)}finally{i.finish()}}function subtransaction(e,t,i){e?t(e):transaction(t,i)}class TransactionImpl{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[]}getDebugName(){return this._getDebugName?this._getDebugName():getFunctionName(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t{},()=>`Setting ${this.debugName}`));try{const o=this._value;this._setValue(e),getLogger()?.handleObservableChanged(this,{oldValue:o,newValue:e,change:i,didChange:!0,hadValue:!0});for(const e of this.observers)t.updateObserver(e,this),e.handleChange(this,i)}finally{o&&o.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function disposableObservableValue(e,t){let i;return i="string"==typeof e?new DebugNameData(void 0,e,void 0):new DebugNameData(e,void 0,void 0),new DisposableObservableValue(i,t,strictEquals)}class DisposableObservableValue extends ObservableValue{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){this._value?.dispose()}}function derived(e,t){return void 0!==t?new Derived(new DebugNameData(e,void 0,t),t,void 0,void 0,void 0,strictEquals):new Derived(new DebugNameData(void 0,void 0,e),e,void 0,void 0,void 0,strictEquals)}function derivedWithSetter(e,t,i){return new DerivedWithSetter(new DebugNameData(e,void 0,t),t,void 0,void 0,void 0,strictEquals,i)}function derivedOpts(e,t){return new Derived(new DebugNameData(e.owner,e.debugName,e.debugReferenceFn),t,void 0,void 0,e.onLastObserverRemoved,e.equalsFn??strictEquals)}function derivedHandleChanges(e,t){return new Derived(new DebugNameData(e.owner,e.debugName,void 0),t,e.createEmptyChangeSummary,e.handleChange,void 0,e.equalityComparer??strictEquals)}function derivedWithStore(e,t){let i,o;void 0===t?(i=e,o=void 0):(o=e,i=t);const n=new DisposableStore;return new Derived(new DebugNameData(o,void 0,i),e=>(n.clear(),i(e,n)),void 0,void 0,()=>n.dispose(),strictEquals)}function derivedDisposable(e,t){let i,o,n;return void 0===t?(i=e,o=void 0):(o=e,i=t),new Derived(new DebugNameData(o,void 0,i),e=>{n?n.clear():n=new DisposableStore;const t=i(e);return t&&n.add(t),t},void 0,void 0,()=>{n&&(n.dispose(),n=void 0)},strictEquals)}_setDerivedOpts(derivedOpts);class Derived extends BaseObservable{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,i,o,n=void 0,r){super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=i,this._handleChange=o,this._handleLastObserverRemoved=n,this._equalityComparator=r,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.()}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(0===this.observers.size){const e=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),e}do{if(1===this.state)for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e;const t=0!==this.state,i=this.value;this.state=3;const o=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,o)}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}if(t&&!this._equalityComparator(i,this.value))for(const n of this.observers)n.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const i of this.observers)i.handlePossibleChange(this);if(t)for(const i of this.observers)i.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}assertFn(()=>this.updateCount>=0)}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const i=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),o=3===this.state;if(i&&(1===this.state||o)&&(this.state=2,o))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}class DerivedWithSetter extends Derived{constructor(e,t,i,o,n=void 0,r,s){super(e,t,i,o,n,r),this.set=s}}function autorun(e){return new AutorunObserver(new DebugNameData(void 0,void 0,e),e,void 0,void 0)}function autorunOpts(e,t){return new AutorunObserver(new DebugNameData(e.owner,e.debugName,e.debugReferenceFn??t),t,void 0,void 0)}function autorunHandleChanges(e,t){return new AutorunObserver(new DebugNameData(e.owner,e.debugName,e.debugReferenceFn??t),t,e.createEmptyChangeSummary,e.handleChange)}function autorunWithStoreHandleChanges(e,t){const i=new DisposableStore,o=autorunHandleChanges({owner:e.owner,debugName:e.debugName,debugReferenceFn:e.debugReferenceFn??t,createEmptyChangeSummary:e.createEmptyChangeSummary,handleChange:e.handleChange},(e,o)=>{i.clear(),t(e,o,i)});return toDisposable(()=>{o.dispose(),i.dispose()})}function autorunWithStore(e){const t=new DisposableStore,i=autorunOpts({owner:void 0,debugName:void 0,debugReferenceFn:e},i=>{t.clear(),e(i,t)});return toDisposable(()=>{i.dispose(),t.dispose()})}class AutorunObserver{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,i,o){this._debugNameData=e,this._runFn=t,this.createChangeSummary=i,this._handleChange=o,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),this._runIfNeeded()}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear()}_runIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){getLogger()?.handleAutorunTriggered(this);const e=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,e)}}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,assertFn(()=>this.updateCount>=0)}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const i=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary);i&&(this.state=2)}}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}function constObservable(e){return new ConstObservable(e)}!function(e){e.Observer=AutorunObserver}(autorun||(autorun={}));class ConstObservable extends ConvenientObservable{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return`Const: ${this.value}`}}function observableFromEvent(...e){let t,i,o;return 3===e.length?[t,i,o]=e:[i,o]=e,new FromEventObservable(new DebugNameData(t,void 0,o),i,o,()=>FromEventObservable.globalTransaction,strictEquals)}function observableFromEventOpts(e,t,i){return new FromEventObservable(new DebugNameData(e.owner,e.debugName,e.debugReferenceFn??i),t,i,()=>FromEventObservable.globalTransaction,e.equalsFn??strictEquals)}class FromEventObservable extends BaseObservable{constructor(e,t,i,o,n){super(),this._debugNameData=e,this.event=t,this._getValue=i,this._getTransaction=o,this._equalityComparator=n,this.hasValue=!1,this.handleEvent=e=>{const t=this._getValue(e),i=this.value;(!this.hasValue||!this._equalityComparator(i,t))&&(this.value=t,this.hasValue&&subtransaction(this._getTransaction(),e=>{for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)},()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")}),this.hasValue=!0)}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){if(this.subscription)return this.hasValue||this.handleEvent(void 0),this.value;return this._getValue(void 0)}}function observableSignalFromEvent(e,t){return new FromEventObservableSignal(e,t)}!function(e){e.Observer=FromEventObservable,e.batchEventsGlobally=function(e,t){let i=!1;void 0===FromEventObservable.globalTransaction&&(FromEventObservable.globalTransaction=e,i=!0);try{t()}finally{i&&(FromEventObservable.globalTransaction=void 0)}}}(observableFromEvent||(observableFromEvent={}));class FromEventObservableSignal extends BaseObservable{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{transaction(e=>{for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)},()=>this.debugName)}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function observableSignal(e){return"string"==typeof e?new ObservableSignal(e):new ObservableSignal(void 0,e)}class ObservableSignal extends BaseObservable{get debugName(){return new DebugNameData(this._owner,this._debugName,void 0).getDebugName(this)??"Observable Signal"}toString(){return this.debugName}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(e)for(const i of this.observers)e.updateObserver(i,this),i.handleChange(this,t);else transaction(e=>{this.trigger(e,t)},()=>`Trigger signal ${this.debugName}`)}get(){}}function keepObserved(e){const t=new KeepAliveObserver(!1,void 0);return e.addObserver(t),toDisposable(()=>{e.removeObserver(t)})}function recomputeInitiallyAndOnChange(e,t){const i=new KeepAliveObserver(!0,t);return e.addObserver(i),t?t(e.get()):e.reportChanges(),toDisposable(()=>{e.removeObserver(i)})}_setKeepObserved(keepObserved),_setRecomputeInitiallyAndOnChange(recomputeInitiallyAndOnChange);class KeepAliveObserver{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}function derivedObservableWithCache(e,t){let i;return derivedOpts({owner:e,debugReferenceFn:t},e=>(i=t(e,i),i))}function mapObservableArrayCached(e,t,i,o){let n=new ArrayMap(i,o);return derivedOpts({debugReferenceFn:i,owner:e,onLastObserverRemoved:()=>{n.dispose(),n=new ArrayMap(i)}},e=>(n.setItems(t.read(e)),n.getItems()))}class ArrayMap{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(e=>e.store.dispose()),this._cache.clear()}setItems(e){const t=[],i=new Set(this._cache.keys());for(const o of e){const e=this._keySelector?this._keySelector(o):o;let n=this._cache.get(e);if(n)i.delete(e);else{const t=new DisposableStore;n={out:this._map(o,t),store:t},this._cache.set(e,n)}t.push(n.out)}for(const o of i){this._cache.get(o).store.dispose(),this._cache.delete(o)}this._items=t}getItems(){return this._items}}function derivedConstOnceDefined(e,t){return derivedObservableWithCache(e,(e,i)=>i??t(e))}class ObservablePromise{static fromFn(e){return new ObservablePromise(e())}constructor(e){this._value=observableValue(this,void 0),this.promiseResult=this._value,this.promise=e.then(e=>(transaction(t=>{this._value.set(new PromiseResult(e,void 0),t)}),e),e=>{throw transaction(t=>{this._value.set(new PromiseResult(void 0,e),t)}),e})}}class PromiseResult{constructor(e,t){this.data=e,this.error=t}}function waitForState(e,t,i,o){return t||(t=e=>null!=e),new Promise((n,r)=>{let s=!0,a=!1;const l=e.map(e=>({isFinished:t(e),error:!!i&&i(e),state:e})),c=autorun(e=>{const{isFinished:t,error:i,state:o}=l.read(e);(t||i)&&(s?a=!0:c.dispose(),i?r(!0===i?o:i):n(o))});if(o){const e=o.onCancellationRequested(()=>{c.dispose(),e.dispose(),r(new CancellationError)});if(o.isCancellationRequested)return c.dispose(),e.dispose(),void r(new CancellationError)}s=!1,a&&c.dispose()})}class LazyObservableValue extends BaseObservable{get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}constructor(e,t,i){super(),this._debugNameData=e,this._equalityComparator=i,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=t}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 t of this._deltas)e.handleChange(this,t);this._deltas.length=0}else for(const e of this.observers)e.handleChange(this,void 0)}_beginUpdate(){if(this._updateCounter++,1===this._updateCounter)for(const e of this.observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,0===this._updateCounter){this._update();const e=[...this.observers];for(const t of e)t.endUpdate(this)}}addObserver(e){const t=!this.observers.has(e)&&this._updateCounter>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this._updateCounter>0;super.removeObserver(e),t&&e.endUpdate(this)}set(e,t,i){if(void 0===i&&this._equalityComparator(this._value,e))return;let o;t||(t=o=new TransactionImpl(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(e),void 0!==i&&this._deltas.push(i),t.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(e,t)=>{},handlePossibleChange:e=>{}},this),this._updateCounter>1)for(const e of this.observers)e.handlePossibleChange(this)}finally{o&&o.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function observableValueOpts(e,t){return e.lazy?new LazyObservableValue(new DebugNameData(e.owner,e.debugName,void 0),t,e.equalsFn??strictEquals):new ObservableValue(new DebugNameData(e.owner,e.debugName,void 0),t,e.equalsFn??strictEquals)}class LanguageService extends Disposable{static{this.instanceCount=0}constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new Emitter$1),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new Emitter$1),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new Emitter$1({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,LanguageService.instanceCount++,this._registry=this._register(new LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){LanguageService.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){return firstOrDefault(this._registry.guessLanguageIdByFilepathOrFirstLine(e,t),null)}createById(e){return new LanguageSelection(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new LanguageSelection(this.onDidChange,()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(i)})}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=PLAINTEXT_LANGUAGE_ID),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),TokenizationRegistry.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}class LanguageSelection{constructor(e,t){this._value=observableFromEvent(this,e,()=>t()),this.onDidChange=Event$1.fromObservable(this._value)}get languageId(){return this._value.get()}}const DataTransfers={RESOURCES:"ResourceURLs",TEXT:Mimes.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"},nullHoverDelegateFactory=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});let hoverDelegateFactory=nullHoverDelegateFactory;const defaultHoverDelegateMouse=new Lazy(()=>hoverDelegateFactory("mouse",!1)),defaultHoverDelegateElement=new Lazy(()=>hoverDelegateFactory("element",!1));function setHoverDelegateFactory(e){hoverDelegateFactory=e}function getDefaultHoverDelegate(e){return"element"===e?defaultHoverDelegateElement.value:defaultHoverDelegateMouse.value}function createInstantHoverDelegate(){return hoverDelegateFactory("element",!0)}let baseHoverDelegate={showHover:()=>{},hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>null,showManagedHover:()=>{}};function setBaseLayerHoverDelegate(e){baseHoverDelegate=e}function getBaseLayerHoverDelegate(){return baseHoverDelegate}class CombinedSpliceable{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach(o=>o.splice(e,t,i))}}class ListError extends Error{constructor(e,t){super(`ListError [${e}] ${t}`)}}function groupIntersect(e,t){const i=[];for(const o of t){if(e.start>=o.range.end)continue;if(e.ende.concat(t),[]))}class RangeMap{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e??0,this._size=this._paddingTop}splice(e,t,i=[]){const o=i.length-t,n=groupIntersect({start:0,end:e},this.groups),r=groupIntersect({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map(e=>({range:shift(e.range,o),size:e.size})),s=i.map((t,i)=>({range:{start:e+i,end:e+i+1},size:t.size}));this.groups=concat$1(n,s,r),this._size=this._paddingTop+this.groups.reduce((e,t)=>e+t.size*(t.range.end-t.range.start),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const i of e){this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}var __decorate$2p=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};const StaticDND={CurrentDragAndDropData:void 0},DefaultOptions$1={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:e=>[e],getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class ElementsDragAndDropData{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class ExternalElementsDragAndDropData{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class NativeDragAndDropData{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;ti,this.getPosInSet=e?.getPosInSet?e.getPosInSet.bind(e):(e,t)=>t+1,this.getRole=e?.getRole?e.getRole.bind(e):e=>"listitem",this.isChecked=e?.isChecked?e.isChecked.bind(e):e=>{}}}class ListView{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(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const e of this.items)this.measureItemWidth(e);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width: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(e,t,i,o=DefaultOptions$1){if(this.virtualDelegate=t,this.domId="list_id_"+ ++ListView.InstanceCount,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Delayer(50),this.splicing=!1,this.dragOverAnimationStopDisposable=Disposable.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=Disposable.None,this.onDragLeaveTimeout=Disposable.None,this.disposables=new DisposableStore,this._onDidChangeContentHeight=new Emitter$1,this._onDidChangeContentWidth=new Emitter$1,this.onDidChangeContentHeight=Event$1.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,o.horizontalScrolling&&o.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(o.paddingTop??0);for(const n of i)this.renderers.set(n.templateId,n);this.cache=this.disposables.add(new 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","boolean"!=typeof o.mouseSupport||o.mouseSupport),this._horizontalScrolling=o.horizontalScrolling??DefaultOptions$1.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=void 0===o.paddingBottom?0:o.paddingBottom,this.accessibilityProvider=new ListViewAccessibilityProvider(o.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows";(o.transformOptimization??DefaultOptions$1.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(Gesture.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new Scrollable$1({forceIntegerValues:!0,smoothScrollDuration:o.smoothScrolling?125:0,scheduleAtNextAnimationFrame:e=>scheduleAtNextAnimationFrame(getWindow$2(this.domNode),e)})),this.scrollableElement=this.disposables.add(new SmoothScrollableElement(this.rowsContainer,{alwaysConsumeMouseWheel:o.alwaysConsumeMouseWheel??DefaultOptions$1.alwaysConsumeMouseWheel,horizontal:1,vertical:o.verticalScrollMode??DefaultOptions$1.verticalScrollMode,useShadows:o.useShadows??DefaultOptions$1.useShadows,mouseWheelScrollSensitivity:o.mouseWheelScrollSensitivity,fastScrollSensitivity:o.fastScrollSensitivity,scrollByPage:o.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(addDisposableListener(this.rowsContainer,EventType.Change,e=>this.onTouchChange(e))),this.disposables.add(addDisposableListener(this.scrollableElement.getDomNode(),"scroll",e=>e.target.scrollTop=0)),this.disposables.add(addDisposableListener(this.domNode,"dragover",e=>this.onDragOver(this.toDragEvent(e)))),this.disposables.add(addDisposableListener(this.domNode,"drop",e=>this.onDrop(this.toDragEvent(e)))),this.disposables.add(addDisposableListener(this.domNode,"dragleave",e=>this.onDragLeave(this.toDragEvent(e)))),this.disposables.add(addDisposableListener(this.domNode,"dragend",e=>this.onDragEnd(e))),this.setRowLineHeight=o.setRowLineHeight??DefaultOptions$1.setRowLineHeight,this.setRowHeight=o.setRowHeight??DefaultOptions$1.setRowHeight,this.supportDynamicHeights=o.supportDynamicHeights??DefaultOptions$1.supportDynamicHeights,this.dnd=o.dnd??this.disposables.add(DefaultOptions$1.dnd),this.layout(o.initialSize?.height,o.initialSize?.width)}updateOptions(e){let t;if(void 0!==e.paddingBottom&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),void 0!==e.smoothScrolling&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),void 0!==e.horizontalScrolling&&(this.horizontalScrolling=e.horizontalScrolling),void 0!==e.scrollByPage&&(t={...t??{},scrollByPage:e.scrollByPage}),void 0!==e.mouseWheelScrollSensitivity&&(t={...t??{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),void 0!==e.fastScrollSensitivity&&(t={...t??{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),void 0!==e.paddingTop&&e.paddingTop!==this.rangeMap.paddingTop){const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),i=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(t,Math.max(0,this.lastRenderTop+i),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new RangeMap(e)}splice(e,t,i=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,i)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,i=[]){const o=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),n={start:e,end:e+t},r=Range$1.intersect(o,n),s=new Map;for(let _=r.end-1;_>=r.start;_--){const e=this.items[_];if(e.dragStartDisposable.dispose(),e.checkedDisposable.dispose(),e.row){let t=s.get(e.templateId);t||(t=[],s.set(e.templateId,t));const i=this.renderers.get(e.templateId);i&&i.disposeElement&&i.disposeElement(e.element,_,e.row.templateData,e.size),t.unshift(e.row)}e.row=null,e.stale=!0}const a={start:e+t,end:this.items.length},l=Range$1.intersect(a,o),c=Range$1.relativeComplement(a,o),d=i.map(e=>({id:String(this.itemId++),element:e,templateId:this.virtualDelegate.getTemplateId(e),size:this.virtualDelegate.getHeight(e),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(e),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:Disposable.None,checkedDisposable:Disposable.None,stale:!1}));let u;0===e&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,d),u=this.items,this.items=d):(this.rangeMap.splice(e,t,d),u=this.items.splice(e,t,...d));const h=i.length-t,p=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),g=shift(l,h),m=Range$1.intersect(p,g);for(let _=m.start;_shift(e,h)),b=[{start:e,end:e+i.length},...v].map(e=>Range$1.intersect(p,e)).reverse();for(const _ of b)for(let e=_.end-1;e>=_.start;e--){const t=this.items[e],i=s.get(t.templateId),o=i?.pop();this.insertItemInDOM(e,o)}for(const _ of s.values())for(const e of _)this.cache.release(e);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),u.map(e=>e.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=scheduleAtNextAnimationFrame(getWindow$2(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){this.horizontalScrolling?this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth()):this.scrollableElementWidthDelayer.cancel()}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)void 0!==t.width&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:0===e?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.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(e){return this.items[e].element}indexOf(e){return this.items.findIndex(t=>t.element===e)}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const i={height:"number"==typeof e?e:getContentHeight(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,i.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(i),void 0!==t&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:"number"==typeof t?t:getContentWidth(this.domNode)})}render(e,t,i,o,n,r=!1){const s=this.getRenderRange(t,i),a=Range$1.relativeComplement(s,e).reverse(),l=Range$1.relativeComplement(e,s);if(r){const t=Range$1.intersect(e,s);for(let e=t.start;e{for(const e of l)for(let t=e.start;t=e.start;t--)this.insertItemInDOM(t)}),void 0!==o&&(this.rowsContainer.style.left=`-${o}px`),this.rowsContainer.style.top=`-${t}px`,this.horizontalScrolling&&void 0!==n&&(this.rowsContainer.style.width=`${Math.max(n,this.renderWidth)}px`),this.lastRenderTop=t,this.lastRenderHeight=i}insertItemInDOM(e,t){const i=this.items[e];if(!i.row)if(t)i.row=t,i.stale=!0;else{const e=this.cache.alloc(i.templateId);i.row=e.row,i.stale||=e.isReusingConnectedDomNode}const o=this.accessibilityProvider.getRole(i.element)||"listitem";i.row.domNode.setAttribute("role",o);const n=this.accessibilityProvider.isChecked(i.element);if("boolean"==typeof n)i.row.domNode.setAttribute("aria-checked",String(!!n));else if(n){const e=e=>i.row.domNode.setAttribute("aria-checked",String(!!e));e(n.value),i.checkedDisposable=n.onDidChange(()=>e(n.value))}if(i.stale||!i.row.domNode.parentElement){const t=this.items.at(e+1)?.row?.domNode??null;i.row.domNode.parentElement===this.rowsContainer&&i.row.domNode.nextElementSibling===t||this.rowsContainer.insertBefore(i.row.domNode,t),i.stale=!1}this.updateItemInDOM(i,e);const r=this.renderers.get(i.templateId);if(!r)throw new Error(`No renderer found for template id ${i.templateId}`);r?.renderElement(i.element,e,i.row.templateData,i.size);const s=this.dnd.getDragURI(i.element);i.dragStartDisposable.dispose(),i.row.domNode.draggable=!!s,s&&(i.dragStartDisposable=addDisposableListener(i.row.domNode,"dragstart",e=>this.onDragStart(i.element,s,e))),this.horizontalScrolling&&(this.measureItemWidth(i),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=getContentWidth(e.row.domNode);const t=getWindow$2(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute("data-index",`${t}`),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2==0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"click")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseDblClick(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"dblclick")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseMiddleClick(){return Event$1.filter(Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"auxclick")).event,e=>this.toMouseEvent(e),this.disposables),e=>1===e.browserEvent.button,this.disposables)}get onMouseDown(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"mousedown")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOver(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"mouseover")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOut(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"mouseout")).event,e=>this.toMouseEvent(e),this.disposables)}get onContextMenu(){return Event$1.any(Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"contextmenu")).event,e=>this.toMouseEvent(e),this.disposables),Event$1.map(this.disposables.add(new DomEmitter(this.domNode,EventType.Contextmenu)).event,e=>this.toGestureEvent(e),this.disposables))}get onTouchStart(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"touchstart")).event,e=>this.toTouchEvent(e),this.disposables)}get onTap(){return Event$1.map(this.disposables.add(new DomEmitter(this.rowsContainer,EventType.Tap)).event,e=>this.toGestureEvent(e),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element,sector:this.getTargetSector(e,t)}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error("Got bad scroll event:",e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,i){if(!i.dataTransfer)return;const o=this.dnd.getDragElements(e);if(i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setData(DataTransfers.TEXT,t),i.dataTransfer.setDragImage){let e;this.dnd.getDragLabel&&(e=this.dnd.getDragLabel(o,i)),void 0===e&&(e=String(o.length));const t=$$f(".monaco-drag-image");t.textContent=e;(e=>{for(;e&&!e.classList.contains("monaco-workbench");)e=e.parentElement;return e||this.domNode.ownerDocument})(this.domNode).appendChild(t),i.dataTransfer.setDragImage(t,-10,-10),setTimeout(()=>t.remove(),0)}this.domNode.classList.add("dragging"),this.currentDragData=new ElementsDragAndDropData(o),StaticDND.CurrentDragAndDropData=new ExternalElementsDragAndDropData(o),this.dnd.onDragStart?.(this.currentDragData,i)}onDragOver(e){if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),StaticDND.CurrentDragAndDropData&&"vscode-ui"===StaticDND.CurrentDragAndDropData.getData())return!1;if(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(StaticDND.CurrentDragAndDropData)this.currentDragData=StaticDND.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new NativeDragAndDropData}const t=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop="boolean"==typeof t?t:t.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;let i;e.browserEvent.dataTransfer.dropEffect="boolean"!=typeof t&&0===t.effect?.type?"copy":"move",i="boolean"!=typeof t&&t.feedback?t.feedback:void 0===e.index?[-1]:[e.index],i=distinct(i).filter(e=>e>=-1&&ee-t),i=-1===i[0]?[-1]:i;let o="boolean"!=typeof t&&t.effect&&t.effect.position?t.effect.position:"drop-target";if(equalsDragFeedback(this.currentDragFeedback,i)&&this.currentDragFeedbackPosition===o)return!0;if(this.currentDragFeedback=i,this.currentDragFeedbackPosition=o,this.currentDragFeedbackDisposable.dispose(),-1===i[0])this.domNode.classList.add(o),this.rowsContainer.classList.add(o),this.currentDragFeedbackDisposable=toDisposable(()=>{this.domNode.classList.remove(o),this.rowsContainer.classList.remove(o)});else{if(i.length>1&&"drop-target"!==o)throw new Error("Can't use multiple feedbacks with position different than 'over'");"drop-target-after"===o&&i[0]{for(const e of i){const t=this.items[e];t.dropTarget=!1,t.row?.domNode.classList.remove(o)}})}return!0}onDragLeave(e){this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=disposableTimeout(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData&&this.dnd.onDragLeave?.(this.currentDragData,e.element,e.index,e.browserEvent)}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,StaticDND.CurrentDragAndDropData=void 0,t&&e.browserEvent.dataTransfer&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,StaticDND.CurrentDragAndDropData=void 0,this.dnd.onDragEnd?.(e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=Disposable.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const e=getTopLeftOffset(this.domNode).top;this.dragOverAnimationDisposable=animate(getWindow$2(this.domNode),this.animateDragAndDropScrollTop.bind(this,e))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=disposableTimeout(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(void 0===this.dragOverMouseY)return;const t=this.dragOverMouseY-e,i=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>i&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-i))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(void 0===t)return;const i=e.offsetY/this.items[t].size;return clamp(Math.floor(i/.25),0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let i=e;for(;(isHTMLElement$1(i)||isSVGElement(i))&&i!==this.rowsContainer&&t.contains(i);){const e=i.getAttribute("data-index");if(e){const t=Number(e);if(!isNaN(t))return t}i=i.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,i){const o=this.getRenderRange(e,t);let n,r;e===this.elementTop(o.start)?(n=o.start,r=0):o.end-o.start>1&&(n=o.start+1,r=this.elementTop(n)-e);let s=0;for(;;){const a=this.getRenderRange(e,t);let l=!1;for(let e=a.start;e=e.start;t--)this.insertItemInDOM(t);for(let e=a.start;e=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};class TraitRenderer{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,i){const o=this.renderedElements.findIndex(e=>e.templateData===i);if(o>=0){const e=this.renderedElements[o];this.trait.unrender(i),e.index=t}else{const e={index:t,templateData:i};this.renderedElements.push(e)}this.trait.renderIndex(t,i)}splice(e,t,i){const o=[];for(const n of this.renderedElements)n.index=e+t&&o.push({index:n.index+i-t,templateData:n.templateData});this.renderedElements=o}renderIndexes(e){for(const{index:t,templateData:i}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,i)}disposeTemplate(e){const t=this.renderedElements.findIndex(t=>t.templateData===e);t<0||this.renderedElements.splice(t,1)}}let Trait$1=class{get name(){return this._trait}get renderer(){return new TraitRenderer(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new Emitter$1,this.onChange=this._onChange.event}splice(e,t,i){const o=i.length-t,n=e+t,r=[];let s=0;for(;s=n;)r.push(this.sortedIndexes[s++]+o);this.renderer.splice(e,t,i.length),this._set(r,r)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(numericSort),t)}_set(e,t,i){const o=this.indexes,n=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const r=disjunction(n,e);return this.renderer.renderIndexes(r),this._onChange.fire({indexes:e,browserEvent:i}),o}get(){return this.indexes}contains(e){return binarySearch(this.sortedIndexes,e,numericSort)>=0}dispose(){dispose(this._onChange)}};__decorate$2o([memoize$1],Trait$1.prototype,"renderer",null);class SelectionTrait extends Trait$1{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class TraitSpliceable{constructor(e,t,i){this.trait=e,this.view=t,this.identityProvider=i}splice(e,t,i){if(!this.identityProvider)return this.trait.splice(e,t,new Array(i.length).fill(!1));const o=this.trait.get().map(e=>this.identityProvider.getId(this.view.element(e)).toString());if(0===o.length)return this.trait.splice(e,t,new Array(i.length).fill(!1));const n=new Set(o),r=i.map(e=>n.has(this.identityProvider.getId(e).toString()));this.trait.splice(e,t,r)}}function isInputElement(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function isListElementDescendantOfClass(e,t){return!!e.classList.contains(t)||!e.classList.contains("monaco-list")&&(!!e.parentElement&&isListElementDescendantOfClass(e.parentElement,t))}function isMonacoEditor(e){return isListElementDescendantOfClass(e,"monaco-editor")}function isMonacoCustomToggle(e){return isListElementDescendantOfClass(e,"monaco-custom-toggle")}function isActionItem(e){return isListElementDescendantOfClass(e,"action-item")}function isStickyScrollElement(e){return isListElementDescendantOfClass(e,"monaco-tree-sticky-row")}function isStickyScrollContainer(e){return e.classList.contains("monaco-tree-sticky-container")}function isButton(e){return!!("A"===e.tagName&&e.classList.contains("monaco-button")||"DIV"===e.tagName&&e.classList.contains("monaco-button-dropdown"))||!e.classList.contains("monaco-list")&&(!!e.parentElement&&isButton(e.parentElement))}class KeyboardController{get onKeyDown(){return Event$1.chain(this.disposables.add(new DomEmitter(this.view.domNode,"keydown")).event,e=>e.filter(e=>!isInputElement(e.target)).map(e=>new StandardKeyboardEvent(e)))}constructor(e,t,i){this.list=e,this.view=t,this.disposables=new DisposableStore,this.multipleSelectionDisposables=new DisposableStore,this.multipleSelectionSupport=i.multipleSelectionSupport,this.disposables.add(this.onKeyDown(e=>{switch(e.keyCode){case 3:return this.onEnter(e);case 16:return this.onUpArrow(e);case 18:return this.onDownArrow(e);case 11:return this.onPageUpArrow(e);case 12:return this.onPageDownArrow(e);case 9:return this.onEscape(e);case 31:this.multipleSelectionSupport&&(isMacintosh?e.metaKey:e.ctrlKey)&&this.onCtrlA(e)}}))}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(range$2(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}var TypeNavigationMode,TypeNavigationControllerState;__decorate$2o([memoize$1],KeyboardController.prototype,"onKeyDown",null),function(e){e[e.Automatic=0]="Automatic",e[e.Trigger=1]="Trigger"}(TypeNavigationMode||(TypeNavigationMode={})),function(e){e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(TypeNavigationControllerState||(TypeNavigationControllerState={}));const DefaultKeyboardNavigationDelegate=new class{mightProducePrintableCharacter(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=98&&e.keyCode<=107||e.keyCode>=85&&e.keyCode<=95)}};class TypeNavigationController{constructor(e,t,i,o,n){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=i,this.keyboardNavigationEventFilter=o,this.delegate=n,this.enabled=!1,this.state=TypeNavigationControllerState.Idle,this.mode=TypeNavigationMode.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new DisposableStore,this.disposables=new DisposableStore,this.updateOptions(e.options)}updateOptions(e){e.typeNavigationEnabled??1?this.enable():this.disable(),this.mode=e.typeNavigationMode??TypeNavigationMode.Automatic}enable(){if(this.enabled)return;let e=!1;const t=Event$1.chain(this.enabledDisposables.add(new DomEmitter(this.view.domNode,"keydown")).event,t=>t.filter(e=>!isInputElement(e.target)).filter(()=>this.mode===TypeNavigationMode.Automatic||this.triggered).map(e=>new StandardKeyboardEvent(e)).filter(t=>e||this.keyboardNavigationEventFilter(t)).filter(e=>this.delegate.mightProducePrintableCharacter(e)).forEach(e=>EventHelper$1.stop(e,!0)).map(e=>e.browserEvent.key)),i=Event$1.debounce(t,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);Event$1.reduce(Event$1.any(t,i),(e,t)=>null===t?null:(e||"")+t,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),i(this.onClear,this,this.enabledDisposables),t(()=>e=!0,void 0,this.enabledDisposables),i(()=>e=!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 e=this.list.getFocus();if(e.length>0&&e[0]===this.previouslyFocused){const t=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(e[0]));"string"==typeof t?alert(t):t&&alert(t.get())}this.previouslyFocused=-1}onInput(e){if(!e)return this.state=TypeNavigationControllerState.Idle,void(this.triggered=!1);const t=this.list.getFocus(),i=t.length>0?t[0]:0,o=this.state===TypeNavigationControllerState.Idle?1:0;this.state=TypeNavigationControllerState.Typing;for(let n=0;n1&&1===o.length)return this.previouslyFocused=i,this.list.setFocus([t]),void this.list.reveal(t)}}}else if(void 0===s||matchesPrefix(e,s))return this.previouslyFocused=i,this.list.setFocus([t]),void this.list.reveal(t)}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class DOMFocusController{constructor(e,t){this.list=e,this.view=t,this.disposables=new DisposableStore;const i=Event$1.chain(this.disposables.add(new DomEmitter(t.domNode,"keydown")).event,e=>e.filter(e=>!isInputElement(e.target)).map(e=>new StandardKeyboardEvent(e))),o=Event$1.chain(i,e=>e.filter(e=>!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)));o(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(0===t.length)return;const i=this.view.domElement(t[0]);if(!i)return;const o=i.querySelector("[tabIndex]");if(!o||!isHTMLElement$1(o)||-1===o.tabIndex)return;const n=getWindow$2(o).getComputedStyle(o);"hidden"!==n.visibility&&"none"!==n.display&&(e.preventDefault(),e.stopPropagation(),o.focus())}dispose(){this.disposables.dispose()}}function isSelectionSingleChangeEvent(e){return isMacintosh?e.browserEvent.metaKey:e.browserEvent.ctrlKey}function isSelectionRangeChangeEvent(e){return e.browserEvent.shiftKey}function isMouseRightClick(e){return isMouseEvent$1(e)&&2===e.button}const DefaultMultipleSelectionController={isSelectionSingleChangeEvent:isSelectionSingleChangeEvent,isSelectionRangeChangeEvent:isSelectionRangeChangeEvent};class MouseController{constructor(e){this.list=e,this.disposables=new DisposableStore,this._onPointer=new Emitter$1,this.onPointer=this._onPointer.event,!1!==e.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||DefaultMultipleSelectionController),this.mouseSupport=void 0===e.options.mouseSupport||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(Gesture.addTarget(e.getHTMLElement()))),Event$1.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||DefaultMultipleSelectionController))}isSelectionSingleChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(e)}isSelectionRangeChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(e)}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){isMonacoEditor(e.browserEvent.target)||getActiveElement()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target))return;const t=void 0===e.index?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport)return;if(isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;return void 0===t?(this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),void this.list.setAnchor(void 0)):this.isSelectionChangeEvent(e)?this.changeSelection(e):(this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),isMouseRightClick(e.browserEvent)||this.list.setSelection([t],e.browserEvent),void this._onPointer.fire(e))}onDoubleClick(e){if(isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target))return;if(this.isSelectionChangeEvent(e))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let i=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(void 0===i){i=this.list.getFocus()[0]??t,this.list.setAnchor(i)}const o=range$2(Math.min(i,t),Math.max(i,t)+1),n=this.list.getSelection(),r=getContiguousRangeContaining(disjunction(n,[i]),i);if(0===r.length)return;const s=disjunction(o,relativeComplement(n,r));this.list.setSelection(s,e.browserEvent),this.list.setFocus([t],e.browserEvent)}else if(this.isSelectionSingleChangeEvent(e)){const i=this.list.getSelection(),o=i.filter(e=>e!==t);this.list.setFocus([t]),this.list.setAnchor(t),i.length===o.length?this.list.setSelection([...o,t],e.browserEvent):this.list.setSelection(o,e.browserEvent)}}dispose(){this.disposables.dispose()}}class DefaultStyleController{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){const t=this.selectorSuffix&&`.${this.selectorSuffix}`,i=[];e.listBackground&&i.push(`.monaco-list${t} .monaco-list-rows { background: ${e.listBackground}; }`),e.listFocusBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionBackground&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }\n\t\t\t`),e.listFocusAndSelectionForeground&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }\n\t\t\t`),e.listInactiveFocusForeground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&i.push(`.monaco-list${t} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(i.push(`.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&i.push(`.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const o=asCssValueWithDefault(e.listFocusAndSelectionOutline,asCssValueWithDefault(e.listSelectionOutline,e.listFocusOutline??""));o&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused.selected { outline: 1px solid ${o}; outline-offset: -1px;}`),e.listFocusOutline&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);const n=asCssValueWithDefault(e.listSelectionOutline,e.listInactiveFocusOutline??"");n&&i.push(`.monaco-list${t} .monaco-list-row.focused.selected { outline: 1px dotted ${n}; outline-offset: -1px; }`),e.listSelectionOutline&&i.push(`.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&i.push(`.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&i.push(`.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&i.push(`\n\t\t\t\t.monaco-list${t}.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropOverBackground} !important; color: inherit !important; }\n\t\t\t`),e.listDropBetweenBackground&&(i.push(`\n\t\t\t.monaco-list${t} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,\n\t\t\t.monaco-list${t} .monaco-list-row.drop-target-before::before {\n\t\t\t\tcontent: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`),i.push(`\n\t\t\t.monaco-list${t} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,\n\t\t\t.monaco-list${t} .monaco-list-row.drop-target-after::after {\n\t\t\t\tcontent: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`)),e.tableColumnsBorder&&i.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${e.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`),e.tableOddRowsBackgroundColor&&i.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${e.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=i.join("\n")}}const 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:Color$1.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:Color$1.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:Color$1.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},DefaultOptions={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}}};function getContiguousRangeContaining(e,t){const i=e.indexOf(t);if(-1===i)return[];const o=[];let n=i-1;for(;n>=0&&e[n]===t-(i-n);)o.push(e[n--]);for(o.reverse(),n=i;n=e.length)i.push(t[n++]);else if(n>=t.length)i.push(e[o++]);else{if(e[o]===t[n]){i.push(e[o]),o++,n++;continue}e[o]=e.length)i.push(t[n++]);else if(n>=t.length)i.push(e[o++]);else{if(e[o]===t[n]){o++,n++;continue}e[o]e-t;class PipelineRenderer{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map(t=>t.renderTemplate(e))}renderElement(e,t,i,o){let n=0;for(const r of this.renderers)r.renderElement(e,t,i[n++],o)}disposeElement(e,t,i,o){let n=0;for(const r of this.renderers)r.disposeElement?.(e,t,i[n],o),n+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class AccessibiltyRenderer{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new DisposableStore}}renderElement(e,t,i){const o=this.accessibilityProvider.getAriaLabel(e),n=o&&"string"!=typeof o?o:constObservable(o);i.disposables.add(autorun(e=>{this.setAriaLabel(e.readObservable(n),i.container)}));const r=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);"number"==typeof r?i.container.setAttribute("aria-level",`${r}`):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i,o){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class ListViewDragAndDrop{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){this.dnd.onDragStart?.(e,t)}onDragOver(e,t,i,o,n){return this.dnd.onDragOver(e,t,i,o,n)}onDragLeave(e,t,i,o){this.dnd.onDragLeave?.(e,t,i,o)}onDragEnd(e){this.dnd.onDragEnd?.(e)}drop(e,t,i,o,n){this.dnd.drop(e,t,i,o,n)}dispose(){this.dnd.dispose()}}class List{get onDidChangeFocus(){return Event$1.map(this.eventBufferer.wrapEvent(this.focus.onChange),e=>this.toListEvent(e),this.disposables)}get onDidChangeSelection(){return Event$1.map(this.eventBufferer.wrapEvent(this.selection.onChange),e=>this.toListEvent(e),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 e=!1;const t=Event$1.chain(this.disposables.add(new DomEmitter(this.view.domNode,"keydown")).event,t=>t.map(e=>new StandardKeyboardEvent(e)).filter(t=>e=58===t.keyCode||t.shiftKey&&68===t.keyCode).map(e=>EventHelper$1.stop(e,!0)).filter(()=>!1)),i=Event$1.chain(this.disposables.add(new DomEmitter(this.view.domNode,"keyup")).event,t=>t.forEach(()=>e=!1).map(e=>new StandardKeyboardEvent(e)).filter(e=>58===e.keyCode||e.shiftKey&&68===e.keyCode).map(e=>EventHelper$1.stop(e,!0)).map(({browserEvent:e})=>{const t=this.getFocus(),i=t.length?t[0]:void 0;return{index:i,element:void 0!==i?this.view.element(i):void 0,anchor:void 0!==i?this.view.domElement(i):this.view.domNode,browserEvent:e}})),o=Event$1.chain(this.view.onContextMenu,t=>t.filter(t=>!e).map(({element:e,index:t,browserEvent:i})=>({element:e,index:t,anchor:new StandardMouseEvent(getWindow$2(this.view.domNode),i),browserEvent:i})));return Event$1.any(t,i,o)}get onKeyDown(){return this.disposables.add(new DomEmitter(this.view.domNode,"keydown")).event}get onDidFocus(){return Event$1.signal(this.disposables.add(new DomEmitter(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return Event$1.signal(this.disposables.add(new DomEmitter(this.view.domNode,"blur",!0)).event)}constructor(e,t,i,o,n=DefaultOptions){this.user=e,this._options=n,this.focus=new Trait$1("focused"),this.anchor=new Trait$1("anchor"),this.eventBufferer=new EventBufferer,this._ariaLabel="",this.disposables=new DisposableStore,this._onDidDispose=new Emitter$1,this.onDidDispose=this._onDidDispose.event;const r=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?this._options.accessibilityProvider?.getWidgetRole():"list";this.selection=new SelectionTrait("listbox"!==r);const s=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=n.accessibilityProvider,this.accessibilityProvider&&(s.push(new AccessibiltyRenderer(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant?.(this.onDidChangeActiveDescendant,this,this.disposables)),o=o.map(e=>new PipelineRenderer(e.templateId,[...s,e]));const a={...n,dnd:n.dnd&&new ListViewDragAndDrop(this,n.dnd)};if(this.view=this.createListView(t,i,o,a),this.view.domNode.setAttribute("role",r),n.styleController)this.styleController=n.styleController(this.view.domId);else{const e=createStyleSheet(this.view.domNode);this.styleController=new DefaultStyleController(e,this.view.domId)}if(this.spliceable=new CombinedSpliceable([new TraitSpliceable(this.focus,this.view,n.identityProvider),new TraitSpliceable(this.selection,this.view,n.identityProvider),new TraitSpliceable(this.anchor,this.view,n.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new DOMFocusController(this,this.view)),("boolean"!=typeof n.keyboardSupport||n.keyboardSupport)&&(this.keyboardController=new KeyboardController(this,this.view,n),this.disposables.add(this.keyboardController)),n.keyboardNavigationLabelProvider){const e=n.keyboardNavigationDelegate||DefaultKeyboardNavigationDelegate;this.typeNavigationController=new TypeNavigationController(this,this.view,n.keyboardNavigationLabelProvider,n.keyboardNavigationEventFilter??(()=>!0),e),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(n),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),!1!==this._options.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,i,o){return new ListView(e,t,i,o)}createMouseController(e){return new MouseController(this)}updateOptions(e={}){this._options={...this._options,...e},this.typeNavigationController?.updateOptions(this._options),void 0!==this._options.multipleSelectionController&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),this.keyboardController?.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,i=[]){if(e<0||e>this.view.length)throw new ListError(this.user,`Invalid start index: ${e}`);if(t<0)throw new ListError(this.user,`Invalid delete count: ${t}`);0===t&&0===i.length||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(e,t,i))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}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(e){this.view.setScrollTop(e)}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(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const i of e)if(i<0||i>=this.length)throw new ListError(this.user,`Invalid index ${i}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(e=>this.view.element(e))}setAnchor(e){if(void 0!==e){if(e<0||e>=this.length)throw new ListError(this.user,`Invalid index ${e}`);this.anchor.set([e])}else this.anchor.set([])}getAnchor(){return firstOrDefault(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return void 0===e?void 0:this.element(e)}setFocus(e,t){for(const i of e)if(i<0||i>=this.length)throw new ListError(this.user,`Invalid index ${i}`);this.focus.set(e,t)}focusNext(e=1,t=!1,i,o){if(0===this.length)return;const n=this.focus.get(),r=this.findNextIndex(n.length>0?n[0]+e:0,t,o);r>-1&&this.setFocus([r],i)}focusPrevious(e=1,t=!1,i,o){if(0===this.length)return;const n=this.focus.get(),r=this.findPreviousIndex(n.length>0?n[0]-e:0,t,o);r>-1&&this.setFocus([r],i)}async focusNextPage(e,t){let i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=0===i?0:i-1;const o=this.getFocus()[0];if(o!==i&&(void 0===o||i>o)){const n=this.findPreviousIndex(i,!1,t);n>-1&&o!==n?this.setFocus([n],e):this.setFocus([i],e)}else{const n=this.view.getScrollTop();let r=n+this.view.renderHeight;i>o&&(r-=this.view.elementHeight(i)),this.view.setScrollTop(r),this.view.getScrollTop()!==n&&(this.setFocus([]),await timeout(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,i=()=>0){let o;const n=i(),r=this.view.getScrollTop()+n;o=0===r?this.view.indexAt(r):this.view.indexAfter(r-1);const s=this.getFocus()[0];if(s!==o&&(void 0===s||s>=o)){const i=this.findNextIndex(o,!1,t);i>-1&&s!==i?this.setFocus([i],e):this.setFocus([o],e)}else{const o=r;this.view.setScrollTop(r-this.view.renderHeight-n),this.view.getScrollTop()+i()!==o&&(this.setFocus([]),await timeout(0),await this.focusPreviousPage(e,t,i))}}focusLast(e,t){if(0===this.length)return;const i=this.findPreviousIndex(this.length-1,!1,t);i>-1&&this.setFocus([i],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,i){if(0===this.length)return;const o=this.findNextIndex(e,!1,i);o>-1&&this.setFocus([o],t)}findNextIndex(e,t=!1,i){for(let o=0;o=this.length&&!t)return-1;if(e%=this.length,!i||i(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,i){for(let o=0;othis.view.element(e))}reveal(e,t,i=0){if(e<0||e>=this.length)throw new ListError(this.user,`Invalid index ${e}`);const o=this.view.getScrollTop(),n=this.view.elementTop(e),r=this.view.elementHeight(e);if(isNumber$5(t)){const e=r-this.view.renderHeight+i;this.view.setScrollTop(e*clamp(t,0,1)+n-i)}else{const e=n+r,t=o+this.view.renderHeight;n=t||(n=t&&r>=this.view.renderHeight?this.view.setScrollTop(n-i):e>=t&&this.view.setScrollTop(e-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new ListError(this.user,`Invalid index ${e}`);const i=this.view.getScrollTop(),o=this.view.elementTop(e),n=this.view.elementHeight(e);if(oi+this.view.renderHeight)return null;const r=n-this.view.renderHeight+t;return Math.abs((i+t-o)/r)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map(e=>this.view.element(e)),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){const e=this.focus.get();if(e.length>0){let t;this.accessibilityProvider?.getActiveDescendantId&&(t=this.accessibilityProvider.getActiveDescendantId(this.view.element(e[0]))),this.view.domNode.setAttribute("aria-activedescendant",t||this.view.getElementDomId(e[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",0===e.length),this.view.domNode.classList.toggle("selection-single",1===e.length),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}__decorate$2o([memoize$1],List.prototype,"onDidChangeFocus",null),__decorate$2o([memoize$1],List.prototype,"onDidChangeSelection",null),__decorate$2o([memoize$1],List.prototype,"onContextMenu",null),__decorate$2o([memoize$1],List.prototype,"onKeyDown",null),__decorate$2o([memoize$1],List.prototype,"onDidFocus",null),__decorate$2o([memoize$1],List.prototype,"onDidBlur",null);const $$c=$$f,SELECT_OPTION_ENTRY_TEMPLATE_ID="selectOption.entry.template";class SelectListRenderer{get templateId(){return SELECT_OPTION_ENTRY_TEMPLATE_ID}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=append$2(e,$$c(".option-text")),t.detail=append$2(e,$$c(".option-detail")),t.decoratorRight=append$2(e,$$c(".option-decorator-right")),t}renderElement(e,t,i){const o=i,n=e.text,r=e.detail,s=e.decoratorRight,a=e.isDisabled;o.text.textContent=n,o.detail.textContent=r||"",o.decoratorRight.innerText=s||"",a?o.root.classList.add("option-disabled"):o.root.classList.remove("option-disabled")}disposeTemplate(e){}}class SelectBoxList extends 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(e,t,i,o,n){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=o,this.selectBoxOptions=n||Object.create(null),"number"!=typeof this.selectBoxOptions.minBottomMargin?this.selectBoxOptions.minBottomMargin=SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding","string"==typeof this.selectBoxOptions.ariaLabel&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),"string"==typeof this.selectBoxOptions.ariaDescription&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new Emitter$1,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(i),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return SELECT_OPTION_ENTRY_TEMPLATE_ID}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=$$f(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=append$2(this.selectDropDownContainer,$$c(".select-box-details-pane"));const t=append$2(this.selectDropDownContainer,$$c(".select-box-dropdown-container-width-control")),i=append$2(t,$$c(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",append$2(i,this.widthControlElement),this._dropDownPosition=0,this.styleElement=createStyleSheet(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(addDisposableListener(this.selectDropDownContainer,EventType$1.DRAG_START,e=>{EventHelper$1.stop(e,!0)}))}registerListeners(){let e;this._register(addStandardDisposableListener(this.selectElement,"change",e=>{this.selected=e.target.selectedIndex,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)})),this._register(addDisposableListener(this.selectElement,EventType$1.CLICK,e=>{EventHelper$1.stop(e),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(addDisposableListener(this.selectElement,EventType$1.MOUSE_DOWN,e=>{EventHelper$1.stop(e)})),this._register(addDisposableListener(this.selectElement,"touchstart",t=>{e=this._isVisible})),this._register(addDisposableListener(this.selectElement,"touchend",t=>{EventHelper$1.stop(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(addDisposableListener(this.selectElement,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);let i=!1;isMacintosh?18!==t.keyCode&&16!==t.keyCode&&10!==t.keyCode&&3!==t.keyCode||(i=!0):(18===t.keyCode&&t.altKey||16===t.keyCode&&t.altKey||10===t.keyCode||3===t.keyCode)&&(i=!0),i&&(this.showSelectDropDown(),EventHelper$1.stop(e,!0))}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){equals$2(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled)),"string"==typeof e.description&&(this._hasDetails=!0)})),void 0!==t&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){this.selectList?.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.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(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.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&&e.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&&e.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?(e.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&e.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&&e.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&&e.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&&e.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; }`),e.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; }"),e.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=e.join("\n")}styleSelectElement(){const e=this.styles.selectBackground??"",t=this.styles.selectForeground??"",i=this.styles.selectBorder??"";this.selectElement.style.backgroundColor=e,this.selectElement.style.color=t,this.selectElement.style.borderColor=i}styleList(){const e=this.styles.selectBackground??"",t=asCssValueWithDefault(this.styles.selectListBackground,e);this.selectDropDownListContainer.style.backgroundColor=t,this.selectionDetailsPane.style.backgroundColor=t;const i=this.styles.focusBorder??"";this.selectDropDownContainer.style.outlineColor=i,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,i){const o=document.createElement("option");return o.value=e,o.text=e,o.disabled=!!i,o}showSelectDropDown(){this.selectionDetailsPane.innerText="",this.contextViewProvider&&!this._isVisible&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!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:e=>this.renderSelectDropDown(e),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(e){this.contextViewProvider&&this._isVisible&&(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)}),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=getWindow$2(this.selectElement),i=getDomNodePagePosition(this.selectElement),o=getWindow$2(this.selectElement).getComputedStyle(this.selectElement),n=parseFloat(o.getPropertyValue("--dropdown-padding-top"))+parseFloat(o.getPropertyValue("--dropdown-padding-bottom")),r=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),s=i.top-SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,a=this.selectElement.offsetWidth,l=this.setWidthControlElement(this.widthControlElement),c=Math.max(l,Math.round(a)).toString()+"px";this.selectDropDownContainer.style.width=c,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let d=this.selectList.contentHeight;this._hasDetails&&void 0===this._cachedMaxDetailsHeight&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const u=this._hasDetails?this._cachedMaxDetailsHeight:0,h=d+n+u,p=Math.floor((r-n-u)/this.getHeight()),g=Math.floor((s-n-u)/this.getHeight());if(e)return!(i.top+i.height>t.innerHeight-22||i.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(i.top+i.height>t.innerHeight-22||i.topr&&(d=p*this.getHeight())}else h>s&&(d=g*this.getHeight());return this.selectList.layout(d),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=d+n+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=d+n+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=c,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}return!1}setWidthControlElement(e){let t=0;if(e){let i=0,o=0;this.options.forEach((e,t)=>{const n=e.detail?e.detail.length:0,r=e.decoratorRight?e.decoratorRight.length:0,s=e.text.length+n+r;s>o&&(i=t,o=s)}),e.textContent=this.options[i].text+(this.options[i].decoratorRight?this.options[i].decoratorRight+" ":""),t=getTotalWidth(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=append$2(e,$$c(".select-box-dropdown-list-container")),this.listRenderer=new SelectListRenderer,this.selectList=this._register(new List("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:e=>{let t=e.text;return e.detail&&(t+=`. ${e.detail}`),e.decoratorRight&&(t+=`. ${e.decoratorRight}`),e.description&&(t+=`. ${e.description}`),t},getWidgetAriaLabel:()=>localize({key:"selectBox",comment:["Behave like native select dropdown element."]},"Select Box"),getRole:()=>isMacintosh?"":"option",getWidgetRole:()=>"listbox"}})),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new DomEmitter(this.selectDropDownListContainer,"keydown")),i=Event$1.chain(t.event,e=>e.filter(()=>this.selectList.length>0).map(e=>new StandardKeyboardEvent(e)));this._register(Event$1.chain(i,e=>e.filter(e=>3===e.keyCode))(this.onEnter,this)),this._register(Event$1.chain(i,e=>e.filter(e=>2===e.keyCode))(this.onEnter,this)),this._register(Event$1.chain(i,e=>e.filter(e=>9===e.keyCode))(this.onEscape,this)),this._register(Event$1.chain(i,e=>e.filter(e=>16===e.keyCode))(this.onUpArrow,this)),this._register(Event$1.chain(i,e=>e.filter(e=>18===e.keyCode))(this.onDownArrow,this)),this._register(Event$1.chain(i,e=>e.filter(e=>12===e.keyCode))(this.onPageDown,this)),this._register(Event$1.chain(i,e=>e.filter(e=>11===e.keyCode))(this.onPageUp,this)),this._register(Event$1.chain(i,e=>e.filter(e=>14===e.keyCode))(this.onHome,this)),this._register(Event$1.chain(i,e=>e.filter(e=>13===e.keyCode))(this.onEnd,this)),this._register(Event$1.chain(i,e=>e.filter(e=>e.keyCode>=21&&e.keyCode<=56||e.keyCode>=85&&e.keyCode<=113))(this.onCharacter,this)),this._register(addDisposableListener(this.selectList.getHTMLElement(),EventType$1.POINTER_UP,e=>this.onPointerUp(e))),this._register(this.selectList.onMouseOver(e=>void 0!==e.index&&this.selectList.setFocus([e.index]))),this._register(this.selectList.onDidChangeFocus(e=>this.onListFocus(e))),this._register(addDisposableListener(this.selectDropDownContainer,EventType$1.FOCUS_OUT,e=>{this._isVisible&&!isAncestor$1(e.relatedTarget,this.selectDropDownContainer)&&this.onListBlur()})),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;EventHelper$1.stop(e);const t=e.target;if(!t)return;if(t.classList.contains("slider"))return;const i=t.closest(".monaco-list-row");if(!i)return;const o=Number(i.getAttribute("data-index")),n=i.classList.contains("option-disabled");o>=0&&o{for(let t=0;tthis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){if(this.selected>0){EventHelper$1.stop(e,!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(e){EventHelper$1.stop(e),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(e){EventHelper$1.stop(e),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(e){EventHelper$1.stop(e),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(e){const t=KeyCodeUtils.toString(e.keyCode);let i=-1;for(let o=0;o{this._register(addDisposableListener(this.selectElement,e,e=>{this.selectElement.focus()}))}),this._register(addStandardDisposableListener(this.selectElement,"click",e=>{EventHelper$1.stop(e,!0)})),this._register(addStandardDisposableListener(this.selectElement,"change",e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})})),this._register(addStandardDisposableListener(this.selectElement,"keydown",e=>{let t=!1;isMacintosh?18!==e.keyCode&&16!==e.keyCode&&10!==e.keyCode||(t=!0):(18===e.keyCode&&e.altKey||10===e.keyCode||3===e.keyCode)&&(t=!0),t&&e.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){this.options&&equals$2(this.options,e)||(this.options=e,this.selectElement.options.length=0,this.options.forEach((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled))})),void 0!==t&&this.select(t)}select(e){0===this.options.length?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(e)}))}handleActionChangeEvent(e){void 0!==e.enabled&&this.updateEnabled(),void 0!==e.checked&&this.updateChecked(),void 0!==e.class&&this.updateClass(),void 0!==e.label&&(this.updateLabel(),this.updateTooltip()),void 0!==e.tooltip&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new ActionRunner)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(Gesture.addTarget(e));const i=this.options&&this.options.draggable;i&&(e.draggable=!0,isFirefox$1&&this._register(addDisposableListener(e,EventType$1.DRAG_START,e=>e.dataTransfer?.setData(DataTransfers.TEXT,this._action.label)))),this._register(addDisposableListener(t,EventType.Tap,e=>this.onClick(e,!0))),this._register(addDisposableListener(t,EventType$1.MOUSE_DOWN,e=>{i||EventHelper$1.stop(e,!0),this._action.enabled&&0===e.button&&t.classList.add("active")})),isMacintosh&&this._register(addDisposableListener(t,EventType$1.CONTEXT_MENU,e=>{0===e.button&&!0===e.ctrlKey&&this.onClick(e)})),this._register(addDisposableListener(t,EventType$1.CLICK,e=>{EventHelper$1.stop(e,!0),this.options&&this.options.isMenu||this.onClick(e)})),this._register(addDisposableListener(t,EventType$1.DBLCLICK,e=>{EventHelper$1.stop(e,!0)})),[EventType$1.MOUSE_UP,EventType$1.MOUSE_OUT].forEach(e=>{this._register(addDisposableListener(t,e,e=>{EventHelper$1.stop(e),t.classList.remove("active")}))})}onClick(e,t=!1){EventHelper$1.stop(e,!0);const i=isUndefinedOrNull(this._context)?this.options?.useEventAsContext?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,i)}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(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){if(!this.element)return;const e=this.getTooltip()??"";if(this.updateAriaLabel(),this.options.hoverDelegate?.showNativeHover)this.element.title=e;else if(this.customHover||""===e)this.customHover&&this.customHover.update(e);else{const t=this.options.hoverDelegate??getDefaultHoverDelegate("element");this.customHover=this._store.add(getBaseLayerHoverDelegate().setupManagedHover(t,this.element,e))}}updateAriaLabel(){if(this.element){const e=this.getTooltip()??"";this.element.setAttribute("aria-label",e)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class ActionViewItem extends BaseActionViewItem{constructor(e,t,i){super(e,t,i),this.options=i,this.options.icon=void 0!==i.icon&&i.icon,this.options.label=void 0===i.label||i.label,this.cssClass=""}render(e){super.render(e),assertType(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const e=document.createElement("span");e.classList.add("keybinding"),e.textContent=this.options.keybinding,this.element.appendChild(e)}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(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=localize({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e??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 e=this.getTooltip()??"";this.label.setAttribute("aria-label",e)}}updateChecked(){this.label&&(void 0!==this.action.checked?(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())))}}class SelectActionViewItem extends BaseActionViewItem{constructor(e,t,i,o,n,r,s){super(e,t),this.selectBox=new SelectBox(i,o,n,r,s),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect(e=>this.runAction(e.selected,e.index)))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){this.selectBox?.focus()}blur(){this.selectBox?.blur()}render(e){this.selectBox.render(e)}}class BaseDropdown extends ActionRunner{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new Emitter$1),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=append$2(e,$$f(".monaco-dropdown")),this._label=append$2(this._element,$$f(".dropdown-label"));let i=t.labelRenderer;i||(i=e=>(e.textContent=t.label||"",null));for(const n of[EventType$1.CLICK,EventType$1.MOUSE_DOWN,EventType.Tap])this._register(addDisposableListener(this.element,n,e=>EventHelper$1.stop(e,!0)));for(const n of[EventType$1.MOUSE_DOWN,EventType.Tap])this._register(addDisposableListener(this._label,n,e=>{isMouseEvent$1(e)&&(e.detail>1||0!==e.button)||(this.visible?this.hide():this.show())}));this._register(addDisposableListener(this._label,EventType$1.KEY_UP,e=>{const t=new StandardKeyboardEvent(e);(t.equals(3)||t.equals(10))&&(EventHelper$1.stop(e,!0),this.visible?this.hide():this.show())}));const o=i(this._label);o&&this._register(o),this._register(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)}}let DropdownMenu$1=class extends BaseDropdown{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}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:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}};class DropdownMenuActionViewItem extends BaseActionViewItem{constructor(e,t,i,o=Object.create(null)){super(null,e,o),this.actionItem=null,this._onDidChangeVisibility=this._register(new Emitter$1),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=o,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=Array.isArray(this.menuActionsOrProvider),i={contextMenuProvider:this.contextMenuProvider,labelRenderer:e=>{this.element=append$2(e,$$f("a.action-label"));let t=[];return"string"==typeof this.options.classNames?t=this.options.classNames.split(/\s+/g).filter(e=>!!e):this.options.classNames&&(t=this.options.classNames),t.find(e=>"icon"===e)||t.push("codicon"),this.element.classList.add(...t),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(getBaseLayerHoverDelegate().setupManagedHover(this.options.hoverDelegate??getDefaultHoverDelegate("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},menuAsChild:this.options.menuAsChild,actions:t?this.menuActionsOrProvider:void 0,actionProvider:t?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new DropdownMenu$1(e,i)),this._register(this.dropdownMenu.onDidChangeVisibility(e=>{this.element?.setAttribute("aria-expanded",`${e}`),this._onDidChangeVisibility.fire(e)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const e=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return e.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),e??void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){this.dropdownMenu?.show()}updateEnabled(){const e=!this.action.enabled;this.actionItem?.classList.toggle("disabled",e),this.element?.classList.toggle("disabled",e)}}function isLocalizedString(e){return e&&"object"==typeof e&&"string"==typeof e.original&&"string"==typeof e.value}function isICommandActionToggleInfo(e){return!!e&&void 0!==e.condition}var StorageHint,StorageState;!function(e){e[e.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",e[e.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"}(StorageHint||(StorageHint={})),function(e){e[e.None=0]="None",e[e.Initialized=1]="Initialized",e[e.Closed=2]="Closed"}(StorageState||(StorageState={}));class Storage extends Disposable{static{this.DEFAULT_FLUSH_DELAY=100}constructor(e,t=Object.create(null)){super(),this.database=e,this.options=t,this._onDidChangeStorage=this._register(new PauseableEmitter),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=StorageState.None,this.cache=new Map,this.flushDelayer=this._register(new ThrottledDelayer(Storage.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(e=>this.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){this._onDidChangeStorage.pause();try{e.changed?.forEach((e,t)=>this.acceptExternal(t,e)),e.deleted?.forEach(e=>this.acceptExternal(e,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===StorageState.Closed)return;let i=!1;if(isUndefinedOrNull(t))i=this.cache.delete(e);else{this.cache.get(e)!==t&&(this.cache.set(e,t),i=!0)}i&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const i=this.cache.get(e);return isUndefinedOrNull(i)?t:i}getBoolean(e,t){const i=this.get(e);return isUndefinedOrNull(i)?t:"true"===i}getNumber(e,t){const i=this.get(e);return isUndefinedOrNull(i)?t:parseInt(i,10)}async set(e,t,i=!1){if(this.state===StorageState.Closed)return;if(isUndefinedOrNull(t))return this.delete(e,i);const o=isObject$6(t)||Array.isArray(t)?stringify$2(t):String(t);return this.cache.get(e)!==o?(this.cache.set(e,o),this.pendingInserts.set(e,o),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:i}),this.doFlush()):void 0}async delete(e,t=!1){if(this.state===StorageState.Closed)return;return this.cache.delete(e)?(this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()):void 0}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()})}async doFlush(e){return this.options.hint===StorageHint.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}}class InMemoryStorageDatabase{constructor(){this.onDidChangeItemsExternal=Event$1.None,this.items=new Map}async updateItems(e){e.insert?.forEach((e,t)=>this.items.set(t,e)),e.delete?.forEach(e=>this.items.delete(e))}}const TARGET_KEY="__$__targetStorageMarker",IStorageService=createDecorator("storageService");var WillSaveStateReason;function loadKeyTargets(e){const t=e.get(TARGET_KEY);if(t)try{return JSON.parse(t)}catch(error){}return Object.create(null)}!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(WillSaveStateReason||(WillSaveStateReason={}));class AbstractStorageService extends Disposable{static{this.DEFAULT_FLUSH_INTERVAL=6e4}constructor(e={flushInterval:AbstractStorageService.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new PauseableEmitter),this._onDidChangeTarget=this._register(new PauseableEmitter),this._onWillSaveState=this._register(new Emitter$1),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,i){return Event$1.filter(this._onDidChangeValue.event,i=>i.scope===e&&(void 0===t||i.key===t),i)}emitDidChangeValue(e,t){const{key:i,external:o}=t;if(i===TARGET_KEY){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:i,target:this.getKeyTargets(e)[i],external:o})}get(e,t,i){return this.getStorage(t)?.get(e,i)}getBoolean(e,t,i){return this.getStorage(t)?.getBoolean(e,i)}getNumber(e,t,i){return this.getStorage(t)?.getNumber(e,i)}store(e,t,i,o,n=!1){isUndefinedOrNull(t)?this.remove(e,i,n):this.withPausedEmitters(()=>{this.updateKeyTarget(e,i,o),this.getStorage(i)?.set(e,t,n)})}remove(e,t,i=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(e,t,void 0),this.getStorage(t)?.delete(e,i)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,i,o=!1){const n=this.getKeyTargets(t);"number"==typeof i?n[e]!==i&&(n[e]=i,this.getStorage(t)?.set(TARGET_KEY,JSON.stringify(n),o)):"number"==typeof n[e]&&(delete n[e],this.getStorage(t)?.set(TARGET_KEY,JSON.stringify(n),o))}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(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?loadKeyTargets(t):Object.create(null)}}class InMemoryStorageService extends AbstractStorageService{constructor(){super(),this.applicationStorage=this._register(new Storage(new InMemoryStorageDatabase,{hint:StorageHint.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new Storage(new InMemoryStorageDatabase,{hint:StorageHint.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new Storage(new InMemoryStorageDatabase,{hint:StorageHint.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e)))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}}function overrideStyles(e,t){const i={...t};for(const o in e){const t=e[o];i[o]=void 0!==t?asCssVariable(t):void 0}return i}const defaultKeybindingLabelStyles={keybindingLabelBackground:asCssVariable(keybindingLabelBackground),keybindingLabelForeground:asCssVariable(keybindingLabelForeground),keybindingLabelBorder:asCssVariable(keybindingLabelBorder),keybindingLabelBottomBorder:asCssVariable(keybindingLabelBottomBorder),keybindingLabelShadow:asCssVariable(widgetShadow)},defaultButtonStyles={buttonForeground:asCssVariable(buttonForeground),buttonSeparator:asCssVariable(buttonSeparator),buttonBackground:asCssVariable(buttonBackground),buttonHoverBackground:asCssVariable(buttonHoverBackground),buttonSecondaryForeground:asCssVariable(buttonSecondaryForeground),buttonSecondaryBackground:asCssVariable(buttonSecondaryBackground),buttonSecondaryHoverBackground:asCssVariable(buttonSecondaryHoverBackground),buttonBorder:asCssVariable(buttonBorder)},defaultProgressBarStyles={progressBarBackground:asCssVariable(progressBarBackground)},defaultToggleStyles={inputActiveOptionBorder:asCssVariable(inputActiveOptionBorder),inputActiveOptionForeground:asCssVariable(inputActiveOptionForeground),inputActiveOptionBackground:asCssVariable(inputActiveOptionBackground)};asCssVariable(radioActiveForeground),asCssVariable(radioActiveBackground),asCssVariable(radioActiveBorder),asCssVariable(radioInactiveForeground),asCssVariable(radioInactiveBackground),asCssVariable(radioInactiveBorder),asCssVariable(radioInactiveHoverBackground),asCssVariable(checkboxBackground),asCssVariable(checkboxBorder),asCssVariable(checkboxForeground),asCssVariable(editorWidgetBackground),asCssVariable(editorWidgetForeground),asCssVariable(widgetShadow),asCssVariable(contrastBorder),asCssVariable(problemsErrorIconForeground),asCssVariable(problemsWarningIconForeground),asCssVariable(problemsInfoIconForeground),asCssVariable(textLinkForeground);const defaultInputBoxStyles={inputBackground:asCssVariable(inputBackground),inputForeground:asCssVariable(inputForeground),inputBorder:asCssVariable(inputBorder),inputValidationInfoBorder:asCssVariable(inputValidationInfoBorder),inputValidationInfoBackground:asCssVariable(inputValidationInfoBackground),inputValidationInfoForeground:asCssVariable(inputValidationInfoForeground),inputValidationWarningBorder:asCssVariable(inputValidationWarningBorder),inputValidationWarningBackground:asCssVariable(inputValidationWarningBackground),inputValidationWarningForeground:asCssVariable(inputValidationWarningForeground),inputValidationErrorBorder:asCssVariable(inputValidationErrorBorder),inputValidationErrorBackground:asCssVariable(inputValidationErrorBackground),inputValidationErrorForeground:asCssVariable(inputValidationErrorForeground)},defaultFindWidgetStyles={listFilterWidgetBackground:asCssVariable(listFilterWidgetBackground),listFilterWidgetOutline:asCssVariable(listFilterWidgetOutline),listFilterWidgetNoMatchesOutline:asCssVariable(listFilterWidgetNoMatchesOutline),listFilterWidgetShadow:asCssVariable(listFilterWidgetShadow),inputBoxStyles:defaultInputBoxStyles,toggleStyles:defaultToggleStyles},defaultCountBadgeStyles={badgeBackground:asCssVariable(badgeBackground),badgeForeground:asCssVariable(badgeForeground),badgeBorder:asCssVariable(contrastBorder)};asCssVariable(breadcrumbsBackground),asCssVariable(breadcrumbsForeground),asCssVariable(breadcrumbsFocusForeground),asCssVariable(breadcrumbsFocusForeground),asCssVariable(breadcrumbsActiveSelectionForeground);const defaultListStyles={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:asCssVariable(listFocusBackground),listFocusForeground:asCssVariable(listFocusForeground),listFocusOutline:asCssVariable(listFocusOutline),listActiveSelectionBackground:asCssVariable(listActiveSelectionBackground),listActiveSelectionForeground:asCssVariable(listActiveSelectionForeground),listActiveSelectionIconForeground:asCssVariable(listActiveSelectionIconForeground),listFocusAndSelectionOutline:asCssVariable(listFocusAndSelectionOutline),listFocusAndSelectionBackground:asCssVariable(listActiveSelectionBackground),listFocusAndSelectionForeground:asCssVariable(listActiveSelectionForeground),listInactiveSelectionBackground:asCssVariable(listInactiveSelectionBackground),listInactiveSelectionIconForeground:asCssVariable(listInactiveSelectionIconForeground),listInactiveSelectionForeground:asCssVariable(listInactiveSelectionForeground),listInactiveFocusBackground:asCssVariable(listInactiveFocusBackground),listInactiveFocusOutline:asCssVariable(listInactiveFocusOutline),listHoverBackground:asCssVariable(listHoverBackground),listHoverForeground:asCssVariable(listHoverForeground),listDropOverBackground:asCssVariable(listDropOverBackground),listDropBetweenBackground:asCssVariable(listDropBetweenBackground),listSelectionOutline:asCssVariable(activeContrastBorder),listHoverOutline:asCssVariable(activeContrastBorder),treeIndentGuidesStroke:asCssVariable(treeIndentGuidesStroke),treeInactiveIndentGuidesStroke:asCssVariable(treeInactiveIndentGuidesStroke),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:asCssVariable(scrollbarShadow),tableColumnsBorder:asCssVariable(tableColumnsBorder),tableOddRowsBackgroundColor:asCssVariable(tableOddRowsBackgroundColor)};function getListStyles(e){return overrideStyles(e,defaultListStyles)}const defaultSelectBoxStyles={selectBackground:asCssVariable(selectBackground),selectListBackground:asCssVariable(selectListBackground),selectForeground:asCssVariable(selectForeground),decoratorRightForeground:asCssVariable(pickerGroupForeground),selectBorder:asCssVariable(selectBorder),focusBorder:asCssVariable(focusBorder),listFocusBackground:asCssVariable(quickInputListFocusBackground),listInactiveSelectionIconForeground:asCssVariable(quickInputListFocusIconForeground),listFocusForeground:asCssVariable(quickInputListFocusForeground),listFocusOutline:asCssVariableWithDefault(activeContrastBorder,Color$1.transparent.toString()),listHoverBackground:asCssVariable(listHoverBackground),listHoverForeground:asCssVariable(listHoverForeground),listHoverOutline:asCssVariable(activeContrastBorder),selectListBorder:asCssVariable(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},defaultMenuStyles={shadowColor:asCssVariable(widgetShadow),borderColor:asCssVariable(menuBorder),foregroundColor:asCssVariable(menuForeground),backgroundColor:asCssVariable(menuBackground),selectionForegroundColor:asCssVariable(menuSelectionForeground),selectionBackgroundColor:asCssVariable(menuSelectionBackground),selectionBorderColor:asCssVariable(menuSelectionBorder),separatorColor:asCssVariable(menuSeparatorBackground),scrollbarShadow:asCssVariable(scrollbarShadow),scrollbarSliderBackground:asCssVariable(scrollbarSliderBackground),scrollbarSliderHoverBackground:asCssVariable(scrollbarSliderHoverBackground),scrollbarSliderActiveBackground:asCssVariable(scrollbarSliderActiveBackground)};var __decorate$2n=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2g=function(e,t){return function(i,o){t(i,o,e)}};function createAndFillInContextMenuActions(e,t,i,o){let n,r,s;if(Array.isArray(e))s=e,n=t,r=i;else{const a=t;s=e.getActions(a),n=i,r=o}const a=ModifierKeyEmitter.getInstance();fillInActions(s,n,a.keyStatus.altKey||(isWindows||isLinux)&&a.keyStatus.shiftKey,r?e=>e===r:e=>"navigation"===e)}function createAndFillInActionBarActions(e,t,i,o,n,r){let s,a,l,c,d;if(Array.isArray(e))d=e,s=t,a=i,l=o,c=n;else{const u=t;d=e.getActions(u),s=i,a=o,l=n,c=r}fillInActions(d,s,!1,"string"==typeof a?e=>e===a:a,l,c)}function fillInActions(e,t,i,o=e=>"navigation"===e,n=()=>!1,r=!1){let s,a;Array.isArray(t)?(s=t,a=t):(s=t.primary,a=t.secondary);const l=new Set;for(const[c,d]of e){let e;o(c)?(e=s,e.length>0&&r&&e.push(new Separator)):(e=a,e.length>0&&e.push(new Separator));for(let t of d){i&&(t=t instanceof MenuItemAction&&t.alt?t.alt:t);const o=e.push(t);t instanceof SubmenuAction&&l.add({group:c,action:t,index:o-1})}}for(const{group:c,action:d,index:u}of l){const e=o(c)?s:a,t=d.actions;n(d,c,e.length)&&e.splice(u,1,...t)}}let MenuEntryActionViewItem=class extends ActionViewItem{constructor(e,t,i,o,n,r,s,a){super(void 0,e,{icon:!(!e.class&&!e.item.icon),label:!e.class&&!e.item.icon,draggable:t?.draggable,keybinding:t?.keybinding,hoverDelegate:t?.hoverDelegate}),this._options=t,this._keybindingService=i,this._notificationService=o,this._contextKeyService=n,this._themeService=r,this._contextMenuService=s,this._accessibilityService=a,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new MutableDisposable),this._altKey=ModifierKeyEmitter.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const i=()=>{const e=!!this._menuItemAction.alt?.enabled&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);e!==this._wantsAltCommand&&(this._wantsAltCommand=e,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(i)),this._register(addDisposableListener(e,"mouseleave",e=>{t=!1,i()})),this._register(addDisposableListener(e,"mouseenter",e=>{t=!0,i()})),i()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){const e=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),t=e&&e.getLabel(),i=this._commandAction.tooltip||this._commandAction.label;let o=t?localize("titleAndKb","{0} ({1})",i,t):i;if(!this._wantsAltCommand&&this._menuItemAction.alt?.enabled){const e=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,t=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),i=t&&t.getLabel(),n=i?localize("titleAndKb","{0} ({1})",e,i):e;o=localize("titleAndKbAndAlt","{0}\n[{1}] {2}",o,UILabelProvider.modifierLabels[OS].altKey,n)}return o}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const o=this._commandAction.checked&&isICommandActionToggleInfo(e.toggled)&&e.toggled.icon?e.toggled.icon:e.icon;if(o)if(ThemeIcon.isThemeIcon(o)){const e=ThemeIcon.asClassNameArray(o);i.classList.add(...e),this._itemClassDispose.value=toDisposable(()=>{i.classList.remove(...e)})}else i.style.backgroundImage=isDark(this._themeService.getColorTheme().type)?asCSSUrl(o.dark):asCSSUrl(o.light),i.classList.add("icon"),this._itemClassDispose.value=combinedDisposable(toDisposable(()=>{i.style.backgroundImage="",i.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};MenuEntryActionViewItem=__decorate$2n([__param$2g(2,IKeybindingService),__param$2g(3,INotificationService),__param$2g(4,IContextKeyService),__param$2g(5,IThemeService),__param$2g(6,IContextMenuService),__param$2g(7,IAccessibilityService)],MenuEntryActionViewItem);class TextOnlyMenuEntryActionViewItem extends MenuEntryActionViewItem{render(e){this.options.label=!0,this.options.icon=!1,super.render(e),e.classList.add("text-only"),e.classList.toggle("use-comma",this._options?.useComma??!1)}updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=TextOnlyMenuEntryActionViewItem._symbolPrintEnter(e);this._options?.conversational?this.label.textContent=localize({key:"content2",comment:['A label with keybindg like "ESC to dismiss"']},"{1} to {0}",this._action.label,t):this.label.textContent=localize({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,t)}}static _symbolPrintEnter(e){return e.getLabel()?.replace(/\benter\b/gi,"⏎").replace(/\bEscape\b/gi,"Esc")}}let SubmenuEntryActionViewItem=class extends DropdownMenuActionViewItem{constructor(e,t,i,o,n){const r={...t,menuAsChild:t?.menuAsChild??!1,classNames:t?.classNames??(ThemeIcon.isThemeIcon(e.item.icon)?ThemeIcon.asClassName(e.item.icon):void 0),keybindingProvider:t?.keybindingProvider??(e=>i.lookupKeybinding(e.id))};super(e,{getActions:()=>e.actions},o,r),this._keybindingService=i,this._contextMenuService=o,this._themeService=n}render(e){super.render(e),assertType(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!ThemeIcon.isThemeIcon(i)){this.element.classList.add("icon");const e=()=>{this.element&&(this.element.style.backgroundImage=isDark(this._themeService.getColorTheme().type)?asCSSUrl(i.dark):asCSSUrl(i.light))};e(),this._register(this._themeService.onDidColorThemeChange(()=>{e()}))}}};SubmenuEntryActionViewItem=__decorate$2n([__param$2g(2,IKeybindingService),__param$2g(3,IContextMenuService),__param$2g(4,IThemeService)],SubmenuEntryActionViewItem);let DropdownWithDefaultActionViewItem=class extends BaseActionViewItem{constructor(e,t,i,o,n,r,s,a){let l;super(null,e),this._keybindingService=i,this._notificationService=o,this._contextMenuService=n,this._menuService=r,this._instaService=s,this._storageService=a,this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;const c=t?.persistLastActionId?a.get(this._storageKey,1):void 0;c&&(l=e.actions.find(e=>c===e.id)),l||(l=e.actions[0]),this._defaultAction=this._instaService.createInstance(MenuEntryActionViewItem,l,{keybinding:this._getDefaultActionKeybindingLabel(l)});const d={keybindingProvider:e=>this._keybindingService.lookupKeybinding(e.id),...t,menuAsChild:t?.menuAsChild??!0,classNames:t?.classNames??["codicon","codicon-chevron-down"],actionRunner:t?.actionRunner??new ActionRunner};this._dropdown=new DropdownMenuActionViewItem(e,e.actions,this._contextMenuService,d),this._register(this._dropdown.actionRunner.onDidRun(e=>{e.action instanceof MenuItemAction&&this.update(e.action)}))}update(e){this._options?.persistLastActionId&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(MenuEntryActionViewItem,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends ActionRunner{async runAction(e,t){await e.run(void 0)}},this._container&&this._defaultAction.render(prepend$1(this._container,$$f(".action-container")))}_getDefaultActionKeybindingLabel(e){let t;if(this._options?.renderKeybindingWithDefaultActionLabel){const i=this._keybindingService.lookupKeybinding(e.id);i&&(t=`(${i.getLabel()})`)}return t}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=$$f(".action-container");this._defaultAction.render(append$2(this._container,t)),this._register(addDisposableListener(t,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);t.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),t.stopPropagation())}));const i=$$f(".dropdown-action-container");this._dropdown.render(append$2(this._container,i)),this._register(addDisposableListener(i,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);t.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),this._defaultAction.element?.focus(),t.stopPropagation())}))}focus(e){e?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(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};DropdownWithDefaultActionViewItem=__decorate$2n([__param$2g(2,IKeybindingService),__param$2g(3,INotificationService),__param$2g(4,IContextMenuService),__param$2g(5,IMenuService),__param$2g(6,IInstantiationService),__param$2g(7,IStorageService)],DropdownWithDefaultActionViewItem);let SubmenuEntrySelectActionViewItem=class extends SelectActionViewItem{constructor(e,t){super(null,e,e.actions.map(e=>({text:e.id===Separator.ID?"─────────":e.label,isDisabled:!e.enabled})),0,t,defaultSelectBoxStyles,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex(e=>e.checked)))}render(e){super.render(e),e.style.borderColor=asCssVariable(selectBorder)}runAction(e,t){const i=this.action.actions[t];i&&this.actionRunner.run(i)}};function createActionViewItem(e,t,i){return t instanceof MenuItemAction?e.createInstance(MenuEntryActionViewItem,t,i):t instanceof SubmenuItemAction?t.item.isSelection?e.createInstance(SubmenuEntrySelectActionViewItem,t):t.item.rememberDefaultAction?e.createInstance(DropdownWithDefaultActionViewItem,t,{...i,persistLastActionId:!0}):e.createInstance(SubmenuEntryActionViewItem,t,i):void 0}SubmenuEntrySelectActionViewItem=__decorate$2n([__param$2g(1,IContextViewService)],SubmenuEntrySelectActionViewItem);class ActionBar extends Disposable{constructor(e,t={}){let i,o;switch(super(),this._actionRunnerDisposables=this._register(new DisposableStore),this.viewItemDisposables=this._register(new DisposableMap),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new Emitter$1),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new Emitter$1({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new Emitter$1),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new Emitter$1),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(createInstantHoverDelegate()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new ActionRunner,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(e=>this._onDidRun.fire(e))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(e=>this._onWillRun.fire(e))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",this._orientation){case 0:i=[15],o=[17];break;case 1:i=[16],o=[18],this.domNode.className+=" vertical"}this._register(addDisposableListener(this.domNode,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);let n=!0;const r="number"==typeof this.focusedItem?this.viewItems[this.focusedItem]:void 0;i&&(t.equals(i[0])||t.equals(i[1]))?n=this.focusPrevious():o&&(t.equals(o[0])||t.equals(o[1]))?n=this.focusNext():t.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():t.equals(14)?n=this.focusFirst():t.equals(13)?n=this.focusLast():t.equals(2)&&r instanceof BaseActionViewItem&&r.trapsArrowNavigation?n=this.focusNext(void 0,!0):this.isTriggerKeyEvent(t)?this._triggerKeys.keyDown?this.doTrigger(t):this.triggerKeyDown=!0:n=!1,n&&(t.preventDefault(),t.stopPropagation())})),this._register(addDisposableListener(this.domNode,EventType$1.KEY_UP,e=>{const t=new StandardKeyboardEvent(e);this.isTriggerKeyEvent(t)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(t)),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026)||t.equals(16)||t.equals(18)||t.equals(15)||t.equals(17))&&this.updateFocusedItem()})),this.focusTracker=this._register(trackFocus(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{getActiveElement()!==this.domNode&&isAncestor$1(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),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const e=this.viewItems.find(e=>e instanceof BaseActionViewItem&&e.isEnabled());e instanceof BaseActionViewItem&&e.setFocusable(!0)}else this.viewItems.forEach(e=>{e instanceof BaseActionViewItem&&e.setFocusable(!1)})}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach(i=>{t=t||e.equals(i)}),t}updateFocusedItem(){for(let e=0;et.setActionContext(e))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(e=>this._onDidRun.fire(e))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(e=>this._onWillRun.fire(e))),this.viewItems.forEach(t=>t.actionRunner=e)}getContainer(){return this.domNode}getAction(e){if("number"==typeof e)return this.viewItems[e]?.action;if(isHTMLElement$1(e)){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let t=0;t{const i=document.createElement("li");let n;i.className="action-item",i.setAttribute("role","presentation");const r={hoverDelegate:this._hoverDelegate,...t,isTabList:"tablist"===this.options.ariaRole};this.options.actionViewItemProvider&&(n=this.options.actionViewItemProvider(e,r)),n||(n=new ActionViewItem(this.context,e,r)),this.options.allowContextMenu||this.viewItemDisposables.set(n,addDisposableListener(i,EventType$1.CONTEXT_MENU,e=>{EventHelper$1.stop(e,!0)})),n.actionRunner=this._actionRunner,n.setActionContext(this.context),n.render(i),this.focusable&&n instanceof BaseActionViewItem&&0===this.viewItems.length&&n.setFocusable(!0),null===o||o<0||o>=this.actionsList.children.length?(this.actionsList.appendChild(i),this.viewItems.push(n)):(this.actionsList.insertBefore(i,this.actionsList.children[o]),this.viewItems.splice(o,0,n),o++)}),"number"==typeof this.focusedItem&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=dispose(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),clearNode(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return 0===this.viewItems.length}focus(e){let t,i=!1;if(void 0===e?i=!0:"number"==typeof e?t=e:"boolean"==typeof e&&(i=e),i&&void 0===this.focusedItem){const e=this.viewItems.findIndex(e=>e.isEnabled());this.focusedItem=-1===e?void 0:e,this.updateFocus(void 0,void 0,!0)}else void 0!==t&&(this.focusedItem=t),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(e,t){if(void 0===this.focusedItem)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let o;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,o=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!o.isEnabled()||o.action.id===Separator.ID));return this.updateFocus(void 0,void 0,t),!0}focusPrevious(e){if(void 0===this.focusedItem)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(!e&&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===Separator.ID));return this.updateFocus(!0),!0}updateFocus(e,t,i=!1){void 0===this.focusedItem&&this.actionsList.focus({preventScroll:t}),void 0!==this.previouslyFocusedItem&&this.previouslyFocusedItem!==this.focusedItem&&this.viewItems[this.previouslyFocusedItem]?.blur();const o=void 0!==this.focusedItem?this.viewItems[this.focusedItem]:void 0;if(o){let n=!0;isFunction$5(o.focus)||(n=!1),this.options.focusOnlyEnabledItems&&isFunction$5(o.isEnabled)&&!o.isEnabled()&&(n=!1),o.action.id===Separator.ID&&(n=!1),n?(i||this.previouslyFocusedItem!==this.focusedItem)&&(o.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),n&&o.showHover?.()}}doTrigger(e){if(void 0===this.focusedItem)return;const t=this.viewItems[this.focusedItem];if(t instanceof BaseActionViewItem){const i=null===t._context||void 0===t._context?e:t._context;this.run(t._action,i)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=dispose(this.viewItems),this.getContainer().remove(),super.dispose()}}const MENU_MNEMONIC_REGEX=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,MENU_ESCAPED_MNEMONIC_REGEX=/(&)?(&)([^\s&])/g;var HorizontalDirection,VerticalDirection;!function(e){e[e.Right=0]="Right",e[e.Left=1]="Left"}(HorizontalDirection||(HorizontalDirection={})),function(e){e[e.Above=0]="Above",e[e.Below=1]="Below"}(VerticalDirection||(VerticalDirection={}));class Menu extends ActionBar{constructor(e,t,i,o){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const n=document.createElement("div");n.classList.add("monaco-menu"),n.setAttribute("role","presentation"),super(n,{orientation:1,actionViewItemProvider:e=>this.doGetActionViewItem(e,i,r),context:i.context,actionRunner:i.actionRunner,ariaLabel:i.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...isMacintosh||isLinux?[10]:[]],keyDown:!0}}),this.menuStyles=o,this.menuElement=n,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,o),this._register(Gesture.addTarget(n)),this._register(addDisposableListener(n,EventType$1.KEY_DOWN,e=>{new StandardKeyboardEvent(e).equals(2)&&e.preventDefault()})),i.enableMnemonics&&this._register(addDisposableListener(n,EventType$1.KEY_DOWN,e=>{const t=e.key.toLocaleLowerCase();if(this.mnemonics.has(t)){EventHelper$1.stop(e,!0);const i=this.mnemonics.get(t);if(1===i.length&&(i[0]instanceof SubmenuMenuActionViewItem&&i[0].container&&this.focusItemByElement(i[0].container),i[0].onClick(e)),i.length>1){const e=i.shift();e&&e.container&&(this.focusItemByElement(e.container),i.push(e)),this.mnemonics.set(t,i)}}})),isLinux&&this._register(addDisposableListener(n,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),EventHelper$1.stop(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),EventHelper$1.stop(e,!0))})),this._register(addDisposableListener(this.domNode,EventType$1.MOUSE_OUT,e=>{isAncestor$1(e.relatedTarget,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())})),this._register(addDisposableListener(this.actionsList,EventType$1.MOUSE_OVER,e=>{let t=e.target;if(t&&isAncestor$1(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}})),this._register(Gesture.addTarget(this.actionsList)),this._register(addDisposableListener(this.actionsList,EventType.Tap,e=>{let t=e.initialTarget;if(t&&isAncestor$1(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}));const r={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new DomScrollableElement(n,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const s=this.scrollableElement.getDomNode();s.style.position="",this.styleScrollElement(s,o),this._register(addDisposableListener(n,EventType.Change,e=>{EventHelper$1.stop(e,!0);const t=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:t-e.translationY})})),this._register(addDisposableListener(s,EventType$1.MOUSE_UP,e=>{e.preventDefault()}));const a=getWindow$2(e);n.style.maxHeight=`${Math.max(10,a.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter((e,o)=>{if(i.submenuIds?.has(e.id))return console.warn(`Found submenu cycle: ${e.id}`),!1;if(e instanceof Separator){if(o===t.length-1||0===o)return!1;if(t[o-1]instanceof Separator)return!1}return!0}),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(e=>!(e instanceof MenuSeparatorActionViewItem)).forEach((e,t,i)=>{e.updatePositionInSet(t+1,i.length)})}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(isInShadowDOM(e)?this.styleSheet=createStyleSheet(e):(Menu.globalStyleSheet||(Menu.globalStyleSheet=createStyleSheet()),this.styleSheet=Menu.globalStyleSheet)),this.styleSheet.textContent=getMenuWidgetCSS(t,isInShadowDOM(e))}styleScrollElement(e,t){const i=t.foregroundColor??"",o=t.backgroundColor??"",n=t.borderColor?`1px solid ${t.borderColor}`:"",r=t.shadowColor?`0 2px 8px ${t.shadowColor}`:"";e.style.outline=n,e.style.borderRadius="5px",e.style.color=i,e.style.backgroundColor=o,e.style.boxShadow=r}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(addDisposableListener(this.element,EventType$1.MOUSE_UP,e=>{if(EventHelper$1.stop(e,!0),isFirefox$1){if(new StandardMouseEvent(getWindow$2(this.element),e).rightButton)return;this.onClick(e)}else setTimeout(()=>{this.onClick(e)},0)})),this._register(addDisposableListener(this.element,EventType$1.CONTEXT_MENU,e=>{EventHelper$1.stop(e,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=append$2(this.element,$$f("a.action-menu-item")),this._action.id===Separator.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=append$2(this.item,$$f("span.menu-item-check"+ThemeIcon.asCSSSelector(Codicon.menuSelection))),this.check.setAttribute("role","none"),this.label=append$2(this.item,$$f("span.action-label")),this.options.label&&this.options.keybinding&&(append$2(this.item,$$f("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(e,t){this.item&&(this.item.setAttribute("aria-posinset",`${e}`),this.item.setAttribute("aria-setsize",`${t}`))}updateLabel(){if(this.label&&this.options.label){clearNode(this.label);let e=stripIcons(this.action.label);if(e){const t=cleanMnemonic(e);this.options.enableMnemonics||(e=t),this.label.setAttribute("aria-label",t.replace(/&&/g,"&"));const i=MENU_MNEMONIC_REGEX.exec(e);if(i){e=escape(e),MENU_ESCAPED_MNEMONIC_REGEX.lastIndex=0;let t=MENU_ESCAPED_MNEMONIC_REGEX.exec(e);for(;t&&t[1];)t=MENU_ESCAPED_MNEMONIC_REGEX.exec(e);const o=e=>e.replace(/&&/g,"&");t?this.label.append(ltrim(o(e.substr(0,t.index))," "),$$f("u",{"aria-hidden":"true"},t[3]),rtrim(o(e.substr(t.index+t[0].length))," ")):this.label.innerText=o(e).trim(),this.item?.setAttribute("aria-keyshortcuts",(i[1]?i[1]:i[3]).toLocaleLowerCase())}else this.label.innerText=e.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 e=this.action.checked;this.item.classList.toggle("checked",!!e),void 0!==e?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,i=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,o=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",n=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=t??"",this.item.style.backgroundColor=i??"",this.item.style.outline=o,this.item.style.outlineOffset=n),this.check&&(this.check.style.color=t??"")}}class SubmenuMenuActionViewItem extends BaseMenuActionViewItem{constructor(e,t,i,o,n){super(e,e,o,n),this.submenuActions=t,this.parentData=i,this.submenuOptions=o,this.mysubmenu=null,this.submenuDisposables=this._register(new DisposableStore),this.mouseOver=!1,this.expandDirection=o&&void 0!==o.expandDirection?o.expandDirection:{horizontal:HorizontalDirection.Right,vertical:VerticalDirection.Below},this.showScheduler=new RunOnceScheduler(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new RunOnceScheduler(()=>{this.element&&!isAncestor$1(getActiveElement(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),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=append$2(this.item,$$f("span.submenu-indicator"+ThemeIcon.asCSSSelector(Codicon.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(addDisposableListener(this.element,EventType$1.KEY_UP,e=>{const t=new StandardKeyboardEvent(e);(t.equals(17)||t.equals(3))&&(EventHelper$1.stop(e,!0),this.createSubmenu(!0))})),this._register(addDisposableListener(this.element,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);getActiveElement()===this.item&&(t.equals(17)||t.equals(3))&&EventHelper$1.stop(e,!0)})),this._register(addDisposableListener(this.element,EventType$1.MOUSE_OVER,e=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(addDisposableListener(this.element,EventType$1.MOUSE_LEAVE,e=>{this.mouseOver=!1})),this._register(addDisposableListener(this.element,EventType$1.FOCUS_OUT,e=>{this.element&&!isAncestor$1(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(e){EventHelper$1.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||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(e,t,i,o){const n={top:0,left:0};return n.left=layout(e.width,t.width,{position:o.horizontal===HorizontalDirection.Right?0:1,offset:i.left,size:i.width}),n.left>=i.left&&n.left{new StandardKeyboardEvent(e).equals(15)&&(EventHelper$1.stop(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(addDisposableListener(this.submenuContainer,EventType$1.KEY_DOWN,e=>{new StandardKeyboardEvent(e).equals(15)&&EventHelper$1.stop(e,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){this.item&&this.item?.setAttribute("aria-expanded",e)}applyStyle(){super.applyStyle();const e=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=e??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class MenuSeparatorActionViewItem extends ActionViewItem{constructor(e,t,i,o){super(e,t,i),this.menuStyles=o}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function cleanMnemonic(e){const t=MENU_MNEMONIC_REGEX,i=t.exec(e);if(!i)return e;const o=!i[1];return e.replace(t,o?"$2$3":"").trim()}function formatRule(e){const t=getCodiconFontCharacters()[e.id];return`.codicon-${e.id}:before { content: '\\${t.toString(16)}'; }`}function getMenuWidgetCSS(e,t){let i=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${formatRule(Codicon.menuSelection)}\n${formatRule(Codicon.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n\tmax-height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(t){i+="\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t";const t=e.scrollbarShadow;t&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${t} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`);const o=e.scrollbarSliderBackground;o&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${o};\n\t\t\t\t}\n\t\t\t`);const n=e.scrollbarSliderHoverBackground;n&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${n};\n\t\t\t\t}\n\t\t\t`);const r=e.scrollbarSliderActiveBackground;r&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${r};\n\t\t\t\t}\n\t\t\t`)}return i}class ContextMenuHandler{constructor(e,t,i,o){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=o,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;let i;this.focusToReturn=getActiveElement();const o=isHTMLElement$1(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:o=>{this.lastContainer=o;const n=e.getMenuClassName?e.getMenuClassName():"";n&&(o.className+=" "+n),this.options.blockMouse&&(this.block=o.appendChild($$f(".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=addDisposableListener(this.block,EventType$1.MOUSE_DOWN,e=>e.stopPropagation()));const r=new DisposableStore,s=e.actionRunner||new ActionRunner;s.onWillRun(t=>this.onActionRun(t,!e.skipTelemetry),this,r),s.onDidRun(this.onDidActionRun,this,r),i=new Menu(o,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:s,getKeyBinding:e.getKeyBinding?e.getKeyBinding:e=>this.keybindingService.lookupKeybinding(e.id)},defaultMenuStyles),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,r),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,r);const a=getWindow$2(o);return r.add(addDisposableListener(a,EventType$1.BLUR,()=>this.contextViewService.hideContextView(!0))),r.add(addDisposableListener(a,EventType$1.MOUSE_DOWN,e=>{if(e.defaultPrevented)return;const t=new StandardMouseEvent(a,e);let i=t.target;if(!t.rightButton){for(;i;){if(i===o)return;i=i.parentElement}this.contextViewService.hideContextView(!0)}})),combinedDisposable(r,i)},focus:()=>{i?.focus(!!e.autoSelectFirstItem)},onHide:t=>{e.onHide?.(!!t),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&(getActiveElement()===this.lastContainer||isAncestor$1(getActiveElement(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},o,!!o)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!isCancellationError(e.error)&&this.notificationService.error(e.error)}}var __decorate$2m=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2f=function(e,t){return function(i,o){t(i,o,e)}};let ContextMenuService=class extends Disposable{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new ContextMenuHandler(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,o,n,r){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=o,this.menuService=n,this.contextKeyService=r,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new Emitter$1),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new Emitter$1)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=ContextMenuMenuDelegate.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{e.onHide?.(t),this._onDidHideContextMenu.fire()}}),ModifierKeyEmitter.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};var ContextMenuMenuDelegate,EditorOpenSource;ContextMenuService=__decorate$2m([__param$2f(0,ITelemetryService),__param$2f(1,INotificationService),__param$2f(2,IContextViewService),__param$2f(3,IKeybindingService),__param$2f(4,IMenuService),__param$2f(5,IContextKeyService)],ContextMenuService),function(e){e.transform=function(e,t,i){if(!((o=e)&&o.menuId instanceof MenuId))return e;var o;const{menuId:n,menuActionOptions:r,contextKeyService:s}=e;return{...e,getActions:()=>{const o=[];if(n){createAndFillInContextMenuActions(t.getMenuActions(n,s??i,r),o)}return e.getActions?Separator.join(e.getActions(),o):o}}}}(ContextMenuMenuDelegate||(ContextMenuMenuDelegate={})),function(e){e[e.API=0]="API",e[e.USER=1]="USER"}(EditorOpenSource||(EditorOpenSource={}));var __decorate$2l=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2e=function(e,t){return function(i,o){t(i,o,e)}};let CommandOpener=class{constructor(e){this._commandService=e}async open(e,t){if(!matchesScheme(e,Schemas.command))return!1;if(!t?.allowCommands)return!0;if("string"==typeof e&&(e=URI.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path))return!0;let i=[];try{i=parse$4(decodeURIComponent(e.query))}catch{try{i=parse$4(e.query)}catch{}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};CommandOpener=__decorate$2l([__param$2e(0,ICommandService)],CommandOpener);let EditorOpener=class{constructor(e){this._editorService=e}async open(e,t){"string"==typeof e&&(e=URI.parse(e));const{selection:i,uri:o}=extractSelection(e);return(e=o).scheme===Schemas.file&&(e=normalizePath(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t?.fromUserGesture?EditorOpenSource.USER:EditorOpenSource.API,...t?.editorOptions}},this._editorService.getFocusedCodeEditor(),t?.openToSide),!0}};EditorOpener=__decorate$2l([__param$2e(0,ICodeEditorService)],EditorOpener);let OpenerService=class{constructor(e,t){this._openers=new LinkedList,this._validators=new LinkedList,this._resolvers=new LinkedList,this._resolvedUriTargets=new ResourceMap(e=>e.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new LinkedList,this._defaultExternalOpener={openExternal:async e=>(matchesSomeScheme(e,Schemas.http,Schemas.https)?windowOpenNoOpener(e):mainWindow.location.href=e,!0)},this._openers.push({open:async(e,t)=>!(!t?.openExternal&&!matchesSomeScheme(e,Schemas.mailto,Schemas.http,Schemas.https,Schemas.vsls))&&(await this._doOpenExternal(e,t),!0)}),this._openers.push(new CommandOpener(t)),this._openers.push(new EditorOpener(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){const i="string"==typeof e?URI.parse(e):e,o=this._resolvedUriTargets.get(i)??e;for(const n of this._validators)if(!(await n.shouldOpen(o,t)))return!1;for(const n of this._openers){if(await n.open(e,t))return!0}return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const o=await i.resolveExternalUri(e,t);if(o)return this._resolvedUriTargets.has(o.resolved)||this._resolvedUriTargets.set(o.resolved,e),o}catch{}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i="string"==typeof e?URI.parse(e):e;let o,n;try{o=(await this.resolveExternalUri(i,t)).resolved}catch{o=i}if(n="string"==typeof e&&i.toString()===o.toString()?e:encodeURI(o.toString(!0)),t?.allowContributedOpeners){const e="string"==typeof t?.allowContributedOpeners?t?.allowContributedOpeners:void 0;for(const t of this._externalOpeners){if(await t.openExternal(n,{sourceUri:i,preferredOpenerId:e},CancellationToken.None))return!0}}return this._defaultExternalOpener.openExternal(n,{sourceUri:i},CancellationToken.None)}dispose(){this._validators.clear()}};OpenerService=__decorate$2l([__param$2e(0,ICodeEditorService),__param$2e(1,ICommandService)],OpenerService);const IEditorWorkerService=createDecorator("editorWorkerService");var MarkerSeverity$1,IMarkerData;!function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(MarkerSeverity$1||(MarkerSeverity$1={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=localize("sev.error","Error"),t[e.Warning]=localize("sev.warning","Warning"),t[e.Info]=localize("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case Severity$2.Error:return e.Error;case Severity$2.Warning:return e.Warning;case Severity$2.Info:return e.Info;case Severity$2.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return Severity$2.Error;case e.Warning:return Severity$2.Warning;case e.Info:return Severity$2.Info;case e.Hint:return Severity$2.Ignore}}}(MarkerSeverity$1||(MarkerSeverity$1={})),function(e){const t="";function i(e,i){const o=[t];return e.source?o.push(e.source.replace("¦","\\¦")):o.push(t),e.code?"string"==typeof e.code?o.push(e.code.replace("¦","\\¦")):o.push(e.code.value.replace("¦","\\¦")):o.push(t),void 0!==e.severity&&null!==e.severity?o.push(MarkerSeverity$1.toString(e.severity)):o.push(t),e.message&&i?o.push(e.message.replace("¦","\\¦")):o.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?o.push(e.startLineNumber.toString()):o.push(t),void 0!==e.startColumn&&null!==e.startColumn?o.push(e.startColumn.toString()):o.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?o.push(e.endLineNumber.toString()):o.push(t),void 0!==e.endColumn&&null!==e.endColumn?o.push(e.endColumn.toString()):o.push(t),o.push(t),o.join("¦")}e.makeKey=function(e){return i(e,!0)},e.makeKeyOptionalMessage=i}(IMarkerData||(IMarkerData={}));const IMarkerService=createDecorator("markerService"),editorLineHighlight=registerColor("editor.lineHighlightBackground",null,localize("lineHighlight","Background color for the highlight of line at the cursor position.")),editorLineHighlightBorder=registerColor("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:contrastBorder},localize("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));registerColor("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},localize("rangeHighlight","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),registerColor("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("rangeHighlightBorder","Background color of the border around highlighted ranges.")),registerColor("editor.symbolHighlightBackground",{dark:editorFindMatchHighlight,light:editorFindMatchHighlight,hcDark:null,hcLight:null},localize("symbolHighlight","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),registerColor("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("symbolHighlightBorder","Background color of the border around highlighted symbols."));const editorCursorForeground=registerColor("editorCursor.foreground",{dark:"#AEAFAD",light:Color$1.black,hcDark:Color$1.white,hcLight:"#0F4A85"},localize("caret","Color of the editor cursor.")),editorCursorBackground=registerColor("editorCursor.background",null,localize("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),editorMultiCursorPrimaryForeground=registerColor("editorMultiCursor.primary.foreground",editorCursorForeground,localize("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),editorMultiCursorPrimaryBackground=registerColor("editorMultiCursor.primary.background",editorCursorBackground,localize("editorMultiCursorPrimaryBackground","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.")),editorMultiCursorSecondaryForeground=registerColor("editorMultiCursor.secondary.foreground",editorCursorForeground,localize("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),editorMultiCursorSecondaryBackground=registerColor("editorMultiCursor.secondary.background",editorCursorBackground,localize("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),editorWhitespaces=registerColor("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},localize("editorWhitespaces","Color of whitespace characters in the editor.")),editorLineNumbers=registerColor("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:Color$1.white,hcLight:"#292929"},localize("editorLineNumbers","Color of editor line numbers.")),deprecatedEditorIndentGuides=registerColor("editorIndentGuide.background",editorWhitespaces,localize("editorIndentGuides","Color of the editor indentation guides."),!1,localize("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),deprecatedEditorActiveIndentGuides=registerColor("editorIndentGuide.activeBackground",editorWhitespaces,localize("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,localize("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),editorIndentGuide1=registerColor("editorIndentGuide.background1",deprecatedEditorIndentGuides,localize("editorIndentGuides1","Color of the editor indentation guides (1).")),editorIndentGuide2=registerColor("editorIndentGuide.background2","#00000000",localize("editorIndentGuides2","Color of the editor indentation guides (2).")),editorIndentGuide3=registerColor("editorIndentGuide.background3","#00000000",localize("editorIndentGuides3","Color of the editor indentation guides (3).")),editorIndentGuide4=registerColor("editorIndentGuide.background4","#00000000",localize("editorIndentGuides4","Color of the editor indentation guides (4).")),editorIndentGuide5=registerColor("editorIndentGuide.background5","#00000000",localize("editorIndentGuides5","Color of the editor indentation guides (5).")),editorIndentGuide6=registerColor("editorIndentGuide.background6","#00000000",localize("editorIndentGuides6","Color of the editor indentation guides (6).")),editorActiveIndentGuide1=registerColor("editorIndentGuide.activeBackground1",deprecatedEditorActiveIndentGuides,localize("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),editorActiveIndentGuide2=registerColor("editorIndentGuide.activeBackground2","#00000000",localize("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),editorActiveIndentGuide3=registerColor("editorIndentGuide.activeBackground3","#00000000",localize("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),editorActiveIndentGuide4=registerColor("editorIndentGuide.activeBackground4","#00000000",localize("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),editorActiveIndentGuide5=registerColor("editorIndentGuide.activeBackground5","#00000000",localize("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),editorActiveIndentGuide6=registerColor("editorIndentGuide.activeBackground6","#00000000",localize("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),deprecatedEditorActiveLineNumber=registerColor("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("editorActiveLineNumber","Color of editor active line number"),!1,localize("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));registerColor("editorLineNumber.activeForeground",deprecatedEditorActiveLineNumber,localize("editorActiveLineNumber","Color of editor active line number"));const editorDimmedLineNumber=registerColor("editorLineNumber.dimmedForeground",null,localize("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));registerColor("editorRuler.foreground",{dark:"#5A5A5A",light:Color$1.lightgrey,hcDark:Color$1.white,hcLight:"#292929"},localize("editorRuler","Color of the editor rulers.")),registerColor("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},localize("editorCodeLensForeground","Foreground color of editor CodeLens")),registerColor("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},localize("editorBracketMatchBackground","Background color behind matching brackets")),registerColor("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:contrastBorder,hcLight:contrastBorder},localize("editorBracketMatchBorder","Color for matching brackets boxes"));const editorOverviewRulerBorder=registerColor("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},localize("editorOverviewRulerBorder","Color of the overview ruler border.")),editorOverviewRulerBackground=registerColor("editorOverviewRuler.background",null,localize("editorOverviewRulerBackground","Background color of the editor overview ruler."));registerColor("editorGutter.background",editorBackground,localize("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),registerColor("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:Color$1.fromHex("#fff").transparent(.8),hcLight:contrastBorder},localize("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));const editorUnnecessaryCodeOpacity=registerColor("editorUnnecessaryCode.opacity",{dark:Color$1.fromHex("#000a"),light:Color$1.fromHex("#0007"),hcDark:null,hcLight:null},localize("unnecessaryCodeOpacity","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."));registerColor("editorGhostText.border",{dark:null,light:null,hcDark:Color$1.fromHex("#fff").transparent(.8),hcLight:Color$1.fromHex("#292929").transparent(.8)},localize("editorGhostTextBorder","Border color of ghost text in the editor."));const ghostTextForeground=registerColor("editorGhostText.foreground",{dark:Color$1.fromHex("#ffffff56"),light:Color$1.fromHex("#0007"),hcDark:null,hcLight:null},localize("editorGhostTextForeground","Foreground color of the ghost text in the editor."));registerColor("editorGhostText.background",null,localize("editorGhostTextBackground","Background color of the ghost text in the editor."));const rulerRangeDefault=new Color$1(new RGBA$1(0,122,204,.6)),overviewRulerRangeHighlight=registerColor("editorOverviewRuler.rangeHighlightForeground",rulerRangeDefault,localize("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerError=registerColor("editorOverviewRuler.errorForeground",{dark:new Color$1(new RGBA$1(255,18,18,.7)),light:new Color$1(new RGBA$1(255,18,18,.7)),hcDark:new Color$1(new RGBA$1(255,50,50,1)),hcLight:"#B5200D"},localize("overviewRuleError","Overview ruler marker color for errors.")),overviewRulerWarning=registerColor("editorOverviewRuler.warningForeground",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningBorder,hcLight:editorWarningBorder},localize("overviewRuleWarning","Overview ruler marker color for warnings.")),overviewRulerInfo=registerColor("editorOverviewRuler.infoForeground",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:editorInfoBorder,hcLight:editorInfoBorder},localize("overviewRuleInfo","Overview ruler marker color for infos.")),editorBracketHighlightingForeground1=registerColor("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},localize("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground2=registerColor("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},localize("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground3=registerColor("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},localize("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground4=registerColor("editorBracketHighlight.foreground4","#00000000",localize("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground5=registerColor("editorBracketHighlight.foreground5","#00000000",localize("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground6=registerColor("editorBracketHighlight.foreground6","#00000000",localize("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),editorBracketHighlightingUnexpectedBracketForeground=registerColor("editorBracketHighlight.unexpectedBracket.foreground",{dark:new Color$1(new RGBA$1(255,18,18,.8)),light:new Color$1(new RGBA$1(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},localize("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),editorBracketPairGuideBackground1=registerColor("editorBracketPairGuide.background1","#00000000",localize("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground2=registerColor("editorBracketPairGuide.background2","#00000000",localize("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground3=registerColor("editorBracketPairGuide.background3","#00000000",localize("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground4=registerColor("editorBracketPairGuide.background4","#00000000",localize("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground5=registerColor("editorBracketPairGuide.background5","#00000000",localize("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground6=registerColor("editorBracketPairGuide.background6","#00000000",localize("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground1=registerColor("editorBracketPairGuide.activeBackground1","#00000000",localize("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground2=registerColor("editorBracketPairGuide.activeBackground2","#00000000",localize("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground3=registerColor("editorBracketPairGuide.activeBackground3","#00000000",localize("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground4=registerColor("editorBracketPairGuide.activeBackground4","#00000000",localize("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground5=registerColor("editorBracketPairGuide.activeBackground5","#00000000",localize("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground6=registerColor("editorBracketPairGuide.activeBackground6","#00000000",localize("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));function diffSets(e,t){const i=[],o=[];for(const n of e)t.has(n)||i.push(n);for(const n of t)e.has(n)||o.push(n);return{removed:i,added:o}}function intersection(e,t){const i=new Set;for(const o of t)e.has(o)&&i.add(o);return i}registerColor("editorUnicodeHighlight.border",editorWarningForeground,localize("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),registerColor("editorUnicodeHighlight.background",editorWarningBackground,localize("editorUnicodeHighlight.background","Background color used to highlight unicode characters.")),registerThemingParticipant((e,t)=>{const i=e.getColor(editorBackground),o=e.getColor(editorLineHighlight),n=o&&!o.isTransparent()?o:i;n&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${n}; }`)});var __decorate$2k=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2d=function(e,t){return function(i,o){t(i,o,e)}};let MarkerDecorationsService=class extends Disposable{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new Emitter$1),this._markerDecorations=new ResourceMap,e.getModels().forEach(e=>this._onModelAdded(e)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach(e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)})}_onModelAdded(e){const t=new MarkerDecorations(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==Schemas.inMemory&&e.uri.scheme!==Schemas.internal&&e.uri.scheme!==Schemas.vscode||this._markerService?.read({resource:e.uri}).map(e=>e.owner).forEach(t=>this._markerService.remove(t,[e.uri]))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};MarkerDecorationsService=__decorate$2k([__param$2d(0,IModelService),__param$2d(1,IMarkerService)],MarkerDecorationsService);class MarkerDecorations extends Disposable{constructor(e){super(),this.model=e,this._map=new BidirectionalMap,this._register(toDisposable(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){const{added:t,removed:i}=diffSets(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===i.length)return!1;const o=i.map(e=>this._map.get(e)),n=t.map(e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)})),r=this.model.deltaDecorations(o,n);for(const s of i)this._map.delete(s);for(let s=0;s=t)return i;const o=e.getWordAtPosition(i.getStartPosition());o&&(i=new Range$2(i.startLineNumber,o.startColumn,i.endLineNumber,o.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&i.startLineNumber===i.endLineNumber){const o=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);o=0}}const IMarkerDecorationsService=createDecorator("markerDecorationsService");class CursorColumns{static _nextVisibleColumn(e,t,i){return 9===e?CursorColumns.nextRenderTabStop(t,i):isFullWidthCharacter(e)||isEmojiImprecise(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const o=Math.min(t-1,e.length),n=e.substring(0,o),r=new GraphemeIterator(n);let s=0;for(;!r.eol();){const e=getNextCodePoint(n,o,r.offset);r.nextGraphemeLength(),s=this._nextVisibleColumn(e,s,i)}return s}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const o=e.length,n=new GraphemeIterator(e);let r=0,s=1;for(;!n.eol();){const a=getNextCodePoint(e,o,n.offset);n.nextGraphemeLength();const l=this._nextVisibleColumn(a,r,i),c=n.offset+1;if(l>=t){return l-t=factor&&(i-=e%factor),i}function sumLengths(e,t){return e.reduce((e,i)=>lengthAdd(e,t(i)),lengthZero)}function lengthEquals(e,t){return e===t}function lengthDiffNonNegative(e,t){const i=e,o=t;if(o-i<=0)return lengthZero;const n=Math.floor(i/factor),r=Math.floor(o/factor),s=o-r*factor;if(n===r){return toLength(0,s-(i-n*factor))}return toLength(r-n,s)}function lengthLessThan(e,t){return e=t}function positionToLength(e){return toLength(e.lineNumber-1,e.column-1)}function lengthsToRange(e,t){const i=e,o=Math.floor(i/factor),n=i-o*factor,r=t,s=Math.floor(r/factor);return new Range$2(o+1,n+1,s+1,r-s*factor+1)}function lengthOfString(e){const t=splitLines(e);return toLength(t.length-1,t[t.length-1].length)}class TextEditInfo{static fromModelContentChanges(e){const t=e.map(e=>{const t=Range$2.lift(e.range);return new TextEditInfo(positionToLength(t.getStartPosition()),positionToLength(t.getEndPosition()),lengthOfString(e.text))}).reverse();return t}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${lengthToObj(this.startOffset)}...${lengthToObj(this.endOffset)}) -> ${lengthToObj(this.newLength)}`}}class BeforeEditPositionMapper{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(e=>TextEditInfoCache.from(e))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return null===i?null:lengthDiffNonNegative(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?toLength(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):toLength(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=lengthToObj(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?toLength(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):toLength(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(0===o){const e=1<e};class DenseKeyProvider{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}class BaseAstNode{get length(){return this._length}constructor(e){this._length=e}}class PairAstNode extends BaseAstNode{static create(e,t,i){let o=e.length;return t&&(o=lengthAdd(o,t.length)),i&&(o=lengthAdd(o,i.length)),new PairAstNode(o,e,t,i,t?t.missingOpeningBracketIds:SmallImmutableSet.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,i,o,n){super(e),this.openingBracket=t,this.child=i,this.closingBracket=o,this.missingOpeningBracketIds=n}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new PairAstNode(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(lengthAdd(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class ListAstNode extends BaseAstNode{static create23(e,t,i,o=!1){let n=e.length,r=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(n=lengthAdd(n,t.length),r=r.merge(t.missingOpeningBracketIds),i){if(e.listHeight!==i.listHeight)throw new Error("Invalid list heights");n=lengthAdd(n,i.length),r=r.merge(i.missingOpeningBracketIds)}return o?new Immutable23ListAstNode(n,e.listHeight+1,e,t,i,r):new TwoThreeListAstNode(n,e.listHeight+1,e,t,i,r)}static getEmpty(){return new ImmutableArrayListAstNode(lengthZero,0,[],SmallImmutableSet.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,i){super(e),this.listHeight=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),i=4===t.kind?t.toMutable():t;return t!==i&&this.setChild(e-1,i),i}makeFirstElementMutable(){this.throwIfImmutable();if(0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new BugIndicatingError;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,i=this.getChild(0).missingOpeningBracketIds;for(let o=1;othis.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const o=this.lineTokens,n=o.getCount();let r=null;if(this.lineTokenOffset1e3)break}if(i>1500)break}const o=lengthDiff(e,t,this.lineIdx,this.lineCharOffset);return new Token$1(o,0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(o))}}class FastTokenizer{constructor(e,t){this.text=e,this._offset=lengthZero,this.idx=0;const i=t.getRegExpStr(),o=i?new RegExp(i+"|\n","gi"):null,n=[];let r,s=0,a=0,l=0,c=0;const d=[];for(let p=0;p<60;p++)d.push(new Token$1(toLength(0,p),0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(toLength(0,p))));const u=[];for(let p=0;p<60;p++)u.push(new Token$1(toLength(1,p),0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(toLength(1,p))));if(o)for(o.lastIndex=0;null!==(r=o.exec(e));){const e=r.index,i=r[0];if("\n"===i)s++,a=e+1;else{if(l!==e){let t;if(c===s){const i=e-l;if(iprepareBracketForRegExp(e)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(2===i.kind&&i.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}function prepareBracketForRegExp(e){let t=escapeRegExpCharacters(e);return/^[\w ]+/.test(e)&&(t=`\\b${t}`),/[\w ]+$/.test(e)&&(t=`${t}\\b`),t}class LanguageAgnosticBracketTokens{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=BracketTokens.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function concat23Trees(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function i(){if(t>=e.length)return null;const i=t,o=e[i].listHeight;for(t++;t=2?concat23TreesOfSameHeight(0===i&&t===e.length?e:e.slice(i,t),!1):e[i]}let o=i(),n=i();if(!n)return o;for(let r=i();r;r=i())heightDiff(o,n)<=heightDiff(n,r)?(o=concat(o,n),n=r):n=concat(n,r);return concat(o,n)}function concat23TreesOfSameHeight(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let i=e.length;for(;i>3;){const o=i>>1;for(let n=0;n=3?e[2]:null,t)}function heightDiff(e,t){return Math.abs(e.listHeight-t.listHeight)}function concat(e,t){return e.listHeight===t.listHeight?ListAstNode.create23(e,t,null,!1):e.listHeight>t.listHeight?append$1(e,t):prepend(t,e)}function append$1(e,t){let i=e=e.toMutable();const o=[];let n;for(;;){if(t.listHeight===i.listHeight){n=t;break}if(4!==i.kind)throw new Error("unexpected");o.push(i),i=i.makeLastElementMutable()}for(let r=o.length-1;r>=0;r--){const e=o[r];n?e.childrenLength>=3?n=ListAstNode.create23(e.unappendChild(),n,null,!1):(e.appendChildOfSameHeight(n),n=void 0):e.handleChildrenChanged()}return n?ListAstNode.create23(e,n,null,!1):e}function prepend(e,t){let i=e=e.toMutable();const o=[];for(;t.listHeight!==i.listHeight;){if(4!==i.kind)throw new Error("unexpected");o.push(i),i=i.makeFirstElementMutable()}let n=t;for(let r=o.length-1;r>=0;r--){const e=o[r];n?e.childrenLength>=3?n=ListAstNode.create23(n,e.unprependChild(),null,!1):(e.prependChildOfSameHeight(n),n=void 0):e.handleChildrenChanged()}return n?ListAstNode.create23(n,e,null,!1):e}class NodeReader{constructor(e){this.lastOffset=lengthZero,this.nextNodes=[e],this.offsets=[lengthZero],this.idxs=[]}readLongestNodeAt(e,t){if(lengthLessThan(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=lastOrUndefined(this.nextNodes);if(!i)return;const o=lastOrUndefined(this.offsets);if(lengthLessThan(e,o))return;if(lengthLessThan(o,e))if(lengthAdd(o,i.length)<=e)this.nextNodeAfterCurrent();else{const e=getNextChildIdx(i);-1!==e?(this.nextNodes.push(i.getChild(e)),this.offsets.push(o),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const e=getNextChildIdx(i);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(i.getChild(e)),this.offsets.push(o),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=lastOrUndefined(this.offsets),t=lastOrUndefined(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const i=lastOrUndefined(this.nextNodes),o=getNextChildIdx(i,this.idxs[this.idxs.length-1]);if(-1!==o){this.nextNodes.push(i.getChild(o)),this.offsets.push(lengthAdd(e,t.length)),this.idxs[this.idxs.length-1]=o;break}this.idxs.pop()}}}function getNextChildIdx(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function lastOrUndefined(e){return e.length>0?e[e.length-1]:void 0}function parseDocument(e,t,i,o){return new Parser(e,t,i,o).parseDocument()}class Parser{constructor(e,t,i,o){if(this.tokenizer=e,this.createImmutableLists=o,this._itemsConstructed=0,this._itemsFromCache=0,i&&o)throw new Error("Not supported");this.oldNodeReader=i?new NodeReader(i):void 0,this.positionMapper=new BeforeEditPositionMapper(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(SmallImmutableSet.getEmpty(),0);return e||(e=ListAstNode.getEmpty()),e}parseList(e,t){const i=[];for(;;){let o=this.tryReadChildFromCache(e);if(!o){const i=this.tokenizer.peek();if(!i||2===i.kind&&i.bracketIds.intersects(e))break;o=this.parseChild(e,t+1)}4===o.kind&&0===o.childrenLength||i.push(o)}return this.oldNodeReader?concat23Trees(i):concat23TreesOfSameHeight(i,this.createImmutableLists)}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!lengthIsZero(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),i=>{if(null!==t&&!lengthLessThan(i.length,t))return!1;return i.canBeReused(e)});if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;const i=this.tokenizer.read();switch(i.kind){case 2:return new InvalidBracketAstNode(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new TextAstNode(i.length);const o=e.merge(i.bracketIds),n=this.parseList(o,t+1),r=this.tokenizer.peek();return r&&2===r.kind&&(r.bracketId===i.bracketId||r.bracketIds.intersects(i.bracketIds))?(this.tokenizer.read(),PairAstNode.create(i.astNode,n,r.astNode)):PairAstNode.create(i.astNode,n,null)}default:throw new Error("unexpected")}}}function combineTextEditInfos(e,t){if(0===e.length)return t;if(0===t.length)return e;const i=new ArrayQueue(toLengthMapping(e)),o=toLengthMapping(t);o.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let n=i.dequeue();function r(e){if(void 0===e){const e=i.takeWhile(e=>!0)||[];return n&&e.unshift(n),e}const t=[];for(;n&&!lengthIsZero(e);){const[o,r]=n.splitAt(e);t.push(o),e=lengthDiffNonNegative(o.lengthAfter,e),n=r??i.dequeue()}return lengthIsZero(e)||t.push(new LengthMapping(!1,e,e)),t}const s=[];function a(e,t,i){if(s.length>0&&lengthEquals(s[s.length-1].endOffset,e)){const e=s[s.length-1];s[s.length-1]=new TextEditInfo(e.startOffset,t,lengthAdd(e.newLength,i))}else s.push({startOffset:e,endOffset:t,newLength:i})}let l=lengthZero;for(const c of o){const e=r(c.lengthBefore);if(c.modified){const t=sumLengths(e,e=>e.lengthBefore),i=lengthAdd(l,t);a(l,i,c.lengthAfter),l=i}else for(const t of e){const e=l;l=lengthAdd(l,t.lengthBefore),t.modified&&a(e,l,t.lengthAfter)}}return s}class LengthMapping{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=lengthDiffNonNegative(e,this.lengthAfter);return lengthEquals(t,lengthZero)?[this,void 0]:this.modified?[new LengthMapping(this.modified,this.lengthBefore,e),new LengthMapping(this.modified,lengthZero,t)]:[new LengthMapping(this.modified,e,e),new LengthMapping(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${lengthToObj(this.lengthBefore)} -> ${lengthToObj(this.lengthAfter)}`}}function toLengthMapping(e){const t=[];let i=lengthZero;for(const o of e){const e=lengthDiffNonNegative(i,o.startOffset);lengthIsZero(e)||t.push(new LengthMapping(!1,e,e));const n=lengthDiffNonNegative(o.startOffset,o.endOffset);t.push(new LengthMapping(!0,n,o.newLength)),i=o.endOffset}return t}class BracketPairsTree extends Disposable{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new Emitter$1,this.denseKeyProvider=new DenseKeyProvider,this.brackets=new LanguageAgnosticBracketTokens(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new FastTokenizer(this.textModel.getValue(),e);this.initialAstWithoutTokens=parseDocument(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map(e=>new TextEditInfo(toLength(e.fromLineNumber-1,0),toLength(e.toLineNumber,0),toLength(e.toLineNumber-e.fromLineNumber+1,0)));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=TextEditInfo.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const i=combineTextEditInfos(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=combineTextEditInfos(this.queuedTextEditsForInitialAstWithoutTokens,e))}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(e,t,i){const o=t;return parseDocument(new TextBufferTokenizer(this.textModel,this.brackets),e,o,i)}getBracketsInRange(e,t){this.flushQueue();const i=toLength(e.startLineNumber-1,e.startColumn-1),o=toLength(e.endLineNumber-1,e.endColumn-1);return new CallbackIterable(e=>{const n=this.initialAstWithoutTokens||this.astWithTokens;collectBrackets(n,lengthZero,n.length,i,o,e,0,0,new Map,t)})}getBracketPairsInRange(e,t){this.flushQueue();const i=positionToLength(e.getStartPosition()),o=positionToLength(e.getEndPosition());return new CallbackIterable(e=>{const n=this.initialAstWithoutTokens||this.astWithTokens,r=new CollectBracketPairsContext(e,t,this.textModel);collectBracketPairs(n,lengthZero,n.length,i,o,r,0,new Map)})}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return getFirstBracketAfter(t,lengthZero,t.length,positionToLength(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return getFirstBracketBefore(t,lengthZero,t.length,positionToLength(e))}}function getFirstBracketBefore(e,t,i,o){if(4===e.kind||2===e.kind){const n=[];for(const o of e.children)i=lengthAdd(t,o.length),n.push({nodeOffsetStart:t,nodeOffsetEnd:i}),t=i;for(let t=n.length-1;t>=0;t--){const{nodeOffsetStart:i,nodeOffsetEnd:r}=n[t];if(lengthLessThan(i,o)){const n=getFirstBracketBefore(e.children[t],i,r,o);if(n)return n}}return null}if(3===e.kind)return null;if(1===e.kind){const o=lengthsToRange(t,i);return{bracketInfo:e.bracketInfo,range:o}}return null}function getFirstBracketAfter(e,t,i,o){if(4===e.kind||2===e.kind){for(const n of e.children){if(lengthLessThan(o,i=lengthAdd(t,n.length))){const e=getFirstBracketAfter(n,t,i,o);if(e)return e}t=i}return null}if(3===e.kind)return null;if(1===e.kind){const o=lengthsToRange(t,i);return{bracketInfo:e.bracketInfo,range:o}}return null}function collectBrackets(e,t,i,o,n,r,s,a,l,c,d=!1){if(s>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let d=0;d200)return!0;let l=!0;if(2===e.kind){let c=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),c=t,t++,a.set(e.openingBracket.text,t)}const d=lengthAdd(t,e.openingBracket.length);let u=-1;if(r.includeMinIndentation&&(u=e.computeMinIndentation(t,r.textModel)),l=r.push(new BracketPairWithMinIndentationInfo(lengthsToRange(t,i),lengthsToRange(t,d),e.closingBracket?lengthsToRange(lengthAdd(d,e.child?.length||lengthZero),i):void 0,s,c,e,u)),t=d,l&&e.child){const c=e.child;if(i=lengthAdd(t,c.length),lengthLessThanEqual(t,n)&&lengthGreaterThanEqual(i,o)&&(l=collectBracketPairs(c,t,i,o,n,r,s+1,a),!l))return!1}a?.set(e.openingBracket.text,c)}else{let i=t;for(const t of e.children){const e=i;if(i=lengthAdd(i,t.length),lengthLessThanEqual(e,n)&&lengthLessThanEqual(o,i)&&(l=collectBracketPairs(t,e,i,o,n,r,s,a),!l))return!1}}return l}class BracketPairsTextModelPart extends Disposable{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new MutableDisposable),this.onDidChangeEmitter=new Emitter$1,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){e.languageId&&!this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new DisposableStore;this.bracketPairsTree.value=createDisposableRef(e.add(new BracketPairsTree(this.textModel,e=>this.languageConfigurationService.getLanguageConfiguration(e))),e),e.add(this.bracketPairsTree.value.object.onDidChange(e=>this.onDidChangeEmitter.fire(e))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||CallbackIterable.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||CallbackIterable.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||CallbackIterable.empty}findMatchingBracketUp(e,t,i){const o=this.textModel.validatePosition(t),n=this.textModel.getLanguageIdAtPosition(o.lineNumber,o.column);if(this.canBuildAST){const i=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew.getClosingBracketInfo(e);if(!i)return null;const o=this.getBracketPairsInRange(Range$2.fromPositions(t,t)).findLast(e=>i.closes(e.openingBracketInfo));return o?o.openingBracketRange:null}{const t=e.toLowerCase(),r=this.languageConfigurationService.getLanguageConfiguration(n).brackets;if(!r)return null;const s=r.textIsBracket[t];return s?stripBracketSearchCanceled(this._findMatchingBracketUp(s,o,createTimeBasedContinueBracketSearchPredicate(i))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(Range$2.fromPositions(e,e)).filter(t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e))).findLastMaxBy(compareBy(t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange,Range$2.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const i=createTimeBasedContinueBracketSearchPredicate(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,o){const n=t.getCount(),r=t.getLanguageId(o);let s=Math.max(0,e.column-1-i.maxBracketLength);for(let l=o-1;l>=0;l--){const e=t.getEndOffset(l);if(e<=s)break;if(ignoreBracketsInToken(t.getStandardTokenType(l))||t.getLanguageId(l)!==r){s=e;break}}let a=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let l=o+1;l=a)break;if(ignoreBracketsInToken(t.getStandardTokenType(l))||t.getLanguageId(l)!==r){a=e;break}}return{searchStartOffset:s,searchEndOffset:a}}_matchBracket(e,t){const i=e.lineNumber,o=this.textModel.tokenization.getLineTokens(i),n=this.textModel.getLineContent(i),r=o.findTokenIndexAtOffset(e.column-1);if(r<0)return null;const s=this.languageConfigurationService.getLanguageConfiguration(o.getLanguageId(r)).brackets;if(s&&!ignoreBracketsInToken(o.getStandardTokenType(r))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,o,s,r),c=null;for(;;){const o=BracketsUtils.findNextBracketInRange(s.forwardRegex,i,n,a,l);if(!o)break;if(o.startColumn<=e.column&&e.column<=o.endColumn){const e=n.substring(o.startColumn-1,o.endColumn-1).toLowerCase(),i=this._matchFoundBracket(o,s.textIsBracket[e],s.textIsOpenBracket[e],t);if(i){if(i instanceof BracketSearchCanceled)return null;c=i}}a=o.endColumn-1}if(c)return c}if(r>0&&o.getStartOffset(r)===e.column-1){const s=r-1,a=this.languageConfigurationService.getLanguageConfiguration(o.getLanguageId(s)).brackets;if(a&&!ignoreBracketsInToken(o.getStandardTokenType(s))){const{searchStartOffset:r,searchEndOffset:l}=this._establishBracketSearchOffsets(e,o,a,s),c=BracketsUtils.findPrevBracketInRange(a.reversedRegex,i,n,r,l);if(c&&c.startColumn<=e.column&&e.column<=c.endColumn){const e=n.substring(c.startColumn-1,c.endColumn-1).toLowerCase(),i=this._matchFoundBracket(c,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(i)return i instanceof BracketSearchCanceled?null:i}}}return null}_matchFoundBracket(e,t,i,o){if(!t)return null;const n=i?this._findMatchingBracketDown(t,e.getEndPosition(),o):this._findMatchingBracketUp(t,e.getStartPosition(),o);return n?n instanceof BracketSearchCanceled?n:[e,n]:null}_findMatchingBracketUp(e,t,i){const o=e.languageId,n=e.reversedRegex;let r=-1,s=0;const a=(t,o,a,l)=>{for(;;){if(i&&++s%100==0&&!i())return BracketSearchCanceled.INSTANCE;const c=BracketsUtils.findPrevBracketInRange(n,t,o,a,l);if(!c)break;const d=o.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(d)?r++:e.isClose(d)&&r--,0===r)return c;l=c.startColumn-1}return null};for(let l=t.lineNumber;l>=1;l--){const e=this.textModel.tokenization.getLineTokens(l),i=e.getCount(),n=this.textModel.getLineContent(l);let r=i-1,s=n.length,c=n.length;l===t.lineNumber&&(r=e.findTokenIndexAtOffset(t.column-1),s=t.column-1,c=t.column-1);let d=!0;for(;r>=0;r--){const t=e.getLanguageId(r)===o&&!ignoreBracketsInToken(e.getStandardTokenType(r));if(t)d?s=e.getStartOffset(r):(s=e.getStartOffset(r),c=e.getEndOffset(r));else if(d&&s!==c){const e=a(l,n,s,c);if(e)return e}d=t}if(d&&s!==c){const e=a(l,n,s,c);if(e)return e}}return null}_findMatchingBracketDown(e,t,i){const o=e.languageId,n=e.forwardRegex;let r=1,s=0;const a=(t,o,a,l)=>{for(;;){if(i&&++s%100==0&&!i())return BracketSearchCanceled.INSTANCE;const c=BracketsUtils.findNextBracketInRange(n,t,o,a,l);if(!c)break;const d=o.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(d)?r++:e.isClose(d)&&r--,0===r)return c;a=c.endColumn-1}return null},l=this.textModel.getLineCount();for(let c=t.lineNumber;c<=l;c++){const e=this.textModel.tokenization.getLineTokens(c),i=e.getCount(),n=this.textModel.getLineContent(c);let r=0,s=0,l=0;c===t.lineNumber&&(r=e.findTokenIndexAtOffset(t.column-1),s=t.column-1,l=t.column-1);let d=!0;for(;r=1;r--){const e=this.textModel.tokenization.getLineTokens(r),s=e.getCount(),a=this.textModel.getLineContent(r);let l=s-1,c=a.length,d=a.length;if(r===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),c=t.column-1,d=t.column-1;const r=e.getLanguageId(l);i!==r&&(i=r,o=this.languageConfigurationService.getLanguageConfiguration(i).brackets,n=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let u=!0;for(;l>=0;l--){const t=e.getLanguageId(l);if(i!==t){if(o&&n&&u&&c!==d){const e=BracketsUtils.findPrevBracketInRange(o.reversedRegex,r,a,c,d);if(e)return this._toFoundBracket(n,e);u=!1}i=t,o=this.languageConfigurationService.getLanguageConfiguration(i).brackets,n=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const s=!!o&&!ignoreBracketsInToken(e.getStandardTokenType(l));if(s)u?c=e.getStartOffset(l):(c=e.getStartOffset(l),d=e.getEndOffset(l));else if(n&&o&&u&&c!==d){const e=BracketsUtils.findPrevBracketInRange(o.reversedRegex,r,a,c,d);if(e)return this._toFoundBracket(n,e)}u=s}if(n&&o&&u&&c!==d){const e=BracketsUtils.findPrevBracketInRange(o.reversedRegex,r,a,c,d);if(e)return this._toFoundBracket(n,e)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const i=this.textModel.getLineCount();let o=null,n=null,r=null;for(let s=t.lineNumber;s<=i;s++){const e=this.textModel.tokenization.getLineTokens(s),i=e.getCount(),a=this.textModel.getLineContent(s);let l=0,c=0,d=0;if(s===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),c=t.column-1,d=t.column-1;const i=e.getLanguageId(l);o!==i&&(o=i,n=this.languageConfigurationService.getLanguageConfiguration(o).brackets,r=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew)}let u=!0;for(;lvoid 0!==t.closingBracketRange&&t.range.strictContainsRange(e));return t?[t.openingBracketRange,t.closingBracketRange]:null}const o=createTimeBasedContinueBracketSearchPredicate(t),n=this.textModel.getLineCount(),r=new Map;let s=[];const a=(e,t)=>{if(!r.has(e)){const i=[];for(let e=0,o=t?t.brackets.length:0;e{for(;;){if(o&&++l%100==0&&!o())return BracketSearchCanceled.INSTANCE;const a=BracketsUtils.findNextBracketInRange(e.forwardRegex,t,i,n,r);if(!a)break;const c=i.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),d=e.textIsBracket[c];if(d&&(d.isOpen(c)?s[d.index]++:d.isClose(c)&&s[d.index]--,-1===s[d.index]))return this._matchFoundBracket(a,d,!1,o);n=a.endColumn-1}return null};let d=null,u=null;for(let h=i.lineNumber;h<=n;h++){const e=this.textModel.tokenization.getLineTokens(h),t=e.getCount(),o=this.textModel.getLineContent(h);let n=0,r=0,s=0;if(h===i.lineNumber){n=e.findTokenIndexAtOffset(i.column-1),r=i.column-1,s=i.column-1;const t=e.getLanguageId(n);d!==t&&(d=t,u=this.languageConfigurationService.getLanguageConfiguration(d).brackets,a(d,u))}let l=!0;for(;nt?.dispose()}}function createTimeBasedContinueBracketSearchPredicate(e){if(void 0===e)return()=>!0;{const t=Date.now();return()=>Date.now()-t<=e}}class BracketSearchCanceled{static{this.INSTANCE=new BracketSearchCanceled}constructor(){this._searchCanceledBrand=void 0}}function stripBracketSearchCanceled(e){return e instanceof BracketSearchCanceled?null:e}class ColorizedBracketPairsDecorationProvider extends Disposable{constructor(e){super(),this.textModel=e,this.colorProvider=new ColorProvider,this.onDidChangeEmitter=new Emitter$1,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange(e=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,o){if(o)return[];if(void 0===t)return[];if(!this.colorizationOptions.enabled)return[];const n=this.textModel.bracketPairs.getBracketsInRange(e,!0).map(e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range})).toArray();return n}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new Range$2(1,1,this.textModel.getLineCount(),1),e,t):[]}}class ColorProvider{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}function escapeNewLine(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}registerThemingParticipant((e,t)=>{const i=[editorBracketHighlightingForeground1,editorBracketHighlightingForeground2,editorBracketHighlightingForeground3,editorBracketHighlightingForeground4,editorBracketHighlightingForeground5,editorBracketHighlightingForeground6],o=new ColorProvider;t.addRule(`.monaco-editor .${o.unexpectedClosingBracketClassName} { color: ${e.getColor(editorBracketHighlightingUnexpectedBracketForeground)}; }`);const n=i.map(t=>e.getColor(t)).filter(e=>!!e).filter(e=>!e.isTransparent());for(let r=0;r<30;r++){const e=n[r%n.length];t.addRule(`.monaco-editor .${o.getInlineClassNameOfLevel(r)} { color: ${e}; }`)}});class TextChange{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(e,t,i,o){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=o}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${escapeNewLine(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${escapeNewLine(this.oldText)}")`:`(replace@${this.oldPosition} "${escapeNewLine(this.oldText)}" with "${escapeNewLine(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const o=t.length;writeUInt32BE(e,o,i),i+=4;for(let n=0;n0&&(this.changes=compressConsecutiveTextChanges(this.changes,t)),this.afterEOL=i,this.afterVersionId=o,this.afterCursorState=n}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,i){if(writeUInt32BE(e,t?t.length:0,i),i+=4,t)for(const o of t)writeUInt32BE(e,o.selectionStartLineNumber,i),i+=4,writeUInt32BE(e,o.selectionStartColumn,i),i+=4,writeUInt32BE(e,o.positionLineNumber,i),i+=4,writeUInt32BE(e,o.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const o=readUInt32BE(e,t);t+=4;for(let n=0;ne.toString()).join(", ")}matchesResource(e){return(URI.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof SingleModelEditStackData}append(e,t,i,o,n){this._data instanceof SingleModelEditStackData&&this._data.append(e,t,i,o,n)}close(){this._data instanceof SingleModelEditStackData&&(this._data=this._data.serialize())}open(){this._data instanceof SingleModelEditStackData||(this._data=SingleModelEditStackData.deserialize(this._data))}undo(){if(URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof SingleModelEditStackData&&(this._data=this._data.serialize());const e=SingleModelEditStackData.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof SingleModelEditStackData&&(this._data=this._data.serialize());const e=SingleModelEditStackData.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof SingleModelEditStackData&&(this._data=this._data.serialize()),this._data.byteLength+168}}class MultiModelEditStackElement{get resources(){return this._editStackElementsArr.map(e=>e.resource)}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const o of this._editStackElementsArr){const e=uriGetComparisonKey(o.resource);this._editStackElementsMap.set(e,o)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=uriGetComparisonKey(e);return this._editStackElementsMap.has(t)}setModel(e){const t=uriGetComparisonKey(URI.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=uriGetComparisonKey(e.uri);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).canAppend(e)}return!1}append(e,t,i,o,n){const r=uriGetComparisonKey(e.uri);this._editStackElementsMap.get(r).append(e,t,i,o,n)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=uriGetComparisonKey(e);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).heapSize()}return 0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${basename(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function getModelEOL(e){return"\n"===e.getEOL()?0:1}function isEditStackElement(e){return!!e&&(e instanceof SingleModelEditStackElement||e instanceof MultiModelEditStackElement)}class EditStack{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);isEditStackElement(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);isEditStackElement(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(isEditStackElement(i)&&i.canAppend(this._model))return i;const o=new SingleModelEditStackElement(localize("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(o,t),o}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],getModelEOL(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,o){const n=this._getOrCreateEditStackElement(e,o),r=this._model.applyEdits(t,!0),s=EditStack._computeCursorState(i,r),a=r.map((e,t)=>({index:t,textChange:e.textChange}));return a.sort((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition),n.append(this._model,a.map(e=>e.textChange),getModelEOL(this._model),this._model.getAlternativeVersionId(),s),s}static _computeCursorState(t,i){try{return t?t(i):null}catch(e){return onUnexpectedError(e),null}}}class TextModelPart extends Disposable{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function computeIndentLevel(e,t){let i=0,o=0;const n=e.length;for(;oo)throw new BugIndicatingError("Illegal value for lineNumber");const n=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=Boolean(n&&n.offSide);let s=-2,a=-1,l=-2,c=-1;const d=e=>{if(-1!==s&&(-2===s||s>e-1)){s=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){s=t,a=e;break}}}if(-2===l){l=-1,c=-1;for(let t=e;t=0){l=t,c=e;break}}}};let u=-2,h=-1,p=-2,g=-1;const m=e=>{if(-2===u){u=-1,h=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){u=t,h=e;break}}}if(-1!==p&&(-2===p||p=0){p=t,g=e;break}}}};let f=0,v=!0,b=0,_=!0,y=0,C=0;for(let w=0;v||_;w++){const n=e-w,s=e+w;w>1&&(n<1||n1&&(s>o||s>i)&&(_=!1),w>5e4&&(v=!1,_=!1);let p=-1;if(v&&n>=1){const e=this._computeIndentLevel(n-1);e>=0?(l=n-1,c=e,p=Math.ceil(e/this.textModel.getOptions().indentSize)):(d(n),p=this._getIndentLevelForWhitespaceLine(r,a,c))}let x=-1;if(_&&s<=o){const e=this._computeIndentLevel(s-1);e>=0?(u=s-1,h=e,x=Math.ceil(e/this.textModel.getOptions().indentSize)):(m(s),x=this._getIndentLevelForWhitespaceLine(r,h,g))}if(0!==w){if(1===w){if(s<=o&&x>=0&&C+1===x){v=!1,f=s,b=s,y=x;continue}if(n>=1&&p>=0&&p-1===C){_=!1,f=n,b=n,y=p;continue}if(f=e,b=e,y=C,0===y)return{startLineNumber:f,endLineNumber:b,indent:y}}v&&(p>=y?f=n:v=!1),_&&(x>=y?b=s:_=!1)}else C=p}return{startLineNumber:f,endLineNumber:b,indent:y}}getLinesBracketGuides(e,t,i,o){const n=[];for(let c=e;c<=t;c++)n.push([]);const r=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new Range$2(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let s;if(i&&r.length>0){const o=(e<=i.lineNumber&&i.lineNumber<=t?r:this.textModel.bracketPairs.getBracketPairsInRange(Range$2.fromPositions(i)).toArray()).filter(e=>Range$2.strictContainsPosition(e.range,i));s=findLast$1(o,e=>true)?.range}const a=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,l=new BracketPairGuidesClassNames;for(const c of r){if(!c.closingBracketRange)continue;const i=s&&c.range.equalsRange(s);if(!i&&!o.includeInactive)continue;const r=l.getInlineClassName(c.nestingLevel,c.nestingLevelOfEqualBracketType,a)+(o.highlightActive&&i?" "+l.activeClassName:""),d=c.openingBracketRange.getStartPosition(),u=c.closingBracketRange.getStartPosition(),h=o.horizontalGuides===HorizontalGuidesState.Enabled||o.horizontalGuides===HorizontalGuidesState.EnabledForActive&&i;if(c.range.startLineNumber===c.range.endLineNumber){h&&n[c.range.startLineNumber-e].push(new IndentGuide(-1,c.openingBracketRange.getEndPosition().column,r,new IndentGuideHorizontalLine(!1,u.column),-1,-1));continue}const p=this.getVisibleColumnFromPosition(u),g=this.getVisibleColumnFromPosition(c.openingBracketRange.getStartPosition()),m=Math.min(g,p,c.minVisibleColumnIndentation+1);let f=!1;firstNonWhitespaceIndex(this.textModel.getLineContent(c.closingBracketRange.startLineNumber))=e&&g>m&&n[d.lineNumber-e].push(new IndentGuide(m,-1,r,new IndentGuideHorizontalLine(!1,d.column),-1,-1)),u.lineNumber<=t&&p>m&&n[u.lineNumber-e].push(new IndentGuide(m,-1,r,new IndentGuideHorizontalLine(!f,u.column),-1,-1)))}for(const c of n)c.sort((e,t)=>e.visibleColumn-t.visibleColumn);return n}getVisibleColumnFromPosition(e){return CursorColumns.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const o=this.textModel.getOptions(),n=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=Boolean(n&&n.offSide),s=new Array(t-e+1);let a=-2,l=-1,c=-2,d=-1;for(let u=e;u<=t;u++){const t=u-e,n=this._computeIndentLevel(u-1);if(n>=0)a=u-1,l=n,s[t]=Math.ceil(n/o.indentSize);else{if(-2===a){a=-1,l=-1;for(let e=u-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==c&&(-2===c||c=0){c=e,d=t;break}}}s[t]=this._getIndentLevelForWhitespaceLine(r,l,d)}}return s}_getIndentLevelForWhitespaceLine(e,t,i){const o=this.textModel.getOptions();return-1===t||-1===i?0:t0&&a>0)return;if(l>0&&c>0)return;const d=Math.abs(a-c),u=Math.abs(s-l);if(0===d)return n.spacesDiff=u,void(u>0&&0<=l-1&&l-10?n++:m>1&&r++,spacesDiff(s,a,l,g,d),d.looksLikeAlignment&&(!i||t!==d.spacesDiff))continue;const v=d.spacesDiff;v<=8&&c[v]++,s=l,a=g}let u=i;n!==r&&(u=n{const i=c[t];i>e&&(e=i,h=t)}),4===h&&c[4]>0&&c[2]>0&&c[2]>=c[4]/2&&(h=2)}return{insertSpaces:u,tabSize:h}}function getNodeColor(e){return(1&e.metadata)>>>0}function setNodeColor(e,t){e.metadata=254&e.metadata|t}function getNodeIsVisited(e){return(2&e.metadata)>>>1==1}function setNodeIsVisited(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function getNodeIsForValidation(e){return(4&e.metadata)>>>2==1}function setNodeIsForValidation(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function getNodeIsInGlyphMargin(e){return(64&e.metadata)>>>6==1}function setNodeIsInGlyphMargin(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function getNodeStickiness(e){return(24&e.metadata)>>>3}function _setNodeStickiness(e,t){e.metadata=231&e.metadata|t<<3}function getCollapseOnReplaceEdit(e){return(32&e.metadata)>>>5==1}function setCollapseOnReplaceEdit(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class IntervalNode{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,setNodeColor(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,setNodeIsForValidation(this,!1),setNodeIsInGlyphMargin(this,!1),_setNodeStickiness(this,1),setCollapseOnReplaceEdit(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,setNodeIsVisited(this,!1)}reset(e,t,i,o){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=o}setOptions(e){this.options=e;const t=this.options.className;setNodeIsForValidation(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),setNodeIsInGlyphMargin(this,null!==this.options.glyphMarginClassName),_setNodeStickiness(this,this.options.stickiness),setCollapseOnReplaceEdit(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const SENTINEL$1=new IntervalNode(null,0,0);SENTINEL$1.parent=SENTINEL$1,SENTINEL$1.left=SENTINEL$1,SENTINEL$1.right=SENTINEL$1,setNodeColor(SENTINEL$1,0);class IntervalTree{constructor(){this.root=SENTINEL$1,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,o,n,r){return this.root===SENTINEL$1?[]:intervalSearch(this,e,t,i,o,n,r)}search(e,t,i,o){return this.root===SENTINEL$1?[]:search(this,e,t,i,o)}collectNodesFromOwner(e){return collectNodesFromOwner(this,e)}collectNodesPostOrder(){return collectNodesPostOrder(this)}insert(e){rbTreeInsert(this,e),this._normalizeDeltaIfNecessary()}delete(e){rbTreeDelete(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let o=0;for(;e!==this.root;)e===e.parent.right&&(o+=e.parent.delta),e=e.parent;const n=i.start+o,r=i.end+o;i.setCachedOffsets(n,r,t)}acceptReplace(e,t,i,o){const n=searchForEditing(this,e,e+t);for(let r=0,s=n.length;ri)&&(1!==o&&(2===o||t))}function nodeAcceptEdit(e,t,i,o,n){const r=getNodeStickiness(e),s=0===r||2===r,a=1===r||2===r,l=i-t,c=o,d=Math.min(l,c),u=e.start;let h=!1;const p=e.end;let g=!1;t<=u&&p<=i&&getCollapseOnReplaceEdit(e)&&(e.start=t,h=!0,e.end=t,g=!0);{const e=n?1:l>0?2:0;!h&&adjustMarkerBeforeColumn(u,s,t,e)&&(h=!0),!g&&adjustMarkerBeforeColumn(p,a,t,e)&&(g=!0)}if(d>0&&!n){const e=l>c?2:0;!h&&adjustMarkerBeforeColumn(u,s,t+d,e)&&(h=!0),!g&&adjustMarkerBeforeColumn(p,a,t+d,e)&&(g=!0)}{const o=n?1:0;!h&&adjustMarkerBeforeColumn(u,s,i,o)&&(e.start=t+c,h=!0),!g&&adjustMarkerBeforeColumn(p,a,i,o)&&(e.end=t+c,g=!0)}const m=c-l;h||(e.start=Math.max(0,u+m)),g||(e.end=Math.max(0,p+m)),e.start>e.end&&(e.end=e.start)}function searchForEditing(e,t,i){let o=e.root,n=0,r=0,s=0,a=0;const l=[];let c=0;for(;o!==SENTINEL$1;)if(getNodeIsVisited(o))setNodeIsVisited(o.left,!1),setNodeIsVisited(o.right,!1),o===o.parent.right&&(n-=o.parent.delta),o=o.parent;else{if(!getNodeIsVisited(o.left)){if(r=n+o.maxEnd,ri?setNodeIsVisited(o,!0):(a=n+o.end,a>=t&&(o.setCachedOffsets(s,a,0),l[c++]=o),setNodeIsVisited(o,!0),o.right===SENTINEL$1||getNodeIsVisited(o.right)||(n+=o.delta,o=o.right))}return setNodeIsVisited(e.root,!1),l}function noOverlapReplace(e,t,i,o){let n=e.root,r=0,s=0,a=0;const l=o-(i-t);for(;n!==SENTINEL$1;)if(getNodeIsVisited(n))setNodeIsVisited(n.left,!1),setNodeIsVisited(n.right,!1),n===n.parent.right&&(r-=n.parent.delta),recomputeMaxEnd(n),n=n.parent;else{if(!getNodeIsVisited(n.left)){if(s=r+n.maxEnd,si?(n.start+=l,n.end+=l,n.delta+=l,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),setNodeIsVisited(n,!0)):(setNodeIsVisited(n,!0),n.right===SENTINEL$1||getNodeIsVisited(n.right)||(r+=n.delta,n=n.right))}setNodeIsVisited(e.root,!1)}function collectNodesFromOwner(e,t){let i=e.root;const o=[];let n=0;for(;i!==SENTINEL$1;)getNodeIsVisited(i)?(setNodeIsVisited(i.left,!1),setNodeIsVisited(i.right,!1),i=i.parent):i.left===SENTINEL$1||getNodeIsVisited(i.left)?(i.ownerId===t&&(o[n++]=i),setNodeIsVisited(i,!0),i.right===SENTINEL$1||getNodeIsVisited(i.right)||(i=i.right)):i=i.left;return setNodeIsVisited(e.root,!1),o}function collectNodesPostOrder(e){let t=e.root;const i=[];let o=0;for(;t!==SENTINEL$1;)getNodeIsVisited(t)?(setNodeIsVisited(t.left,!1),setNodeIsVisited(t.right,!1),t=t.parent):t.left===SENTINEL$1||getNodeIsVisited(t.left)?t.right===SENTINEL$1||getNodeIsVisited(t.right)?(i[o++]=t,setNodeIsVisited(t,!0)):t=t.right:t=t.left;return setNodeIsVisited(e.root,!1),i}function search(e,t,i,o,n){let r=e.root,s=0,a=0,l=0;const c=[];let d=0;for(;r!==SENTINEL$1;){if(getNodeIsVisited(r)){setNodeIsVisited(r.left,!1),setNodeIsVisited(r.right,!1),r===r.parent.right&&(s-=r.parent.delta),r=r.parent;continue}if(r.left!==SENTINEL$1&&!getNodeIsVisited(r.left)){r=r.left;continue}a=s+r.start,l=s+r.end,r.setCachedOffsets(a,l,o);let e=!0;t&&r.ownerId&&r.ownerId!==t&&(e=!1),i&&getNodeIsForValidation(r)&&(e=!1),n&&!getNodeIsInGlyphMargin(r)&&(e=!1),e&&(c[d++]=r),setNodeIsVisited(r,!0),r.right===SENTINEL$1||getNodeIsVisited(r.right)||(s+=r.delta,r=r.right)}return setNodeIsVisited(e.root,!1),c}function intervalSearch(e,t,i,o,n,r,s){let a=e.root,l=0,c=0,d=0,u=0;const h=[];let p=0;for(;a!==SENTINEL$1;)if(getNodeIsVisited(a))setNodeIsVisited(a.left,!1),setNodeIsVisited(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;else{if(!getNodeIsVisited(a.left)){if(c=l+a.maxEnd,ci)setNodeIsVisited(a,!0);else{if(u=l+a.end,u>=t){a.setCachedOffsets(d,u,r);let e=!0;o&&a.ownerId&&a.ownerId!==o&&(e=!1),n&&getNodeIsForValidation(a)&&(e=!1),s&&!getNodeIsInGlyphMargin(a)&&(e=!1),e&&(h[p++]=a)}setNodeIsVisited(a,!0),a.right===SENTINEL$1||getNodeIsVisited(a.right)||(l+=a.delta,a=a.right)}}return setNodeIsVisited(e.root,!1),h}function rbTreeInsert(e,t){if(e.root===SENTINEL$1)return t.parent=SENTINEL$1,t.left=SENTINEL$1,t.right=SENTINEL$1,setNodeColor(t,0),e.root=t,e.root;treeInsert(e,t),recomputeMaxEndWalkToRoot(t.parent);let i=t;for(;i!==e.root&&1===getNodeColor(i.parent);)if(i.parent===i.parent.parent.left){const t=i.parent.parent.right;1===getNodeColor(t)?(setNodeColor(i.parent,0),setNodeColor(t,0),setNodeColor(i.parent.parent,1),i=i.parent.parent):(i===i.parent.right&&(i=i.parent,leftRotate$1(e,i)),setNodeColor(i.parent,0),setNodeColor(i.parent.parent,1),rightRotate$1(e,i.parent.parent))}else{const t=i.parent.parent.left;1===getNodeColor(t)?(setNodeColor(i.parent,0),setNodeColor(t,0),setNodeColor(i.parent.parent,1),i=i.parent.parent):(i===i.parent.left&&(i=i.parent,rightRotate$1(e,i)),setNodeColor(i.parent,0),setNodeColor(i.parent.parent,1),leftRotate$1(e,i.parent.parent))}return setNodeColor(e.root,0),t}function treeInsert(e,t){let i=0,o=e.root;const n=t.start,r=t.end;for(;;){if(intervalCompare(n,r,o.start+i,o.end+i)<0){if(o.left===SENTINEL$1){t.start-=i,t.end-=i,t.maxEnd-=i,o.left=t;break}o=o.left}else{if(o.right===SENTINEL$1){t.start-=i+o.delta,t.end-=i+o.delta,t.maxEnd-=i+o.delta,o.right=t;break}i+=o.delta,o=o.right}}t.parent=o,t.left=SENTINEL$1,t.right=SENTINEL$1,setNodeColor(t,1)}function rbTreeDelete(e,t){let i,o;if(t.left===SENTINEL$1?(i=t.right,o=t,i.delta+=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta):t.right===SENTINEL$1?(i=t.left,o=t):(o=leftest$1(t.right),i=o.right,i.start+=o.delta,i.end+=o.delta,i.delta+=o.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),o.start+=t.delta,o.end+=t.delta,o.delta=t.delta,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0)),o===e.root)return e.root=i,setNodeColor(i,0),t.detach(),resetSentinel$1(),recomputeMaxEnd(i),void(e.root.parent=SENTINEL$1);const n=1===getNodeColor(o);if(o===o.parent.left?o.parent.left=i:o.parent.right=i,o===t?i.parent=o.parent:(o.parent===t?i.parent=o:i.parent=o.parent,o.left=t.left,o.right=t.right,o.parent=t.parent,setNodeColor(o,getNodeColor(t)),t===e.root?e.root=o:t===t.parent.left?t.parent.left=o:t.parent.right=o,o.left!==SENTINEL$1&&(o.left.parent=o),o.right!==SENTINEL$1&&(o.right.parent=o)),t.detach(),n)return recomputeMaxEndWalkToRoot(i.parent),o!==t&&(recomputeMaxEndWalkToRoot(o),recomputeMaxEndWalkToRoot(o.parent)),void resetSentinel$1();let r;for(recomputeMaxEndWalkToRoot(i),recomputeMaxEndWalkToRoot(i.parent),o!==t&&(recomputeMaxEndWalkToRoot(o),recomputeMaxEndWalkToRoot(o.parent));i!==e.root&&0===getNodeColor(i);)i===i.parent.left?(r=i.parent.right,1===getNodeColor(r)&&(setNodeColor(r,0),setNodeColor(i.parent,1),leftRotate$1(e,i.parent),r=i.parent.right),0===getNodeColor(r.left)&&0===getNodeColor(r.right)?(setNodeColor(r,1),i=i.parent):(0===getNodeColor(r.right)&&(setNodeColor(r.left,0),setNodeColor(r,1),rightRotate$1(e,r),r=i.parent.right),setNodeColor(r,getNodeColor(i.parent)),setNodeColor(i.parent,0),setNodeColor(r.right,0),leftRotate$1(e,i.parent),i=e.root)):(r=i.parent.left,1===getNodeColor(r)&&(setNodeColor(r,0),setNodeColor(i.parent,1),rightRotate$1(e,i.parent),r=i.parent.left),0===getNodeColor(r.left)&&0===getNodeColor(r.right)?(setNodeColor(r,1),i=i.parent):(0===getNodeColor(r.left)&&(setNodeColor(r.right,0),setNodeColor(r,1),leftRotate$1(e,r),r=i.parent.left),setNodeColor(r,getNodeColor(i.parent)),setNodeColor(i.parent,0),setNodeColor(r.left,0),rightRotate$1(e,i.parent),i=e.root));setNodeColor(i,0),resetSentinel$1()}function leftest$1(e){for(;e.left!==SENTINEL$1;)e=e.left;return e}function resetSentinel$1(){SENTINEL$1.parent=SENTINEL$1,SENTINEL$1.delta=0,SENTINEL$1.start=0,SENTINEL$1.end=0}function leftRotate$1(e,t){const i=t.right;i.delta+=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,t.right=i.left,i.left!==SENTINEL$1&&(i.left.parent=t),i.parent=t.parent,t.parent===SENTINEL$1?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i,recomputeMaxEnd(t),recomputeMaxEnd(i)}function rightRotate$1(e,t){const i=t.left;t.delta-=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=i.delta,t.end-=i.delta,t.left=i.right,i.right!==SENTINEL$1&&(i.right.parent=t),i.parent=t.parent,t.parent===SENTINEL$1?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i,recomputeMaxEnd(t),recomputeMaxEnd(i)}function computeMaxEnd(e){let t=e.end;if(e.left!==SENTINEL$1){const i=e.left.maxEnd;i>t&&(t=i)}if(e.right!==SENTINEL$1){const i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function recomputeMaxEnd(e){e.maxEnd=computeMaxEnd(e)}function recomputeMaxEndWalkToRoot(e){for(;e!==SENTINEL$1;){const t=computeMaxEnd(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function intervalCompare(e,t,i,o){return e===i?t-o:e-i}class TreeNode{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==SENTINEL)return leftest(this.right);let e=this;for(;e.parent!==SENTINEL&&e.parent.left!==e;)e=e.parent;return e.parent===SENTINEL?SENTINEL:e.parent}prev(){if(this.left!==SENTINEL)return righttest(this.left);let e=this;for(;e.parent!==SENTINEL&&e.parent.right!==e;)e=e.parent;return e.parent===SENTINEL?SENTINEL:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const SENTINEL=new TreeNode(null,0);function leftest(e){for(;e.left!==SENTINEL;)e=e.left;return e}function righttest(e){for(;e.right!==SENTINEL;)e=e.right;return e}function calculateSize(e){return e===SENTINEL?0:e.size_left+e.piece.length+calculateSize(e.right)}function calculateLF(e){return e===SENTINEL?0:e.lf_left+e.piece.lineFeedCnt+calculateLF(e.right)}function resetSentinel(){SENTINEL.parent=SENTINEL}function leftRotate(e,t){const i=t.right;i.size_left+=t.size_left+(t.piece?t.piece.length:0),i.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=i.left,i.left!==SENTINEL&&(i.left.parent=t),i.parent=t.parent,t.parent===SENTINEL?e.root=i:t.parent.left===t?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i}function rightRotate(e,t){const i=t.left;t.left=i.right,i.right!==SENTINEL&&(i.right.parent=t),i.parent=t.parent,t.size_left-=i.size_left+(i.piece?i.piece.length:0),t.lf_left-=i.lf_left+(i.piece?i.piece.lineFeedCnt:0),t.parent===SENTINEL?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i}function rbDelete(e,t){let i,o;if(t.left===SENTINEL?(o=t,i=o.right):t.right===SENTINEL?(o=t,i=o.left):(o=leftest(t.right),i=o.right),o===e.root)return e.root=i,i.color=0,t.detach(),resetSentinel(),void(e.root.parent=SENTINEL);const n=1===o.color;if(o===o.parent.left?o.parent.left=i:o.parent.right=i,o===t?(i.parent=o.parent,recomputeTreeMetadata(e,i)):(o.parent===t?i.parent=o:i.parent=o.parent,recomputeTreeMetadata(e,i),o.left=t.left,o.right=t.right,o.parent=t.parent,o.color=t.color,t===e.root?e.root=o:t===t.parent.left?t.parent.left=o:t.parent.right=o,o.left!==SENTINEL&&(o.left.parent=o),o.right!==SENTINEL&&(o.right.parent=o),o.size_left=t.size_left,o.lf_left=t.lf_left,recomputeTreeMetadata(e,o)),t.detach(),i.parent.left===i){const t=calculateSize(i),o=calculateLF(i);if(t!==i.parent.size_left||o!==i.parent.lf_left){const n=t-i.parent.size_left,r=o-i.parent.lf_left;i.parent.size_left=t,i.parent.lf_left=o,updateTreeMetadata(e,i.parent,n,r)}}if(recomputeTreeMetadata(e,i.parent),n)return void resetSentinel();let r;for(;i!==e.root&&0===i.color;)i===i.parent.left?(r=i.parent.right,1===r.color&&(r.color=0,i.parent.color=1,leftRotate(e,i.parent),r=i.parent.right),0===r.left.color&&0===r.right.color?(r.color=1,i=i.parent):(0===r.right.color&&(r.left.color=0,r.color=1,rightRotate(e,r),r=i.parent.right),r.color=i.parent.color,i.parent.color=0,r.right.color=0,leftRotate(e,i.parent),i=e.root)):(r=i.parent.left,1===r.color&&(r.color=0,i.parent.color=1,rightRotate(e,i.parent),r=i.parent.left),0===r.left.color&&0===r.right.color?(r.color=1,i=i.parent):(0===r.left.color&&(r.right.color=0,r.color=1,leftRotate(e,r),r=i.parent.left),r.color=i.parent.color,i.parent.color=0,r.left.color=0,rightRotate(e,i.parent),i=e.root));i.color=0,resetSentinel()}function fixInsert(e,t){for(recomputeTreeMetadata(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;1===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&leftRotate(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,rightRotate(e,t.parent.parent))}else{const i=t.parent.parent.left;1===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&rightRotate(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,leftRotate(e,t.parent.parent))}e.root.color=0}function updateTreeMetadata(e,t,i,o){for(;t!==e.root&&t!==SENTINEL;)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=o),t=t.parent}function recomputeTreeMetadata(e,t){let i=0,o=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(i=calculateSize((t=t.parent).left)-t.size_left,o=calculateLF(t.left)-t.lf_left,t.size_left+=i,t.lf_left+=o;t!==e.root&&(0!==i||0!==o);)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=o),t=t.parent}}SENTINEL.parent=SENTINEL,SENTINEL.left=SENTINEL,SENTINEL.right=SENTINEL,SENTINEL.color=0;const AverageBufferSize=65535;function createUintArray(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class LineStarts{constructor(e,t,i,o,n){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=o,this.isBasicASCII=n}}function createLineStartsFast(e,t=!0){const i=[0];let o=1;for(let n=0,r=e.length;n126)&&(s=!1)}const a=new LineStarts(createUintArray(e),o,n,r,s);return e.length=0,a}class Piece{constructor(e,t,i,o,n){this.bufferIndex=e,this.start=t,this.end=i,this.lineFeedCnt=o,this.length=n}}class StringBuffer{constructor(e,t){this.buffer=e,this.lineStarts=t}}class PieceTreeSnapshot{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==SENTINEL&&e.iterate(e.root,e=>(e!==SENTINEL&&this._pieces.push(e.piece),!0))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class PieceTreeSearchCache{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let o=0;o=e)&&(i[o]=null,t=!0)}if(t){const e=[];for(const t of i)null!==t&&e.push(t);this._cache=e}}}class PieceTreeBase{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new StringBuffer("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=SENTINEL,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let o=null;for(let n=0,r=e.length;n0){e[n].lineStarts||(e[n].lineStarts=createLineStartsFast(e[n].buffer));const t=new Piece(n+1,{line:0,column:0},{line:e[n].lineStarts.length-1,column:e[n].buffer.length-e[n].lineStarts[e[n].lineStarts.length-1]},e[n].lineStarts.length-1,e[n].buffer.length);this._buffers.push(e[n]),o=this.rbInsertRight(o,t)}this._searchCache=new PieceTreeSearchCache(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=AverageBufferSize,i=t-Math.floor(t/3),o=2*i;let n="",r=0;const s=[];if(this.iterate(this.root,t=>{const a=this.getNodeContent(t),l=a.length;if(r<=i||r+l0){const t=n.replace(/\r\n|\r|\n/g,e);s.push(new StringBuffer(t,createLineStartsFast(t)))}this.create(s,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new PieceTreeSnapshot(this,e)}getOffsetAt(e,t){let i=0,o=this.root;for(;o!==SENTINEL;)if(o.left!==SENTINEL&&o.lf_left+1>=e)o=o.left;else{if(o.lf_left+o.piece.lineFeedCnt+1>=e){i+=o.size_left;return i+(this.getAccumulatedValue(o,e-o.lf_left-2)+t-1)}e-=o.lf_left+o.piece.lineFeedCnt,i+=o.size_left+o.piece.length,o=o.right}return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const o=e;for(;t!==SENTINEL;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const n=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+n.index,0===n.index){const e=this.getOffsetAt(i+1,1);return new Position$1(i+1,o-e+1)}return new Position$1(i+1,n.remainder+1)}if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===SENTINEL){const t=this.getOffsetAt(i+1,1);return new Position$1(i+1,o-e-t+1)}t=t.right}return new Position$1(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),o=this.nodeAt2(e.endLineNumber,e.endColumn),n=this.getValueInRange2(i,o);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?n:n.replace(/\r\n|\r|\n/g,t):n}getValueInRange2(e,t){if(e.node===t.node){const i=e.node,o=this._buffers[i.piece.bufferIndex].buffer,n=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return o.substring(n+e.remainder,n+t.remainder)}let i=e.node;const o=this._buffers[i.piece.bufferIndex].buffer,n=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let r=o.substring(n+e.remainder,n+i.piece.length);for(i=i.next();i!==SENTINEL;){const e=this._buffers[i.piece.bufferIndex].buffer,o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){r+=e.substring(o,o+t.remainder);break}r+=e.substr(o,i.piece.length),i=i.next()}return r}getLinesContent(){const e=[];let t=0,i="",o=!1;return this.iterate(this.root,n=>{if(n===SENTINEL)return!0;const r=n.piece;let s=r.length;if(0===s)return!0;const a=this._buffers[r.bufferIndex].buffer,l=this._buffers[r.bufferIndex].lineStarts,c=r.start.line,d=r.end.line;let u=l[c]+r.start.column;if(o&&(10===a.charCodeAt(u)&&(u++,s--),e[t++]=i,i="",o=!1,0===s))return!0;if(c===d)return this._EOLNormalized||13!==a.charCodeAt(u+s-1)?i+=a.substr(u,s):(o=!0,i+=a.substr(u,s-1)),!0;i+=this._EOLNormalized?a.substring(u,Math.max(u,l[c+1]-this._EOLLength)):a.substring(u,l[c+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let o=c+1;oe+p,t.reset(0)):(v=u.buffer,b=e=>e,t.reset(p));do{if(m=t.next(v),m){if(b(m.index)>=g)return c;this.positionInBuffer(e,b(m.index)-h,f);const t=this.getLineFeedCnt(e.piece.bufferIndex,n,f),r=f.line===n.line?f.column-n.column+o:f.column+1,s=r+m[0].length;if(d[c++]=createFindMatch(new Range$2(i+t,r,i+t,s),m,a),b(m.index)+m[0].length>=g)return c;if(c>=l)return c}}while(m);return c}findMatchesLineByLine(e,t,i,o){const n=[];let r=0;const s=new Searcher(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let c=this.positionInBuffer(a.node,a.remainder);const d=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,s,e.startLineNumber,e.startColumn,c,d,t,i,o,r,n),n;let u=e.startLineNumber,h=a.node;for(;h!==l.node;){const l=this.getLineFeedCnt(h.piece.bufferIndex,c,h.piece.end);if(l>=1){const a=this._buffers[h.piece.bufferIndex].lineStarts,d=this.offsetInBuffer(h.piece.bufferIndex,h.piece.start),p=a[c.line+l],g=u===e.startLineNumber?e.startColumn:1;if(r=this.findMatchesInNode(h,s,u,g,c,this.positionInBuffer(h,p-d),t,i,o,r,n),r>=o)return n;u+=l}const d=u===e.startLineNumber?e.startColumn-1:0;if(u===e.endLineNumber){const a=this.getLineContent(u).substring(d,e.endColumn-1);return r=this._findMatchesInLine(t,s,a,e.endLineNumber,d,r,n,i,o),n}if(r=this._findMatchesInLine(t,s,this.getLineContent(u).substr(d),u,d,r,n,i,o),r>=o)return n;u++,a=this.nodeAt2(u,1),h=a.node,c=this.positionInBuffer(a.node,a.remainder)}if(u===e.endLineNumber){const a=u===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(u).substring(a,e.endColumn-1);return r=this._findMatchesInLine(t,s,l,e.endLineNumber,a,r,n,i,o),n}const p=u===e.startLineNumber?e.startColumn:1;return r=this.findMatchesInNode(l.node,s,u,p,c,d,t,i,o,r,n),n}_findMatchesInLine(e,t,i,o,n,r,s,a,l){const c=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,d=i.length;let u=-a;for(;-1!==(u=i.indexOf(t,u+a));)if((!c||isValidMatch(c,i,d,u,a))&&(s[r++]=new FindMatch(new Range$2(o,u+1+n,o,u+1+a+n),null),r>=l))return r;return r}let d;t.reset(0);do{if(d=t.next(i),d&&(s[r++]=createFindMatch(new Range$2(o,d.index+1+n,o,d.index+1+d[0].length+n),d,a),r>=l))return r}while(d);return r}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==SENTINEL){const{node:i,remainder:o,nodeStartOffset:n}=this.nodeAt(e),r=i.piece,s=r.bufferIndex,a=this.positionInBuffer(i,o);if(0===i.piece.bufferIndex&&r.end.line===this._lastChangeBufferPos.line&&r.end.column===this._lastChangeBufferPos.column&&n+r.length===e&&t.lengthe){const e=[];let n=new Piece(r.bufferIndex,a,r.end,this.getLineFeedCnt(r.bufferIndex,a,r.end),this.offsetInBuffer(s,r.end)-this.offsetInBuffer(s,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)){if(10===this.nodeCharCodeAt(i,o)){const e={line:n.start.line+1,column:0};n=new Piece(n.bufferIndex,e,n.end,this.getLineFeedCnt(n.bufferIndex,e,n.end),n.length-1),t+="\n"}}if(this.shouldCheckCRLF()&&this.startWithLF(t)){if(13===this.nodeCharCodeAt(i,o-1)){const n=this.positionInBuffer(i,o-1);this.deleteNodeTail(i,n),t="\r"+t,0===i.piece.length&&e.push(i)}else this.deleteNodeTail(i,a)}else this.deleteNodeTail(i,a);const l=this.createNewPieces(t);n.length>0&&this.rbInsertRight(i,n);let c=i;for(let t=0;t=0;r--)n=this.rbInsertLeft(n,o[r]);this.validateCRLFWithPrevNode(n),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const i=this.createNewPieces(e),o=this.rbInsertRight(t,i[0]);let n=o;for(let r=1;r=d))break;a=c+1}return i?(i.line=c,i.column=s-u,null):{line:c,column:s-u}}getLineFeedCnt(e,t,i){if(0===i.column)return i.line-t.line;const o=this._buffers[e].lineStarts;if(i.line===o.length-1)return i.line-t.line;const n=o[i.line+1],r=o[i.line]+i.column;if(n>r+1)return i.line-t.line;const s=r-1;return 13===this._buffers[e].buffer.charCodeAt(s)?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;tAverageBufferSize){const t=[];for(;e.length>AverageBufferSize;){const i=e.charCodeAt(AverageBufferSize-1);let o;13===i||i>=55296&&i<=56319?(o=e.substring(0,AverageBufferSize-1),e=e.substring(AverageBufferSize-1)):(o=e.substring(0,AverageBufferSize),e=e.substring(AverageBufferSize));const n=createLineStartsFast(o);t.push(new Piece(this._buffers.length,{line:0,column:0},{line:n.length-1,column:o.length-n[n.length-1]},n.length-1,o.length)),this._buffers.push(new StringBuffer(o,n))}const i=createLineStartsFast(e);return t.push(new Piece(this._buffers.length,{line:0,column:0},{line:i.length-1,column:e.length-i[i.length-1]},i.length-1,e.length)),this._buffers.push(new StringBuffer(e,i)),t}let t=this._buffers[0].buffer.length;const i=createLineStartsFast(e,!1);let o=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},o=this._lastChangeBufferPos;for(let e=0;e=e-1)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt>e-1){const o=this.getAccumulatedValue(i,e-i.lf_left-2),s=this.getAccumulatedValue(i,e-i.lf_left-1),a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:n,nodeStartLineNumber:r-(e-1-i.lf_left)}),a.substring(l+o,l+s-t)}if(i.lf_left+i.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(i,e-i.lf_left-2),n=this._buffers[i.piece.bufferIndex].buffer,r=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);o=n.substring(r+t,r+i.piece.length);break}e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}}for(i=i.next();i!==SENTINEL;){const e=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const n=this.getAccumulatedValue(i,0),r=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return o+=e.substring(r,r+n-t),o}{const t=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);o+=e.substr(t,i.piece.length)}i=i.next()}return o}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==SENTINEL;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,o=this.positionInBuffer(e,t),n=o.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,i.start,o);if(t!==n)return{index:t,remainder:0}}return{index:n,remainder:o.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,o=this._buffers[i.bufferIndex].lineStarts,n=i.start.line+t+1;return n>i.end.line?o[i.end.line]+i.end.column-o[i.start.line]-i.start.column:o[n]-o[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,o=i.lineFeedCnt,n=this.offsetInBuffer(i.bufferIndex,i.end),r=t,s=this.offsetInBuffer(i.bufferIndex,r),a=this.getLineFeedCnt(i.bufferIndex,i.start,r),l=a-o,c=s-n,d=i.length+c;e.piece=new Piece(i.bufferIndex,i.start,r,a,d),updateTreeMetadata(this,e,c,l)}deleteNodeHead(e,t){const i=e.piece,o=i.lineFeedCnt,n=this.offsetInBuffer(i.bufferIndex,i.start),r=t,s=this.getLineFeedCnt(i.bufferIndex,r,i.end),a=s-o,l=n-this.offsetInBuffer(i.bufferIndex,r),c=i.length+l;e.piece=new Piece(i.bufferIndex,r,i.end,s,c),updateTreeMetadata(this,e,l,a)}shrinkNode(e,t,i){const o=e.piece,n=o.start,r=o.end,s=o.length,a=o.lineFeedCnt,l=t,c=this.getLineFeedCnt(o.bufferIndex,o.start,l),d=this.offsetInBuffer(o.bufferIndex,t)-this.offsetInBuffer(o.bufferIndex,n);e.piece=new Piece(o.bufferIndex,o.start,l,c,d),updateTreeMetadata(this,e,d-s,c-a);const u=new Piece(o.bufferIndex,i,r,this.getLineFeedCnt(o.bufferIndex,i,r),this.offsetInBuffer(o.bufferIndex,r)-this.offsetInBuffer(o.bufferIndex,i)),h=this.rbInsertRight(e,u);this.validateCRLFWithPrevNode(h)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),o=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const n=createLineStartsFast(t,!1);for(let u=0;ue)t=t.left;else{if(t.size_left+t.piece.length>=e){o+=t.size_left;const i={node:t,remainder:e-t.size_left,nodeStartOffset:o};return this._searchCache.set(i),i}e-=t.size_left+t.piece.length,o+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let i=this.root,o=0;for(;i!==SENTINEL;)if(i.left!==SENTINEL&&i.lf_left>=e-1)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt>e-1){const n=this.getAccumulatedValue(i,e-i.lf_left-2),r=this.getAccumulatedValue(i,e-i.lf_left-1);return o+=i.size_left,{node:i,remainder:Math.min(n+t-1,r),nodeStartOffset:o}}if(i.lf_left+i.piece.lineFeedCnt===e-1){const n=this.getAccumulatedValue(i,e-i.lf_left-2);if(n+t-1<=i.piece.length)return{node:i,remainder:n+t-1,nodeStartOffset:o};t-=i.piece.length-n;break}e-=i.lf_left+i.piece.lineFeedCnt,o+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==SENTINEL;){if(i.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(i,0),o=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,e),nodeStartOffset:o}}if(i.piece.length>=t-1){return{node:i,remainder:t-1,nodeStartOffset:this.offsetOfNode(i)}}t-=i.piece.length,i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],o=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(o)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===SENTINEL||0===e.piece.lineFeedCnt)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,o=t.start.line,n=i[o]+t.start.column;if(o===i.length-1)return!1;return!(i[o+1]>n+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(n)}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==SENTINEL&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],o=this._buffers[e.piece.bufferIndex].lineStarts;let n;n=0===e.piece.end.column?{line:e.piece.end.line-1,column:o[e.piece.end.line]-o[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const r=e.piece.length-1,s=e.piece.lineFeedCnt-1;e.piece=new Piece(e.piece.bufferIndex,e.piece.start,n,s,r),updateTreeMetadata(this,e,-1,-1),0===e.piece.length&&i.push(e);const a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new Piece(t.piece.bufferIndex,a,t.piece.end,c,l),updateTreeMetadata(this,t,-1,-1),0===t.piece.length&&i.push(t);const d=this.createNewPieces("\r\n");this.rbInsertRight(e,d[0]);for(let u=0;ue.sortIndex-t.sortIndex)}this._mightContainRTL=o,this._mightContainUnusualLineTerminators=n,this._mightContainNonBasicASCII=r;const h=this._doApplyEdits(a);let p=null;if(t&&d.length>0){d.sort((e,t)=>t.lineNumber-e.lineNumber),p=[];for(let e=0,t=d.length;e0&&d[e-1].lineNumber===t)continue;const i=d[e].oldContent,o=this.getLineContent(t);0!==o.length&&o!==i&&-1===firstNonWhitespaceIndex(o)&&p.push(t)}}return this._onDidChangeContent.fire(),new ApplyEditsResult(u,h,p)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,o=e[e.length-1].range,n=new Range$2(i.startLineNumber,i.startColumn,o.endLineNumber,o.endColumn);let r=i.startLineNumber,s=i.startColumn;const a=[];for(let h=0,p=e.length;h0&&a.push(i.text),r=o.endLineNumber,s=o.endColumn}const l=a.join(""),[c,d,u]=countEOL(l);return{sortIndex:0,identifier:e[0].identifier,range:n,rangeOffset:this.getOffsetAt(n.startLineNumber,n.startColumn),rangeLength:this.getValueLengthInRange(n,0),text:l,eolCount:c,firstLineLength:d,lastLineLength:u,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(PieceTreeTextBuffer._sortOpsDescending);const t=[];for(let i=0;i0){const e=s.eolCount+1;c=1===e?new Range$2(a,l,a,l+s.firstLineLength):new Range$2(a,l,a+e-1,s.lastLineLength+1)}else c=new Range$2(a,l,a,l);i=c.endLineNumber,o=c.endColumn,t.push(c),n=s}return t}static _sortOpsAscending(e,t){const i=Range$2.compareRangesUsingEnds(e.range,t.range);return 0===i?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=Range$2.compareRangesUsingEnds(e.range,t.range);return 0===i?t.sortIndex-e.sortIndex:-i}}class PieceTreeTextBufferFactory{constructor(e,t,i,o,n,r,s,a,l){this._chunks=e,this._bom=t,this._cr=i,this._lf=o,this._crlf=n,this._containsRTL=r,this._containsUnusualLineTerminators=s,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":i>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let n=0,r=i.length;n=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=createLineStarts(this._tmpLineStarts,e);this.chunks.push(new StringBuffer(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=containsRTL(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=containsUnusualLineTerminators(e)))}finish(e=!0){return this._finish(),new PieceTreeTextBufferFactory(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=createLineStartsFast(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}class FixedArray{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,i){if(e>=this._store.length)return;if(0===t)return void this.insert(e,i);if(0===i)return void this.delete(e,t);const o=this._store.slice(0,e),n=this._store.slice(e+t),r=arrayFill(i,this._default);this._store=o.concat(r,n)}delete(e,t){0===t||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const i=[];for(let o=0;o0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e)return void i.appendLineTokens(t)}this._tokens.push(new ContiguousMultilineTokens(e,[t]))}finalize(){return this._tokens}}class TokenizerWithStateStore{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new TrackingTokenizationStateStore(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class TokenizerWithStateStoreAndTextModel extends TokenizerWithStateStore{constructor(e,t,i,o){super(e,t),this._textModel=i,this._languageIdCodec=o}updateTokensUntilLine(e,t){const i=this._textModel.getLanguageId();for(;;){const o=this.getFirstInvalidLine();if(!o||o.lineNumber>t)break;const n=this._textModel.getLineContent(o.lineNumber),r=safeTokenize(this._languageIdCodec,i,this.tokenizationSupport,n,!0,o.startState);e.add(o.lineNumber,r.tokens),this.store.setEndState(o.lineNumber,r.endState)}}getTokenTypeIfInsertingCharacter(e,t){const i=this.getStartState(e.lineNumber);if(!i)return 0;const o=this._textModel.getLanguageId(),n=this._textModel.getLineContent(e.lineNumber),r=n.substring(0,e.column-1)+t+n.substring(e.column-1),s=safeTokenize(this._languageIdCodec,o,this.tokenizationSupport,r,!0,i),a=new LineTokens(s.tokens,r,this._languageIdCodec);if(0===a.getCount())return 0;const l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,i){const o=e.lineNumber,n=e.column,r=this.getStartState(o);if(!r)return null;const s=this._textModel.getLineContent(o),a=s.substring(0,n-1)+i+s.substring(n-1+t),l=this._textModel.getLanguageIdAtPosition(o,0),c=safeTokenize(this._languageIdCodec,l,this.tokenizationSupport,a,!0,r);return new LineTokens(c.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e1&&s>=1;s--){const e=this._textModel.getLineFirstNonWhitespaceColumn(s);if(0!==e&&(e0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}}class RangePriorityQueueImpl{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex(t=>t.contains(e));if(-1!==t){const i=this._ranges[t];i.start===e?i.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new OffsetRange(e+1,i.endExclusive):i.endExclusive===e+1?this._ranges[t]=new OffsetRange(i.start,e):this._ranges.splice(t,1,new OffsetRange(i.start,e),new OffsetRange(e+1,i.endExclusive))}}addRange(e){OffsetRange.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let o=i;for(;!(o>=this._ranges.length||e.endExclusivee.toString()).join(" + ")}}function safeTokenize(t,i,o,n,r,s){let a=null;if(o)try{a=o.tokenizeEncoded(n,r,s.clone())}catch(e){onUnexpectedError(e)}return a||(a=nullTokenizeEncoded(t.encodeLanguageId(i),s)),LineTokens.convertToEndOffset(a.tokens,n.length),a}class DefaultBackgroundTokenizer{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,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,runWhenGlobalIdle(e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)}))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new LineRange$1(e,t))}}class AttachedViews{constructor(){this._onDidChangeVisibleRanges=new Emitter$1,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new AttachedViewImpl(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class AttachedViewImpl{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const i=e.map(e=>new LineRange$1(e.startLineNumber,e.endLineNumber+1));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}class AttachedViewHandler extends Disposable{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new RunOnceScheduler(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){equals$2(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class AbstractTokens extends Disposable{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,i){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=i,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new Emitter$1),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new Emitter$1),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class TreeSitterTokens extends AbstractTokens{constructor(e,t,i,o){super(t,i,o),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=TreeSitterTokenizationRegistry.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const i=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(i)return new LineTokens(i,t,this._languageIdCodec)}return LineTokens.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,i){return 0}tokenizeLineWithEdit(e,t,i){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}const ITreeSitterParserService=createDecorator("treeSitterParserService"),EMPTY_LINE_TOKENS=new Uint32Array(0).buffer;class ContiguousTokensEditing{static deleteBeginning(e,t){return null===e||e===EMPTY_LINE_TOKENS?e:ContiguousTokensEditing.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===EMPTY_LINE_TOKENS)return e;const i=toUint32Array(e),o=i[i.length-2];return ContiguousTokensEditing.delete(e,t,o)}static delete(e,t,i){if(null===e||e===EMPTY_LINE_TOKENS||t===i)return e;const o=toUint32Array(e),n=o.length>>>1;if(0===t&&o[o.length-2]===i)return EMPTY_LINE_TOKENS;const r=LineTokens.findIndexInTokensArray(o,t),s=r>0?o[r-1<<1]:0;if(il&&(o[a++]=e,o[a++]=o[1+(u<<1)],l=e)}if(a===o.length)return e;const d=new Uint32Array(a);return d.set(o.subarray(0,a),0),d.buffer}static append(e,t){if(t===EMPTY_LINE_TOKENS)return e;if(e===EMPTY_LINE_TOKENS)return t;if(null===e)return e;if(null===t)return null;const i=toUint32Array(e),o=toUint32Array(t),n=o.length>>>1,r=new Uint32Array(i.length+o.length);r.set(i,0);let s=i.length;const a=i[i.length-2];for(let l=0;l>>1;let r=LineTokens.findIndexInTokensArray(o,t);if(r>0){o[r-1<<1]===t&&r--}for(let s=r;s0}getTokens(e,t,i){let o=null;if(t1&&(t=TokenMetadata.getLanguageId(o[1])!==e),!t)return EMPTY_LINE_TOKENS}if(!o||0===o.length){const i=new Uint32Array(2);return i[0]=t,i[1]=getDefaultMetadata(e),i.buffer}return o[o.length-2]=t,0===o.byteOffset&&o.byteLength===o.buffer.byteLength?o.buffer:o}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const i=[];for(let o=0;o=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=ContiguousTokensEditing.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=ContiguousTokensEditing.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let o=null;i=this._len||(0!==t?(this._lineTokens[o]=ContiguousTokensEditing.deleteEnding(this._lineTokens[o],e.column-1),this._lineTokens[o]=ContiguousTokensEditing.insert(this._lineTokens[o],e.column-1,i),this._insertLines(e.lineNumber,t)):this._lineTokens[o]=ContiguousTokensEditing.insert(this._lineTokens[o],e.column-1,i))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const i=[];for(let o=0,n=e.length;o>>0}class SparseTokensStore{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){const o=t[0].getRange(),n=t[t.length-1].getRange();if(!o||!n)return e;i=e.plusRange(o).plusRange(n)}let o=null;for(let n=0,r=this._pieces.length;ni.endLineNumber){o=o||{index:n};break}if(e.removeTokens(i),e.isEmpty()){this._pieces.splice(n,1),n--,r--;continue}if(e.endLineNumberi.endLineNumber){o=o||{index:n};continue}const[t,s]=e.split(i);t.isEmpty()?o=o||{index:n}:s.isEmpty()||(this._pieces.splice(n,1,t,s),n++,r++,o=o||{index:n})}return o=o||{index:this._pieces.length},t.length>0&&(this._pieces=arrayInsert(this._pieces,o.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const i=this._pieces;if(0===i.length)return t;const o=i[SparseTokensStore._findFirstPieceWithLine(i,e)].getLineTokens(e);if(!o)return t;const n=t.getCount(),r=o.getCount();let s=0;const a=[];let l=0,c=0;const d=(e,t)=>{e!==c&&(c=e,a[l++]=e,a[l++]=t)};for(let u=0;u>>0,l=~a>>>0;for(;st)){for(;n>i&&e[n-1].startLineNumber<=t&&t<=e[n-1].endLineNumber;)n--;return n}o=n-1}}return i}acceptEdit(e,t,i,o,n){for(const r of this._pieces)r.acceptEdit(e,t,i,o,n)}}var __decorate$2j=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2c=function(e,t){return function(i,o){t(i,o,e)}},TokenizationTextModelPart_1;let TokenizationTextModelPart=TokenizationTextModelPart_1=class extends TextModelPart{constructor(e,t,i,o,n,r,s){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=i,this._attachedViews=o,this._languageService=n,this._languageConfigurationService=r,this._treeSitterService=s,this._semanticTokens=new SparseTokensStore(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new Emitter$1),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new Emitter$1),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new Emitter$1),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new DisposableStore),this._register(this._languageConfigurationService.onDidChange(e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(Event$1.filter(TreeSitterTokenizationRegistry.onDidChange,e=>e.changedLanguages.includes(this._languageId))(()=>{this.createPreferredTokenProvider()})),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new GrammarTokens(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews))}createTreeSitterTokens(){return this._register(new TreeSitterTokens(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,()=>this._languageId))}createTokens(e){const t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens(e=>{this._emitModelTokensChangedEvent(e)})),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState(e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){TreeSitterTokenizationRegistry.get(this._languageId)?this._tokens instanceof TreeSitterTokens||this.createTokens(!0):this._tokens instanceof GrammarTokens||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,i,o]=countEOL(t.text);this._semanticTokens.acceptEdit(t.range,e,i,o,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this._tokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),o=this.getLineTokens(t.lineNumber),n=o.findTokenIndexAtOffset(t.column-1),[r,s]=TokenizationTextModelPart_1._findLanguageBoundaries(o,n),a=getWordAtText(t.column,this.getLanguageConfiguration(o.getLanguageId(n)).getWordDefinition(),i.substring(r,s),r);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(n>0&&r===t.column-1){const[r,s]=TokenizationTextModelPart_1._findLanguageBoundaries(o,n-1),a=getWordAtText(t.column,this.getLanguageConfiguration(o.getLanguageId(n-1)).getWordDefinition(),i.substring(r,s),r);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const i=e.getLanguageId(t);let o=0;for(let r=t;r>=0&&e.getLanguageId(r)===i;r--)o=e.getStartOffset(r);let n=e.getLineContent().length;for(let r=t,s=e.getCount();r{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()})),this.resetTokenization(),this._register(o.onDidChangeVisibleRanges(({view:e,state:t})=>{if(t){let i=this._attachedViewStates.get(e);i||(i=new AttachedViewHandler(()=>this.refreshRanges(i.lineRanges)),this._attachedViewStates.set(e,i)),i.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)}))}resetTokenization(t=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new TrackingTokenizationStateStore(this._textModel.getLineCount())),t&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[i,o]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const t=TokenizationRegistry.get(this.getLanguageId());if(!t)return[null,null];let i;try{i=t.getInitialState()}catch(e){return onUnexpectedError(e),[null,null]}return[t,i]})();if(this._tokenizer=i&&o?new TokenizerWithStateStoreAndTextModel(this._textModel.getLineCount(),i,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{if(2===this._backgroundTokenizationState)return;this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(e,t)=>{if(!this._tokenizer)return;const i=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==i&&e>=i&&this._tokenizer?.store.setEndState(e,t)}};i&&i.createBackgroundTokenizer&&!i.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=i.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new DefaultBackgroundTokenizer(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),i?.backgroundTokenizerShouldOnlyVerifyTokens&&i.createBackgroundTokenizer?(this._debugBackgroundTokens=new ContiguousTokensStore(this._languageIdCodec),this._debugBackgroundStates=new TrackingTokenizationStateStore(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=i.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[e,i]=countEOL(t.text);this._tokens.acceptEdit(t.range,e,i),this._debugBackgroundTokens?.acceptEdit(t.range,e,i)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=LineRange$1.joinMany([...this._attachedViewStates].map(([e,t])=>t.lineRanges));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const i=new ContiguousMultilineTokensBuilder,{heuristicTokens:o}=this._tokenizer.tokenizeHeuristically(i,e,t),n=this.setTokens(i.finalize());if(o)for(const r of n.changes)this._backgroundTokenizer.value?.requestTokens(r.fromLineNumber,r.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new ContiguousMultilineTokensBuilder;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){const t=this._textModel.getLineContent(e),i=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const o=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!i.equals(o)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return i}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;const o=this._textModel.validatePosition(new Position$1(e,t));return this.forceTokenization(o.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(o,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;const o=this._textModel.validatePosition(e);return this.forceTokenization(o.lineNumber),this._tokenizer.tokenizeLineWithEdit(o,t,i)}get hasTokens(){return this._tokens.hasTokens}}class ModelRawFlush{constructor(){this.changeType=1}}class LineInjectedText{static applyInjectedText(e,t){if(!t||0===t.length)return e;let i="",o=0;for(const n of t)i+=e.substring(o,n.column-1),o=n.column-1,i+=n.options.content;return i+=e.substring(o),i}static fromDecorations(e){const t=[];for(const i of e)i.options.before&&i.options.before.content.length>0&&t.push(new LineInjectedText(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new LineInjectedText(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber),t}constructor(e,t,i,o,n){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=o,this.order=n}}class ModelRawLineChanged{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class ModelRawLinesDeleted{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class ModelRawLinesInserted{constructor(e,t,i,o){this.changeType=4,this.injectedTexts=o,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class ModelRawEOLChanged{constructor(){this.changeType=5}}class ModelRawContentChangedEvent{constructor(e,t,i,o){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=o,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;t=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2b=function(e,t){return function(i,o){t(i,o,e)}},TextModel_1;function createTextBufferFactory(e){const t=new PieceTreeTextBufferBuilder;return t.acceptChunk(e),t.finish()}function createTextBufferFactoryFromSnapshot(e){const t=new PieceTreeTextBufferBuilder;let i;for(;"string"==typeof(i=e.read());)t.acceptChunk(i);return t.finish()}function createTextBuffer(e,t){let i;return i="string"==typeof e?createTextBufferFactory(e):isITextSnapshot(e)?createTextBufferFactoryFromSnapshot(e):e,i.create(t)}let MODEL_ID$1=0;const LIMIT_FIND_COUNT=999,LONG_LINE_BOUNDARY=1e4;class TextModelSnapshot{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,i=0;for(;;){const o=this._source.read();if(null===o)return this._eos=!0,0===t?null:e.join("");if(o.length>0&&(e[t++]=o,i+=o.length),i>=65536)return e.join("")}}}const invalidFunc$1=()=>{throw new Error("Invalid change accessor")};let TextModel=class extends Disposable{static{TextModel_1=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:EDITOR_MODEL_DEFAULTS.tabSize,indentSize:EDITOR_MODEL_DEFAULTS.indentSize,insertSpaces:EDITOR_MODEL_DEFAULTS.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,largeFileOptimizations:EDITOR_MODEL_DEFAULTS.largeFileOptimizations,bracketPairColorizationOptions:EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){const i=guessIndentation(e,t.tabSize,t.insertSpaces);return new TextModelResolvedOptions({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new TextModelResolvedOptions(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent(t=>e(t.contentChangedEvent))}onDidChangeContentOrInjectedText(e){return combinedDisposable(this._eventEmitter.fastEvent(t=>e(t)),this._onDidChangeInjectedText.event(t=>e(t)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,i,o=null,n,r,s,a){super(),this._undoRedoService=n,this._languageService=r,this._languageConfigurationService=s,this.instantiationService=a,this._onWillDispose=this._register(new Emitter$1),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new DidChangeDecorationsEmitter(e=>this.handleBeforeFireDecorationsChangedEvent(e))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new Emitter$1),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new Emitter$1),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new Emitter$1),this._eventEmitter=this._register(new DidChangeContentEmitter),this._languageSelectionListener=this._register(new MutableDisposable),this._deltaDecorationCallCnt=0,this._attachedViews=new AttachedViews,MODEL_ID$1++,this.id="$model"+MODEL_ID$1,this.isForSimpleWidget=i.isForSimpleWidget,this._associatedResource=null==o?URI.parse("inmemory://model/"+MODEL_ID$1):o,this._attachedEditorCount=0;const{textBuffer:l,disposable:c}=createTextBuffer(e,i.defaultEOL);this._buffer=l,this._bufferDisposable=c,this._options=TextModel_1.resolveOptions(this._buffer,i);const d="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange(()=>this._setLanguage(t.languageId))),this._bracketPairs=this._register(new BracketPairsTextModelPart(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new GuidesTextModelPart(this,this._languageConfigurationService)),this._decorationProvider=this._register(new ColorizedBracketPairsDecorationProvider(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(TokenizationTextModelPart,this,this._bracketPairs,d,this._attachedViews);const u=this._buffer.getLineCount(),h=this._buffer.getValueLengthInRange(new Range$2(1,1,u,this._buffer.getLineLength(u)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=h>TextModel_1.LARGE_FILE_SIZE_THRESHOLD||u>TextModel_1.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=h>TextModel_1.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=h>TextModel_1._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=singleLetterHash(MODEL_ID$1),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new DecorationsTrees,this._commandManager=new 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(d),this._register(this._languageConfigurationService.onDidChange(e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new PieceTreeTextBuffer([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=Disposable.None}_assertNotDisposed(){if(this._isDisposed)throw new BugIndicatingError("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new InternalModelContentChangeEvent(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw illegalArgument();const{textBuffer:t,disposable:i}=createTextBuffer(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,o,n,r,s,a){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:o}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:n,isRedoing:r,isFlush:s}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const i=this.getFullModelRange(),o=this.getValueLengthInRange(i),n=this.getLineCount(),r=this.getLineMaxColumn(n);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new DecorationsTrees,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new ModelRawContentChangedEvent([new ModelRawFlush],this._versionId,!1,!1),this._createContentChanged2(new Range$2(1,1,n,r),0,o,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),o=this.getValueLengthInRange(i),n=this.getLineCount(),r=this.getLineMaxColumn(n);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new ModelRawContentChangedEvent([new ModelRawEOLChanged],this._versionId,!1,!1),this._createContentChanged2(new Range$2(1,1,n,r),0,o,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,o=t.length;i0}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 e=0,t=0;const i=this._buffer.getLineCount();for(let o=1;o<=i;o++){const i=this._buffer.getLineLength(o);i>=LONG_LINE_BOUNDARY?t+=i:e+=i}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,i=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,o=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,n=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,r=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,s=new TextModelResolvedOptions({tabSize:t,indentSize:i,insertSpaces:o,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:n,bracketPairColorizationOptions:r});if(this._options.equals(s))return;const a=this._options.createChangeEvent(s);this._options=s,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const i=guessIndentation(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),normalizeIndentation(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(UNUSUAL_LINE_TERMINATORS.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(e=>({range:e.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new BugIndicatingError("Operation would exceed heap memory limits");const i=this.getFullModelRange(),o=this.getValueInRange(i,e);return t?this._buffer.getBOM()+o:o}createSnapshot(e=!1){return new TextModelSnapshot(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),o=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+o:o}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new BugIndicatingError("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,o=e.startColumn;let n=Math.floor("number"!=typeof i||isNaN(i)?1:i),r=Math.floor("number"!=typeof o||isNaN(o)?1:o);if(n<1)n=1,r=1;else if(n>t)n=t,r=this.getLineMaxColumn(n);else if(r<=1)r=1;else{const e=this.getLineMaxColumn(n);r>=e&&(r=e)}const s=e.endLineNumber,a=e.endColumn;let l=Math.floor("number"!=typeof s||isNaN(s)?1:s),c=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,c=1;else if(l>t)l=t,c=this.getLineMaxColumn(l);else if(c<=1)c=1;else{const e=this.getLineMaxColumn(l);c>=e&&(c=e)}return i===n&&o===r&&s===l&&a===c&&e instanceof Range$2&&!(e instanceof Selection$1)?e:new Range$2(n,r,l,c)}_isValidPosition(e,t,i){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===i){if(isHighSurrogate(this._buffer.getLineCharCode(e,t-2)))return!1}return!0}_validatePosition(e,t,i){const o=Math.floor("number"!=typeof e||isNaN(e)?1:e),n=Math.floor("number"!=typeof t||isNaN(t)?1:t),r=this._buffer.getLineCount();if(o<1)return new Position$1(1,1);if(o>r)return new Position$1(r,this.getLineMaxColumn(r));if(n<=1)return new Position$1(o,1);const s=this.getLineMaxColumn(o);if(n>=s)return new Position$1(o,s);if(1===i){if(isHighSurrogate(this._buffer.getLineCharCode(o,n-2)))return new Position$1(o,n-1)}return new Position$1(o,n)}validatePosition(e){return this._assertNotDisposed(),e instanceof Position$1&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const i=e.startLineNumber,o=e.startColumn,n=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(i,o,0))return!1;if(!this._isValidPosition(n,r,0))return!1;if(1===t){const e=o>1?this._buffer.getLineCharCode(i,o-2):0,t=r>1&&r<=this._buffer.getLineLength(n)?this._buffer.getLineCharCode(n,r-2):0,s=isHighSurrogate(e),a=isHighSurrogate(t);return!s&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof Range$2&&!(e instanceof Selection$1)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),i=this._validatePosition(e.endLineNumber,e.endColumn,0),o=t.lineNumber,n=t.column,r=i.lineNumber,s=i.column;{const e=n>1?this._buffer.getLineCharCode(o,n-2):0,t=s>1&&s<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,s-2):0,i=isHighSurrogate(e),a=isHighSurrogate(t);return i||a?o===r&&n===s?new Range$2(o,n-1,r,s-1):i&&a?new Range$2(o,n-1,r,s+1):i?new Range$2(o,n-1,r,s):new Range$2(o,n,r,s+1):new Range$2(o,n,r,s)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new Range$2(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,o){return this._buffer.findMatchesLineByLine(e,t,i,o)}findMatches(e,t,i,o,n,r,s=LIMIT_FIND_COUNT){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every(e=>Range$2.isIRange(e))&&(a=t.map(e=>this.validateRange(e)))),null===a&&(a=[this.getFullModelRange()]),a=a.sort((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn);const l=[];let c;if(l.push(a.reduce((e,t)=>Range$2.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t))),!i&&e.indexOf("\n")<0){const t=new SearchParams(e,i,o,n).parseSearchRequest();if(!t)return[];c=e=>this.findMatchesLineByLine(e,t,r,s)}else c=t=>TextModelSearch.findMatches(this,new SearchParams(e,i,o,n),t,r,s);return l.map(c).reduce((e,t)=>e.concat(t),[])}findNextMatch(e,t,i,o,n,r){this._assertNotDisposed();const s=this.validatePosition(t);if(!i&&e.indexOf("\n")<0){const t=new SearchParams(e,i,o,n).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new Range$2(s.lineNumber,s.column,a,this.getLineMaxColumn(a)),c=this.findMatchesLineByLine(l,t,r,1);return TextModelSearch.findNextMatch(this,new SearchParams(e,i,o,n),s,r),c.length>0?c[0]:(l=new Range$2(1,1,s.lineNumber,this.getLineMaxColumn(s.lineNumber)),c=this.findMatchesLineByLine(l,t,r,1),c.length>0?c[0]:null)}return TextModelSearch.findNextMatch(this,new SearchParams(e,i,o,n),s,r)}findPreviousMatch(e,t,i,o,n,r){this._assertNotDisposed();const s=this.validatePosition(t);return TextModelSearch.findPreviousMatch(this,new SearchParams(e,i,o,n),s,r)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof ValidAnnotatedEditOperation?e:new ValidAnnotatedEditOperation(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,o=e.length;i({range:this.validateRange(e.range),text:e.text}));let o=!0;if(e)for(let t=0,n=e.length;tn.endLineNumber,s=n.startLineNumber>t.endLineNumber;if(!o&&!s){r=!0;break}}if(!r){o=!1;break}}if(o)for(let e=0,n=this._trimAutoWhitespaceLines.length;et.endLineNumber)&&!(o===t.startLineNumber&&t.startColumn===n&&t.isEmpty()&&s&&s.length>0&&"\n"===s.charAt(0)||o===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&s&&s.length>0&&"\n"===s.charAt(s.length-1))){r=!1;break}}if(r){const e=new Range$2(o,1,o,n);t.push(new ValidAnnotatedEditOperation(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,o)}_applyUndo(e,t,i,o){const n=e.map(e=>{const t=this.getPositionAt(e.newPosition),i=this.getPositionAt(e.newEnd);return{range:new Range$2(t.lineNumber,t.column,i.lineNumber,i.column),text:e.oldText}});this._applyUndoRedoEdits(n,t,!0,!1,i,o)}_applyRedo(e,t,i,o){const n=e.map(e=>{const t=this.getPositionAt(e.oldPosition),i=this.getPositionAt(e.oldEnd);return{range:new Range$2(t.lineNumber,t.column,i.lineNumber,i.column),text:e.newText}});this._applyUndoRedoEdits(n,t,!1,!0,i,o)}_applyUndoRedoEdits(e,t,i,o,n,r){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=o,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(n)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(r),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const i=this._buffer.getLineCount(),o=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),n=this._buffer.getLineCount(),r=o.changes;if(this._trimAutoWhitespaceLines=o.trimAutoWhitespaceLineNumbers,0!==r.length){for(let i=0,o=r.length;i=0;t--){const i=a+t,o=p+t;b.takeFromEndWhile(e=>e.lineNumber>o);const n=b.takeFromEndWhile(e=>e.lineNumber===o);e.push(new ModelRawLineChanged(i,this.getLineContent(o),n))}if(ue.lineNumbere.lineNumber===t)}e.push(new ModelRawLinesInserted(o+1,a+d,c,l))}t+=h}this._emitContentChangedEvent(new ModelRawContentChangedEvent(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:r,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===o.reverseEdits?void 0:o.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(e){if(null===e||0===e.size)return;const t=Array.from(e).map(e=>new ModelRawLineChanged(e,this.getLineContent(e),this._getInjectedTextInLine(e)));this._onDidChangeInjectedText.fire(new ModelInjectedTextChangedEvent(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(t,i){const o={addDecoration:(e,i)=>this._deltaDecorationsImpl(t,[],[{range:e,options:i}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,_normalizeOptions(t))},removeDecoration:e=>{this._deltaDecorationsImpl(t,[e],[])},deltaDecorations:(e,i)=>0===e.length&&0===i.length?[]:this._deltaDecorationsImpl(t,e,i)};let n=null;try{n=i(o)}catch(e){onUnexpectedError(e)}return o.addDecoration=invalidFunc$1,o.changeDecoration=invalidFunc$1,o.changeDecorationOptions=invalidFunc$1,o.removeDecoration=invalidFunc$1,o.deltaDecorations=invalidFunc$1,n}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),onUnexpectedError(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){const o=e?this._decorations[e]:null;if(!o)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:TRACKED_RANGE_OPTIONS[i]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(o),delete this._decorations[o.id],null;const n=this._validateRangeRelaxedNoAllocations(t),r=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),s=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);return this._decorationsTree.delete(o),o.reset(this.getVersionId(),r,s,n),o.setOptions(TRACKED_RANGE_OPTIONS[i]),this._decorationsTree.insert(o),o.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let i=0,o=t.length;ithis.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,o=!1,n=!1){const r=this.getLineCount(),s=Math.min(r,Math.max(1,e)),a=Math.min(r,Math.max(1,t)),l=this.getLineMaxColumn(a),c=new Range$2(s,1,a,l),d=this._getDecorationsInRange(c,i,o,n);return pushMany(d,this._decorationProvider.getDecorationsInRange(c,i,o)),d}getDecorationsInRange(e,t=0,i=!1,o=!1,n=!1){const r=this.validateRange(e),s=this._getDecorationsInRange(r,t,i,n);return pushMany(s,this._decorationProvider.getDecorationsInRange(r,t,i,o)),s}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),o=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return LineInjectedText.fromDecorations(o).filter(t=>t.lineNumber===e)}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1,!1);return i=i.concat(this._decorationProvider.getAllDecorations(e,t)),i}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,i,o){const n=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),r=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,n,r,t,i,o)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const i=this._decorations[e];if(!i)return;if(i.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(i.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const o=this._validateRangeRelaxedNoAllocations(t),n=this._buffer.getOffsetAt(o.startLineNumber,o.startColumn),r=this._buffer.getOffsetAt(o.endLineNumber,o.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),n,r,o),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(o.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(o.startLineNumber)}_changeDecorationOptionsImpl(e,t){const i=this._decorations[e];if(!i)return;const o=!(!i.options.overviewRuler||!i.options.overviewRuler.color),n=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(i.options),this._onDidChangeDecorations.checkAffectedAndFire(t),i.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(i.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const r=o!==n,s=isOptionsInjectedText(t)!==isNodeInjectedText(i);r||s?(this._decorationsTree.delete(i),i.setOptions(t),this._decorationsTree.insert(i)):i.setOptions(t)}_deltaDecorationsImpl(e,t,i,o=!1){const n=this.getVersionId(),r=t.length;let s=0;const a=i.length;let l=0;this._onDidChangeDecorations.beginDeferredEmit();try{const c=new Array(a);for(;sthis._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return indentOfLine(this.getLineContent(e))+1}};function indentOfLine(e){let t=0;for(const i of e){if(" "!==i&&"\t"!==i)break;t++}return t}function isNodeInOverviewRuler(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function isOptionsInjectedText(e){return!!e.after||!!e.before}function isNodeInjectedText(e){return!!e.options.after||!!e.options.before}TextModel=TextModel_1=__decorate$2i([__param$2b(4,IUndoRedoService),__param$2b(5,ILanguageService),__param$2b(6,ILanguageConfigurationService),__param$2b(7,IInstantiationService)],TextModel);class DecorationsTrees{constructor(){this._decorationsTree0=new IntervalTree,this._decorationsTree1=new IntervalTree,this._injectedTextDecorationsTree=new IntervalTree}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const i of t)null===i.range&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,o,n,r){const s=e.getVersionId(),a=this._intervalSearch(t,i,o,n,s,r);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,i,o,n,r){const s=this._decorationsTree0.intervalSearch(e,t,i,o,n,r),a=this._decorationsTree1.intervalSearch(e,t,i,o,n,r),l=this._injectedTextDecorationsTree.intervalSearch(e,t,i,o,n,r);return s.concat(a).concat(l)}getInjectedTextInInterval(e,t,i,o){const n=e.getVersionId(),r=this._injectedTextDecorationsTree.intervalSearch(t,i,o,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAllInjectedText(e,t){const i=e.getVersionId(),o=this._injectedTextDecorationsTree.search(t,!1,i,!1);return this._ensureNodesHaveRanges(e,o).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAll(e,t,i,o,n){const r=e.getVersionId(),s=this._search(t,i,o,r,n);return this._ensureNodesHaveRanges(e,s)}_search(e,t,i,o,n){if(i)return this._decorationsTree1.search(e,t,o,n);{const i=this._decorationsTree0.search(e,t,o,n),r=this._decorationsTree1.search(e,t,o,n),s=this._injectedTextDecorationsTree.search(e,t,o,n);return i.concat(r).concat(s)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),o=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(o)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){isNodeInjectedText(e)?this._injectedTextDecorationsTree.insert(e):isNodeInOverviewRuler(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){isNodeInjectedText(e)?this._injectedTextDecorationsTree.delete(e):isNodeInOverviewRuler(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){isNodeInjectedText(e)?this._injectedTextDecorationsTree.resolveNode(e,t):isNodeInOverviewRuler(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,o){this._decorationsTree0.acceptReplace(e,t,i,o),this._decorationsTree1.acceptReplace(e,t,i,o),this._injectedTextDecorationsTree.acceptReplace(e,t,i,o)}}function cleanClassName(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class DecorationOptions{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class ModelDecorationOverviewRulerOptions extends DecorationOptions{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:OverviewRulerLane.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const i=e?t.getColor(e.id):null;return i?i.toString():""}}class ModelDecorationGlyphMarginOptions{constructor(e){this.position=e?.position??GlyphMarginLane.Center,this.persistLane=e?.persistLane}}class ModelDecorationMinimapOptions extends DecorationOptions{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?Color$1.fromHex(e):t.getColor(e.id)}}class ModelDecorationInjectedTextOptions{static from(e){return e instanceof ModelDecorationInjectedTextOptions?e:new ModelDecorationInjectedTextOptions(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class ModelDecorationOptions{static register(e){return new ModelDecorationOptions(e)}static createDynamic(e){return new ModelDecorationOptions(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?cleanClassName(e.blockClassName):null,this.blockDoesNotCollapse=e.blockDoesNotCollapse??null,this.blockIsAfterEnd=e.blockIsAfterEnd??null,this.blockPadding=e.blockPadding??null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?cleanClassName(e.className):null,this.shouldFillLineOnLineBreak=e.shouldFillLineOnLineBreak??null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new ModelDecorationOverviewRulerOptions(e.overviewRuler):null,this.minimap=e.minimap?new ModelDecorationMinimapOptions(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new ModelDecorationGlyphMarginOptions(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?cleanClassName(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?cleanClassName(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?cleanClassName(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?htmlAttributeEncodeValue(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?cleanClassName(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?cleanClassName(e.marginClassName):null,this.inlineClassName=e.inlineClassName?cleanClassName(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?cleanClassName(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?cleanClassName(e.afterContentClassName):null,this.after=e.after?ModelDecorationInjectedTextOptions.from(e.after):null,this.before=e.before?ModelDecorationInjectedTextOptions.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}ModelDecorationOptions.EMPTY=ModelDecorationOptions.register({description:"empty"});const TRACKED_RANGE_OPTIONS=[ModelDecorationOptions.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),ModelDecorationOptions.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),ModelDecorationOptions.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),ModelDecorationOptions.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function _normalizeOptions(e){return e instanceof ModelDecorationOptions?e:ModelDecorationOptions.createDynamic(e)}class DidChangeDecorationsEmitter extends Disposable{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new Emitter$1),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--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){this._affectsMinimap||=!!e.minimap?.position,this._affectsOverviewRuler||=!!e.overviewRuler?.color,this._affectsGlyphMargin||=!!e.glyphMarginClassName,this._affectsLineNumber||=!!e.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={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(e)}}class DidChangeContentEmitter extends Disposable{constructor(){super(),this._fastEmitter=this._register(new Emitter$1),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new Emitter$1),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}var __decorate$2h=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2a=function(e,t){return function(i,o){t(i,o,e)}},ModelService_1;function MODEL_ID(e){return e.toString()}let ModelData$1=class{constructor(e,t,i){this.model=e,this._modelEventListeners=new DisposableStore,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(t=>i(e,t)))}dispose(){this._modelEventListeners.dispose()}};const DEFAULT_EOL=isLinux||isMacintosh?1:2;class DisposedModelInfo{constructor(e,t,i,o,n,r,s,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=o,this.heapSize=n,this.sha1=r,this.versionId=s,this.alternativeVersionId=a}}let ModelService=class extends Disposable{static{ModelService_1=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(e,t,i,o){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._instantiationService=o,this._onModelAdded=this._register(new Emitter$1),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new Emitter$1),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new Emitter$1),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(e=>this._updateModelOptions(e))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let i=EDITOR_MODEL_DEFAULTS.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(i=t),i<1&&(i=1)}let o="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(o=Math.max(t,1))}let n=EDITOR_MODEL_DEFAULTS.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(n="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let r=DEFAULT_EOL;const s=e.eol;"\r\n"===s?r=2:"\n"===s&&(r=1);let a=EDITOR_MODEL_DEFAULTS.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let l=EDITOR_MODEL_DEFAULTS.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let c=EDITOR_MODEL_DEFAULTS.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(c="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let d=EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(d={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:i,indentSize:o,insertSpaces:n,detectIndentation:l,defaultEOL:r,trimAutoWhitespace:a,largeFileOptimizations:c,bracketPairColorizationOptions:d}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&"string"==typeof i&&"auto"!==i?i:3===OS||2===OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,i){const o="string"==typeof e?e:e.languageId;let n=this._modelCreationOptionsByLanguageAndResource[o+t];if(!n){const e=this._configurationService.getValue("editor",{overrideIdentifier:o,resource:t}),r=this._getEOL(t,o);n=ModelService_1._readModelOptions({editor:e,eol:r},i),this._modelCreationOptionsByLanguageAndResource[o+t]=n}return n}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let o=0,n=i.length;oe){const t=[];for(this._disposedModels.forEach(e=>{e.sharesUndoRedoStack||t.push(e)}),t.sort((e,t)=>e.time-t.time);t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,o){const n=this.getCreationOptions(t,i,o),r=this._instantiationService.createInstance(TextModel,e,t,n,i);if(i&&this._disposedModels.has(MODEL_ID(i))){const e=this._removeDisposedModel(i),t=this._undoRedoService.getElements(i),o=this._getSHA1Computer(),n=!!o.canComputeSHA1(r)&&o.computeSHA1(r)===e.sha1;if(n||e.sharesUndoRedoStack){for(const e of t.past)isEditStackElement(e)&&e.matchesResource(i)&&e.setModel(r);for(const e of t.future)isEditStackElement(e)&&e.matchesResource(i)&&e.setModel(r);this._undoRedoService.setElementsValidFlag(i,!0,e=>isEditStackElement(e)&&e.matchesResource(i)),n&&(r._overwriteVersionId(e.versionId),r._overwriteAlternativeVersionId(e.alternativeVersionId),r._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const s=MODEL_ID(r.uri);if(this._models[s])throw new Error("ModelService: Cannot add model because it already exists!");const a=new ModelData$1(r,e=>this._onWillDispose(e),(e,t)=>this._onDidChangeLanguage(e,t));return this._models[s]=a,a}createModel(e,t,i,o=!1){let n;return n=t?this._createModelData(e,t,i,o):this._createModelData(e,PLAINTEXT_LANGUAGE_ID,i,o),this._onModelAdded.fire(n.model),n.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,o=t.length;i0||t.future.length>0){for(const i of t.past)isEditStackElement(i)&&i.matchesResource(e.uri)&&(n=!0,r+=i.heapSize(e.uri),i.setModel(e.uri));for(const i of t.future)isEditStackElement(i)&&i.matchesResource(e.uri)&&(n=!0,r+=i.heapSize(e.uri),i.setModel(e.uri))}}const s=ModelService_1.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,a=this._getSHA1Computer();if(n)if(o||!(r>s)&&a.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(s-r),this._undoRedoService.setElementsValidFlag(e.uri,!1,t=>isEditStackElement(t)&&t.matchesResource(e.uri)),this._insertDisposedModel(new DisposedModelInfo(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),o,r,a.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=i.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!o){const e=i.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],i.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const i=t.oldLanguage,o=e.getLanguageId(),n=this.getCreationOptions(i,e.uri,e.isForSimpleWidget),r=this.getCreationOptions(o,e.uri,e.isForSimpleWidget);ModelService_1._setModelOptionsForModel(e,r,n),this._onModelModeChanged.fire({model:e,oldLanguageId:i})}_getSHA1Computer(){return new DefaultModelSHA1Computer}};ModelService=ModelService_1=__decorate$2h([__param$2a(0,IConfigurationService),__param$2a(1,ITextResourcePropertiesService),__param$2a(2,IUndoRedoService),__param$2a(3,IInstantiationService)],ModelService);class DefaultModelSHA1Computer{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(e){return e.getValueLength()<=DefaultModelSHA1Computer.MAX_MODEL_SIZE}computeSHA1(e){const t=new StringSHA1,i=e.createSnapshot();let o;for(;o=i.read();)t.update(o);return t.digest()}}var DefaultQuickAccessFilterValue;!function(e){e[e.PRESERVE=0]="PRESERVE",e[e.LAST=1]="LAST"}(DefaultQuickAccessFilterValue||(DefaultQuickAccessFilterValue={}));const Extensions$2={Quickaccess:"workbench.contributions.quickaccess"};class QuickAccessRegistry{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return 0===e.prefix.length?this.defaultProvider=e:this.providers.push(e),this.providers.sort((e,t)=>t.prefix.length-e.prefix.length),toDisposable(()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return coalesce([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find(t=>e.startsWith(t.prefix))||void 0||this.defaultProvider}}Registry.add(Extensions$2.Quickaccess,new QuickAccessRegistry);const NO_KEY_MODS={ctrlCmd:!1,alt:!1};var QuickInputHideReason,ItemActivation,QuickPickFocus,QuickInputButtonLocation;!function(e){e[e.Blur=1]="Blur",e[e.Gesture=2]="Gesture",e[e.Other=3]="Other"}(QuickInputHideReason||(QuickInputHideReason={})),function(e){e[e.NONE=0]="NONE",e[e.FIRST=1]="FIRST",e[e.SECOND=2]="SECOND",e[e.LAST=3]="LAST"}(ItemActivation||(ItemActivation={})),function(e){e[e.First=1]="First",e[e.Second=2]="Second",e[e.Last=3]="Last",e[e.Next=4]="Next",e[e.Previous=5]="Previous",e[e.NextPage=6]="NextPage",e[e.PreviousPage=7]="PreviousPage",e[e.NextSeparator=8]="NextSeparator",e[e.PreviousSeparator=9]="PreviousSeparator"}(QuickPickFocus||(QuickPickFocus={})),function(e){e[e.Title=1]="Title",e[e.Inline=2]="Inline"}(QuickInputButtonLocation||(QuickInputButtonLocation={}));const IQuickInputService=createDecorator("quickInputService");var __decorate$2g=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$29=function(e,t){return function(i,o){t(i,o,e)}};let QuickAccessController=class extends Disposable{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=Registry.as(Extensions$2.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,i){const[o,n]=this.getOrInstantiateProvider(e,i?.enabledProviderPrefixes),r=this.visibleQuickAccess,s=r?.descriptor;if(r&&n&&s===n)return e===n.prefix||i?.preserveValue||(r.picker.value=e),void this.adjustValueSelection(r.picker,n,i);if(n&&!i?.preserveValue){let t;if(r&&s&&s!==n){const e=r.value.substr(s.prefix.length);e&&(t=`${n.prefix}${e}`)}if(!t){const e=o?.defaultFilterValue;e===DefaultQuickAccessFilterValue.LAST?t=this.lastAcceptedPickerValues.get(n):"string"==typeof e&&(t=`${n.prefix}${e}`)}"string"==typeof t&&(e=t)}const a=r?.picker?.valueSelection,l=r?.picker?.value,c=new DisposableStore,d=c.add(this.quickInputService.createQuickPick({useSeparators:!0}));let u;d.value=e,this.adjustValueSelection(d,n,i),d.placeholder=i?.placeholder??n?.placeholder,d.quickNavigate=i?.quickNavigateConfiguration,d.hideInput=!!d.quickNavigate&&!r,("number"==typeof i?.itemActivation||i?.quickNavigateConfiguration)&&(d.itemActivation=i?.itemActivation??ItemActivation.SECOND),d.contextKey=n?.contextKey,d.filterValue=e=>e.substring(n?n.prefix.length:0),t&&(u=new DeferredPromise,c.add(Event$1.once(d.onWillAccept)(e=>{e.veto(),d.hide()}))),c.add(this.registerPickerListeners(d,o,n,e,i));const h=c.add(new CancellationTokenSource$1);return o&&c.add(o.provide(d,h.token,i?.providerOptions)),Event$1.once(d.onDidHide)(()=>{0===d.selectedItems.length&&h.cancel(),c.dispose(),u?.complete(d.selectedItems.slice(0))}),d.show(),a&&l===e&&(d.valueSelection=a),t?u?.p:void 0}adjustValueSelection(e,t,i){let o;o=i?.preserveValue?[e.value.length,e.value.length]:[t?.prefix.length??0,e.value.length],e.valueSelection=o}registerPickerListeners(e,t,i,o,n){const r=new DisposableStore,s=this.visibleQuickAccess={picker:e,descriptor:i,value:o};return r.add(toDisposable(()=>{s===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),r.add(e.onDidChangeValue(e=>{const[i]=this.getOrInstantiateProvider(e,n?.enabledProviderPrefixes);i!==t?this.show(e,{enabledProviderPrefixes:n?.enabledProviderPrefixes,preserveValue:!0,providerOptions:n?.providerOptions}):s.value=e})),i&&r.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(i,e.value)})),r}getOrInstantiateProvider(e,t){const i=this.registry.getQuickAccessProvider(e);if(!i||t&&!t?.includes(i.prefix))return[void 0,void 0];let o=this.mapProviderToDescriptor.get(i);return o||(o=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,o)),[o,i]}};QuickAccessController=__decorate$2g([__param$29(0,IQuickInputService),__param$29(1,IInstantiationService)],QuickAccessController);class Toggle extends Widget$1{constructor(e){super(),this._onChange=this._register(new Emitter$1),this.onChange=this._onChange.event,this._onKeyDown=this._register(new Emitter$1),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const t=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,t.push(...ThemeIcon.asClassNameArray(this._icon))),this._opts.actionClassName&&t.push(...this._opts.actionClassName.split(" ")),this._checked&&t.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(getBaseLayerHoverDelegate().setupManagedHover(e.hoverDelegate??getDefaultHoverDelegate("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...t),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,e=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),e.preventDefault())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,e=>{if(10===e.keyCode||3===e.keyCode)return this.checked=!this._checked,this._onChange.fire(!0),e.preventDefault(),void e.stopPropagation();this._onKeyDown.fire(e)})}get enabled(){return"true"!==this.domNode.getAttribute("aria-disabled")}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,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))}}var __decorate$2f=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};class LinkedText{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>"string"==typeof e?e:e.label).join("")}}__decorate$2f([memoize$1],LinkedText.prototype,"toString",null);const LINK_REGEX=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function parseLinkedText(e){const t=[];let i,o=0;for(;i=LINK_REGEX.exec(e);){i.index-o>0&&t.push(e.substring(o,i.index));const[,n,r,,s]=i;s?t.push({label:n,href:r,title:s}):t.push({label:n,href:r}),o=i.index+i[0].length}return o{isEventLike(e)&&EventHelper$1.stop(e,!0),i.callback(r.href)},a=i.disposables.add(new DomEmitter(o,EventType$1.CLICK)).event,l=i.disposables.add(new DomEmitter(o,EventType$1.KEY_DOWN)).event,c=Event$1.chain(l,e=>e.filter(e=>{const t=new StandardKeyboardEvent(e);return t.equals(10)||t.equals(3)}));i.disposables.add(Gesture.addTarget(o));const d=i.disposables.add(new DomEmitter(o,EventType.Tap)).event;Event$1.any(a,d,c)(s,null,i.disposables),t.appendChild(o)}}var __decorate$2e=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$28=function(e,t){return function(i,o){t(i,o,e)}};const inQuickInputContextKeyValue="inQuickInput",InQuickInputContextKey=new RawContextKey(inQuickInputContextKeyValue,!1,localize("inQuickInput","Whether keyboard focus is inside the quick input control")),inQuickInputContext=ContextKeyExpr.has(inQuickInputContextKeyValue),quickInputTypeContextKeyValue="quickInputType",QuickInputTypeContextKey=new RawContextKey(quickInputTypeContextKeyValue,void 0,localize("quickInputType","The type of the currently visible quick input")),endOfQuickInputBoxContextKeyValue="cursorAtEndOfQuickInputBox",EndOfQuickInputBoxContextKey=new RawContextKey(endOfQuickInputBoxContextKeyValue,!1,localize("cursorAtEndOfQuickInputBox","Whether the cursor in the quick input is at the end of the input box")),endOfQuickInputBoxContext=ContextKeyExpr.has(endOfQuickInputBoxContextKeyValue),backButton={iconClass:ThemeIcon.asClassName(Codicon.quickInputBack),tooltip:localize("quickInput.back","Back")};class QuickInput extends Disposable{static{this.noPromptMessage=localize("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel")}constructor(e){super(),this.ui=e,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=QuickInput.noPromptMessage,this._severity=Severity$2.Ignore,this.onDidTriggerButtonEmitter=this._register(new Emitter$1),this.onDidHideEmitter=this._register(new Emitter$1),this.onWillHideEmitter=this._register(new Emitter$1),this.onDisposeEmitter=this._register(new Emitter$1),this.visibleDisposables=this._register(new DisposableStore),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!isIOS$1;this._ignoreFocusOut=e&&!isIOS$1,t&&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(e){this._leftButtons=e.filter(e=>e===backButton),this._rightButtons=e.filter(e=>e!==backButton&&e.location!==QuickInputButtonLocation.Inline),this._inlineButtons=e.filter(e=>e.location===QuickInputButtonLocation.Inline),this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=e??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{-1!==this.buttons.indexOf(e)&&this.onDidTriggerButtonEmitter.fire(e)})),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(e=QuickInputHideReason.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=QuickInputHideReason.Other){this.onWillHideEmitter.fire({reason:e})}update(){if(!this.visible)return;const e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:e||" "===this.ui.title.innerHTML||(this.ui.title.innerText=" ");const t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?reset(this.ui.widget,this._widget):reset(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new 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 e=this._leftButtons.map((e,t)=>quickInputButtonToAction(e,`id-${t}`,async()=>this.onDidTriggerButtonEmitter.fire(e)));this.ui.leftActionBar.push(e,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const t=this._rightButtons.map((e,t)=>quickInputButtonToAction(e,`id-${t}`,async()=>this.onDidTriggerButtonEmitter.fire(e)));this.ui.rightActionBar.push(t,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();const i=this._inlineButtons.map((e,t)=>quickInputButtonToAction(e,`id-${t}`,async()=>this.onDidTriggerButtonEmitter.fire(e)));this.ui.inlineActionBar.push(i,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const e=this.toggles?.filter(e=>e instanceof Toggle)??[];this.ui.inputBox.toggles=e}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const i=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==i&&(this._lastValidationMessage=i,reset(this.ui.message),renderQuickInputDescription(i,this.ui.message,{callback:e=>{this.ui.linkOpenerDelegate(e)},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?localize("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==Severity$2.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:"",this.ui.message.style.backgroundColor=t.background?`${t.background}`:"",this.ui.message.style.border=t.border?`1px solid ${t.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 QuickPick extends QuickInput{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new Emitter$1),this.onWillAcceptEmitter=this._register(new Emitter$1),this.onDidAcceptEmitter=this._register(new Emitter$1),this.onDidCustomEmitter=this._register(new Emitter$1),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=ItemActivation.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new Emitter$1),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new Emitter$1),this.onDidTriggerItemButtonEmitter=this._register(new Emitter$1),this.onDidTriggerSeparatorButtonEmitter=this._register(new Emitter$1),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this._focusEventBufferer=new EventBufferer,this.type="quickPick",this.filterValue=e=>e,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=localize("quickInputBox.ariaLabel","Type to narrow down results.")}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){if(this._value!==e){if(this._value=e,t||this.update(),this.visible){this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst()}this.onDidChangeValueEmitter.fire(this._value)}}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?NO_KEY_MODS:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(QuickPickFocus.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!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,(e,t)=>t)(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&equals$2(e,this._activeItems,(e,t)=>e===t)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{this.canSelectMany?e.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&equals$2(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(isMouseEvent$1(t)&&1===t.button))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{this.canSelectMany&&this.visible&&(this.selectedItemsToConfirm!==this._selectedItems&&equals$2(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(e=>this.onDidTriggerSeparatorButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return addDisposableListener(this.ui.container,EventType$1.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new StandardKeyboardEvent(e),i=t.keyCode;this._quickNavigate.keybindings.some(e=>{const o=e.getChords();return!(o.length>1)&&(o[0].shiftKey&&4===i?!(t.ctrlKey||t.altKey||t.metaKey):!(!o[0].altKey||6!==i)||(!(!o[0].ctrlKey||5!==i)||!(!o[0].metaKey||57!==i)))})&&(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 e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,i={title:!!this.title||!!this.step||!!this.titleButtons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(i),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 o=this.ariaLabel;!o&&i.inputBox&&(o=this.placeholder||QuickPick.DEFAULT_ARIA_LABEL,this.title&&(o+=` - ${this.title}`)),this.ui.list.ariaLabel!==o&&(this.ui.list.ariaLabel=o??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 ItemActivation.NONE:this._itemActivation=ItemActivation.FIRST;break;case ItemActivation.SECOND:this.ui.list.focus(QuickPickFocus.Second),this._itemActivation=ItemActivation.FIRST;break;case ItemActivation.LAST:this.ui.list.focus(QuickPickFocus.Last),this._itemActivation=ItemActivation.FIRST;break;default:this.trySelectFirst()}})),this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",i.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(QuickPickFocus.First)),this.keepScrollPosition&&(this.scrollTop=e)}focus(e){this.ui.list.focus(e),this.canSelectMany&&this.ui.list.domFocus()}accept(e){e&&!this._canAcceptInBackground||this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(e??!1))}}let InputBox$1=class extends QuickInput{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new Emitter$1),this.onDidAcceptEmitter=this._register(new Emitter$1),this.type="inputBox",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))})),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 e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}},QuickInputHoverDelegate=class extends WorkbenchHoverDelegate{constructor(e,t){super("element",!1,e=>this.getOverrideOptions(e),e,t)}getOverrideOptions(e){return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(isHTMLElement$1(e.content)?e.content.textContent??"":"string"==typeof e.content?e.content:e.content.value).includes("\n"),skipFadeInAnimation:!0}}}};QuickInputHoverDelegate=__decorate$2e([__param$28(0,IConfigurationService),__param$28(1,IHoverService)],QuickInputHoverDelegate),Color$1.white.toString(),Color$1.white.toString();let Button$1=class extends Disposable{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new Emitter$1),this._onDidEscape=this._register(new Emitter$1),this.options=t,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",!!t.secondary);const i=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,o=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=o||"",this._element.style.backgroundColor=i||"",t.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")),"string"==typeof t.title&&this.setTitle(t.title),"string"==typeof t.ariaLabel&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(Gesture.addTarget(this._element)),[EventType$1.CLICK,EventType.Tap].forEach(e=>{this._register(addDisposableListener(this._element,e,e=>{this.enabled?this._onDidClick.fire(e):EventHelper$1.stop(e)}))}),this._register(addDisposableListener(this._element,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);let i=!1;this.enabled&&(t.equals(3)||t.equals(10))?(this._onDidClick.fire(e),i=!0):t.equals(9)&&(this._onDidEscape.fire(e),this._element.blur(),i=!0),i&&EventHelper$1.stop(t,!0)})),this._register(addDisposableListener(this._element,EventType$1.MOUSE_OVER,e=>{this._element.classList.contains("disabled")||this.updateBackground(!0)})),this._register(addDisposableListener(this._element,EventType$1.MOUSE_OUT,e=>{this.updateBackground(!1)})),this.focusTracker=this._register(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(e){const t=[];for(let i of renderLabelWithIcons(e))if("string"==typeof i){if(i=i.trim(),""===i)continue;const e=document.createElement("span");e.textContent=i,t.push(e)}else t.push(i);return t}updateBackground(e){let t;t=this.options.secondary?e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){if(this._label===e)return;if(isMarkdownString(this._label)&&isMarkdownString(e)&&markdownStringEqual(this._label,e))return;this._element.classList.add("monaco-text-button");const t=this.options.supportShortLabel?this._labelElement:this._element;if(isMarkdownString(e)){const i=renderMarkdown(e,{inline:!0});i.dispose();const o=i.element.querySelector("p")?.innerHTML;if(o){const e=sanitize$1(o,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});t.innerHTML=e}else reset(t)}else this.options.supportIcons?reset(t,...this.getContentElements(e)):t.textContent=e;let i="";"string"==typeof this.options.title?i=this.options.title:this.options.title&&(i=renderStringAsPlaintext(e)),this.setTitle(i),"string"==typeof this.options.ariaLabel?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",i),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...ThemeIcon.asClassNameArray(e))}set enabled(e){e?(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(e){this._hover||""===e?this._hover&&this._hover.update(e):this._hover=this._register(getBaseLayerHoverDelegate().setupManagedHover(this.options.hoverDelegate??getDefaultHoverDelegate("mouse"),this._element,e))}};class CountBadge{constructor(e,t,i){this.options=t,this.styles=i,this.count=0,this.element=append$2(e,$$f(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){this.element.textContent=format$1(this.countFormat,this.count),this.element.title=format$1(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}`)}}const CSS_DONE="done",CSS_ACTIVE="active",CSS_INFINITE="infinite",CSS_INFINITE_LONG_RUNNING="infinite-long-running",CSS_DISCRETE="discrete";class ProgressBar extends Disposable{static{this.LONG_RUNNING_INFINITE_THRESHOLD=1e4}constructor(e,t){super(),this.progressSignal=this._register(new MutableDisposable),this.workedVal=0,this.showDelayedScheduler=this._register(new RunOnceScheduler(()=>show(this.element),0)),this.longRunningScheduler=this._register(new RunOnceScheduler(()=>this.infiniteLongRunning(),ProgressBar.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.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(CSS_ACTIVE,CSS_INFINITE,CSS_INFINITE_LONG_RUNNING,CSS_DISCRETE),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(CSS_DONE),this.element.classList.contains(CSS_INFINITE)?(this.bit.style.opacity="0",e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(CSS_DISCRETE,CSS_DONE,CSS_INFINITE_LONG_RUNNING),this.element.classList.add(CSS_ACTIVE,CSS_INFINITE),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(CSS_INFINITE_LONG_RUNNING)}getContainer(){return this.element}}const NLS_CASE_SENSITIVE_TOGGLE_LABEL=localize("caseDescription","Match Case"),NLS_WHOLE_WORD_TOGGLE_LABEL=localize("wordsDescription","Match Whole Word"),NLS_REGEX_TOGGLE_LABEL=localize("regexDescription","Use Regular Expression");class CaseSensitiveToggle extends Toggle{constructor(e){super({icon:Codicon.caseSensitive,title:NLS_CASE_SENSITIVE_TOGGLE_LABEL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??getDefaultHoverDelegate("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class WholeWordsToggle extends Toggle{constructor(e){super({icon:Codicon.wholeWord,title:NLS_WHOLE_WORD_TOGGLE_LABEL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??getDefaultHoverDelegate("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class RegexToggle extends Toggle{constructor(e){super({icon:Codicon.regex,title:NLS_REGEX_TOGGLE_LABEL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??getDefaultHoverDelegate("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class ArrayNavigator{constructor(e,t=0,i=e.length,o=t-1){this.items=e,this.start=t,this.end=i,this.index=o}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class HistoryNavigator{constructor(e=[],t=10){this._initialize(e),this._limit=t,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 0!==this._currentPosition()?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return null===this._navigator.current()}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new 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 t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach(t=>e.push(t)),e}}const $$b=$$f;class InputBox extends Widget$1{constructor(e,t,i){super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new Emitter$1),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=i,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=append$2(e,$$b(".monaco-inputbox.idle"));const o=this.options.flexibleHeight?"textarea":"input",n=append$2(this.element,$$b(".ibwrapper"));if(this.input=append$2(n,$$b(o+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=append$2(n,$$b("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new ScrollableElement(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),append$2(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(e=>this.input.scrollTop=e.scrollTop));const t=this._register(new DomEmitter(e.ownerDocument,"selectionchange")),i=Event$1.filter(t.event,()=>{const t=e.ownerDocument.getSelection();return t?.anchorNode===n});this._register(i(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 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(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:getTotalHeight(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return isActiveElement(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.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 e=this.input.selectionStart;if(null===e)return null;return{start:e,end:this.input.selectionEnd??e}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,i=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:i})}showMessage(e,t){if("open"===this.state&&equals$1(this.message,e))return;this.message=e,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(e.type));const i=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${asCssValueWithDefault(i.border,"transparent")}`,this.message.content&&(this.hasFocus()||t)&&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 e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),e?.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=getTotalWidth(this.element)+"px";let i;this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:i=>{if(!this.message)return null;e=append$2(i,$$b(".monaco-inputbox-container")),t();const o={inline:!0,className:"monaco-inputbox-message"},n=this.message.formatContent?renderFormattedText(this.message.content,o):renderText(this.message.content,o);n.classList.add(this.classForType(this.message.type));const r=this.stylesForType(this.message.type);return n.style.backgroundColor=r.background??"",n.style.color=r.foreground??"",n.style.border=r.border?`1px solid ${r.border}`:"",append$2(e,n),null},onHide:()=>{this.state="closed"},layout:t}),i=3===this.message.type?localize("alertErrorMessage","Error: {0}",this.message.content):2===this.message.type?localize("alertWarningMessage","Warning: {0}",this.message.content):localize("alertInfoMessage","Info: {0}",this.message.content),alert(i),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,t=10===e.charCodeAt(e.length-1)?" ":"";(e+t).replace(/\u000c/g,"")?this.mirror.textContent=e+t:this.mirror.innerText=" ",this.layout()}applyStyles(){const e=this.options.inputBoxStyles,t=e.inputBackground??"",i=e.inputForeground??"",o=e.inputBorder??"";this.element.style.backgroundColor=t,this.element.style.color=i,this.input.style.backgroundColor="inherit",this.input.style.color=i,this.element.style.border=`1px solid ${asCssValueWithDefault(o,"transparent")}`}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=getTotalHeight(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,i=t.selectionStart,o=t.selectionEnd,n=t.value;null!==i&&null!==o&&(this.value=n.substr(0,i)+e+n.substr(o),t.setSelectionRange(i+1,i+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar?.dispose(),super.dispose()}}class HistoryInputBox extends InputBox{constructor(e,t,i){const o=localize({key:"history.inputbox.hint.suffix.noparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis ")", for example "Filter (e.g. text, !exclude)". The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," or {0} for history","⇅"),n=localize({key:"history.inputbox.hint.suffix.inparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. "Find"). The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," ({0} for history)","⇅");super(e,t,i),this._onDidFocus=this._register(new Emitter$1),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Emitter$1),this.onDidBlur=this._onDidBlur.event,this.history=new HistoryNavigator(i.history,100);const r=()=>{if(i.showHistoryHint&&i.showHistoryHint()&&!this.placeholder.endsWith(o)&&!this.placeholder.endsWith(n)&&this.history.getHistory().length){const e=this.placeholder.endsWith(")")?o:n,t=this.placeholder+e;i.showPlaceholderOnFocus&&!isActiveElement(this.input)?this.placeholder=t:this.setPlaceHolder(t)}};this.observer=new MutationObserver((e,t)=>{e.forEach(e=>{e.target.textContent||r()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>r()),this.onblur(this.input,()=>{const e=e=>{if(this.placeholder.endsWith(e)){const t=this.placeholder.slice(0,this.placeholder.length-e.length);return i.showPlaceholderOnFocus?this.placeholder=t:this.setPlaceHolder(t),!0}return!1};e(n)||e(o)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||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 e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=e??"",status(this.value?this.value:localize("clearedInput","Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,status(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const NLS_DEFAULT_LABEL$1=localize("defaultLabel","input");class FindInput extends Widget$1{constructor(e,t,i){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new MutableDisposable),this.additionalToggles=[],this._onDidOptionChange=this._register(new Emitter$1),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Emitter$1),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Emitter$1),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new Emitter$1),this._onKeyUp=this._register(new Emitter$1),this._onCaseSensitiveKeyDown=this._register(new Emitter$1),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new Emitter$1),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||NLS_DEFAULT_LABEL$1,this.showCommonFindToggles=!!i.showCommonFindToggles;const o=i.appendCaseSensitiveLabel||"",n=i.appendWholeWordsLabel||"",r=i.appendRegexLabel||"",s=i.history||[],a=!!i.flexibleHeight,l=!!i.flexibleWidth,c=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new HistoryInputBox(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:s,showHistoryHint:i.showHistoryHint,flexibleHeight:a,flexibleWidth:l,flexibleMaxHeight:c,inputBoxStyles:i.inputBoxStyles}));const d=this._register(createInstantHoverDelegate());if(this.showCommonFindToggles){this.regex=this._register(new RegexToggle({appendTitle:r,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.regex.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(e=>{this._onRegexKeyDown.fire(e)})),this.wholeWords=this._register(new WholeWordsToggle({appendTitle:n,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.wholeWords.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new CaseSensitiveToggle({appendTitle:o,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.caseSensitive.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(e=>{this._onCaseSensitiveKeyDown.fire(e)}));const e=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const i=e.indexOf(this.domNode.ownerDocument.activeElement);if(i>=0){let o=-1;t.equals(17)?o=(i+1)%e.length:t.equals(15)&&(o=0===i?e.length-1:i-1),t.equals(9)?(e[i].blur(),this.inputBox.focus()):o>=0&&e[o].focus(),EventHelper$1.stop(t,!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(i?.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),e?.appendChild(this.domNode),this._register(addDisposableListener(this.inputBox.inputElement,"compositionstart",e=>{this.imeSessionInProgress=!0})),this._register(addDisposableListener(this.inputBox.inputElement,"compositionend",e=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,e=>this._onKeyDown.fire(e)),this.onkeyup(this.inputBox.inputElement,e=>this._onKeyUp.fire(e)),this.oninput(this.inputBox.inputElement,e=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,e=>this._onMouseDown.fire(e))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex?.enable(),this.wholeWords?.enable(),this.caseSensitive?.enable();for(const e of this.additionalToggles)e.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex?.disable(),this.wholeWords?.disable(),this.caseSensitive?.disable();for(const e of this.additionalToggles)e.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new DisposableStore;for(const t of e??[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){this.inputBox.paddingRight=e?0:(this.caseSensitive?.width()??0)+(this.wholeWords?.width()??0)+(this.regex?.width()??0)+this.additionalToggles.reduce((e,t)=>e+t.width(),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive?.checked??!1}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){return this.wholeWords?.checked??!1}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){return this.regex?.checked??!1}setRegex(e){this.regex&&(this.regex.checked=e,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(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}}const $$a=$$f;class QuickInputBox extends Disposable{constructor(e,t,i){super(),this.parent=e,this.onKeyDown=e=>addStandardDisposableListener(this.findInput.inputBox.inputElement,EventType$1.KEY_DOWN,e),this.onDidChange=e=>this.findInput.onDidChange(e),this.container=append$2(this.parent,$$a(".quick-input-box")),this.findInput=this._register(new FindInput(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:i}));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(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===Severity$2.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===Severity$2.Info?1:e===Severity$2.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===Severity$2.Info?1:e===Severity$2.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}class PagedRenderer{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:Disposable.None}}renderElement(e,t,i,o){if(i.disposable?.dispose(),!i.data)return;const n=this.modelProvider();if(n.isResolved(e))return this.renderer.renderElement(n.get(e),e,i.data,o);const r=new CancellationTokenSource$1,s=n.resolve(e,r.token);i.disposable={dispose:()=>r.cancel()},this.renderer.renderPlaceholder(e,i.data),s.then(t=>this.renderer.renderElement(t,e,i.data,o))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class PagedAccessibilityProvider{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}function fromPagedListOptions(e,t){return{...t,accessibilityProvider:t.accessibilityProvider&&new PagedAccessibilityProvider(e,t.accessibilityProvider)}}class PagedList{constructor(e,t,i,o,n={}){const r=()=>this.model,s=o.map(e=>new PagedRenderer(e,r));this.list=new List(e,t,i,s,fromPagedListOptions(r,n))}updateOptions(e){this.list.updateOptions(e)}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 Event$1.map(this.list.onMouseDblClick,({element:e,index:t,browserEvent:i})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:i}))}get onPointer(){return Event$1.map(this.list.onPointer,({element:e,index:t,browserEvent:i})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:i}))}get onDidChangeSelection(){return Event$1.map(this.list.onDidChangeSelection,({elements:e,indexes:t,browserEvent:i})=>({elements:e.map(e=>this._model.get(e)),indexes:t,browserEvent:i}))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,range$2(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(e=>this.model.get(e))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}var __decorate$2d=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};const DEBUG=!1;var OrthogonalEdge;!function(e){e.North="north",e.South="south",e.East="east",e.West="west"}(OrthogonalEdge||(OrthogonalEdge={}));let globalSize=4;const onDidChangeGlobalSize=new Emitter$1;let globalHoverDelay=300;const onDidChangeHoverDelay=new Emitter$1;class MouseEventFactory{constructor(e){this.el=e,this.disposables=new DisposableStore}get onPointerMove(){return this.disposables.add(new DomEmitter(getWindow$2(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new DomEmitter(getWindow$2(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}__decorate$2d([memoize$1],MouseEventFactory.prototype,"onPointerMove",null),__decorate$2d([memoize$1],MouseEventFactory.prototype,"onPointerUp",null);class GestureEventFactory{get onPointerMove(){return this.disposables.add(new DomEmitter(this.el,EventType.Change)).event}get onPointerUp(){return this.disposables.add(new DomEmitter(this.el,EventType.End)).event}constructor(e){this.el=e,this.disposables=new DisposableStore}dispose(){this.disposables.dispose()}}__decorate$2d([memoize$1],GestureEventFactory.prototype,"onPointerMove",null),__decorate$2d([memoize$1],GestureEventFactory.prototype,"onPointerUp",null);class OrthogonalPointerEventFactory{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}}__decorate$2d([memoize$1],OrthogonalPointerEventFactory.prototype,"onPointerMove",null),__decorate$2d([memoize$1],OrthogonalPointerEventFactory.prototype,"onPointerUp",null);const PointerEventsDisabledCssClass="pointer-events-disabled";class Sash extends Disposable{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",0===e),this.el.classList.toggle("minimum",1===e),this.el.classList.toggle("maximum",2===e),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=t=>{this.orthogonalStartDragHandleDisposables.clear(),0!==t&&(this._orthogonalStartDragHandle=append$2(this.el,$$f(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(toDisposable(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new DomEmitter(this._orthogonalStartDragHandle,"mouseenter")).event(()=>Sash.onMouseEnter(e),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new DomEmitter(this._orthogonalStartDragHandle,"mouseleave")).event(()=>Sash.onMouseLeave(e),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=t=>{this.orthogonalEndDragHandleDisposables.clear(),0!==t&&(this._orthogonalEndDragHandle=append$2(this.el,$$f(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(toDisposable(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new DomEmitter(this._orthogonalEndDragHandle,"mouseenter")).event(()=>Sash.onMouseEnter(e),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new DomEmitter(this._orthogonalEndDragHandle,"mouseleave")).event(()=>Sash.onMouseLeave(e),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,i){super(),this.hoverDelay=globalHoverDelay,this.hoverDelayer=this._register(new Delayer(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new Emitter$1),this._onDidStart=this._register(new Emitter$1),this._onDidChange=this._register(new Emitter$1),this._onDidReset=this._register(new Emitter$1),this._onDidEnd=this._register(new Emitter$1),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=append$2(e,$$f(".monaco-sash")),i.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${i.orthogonalEdge}`),isMacintosh&&this.el.classList.add("mac");const o=this._register(new DomEmitter(this.el,"mousedown")).event;this._register(o(t=>this.onPointerStart(t,new MouseEventFactory(e)),this));const n=this._register(new DomEmitter(this.el,"dblclick")).event;this._register(n(this.onPointerDoublePress,this));const r=this._register(new DomEmitter(this.el,"mouseenter")).event;this._register(r(()=>Sash.onMouseEnter(this)));const s=this._register(new DomEmitter(this.el,"mouseleave")).event;this._register(s(()=>Sash.onMouseLeave(this))),this._register(Gesture.addTarget(this.el));const a=this._register(new DomEmitter(this.el,EventType.Start)).event;this._register(a(e=>this.onPointerStart(e,new GestureEventFactory(this.el)),this));const l=this._register(new DomEmitter(this.el,EventType.Tap)).event;let c;this._register(l(e=>{if(c)return clearTimeout(c),c=void 0,void this.onPointerDoublePress(e);clearTimeout(c),c=setTimeout(()=>c=void 0,250)},this)),"number"==typeof i.size?(this.size=i.size,0===i.orientation?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=globalSize,this._register(onDidChangeGlobalSize.event(e=>{this.size=e,this.layout()}))),this._register(onDidChangeHoverDelay.event(e=>this.hoverDelay=e)),this.layoutProvider=t,this.orthogonalStartSash=i.orthogonalStartSash,this.orthogonalEndSash=i.orthogonalEndSash,this.orientation=i.orientation||0,1===this.orientation?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",DEBUG),this.layout()}onPointerStart(e,t){EventHelper$1.stop(e);let i=!1;if(!e.__orthogonalSashEvent){const o=this.getOrthogonalSash(e);o&&(i=!0,e.__orthogonalSashEvent=!0,o.onPointerStart(e,new OrthogonalPointerEventFactory(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new OrthogonalPointerEventFactory(t))),!this.state)return;const o=this.el.ownerDocument.getElementsByTagName("iframe");for(const u of o)u.classList.add(PointerEventsDisabledCssClass);const n=e.pageX,r=e.pageY,s=e.altKey,a={startX:n,currentX:n,startY:r,currentY:r,altKey:s};this.el.classList.add("active"),this._onDidStart.fire(a);const l=createStyleSheet(this.el),c=()=>{let e="";e=i?"all-scroll":1===this.orientation?1===this.state?"s-resize":2===this.state?"n-resize":isMacintosh?"row-resize":"ns-resize":1===this.state?"e-resize":2===this.state?"w-resize":isMacintosh?"col-resize":"ew-resize",l.textContent=`* { cursor: ${e} !important; }`},d=new DisposableStore;c(),i||this.onDidEnablementChange.event(c,null,d);t.onPointerMove(e=>{EventHelper$1.stop(e,!1);const t={startX:n,currentX:e.pageX,startY:r,currentY:e.pageY,altKey:s};this._onDidChange.fire(t)},null,d),t.onPointerUp(e=>{EventHelper$1.stop(e,!1),l.remove(),this.el.classList.remove("active"),this._onDidEnd.fire(),d.dispose();for(const t of o)t.classList.remove(PointerEventsDisabledCssClass)},null,d),d.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger(()=>e.el.classList.add("hover"),e.hoverDelay).then(void 0,()=>{}),!t&&e.linkedSash&&Sash.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&Sash.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){Sash.onMouseLeave(this)}layout(){if(0===this.orientation){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){const t=e.initialTarget??e.target;if(t&&isHTMLElement$1(t))return t.classList.contains("orthogonal-drag-handle")?t.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash:void 0}dispose(){super.dispose(),this.el.remove()}}const defaultStyles={separatorBorder:Color$1.transparent};class ViewItem{set size(e){this._size=e}get size(){return this._size}get visible(){return void 0===this._cachedVisibleSize}setVisible(t,i){if(t!==this.visible){t?(this.size=clamp(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof i?i:this.size,this.size=0),this.container.classList.toggle("visible",t);try{this.view.setVisible?.(t)}catch(e){console.error("Splitview: Failed to set visible view"),console.error(e)}}}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(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,i,o){this.container=e,this.view=t,this.disposable=o,this._cachedVisibleSize=void 0,"number"==typeof i?(this._size=i,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=i.cachedVisibleSize)}layout(t,i){this.layoutContainer(t);try{this.view.layout(this.size,t,i)}catch(e){console.error("Splitview: Failed to layout view"),console.error(e)}}dispose(){this.disposable.dispose()}}class VerticalViewItem extends ViewItem{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}}class HorizontalViewItem extends ViewItem{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}}var State,Sizing;!function(e){e[e.Idle=0]="Idle",e[e.Busy=1]="Busy"}(State||(State={})),function(e){e.Distribute={type:"distribute"},e.Split=function(e){return{type:"split",index:e}},e.Auto=function(e){return{type:"auto",index:e}},e.Invisible=function(e){return{type:"invisible",cachedVisibleSize:e}}}(Sizing||(Sizing={}));class SplitView extends Disposable{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=State.Idle,this._onDidSashChange=this._register(new Emitter$1),this._onDidSashReset=this._register(new Emitter$1),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=t.orientation??0,this.inverseAltBehavior=t.inverseAltBehavior??!1,this.proportionalLayout=t.proportionalLayout??!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(0===this.orientation?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=append$2(this.el,$$f(".sash-container")),this.viewContainer=$$f(".split-view-container"),this.scrollable=this._register(new Scrollable$1({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:e=>scheduleAtNextAnimationFrame(getWindow$2(this.el),e)})),this.scrollableElement=this._register(new SmoothScrollableElement(this.viewContainer,{vertical:0===this.orientation?t.scrollbarVisibility??1:2,horizontal:1===this.orientation?t.scrollbarVisibility??1:2},this.scrollable));const i=this._register(new DomEmitter(this.viewContainer,"scroll")).event;this._register(i(e=>{const t=this.scrollableElement.getScrollPosition(),i=Math.abs(this.viewContainer.scrollLeft-t.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,o=Math.abs(this.viewContainer.scrollTop-t.scrollTop)<=1?void 0:this.viewContainer.scrollTop;void 0===i&&void 0===o||this.scrollableElement.setScrollPosition({scrollLeft:i,scrollTop:o})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(e=>{e.scrollTopChanged&&(this.viewContainer.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this.viewContainer.scrollLeft=e.scrollLeft)})),append$2(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||defaultStyles),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach((e,t)=>{const i=isUndefined$4(e.visible)||e.visible?e.size:{type:"invisible",cachedVisibleSize:e.size},o=e.view;this.doAddView(o,i,t,!0)}),this._contentSize=this.viewItems.reduce((e,t)=>e+t.size,0),this.saveProportions())}style(e){e.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",e.separatorBorder.toString()))}addView(e,t,i=this.viewItems.length,o){this.doAddView(e,t,i,o)}layout(e,t){const i=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let t=0;for(let i=0;i0&&(o.size=clamp(Math.round(n*e/t),o.minimumSize,o.maximumSize))}}else{const t=range$2(this.viewItems.length),o=t.filter(e=>1===this.viewItems[e].priority),n=t.filter(e=>2===this.viewItems[e].priority);this.resize(this.viewItems.length-1,e-i,void 0,o,n)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0))}onSashStart({sash:e,start:t,alt:i}){for(const s of this.viewItems)s.enabled=!1;const o=this.sashItems.findIndex(t=>t.sash===e),n=combinedDisposable(addDisposableListener(this.el.ownerDocument.body,"keydown",e=>r(this.sashDragState.current,e.altKey)),addDisposableListener(this.el.ownerDocument.body,"keyup",()=>r(this.sashDragState.current,!1))),r=(e,t)=>{const i=this.viewItems.map(e=>e.size);let r,s,a=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(t=!t),t){if(o===this.sashItems.length-1){const e=this.viewItems[o];a=(e.minimumSize-e.size)/2,l=(e.maximumSize-e.size)/2}else{const e=this.viewItems[o+1];a=(e.size-e.maximumSize)/2,l=(e.size-e.minimumSize)/2}}if(!t){const e=range$2(o,-1),t=range$2(o+1,this.viewItems.length),n=e.reduce((e,t)=>e+(this.viewItems[t].minimumSize-i[t]),0),a=e.reduce((e,t)=>e+(this.viewItems[t].viewMaximumSize-i[t]),0),l=0===t.length?Number.POSITIVE_INFINITY:t.reduce((e,t)=>e+(i[t]-this.viewItems[t].minimumSize),0),c=0===t.length?Number.NEGATIVE_INFINITY:t.reduce((e,t)=>e+(i[t]-this.viewItems[t].viewMaximumSize),0),d=Math.max(n,c),u=Math.min(l,a),h=this.findFirstSnapIndex(e),p=this.findFirstSnapIndex(t);if("number"==typeof h){const e=this.viewItems[h],t=Math.floor(e.viewMinimumSize/2);r={index:h,limitDelta:e.visible?d-t:d+t,size:e.size}}if("number"==typeof p){const e=this.viewItems[p],t=Math.floor(e.viewMinimumSize/2);s={index:p,limitDelta:e.visible?u+t:u-t,size:e.size}}}this.sashDragState={start:e,current:e,index:o,sizes:i,minDelta:a,maxDelta:l,alt:t,snapBefore:r,snapAfter:s,disposable:n}};r(t,i)}onSashChange({current:e}){const{index:t,start:i,sizes:o,alt:n,minDelta:r,maxDelta:s,snapBefore:a,snapAfter:l}=this.sashDragState;this.sashDragState.current=e;const c=e-i,d=this.resize(t,c,o,void 0,void 0,r,s,a,l);if(n){const e=t===this.sashItems.length-1,i=this.viewItems.map(e=>e.size),o=e?t:t+1,n=this.viewItems[o],r=n.size-n.maximumSize,s=n.size-n.minimumSize,a=e?t-1:t+1;this.resize(a,-d,i,void 0,void 0,r,s)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(e,t){const i=this.viewItems.indexOf(e);i<0||i>=this.viewItems.length||(t=clamp(t="number"==typeof t?t:e.size,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&i>0?(this.resize(i-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([i],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==State.Idle)throw new Error("Cant modify splitview");this.state=State.Busy;try{const i=range$2(this.viewItems.length).filter(t=>t!==e),o=[...i.filter(e=>1===this.viewItems[e].priority),e],n=i.filter(e=>2===this.viewItems[e].priority),r=this.viewItems[e];t=clamp(t=Math.round(t),r.minimumSize,Math.min(r.maximumSize,this.size)),r.size=t,this.relayout(o,n)}finally{this.state=State.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const s of this.viewItems)s.maximumSize-s.minimumSize>0&&(e.push(s),t+=s.size);const i=Math.floor(t/e.length);for(const s of e)s.size=clamp(i,s.minimumSize,s.maximumSize);const o=range$2(this.viewItems.length),n=o.filter(e=>1===this.viewItems[e].priority),r=o.filter(e=>2===this.viewItems[e].priority);this.relayout(n,r)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,i=this.viewItems.length,o){if(this.state!==State.Idle)throw new Error("Cant modify splitview");this.state=State.Busy;try{const n=$$f(".split-view-view");i===this.viewItems.length?this.viewContainer.appendChild(n):this.viewContainer.insertBefore(n,this.viewContainer.children.item(i));const r=e.onDidChange(e=>this.onViewChange(l,e)),s=combinedDisposable(r,toDisposable(()=>n.remove()));let a;"number"==typeof t?a=t:("auto"===t.type&&(t=this.areViewsDistributed()?{type:"distribute"}:{type:"split",index:t.index}),a="split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize);const l=0===this.orientation?new VerticalViewItem(n,e,a,s):new HorizontalViewItem(n,e,a,s);if(this.viewItems.splice(i,0,l),this.viewItems.length>1){const e={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},t=0===this.orientation?new Sash(this.sashContainer,{getHorizontalSashTop:e=>this.getSashPosition(e),getHorizontalSashWidth:this.getSashOrthogonalSize},{...e,orientation:1}):new Sash(this.sashContainer,{getVerticalSashLeft:e=>this.getSashPosition(e),getVerticalSashHeight:this.getSashOrthogonalSize},{...e,orientation:0}),o=0===this.orientation?e=>({sash:t,start:e.startY,current:e.currentY,alt:e.altKey}):e=>({sash:t,start:e.startX,current:e.currentX,alt:e.altKey}),n=Event$1.map(t.onDidStart,o)(this.onSashStart,this),r=Event$1.map(t.onDidChange,o)(this.onSashChange,this),s=Event$1.map(t.onDidEnd,()=>this.sashItems.findIndex(e=>e.sash===t)),a=s(this.onSashEnd,this),l=t.onDidReset(()=>{const e=this.sashItems.findIndex(e=>e.sash===t),i=range$2(e,-1),o=range$2(e+1,this.viewItems.length),n=this.findFirstSnapIndex(i),r=this.findFirstSnapIndex(o);("number"!=typeof n||this.viewItems[n].visible)&&("number"!=typeof r||this.viewItems[r].visible)&&this._onDidSashReset.fire(e)}),c=combinedDisposable(n,r,a,l,t),d={sash:t,disposable:c};this.sashItems.splice(i-1,0,d)}let c;n.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(c=[t.index]),o||this.relayout([i],c),o||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()}finally{this.state=State.Idle}}relayout(e,t){const i=this.viewItems.reduce((e,t)=>e+t.size,0);this.resize(this.viewItems.length-1,this.size-i,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,i=this.viewItems.map(e=>e.size),o,n,r=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,a,l){if(e<0||e>=this.viewItems.length)return 0;const c=range$2(e,-1),d=range$2(e+1,this.viewItems.length);if(n)for(const w of n)pushToStart(c,w),pushToStart(d,w);if(o)for(const w of o)pushToEnd(c,w),pushToEnd(d,w);const u=c.map(e=>this.viewItems[e]),h=c.map(e=>i[e]),p=d.map(e=>this.viewItems[e]),g=d.map(e=>i[e]),m=c.reduce((e,t)=>e+(this.viewItems[t].minimumSize-i[t]),0),f=c.reduce((e,t)=>e+(this.viewItems[t].maximumSize-i[t]),0),v=0===d.length?Number.POSITIVE_INFINITY:d.reduce((e,t)=>e+(i[t]-this.viewItems[t].minimumSize),0),b=0===d.length?Number.NEGATIVE_INFINITY:d.reduce((e,t)=>e+(i[t]-this.viewItems[t].maximumSize),0),_=Math.max(m,b,r),y=Math.min(v,f,s);let C=!1;if(a){const e=this.viewItems[a.index],i=t>=a.limitDelta;C=i!==e.visible,e.setVisible(i,a.size)}if(!C&&l){const e=this.viewItems[l.index],i=te+t.size,0);let i=this.size-t;const o=range$2(this.viewItems.length-1,-1),n=o.filter(e=>1===this.viewItems[e].priority),r=o.filter(e=>2===this.viewItems[e].priority);for(const s of r)pushToStart(o,s);for(const s of n)pushToEnd(o,s);"number"==typeof e&&pushToEnd(o,e);for(let s=0;0!==i&&se+t.size,0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach(e=>e.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){0===this.orientation?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map(t=>e=t.size-t.minimumSize>0||e);e=!1;const i=this.viewItems.map(t=>e=t.maximumSize-t.size>0||e),o=[...this.viewItems].reverse();e=!1;const n=o.map(t=>e=t.size-t.minimumSize>0||e).reverse();e=!1;const r=o.map(t=>e=t.maximumSize-t.size>0||e).reverse();let s=0;for(let a=0;a0||this.startSnappingEnabled)?e.state=1:d&&t[a]&&(s0)return;if(!e.visible&&e.snap)return t}}areViewsDistributed(){let e,t;for(const i of this.viewItems)if(e=void 0===e?i.size:Math.min(e,i.size),t=void 0===t?i.size:Math.max(t,i.size),t-e>2)return!1;return!0}dispose(){this.sashDragState?.disposable.dispose(),dispose(this.viewItems),this.viewItems=[],this.sashItems.forEach(e=>e.disposable.dispose()),this.sashItems=[],super.dispose()}}class TableListRenderer{static{this.TemplateId="row"}constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=TableListRenderer.TemplateId,this.renderedTemplates=new Set;const o=new Map(t.map(e=>[e.templateId,e]));this.renderers=[];for(const n of e){const e=o.get(n.templateId);if(!e)throw new Error(`Table cell renderer for template id ${n.templateId} not found.`);this.renderers.push(e)}}renderTemplate(e){const t=append$2(e,$$f(".monaco-table-tr")),i=[],o=[];for(let r=0;re.getHeight(t),getTemplateId:()=>TableListRenderer.TemplateId}}class ColumnHeader extends Disposable{get minimumSize(){return this.column.minimumWidth??120}get maximumSize(){return this.column.maximumWidth??Number.POSITIVE_INFINITY}get onDidChange(){return this.column.onDidChangeWidthConstraints??Event$1.None}constructor(e,t){super(),this.column=e,this.index=t,this._onDidLayout=new Emitter$1,this.onDidLayout=this._onDidLayout.event,this.element=$$f(".monaco-table-th",{"data-col-index":t},e.label),e.tooltip&&this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate("mouse"),this.element,e.tooltip))}layout(e){this._onDidLayout.fire([this.index,e])}}let Table$1=class e{static{this.InstanceCount=0}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onDidScroll(){return this.list.onDidScroll}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get scrollTop(){return this.list.scrollTop}set scrollTop(e){this.list.scrollTop=e}get scrollHeight(){return this.list.scrollHeight}get renderHeight(){return this.list.renderHeight}get onDidDispose(){return this.list.onDidDispose}constructor(t,i,o,n,r,s){this.virtualDelegate=o,this.columns=n,this.domId="table_id_"+ ++e.InstanceCount,this.disposables=new DisposableStore,this.cachedWidth=0,this.cachedHeight=0,this.domNode=append$2(i,$$f(`.monaco-table.${this.domId}`));const a=n.map((e,t)=>this.disposables.add(new ColumnHeader(e,t))),l={size:a.reduce((e,t)=>e+t.column.weight,0),views:a.map(e=>({size:e.column.weight,view:e}))};this.splitview=this.disposables.add(new SplitView(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:l})),this.splitview.el.style.height=`${o.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${o.headerRowHeight}px`;const c=new TableListRenderer(n,r,e=>this.splitview.getViewSize(e));this.list=this.disposables.add(new List(t,this.domNode,asListVirtualDelegate(o),[c],s)),Event$1.any(...a.map(e=>e.onDidLayout))(([e,t])=>c.layoutColumn(e,t),null,this.disposables),this.splitview.onDidSashReset(e=>{const t=n.reduce((e,t)=>e+t.weight,0),i=n[e].weight/t*this.cachedWidth;this.splitview.resizeView(e,i)},null,this.disposables),this.styleElement=createStyleSheet(this.domNode),this.style(unthemedListStyles)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,i=[]){this.list.splice(e,t,i)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=t.join("\n"),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}};var ObjectTreeElementCollapseState,TreeMouseEventTarget,RenderIndentGuides,TreeFindMode,TreeFindMatchType;!function(e){e[e.Expanded=0]="Expanded",e[e.Collapsed=1]="Collapsed",e[e.PreserveOrExpanded=2]="PreserveOrExpanded",e[e.PreserveOrCollapsed=3]="PreserveOrCollapsed"}(ObjectTreeElementCollapseState||(ObjectTreeElementCollapseState={})),function(e){e[e.Unknown=0]="Unknown",e[e.Twistie=1]="Twistie",e[e.Element=2]="Element",e[e.Filter=3]="Filter"}(TreeMouseEventTarget||(TreeMouseEventTarget={}));class TreeError extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class WeakMapper{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}function isFilterResult(e){return"object"==typeof e&&"visibility"in e&&"data"in e}function getVisibleState(e){switch(e){case!0:return 1;case!1:return 0;default:return e}}function isCollapsibleStateUpdate(e){return"boolean"==typeof e.collapsible}class IndexTreeModel{constructor(e,t,i,o={}){this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new EventBufferer,this._onDidChangeCollapseState=new Emitter$1,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new Emitter$1,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new Emitter$1,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new Delayer(MicrotaskDelay),this.collapseByDefault=void 0!==o.collapseByDefault&&o.collapseByDefault,this.allowNonCollapsibleParents=o.allowNonCollapsibleParents??!1,this.filter=o.filter,this.autoExpandSingleChildren=void 0!==o.autoExpandSingleChildren&&o.autoExpandSingleChildren,this.root={parent:void 0,element:i,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,i=Iterable.empty(),o={}){if(0===e.length)throw new TreeError(this.user,"Invalid tree location");o.diffIdentityProvider?this.spliceSmart(o.diffIdentityProvider,e,t,i,o):this.spliceSimple(e,t,i,o)}spliceSmart(e,t,i,o=Iterable.empty(),n,r=n.diffDepth??0){const{parentNode:s}=this.getParentNodeWithListIndex(t);if(!s.lastDiffIds)return this.spliceSimple(t,i,o,n);const a=[...o],l=t[t.length-1],c=new LcsDiff({getElements:()=>s.lastDiffIds},{getElements:()=>[...s.children.slice(0,l),...a,...s.children.slice(l+i)].map(t=>e.getId(t.element).toString())}).ComputeDiff(!1);if(c.quitEarly)return s.lastDiffIds=void 0,this.spliceSimple(t,i,a,n);const d=t.slice(0,-1),u=(t,i,o)=>{if(r>0)for(let s=0;st.originalStart-e.originalStart))u(h,p,h-(g.originalStart+g.originalLength)),h=g.originalStart,p=g.modifiedStart-l,this.spliceSimple([...d,h],g.originalLength,Iterable.slice(a,p,p+g.modifiedLength),n);u(h,p,h)}spliceSimple(e,t,i=Iterable.empty(),{onDidCreateNode:o,onDidDeleteNode:n,diffIdentityProvider:r}){const{parentNode:s,listIndex:a,revealed:l,visible:c}=this.getParentNodeWithListIndex(e),d=[],u=Iterable.map(i,e=>this.createTreeNode(e,s,s.visible?1:0,l,d,o)),h=e[e.length-1];let p=0;for(let y=h;y>=0&&yr.getId(e.element).toString())):s.lastDiffIds=s.children.map(e=>r.getId(e.element).toString()):s.lastDiffIds=void 0;let b=0;for(const y of v)y.visible&&b++;if(0!==b)for(let y=h+g.length;ye+(t.visible?t.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(s,f-e),this.list.splice(a,e,d)}if(v.length>0&&n){const e=t=>{n(t),t.children.forEach(e)};v.forEach(e)}this._onDidSplice.fire({insertedNodes:g,deletedNodes:v});let _=s;for(;_;){if(2===_.visibility){this.refilterDelayer.trigger(()=>this.refilter());break}_=_.parent}}rerender(e){if(0===e.length)throw new TreeError(this.user,"Invalid tree location");const{node:t,listIndex:i,revealed:o}=this.getTreeNodeWithListIndex(e);t.visible&&o&&this.list.splice(i,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:i,revealed:o}=this.getTreeNodeWithListIndex(e);return i&&o?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const i=this.getTreeNode(e);void 0===t&&(t=!i.collapsible);const o={collapsible:t};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,o))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,i){const o=this.getTreeNode(e);void 0===t&&(t=!o.collapsed);const n={collapsed:t,recursive:i||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,n))}_setCollapseState(e,t){const{node:i,listIndex:o,revealed:n}=this.getTreeNodeWithListIndex(e),r=this._setListNodeCollapseState(i,o,n,t);if(i!==this.root&&this.autoExpandSingleChildren&&r&&!isCollapsibleStateUpdate(t)&&i.collapsible&&!i.collapsed&&!t.recursive){let o=-1;for(let e=0;e-1){o=-1;break}o=e}}o>-1&&this._setCollapseState([...e,o],t)}return r}_setListNodeCollapseState(e,t,i,o){const n=this._setNodeCollapseState(e,o,!1);if(!i||!e.visible||!n)return n;const r=e.renderNodeCount,s=this.updateNodeAfterCollapseChange(e),a=r-(-1===t?0:1);return this.list.splice(t+1,a,s.slice(1)),n}_setNodeCollapseState(e,t,i){let o;if(e===this.root?o=!1:(isCollapsibleStateUpdate(t)?(o=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(o=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):o=!1,o&&this._onDidChangeCollapseState.fire({node:e,deep:i})),!isCollapsibleStateUpdate(t)&&t.recursive)for(const n of e.children)o=this._setNodeCollapseState(n,t,!0)||o;return o}expandTo(e){this.eventBufferer.bufferEvents(()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})})}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,i,o,n,r){const s={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:"boolean"==typeof e.collapsible?e.collapsible:void 0!==e.collapsed,collapsed:void 0===e.collapsed?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},a=this._filterNode(s,i);s.visibility=a,o&&n.push(s);const l=e.children||Iterable.empty(),c=o&&0!==a&&!s.collapsed;let d=0,u=1;for(const h of l){const e=this.createTreeNode(h,s,a,c,n,r);s.children.push(e),u+=e.renderNodeCount,e.visible&&(e.visibleChildIndex=d++)}return this.allowNonCollapsibleParents||(s.collapsible=s.collapsible||s.children.length>0),s.visibleChildrenCount=d,s.visible=2===a?d>0:1===a,s.visible?s.collapsed||(s.renderNodeCount=u):(s.renderNodeCount=0,o&&n.pop()),r?.(s),s}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterCollapseChange(e,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterCollapseChange(e,t){if(!1===e.visible)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const i of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(i,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterFilterChange(e,t,i,o=!0){let n;if(e!==this.root){if(n=this._filterNode(e,t),0===n)return e.visible=!1,e.renderNodeCount=0,!1;o&&i.push(e)}const r=i.length;e.renderNodeCount=e===this.root?0:1;let s=!1;if(e.collapsed&&0===n)e.visibleChildrenCount=0;else{let t=0;for(const r of e.children)s=this._updateNodeAfterFilterChange(r,n,i,o&&!e.collapsed)||s,r.visible&&(r.visibleChildIndex=t++);e.visibleChildrenCount=t}return e!==this.root&&(e.visible=2===n?s:1===n,e.visibility=n),e.visible?e.collapsed||(e.renderNodeCount+=i.length-r):(e.renderNodeCount=0,o&&i.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(0!==t)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const i=this.filter?this.filter.filter(e.element,t):1;return"boolean"==typeof i?(e.filterData=void 0,i?1:0):isFilterResult(i)?(e.filterData=i.data,getVisibleState(i.visibility)):(e.filterData=void 0,getVisibleState(i))}hasTreeNode(e,t=this.root){if(!e||0===e.length)return!0;const[i,...o]=e;return!(i<0||i>t.children.length)&&this.hasTreeNode(o,t.children[i])}getTreeNode(e,t=this.root){if(!e||0===e.length)return t;const[i,...o]=e;if(i<0||i>t.children.length)throw new TreeError(this.user,"Invalid tree location");return this.getTreeNode(o,t.children[i])}getTreeNodeWithListIndex(e){if(0===e.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:i,revealed:o,visible:n}=this.getParentNodeWithListIndex(e),r=e[e.length-1];if(r<0||r>t.children.length)throw new TreeError(this.user,"Invalid tree location");const s=t.children[r];return{node:s,listIndex:i,revealed:o,visible:n&&s.visible}}getParentNodeWithListIndex(e,t=this.root,i=0,o=!0,n=!0){const[r,...s]=e;if(r<0||r>t.children.length)throw new TreeError(this.user,"Invalid tree location");for(let a=0;ae.element)),this.data=e}}function asTreeDragAndDropData(e){return e instanceof ElementsDragAndDropData?new TreeElementsDragAndDropData(e):e}class TreeNodeListDragAndDrop{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=Disposable.None,this.disposables=new DisposableStore}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(e=>e.element),t)}onDragStart(e,t){this.dnd.onDragStart?.(asTreeDragAndDropData(e),t)}onDragOver(e,t,i,o,n,r=!0){const s=this.dnd.onDragOver(asTreeDragAndDropData(e),t&&t.element,i,o,n),a=this.autoExpandNode!==t;if(a&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),void 0===t)return s;if(a&&"boolean"!=typeof s&&s.autoExpand&&(this.autoExpandDisposable=disposableTimeout(()=>{const e=this.modelProvider(),i=e.getNodeLocation(t);e.isCollapsed(i)&&e.setCollapsed(i,!1),this.autoExpandNode=void 0},500,this.disposables)),"boolean"==typeof s||!s.accept||void 0===s.bubble||s.feedback){if(!r){return{accept:"boolean"==typeof s?s:s.accept,effect:"boolean"==typeof s?void 0:s.effect,feedback:[i]}}return s}if(1===s.bubble){const i=this.modelProvider(),r=i.getNodeLocation(t),s=i.getParentNodeLocation(r),a=i.getNode(s),l=s&&i.getListIndex(s);return this.onDragOver(e,a,l,o,n,!1)}const l=this.modelProvider(),c=l.getNodeLocation(t),d=l.getListIndex(c),u=l.getListRenderCount(c);return{...s,feedback:range$2(d,d+u)}}drop(e,t,i,o,n){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(asTreeDragAndDropData(e),t&&t.element,i,o,n)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function asListOptions(e,t){return t&&{...t,identityProvider:t.identityProvider&&{getId:e=>t.identityProvider.getId(e.element)},dnd:t.dnd&&new TreeNodeListDragAndDrop(e,t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent:e=>t.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element}),isSelectionRangeChangeEvent:e=>t.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})},accessibilityProvider:t.accessibilityProvider&&{...t.accessibilityProvider,getSetSize(t){const i=e(),o=i.getNodeLocation(t),n=i.getParentNodeLocation(o);return i.getNode(n).visibleChildrenCount},getPosInSet:e=>e.visibleChildIndex+1,isChecked:t.accessibilityProvider&&t.accessibilityProvider.isChecked?e=>t.accessibilityProvider.isChecked(e.element):void 0,getRole:t.accessibilityProvider&&t.accessibilityProvider.getRole?e=>t.accessibilityProvider.getRole(e.element):()=>"treeitem",getAriaLabel:e=>t.accessibilityProvider.getAriaLabel(e.element),getWidgetAriaLabel:()=>t.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:t.accessibilityProvider&&t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:t.accessibilityProvider&&t.accessibilityProvider.getAriaLevel?e=>t.accessibilityProvider.getAriaLevel(e.element):e=>e.depth,getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(e=>t.accessibilityProvider.getActiveDescendantId(e.element))},keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:e=>t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}}class ComposedTreeDelegate{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){this.delegate.setDynamicHeight?.(e.element,t)}}!function(e){e.None="none",e.OnHover="onHover",e.Always="always"}(RenderIndentGuides||(RenderIndentGuides={}));class EventCollection{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new DisposableStore,this.onDidChange=Event$1.forEach(e,e=>this._elements=e,this.disposables)}dispose(){this.disposables.dispose()}}class TreeRenderer{static{this.DefaultIndent=8}constructor(e,t,i,o,n,r={}){this.renderer=e,this.modelProvider=t,this.activeNodes=o,this.renderedIndentGuides=n,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=TreeRenderer.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=Disposable.None,this.disposables=new DisposableStore,this.templateId=e.templateId,this.updateOptions(r),Event$1.map(i,e=>e.node)(this.onDidChangeNodeTwistieState,this,this.disposables),e.onDidChangeTwistieState?.(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(void 0!==e.indent){const t=clamp(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[e,t]of this.renderedNodes)this.renderTreeElement(e,t)}}if(void 0!==e.renderIndentGuides){const t=e.renderIndentGuides!==RenderIndentGuides.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[e,t]of this.renderedNodes)this._renderIndentGuides(e,t);if(this.indentGuidesDisposable.dispose(),t){const e=new DisposableStore;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,e),this.indentGuidesDisposable=e,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}void 0!==e.hideTwistiesOfChildlessElements&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=append$2(e,$$f(".monaco-tl-row")),i=append$2(t,$$f(".monaco-tl-indent")),o=append$2(t,$$f(".monaco-tl-twistie")),n=append$2(t,$$f(".monaco-tl-contents")),r=this.renderer.renderTemplate(n);return{container:e,indent:i,twistie:o,indentGuidesDisposable:Disposable.None,templateData:r}}renderElement(e,t,i,o){this.renderedNodes.set(e,i),this.renderedElements.set(e.element,e),this.renderTreeElement(e,i),this.renderer.renderElement(e,t,i.templateData,o)}disposeElement(e,t,i,o){i.indentGuidesDisposable.dispose(),this.renderer.disposeElement?.(e,t,i.templateData,o),"number"==typeof o&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const i=TreeRenderer.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft=`${i}px`,t.indent.style.width=i+this.indent-16+"px",e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded));let o=!1;this.renderer.renderTwistie&&(o=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(o||t.twistie.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(clearNode(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const i=new DisposableStore,o=this.modelProvider();for(;;){const n=o.getNodeLocation(e),r=o.getParentNodeLocation(n);if(!r)break;const s=o.getNode(r),a=$$f(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(s)&&a.classList.add("active"),0===t.indent.childElementCount?t.indent.appendChild(a):t.indent.insertBefore(a,t.indent.firstElementChild),this.renderedIndentGuides.add(s,a),i.add(toDisposable(()=>this.renderedIndentGuides.delete(s,a))),e=s}t.indentGuidesDisposable=i}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,i=this.modelProvider();e.forEach(e=>{const o=i.getNodeLocation(e);try{const n=i.getParentNodeLocation(o);e.collapsible&&e.children.length>0&&!e.collapsed?t.add(e):n&&t.add(i.getNode(n))}catch{}}),this.activeIndentNodes.forEach(e=>{t.has(e)||this.renderedIndentGuides.forEach(e,e=>e.classList.remove("active"))}),t.forEach(e=>{this.activeIndentNodes.has(e)||this.renderedIndentGuides.forEach(e,e=>e.classList.add("active"))}),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),dispose(this.disposables)}}class FindFilter{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new DisposableStore,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let i=1;if(this._filter){const o=this._filter.filter(e,t);if(i="boolean"==typeof o?o?1:0:isFilterResult(o)?getVisibleState(o.visibility):o,0===i)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:FuzzyScore.Default,visibility:i};const o=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),n=Array.isArray(o)?o:[o];for(const r of n){const e=r&&r.toString();if(void 0===e)return{data:FuzzyScore.Default,visibility:i};let t;if(this.tree.findMatchType===TreeFindMatchType.Contiguous){const i=e.toLowerCase().indexOf(this._lowercasePattern);if(i>-1){t=[Number.MAX_SAFE_INTEGER,0];for(let e=this._lowercasePattern.length;e>0;e--)t.push(i+e-1)}}else t=fuzzyScore(this._pattern,this._lowercasePattern,0,e,e.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(t)return this._matchCount++,1===n.length?{data:t,visibility:i}:{data:{label:e,score:t},visibility:i}}return this.tree.findMode===TreeFindMode.Filter?"number"==typeof this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:FuzzyScore.Default,visibility:i}}reset(){this._totalCount=0,this._matchCount=0}dispose(){dispose(this.disposables)}}!function(e){e[e.Highlight=0]="Highlight",e[e.Filter=1]="Filter"}(TreeFindMode||(TreeFindMode={})),function(e){e[e.Fuzzy=0]="Fuzzy",e[e.Contiguous=1]="Contiguous"}(TreeFindMatchType||(TreeFindMatchType={}));let FindController$1=class{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,i,o,n,r={}){this.tree=e,this.view=i,this.filter=o,this.contextViewProvider=n,this.options=r,this._pattern="",this.width=0,this._onDidChangeMode=new Emitter$1,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new Emitter$1,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new Emitter$1,this._onDidChangeOpenState=new Emitter$1,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new DisposableStore,this.disposables=new DisposableStore,this._mode=e.options.defaultFindMode??TreeFindMode.Highlight,this._matchType=e.options.defaultFindMatchType??TreeFindMatchType.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){void 0!==e.defaultFindMode&&(this.mode=e.defaultFindMode),void 0!==e.defaultFindMatchType&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){this.widget&&0!==this.pattern.length&&(this.tree.refilter(),this.render())}render(){const e=this.filter.totalCount>0&&0===this.filter.matchCount;this.pattern&&e?(alert(localize("replFindNoResults","No results")),this.tree.options.showNotFoundMessage??1?this.widget?.showMessage({type:2,content:localize("not found","No elements found.")}):this.widget?.showMessage({type:2})):(this.widget?.clearMessage(),this.pattern&&alert(localize("replFindResults","{0} results",this.filter.matchCount)))}shouldAllowFocus(e){return!this.widget||!this.pattern||(this.filter.totalCount>0&&this.filter.matchCount<=1||!FuzzyScore.isDefault(e.filterData))}layout(e){this.width=e,this.widget?.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}};function stickyScrollNodeStateEquals(e,t){return e.position===t.position&&stickyScrollNodeEquals(e,t)}function stickyScrollNodeEquals(e,t){return e.node.element===t.node.element&&e.startIndex===t.startIndex&&e.height===t.height&&e.endIndex===t.endIndex}class StickyScrollState{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return equals$2(this.stickyNodes,e.stickyNodes,stickyScrollNodeStateEquals)}lastNodePartiallyVisible(){if(0===this.count)return!1;const e=this.stickyNodes[this.count-1];if(1===this.count)return 0!==e.position;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!equals$2(this.stickyNodes,e.stickyNodes,stickyScrollNodeEquals))return!1;if(0===this.count)return!1;const t=this.stickyNodes[this.count-1],i=e.stickyNodes[e.count-1];return t.position!==i.position}}class DefaultStickyScrollDelegate{constrainStickyScrollNodes(e,t,i){for(let o=0;oi||o>=t)return e.slice(0,o)}return e}}let StickyScrollController$1=class extends Disposable{constructor(e,t,i,o,n,r={}){super(),this.tree=e,this.model=t,this.view=i,this.treeDelegate=n,this.maxWidgetViewRatio=.4;const s=this.validateStickySettings(r);this.stickyScrollMaxItemCount=s.stickyScrollMaxItemCount,this.stickyScrollDelegate=r.stickyScrollDelegate??new DefaultStickyScrollDelegate,this._widget=this._register(new StickyScrollWidget$1(i.getScrollableElement(),i,e,o,n,r.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(i.onDidScroll(()=>this.update())),this._register(i.onDidChangeContentHeight(()=>this.update())),this._register(e.onDidChangeCollapseState(()=>this.update())),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(t=0===e?this.view.firstVisibleIndex:this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||0===this.tree.scrollTop)return void this._widget.setState(void 0);const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let i=e,o=0,n=this.getNextStickyNode(i,void 0,o);for(;n&&(t.push(n),o+=n.height,!(t.length<=this.stickyScrollMaxItemCount)||(i=this.getNextVisibleNode(n),i));)n=this.getNextStickyNode(i,n.node,o);const r=this.constrainStickyNodes(t);return r.length?new StickyScrollState(r):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,i){const o=this.getAncestorUnderPrevious(e,t);if(o){if(o===e){if(!this.nodeIsUncollapsedParent(e))return;if(this.nodeTopAlignsWithStickyNodesBottom(e,i))return}return this.createStickyScrollNode(o,i)}}nodeTopAlignsWithStickyNodesBottom(e,t){const i=this.getNodeIndex(e),o=this.view.getElementTop(i),n=t;return this.view.scrollTop===o-n}createStickyScrollNode(e,t){const i=this.treeDelegate.getHeight(e),{startIndex:o,endIndex:n}=this.getNodeRange(e);return{node:e,position:this.calculateStickyNodePosition(n,t,i),height:i,startIndex:o,endIndex:n}}getAncestorUnderPrevious(e,t=void 0){let i=e,o=this.getParentNode(i);for(;o;){if(o===t)return i;i=o,o=this.getParentNode(i)}if(void 0===t)return i}calculateStickyNodePosition(e,t,i){let o=this.view.getRelativeTop(e);if(null===o&&this.view.firstVisibleIndex===e&&e+1s&&t<=s?s-i:t}constrainStickyNodes(e){if(0===e.length)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,i=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&i.position+i.height<=t)return e;const o=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!o.length)return[];const n=o[o.length-1];if(o.length>this.stickyScrollMaxItemCount||n.position+n.height>t)throw new Error("stickyScrollDelegate violates constraints");return o}getParentNode(e){const t=this.model.getNodeLocation(e),i=this.model.getParentNodeLocation(t);return i?this.model.getNode(i):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),i=this.model.getListIndex(t);if(i<0)throw new Error("Node not found in tree");return{startIndex:i,endIndex:i+this.model.getListRenderCount(t)-1}}nodePositionTopBelowWidget(e){const t=[];let i=this.getParentNode(e);for(;i;)t.push(i),i=this.getParentNode(i);let o=0;for(let n=0;n0,i=!!e&&e.count>0;if(!t&&!i||t&&i&&this._previousState.equal(e))return;if(t!==i&&this.setVisible(i),!i)return this._previousState=void 0,this._previousElements=[],void this._previousStateDisposables.clear();const o=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${o.position}px`;else{this._previousStateDisposables.clear();const t=Array(e.count);for(let i=e.count-1;i>=0;i--){const o=e.stickyNodes[i],{element:n,disposable:r}=this.createElement(o,i,e.count);t[i]=n,this._rootDomNode.appendChild(n),this._previousStateDisposables.add(r)}this.stickyScrollFocus.updateElements(t,e),this._previousElements=t}this._previousState=e,this._rootDomNode.style.height=`${o.position+o.height}px`}createElement(e,t,i){const o=e.startIndex,n=document.createElement("div");n.style.top=`${e.position}px`,!1!==this.tree.options.setRowHeight&&(n.style.height=`${e.height}px`),!1!==this.tree.options.setRowLineHeight&&(n.style.lineHeight=`${e.height}px`),n.classList.add("monaco-tree-sticky-row"),n.classList.add("monaco-list-row"),n.setAttribute("data-index",`${o}`),n.setAttribute("data-parity",o%2==0?"even":"odd"),n.setAttribute("id",this.view.getElementID(o));const r=this.setAccessibilityAttributes(n,e.node.element,t,i),s=this.treeDelegate.getTemplateId(e.node),a=this.treeRenderers.find(e=>e.templateId===s);if(!a)throw new Error(`No renderer found for template id ${s}`);let l=e.node;l===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(l=new Proxy(e.node,{}));const c=a.renderTemplate(n);a.renderElement(l,e.startIndex,c,e.height);const d=toDisposable(()=>{r.dispose(),a.disposeElement(l,e.startIndex,c,e.height),a.disposeTemplate(c),n.remove()});return{element:n,disposable:d}}setAccessibilityAttributes(e,t,i,o){if(!this.accessibilityProvider)return Disposable.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,i,o))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,i))),this.accessibilityProvider.getRole&&e.setAttribute("role",this.accessibilityProvider.getRole(t)??"treeitem");const n=this.accessibilityProvider.getAriaLabel(t),r=n&&"string"!=typeof n?n:constObservable(n),s=autorun(t=>{const i=t.readObservable(r);i?e.setAttribute("aria-label",i):e.removeAttribute("aria-label")});"string"==typeof n||n&&e.setAttribute("aria-label",n.get());const a=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return"number"==typeof a&&e.setAttribute("aria-level",`${a}`),e.setAttribute("aria-selected",String(!1)),s}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||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 StickyScrollFocus extends Disposable{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new Emitter$1,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new Emitter$1,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register(addDisposableListener(this.container,"focus",()=>this.onFocus())),this._register(addDisposableListener(this.container,"blur",()=>this.onBlur())),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(e=>this.onKeyDown(e))),this._register(this.view.onMouseDown(e=>this.onMouseDown(e))),this._register(this.view.onContextMenu(e=>this.handleContextMenu(e)))}handleContextMenu(e){const t=e.browserEvent.target;if(!isStickyScrollContainer(t)&&!isStickyScrollElement(t))return void(this.focusedLast()&&this.view.domFocus());if(!isKeyboardEvent(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const t=this.state.stickyNodes.findIndex(t=>t.node.element===e.element?.element);if(-1===t)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");return this.container.focus(),void this.setFocus(t)}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 i=this.state.stickyNodes[this.focusedIndex].node.element,o=this.elements[this.focusedIndex];this._onContextMenu.fire({element:i,anchor:o,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state)if("ArrowUp"===e.key)this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if("ArrowDown"===e.key||"ArrowRight"===e.key){if(this.focusedIndex>=this.state.count-1){const e=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([e]),this.scrollNodeUnderWidget(e,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}onMouseDown(e){const t=e.browserEvent.target;(isStickyScrollContainer(t)||isStickyScrollElement(t))&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&0===t.count)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const i=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const e=clamp(i,0,t.count-1);this.setFocus(e)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,n=this.view.getElementTop(e),r=o?o.position+o.height+i.height:i.height;this.view.scrollTop=n-r}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")}removeFocus(){-1!==this.focusedIndex&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){-1!==this.focusedIndex&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||0===this.elements.length)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),-1===this.focusedIndex&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function asTreeMouseEvent$1(e){let t=TreeMouseEventTarget.Unknown;return hasParentWithClass(e.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?t=TreeMouseEventTarget.Twistie:hasParentWithClass(e.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?t=TreeMouseEventTarget.Element:hasParentWithClass(e.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(t=TreeMouseEventTarget.Filter),{browserEvent:e.browserEvent,element:e.element?e.element.element:null,target:t}}function asTreeContextMenuEvent(e){const t=isStickyScrollContainer(e.browserEvent.target);return{element:e.element?e.element.element:null,browserEvent:e.browserEvent,anchor:e.anchor,isStickyScroll:t}}function dfs$1(e,t){t(e),e.children.forEach(e=>dfs$1(e,t))}class Trait{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event}set(e,t){!t?.__forceEvent&&equals$2(this.nodes,e)||this._set(e,!1,t)}_set(e,t,i){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const e=this;this._onDidChange.fire({get elements(){return e.get()},browserEvent:i})}}get(){return this.elements||(this.elements=this.nodes.map(e=>e.element)),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const e=this.createNodeSet(),i=t=>e.delete(t);return t.forEach(e=>dfs$1(e,i)),void this.set([...e.values()])}const i=new Set,o=e=>i.add(this.identityProvider.getId(e.element).toString());t.forEach(e=>dfs$1(e,o));const n=new Map,r=e=>n.set(this.identityProvider.getId(e.element).toString(),e);e.forEach(e=>dfs$1(e,r));const s=[];for(const a of this.nodes){const e=this.identityProvider.getId(a.element).toString();if(i.has(e)){const t=n.get(e);t&&t.visible&&s.push(t)}else s.push(a)}if(this.nodes.length>0&&0===s.length){const e=this.getFirstViewElementWithTrait();e&&s.push(e)}this._set(s,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class TreeNodeListMouseController extends MouseController{constructor(e,t,i){super(e),this.tree=t,this.stickyScrollProvider=i}onViewPointer(e){if(isButton(e.browserEvent.target)||isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const i=e.browserEvent.target,o=i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,n=isStickyScrollElement(e.browserEvent.target);let r=!1;if(r=!!n||("function"==typeof this.tree.expandOnlyOnTwistieClick?this.tree.expandOnlyOnTwistieClick(t.element):!!this.tree.expandOnlyOnTwistieClick),n)this.handleStickyScrollMouseEvent(e,t);else{if(r&&!o&&2!==e.browserEvent.detail)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&2===e.browserEvent.detail)return super.onViewPointer(e)}if(t.collapsible&&(!n||o)){const i=this.tree.getNodeLocation(t),n=e.browserEvent.altKey;if(this.tree.setFocus([i]),this.tree.toggleCollapsed(i,n),o)return void(e.browserEvent.isHandledByList=!0)}n||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(isMonacoCustomToggle(e.browserEvent.target)||isActionItem(e.browserEvent.target))return;const i=this.stickyScrollProvider();if(!i)throw new Error("Sticky scroll controller not found");const o=this.list.indexOf(t),n=this.list.getElementTop(o),r=i.nodePositionTopBelowWidget(t);this.tree.scrollTop=n-r,this.list.domFocus(),this.list.setFocus([o]),this.list.setSelection([o])}onDoubleClick(e){!e.browserEvent.target.classList.contains("monaco-tl-twistie")&&this.tree.expandOnDoubleClick&&(e.browserEvent.isHandledByList||super.onDoubleClick(e))}onMouseDown(e){const t=e.browserEvent.target;isStickyScrollContainer(t)||isStickyScrollElement(t)||super.onMouseDown(e)}onContextMenu(e){const t=e.browserEvent.target;isStickyScrollContainer(t)||isStickyScrollElement(t)||super.onContextMenu(e)}}class TreeNodeList extends List{constructor(e,t,i,o,n,r,s,a){super(e,t,i,o,a),this.focusTrait=n,this.selectionTrait=r,this.anchorTrait=s}createMouseController(e){return new TreeNodeListMouseController(this,e.tree,e.stickyScrollProvider)}splice(e,t,i=[]){if(super.splice(e,t,i),0===i.length)return;const o=[],n=[];let r;i.forEach((t,i)=>{this.focusTrait.has(t)&&o.push(e+i),this.selectionTrait.has(t)&&n.push(e+i),this.anchorTrait.has(t)&&(r=e+i)}),o.length>0&&super.setFocus(distinct([...super.getFocus(),...o])),n.length>0&&super.setSelection(distinct([...super.getSelection(),...n])),"number"==typeof r&&super.setAnchor(r)}setFocus(e,t,i=!1){super.setFocus(e,t),i||this.focusTrait.set(e.map(e=>this.element(e)),t)}setSelection(e,t,i=!1){super.setSelection(e,t),i||this.selectionTrait.set(e.map(e=>this.element(e)),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(void 0===e?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class AbstractTree{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 Event$1.filter(Event$1.map(this.view.onMouseDblClick,asTreeMouseEvent$1),e=>e.target!==TreeMouseEventTarget.Filter)}get onMouseOver(){return Event$1.map(this.view.onMouseOver,asTreeMouseEvent$1)}get onMouseOut(){return Event$1.map(this.view.onMouseOut,asTreeMouseEvent$1)}get onContextMenu(){return Event$1.any(Event$1.filter(Event$1.map(this.view.onContextMenu,asTreeContextMenuEvent),e=>!e.isStickyScroll),this.stickyScrollController?.onContextMenu??Event$1.None)}get onPointer(){return Event$1.map(this.view.onPointer,asTreeMouseEvent$1)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return Event$1.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){return this.findController?.mode??TreeFindMode.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){return this.findController?.matchType??TreeFindMatchType.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return void 0===this._options.expandOnDoubleClick||this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return void 0===this._options.expandOnlyOnTwistieClick||this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,i,o,n={}){this._user=e,this._options=n,this.eventBufferer=new EventBufferer,this.onDidChangeFindOpenState=Event$1.None,this.onDidChangeStickyScrollFocused=Event$1.None,this.disposables=new DisposableStore,this._onWillRefilter=new Emitter$1,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new Emitter$1,this.treeDelegate=new ComposedTreeDelegate(i);const r=new Relay,s=new Relay,a=this.disposables.add(new EventCollection(s.event)),l=new SetMap;this.renderers=o.map(e=>new TreeRenderer(e,()=>this.model,r.event,a,l,n));for(const p of this.renderers)this.disposables.add(p);let c;n.keyboardNavigationLabelProvider&&(c=new FindFilter(this,n.keyboardNavigationLabelProvider,n.filter),n={...n,filter:c},this.disposables.add(c)),this.focus=new Trait(()=>this.view.getFocusedElements()[0],n.identityProvider),this.selection=new Trait(()=>this.view.getSelectedElements()[0],n.identityProvider),this.anchor=new Trait(()=>this.view.getAnchorElement(),n.identityProvider),this.view=new TreeNodeList(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...asListOptions(()=>this.model,n),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,n),r.input=this.model.onDidChangeCollapseState;const d=Event$1.forEach(this.model.onDidSplice,e=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(e),this.selection.onDidModelSplice(e)})},this.disposables);d(()=>null,null,this.disposables);const u=this.disposables.add(new Emitter$1),h=this.disposables.add(new Delayer(0));if(this.disposables.add(Event$1.any(d,this.focus.onDidChange,this.selection.onDidChange)(()=>{h.trigger(()=>{const e=new Set;for(const t of this.focus.getNodes())e.add(t);for(const t of this.selection.getNodes())e.add(t);u.fire([...e.values()])})})),s.input=u.event,!1!==n.keyboardSupport){const e=Event$1.chain(this.view.onKeyDown,e=>e.filter(e=>!isInputElement(e.target)).map(e=>new StandardKeyboardEvent(e)));Event$1.chain(e,e=>e.filter(e=>15===e.keyCode))(this.onLeftArrow,this,this.disposables),Event$1.chain(e,e=>e.filter(e=>17===e.keyCode))(this.onRightArrow,this,this.disposables),Event$1.chain(e,e=>e.filter(e=>10===e.keyCode))(this.onSpace,this,this.disposables)}if((n.findWidgetEnabled??1)&&n.keyboardNavigationLabelProvider&&n.contextViewProvider){const e=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new FindController$1(this,this.model,this.view,c,n.contextViewProvider,e),this.focusNavigationFilter=e=>this.findController.shouldAllowFocus(e),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=Event$1.None,this.onDidChangeFindMatchType=Event$1.None;n.enableStickyScroll&&(this.stickyScrollController=new StickyScrollController$1(this,this.model,this.view,this.renderers,this.treeDelegate,n),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=createStyleSheet(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===RenderIndentGuides.Always)}updateOptions(e={}){this._options={...this._options,...e};for(const t of this.renderers)t.updateOptions(e);this.view.updateOptions(this._options),this.findController?.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===RenderIndentGuides.Always)}get options(){return this._options}updateStickyScroll(e){!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new StickyScrollController$1(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=Event$1.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),this.stickyScrollController?.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){this.stickyScrollController?.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){this.view.layout(e,t),isNumber$5(t)&&this.findController?.layout(t)}style(e){const t=`.${this.view.domId}`,i=[];e.treeIndentGuidesStroke&&(i.push(`.monaco-list${t}:hover .monaco-tl-indent > .indent-guide, .monaco-list${t}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeInactiveIndentGuidesStroke}; }`),i.push(`.monaco-list${t} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`));const o=e.treeStickyScrollBackground??e.listBackground;o&&(i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${o}; }`),i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${o}; }`)),e.treeStickyScrollBorder&&i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${e.treeStickyScrollBorder}; }`),e.treeStickyScrollShadow&&i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${e.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`),e.listFocusForeground&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const n=asCssValueWithDefault(e.listFocusAndSelectionOutline,asCssValueWithDefault(e.listSelectionOutline,e.listFocusOutline??""));n&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${n}; outline-offset: -1px;}`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),e.listFocusOutline&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=i.join("\n"),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(e=>this.model.getNode(e));this.selection.set(i,t);const o=e.map(e=>this.model.getListIndex(e)).filter(e=>e>-1);this.view.setSelection(o,t,!0)})}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(e=>this.model.getNode(e));this.focus.set(i,t);const o=e.map(e=>this.model.getListIndex(e)).filter(e=>e>-1);this.view.setFocus(o,t,!0)})}focusNext(e=1,t=!1,i,o=(isKeyboardEvent(i)&&i.altKey?void 0:this.focusNavigationFilter)){this.view.focusNext(e,t,i,o)}focusPrevious(e=1,t=!1,i,o=(isKeyboardEvent(i)&&i.altKey?void 0:this.focusNavigationFilter)){this.view.focusPrevious(e,t,i,o)}focusNextPage(e,t=(isKeyboardEvent(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=(isKeyboardEvent(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusPreviousPage(e,t,()=>this.stickyScrollController?.height??0)}focusLast(e,t=(isKeyboardEvent(e)&&e.altKey?void 0:this.focusNavigationFilter)){this.view.focusLast(e,t)}focusFirst(e,t=(isKeyboardEvent(e)&&e.altKey?void 0:this.focusNavigationFilter)){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(-1!==i)if(this.stickyScrollController){const o=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,o)}else this.view.reveal(i,t)}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],o=this.model.getNodeLocation(i);if(!this.model.setCollapsed(o,!0)){const e=this.model.getParentNodeLocation(o);if(!e)return;const t=this.model.getListIndex(e);this.view.reveal(t),this.view.setFocus([t])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],o=this.model.getNodeLocation(i);if(!this.model.setCollapsed(o,!1)){if(!i.children.some(e=>e.visible))return;const[e]=this.view.getFocus(),t=e+1;this.view.reveal(t),this.view.setFocus([t])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],o=this.model.getNodeLocation(i),n=e.browserEvent.altKey;this.model.setCollapsed(o,void 0,n)}dispose(){dispose(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose()}}class ObjectTreeModel{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new IndexTreeModel(e,t,null,i),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,i.sorter&&(this.sorter={compare:(e,t)=>i.sorter.compare(e.element,t.element)}),this.identityProvider=i.identityProvider}setChildren(e,t=Iterable.empty(),i={}){const o=this.getElementLocation(e);this._setChildren(o,this.preserveCollapseState(t),i)}_setChildren(e,t=Iterable.empty(),i){const o=new Set,n=new Set;this.model.splice([...e,0],Number.MAX_VALUE,t,{...i,onDidCreateNode:e=>{if(null===e.element)return;const t=e;if(o.add(t.element),this.nodes.set(t.element,t),this.identityProvider){const e=this.identityProvider.getId(t.element).toString();n.add(e),this.nodesByIdentity.set(e,t)}i.onDidCreateNode?.(t)},onDidDeleteNode:e=>{if(null===e.element)return;const t=e;if(o.has(t.element)||this.nodes.delete(t.element),this.identityProvider){const e=this.identityProvider.getId(t.element).toString();n.has(e)||this.nodesByIdentity.delete(e)}i.onDidDeleteNode?.(t)}})}preserveCollapseState(e=Iterable.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),Iterable.map(e,e=>{let t=this.nodes.get(e.element);if(!t&&this.identityProvider){const i=this.identityProvider.getId(e.element).toString();t=this.nodesByIdentity.get(i)}if(!t){let t;return t=void 0===e.collapsed?void 0:e.collapsed===ObjectTreeElementCollapseState.Collapsed||e.collapsed===ObjectTreeElementCollapseState.PreserveOrCollapsed||e.collapsed!==ObjectTreeElementCollapseState.Expanded&&e.collapsed!==ObjectTreeElementCollapseState.PreserveOrExpanded&&Boolean(e.collapsed),{...e,children:this.preserveCollapseState(e.children),collapsed:t}}const i="boolean"==typeof e.collapsible?e.collapsible:t.collapsible;let o;return o=void 0===e.collapsed||e.collapsed===ObjectTreeElementCollapseState.PreserveOrCollapsed||e.collapsed===ObjectTreeElementCollapseState.PreserveOrExpanded?t.collapsed:e.collapsed===ObjectTreeElementCollapseState.Collapsed||e.collapsed!==ObjectTreeElementCollapseState.Expanded&&Boolean(e.collapsed),{...e,collapsible:i,collapsed:o,children:this.preserveCollapseState(e.children)}})}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getElementLocation(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const o=this.getElementLocation(e);return this.model.setCollapsed(o,t,i)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(null===e)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new TreeError(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(null===e)throw new TreeError(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new TreeError(this.user,`Tree element not found: ${e}`);const i=this.model.getNodeLocation(t),o=this.model.getParentNodeLocation(i);return this.model.getNode(o).element}getElementLocation(e){if(null===e)return[];const t=this.nodes.get(e);if(!t)throw new TreeError(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}}function noCompress(e){return{element:{elements:[e.element],incompressible:e.incompressible||!1},children:Iterable.map(Iterable.from(e.children),noCompress),collapsible:e.collapsible,collapsed:e.collapsed}}function compress(e){const t=[e.element],i=e.incompressible||!1;let o,n;for(;[n,o]=Iterable.consume(Iterable.from(e.children),2),1===n.length&&!n[0].incompressible;)e=n[0],t.push(e.element);return{element:{elements:t,incompressible:i},children:Iterable.map(Iterable.concat(n,o),compress),collapsible:e.collapsible,collapsed:e.collapsed}}function _decompress(e,t=0){let i;return i=t_decompress(e,0)),0===t&&e.element.incompressible?{element:e.element.elements[t],children:i,incompressible:!0,collapsible:e.collapsible,collapsed:e.collapsed}:{element:e.element.elements[t],children:i,collapsible:e.collapsible,collapsed:e.collapsed}}function decompress(e){return _decompress(e,0)}function splice$1(e,t,i){return e.element===t?{...e,children:i}:{...e,children:Iterable.map(Iterable.from(e.children),e=>splice$1(e,t,i))}}const wrapIdentityProvider=e=>({getId:t=>t.elements.map(t=>e.getId(t).toString()).join("\0")});class CompressedObjectTreeModel{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new ObjectTreeModel(e,t,i),this.enabled=void 0===i.compressionEnabled||i.compressionEnabled,this.identityProvider=i.identityProvider}setChildren(e,t=Iterable.empty(),i){const o=i.diffIdentityProvider&&wrapIdentityProvider(i.diffIdentityProvider);if(null===e){const e=Iterable.map(t,this.enabled?compress:noCompress);return void this._setChildren(null,e,{diffIdentityProvider:o,diffDepth:1/0})}const n=this.nodes.get(e);if(!n)throw new TreeError(this.user,"Unknown compressed tree node");const r=this.model.getNode(n),s=this.model.getParentNodeLocation(n),a=this.model.getNode(s),l=splice$1(decompress(r),e,t),c=(this.enabled?compress:noCompress)(l),d=i.diffIdentityProvider?(e,t)=>i.diffIdentityProvider.getId(e)===i.diffIdentityProvider.getId(t):void 0;if(equals$2(c.element.elements,r.element.elements,d))return void this._setChildren(n,c.children||Iterable.empty(),{diffIdentityProvider:o,diffDepth:1});const u=a.children.map(e=>e===r?c:e);this._setChildren(a.element,u,{diffIdentityProvider:o,diffDepth:r.depth-a.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const t=this.model.getNode().children,i=Iterable.map(t,decompress),o=Iterable.map(i,e?compress:noCompress);this._setChildren(null,o,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,i){const o=new Set;this.model.setChildren(e,t,{...i,onDidCreateNode:e=>{for(const t of e.element.elements)o.add(t),this.nodes.set(t,e.element)},onDidDeleteNode:e=>{for(const t of e.element.elements)o.has(t)||this.nodes.delete(t)}})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(void 0===e)return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return null===t?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),i=this.model.getParentNodeLocation(t);return null===i?null:i.elements[i.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getCompressedNode(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const o=this.getCompressedNode(e);return this.model.setCollapsed(o,t,i)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(null===e)return null;const t=this.nodes.get(e);if(!t)throw new TreeError(this.user,`Tree element not found: ${e}`);return t}}const DefaultElementMapper=e=>e[e.length-1];class CompressedTreeNodeWrapper{get element(){return null===this.node.element?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(e=>new CompressedTreeNodeWrapper(this.unwrapper,e))}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(e,t){this.unwrapper=e,this.node=t}}function mapList(e,t){return{splice(i,o,n){t.splice(i,o,n.map(t=>e.map(t)))},updateElementHeight(e,i){t.updateElementHeight(e,i)}}}function mapOptions(e,t){return{...t,identityProvider:t.identityProvider&&{getId:i=>t.identityProvider.getId(e(i))},sorter:t.sorter&&{compare:(e,i)=>t.sorter.compare(e.elements[0],i.elements[0])},filter:t.filter&&{filter:(i,o)=>t.filter.filter(e(i),o)}}}class CompressibleObjectTreeModel{get onDidSplice(){return Event$1.map(this.model.onDidSplice,({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map(e=>this.nodeMapper.map(e)),deletedNodes:t.map(e=>this.nodeMapper.map(e))}))}get onDidChangeCollapseState(){return Event$1.map(this.model.onDidChangeCollapseState,({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t}))}get onDidChangeRenderNodeCount(){return Event$1.map(this.model.onDidChangeRenderNodeCount,e=>this.nodeMapper.map(e))}constructor(e,t,i={}){this.rootRef=null,this.elementMapper=i.elementMapper||DefaultElementMapper;const o=e=>this.elementMapper(e.elements);this.nodeMapper=new WeakMapper(e=>new CompressedTreeNodeWrapper(o,e)),this.model=new CompressedObjectTreeModel(e,mapList(this.nodeMapper,t),mapOptions(o,i))}setChildren(e,t=Iterable.empty(),i={}){this.model.setChildren(e,t,i)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return null==t?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,i){return this.model.setCollapsed(e,t,i)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}var __decorate$2c=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};class ObjectTree extends AbstractTree{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,i,o,n={}){super(e,t,i,o,n),this.user=e}setChildren(e,t=Iterable.empty(),i){this.model.setChildren(e,t,i)}rerender(e){void 0!==e?this.model.rerender(e):this.view.rerender()}hasElement(e){return this.model.has(e)}createModel(e,t,i){return new ObjectTreeModel(e,t,i)}}class CompressibleRenderer{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,i){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,i,o){let n=this.stickyScrollDelegate.getCompressedNode(e);n||(n=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),1===n.element.elements.length?(i.compressedTreeNode=void 0,this.renderer.renderElement(e,t,i.data,o)):(i.compressedTreeNode=n,this.renderer.renderCompressedElements(n,t,i.data,o))}disposeElement(e,t,i,o){i.compressedTreeNode?this.renderer.disposeCompressedElements?.(i.compressedTreeNode,t,i.data,o):this.renderer.disposeElement?.(e,t,i.data,o)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return!!this.renderer.renderTwistie&&this.renderer.renderTwistie(e,t)}}__decorate$2c([memoize$1],CompressibleRenderer.prototype,"compressedTreeNodeProvider",null);class CompressibleStickyScrollDelegate{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,i){if(this.compressedStickyNodes.clear(),0===e.length)return[];for(let o=0;oi||o>=t-1&&tthis,s=new CompressibleStickyScrollDelegate(()=>this.model);super(e,t,i,o.map(e=>new CompressibleRenderer(r,s,e)),{...asObjectTreeOptions$1(r,n),stickyScrollDelegate:s})}setChildren(e,t=Iterable.empty(),i){this.model.setChildren(e,t,i)}createModel(e,t,i){return new CompressibleObjectTreeModel(e,t,i)}updateOptions(e={}){super.updateOptions(e),void 0!==e.compressionEnabled&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}function createAsyncDataTreeNode(e){return{...e,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function isAncestor(e,t){return!!t.parent&&(t.parent===e||isAncestor(e,t.parent))}function intersects(e,t){return e===t||isAncestor(e,t)||isAncestor(t,e)}class AsyncDataTreeNodeWrapper{get element(){return this.node.element.element}get children(){return this.node.children.map(e=>new AsyncDataTreeNodeWrapper(e))}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(e){this.node=e}}class AsyncDataTreeRenderer{constructor(e,t,i){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,o){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,o)}renderTwistie(e,t){return e.slow?(t.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading)),!0):(t.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading)),!1)}disposeElement(e,t,i,o){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,i.templateData,o)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function asTreeEvent(e){return{browserEvent:e.browserEvent,elements:e.elements.map(e=>e.element)}}function asTreeMouseEvent(e){return{browserEvent:e.browserEvent,element:e.element&&e.element.element,target:e.target}}class AsyncDataTreeElementsDragAndDropData extends ElementsDragAndDropData{constructor(e){super(e.elements.map(e=>e.element)),this.data=e}}function asAsyncDataTreeDragAndDropData(e){return e instanceof ElementsDragAndDropData?new AsyncDataTreeElementsDragAndDropData(e):e}class AsyncDataTreeNodeListDragAndDrop{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(e=>e.element),t)}onDragStart(e,t){this.dnd.onDragStart?.(asAsyncDataTreeDragAndDropData(e),t)}onDragOver(e,t,i,o,n,r=!0){return this.dnd.onDragOver(asAsyncDataTreeDragAndDropData(e),t&&t.element,i,o,n)}drop(e,t,i,o,n){this.dnd.drop(asAsyncDataTreeDragAndDropData(e),t&&t.element,i,o,n)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.dnd.dispose()}}function asObjectTreeOptions(e){return e&&{...e,collapseByDefault:!0,identityProvider:e.identityProvider&&{getId:t=>e.identityProvider.getId(t.element)},dnd:e.dnd&&new AsyncDataTreeNodeListDragAndDrop(e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent:t=>e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element}),isSelectionRangeChangeEvent:t=>e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",isChecked:e.accessibilityProvider.isChecked?t=>!!e.accessibilityProvider?.isChecked(t.element):void 0,getAriaLabel:t=>e.accessibilityProvider.getAriaLabel(t.element),getWidgetAriaLabel:()=>e.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider.getAriaLevel&&(t=>e.accessibilityProvider.getAriaLevel(t.element)),getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},filter:e.filter&&{filter:(t,i)=>e.filter.filter(t.element,i)},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)},sorter:void 0,expandOnlyOnTwistieClick:void 0===e.expandOnlyOnTwistieClick?void 0:"function"!=typeof e.expandOnlyOnTwistieClick?e.expandOnlyOnTwistieClick:t=>e.expandOnlyOnTwistieClick(t.element),defaultFindVisibility:t=>t.hasChildren&&t.stale?1:"number"==typeof e.defaultFindVisibility?e.defaultFindVisibility:void 0===e.defaultFindVisibility?2:e.defaultFindVisibility(t.element)}}function dfs(e,t){t(e),e.children.forEach(e=>dfs(e,t))}class AsyncDataTree{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return Event$1.map(this.tree.onDidChangeFocus,asTreeEvent)}get onDidChangeSelection(){return Event$1.map(this.tree.onDidChangeSelection,asTreeEvent)}get onMouseDblClick(){return Event$1.map(this.tree.onMouseDblClick,asTreeMouseEvent)}get onPointer(){return Event$1.map(this.tree.onPointer,asTreeMouseEvent)}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(e,t,i,o,n,r={}){this.user=e,this.dataSource=n,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new Emitter$1,this._onDidChangeNodeSlowState=new Emitter$1,this.nodeMapper=new WeakMapper(e=>new AsyncDataTreeNodeWrapper(e)),this.disposables=new DisposableStore,this.identityProvider=r.identityProvider,this.autoExpandSingleChildren=void 0!==r.autoExpandSingleChildren&&r.autoExpandSingleChildren,this.sorter=r.sorter,this.getDefaultCollapseState=e=>r.collapseByDefault?r.collapseByDefault(e)?ObjectTreeElementCollapseState.PreserveOrCollapsed:ObjectTreeElementCollapseState.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,i,o,r),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=createAsyncDataTreeNode({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(e,t,i,o,n){const r=new ComposedTreeDelegate(i),s=o.map(e=>new AsyncDataTreeRenderer(e,this.nodeMapper,this._onDidChangeNodeSlowState.event)),a=asObjectTreeOptions(n)||{};return new ObjectTree(e,t,r,s,a)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach(e=>e.cancel()),this.refreshPromises.clear(),this.root.element=e;const i=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,i),i&&(this.tree.setFocus(i.focus),this.tree.setSelection(i.selection)),t&&"number"==typeof t.scrollTop&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,i=!1,o,n){if(void 0===this.root.element)throw new TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await Event$1.toPromise(this._onDidRender.event));const r=this.getDataNode(e);if(await this.refreshAndRenderNode(r,t,o,n),i)try{this.tree.rerender(r)}catch{}}rerender(e){if(void 0===e||e===this.root.element)return void this.tree.rerender();const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(i)}collapse(e,t=!1){const i=this.getDataNode(e);return this.tree.collapse(i===this.root?null:i,t)}async expand(e,t=!1){if(void 0===this.root.element)throw new TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await Event$1.toPromise(this._onDidRender.event));const i=this.getDataNode(e);if(this.tree.hasElement(i)&&!this.tree.isCollapsible(i))return!1;if(i.refreshPromise&&(await this.root.refreshPromise,await Event$1.toPromise(this._onDidRender.event)),i!==this.root&&!i.refreshPromise&&!this.tree.isCollapsed(i))return!1;const o=this.tree.expand(i===this.root?null:i,t);return i.refreshPromise&&(await this.root.refreshPromise,await Event$1.toPromise(this._onDidRender.event)),o}setSelection(e,t){const i=e.map(e=>this.getDataNode(e));this.tree.setSelection(i,t)}getSelection(){return this.tree.getSelection().map(e=>e.element)}setFocus(e,t){const i=e.map(e=>this.getDataNode(e));this.tree.setFocus(i,t)}getFocus(){return this.tree.getFocus().map(e=>e.element)}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getFirstElementChild(t===this.root?null:t);return i&&i.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new TreeError(this.user,`Data tree node not found: ${e}`);return t}async refreshAndRenderNode(e,t,i,o){await this.refreshNode(e,t,i),this.disposables.isDisposed||this.render(e,i,o)}async refreshNode(e,t,i){let o;if(this.subTreeRefreshPromises.forEach((n,r)=>{!o&&intersects(r,e)&&(o=n.then(()=>this.refreshNode(e,t,i)))}),o)return o;if(e!==this.root){if(this.tree.getNode(e).collapsed)return e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,void this.setChildren(e,[],t,i)}return this.doRefreshSubTree(e,t,i)}async doRefreshSubTree(e,t,i){let o;e.refreshPromise=new Promise(e=>o=e),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally(()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)});try{const o=await this.doRefreshNode(e,t,i);e.stale=!1,await Promises.settled(o.map(e=>this.doRefreshSubTree(e,t,i)))}finally{o()}}async doRefreshNode(e,t,i){let o;if(e.hasChildren=!!this.dataSource.hasChildren(e.element),e.hasChildren){const t=this.doGetChildren(e);if(isIterable(t))o=Promise.resolve(t);else{const i=timeout(800);i.then(()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)},e=>null),o=t.finally(()=>i.cancel())}}else o=Promise.resolve(Iterable.empty());try{const n=await o;return this.setChildren(e,n,t,i)}catch(n){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),isCancellationError(n))return[];throw n}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const i=this.dataSource.getChildren(e.element);return isIterable(i)?this.processChildren(i):(t=createCancelablePromise(async()=>this.processChildren(await i)),this.refreshPromises.set(e,t),t.finally(()=>{this.refreshPromises.delete(e)}))}_onDidChangeCollapseState({node:e,deep:t}){null!==e.element&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(onUnexpectedError))}setChildren(e,t,i,o){const n=[...t];if(0===e.children.length&&0===n.length)return[];const r=new Map,s=new Map;for(const c of e.children)r.set(c.element,c),this.identityProvider&&s.set(c.id,{node:c,collapsed:this.tree.hasElement(c)&&this.tree.isCollapsed(c)});const a=[],l=n.map(t=>{const n=!!this.dataSource.hasChildren(t);if(!this.identityProvider){const i=createAsyncDataTreeNode({element:t,parent:e,hasChildren:n,defaultCollapseState:this.getDefaultCollapseState(t)});return n&&i.defaultCollapseState===ObjectTreeElementCollapseState.PreserveOrExpanded&&a.push(i),i}const l=this.identityProvider.getId(t).toString(),c=s.get(l);if(c){const e=c.node;return r.delete(e.element),this.nodes.delete(e.element),this.nodes.set(t,e),e.element=t,e.hasChildren=n,i?c.collapsed?(e.children.forEach(e=>dfs(e,e=>this.nodes.delete(e.element))),e.children.splice(0,e.children.length),e.stale=!0):a.push(e):n&&!c.collapsed&&a.push(e),e}const d=createAsyncDataTreeNode({element:t,parent:e,id:l,hasChildren:n,defaultCollapseState:this.getDefaultCollapseState(t)});return o&&o.viewState.focus&&o.viewState.focus.indexOf(l)>-1&&o.focus.push(d),o&&o.viewState.selection&&o.viewState.selection.indexOf(l)>-1&&o.selection.push(d),(o&&o.viewState.expanded&&o.viewState.expanded.indexOf(l)>-1||n&&d.defaultCollapseState===ObjectTreeElementCollapseState.PreserveOrExpanded)&&a.push(d),d});for(const c of r.values())dfs(c,e=>this.nodes.delete(e.element));for(const c of l)this.nodes.set(c.element,c);return e.children.splice(0,e.children.length,...l),e!==this.root&&this.autoExpandSingleChildren&&1===l.length&&0===a.length&&(l[0].forceExpanded=!0,a.push(l[0])),a}render(e,t,i){const o=e.children.map(e=>this.asTreeElement(e,t)),n=i&&{...i,diffIdentityProvider:i.diffIdentityProvider&&{getId:e=>i.diffIdentityProvider.getId(e.element)}};this.tree.setChildren(e===this.root?null:e,o,n),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let i;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?i=!1:e.forceExpanded?(i=!1,e.forceExpanded=!1):i=e.defaultCollapseState,{element:e,children:e.hasChildren?Iterable.map(e.children,e=>this.asTreeElement(e,t)):[],collapsible:e.hasChildren,collapsed:i}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}}class CompressibleAsyncDataTreeNodeWrapper{get element(){return{elements:this.node.element.elements.map(e=>e.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(e=>new CompressibleAsyncDataTreeNodeWrapper(e))}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(e){this.node=e}}class CompressibleAsyncDataTreeRenderer{constructor(e,t,i,o){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=i,this.onDidChangeTwistieState=o,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,o){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,o)}renderCompressedElements(e,t,i,o){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,o)}renderTwistie(e,t){return e.slow?(t.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading)),!0):(t.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading)),!1)}disposeElement(e,t,i,o){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,i.templateData,o)}disposeCompressedElements(e,t,i,o){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(e),t,i.templateData,o)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=dispose(this.disposables)}}function asCompressibleObjectTreeOptions(e){const t=e&&asObjectTreeOptions(e);return t&&{...t,keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map(e=>e.element))}}}class CompressibleAsyncDataTree extends AsyncDataTree{constructor(e,t,i,o,n,r,s={}){super(e,t,i,n,r,s),this.compressionDelegate=o,this.compressibleNodeMapper=new WeakMapper(e=>new CompressibleAsyncDataTreeNodeWrapper(e)),this.filter=s.filter}createTree(e,t,i,o,n){const r=new ComposedTreeDelegate(i),s=o.map(e=>new CompressibleAsyncDataTreeRenderer(e,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),a=asCompressibleObjectTreeOptions(n)||{};return new CompressibleObjectTree(e,t,r,s,a)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,i){if(!this.identityProvider)return super.render(e,t);const o=e=>this.identityProvider.getId(e).toString(),n=e=>{const t=new Set;for(const i of e){const e=this.tree.getCompressedTreeNode(i===this.root?null:i);if(e.element)for(const i of e.element.elements)t.add(o(i.element))}return t},r=n(this.tree.getSelection()),s=n(this.tree.getFocus());super.render(e,t,i);const a=this.getSelection();let l=!1;const c=this.getFocus();let d=!1;const u=e=>{const t=e.element;if(t)for(let i=0;i{const t=getVisibility(this.filter.filter(e,1));if(2===t)throw new Error("Recursive tree visibility not supported in async data compressed trees");return 1===t})),super.processChildren(e)}}function getVisibility(e){return"boolean"==typeof e?e?1:0:isFilterResult(e)?getVisibleState(e.visibility):getVisibleState(e)}class DataTree extends AbstractTree{constructor(e,t,i,o,n,r={}){super(e,t,i,o,r),this.user=e,this.dataSource=n,this.identityProvider=r.identityProvider}createModel(e,t,i){return new ObjectTreeModel(e,t,i)}}new RawContextKey("isMac",isMacintosh,localize("isMac","Whether the operating system is macOS")),new RawContextKey("isLinux",isLinux,localize("isLinux","Whether the operating system is Linux"));const IsWindowsContext=new RawContextKey("isWindows",isWindows,localize("isWindows","Whether the operating system is Windows")),IsWebContext=new RawContextKey("isWeb",isWeb,localize("isWeb","Whether the platform is a web browser"));new RawContextKey("isMacNative",isMacintosh&&!isWeb,localize("isMacNative","Whether the operating system is macOS on a non-browser platform")),new RawContextKey("isIOS",isIOS$1,localize("isIOS","Whether the operating system is iOS")),new RawContextKey("isMobile",isMobile,localize("isMobile","Whether the platform is a mobile web browser")),new RawContextKey("isDevelopment",!1,!0),new RawContextKey("productQualityType","",localize("productQualityType","Quality type of VS Code"));const InputFocusedContextKey="inputFocus",InputFocusedContext=new RawContextKey(InputFocusedContextKey,!1,localize("inputFocus","Whether keyboard focus is inside an input box"));var __decorate$2b=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$27=function(e,t){return function(i,o){t(i,o,e)}};const IListService=createDecorator("listService");class ListService{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new DisposableStore,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){e!==this._lastFocusedWidget&&(this._lastFocusedWidget?.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,this._lastFocusedWidget?.getHTMLElement().classList.add("last-focused"))}register(e,t){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=!0;new DefaultStyleController(createStyleSheet(),"").style(defaultListStyles)}if(this.lists.some(t=>t.widget===e))throw new Error("Cannot register the same widget multiple times");const i={widget:e,extraContextKeys:t};return this.lists.push(i),isActiveElement(e.getHTMLElement())&&this.setLastFocusedList(e),combinedDisposable(e.onDidFocus(()=>this.setLastFocusedList(e)),toDisposable(()=>this.lists.splice(this.lists.indexOf(i),1)),e.onDidDispose(()=>{this.lists=this.lists.filter(e=>e!==i),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}}const RawWorkbenchListScrollAtBoundaryContextKey=new RawContextKey("listScrollAtBoundary","none");ContextKeyExpr.or(RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("top"),RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("both")),ContextKeyExpr.or(RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("bottom"),RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("both"));const RawWorkbenchListFocusContextKey=new RawContextKey("listFocus",!0),WorkbenchTreeStickyScrollFocused=new RawContextKey("treestickyScrollFocused",!1),WorkbenchListSupportsMultiSelectContextKey=new RawContextKey("listSupportsMultiselect",!0),WorkbenchListFocusContextKey=ContextKeyExpr.and(RawWorkbenchListFocusContextKey,ContextKeyExpr.not(InputFocusedContextKey),WorkbenchTreeStickyScrollFocused.negate()),WorkbenchListHasSelectionOrFocus=new RawContextKey("listHasSelectionOrFocus",!1),WorkbenchListDoubleSelection=new RawContextKey("listDoubleSelection",!1),WorkbenchListMultiSelection=new RawContextKey("listMultiSelection",!1),WorkbenchListSelectionNavigation=new RawContextKey("listSelectionNavigation",!1),WorkbenchListSupportsFind=new RawContextKey("listSupportsFind",!0),WorkbenchTreeElementCanCollapse=new RawContextKey("treeElementCanCollapse",!1),WorkbenchTreeElementHasParent=new RawContextKey("treeElementHasParent",!1),WorkbenchTreeElementCanExpand=new RawContextKey("treeElementCanExpand",!1),WorkbenchTreeElementHasChild=new RawContextKey("treeElementHasChild",!1),WorkbenchTreeFindOpen=new RawContextKey("treeFindOpen",!1),WorkbenchListTypeNavigationModeKey="listTypeNavigationMode",WorkbenchListAutomaticKeyboardNavigationLegacyKey="listAutomaticKeyboardNavigation";function createScopedContextKeyService(e,t){const i=e.createScoped(t.getHTMLElement());return RawWorkbenchListFocusContextKey.bindTo(i),i}function createScrollObserver(e,t){const i=RawWorkbenchListScrollAtBoundaryContextKey.bindTo(e),o=()=>{const e=0===t.scrollTop,o=t.scrollHeight-t.renderHeight-t.scrollTop<1;e&&o?i.set("both"):e?i.set("top"):o?i.set("bottom"):i.set("none")};return o(),t.onDidScroll(o)}const multiSelectModifierSettingKey="workbench.list.multiSelectModifier",openModeSettingKey="workbench.list.openMode",horizontalScrollingKey="workbench.list.horizontalScrolling",defaultFindModeSettingKey="workbench.list.defaultFindMode",typeNavigationModeSettingKey="workbench.list.typeNavigationMode",keyboardNavigationSettingKey="workbench.list.keyboardNavigation",scrollByPageKey="workbench.list.scrollByPage",defaultFindMatchTypeSettingKey="workbench.list.defaultFindMatchType",treeIndentKey="workbench.tree.indent",treeRenderIndentGuidesKey="workbench.tree.renderIndentGuides",listSmoothScrolling="workbench.list.smoothScrolling",mouseWheelScrollSensitivityKey="workbench.list.mouseWheelScrollSensitivity",fastScrollSensitivityKey="workbench.list.fastScrollSensitivity",treeExpandMode="workbench.tree.expandMode",treeStickyScroll="workbench.tree.enableStickyScroll",treeStickyScrollMaxElements="workbench.tree.stickyScrollMaxItemCount";function useAltAsMultipleSelectionModifier(e){return"alt"===e.getValue(multiSelectModifierSettingKey)}class MultipleSelectionController extends Disposable{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(multiSelectModifierSettingKey)&&(this.useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(this.configurationService))}))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:isSelectionSingleChangeEvent(e)}isSelectionRangeChangeEvent(e){return isSelectionRangeChangeEvent(e)}}function toWorkbenchListOptions(e,t){const i=e.get(IConfigurationService),o=e.get(IKeybindingService),n=new DisposableStore;return[{...t,keyboardNavigationDelegate:{mightProducePrintableCharacter:e=>o.mightProducePrintableCharacter(e)},smoothScrolling:Boolean(i.getValue(listSmoothScrolling)),mouseWheelScrollSensitivity:i.getValue(mouseWheelScrollSensitivityKey),fastScrollSensitivity:i.getValue(fastScrollSensitivityKey),multipleSelectionController:t.multipleSelectionController??n.add(new MultipleSelectionController(i)),keyboardNavigationEventFilter:createKeyboardNavigationEventFilter(o),scrollByPage:Boolean(i.getValue(scrollByPageKey))},n]}let WorkbenchList=class extends List{constructor(e,t,i,o,n,r,s,a,l){const c=void 0!==n.horizontalScrolling?n.horizontalScrolling:Boolean(a.getValue(horizontalScrollingKey)),[d,u]=l.invokeFunction(toWorkbenchListOptions,n);super(e,t,i,o,{keyboardSupport:!1,...d,horizontalScrolling:c}),this.disposables.add(u),this.contextKeyService=createScopedContextKeyService(r,this),this.disposables.add(createScrollObserver(this.contextKeyService,this)),this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==n.multipleSelectionSupport);WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(Boolean(n.selectionNavigation)),this.listHasSelectionOrFocus=WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=n.horizontalScrolling,this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(a),this.disposables.add(this.contextKeyService),this.disposables.add(s.register(this)),this.updateStyles(n.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)})})),this.disposables.add(this.onDidChangeFocus(()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)})),this.disposables.add(a.onDidChangeConfiguration(e=>{e.affectsConfiguration(multiSelectModifierSettingKey)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(a));let t={};if(e.affectsConfiguration(horizontalScrollingKey)&&void 0===this.horizontalScrolling){const e=Boolean(a.getValue(horizontalScrollingKey));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(scrollByPageKey)){const e=Boolean(a.getValue(scrollByPageKey));t={...t,scrollByPage:e}}if(e.affectsConfiguration(listSmoothScrolling)){const e=Boolean(a.getValue(listSmoothScrolling));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(mouseWheelScrollSensitivityKey)){const e=a.getValue(mouseWheelScrollSensitivityKey);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(fastScrollSensitivityKey)){const e=a.getValue(fastScrollSensitivityKey);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)})),this.navigator=new ListResourceNavigator(this,{configurationService:a,...n}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?getListStyles(e):defaultListStyles)}};WorkbenchList=__decorate$2b([__param$27(5,IContextKeyService),__param$27(6,IListService),__param$27(7,IConfigurationService),__param$27(8,IInstantiationService)],WorkbenchList);let WorkbenchPagedList=class extends PagedList{constructor(e,t,i,o,n,r,s,a,l){const c=void 0!==n.horizontalScrolling?n.horizontalScrolling:Boolean(a.getValue(horizontalScrollingKey)),[d,u]=l.invokeFunction(toWorkbenchListOptions,n);super(e,t,i,o,{keyboardSupport:!1,...d,horizontalScrolling:c}),this.disposables=new DisposableStore,this.disposables.add(u),this.contextKeyService=createScopedContextKeyService(r,this),this.disposables.add(createScrollObserver(this.contextKeyService,this.widget)),this.horizontalScrolling=n.horizontalScrolling,this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==n.multipleSelectionSupport);WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(Boolean(n.selectionNavigation)),this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(a),this.disposables.add(this.contextKeyService),this.disposables.add(s.register(this)),this.updateStyles(n.overrideStyles),this.disposables.add(a.onDidChangeConfiguration(e=>{e.affectsConfiguration(multiSelectModifierSettingKey)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(a));let t={};if(e.affectsConfiguration(horizontalScrollingKey)&&void 0===this.horizontalScrolling){const e=Boolean(a.getValue(horizontalScrollingKey));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(scrollByPageKey)){const e=Boolean(a.getValue(scrollByPageKey));t={...t,scrollByPage:e}}if(e.affectsConfiguration(listSmoothScrolling)){const e=Boolean(a.getValue(listSmoothScrolling));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(mouseWheelScrollSensitivityKey)){const e=a.getValue(mouseWheelScrollSensitivityKey);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(fastScrollSensitivityKey)){const e=a.getValue(fastScrollSensitivityKey);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)})),this.navigator=new ListResourceNavigator(this,{configurationService:a,...n}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?getListStyles(e):defaultListStyles)}dispose(){this.disposables.dispose(),super.dispose()}};WorkbenchPagedList=__decorate$2b([__param$27(5,IContextKeyService),__param$27(6,IListService),__param$27(7,IConfigurationService),__param$27(8,IInstantiationService)],WorkbenchPagedList);let WorkbenchTable=class extends Table$1{constructor(e,t,i,o,n,r,s,a,l,c){const d=void 0!==r.horizontalScrolling?r.horizontalScrolling:Boolean(l.getValue(horizontalScrollingKey)),[u,h]=c.invokeFunction(toWorkbenchListOptions,r);super(e,t,i,o,n,{keyboardSupport:!1,...u,horizontalScrolling:d}),this.disposables.add(h),this.contextKeyService=createScopedContextKeyService(s,this),this.disposables.add(createScrollObserver(this.contextKeyService,this)),this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==r.multipleSelectionSupport);WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(Boolean(r.selectionNavigation)),this.listHasSelectionOrFocus=WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=r.horizontalScrolling,this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(l),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),this.updateStyles(r.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)})})),this.disposables.add(this.onDidChangeFocus(()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)})),this.disposables.add(l.onDidChangeConfiguration(e=>{e.affectsConfiguration(multiSelectModifierSettingKey)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(l));let t={};if(e.affectsConfiguration(horizontalScrollingKey)&&void 0===this.horizontalScrolling){const e=Boolean(l.getValue(horizontalScrollingKey));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(scrollByPageKey)){const e=Boolean(l.getValue(scrollByPageKey));t={...t,scrollByPage:e}}if(e.affectsConfiguration(listSmoothScrolling)){const e=Boolean(l.getValue(listSmoothScrolling));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(mouseWheelScrollSensitivityKey)){const e=l.getValue(mouseWheelScrollSensitivityKey);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(fastScrollSensitivityKey)){const e=l.getValue(fastScrollSensitivityKey);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)})),this.navigator=new TableResourceNavigator(this,{configurationService:l,...r}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?getListStyles(e):defaultListStyles)}dispose(){this.disposables.dispose(),super.dispose()}};WorkbenchTable=__decorate$2b([__param$27(6,IContextKeyService),__param$27(7,IListService),__param$27(8,IConfigurationService),__param$27(9,IInstantiationService)],WorkbenchTable);class ResourceNavigator extends Disposable{constructor(e,t){super(),this.widget=e,this._onDidOpen=this._register(new Emitter$1),this.onDidOpen=this._onDidOpen.event,this._register(Event$1.filter(this.widget.onDidChangeSelection,e=>isKeyboardEvent(e.browserEvent))(e=>this.onSelectionFromKeyboard(e))),this._register(this.widget.onPointer(e=>this.onPointer(e.element,e.browserEvent))),this._register(this.widget.onMouseDblClick(e=>this.onMouseDblClick(e.element,e.browserEvent))),"boolean"!=typeof t?.openOnSingleClick&&t?.configurationService?(this.openOnSingleClick="doubleClick"!==t?.configurationService.getValue(openModeSettingKey),this._register(t?.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(openModeSettingKey)&&(this.openOnSingleClick="doubleClick"!==t?.configurationService.getValue(openModeSettingKey))}))):this.openOnSingleClick=t?.openOnSingleClick??!0}onSelectionFromKeyboard(e){if(1!==e.elements.length)return;const t=e.browserEvent,i="boolean"!=typeof t.preserveFocus||t.preserveFocus,o="boolean"==typeof t.pinned?t.pinned:!i;this._open(this.getSelectedElement(),i,o,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick)return;if(2===t.detail)return;const i=1===t.button,o=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!0,i,o,t)}onMouseDblClick(e,t){if(!t)return;const i=t.target;if(i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&t.offsetX<16)return;const o=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!1,!0,o,t)}_open(e,t,i,o,n){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:i,revealIfVisible:!0},sideBySide:o,element:e,browserEvent:n})}}class ListResourceNavigator extends ResourceNavigator{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class TableResourceNavigator extends ResourceNavigator{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class TreeResourceNavigator extends ResourceNavigator{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}}function createKeyboardNavigationEventFilter(e){let t=!1;return i=>{if(i.toKeyCodeChord().isModifierKey())return!1;if(t)return t=!1,!1;const o=e.softDispatch(i,i.target);return 1===o.kind?(t=!0,!1):(t=!1,0===o.kind)}}let WorkbenchObjectTree=class extends ObjectTree{constructor(e,t,i,o,n,r,s,a,l){const{options:c,getTypeNavigationMode:d,disposable:u}=r.invokeFunction(workbenchTreeDataPreamble,n);super(e,t,i,o,c),this.disposables.add(u),this.internals=new WorkbenchTreeInternals(this,n,d,n.overrideStyles,s,a,l),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};WorkbenchObjectTree=__decorate$2b([__param$27(5,IInstantiationService),__param$27(6,IContextKeyService),__param$27(7,IListService),__param$27(8,IConfigurationService)],WorkbenchObjectTree);let WorkbenchCompressibleObjectTree=class extends CompressibleObjectTree{constructor(e,t,i,o,n,r,s,a,l){const{options:c,getTypeNavigationMode:d,disposable:u}=r.invokeFunction(workbenchTreeDataPreamble,n);super(e,t,i,o,c),this.disposables.add(u),this.internals=new WorkbenchTreeInternals(this,n,d,n.overrideStyles,s,a,l),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchCompressibleObjectTree=__decorate$2b([__param$27(5,IInstantiationService),__param$27(6,IContextKeyService),__param$27(7,IListService),__param$27(8,IConfigurationService)],WorkbenchCompressibleObjectTree);let WorkbenchDataTree=class extends DataTree{constructor(e,t,i,o,n,r,s,a,l,c){const{options:d,getTypeNavigationMode:u,disposable:h}=s.invokeFunction(workbenchTreeDataPreamble,r);super(e,t,i,o,n,d),this.disposables.add(h),this.internals=new WorkbenchTreeInternals(this,r,u,r.overrideStyles,a,l,c),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),void 0!==e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchDataTree=__decorate$2b([__param$27(6,IInstantiationService),__param$27(7,IContextKeyService),__param$27(8,IListService),__param$27(9,IConfigurationService)],WorkbenchDataTree);let WorkbenchAsyncDataTree=class extends AsyncDataTree{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,i,o,n,r,s,a,l,c){const{options:d,getTypeNavigationMode:u,disposable:h}=s.invokeFunction(workbenchTreeDataPreamble,r);super(e,t,i,o,n,d),this.disposables.add(h),this.internals=new WorkbenchTreeInternals(this,r,u,r.overrideStyles,a,l,c),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchAsyncDataTree=__decorate$2b([__param$27(6,IInstantiationService),__param$27(7,IContextKeyService),__param$27(8,IListService),__param$27(9,IConfigurationService)],WorkbenchAsyncDataTree);let WorkbenchCompressibleAsyncDataTree=class extends CompressibleAsyncDataTree{constructor(e,t,i,o,n,r,s,a,l,c,d){const{options:u,getTypeNavigationMode:h,disposable:p}=a.invokeFunction(workbenchTreeDataPreamble,s);super(e,t,i,o,n,r,u),this.disposables.add(p),this.internals=new WorkbenchTreeInternals(this,s,h,s.overrideStyles,l,c,d),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};function getDefaultTreeFindMode(e){const t=e.getValue(defaultFindModeSettingKey);if("highlight"===t)return TreeFindMode.Highlight;if("filter"===t)return TreeFindMode.Filter;const i=e.getValue(keyboardNavigationSettingKey);return"simple"===i||"highlight"===i?TreeFindMode.Highlight:"filter"===i?TreeFindMode.Filter:void 0}function getDefaultTreeFindMatchType(e){const t=e.getValue(defaultFindMatchTypeSettingKey);return"fuzzy"===t?TreeFindMatchType.Fuzzy:"contiguous"===t?TreeFindMatchType.Contiguous:void 0}function workbenchTreeDataPreamble(e,t){const i=e.get(IConfigurationService),o=e.get(IContextViewService),n=e.get(IContextKeyService),r=e.get(IInstantiationService),s=void 0!==t.horizontalScrolling?t.horizontalScrolling:Boolean(i.getValue(horizontalScrollingKey)),[a,l]=r.invokeFunction(toWorkbenchListOptions,t),c=t.paddingBottom,d=void 0!==t.renderIndentGuides?t.renderIndentGuides:i.getValue(treeRenderIndentGuidesKey);return{getTypeNavigationMode:()=>{const e=n.getContextKeyValue(WorkbenchListTypeNavigationModeKey);if("automatic"===e)return TypeNavigationMode.Automatic;if("trigger"===e)return TypeNavigationMode.Trigger;if(!1===n.getContextKeyValue(WorkbenchListAutomaticKeyboardNavigationLegacyKey))return TypeNavigationMode.Trigger;const t=i.getValue(typeNavigationModeSettingKey);return"automatic"===t?TypeNavigationMode.Automatic:"trigger"===t?TypeNavigationMode.Trigger:void 0},disposable:l,options:{keyboardSupport:!1,...a,indent:"number"==typeof i.getValue(treeIndentKey)?i.getValue(treeIndentKey):void 0,renderIndentGuides:d,smoothScrolling:Boolean(i.getValue(listSmoothScrolling)),defaultFindMode:getDefaultTreeFindMode(i),defaultFindMatchType:getDefaultTreeFindMatchType(i),horizontalScrolling:s,scrollByPage:Boolean(i.getValue(scrollByPageKey)),paddingBottom:c,hideTwistiesOfChildlessElements:t.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:t.expandOnlyOnTwistieClick??"doubleClick"===i.getValue(treeExpandMode),contextViewProvider:o,findWidgetStyles:defaultFindWidgetStyles,enableStickyScroll:Boolean(i.getValue(treeStickyScroll)),stickyScrollMaxItemCount:Number(i.getValue(treeStickyScrollMaxElements))}}}WorkbenchCompressibleAsyncDataTree=__decorate$2b([__param$27(7,IInstantiationService),__param$27(8,IContextKeyService),__param$27(9,IListService),__param$27(10,IConfigurationService)],WorkbenchCompressibleAsyncDataTree);let WorkbenchTreeInternals=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,i,o,n,r,s){this.tree=e,this.disposables=[],this.contextKeyService=createScopedContextKeyService(n,e),this.disposables.push(createScrollObserver(this.contextKeyService,e)),this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==t.multipleSelectionSupport);WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(Boolean(t.selectionNavigation)),this.listSupportFindWidget=WorkbenchListSupportsFind.bindTo(this.contextKeyService),this.listSupportFindWidget.set(t.findWidgetEnabled??!0),this.hasSelectionOrFocus=WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.hasDoubleSelection=WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.hasMultiSelection=WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.treeElementCanCollapse=WorkbenchTreeElementCanCollapse.bindTo(this.contextKeyService),this.treeElementHasParent=WorkbenchTreeElementHasParent.bindTo(this.contextKeyService),this.treeElementCanExpand=WorkbenchTreeElementCanExpand.bindTo(this.contextKeyService),this.treeElementHasChild=WorkbenchTreeElementHasChild.bindTo(this.contextKeyService),this.treeFindOpen=WorkbenchTreeFindOpen.bindTo(this.contextKeyService),this.treeStickyScrollFocused=WorkbenchTreeStickyScrollFocused.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(s),this.updateStyleOverrides(o);const a=()=>{const t=e.getFocus()[0];if(!t)return;const i=e.getNode(t);this.treeElementCanCollapse.set(i.collapsible&&!i.collapsed),this.treeElementHasParent.set(!!e.getParentElement(t)),this.treeElementCanExpand.set(i.collapsible&&i.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(t))},l=new Set;l.add(WorkbenchListTypeNavigationModeKey),l.add(WorkbenchListAutomaticKeyboardNavigationLegacyKey),this.disposables.push(this.contextKeyService,r.register(e),e.onDidChangeSelection(()=>{const t=e.getSelection(),i=e.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(t.length>0||i.length>0),this.hasMultiSelection.set(t.length>1),this.hasDoubleSelection.set(2===t.length)})}),e.onDidChangeFocus(()=>{const t=e.getSelection(),i=e.getFocus();this.hasSelectionOrFocus.set(t.length>0||i.length>0),a()}),e.onDidChangeCollapseState(a),e.onDidChangeModel(a),e.onDidChangeFindOpenState(e=>this.treeFindOpen.set(e)),e.onDidChangeStickyScrollFocused(e=>this.treeStickyScrollFocused.set(e)),s.onDidChangeConfiguration(o=>{let n={};if(o.affectsConfiguration(multiSelectModifierSettingKey)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(s)),o.affectsConfiguration(treeIndentKey)){const e=s.getValue(treeIndentKey);n={...n,indent:e}}if(o.affectsConfiguration(treeRenderIndentGuidesKey)&&void 0===t.renderIndentGuides){const e=s.getValue(treeRenderIndentGuidesKey);n={...n,renderIndentGuides:e}}if(o.affectsConfiguration(listSmoothScrolling)){const e=Boolean(s.getValue(listSmoothScrolling));n={...n,smoothScrolling:e}}if(o.affectsConfiguration(defaultFindModeSettingKey)||o.affectsConfiguration(keyboardNavigationSettingKey)){const e=getDefaultTreeFindMode(s);n={...n,defaultFindMode:e}}if(o.affectsConfiguration(typeNavigationModeSettingKey)||o.affectsConfiguration(keyboardNavigationSettingKey)){const e=i();n={...n,typeNavigationMode:e}}if(o.affectsConfiguration(defaultFindMatchTypeSettingKey)){const e=getDefaultTreeFindMatchType(s);n={...n,defaultFindMatchType:e}}if(o.affectsConfiguration(horizontalScrollingKey)&&void 0===t.horizontalScrolling){const e=Boolean(s.getValue(horizontalScrollingKey));n={...n,horizontalScrolling:e}}if(o.affectsConfiguration(scrollByPageKey)){const e=Boolean(s.getValue(scrollByPageKey));n={...n,scrollByPage:e}}if(o.affectsConfiguration(treeExpandMode)&&void 0===t.expandOnlyOnTwistieClick&&(n={...n,expandOnlyOnTwistieClick:"doubleClick"===s.getValue(treeExpandMode)}),o.affectsConfiguration(treeStickyScroll)){const e=s.getValue(treeStickyScroll);n={...n,enableStickyScroll:e}}if(o.affectsConfiguration(treeStickyScrollMaxElements)){const e=Math.max(1,s.getValue(treeStickyScrollMaxElements));n={...n,stickyScrollMaxItemCount:e}}if(o.affectsConfiguration(mouseWheelScrollSensitivityKey)){const e=s.getValue(mouseWheelScrollSensitivityKey);n={...n,mouseWheelScrollSensitivity:e}}if(o.affectsConfiguration(fastScrollSensitivityKey)){const e=s.getValue(fastScrollSensitivityKey);n={...n,fastScrollSensitivity:e}}Object.keys(n).length>0&&e.updateOptions(n)}),this.contextKeyService.onDidChangeContext(t=>{t.affectsSome(l)&&e.updateOptions({typeNavigationMode:i()})})),this.navigator=new TreeResourceNavigator(e,{configurationService:s,...t}),this.disposables.push(this.navigator)}updateOptions(e){void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?getListStyles(e):defaultListStyles)}dispose(){this.disposables=dispose(this.disposables)}};WorkbenchTreeInternals=__decorate$2b([__param$27(4,IContextKeyService),__param$27(5,IListService),__param$27(6,IConfigurationService)],WorkbenchTreeInternals);const configurationRegistry=Registry.as(Extensions$6.Configuration);configurationRegistry.registerConfiguration({id:"workbench",order:7,title:localize("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[multiSelectModifierSettingKey]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[localize("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),localize("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:localize({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"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.")},[openModeSettingKey]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:localize({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"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.")},[horizontalScrollingKey]:{type:"boolean",default:!1,description:localize("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[scrollByPageKey]:{type:"boolean",default:!1,description:localize("list.scrollByPage","Controls whether clicks in the scrollbar scroll page by page.")},[treeIndentKey]:{type:"number",default:8,minimum:4,maximum:40,description:localize("tree indent setting","Controls tree indentation in pixels.")},[treeRenderIndentGuidesKey]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:localize("render tree indent guides","Controls whether the tree should render indent guides.")},[listSmoothScrolling]:{type:"boolean",default:!1,description:localize("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[mouseWheelScrollSensitivityKey]:{type:"number",default:1,markdownDescription:localize("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[fastScrollSensitivityKey]:{type:"number",default:5,markdownDescription:localize("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[defaultFindModeSettingKey]:{type:"string",enum:["highlight","filter"],enumDescriptions:[localize("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),localize("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:localize("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[keyboardNavigationSettingKey]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[localize("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),localize("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),localize("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:localize("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:localize("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.")},[defaultFindMatchTypeSettingKey]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[localize("defaultFindMatchTypeSettingKey.fuzzy","Use fuzzy matching when searching."),localize("defaultFindMatchTypeSettingKey.contiguous","Use contiguous matching when searching.")],default:"fuzzy",description:localize("defaultFindMatchTypeSettingKey","Controls the type of matching used when searching lists and trees in the workbench.")},[treeExpandMode]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:localize("expand mode","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.")},[treeStickyScroll]:{type:"boolean",default:!0,description:localize("sticky scroll","Controls whether sticky scrolling is enabled in trees.")},[treeStickyScrollMaxElements]:{type:"number",minimum:1,default:7,markdownDescription:localize("sticky scroll maximum items","Controls the number of sticky elements displayed in the tree when {0} is enabled.","`#workbench.tree.enableStickyScroll#`")},[typeNavigationModeSettingKey]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:localize("typeNavigationMode2","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.")}}});class HighlightedLabel extends Disposable{constructor(e,t){super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=t?.supportIcons??!1,this.domNode=append$2(e,$$f("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],i="",o){e||(e=""),o&&(e=HighlightedLabel.escapeNewLines(e,t)),this.didEverRender&&this.text===e&&this.title===i&&equals$1(this.highlights,t)||(this.text=e,this.title=i,this.highlights=t,this.render())}render(){const e=[];let t=0;for(const i of this.highlights){if(i.end===i.start)continue;if(t{o="\r\n"===e?-1:0,n+=i;for(const i of t)i.end<=n||(i.start>=n&&(i.start+=o),i.end>=n&&(i.end+=o));return i+=o,"⏎"})}}class FastLabelNode{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set classNames(e){this.disposed||equals$1(e,this._classNames)||(this._classNames=e,this._element.classList.value="",this._element.classList.add(...e))}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class IconLabel extends Disposable{constructor(e,t){super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new FastLabelNode(append$2(e,$$f(".monaco-icon-label")))),this.labelContainer=append$2(this.domNode.element,$$f(".monaco-icon-label-container")),this.nameContainer=append$2(this.labelContainer,$$f("span.monaco-icon-name-container")),this.nameNode=t?.supportHighlights||t?.supportIcons?this._register(new LabelWithHighlights(this.nameContainer,!!t.supportIcons)):new Label(this.nameContainer),this.hoverDelegate=t?.hoverDelegate??getDefaultHoverDelegate("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){const o=["monaco-icon-label"],n=["monaco-icon-label-container"];let r="";i&&(i.extraClasses&&o.push(...i.extraClasses),i.italic&&o.push("italic"),i.strikethrough&&o.push("strikethrough"),i.disabledCommand&&n.push("disabled"),i.title&&("string"==typeof i.title?r+=i.title:r+=e));const s=this.domNode.element.querySelector(".monaco-icon-label-iconpath");if(i?.iconPath){let e;s&&isHTMLElement$1(s)?e=s:(e=$$f(".monaco-icon-label-iconpath"),this.domNode.element.prepend(e)),e.style.backgroundImage=asCSSUrl(i?.iconPath)}else s&&s.remove();if(this.domNode.classNames=o,this.domNode.element.setAttribute("aria-label",r),this.labelContainer.classList.value="",this.labelContainer.classList.add(...n),this.setupHover(i?.descriptionTitle?this.labelContainer:this.element,i?.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const e=this.getOrCreateDescriptionNode();e instanceof HighlightedLabel?(e.set(t||"",i?i.descriptionMatches:void 0,void 0,i?.labelEscapeNewLines),this.setupHover(e.element,i?.descriptionTitle)):(e.textContent=t&&i?.labelEscapeNewLines?HighlightedLabel.escapeNewLines(t,[]):t||"",this.setupHover(e.element,i?.descriptionTitle||""),e.empty=!t)}if(i?.suffix||this.suffixNode){this.getOrCreateSuffixNode().textContent=i?.suffix??""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),t)if(this.hoverDelegate.showNativeHover){function o(e,t){isString$4(t)?e.title=stripIcons(t):t?.markdownNotSupportedFallback?e.title=t.markdownNotSupportedFallback:e.removeAttribute("title")}o(e,t)}else{const n=getBaseLayerHoverDelegate().setupManagedHover(this.hoverDelegate,e,t);n&&this.customHovers.set(e,n)}else e.removeAttribute("title")}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new FastLabelNode(after(this.nameContainer,$$f("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new FastLabelNode(append$2(e.element,$$f("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){const e=this._register(new FastLabelNode(append$2(this.labelContainer,$$f("span.monaco-icon-description-container"))));this.creationOptions?.supportDescriptionHighlights?this.descriptionNode=this._register(new HighlightedLabel(append$2(e.element,$$f("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new FastLabelNode(append$2(e.element,$$f("span.label-description"))))}return this.descriptionNode}}class Label{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(this.label!==e||!equals$1(this.options,t))if(this.label=e,this.options=t,"string"==typeof e)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=append$2(this.container,$$f("a.label-name",{id:t?.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i{const n={start:o,end:o+e.length},r=i.map(e=>Range$1.intersect(n,e)).filter(e=>!Range$1.isEmpty(e)).map(({start:e,end:t})=>({start:e-o,end:t-o}));return o=n.end+t.length,r})}class LabelWithHighlights extends Disposable{constructor(e,t){super(),this.container=e,this.supportIcons=t,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(this.label!==e||!equals$1(this.options,t))if(this.label=e,this.options=t,"string"==typeof e)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=this._register(new HighlightedLabel(append$2(this.container,$$f("a.label-name",{id:t?.domId})),{supportIcons:this.supportIcons}))),this.singleLabel.set(e,t?.matches,void 0,t?.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const i=t?.separator||"/",o=splitMatches(e,i,t?.matches);for(let n=0;n{const e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}});function compareFileNames(e,t,i=!1){const o=e||"",n=t||"",r=intlFileNameCollatorBaseNumeric.value.collator.compare(o,n);return intlFileNameCollatorBaseNumeric.value.collatorIsNumeric&&0===r&&o!==n?on.length)return 1}return 0}var __decorate$2a=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$26=function(e,t){return function(i,o){t(i,o,e)}},QuickPickItemElementRenderer_1;const $$8=$$f;class BaseQuickPickItemElement{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Lazy(()=>{const e=i.label??"",t=parseLabelWithIcons(e).text.trim(),o=i.ariaLabel||[e,this.saneDescription,this.saneDetail].map(e=>getCodiconAriaLabel(e)).filter(e=>!!e).join(", ");return{saneLabel:e,saneSortLabel:t,saneAriaLabel:o}}),this._saneDescription=i.description,this._saneTooltip=i.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(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}}class QuickPickItemElement extends BaseQuickPickItemElement{constructor(e,t,i,o,n,r){super(e,t,n),this.fireButtonTriggered=i,this._onChecked=o,this.item=n,this._separator=r,this._checked=!1,this.onChecked=t?Event$1.map(Event$1.filter(this._onChecked.event,e=>e.element===this),e=>e.checked):Event$1.None,this._saneDetail=n.detail,this._labelHighlights=n.highlights?.label,this._descriptionHighlights=n.highlights?.description,this._detailHighlights=n.highlights?.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}}var QuickPickSeparatorFocusReason;!function(e){e[e.NONE=0]="NONE",e[e.MOUSE_HOVER=1]="MOUSE_HOVER",e[e.ACTIVE_ITEM=2]="ACTIVE_ITEM"}(QuickPickSeparatorFocusReason||(QuickPickSeparatorFocusReason={}));class QuickPickSeparatorElement extends BaseQuickPickItemElement{constructor(e,t,i){super(e,!1,i),this.fireSeparatorButtonTriggered=t,this.separator=i,this.children=new Array,this.focusInsideSeparator=QuickPickSeparatorFocusReason.NONE}}class QuickInputItemDelegate{getHeight(e){return e instanceof QuickPickSeparatorElement?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof QuickPickItemElement?QuickPickItemElementRenderer.ID:QuickPickSeparatorElementRenderer.ID}}class QuickInputAccessibilityProvider{getWidgetAriaLabel(){return localize("quickInput","Quick Input")}getAriaLabel(e){return e.separator?.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(e.hasCheckbox&&e instanceof QuickPickItemElement)return{get value(){return e.checked},onDidChange:t=>e.onChecked(()=>t())}}}class BaseQuickInputListRenderer{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new DisposableStore,t.toDisposeTemplate=new DisposableStore,t.entry=append$2(e,$$8(".quick-input-list-entry"));const i=append$2(t.entry,$$8("label.quick-input-list-label"));t.toDisposeTemplate.add(addStandardDisposableListener(i,EventType$1.CLICK,e=>{t.checkbox.offsetParent||e.preventDefault()})),t.checkbox=append$2(i,$$8("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const o=append$2(i,$$8(".quick-input-list-rows")),n=append$2(o,$$8(".quick-input-list-row")),r=append$2(o,$$8(".quick-input-list-row"));t.label=new IconLabel(n,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=prepend$1(t.label.element,$$8(".quick-input-list-icon"));const s=append$2(n,$$8(".quick-input-list-entry-keybinding"));t.keybinding=new KeybindingLabel(s,OS),t.toDisposeTemplate.add(t.keybinding);const a=append$2(r,$$8(".quick-input-list-label-meta"));return t.detail=new IconLabel(a,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=append$2(t.entry,$$8(".quick-input-list-separator")),t.actionBar=new ActionBar(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,i){i.toDisposeElement.clear(),i.actionBar.clear()}}let QuickPickItemElementRenderer=class extends BaseQuickInputListRenderer{static{QuickPickItemElementRenderer_1=this}static{this.ID="quickpickitem"}constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return QuickPickItemElementRenderer_1.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(addStandardDisposableListener(t.checkbox,EventType$1.CHANGE,e=>{t.element.checked=t.checkbox.checked})),t}renderElement(e,t,i){const o=e.element;i.element=o,o.element=i.entry??void 0;const n=o.item;i.checkbox.checked=o.checked,i.toDisposeElement.add(o.onChecked(e=>i.checkbox.checked=e)),i.checkbox.disabled=o.checkboxDisabled;const{labelHighlights:r,descriptionHighlights:s,detailHighlights:a}=o;if(n.iconPath){const e=isDark(this.themeService.getColorTheme().type)?n.iconPath.dark:n.iconPath.light??n.iconPath.dark,t=URI.revive(e);i.icon.className="quick-input-list-icon",i.icon.style.backgroundImage=asCSSUrl(t)}else i.icon.style.backgroundImage="",i.icon.className=n.iconClass?`quick-input-list-icon ${n.iconClass}`:"";let l;!o.saneTooltip&&o.saneDescription&&(l={markdown:{value:o.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDescription});const c={matches:r||[],descriptionTitle:l,descriptionMatches:s||[],labelEscapeNewLines:!0};if(c.extraClasses=n.iconClasses,c.italic=n.italic,c.strikethrough=n.strikethrough,i.entry.classList.remove("quick-input-list-separator-as-item"),i.label.setLabel(o.saneLabel,o.saneDescription,c),i.keybinding.set(n.keybinding),o.saneDetail){let e;o.saneTooltip||(e={markdown:{value:o.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(o.saneDetail,void 0,{matches:a,title:e,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";o.separator?.label?(i.separator.textContent=o.separator.label,i.separator.style.display="",this.addItemWithSeparator(o)):i.separator.style.display="none",i.entry.classList.toggle("quick-input-list-separator-border",!!o.separator);const d=n.buttons;d&&d.length?(i.actionBar.push(d.map((e,t)=>quickInputButtonToAction(e,`id-${t}`,()=>o.fireButtonTriggered({button:e,item:o.item}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions")}disposeElement(e,t,i){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,i)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}};QuickPickItemElementRenderer=QuickPickItemElementRenderer_1=__decorate$2a([__param$26(1,IThemeService)],QuickPickItemElementRenderer);class QuickPickSeparatorElementRenderer extends BaseQuickInputListRenderer{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}static{this.ID="quickpickseparator"}get templateId(){return QuickPickSeparatorElementRenderer.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderTemplate(e){const t=super.renderTemplate(e);return t.checkbox.style.display="none",t}renderElement(e,t,i){const o=e.element;i.element=o,o.element=i.entry??void 0,o.element.classList.toggle("focus-inside",!!o.focusInsideSeparator);const n=o.separator,{labelHighlights:r,descriptionHighlights:s,detailHighlights:a}=o;let l;i.icon.style.backgroundImage="",i.icon.className="",!o.saneTooltip&&o.saneDescription&&(l={markdown:{value:o.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDescription});const c={matches:r||[],descriptionTitle:l,descriptionMatches:s||[],labelEscapeNewLines:!0};if(i.entry.classList.add("quick-input-list-separator-as-item"),i.label.setLabel(o.saneLabel,o.saneDescription,c),o.saneDetail){let e;o.saneTooltip||(e={markdown:{value:o.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(o.saneDetail,void 0,{matches:a,title:e,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";i.separator.style.display="none",i.entry.classList.add("quick-input-list-separator-border");const d=n.buttons;d&&d.length?(i.actionBar.push(d.map((e,t)=>quickInputButtonToAction(e,`id-${t}`,()=>o.fireSeparatorButtonTriggered({button:e,separator:o.separator}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions"),this.addSeparator(o)}disposeElement(e,t,i){this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||e.element.element?.classList.remove("focus-inside"),super.disposeElement(e,t,i)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}}let QuickInputTree=class extends Disposable{constructor(e,t,i,o,n,r){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=i,this.accessibilityService=r,this._onKeyDown=new Emitter$1,this._onLeave=new Emitter$1,this.onLeave=this._onLeave.event,this._visibleCountObservable=observableValue("VisibleCount",0),this.onChangedVisibleCount=Event$1.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=observableValue("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=Event$1.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=observableValue("CheckedCount",0),this.onChangedCheckedCount=Event$1.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=observableValueOpts({equalsFn:equals$2},new Array),this.onChangedCheckedElements=Event$1.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new Emitter$1,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new Emitter$1,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new Emitter$1,this._elementCheckedEventBufferer=new 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=append$2(this.parent,$$8(".quick-input-list")),this._separatorRenderer=new QuickPickSeparatorElementRenderer(t),this._itemRenderer=n.createInstance(QuickPickItemElementRenderer,t),this._tree=this._register(n.createInstance(WorkbenchObjectTree,"QuickInput",this._container,new QuickInputItemDelegate,[this._itemRenderer,this._separatorRenderer],{filter:{filter:e=>e.hidden?0:e instanceof QuickPickSeparatorElement?2:1},sorter:{compare:(e,t)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;return compareEntries(e,t,this._lastQueryString.toLowerCase())}},accessibilityProvider:new QuickInputAccessibilityProvider,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:RenderIndentGuides.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=o,this._registerListeners()}get onDidChangeFocus(){return Event$1.map(this._tree.onDidChangeFocus,e=>e.elements.filter(e=>e instanceof QuickPickItemElement).map(e=>e.item),this._store)}get onDidChangeSelection(){return Event$1.map(this._tree.onDidChangeSelection,e=>({items:e.elements.filter(e=>e instanceof QuickPickItemElement).map(e=>e.item),event:e.browserEvent}),this._store)}get displayed(){return"none"!==this._container.style.display}set displayed(e){this._container.style.display=e?"":"none"}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e??""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}get shouldLoop(){return this._shouldLoop}set shouldLoop(e){this._shouldLoop=e}_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(e=>{const t=new StandardKeyboardEvent(e);if(10===t.keyCode)this.toggleCheckbox();this._onKeyDown.fire(t)}))}_registerOnContainerClick(){this._register(addDisposableListener(this._container,EventType$1.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(addDisposableListener(this._container,EventType$1.AUXCLICK,e=>{1===e.button&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{const e=this._itemElements.filter(e=>!e.hidden).length;this._visibleCountObservable.set(e,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(e,t)=>t)(e=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))}))}_registerHoverListeners(){const e=this._register(new ThrottledDelayer(this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async t=>{if(isHTMLAnchorElement(t.browserEvent.target))e.cancel();else if(isHTMLAnchorElement(t.browserEvent.relatedTarget)||!isAncestor$1(t.browserEvent.relatedTarget,t.element?.element))try{await e.trigger(async()=>{t.element instanceof QuickPickItemElement&&this.showHover(t.element)})}catch(t){if(!isCancellationError(t))throw t}})),this._register(this._tree.onMouseOut(t=>{isAncestor$1(t.browserEvent.relatedTarget,t.element?.element)||e.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const i of this._separatorRenderer.visibleSeparators){const e=i===t;!!(i.focusInsideSeparator&QuickPickSeparatorFocusReason.ACTIVE_ITEM)!==e&&(e?i.focusInsideSeparator|=QuickPickSeparatorFocusReason.ACTIVE_ITEM:i.focusInsideSeparator&=~QuickPickSeparatorFocusReason.ACTIVE_ITEM,this._tree.rerender(i))}})),this._register(this._tree.onMouseOver(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&QuickPickSeparatorFocusReason.MOUSE_HOVER)||(i.focusInsideSeparator|=QuickPickSeparatorFocusReason.MOUSE_HOVER,this._tree.rerender(i))}})),this._register(this._tree.onMouseOut(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&QuickPickSeparatorFocusReason.MOUSE_HOVER)&&(i.focusInsideSeparator&=~QuickPickSeparatorFocusReason.MOUSE_HOVER,this._tree.rerender(i))}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(e=>{const t=e.elements.filter(e=>e instanceof QuickPickItemElement);t.length!==e.elements.length&&(1===e.elements.length&&e.elements[0]instanceof QuickPickSeparatorElement&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))}))}setAllVisibleChecked(e){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(t=>{t.hidden||t.checkboxDisabled||(t.checked=e)})})}setElements(e){let t;this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=e,this._hasCheckboxes=this.parent.classList.contains("show-checkboxes"),this._itemElements=new Array,this._elementTree=e.reduce((i,o,n)=>{let r;if("separator"===o.type){if(!o.buttons)return i;t=new QuickPickSeparatorElement(n,e=>this._onSeparatorButtonTriggered.fire(e),o),r=t}else{const s=n>0?e[n-1]:void 0;let a;s&&"separator"===s.type&&!s.buttons&&(t=void 0,a=s);const l=new QuickPickItemElement(n,this._hasCheckboxes,e=>this._onButtonTriggered.fire(e),this._elementChecked,o,a);if(this._itemElements.push(l),t)return t.children.push(l),i;r=l}return i.push(r),i},new Array),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&setTimeout(()=>{const e=this._tree.getHTMLElement().querySelector(".monaco-list-row.focused"),t=e?.parentNode;if(e&&t){const i=e.nextSibling;e.remove(),t.insertBefore(e,i)}},0)}setFocusedElements(e){const t=e.map(e=>this._itemElements.find(t=>t.item===e)).filter(e=>!!e).filter(e=>!e.hidden);if(this._tree.setFocus(t),e.length>0){const e=this._tree.getFocus()[0];e&&this._tree.reveal(e)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map(e=>this._itemElements.find(t=>t.item===e)).filter(e=>!!e);this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){this._elementCheckedEventBufferer.bufferEvents(()=>{const t=new Set;for(const i of e)t.add(i);for(const e of this._itemElements)e.checked=t.has(e.item)})}focus(e){if(this._itemElements.length)switch(e===QuickPickFocus.Second&&this._itemElements.length<2&&(e=QuickPickFocus.First),e){case QuickPickFocus.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,e=>e.element instanceof QuickPickItemElement);break;case QuickPickFocus.Second:{this._tree.scrollTop=0;let e=!1;this._tree.focusFirst(void 0,t=>t.element instanceof QuickPickItemElement&&(!!e||(e=!e,!1)));break}case QuickPickFocus.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,e=>e.element instanceof QuickPickItemElement);break;case QuickPickFocus.Next:{const e=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,e=>e.element instanceof QuickPickItemElement&&(this._tree.reveal(e.element),!0));const t=this._tree.getFocus();e.length&&e[0]===t[0]&&e[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}case QuickPickFocus.Previous:{const e=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,e=>{if(!(e.element instanceof QuickPickItemElement))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0});const t=this._tree.getFocus();e.length&&e[0]===t[0]&&e[0]===this._itemElements[0]&&this._onLeave.fire();break}case QuickPickFocus.NextPage:this._tree.focusNextPage(void 0,e=>e.element instanceof QuickPickItemElement&&(this._tree.reveal(e.element),!0));break;case QuickPickFocus.PreviousPage:this._tree.focusPreviousPage(void 0,e=>{if(!(e.element instanceof QuickPickItemElement))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0});break;case QuickPickFocus.NextSeparator:{let e=!1;const t=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,t=>{if(e)return!0;if(t.element instanceof QuickPickSeparatorElement)e=!0,this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element.children[0]):this._tree.reveal(t.element,0);else if(t.element instanceof QuickPickItemElement){if(t.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),!0;if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0}return!1});t===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,e=>e.element instanceof QuickPickItemElement));break}case QuickPickFocus.PreviousSeparator:{let e,t=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,i=>{if(i.element instanceof QuickPickSeparatorElement)t?e||(this._separatorRenderer.isSeparatorVisible(i.element)?this._tree.reveal(i.element):this._tree.reveal(i.element,0),e=i.element.children[0]):t=!0;else if(i.element instanceof QuickPickItemElement&&!e)if(i.element.separator)this._itemRenderer.isItemWithSeparatorVisible(i.element)?this._tree.reveal(i.element):this._tree.reveal(i.element,0),e=i.element;else if(i.element===this._elementTree[0])return this._tree.reveal(i.element,0),!0;return!1}),e&&this._tree.setFocus([e]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?44*Math.floor(e/44)+6+"px":"",this._tree.layout()}filter(e){if(this._lastQueryString=e,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if((e=e.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let i;this._itemElements.forEach(o=>{let n;n="fuzzy"===this.matchOnLabelMode?this.matchOnLabel?matchesFuzzyIconAware(e,parseLabelWithIcons(o.saneLabel))??void 0:void 0:this.matchOnLabel?matchesContiguousIconAware(t,parseLabelWithIcons(o.saneLabel))??void 0:void 0;const r=this.matchOnDescription?matchesFuzzyIconAware(e,parseLabelWithIcons(o.saneDescription||""))??void 0:void 0,s=this.matchOnDetail?matchesFuzzyIconAware(e,parseLabelWithIcons(o.saneDetail||""))??void 0:void 0;if(n||r||s?(o.labelHighlights=n,o.descriptionHighlights=r,o.detailHighlights=s,o.hidden=!1):(o.labelHighlights=void 0,o.descriptionHighlights=void 0,o.detailHighlights=void 0,o.hidden=!o.item||!o.item.alwaysShow),o.item?o.separator=void 0:o.separator&&(o.hidden=!0),!this.sortByLabel){const e=o.index&&this._inputElements[o.index-1]||void 0;"separator"!==e?.type||e.buttons||(i=e),i&&!o.hidden&&(o.separator=i,i=void 0)}})}else this._itemElements.forEach(e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;const t=e.index&&this._inputElements[e.index-1];e.item&&(e.separator=t&&"separator"===t.type&&!t.buttons?t:void 0)});return this._setElementsToTree(this._sortByLabel&&e?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{const e=this._tree.getFocus().filter(e=>e instanceof QuickPickItemElement),t=this._allVisibleChecked(e);for(const i of e)i.checkboxDisabled||(i.checked=!t)})}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!(e?.saneTooltip&&e instanceof QuickPickItemElement))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();this.showHover(e);const t=new DisposableStore;t.add(this._tree.onDidChangeFocus(e=>{e.elements[0]instanceof QuickPickItemElement&&this.showHover(e.elements[0])})),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_setElementsToTree(e){const t=new Array;for(const i of e)i instanceof QuickPickSeparatorElement?t.push({element:i,collapsible:!1,collapsed:!1,children:i.children.map(e=>({element:e,collapsible:!1,collapsed:!1}))}):t.push({element:i,collapsible:!1,collapsed:!1});this._tree.setChildren(null,t)}_allVisibleChecked(e,t=!0){for(let i=0,o=e.length;i{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),e);const t=this._itemElements.filter(e=>e.checked).length;this._checkedCountObservable.set(t,e),this._checkedElementsObservable.set(this.getCheckedElements(),e)})}showHover(e){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),e.element&&e.saneTooltip&&(this._lastHover=this.hoverDelegate.showHover({content:e.saneTooltip,target:e.element,linkHandler:e=>{this.linkOpenerDelegate(e)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};function matchesContiguousIconAware(e,t){const{text:i,iconOffsets:o}=t;if(!o||0===o.length)return matchesContiguous(e,i);const n=ltrim(i," "),r=i.length-n.length,s=matchesContiguous(e,n);if(s)for(const a of s){const e=o[a.start+r]+r;a.start+=e,a.end+=e}return s}function matchesContiguous(e,t){const i=t.toLowerCase().indexOf(e.toLowerCase());return-1!==i?[{start:i,end:i+e.length}]:null}function compareEntries(e,t,i){const o=e.labelHighlights||[],n=t.labelHighlights||[];return o.length&&!n.length?-1:!o.length&&n.length?1:0===o.length&&0===n.length?0:compareAnything(e.saneSortLabel,t.saneSortLabel,i)}__decorate$2a([memoize$1],QuickInputTree.prototype,"onDidChangeFocus",null),__decorate$2a([memoize$1],QuickInputTree.prototype,"onDidChangeSelection",null),QuickInputTree=__decorate$2a([__param$26(4,IInstantiationService),__param$26(5,IAccessibilityService)],QuickInputTree);const defaultCommandAndKeybindingRule={weight:200,when:ContextKeyExpr.and(ContextKeyExpr.equals(quickInputTypeContextKeyValue,"quickPick"),inQuickInputContext),metadata:{description:localize("quickPick","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 registerQuickPickCommandAndKeybindingRule(e,t={}){KeybindingsRegistry.registerCommandAndKeybindingRule({...defaultCommandAndKeybindingRule,...e,secondary:getSecondary(e.primary,e.secondary??[],t)})}const ctrlKeyMod$1=isMacintosh?256:2048;function getSecondary(e,t,i={}){return i.withAltMod&&t.push(512+e),i.withCtrlMod&&(t.push(ctrlKeyMod$1+e),i.withAltMod&&t.push(512+ctrlKeyMod$1+e)),i.withCmdMod&&isMacintosh&&(t.push(2048+e),i.withCtrlMod&&t.push(2304+e),i.withAltMod&&(t.push(2560+e),i.withCtrlMod&&t.push(2816+e))),t}function focusHandler(e,t){return i=>{const o=i.get(IQuickInputService).currentQuickInput;if(o)return t&&o.quickNavigate?o.focus(t):o.focus(e)}}registerQuickPickCommandAndKeybindingRule({id:"quickInput.pageNext",primary:12,handler:focusHandler(QuickPickFocus.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.pagePrevious",primary:11,handler:focusHandler(QuickPickFocus.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.first",primary:ctrlKeyMod$1+14,handler:focusHandler(QuickPickFocus.First)},{withAltMod:!0,withCmdMod:!0}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.last",primary:ctrlKeyMod$1+13,handler:focusHandler(QuickPickFocus.Last)},{withAltMod:!0,withCmdMod:!0}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.next",primary:18,handler:focusHandler(QuickPickFocus.Next)},{withCtrlMod:!0}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.previous",primary:16,handler:focusHandler(QuickPickFocus.Previous)},{withCtrlMod:!0});const nextSeparatorFallbackDesc=localize("quickInput.nextSeparatorWithQuickAccessFallback","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."),prevSeparatorFallbackDesc=localize("quickInput.previousSeparatorWithQuickAccessFallback","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.");isMacintosh?(registerQuickPickCommandAndKeybindingRule({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:2066,handler:focusHandler(QuickPickFocus.NextSeparator,QuickPickFocus.Next),metadata:{description:nextSeparatorFallbackDesc}}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.nextSeparator",primary:2578,secondary:[2322],handler:focusHandler(QuickPickFocus.NextSeparator)},{withCtrlMod:!0}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:2064,handler:focusHandler(QuickPickFocus.PreviousSeparator,QuickPickFocus.Previous),metadata:{description:prevSeparatorFallbackDesc}}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.previousSeparator",primary:2576,secondary:[2320],handler:focusHandler(QuickPickFocus.PreviousSeparator)},{withCtrlMod:!0})):(registerQuickPickCommandAndKeybindingRule({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:530,handler:focusHandler(QuickPickFocus.NextSeparator,QuickPickFocus.Next),metadata:{description:nextSeparatorFallbackDesc}}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.nextSeparator",primary:2578,handler:focusHandler(QuickPickFocus.NextSeparator)}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:528,handler:focusHandler(QuickPickFocus.PreviousSeparator,QuickPickFocus.Previous),metadata:{description:prevSeparatorFallbackDesc}}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.previousSeparator",primary:2576,handler:focusHandler(QuickPickFocus.PreviousSeparator)})),registerQuickPickCommandAndKeybindingRule({id:"quickInput.acceptInBackground",when:ContextKeyExpr.and(defaultCommandAndKeybindingRule.when,ContextKeyExpr.or(InputFocusedContext.negate(),endOfQuickInputBoxContext)),primary:17,weight:250,handler:e=>{const t=e.get(IQuickInputService).currentQuickInput;t?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});var __decorate$29=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$25=function(e,t){return function(i,o){t(i,o,e)}},QuickInputController_1;const $$7=$$f;let QuickInputController=class extends Disposable{static{QuickInputController_1=this}static{this.MAX_WIDTH=600}get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(e,t,i,o){super(),this.options=e,this.layoutService=t,this.instantiationService=i,this.contextKeyService=o,this.enabled=!0,this.onDidAcceptEmitter=this._register(new Emitter$1),this.onDidCustomEmitter=this._register(new Emitter$1),this.onDidTriggerButtonEmitter=this._register(new Emitter$1),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new Emitter$1),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new Emitter$1),this.onHide=this.onHideEmitter.event,this.inQuickInputContext=InQuickInputContextKey.bindTo(this.contextKeyService),this.quickInputTypeContext=QuickInputTypeContextKey.bindTo(this.contextKeyService),this.endOfQuickInputBoxContext=EndOfQuickInputBoxContextKey.bindTo(this.contextKeyService),this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(Event$1.runAndSubscribe(onDidRegisterWindow,({window:e,disposables:t})=>this.registerKeyModsListeners(e,t),{window:mainWindow,disposables:this._store})),this._register(onWillUnregisterWindow(e=>{this.ui&&getWindow$2(this.ui.container)===e&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))}))}registerKeyModsListeners(e,t){const i=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey};for(const o of[EventType$1.KEY_DOWN,EventType$1.KEY_UP,EventType$1.MOUSE_DOWN])t.add(addDisposableListener(e,o,i,!0))}getUI(e){if(this.ui)return e&&getWindow$2(this._container)!==getWindow$2(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=append$2(this._container,$$7(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const i=createStyleSheet(t),o=append$2(t,$$7(".quick-input-titlebar")),n=this._register(new ActionBar(o,{hoverDelegate:this.options.hoverDelegate}));n.domNode.classList.add("quick-input-left-action-bar");const r=append$2(o,$$7(".quick-input-title")),s=this._register(new ActionBar(o,{hoverDelegate:this.options.hoverDelegate}));s.domNode.classList.add("quick-input-right-action-bar");const a=append$2(t,$$7(".quick-input-header")),l=append$2(a,$$7("input.quick-input-check-all"));l.type="checkbox",l.setAttribute("aria-label",localize("quickInput.checkAll","Toggle all checkboxes")),this._register(addStandardDisposableListener(l,EventType$1.CHANGE,e=>{const t=l.checked;I.setAllVisibleChecked(t)})),this._register(addDisposableListener(l,EventType$1.CLICK,e=>{(e.x||e.y)&&h.setFocus()}));const c=append$2(a,$$7(".quick-input-description")),d=append$2(a,$$7(".quick-input-and-message")),u=append$2(d,$$7(".quick-input-filter")),h=this._register(new QuickInputBox(u,this.styles.inputBox,this.styles.toggle));h.setAttribute("aria-describedby",`${this.idPrefix}message`);const p=append$2(u,$$7(".quick-input-visible-count"));p.setAttribute("aria-live","polite"),p.setAttribute("aria-atomic","true");const g=new CountBadge(p,{countFormat:localize({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")},this.styles.countBadge),m=append$2(u,$$7(".quick-input-count"));m.setAttribute("aria-live","polite");const f=new CountBadge(m,{countFormat:localize({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")},this.styles.countBadge),v=this._register(new ActionBar(a,{hoverDelegate:this.options.hoverDelegate}));v.domNode.classList.add("quick-input-inline-action-bar");const b=append$2(a,$$7(".quick-input-action")),_=this._register(new Button$1(b,this.styles.button));_.label=localize("ok","OK"),this._register(_.onDidClick(e=>{this.onDidAcceptEmitter.fire()}));const y=append$2(a,$$7(".quick-input-action")),C=this._register(new Button$1(y,{...this.styles.button,supportIcons:!0}));C.label=localize("custom","Custom"),this._register(C.onDidClick(e=>{this.onDidCustomEmitter.fire()}));const w=append$2(d,$$7(`#${this.idPrefix}message.quick-input-message`)),x=this._register(new ProgressBar(t,this.styles.progressBar));x.getContainer().classList.add("quick-input-progress");const S=append$2(t,$$7(".quick-input-html-widget"));S.tabIndex=-1;const k=append$2(t,$$7(".quick-input-description")),E=this.idPrefix+"list",I=this._register(this.instantiationService.createInstance(QuickInputTree,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,E));h.setAttribute("aria-controls",E),this._register(I.onDidChangeFocus(()=>{h.setAttribute("aria-activedescendant",I.getActiveDescendant()??"")})),this._register(I.onChangedAllVisibleChecked(e=>{l.checked=e})),this._register(I.onChangedVisibleCount(e=>{g.setCount(e)})),this._register(I.onChangedCheckedCount(e=>{f.setCount(e)})),this._register(I.onLeave(()=>{setTimeout(()=>{this.controller&&(h.setFocus(),this.controller instanceof QuickPick&&this.controller.canSelectMany&&I.clearFocus())},0)}));const T=trackFocus(t);return this._register(T),this._register(addDisposableListener(t,EventType$1.FOCUS,e=>{const t=this.getUI();if(isAncestor$1(e.relatedTarget,t.inputContainer)){const e=t.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==e&&this.endOfQuickInputBoxContext.set(e)}isAncestor$1(e.relatedTarget,t.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=isHTMLElement$1(e.relatedTarget)?e.relatedTarget:void 0)},!0)),this._register(T.onDidBlur(()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(QuickInputHideReason.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(h.onKeyDown(e=>{const t=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==t&&this.endOfQuickInputBoxContext.set(t)})),this._register(addDisposableListener(t,EventType$1.FOCUS,e=>{h.setFocus()})),this._register(addStandardDisposableListener(t,EventType$1.KEY_DOWN,e=>{if(!isAncestor$1(e.target,S))switch(e.keyCode){case 3:EventHelper$1.stop(e,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:EventHelper$1.stop(e,!0),this.hide(QuickInputHideReason.Gesture);break;case 2:if(!e.altKey&&!e.ctrlKey&&!e.metaKey){const i=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?i.push("input"):i.push("input[type=text]"),this.getUI().list.displayed&&i.push(".monaco-list"),this.getUI().message&&i.push(".quick-input-message a"),this.getUI().widget){if(isAncestor$1(e.target,this.getUI().widget))break;i.push(".quick-input-html-widget")}const o=t.querySelectorAll(i.join(", "));e.shiftKey&&e.target===o[0]?(EventHelper$1.stop(e,!0),I.clearFocus()):!e.shiftKey&&isAncestor$1(e.target,o[o.length-1])&&(EventHelper$1.stop(e,!0),o[0].focus())}break;case 10:e.ctrlKey&&(EventHelper$1.stop(e,!0),this.getUI().list.toggleHover())}})),this.ui={container:t,styleSheet:i,leftActionBar:n,titleBar:o,title:r,description1:k,description2:c,widget:S,rightActionBar:s,inlineActionBar:v,checkAll:l,inputContainer:d,filterContainer:u,inputBox:h,visibleCountContainer:p,visibleCount:g,countContainer:m,count:f,okContainer:b,ok:_,message:w,customButtonContainer:y,customButton:C,list:I,progressBar:x,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e),linkOpenerDelegate:e=>this.options.linkOpenerDelegate(e)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,append$2(this._container,this.ui.container))}pick(e,t={},i=CancellationToken.None){return new Promise((o,n)=>{let r=e=>{r=o,t.onKeyMods?.(s.keyMods),o(e)};if(i.isCancellationRequested)return void r(void 0);const s=this.createQuickPick({useSeparators:!0});let a;const l=[s,s.onDidAccept(()=>{if(s.canSelectMany)r(s.selectedItems.slice()),s.hide();else{const e=s.activeItems[0];e&&(r(e),s.hide())}}),s.onDidChangeActive(e=>{const i=e[0];i&&t.onDidFocus&&t.onDidFocus(i)}),s.onDidChangeSelection(e=>{if(!s.canSelectMany){const t=e[0];t&&(r(t),s.hide())}}),s.onDidTriggerItemButton(e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...e,removeItem:()=>{const t=s.items.indexOf(e.item);if(-1!==t){const e=s.items.slice(),i=e.splice(t,1),o=s.activeItems.filter(e=>e!==i[0]),n=s.keepScrollPosition;s.keepScrollPosition=!0,s.items=e,o&&(s.activeItems=o),s.keepScrollPosition=n}}})),s.onDidTriggerSeparatorButton(e=>t.onDidTriggerSeparatorButton?.(e)),s.onDidChangeValue(e=>{!a||e||1===s.activeItems.length&&s.activeItems[0]===a||(s.activeItems=[a])}),i.onCancellationRequested(()=>{s.hide()}),s.onDidHide(()=>{dispose(l),r(void 0)})];s.title=t.title,t.value&&(s.value=t.value),s.canSelectMany=!!t.canPickMany,s.placeholder=t.placeHolder,s.ignoreFocusOut=!!t.ignoreFocusLost,s.matchOnDescription=!!t.matchOnDescription,s.matchOnDetail=!!t.matchOnDetail,s.matchOnLabel=void 0===t.matchOnLabel||t.matchOnLabel,s.quickNavigate=t.quickNavigate,s.hideInput=!!t.hideInput,s.contextKey=t.contextKey,s.busy=!0,Promise.all([e,t.activeItem]).then(([e,t])=>{a=t,s.busy=!1,s.items=e,s.canSelectMany&&(s.selectedItems=e.filter(e=>"separator"!==e.type&&e.picked)),a&&(s.activeItems=[a])}),s.show(),Promise.resolve(e).then(void 0,e=>{n(e),s.hide()})})}createQuickPick(e={useSeparators:!1}){const t=this.getUI(!0);return new QuickPick(t)}createInputBox(){const e=this.getUI(!0);return new InputBox$1(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const i=this.controller;this.controller=e,i?.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",reset(t.widget),t.rightActionBar.clear(),t.inlineActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(Severity$2.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),reset(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const o=this.options.backKeybindingLabel();backButton.tooltip=o?localize("quickInput.backWithKeybinding","Back ({0})",o):localize("quickInput.back","Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus(),this.quickInputTypeContext.set(e.type)}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=!e.description||e.inputBox||e.checkAll?"none":"",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.displayed=!!e.list,t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){const t=this.controller;if(!t)return;t.willHide(e);const i=this.ui?.container,o=i&&!isAncestorOfActiveElement(i);if(this.controller=null,this.onHideEmitter.fire(),i&&(i.style.display="none"),!o){let e=this.previousFocusElement;for(;e&&!e.offsetParent;)e=e.parentElement??void 0;e?.offsetParent?(e.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}t.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const e=this.ui.container.style,t=Math.min(.62*this.dimension.width,QuickInputController_1.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:i,widgetBorder:o,widgetShadow:n}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e??"",this.ui.container.style.backgroundColor=t??"",this.ui.container.style.color=i??"",this.ui.container.style.border=o?`1px solid ${o}`:"",this.ui.container.style.boxShadow=n?`0 0 8px 2px ${n}`:"",this.ui.list.style(this.styles.list);const r=[];this.styles.pickerGroup.pickerGroupBorder&&r.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&r.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&r.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)&&(r.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&r.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&r.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&r.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&r.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&r.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),r.push("}"));const s=r.join("\n");s!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=s)}}};QuickInputController=QuickInputController_1=__decorate$29([__param$25(1,ILayoutService),__param$25(2,IInstantiationService),__param$25(3,IContextKeyService)],QuickInputController);var __decorate$28=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$24=function(e,t){return function(i,o){t(i,o,e)}};let QuickInputService=class extends 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(e,t,i,o,n){super(i),this.instantiationService=e,this.contextKeyService=t,this.layoutService=o,this.configurationService=n,this._onShow=this._register(new Emitter$1),this._onHide=this._register(new Emitter$1),this.contexts=new Map}createController(e=this.layoutService,t){const i={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:e=>this.setContextKey(e),linkOpenerDelegate:e=>{this.instantiationService.invokeFunction(t=>{t.get(IOpenerService).open(e,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(QuickInputHoverDelegate))},o=this._register(this.instantiationService.createInstance(QuickInputController,{...i,...t}));return o.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer(t=>{getWindow$2(e.activeContainer)===getWindow$2(o.container)&&o.layout(t,e.activeContainerOffset.quickPickTop)})),this._register(e.onDidChangeActiveContainer(()=>{o.isVisible()||o.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)})),this._register(o.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(o.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),o}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new RawContextKey(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),t&&t.get()||(this.resetContextKeys(),t?.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t,i=CancellationToken.None){return this.controller.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.controller.createQuickPick(e)}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:asCssVariable(quickInputBackground),quickInputForeground:asCssVariable(quickInputForeground),quickInputTitleBackground:asCssVariable(quickInputTitleBackground),widgetBorder:asCssVariable(widgetBorder),widgetShadow:asCssVariable(widgetShadow)},inputBox:defaultInputBoxStyles,toggle:defaultToggleStyles,countBadge:defaultCountBadgeStyles,button:defaultButtonStyles,progressBar:defaultProgressBarStyles,keybindingLabel:defaultKeybindingLabelStyles,list:getListStyles({listBackground:quickInputBackground,listFocusBackground:quickInputListFocusBackground,listFocusForeground:quickInputListFocusForeground,listInactiveFocusForeground:quickInputListFocusForeground,listInactiveSelectionIconForeground:quickInputListFocusIconForeground,listInactiveFocusBackground:quickInputListFocusBackground,listFocusOutline:activeContrastBorder,listInactiveFocusOutline:activeContrastBorder}),pickerGroup:{pickerGroupBorder:asCssVariable(pickerGroupBorder),pickerGroupForeground:asCssVariable(pickerGroupForeground)}}}};QuickInputService=__decorate$28([__param$24(0,IInstantiationService),__param$24(1,IContextKeyService),__param$24(2,IThemeService),__param$24(3,ILayoutService),__param$24(4,IConfigurationService)],QuickInputService);var __decorate$27=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$23=function(e,t){return function(i,o){t(i,o,e)}};let EditorScopedQuickInputService=class extends QuickInputService{constructor(e,t,i,o,n,r){super(t,i,o,new EditorScopedLayoutService(e.getContainerDomNode(),n),r),this.host=void 0;const s=QuickInputEditorContribution.get(e);if(s){const t=s.widget;this.host={_serviceBrand:void 0,get mainContainer(){return t.getDomNode()},getContainer:()=>t.getDomNode(),whenContainerStylesLoaded(){},get containers(){return[t.getDomNode()]},get activeContainer(){return t.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return Event$1.map(e.onDidLayoutChange,e=>({container:t.getDomNode(),dimension:e}))},get onDidChangeActiveContainer(){return Event$1.None},get onDidAddContainer(){return Event$1.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};EditorScopedQuickInputService=__decorate$27([__param$23(1,IInstantiationService),__param$23(2,IContextKeyService),__param$23(3,IThemeService),__param$23(4,ICodeEditorService),__param$23(5,IConfigurationService)],EditorScopedQuickInputService);let StandaloneQuickInputService=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const i=t=this.instantiationService.createInstance(EditorScopedQuickInputService,e);this.mapEditorToService.set(e,t),createSingleCallFunction(e.onDidDispose)(()=>{i.dispose(),this.mapEditorToService.delete(e)})}return t}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t,i=CancellationToken.None){return this.activeService.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.activeService.createQuickPick(e)}createInputBox(){return this.activeService.createInputBox()}};StandaloneQuickInputService=__decorate$27([__param$23(0,IInstantiationService),__param$23(1,ICodeEditorService)],StandaloneQuickInputService);class QuickInputEditorContribution{static{this.ID="editor.controller.quickInput"}static get(e){return e.getContribution(QuickInputEditorContribution.ID)}constructor(e){this.editor=e,this.widget=new QuickInputEditorWidget(this.editor)}dispose(){this.widget.dispose()}}class QuickInputEditorWidget{static{this.ID="editor.contrib.quickInputWidget"}constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return QuickInputEditorWidget.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}registerEditorContribution(QuickInputEditorContribution.ID,QuickInputEditorContribution,4);class ParsedTokenThemeRule{constructor(e,t,i,o,n){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=o,this.background=n}}function parseTokenTheme(e){if(!e||!Array.isArray(e))return[];const t=[];let i=0;for(let o=0,n=e.length;o{const i=strcmp(e.token,t.token);return 0!==i?i:e.index-t.index});let i=0,o="000000",n="ffffff";for(;e.length>=1&&""===e[0].token;){const t=e.shift();-1!==t.fontStyle&&(i=t.fontStyle),null!==t.foreground&&(o=t.foreground),null!==t.background&&(n=t.background)}const r=new ColorMap;for(const d of t)r.getId(d);const s=r.getId(o),a=r.getId(n),l=new ThemeTrieElementRule(i,s,a),c=new ThemeTrieElement(l);for(let d=0,u=e.length;d>>0,this._cache.set(t,i)}return(i|e|0)>>>0}}const STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|regexp)\b/;function toStandardTokenType(e){const t=e.match(STANDARD_TOKEN_TYPE_REGEXP);if(!t)return 0;switch(t[1]){case"comment":return 1;case"string":return 2;case"regex":case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}function strcmp(e,t){return et?1:0}class ThemeTrieElementRule{constructor(e,t,i){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new ThemeTrieElementRule(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==i&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class ThemeTrieElement{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(""===e)return this._mainRule;const t=e.indexOf(".");let i,o;-1===t?(i=e,o=""):(i=e.substring(0,t),o=e.substring(t+1));const n=this._children.get(i);return void 0!==n?n.match(o):this._mainRule}insert(e,t,i,o){if(""===e)return void this._mainRule.acceptOverwrite(t,i,o);const n=e.indexOf(".");let r,s;-1===n?(r=e,s=""):(r=e.substring(0,n),s=e.substring(n+1));let a=this._children.get(r);void 0===a&&(a=new ThemeTrieElement(this._mainRule.clone()),this._children.set(r,a)),a.insert(s,t,i,o)}}function generateTokensCSSForColorMap(e){const t=[];for(let i=1,o=e.length;i({format:e.format,location:e.location.toString()}))}},e.fromJSONObject=function(e){const t=e=>isString$4(e)?e:void 0;if(e&&Array.isArray(e.src)&&e.src.every(e=>isString$4(e.format)&&isString$4(e.location)))return{weight:t(e.weight),style:t(e.style),src:e.src.map(e=>({format:e.format,location:URI.parse(e.location)}))}}}(IconFontDefinition||(IconFontDefinition={}));class IconRegistry{constructor(){this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:localize("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:localize("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${ThemeIcon.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,i,o){const n=this.iconsById[e];if(n){if(i&&!n.description){n.description=i,this.iconSchema.properties[e].markdownDescription=`${i} $(${e})`;const t=this.iconReferenceSchema.enum.indexOf(e);-1!==t&&(this.iconReferenceSchema.enumDescriptions[t]=i),this._onDidChange.fire()}return n}const r={id:e,description:i,defaults:t,deprecationMessage:o};this.iconsById[e]=r;const s={$ref:"#/definitions/icons"};return o&&(s.deprecationMessage=o),i&&(s.markdownDescription=`${i}: $(${e})`),this.iconSchema.properties[e]=s,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(i||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(e,t)=>e.id.localeCompare(t.id),t=e=>{for(;ThemeIcon.isThemeIcon(e.defaults);)e=this.iconsById[e.defaults.id];return`codicon codicon-${e?e.id:""}`},i=[];i.push("| preview | identifier | default codicon ID | description"),i.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const o=Object.keys(this.iconsById).map(e=>this.iconsById[e]);for(const n of o.filter(e=>!!e.description).sort(e))i.push(`||${n.id}|${ThemeIcon.isThemeIcon(n.defaults)?n.defaults.id:n.id}|${n.description||""}|`);i.push("| preview | identifier "),i.push("| ----------- | --------------------------------- |");for(const n of o.filter(e=>!ThemeIcon.isThemeIcon(e.defaults)).sort(e))i.push(`||${n.id}|`);return i.join("\n")}}const iconRegistry=new IconRegistry;function registerIcon(e,t,i,o){return iconRegistry.registerIcon(e,t,i,o)}function getIconRegistry(){return iconRegistry}function initialize(){const e=getCodiconFontCharacters();for(const t in e){const i="\\"+e[t].toString(16);iconRegistry.registerIcon(t,{fontCharacter:i})}}Registry.add(Extensions$1.IconContribution,iconRegistry),initialize();const iconsSchemaId="vscode://schemas/icons",schemaRegistry=Registry.as(Extensions$7.JSONContribution);schemaRegistry.registerSchema(iconsSchemaId,iconRegistry.getIconSchema());const delayer=new RunOnceScheduler(()=>schemaRegistry.notifySchemaChanged(iconsSchemaId),200);iconRegistry.onDidChange(()=>{delayer.isScheduled()||delayer.schedule()});const widgetClose=registerIcon("widget-close",Codicon.close,localize("widgetClose","Icon for the close action in widgets."));function getIconsStyleSheet(e){const t=new DisposableStore,i=t.add(new Emitter$1),o=getIconRegistry();return t.add(o.onDidChange(()=>i.fire())),e&&t.add(e.onDidProductIconThemeChange(()=>i.fire())),{dispose:()=>t.dispose(),onDidChange:i.event,getCSS(){const t=e?e.getProductIconTheme():new UnthemedProductIconTheme,i={},n=[],r=[];for(const e of o.getIcons()){const o=t.getIcon(e);if(!o)continue;const s=o.font,a=`--vscode-icon-${e.id}-font-family`,l=`--vscode-icon-${e.id}-content`;s?(i[s.id]=s.definition,r.push(`${a}: ${asCSSPropertyValue(s.id)};`,`${l}: '${o.fontCharacter}';`),n.push(`.codicon-${e.id}:before { content: '${o.fontCharacter}'; font-family: ${asCSSPropertyValue(s.id)}; }`)):(r.push(`${l}: '${o.fontCharacter}'; ${a}: 'codicon';`),n.push(`.codicon-${e.id}:before { content: '${o.fontCharacter}'; }`))}for(const e in i){const t=i[e],o=t.weight?`font-weight: ${t.weight};`:"",r=t.style?`font-style: ${t.style};`:"",s=t.src.map(e=>`${asCSSUrl(e.location)} format('${e.format}')`).join(", ");n.push(`@font-face { src: ${s}; font-family: ${asCSSPropertyValue(e)};${o}${r} font-display: block; }`)}return n.push(`:root { ${r.join(" ")} }`),n.join("\n")}}}registerIcon("goto-previous-location",Codicon.arrowUp,localize("previousChangeIcon","Icon for goto previous editor location.")),registerIcon("goto-next-location",Codicon.arrowDown,localize("nextChangeIcon","Icon for goto next editor location.")),ThemeIcon.modify(Codicon.sync,"spin"),ThemeIcon.modify(Codicon.loading,"spin");class UnthemedProductIconTheme{getIcon(e){const t=getIconRegistry();let i=e.defaults;for(;ThemeIcon.isThemeIcon(i);){const e=t.getIcon(i.id);if(!e)return;i=e.defaults}return i}}const VS_LIGHT_THEME_NAME="vs",VS_DARK_THEME_NAME="vs-dark",HC_BLACK_THEME_NAME="hc-black",HC_LIGHT_THEME_NAME="hc-light",colorRegistry=Registry.as(Extensions$3.ColorContribution),themingRegistry=Registry.as(Extensions$4.ThemingContribution);class StandaloneTheme{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(isBuiltinTheme(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),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 e=new Map;for(const t in this.themeData.colors)e.set(t,Color$1.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=getBuiltinRules(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,Color$1.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);return i||(!1!==t?this.getDefault(e):void 0)}getDefault(e){let t=this.defaultColors[e];return t||(t=colorRegistry.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case VS_LIGHT_THEME_NAME:return ColorScheme.LIGHT;case HC_BLACK_THEME_NAME:return ColorScheme.HIGH_CONTRAST_DARK;case HC_LIGHT_THEME_NAME:return ColorScheme.HIGH_CONTRAST_LIGHT;default:return ColorScheme.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const i=getBuiltinRules(this.themeData.base);e=i.rules,i.encodedTokensColors&&(t=i.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],o=this.themeData.colors["editor.background"];if(i||o){const t={token:""};i&&(t.foreground=i),o&&(t.background=o),e.push(t)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=TokenTheme.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const o=this.tokenTheme._match([e].concat(t).join(".")).metadata,n=TokenMetadata.getForeground(o),r=TokenMetadata.getFontStyle(o);return{foreground:n,italic:Boolean(1&r),bold:Boolean(2&r),underline:Boolean(4&r),strikethrough:Boolean(8&r)}}}function isBuiltinTheme(e){return e===VS_LIGHT_THEME_NAME||e===VS_DARK_THEME_NAME||e===HC_BLACK_THEME_NAME||e===HC_LIGHT_THEME_NAME}function getBuiltinRules(e){switch(e){case VS_LIGHT_THEME_NAME:return vs;case VS_DARK_THEME_NAME:return vs_dark;case HC_BLACK_THEME_NAME:return hc_black;case HC_LIGHT_THEME_NAME:return hc_light}}function newBuiltInTheme(e){const t=getBuiltinRules(e);return new StandaloneTheme(e,t)}class StandaloneThemeService extends Disposable{constructor(){super(),this._onColorThemeChange=this._register(new Emitter$1),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new Emitter$1),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new UnthemedProductIconTheme,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(VS_LIGHT_THEME_NAME,newBuiltInTheme(VS_LIGHT_THEME_NAME)),this._knownThemes.set(VS_DARK_THEME_NAME,newBuiltInTheme(VS_DARK_THEME_NAME)),this._knownThemes.set(HC_BLACK_THEME_NAME,newBuiltInTheme(HC_BLACK_THEME_NAME)),this._knownThemes.set(HC_LIGHT_THEME_NAME,newBuiltInTheme(HC_LIGHT_THEME_NAME));const e=this._register(getIconsStyleSheet(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(VS_LIGHT_THEME_NAME),this._onOSSchemeChanged(),this._register(e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()})),addMatchMediaChangeListener(mainWindow,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return isInShadowDOM(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=createStyleSheet(void 0,e=>{e.className="monaco-colors",e.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),Disposable.None}_registerShadowDomContainer(e){const t=createStyleSheet(e,e=>{e.className="monaco-colors",e.textContent=this._allCSS});return this._styleElements.push(t),{dispose:()=>{for(let e=0;e{t.base===e&&t.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(VS_LIGHT_THEME_NAME),this._updateActualTheme(t)}_updateActualTheme(e){e&&this._theme!==e&&(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=mainWindow.matchMedia("(forced-colors: active)").matches;if(e!==isHighContrast(this._theme.type)){let t;t=isDark(this._theme.type)?e?HC_BLACK_THEME_NAME:VS_DARK_THEME_NAME:e?HC_LIGHT_THEME_NAME:VS_LIGHT_THEME_NAME,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:i=>{t[i]||(e.push(i),t[i]=!0)}};themingRegistry.getThemingParticipants().forEach(e=>e(this._theme,i,this._environment));const o=[];for(const r of colorRegistry.getColors()){const e=this._theme.getColor(r.id,!0);e&&o.push(`${asCssVariableName(r.id)}: ${e.toString()};`)}i.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${o.join("\n")} }`);const n=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(generateTokensCSSForColorMap(n)),this._themeCSS=e.join("\n"),this._updateCSS(),TokenizationRegistry.setColorMap(n),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}const IStandaloneThemeService=createDecorator("themeService");var __decorate$26=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$22=function(e,t){return function(i,o){t(i,o,e)}};let AccessibilityService=class extends Disposable{constructor(e,t,i){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new Emitter$1,this._onDidChangeReducedMotion=new Emitter$1,this._onDidChangeLinkUnderline=new Emitter$1,this._accessibilityModeEnabledContext=CONTEXT_ACCESSIBILITY_MODE_ENABLED.bindTo(this._contextKeyService);const o=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration("editor.accessibilitySupport")&&(o(),this._onDidChangeScreenReaderOptimized.fire()),e.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),o(),this._register(this.onDidChangeScreenReaderOptimized(()=>o()));const n=mainWindow.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=n.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(n),this.initLinkUnderlineListeners()}initReducedMotionListeners(e){this._register(addDisposableListener(e,"change",()=>{this._systemMotionReduced=e.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()}));const t=()=>{const e=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",e),this._layoutService.mainContainer.classList.toggle("enable-motion",!e)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(e=>{if(e.affectsConfiguration("accessibility.underlineLinks")){const e=this._configurationService.getValue("accessibility.underlineLinks");this._linkUnderlinesEnabled=e,this._onDidChangeLinkUnderline.fire()}}));const e=()=>{const e=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle("underline-links",e)};e(),this._register(this.onDidChangeLinkUnderlines(()=>e()))}onDidChangeLinkUnderlines(e){return this._onDidChangeLinkUnderline.event(e)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return"on"===e||"auto"===e&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return"on"===e||"auto"===e&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};AccessibilityService=__decorate$26([__param$22(0,IContextKeyService),__param$22(1,ILayoutService),__param$22(2,IConfigurationService)],AccessibilityService);var __decorate$25=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$21=function(e,t){return function(i,o){t(i,o,e)}},PersistedMenuHideState_1,MenuInfo_1;let MenuService=class{constructor(e,t,i){this._commandService=e,this._keybindingService=t,this._hiddenStates=new PersistedMenuHideState(i)}createMenu(e,t,i){return new MenuImpl(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t)}getMenuActions(e,t,i){const o=new MenuImpl(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t),n=o.getActions(i);return o.dispose(),n}resetHiddenStates(e){this._hiddenStates.reset(e)}};MenuService=__decorate$25([__param$21(0,ICommandService),__param$21(1,IKeybindingService),__param$21(2,IStorageService)],MenuService);let PersistedMenuHideState=class{static{PersistedMenuHideState_1=this}static{this._key="menu.hiddenCommands"}constructor(e){this._storageService=e,this._disposables=new DisposableStore,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(PersistedMenuHideState_1._key,0,"{}");this._data=JSON.parse(t)}catch(t){this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,PersistedMenuHideState_1._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{const t=e.get(PersistedMenuHideState_1._key,0,"{}");this._data=JSON.parse(t)}catch(t){console.log("FAILED to read storage after UPDATE",t)}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){return this._hiddenByDefaultCache.get(`${e.id}/${t}`)??!1}setDefaultState(e,t,i){this._hiddenByDefaultCache.set(`${e.id}/${t}`,i)}isHidden(e,t){const i=this._isHiddenByDefault(e,t),o=this._data[e.id]?.includes(t)??!1;return i?!o:o}updateHidden(e,t,i){this._isHiddenByDefault(e,t)&&(i=!i);const o=this._data[e.id];if(i)if(o){o.indexOf(t)<0&&o.push(t)}else this._data[e.id]=[t];else if(o){const i=o.indexOf(t);i>=0&&removeFastWithoutKeepingOrder(o,i),0===o.length&&delete this._data[e.id]}this._persist()}reset(e){if(void 0===e)this._data=Object.create(null),this._persist();else{for(const{id:t}of e)this._data[t]&&delete this._data[t];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const e=JSON.stringify(this._data);this._storageService.store(PersistedMenuHideState_1._key,e,0,0)}finally{this._ignoreChangeEvent=!1}}};PersistedMenuHideState=PersistedMenuHideState_1=__decorate$25([__param$21(0,IStorageService)],PersistedMenuHideState);class MenuInfoSnapshot{constructor(e,t){this._id=e,this._collectContextKeysForSubmenus=t,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 e=this._sort(MenuRegistry.getMenuItems(this._id));let t;for(const i of e){const e=i.group||"";t&&t[0]===e||(t=[e,[]],this._menuGroups.push(t)),t[1].push(i),this._collectContextKeysAndSubmenuIds(i)}this._allMenuIds.add(this._id)}_sort(e){return e}_collectContextKeysAndSubmenuIds(e){if(MenuInfoSnapshot._fillInKbExprKeys(e.when,this._structureContextKeys),isIMenuItem(e)){if(e.command.precondition&&MenuInfoSnapshot._fillInKbExprKeys(e.command.precondition,this._preconditionContextKeys),e.command.toggled){const t=e.command.toggled.condition||e.command.toggled;MenuInfoSnapshot._fillInKbExprKeys(t,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&(MenuRegistry.getMenuItems(e.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(e.submenu))}static _fillInKbExprKeys(e,t){if(e)for(const i of e.keys())t.add(i)}}let MenuInfo=MenuInfo_1=class extends MenuInfoSnapshot{constructor(e,t,i,o,n,r){super(e,i),this._hiddenStates=t,this._commandService=o,this._keybindingService=n,this._contextKeyService=r,this.refresh()}createActionGroups(e){const t=[];for(const i of this._menuGroups){const[o,n]=i;let r;for(const t of n)if(this._contextKeyService.contextMatchesRules(t.when)){const i=isIMenuItem(t);i&&this._hiddenStates.setDefaultState(this._id,t.command.id,!!t.isHiddenByDefault);const o=createMenuHide(this._id,i?t.command:t,this._hiddenStates);if(i){const i=createConfigureKeybindingAction(this._commandService,this._keybindingService,t.command.id,t.when);(r??=[]).push(new MenuItemAction(t.command,t.alt,e,o,i,this._contextKeyService,this._commandService))}else{const i=new MenuInfo_1(t.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(e),n=Separator.join(...i.map(e=>e[1]));n.length>0&&(r??=[]).push(new SubmenuItemAction(t,o,n))}}r&&r.length>0&&t.push([o,r])}return t}_sort(e){return e.sort(MenuInfo_1._compareMenuItems)}static _compareMenuItems(e,t){const i=e.group,o=t.group;if(i!==o){if(!i)return 1;if(!o)return-1;if("navigation"===i)return-1;if("navigation"===o)return 1;const e=i.localeCompare(o);if(0!==e)return e}const n=e.order||0,r=t.order||0;return nr?1:MenuInfo_1._compareTitles(isIMenuItem(e)?e.command.title:e.title,isIMenuItem(t)?t.command.title:t.title)}static _compareTitles(e,t){const i="string"==typeof e?e:e.original,o="string"==typeof t?t:t.original;return i.localeCompare(o)}};MenuInfo=MenuInfo_1=__decorate$25([__param$21(3,ICommandService),__param$21(4,IKeybindingService),__param$21(5,IContextKeyService)],MenuInfo);let MenuImpl=class{constructor(e,t,i,o,n,r){this._disposables=new DisposableStore,this._menuInfo=new MenuInfo(e,t,i.emitEventsForSubmenuChanges,o,n,r);const s=new RunOnceScheduler(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},i.eventDebounceDelay);this._disposables.add(s),this._disposables.add(MenuRegistry.onDidChangeMenu(e=>{for(const t of this._menuInfo.allMenuIds)if(e.has(t)){s.schedule();break}}));const a=this._disposables.add(new DisposableStore);this._onDidChange=new DebounceEmitter({onWillAddFirstListener:()=>{a.add(r.onDidChangeContext(e=>{const t=e.affectsSome(this._menuInfo.structureContextKeys),i=e.affectsSome(this._menuInfo.preconditionContextKeys),o=e.affectsSome(this._menuInfo.toggledContextKeys);(t||i||o)&&this._onDidChange.fire({menu:this,isStructuralChange:t,isEnablementChange:i,isToggleChange:o})})),a.add(t.onDidChange(e=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))},onDidRemoveLastListener:a.clear.bind(a),delay:i.eventDebounceDelay,merge:e=>{let t=!1,i=!1,o=!1;for(const n of e)if(t=t||n.isStructuralChange,i=i||n.isEnablementChange,o=o||n.isToggleChange,t&&i&&o)break;return{menu:this,isStructuralChange:t,isEnablementChange:i,isToggleChange:o}}}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};function createMenuHide(e,t,i){const o=isISubmenuItem(t)?t.submenu.id:t.id,n="string"==typeof t.title?t.title:t.title.value,r=toAction({id:`hide/${e.id}/${o}`,label:localize("hide.label","Hide '{0}'",n),run(){i.updateHidden(e,o,!0)}}),s=toAction({id:`toggle/${e.id}/${o}`,label:n,get checked(){return!i.isHidden(e,o)},run(){i.updateHidden(e,o,!!this.checked)}});return{hide:r,toggle:s,get isHidden(){return!s.checked}}}function createConfigureKeybindingAction(e,t,i,o=void 0,n=!0){return toAction({id:`configureKeybinding/${i}`,label:localize("configure keybinding","Configure Keybinding"),enabled:n,run(){const n=!!!t.lookupKeybinding(i)&&o?o.serialize():void 0;e.executeCommand("workbench.action.openGlobalKeybindings",`@command:${i}`+(n?` +when:${n}`:""))}})}MenuImpl=__decorate$25([__param$21(3,ICommandService),__param$21(4,IKeybindingService),__param$21(5,IContextKeyService)],MenuImpl);var __decorate$24=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$20=function(e,t){return function(i,o){t(i,o,e)}},BrowserClipboardService_1;const vscodeResourcesMime="application/vnd.code.resources";let BrowserClipboardService=class extends Disposable{static{BrowserClipboardService_1=this}constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(isSafari||isWebkitWebView)&&this.installWebKitWriteTextWorkaround(),this._register(Event$1.runAndSubscribe(onDidRegisterWindow,({window:e,disposables:t})=>{t.add(addDisposableListener(e.document,"copy",()=>this.clearResourcesState()))},{window:mainWindow,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const e=new DeferredPromise;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=e,getActiveWindow().navigator.clipboard.write([new ClipboardItem({"text/plain":e.p})]).catch(async t=>{t instanceof Error&&"NotAllowedError"===t.name&&e.isRejected||this.logService.error(t)})};this._register(Event$1.runAndSubscribe(this.layoutService.onDidAddContainer,({container:t,disposables:i})=>{i.add(addDisposableListener(t,"click",e)),i.add(addDisposableListener(t,"keydown",e))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.clearResourcesState(),t)this.mapTextToType.set(t,e);else{if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await getActiveWindow().navigator.clipboard.writeText(e)}catch(error){console.error(error)}this.fallbackWriteText(e)}}fallbackWriteText(e){const t=getActiveDocument(),i=t.activeElement,o=t.body.appendChild($$f("textarea",{"aria-hidden":!0}));o.style.height="1px",o.style.width="1px",o.style.position="absolute",o.value=e,o.focus(),o.select(),t.execCommand("copy"),isHTMLElement$1(i)&&i.focus(),o.remove()}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await getActiveWindow().navigator.clipboard.readText()}catch(error){console.error(error)}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}static{this.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3}async readResources(){try{const e=await getActiveWindow().navigator.clipboard.read();for(const t of e)if(t.types.includes(`web ${vscodeResourcesMime}`)){const e=await t.getType(`web ${vscodeResourcesMime}`),i=JSON.parse(await e.text()).map(e=>URI.from(e));return i}}catch(error){}const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(0===this.resources.length)return;return hash$3((await this.readText()).substring(0,BrowserClipboardService_1.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}};BrowserClipboardService=BrowserClipboardService_1=__decorate$24([__param$20(0,ILayoutService),__param$20(1,ILogService)],BrowserClipboardService);const IClipboardService=createDecorator("clipboardService");var __decorate$23=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1$=function(e,t){return function(i,o){t(i,o,e)}};const KEYBINDING_CONTEXT_ATTR="data-keybinding-context";let Context$2=class{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)}removeValue(e){return e in this._value&&(delete this._value[e],!0)}getValue(e){const t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t}};class NullContext extends Context$2{static{this.INSTANCE=new NullContext}constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}}class ConfigAwareContextValuesContainer extends Context$2{static{this._keyPrefix="config."}constructor(e,t,i){super(e,null),this._configurationService=t,this._values=TernarySearchTree.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(e=>{if(7===e.source){const e=Array.from(this._values,([e])=>e);this._values.clear(),i.fire(new ArrayContextKeyChangeEvent(e))}else{const t=[];for(const i of e.affectedKeys){const e=`config.${i}`,o=this._values.findSuperstr(e);void 0!==o&&(t.push(...Iterable.map(o,([e])=>e)),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}i.fire(new ArrayContextKeyChangeEvent(t))}})}dispose(){this._listener.dispose()}getValue(e){if(0!==e.indexOf(ConfigAwareContextValuesContainer._keyPrefix))return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(ConfigAwareContextValuesContainer._keyPrefix.length),i=this._configurationService.getValue(t);let o;switch(typeof i){case"number":case"boolean":case"string":o=i;break;default:o=Array.isArray(i)?JSON.stringify(i):i}return this._values.set(e,o),o}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}}class ContextKey{constructor(e,t,i){this._service=e,this._key=t,this._defaultValue=i,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class SimpleContextKeyChangeEvent{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}}class ArrayContextKeyChangeEvent{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}}class CompositeContextKeyChangeEvent{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}}function allEventKeysInContext(e,t){return e.allKeysContainedIn(new Set(Object.keys(t)))}class AbstractContextKeyService extends Disposable{constructor(e){super(),this._onDidChangeContext=this._register(new PauseableEmitter({merge:e=>new CompositeContextKeyChangeEvent(e)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new ContextKey(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new ScopedContextKeyService(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return!e||e.evaluate(t)}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const i=this.getContextValuesContainer(this._myContextId);i&&i.setValue(e,t)&&this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent(e))}getContext(e){return this._isDisposed?NullContext.INSTANCE:this.getContextValuesContainer(findContextAttr(e))}dispose(){super.dispose(),this._isDisposed=!0}}let ContextKeyService=class extends AbstractContextKeyService{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new ConfigAwareContextValuesContainer(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?NullContext.INSTANCE:this._contexts.get(e)||NullContext.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new Context$2(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};ContextKeyService=__decorate$23([__param$1$(0,IConfigurationService)],ContextKeyService);class ScopedContextKeyService extends AbstractContextKeyService{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new MutableDisposable),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(KEYBINDING_CONTEXT_ATTR)){let e="";this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute"+(e?": "+e:""))}this._domNode.setAttribute(KEYBINDING_CONTEXT_ATTR,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{allEventKeysInContext(e,this._parent.getContextValuesContainer(this._myContextId).value)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(KEYBINDING_CONTEXT_ATTR),super.dispose())}getContextValuesContainer(e){return this._isDisposed?NullContext.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}function findContextAttr(e){for(;e;){if(e.hasAttribute(KEYBINDING_CONTEXT_ATTR)){const t=e.getAttribute(KEYBINDING_CONTEXT_ATTR);return t?parseInt(t,10):NaN}e=e.parentElement}return 0}function setContext(e,t,i){e.get(IContextKeyService).createKey(String(t),stringifyURIs(i))}function stringifyURIs(e){return cloneAndChange(e,e=>"object"==typeof e&&1===e.$mid?URI.revive(e).toString():e instanceof URI?e.toString():void 0)}CommandsRegistry.registerCommand("_setContext",setContext),CommandsRegistry.registerCommand({id:"getContextKeyInfo",handler:()=>[...RawContextKey.all()].sort((e,t)=>e.key.localeCompare(t.key)),metadata:{description:localize("getContextKeyInfo","A command that returns information about context keys"),args:[]}}),CommandsRegistry.registerCommand("_generateContextKeyInfo",function(){const e=[],t=new Set;for(const i of RawContextKey.all())t.has(i.key)||(t.add(i.key),e.push(i));e.sort((e,t)=>e.key.localeCompare(t.key)),console.log(JSON.stringify(e,void 0,2))});let Node$4=class{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}};class Graph{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())0===t.outgoing.size&&e.push(t);return e}insertEdge(e,t){const i=this.lookupOrInsertNode(e),o=this.lookupOrInsertNode(t);i.outgoing.set(o.key,o),o.incoming.set(i.key,i)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const i of this._nodes.values())i.outgoing.delete(t),i.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let i=this._nodes.get(t);return i||(i=new Node$4(t,e),this._nodes.set(t,i)),i}isEmpty(){return 0===this._nodes.size}toString(){const e=[];for(const[t,i]of this._nodes)e.push(`${t}\n\t(-> incoming)[${[...i.incoming.keys()].join(", ")}]\n\t(outgoing ->)[${[...i.outgoing.keys()].join(",")}]\n`);return e.join("\n")}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),o=this._findCycle(t,i);if(o)return o}}_findCycle(e,t){for(const[i,o]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const e=this._findCycle(o,t);if(e)return e;t.delete(i)}}}class ServiceCollection{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}get(e){return this._entries.get(e)}}const _enableAllTracing=!1;class CyclicDependencyError extends Error{constructor(e){super("cyclic dependency between services"),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph: \n${e.toString()}`}}class InstantiationService{constructor(e=new ServiceCollection,t=!1,i,o=_enableAllTracing){this._services=e,this._strict=t,this._parent=i,this._enableTracing=o,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(IInstantiationService,this),this._globalGraph=o?i?._globalGraph??new Graph(e=>e):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,dispose(this._children),this._children.clear();for(const e of this._servicesToMaybeDispose)isDisposable(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(e,t){this._throwIfDisposed();const i=this,o=new class extends InstantiationService{dispose(){i._children.delete(o),super.dispose()}}(e,this._strict,this,this._enableTracing);return this._children.add(o),t?.add(o),o}invokeFunction(e,...t){this._throwIfDisposed();const i=Trace.traceInvocation(this._enableTracing,e);let o=!1;try{return e({get:e=>{if(o)throw illegalState("service accessor is only valid during the invocation of its target method");const t=this._getOrCreateServiceInstance(e,i);if(!t)throw new Error(`[invokeFunction] unknown service '${e}'`);return t}},...t)}finally{o=!0,i.stop()}}createInstance(e,...t){let i,o;return this._throwIfDisposed(),e instanceof SyncDescriptor?(i=Trace.traceCreation(this._enableTracing,e.ctor),o=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=Trace.traceCreation(this._enableTracing,e),o=this._createInstance(e,t,i)),i.stop(),o}_createInstance(e,t=[],i){const o=_util.getServiceDependencies(e).sort((e,t)=>e.index-t.index),n=[];for(const s of o){const t=this._getOrCreateServiceInstance(s.id,i);t||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${s.id}.`,!1),n.push(t)}const r=o.length>0?o[0].index:t.length;if(t.length!==r){console.trace(`[createInstance] First service dependency of ${e.name} at position ${r+1} conflicts with ${t.length} static arguments`);const i=r-t.length;t=i>0?t.concat(new Array(i)):t.slice(0,r)}return Reflect.construct(e,t.concat(n))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof SyncDescriptor)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setCreatedServiceInstance(e,t)}}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof SyncDescriptor?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){const o=new Graph(e=>e.id.toString());let n=0;const r=[{id:e,desc:t,_trace:i}],s=new Set;for(;r.length;){const t=r.pop();if(!s.has(String(t.id))){if(s.add(String(t.id)),o.lookupOrInsertNode(t),n++>1e3)throw new CyclicDependencyError(o);for(const i of _util.getServiceDependencies(t.desc.ctor)){const n=this._getServiceInstanceOrDescriptor(i.id);if(n||this._throwIfStrict(`[createInstance] ${e} depends on ${i.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(t.id),String(i.id)),n instanceof SyncDescriptor){const e={id:i.id,desc:n,_trace:t._trace.branch(i.id,!0)};o.insertEdge(t,e),r.push(e)}}}}for(;;){const e=o.roots();if(0===e.length){if(!o.isEmpty())throw new CyclicDependencyError(o);break}for(const{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof SyncDescriptor){const e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setCreatedServiceInstance(t.id,e)}o.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],o,n){if(this._services.get(e)instanceof SyncDescriptor)return this._createServiceInstance(e,t,i,o,n,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,o,n);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,i=[],o,n,r){if(o){const o=new InstantiationService(void 0,this._strict,this,this._enableTracing);o._globalGraphImplicitDependency=String(e);const s=new Map,a=new GlobalIdleValue(()=>{const e=o._createInstance(t,i,n);for(const[t,i]of s){const o=e[t];if("function"==typeof o)for(const t of i)t.disposable=o.apply(e,t.listener)}return s.clear(),r.add(e),e});return new Proxy(Object.create(null),{get(e,t){if(!a.isInitialized&&"string"==typeof t&&(t.startsWith("onDid")||t.startsWith("onWill"))){let e=s.get(t);e||(e=new LinkedList,s.set(t,e));return(i,o,n)=>{if(a.isInitialized)return a.value[t](i,o,n);{const t={listener:[i,o,n],disposable:void 0},r=e.push(t);return toDisposable(()=>{r(),t.disposable?.dispose()})}}}if(t in e)return e[t];const i=a.value;let o=i[t];return"function"!=typeof o||(o=o.bind(i),e[t]=o),o},set:(e,t,i)=>(a.value[t]=i,!0),getPrototypeOf:e=>t.prototype})}{const e=this._createInstance(t,i,n);return r.add(e),e}}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw new Error(e)}}class Trace{static{this.all=new Set}static{this._None=new class extends Trace{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(e,t){return e?new Trace(2,t.name||(new Error).stack.split("\n").slice(3,4).join("\n")):Trace._None}static traceCreation(e,t){return e?new Trace(1,t.name):Trace._None}static{this._totals=0}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new Trace(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;Trace._totals+=e;let t=!1;const i=[`${1===this.type?"CREATE":"CALL"} ${this.name}`,`${function e(i,o){const n=[],r=new Array(i+1).join("\t");for(const[s,a,l]of o._dep)if(a&&l){t=!0,n.push(`${r}CREATES -> ${s}`);const o=e(i+1,l);o&&n.push(o)}else n.push(`${r}uses -> ${s}`);return n.join("\n")}(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${Trace._totals.toFixed(2)}ms)`];(e>2||t)&&Trace.all.add(i.join("\n"))}}const unsupportedSchemas=new Set([Schemas.inMemory,Schemas.vscodeSourceControl,Schemas.walkThrough,Schemas.walkThroughSnippet,Schemas.vscodeChatCodeBlock]);class DoubleResourceMap{constructor(){this._byResource=new ResourceMap,this._byOwner=new Map}set(e,t,i){let o=this._byResource.get(e);o||(o=new Map,this._byResource.set(e,o)),o.set(t,i);let n=this._byOwner.get(t);n||(n=new ResourceMap,this._byOwner.set(t,n)),n.set(e,i)}get(e,t){const i=this._byResource.get(e);return i?.get(t)}delete(e,t){let i=!1,o=!1;const n=this._byResource.get(e);n&&(i=n.delete(t));const r=this._byOwner.get(t);if(r&&(o=r.delete(e)),i!==o)throw new Error("illegal state");return i&&o}values(e){return"string"==typeof e?this._byOwner.get(e)?.values()??Iterable.empty():URI.isUri(e)?this._byResource.get(e)?.values()??Iterable.empty():Iterable.map(Iterable.concat(...this._byOwner.values()),e=>e[1])}}class MarkerStats{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new ResourceMap,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const e=this._data.get(t);e&&this._substract(e);const i=this._resourceStats(t);this._add(i),this._data.set(t,i)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(unsupportedSchemas.has(e.scheme))return t;for(const{severity:i}of this._service.read({resource:e}))i===MarkerSeverity$1.Error?t.errors+=1:i===MarkerSeverity$1.Warning?t.warnings+=1:i===MarkerSeverity$1.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class MarkerService{constructor(){this._onMarkerChanged=new DebounceEmitter({delay:0,merge:MarkerService._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new DoubleResourceMap,this._stats=new MarkerStats(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if(isFalsyOrEmpty(i)){this._data.delete(t,e)&&this._onMarkerChanged.fire([t])}else{const o=[];for(const n of i){const i=MarkerService._toMarker(e,t,n);i&&o.push(i)}this._data.set(t,e,o),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:o,severity:n,message:r,source:s,startLineNumber:a,startColumn:l,endLineNumber:c,endColumn:d,relatedInformation:u,tags:h}=i;if(r)return a=a>0?a:1,l=l>0?l:1,c=c>=a?c:a,d=d>0?d:l,{resource:t,owner:e,code:o,severity:n,message:r,source:s,startLineNumber:a,startColumn:l,endLineNumber:c,endColumn:d,relatedInformation:u,tags:h}}changeAll(e,t){const i=[],o=this._data.values(e);if(o)for(const n of o){const t=Iterable.first(n);t&&(i.push(t.resource),this._data.delete(t.resource,e))}if(isNonEmptyArray(t)){const o=new ResourceMap;for(const{resource:n,marker:r}of t){const t=MarkerService._toMarker(e,n,r);if(!t)continue;const s=o.get(n);s?s.push(t):(o.set(n,[t]),i.push(n))}for(const[t,i]of o)this._data.set(t,e,i)}i.length>0&&this._onMarkerChanged.fire(i)}read(e=Object.create(null)){let{owner:t,resource:i,severities:o,take:n}=e;if((!n||n<0)&&(n=-1),t&&i){const e=this._data.get(i,t);if(e){const t=[];for(const i of e)if(MarkerService._accept(i,o)){const e=t.push(i);if(n>0&&e===n)break}return t}return[]}if(t||i){const e=this._data.values(i??t),r=[];for(const t of e)for(const e of t)if(MarkerService._accept(e,o)){const t=r.push(e);if(n>0&&t===n)return r}return r}{const e=[];for(const t of this._data.values())for(const i of t)if(MarkerService._accept(i,o)){const t=e.push(i);if(n>0&&t===n)return e}return e}}static _accept(e,t){return void 0===t||(t&e.severity)===e.severity}static _merge(e){const t=new ResourceMap;for(const i of e)for(const e of i)t.set(e,!0);return Array.from(t.keys())}}class DefaultConfiguration extends Disposable{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=ConfigurationModel.createEmptyModel(this.logService)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=ConfigurationModel.createEmptyModel(this.logService);const e=Registry.as(Extensions$6.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const o of e){const e=i[o],n=t[o];void 0!==e?this._configurationModel.setValue(o,e):n?this._configurationModel.setValue(o,n.default):this._configurationModel.removeValue(o)}}}const IAccessibilitySignalService=createDecorator("accessibilitySignalService");class Sound{static register(e){return new Sound(e.fileName)}static{this.error=Sound.register({fileName:"error.mp3"})}static{this.warning=Sound.register({fileName:"warning.mp3"})}static{this.success=Sound.register({fileName:"success.mp3"})}static{this.foldedArea=Sound.register({fileName:"foldedAreas.mp3"})}static{this.break=Sound.register({fileName:"break.mp3"})}static{this.quickFixes=Sound.register({fileName:"quickFixes.mp3"})}static{this.taskCompleted=Sound.register({fileName:"taskCompleted.mp3"})}static{this.taskFailed=Sound.register({fileName:"taskFailed.mp3"})}static{this.terminalBell=Sound.register({fileName:"terminalBell.mp3"})}static{this.diffLineInserted=Sound.register({fileName:"diffLineInserted.mp3"})}static{this.diffLineDeleted=Sound.register({fileName:"diffLineDeleted.mp3"})}static{this.diffLineModified=Sound.register({fileName:"diffLineModified.mp3"})}static{this.chatRequestSent=Sound.register({fileName:"chatRequestSent.mp3"})}static{this.chatResponseReceived1=Sound.register({fileName:"chatResponseReceived1.mp3"})}static{this.chatResponseReceived2=Sound.register({fileName:"chatResponseReceived2.mp3"})}static{this.chatResponseReceived3=Sound.register({fileName:"chatResponseReceived3.mp3"})}static{this.chatResponseReceived4=Sound.register({fileName:"chatResponseReceived4.mp3"})}static{this.clear=Sound.register({fileName:"clear.mp3"})}static{this.save=Sound.register({fileName:"save.mp3"})}static{this.format=Sound.register({fileName:"format.mp3"})}static{this.voiceRecordingStarted=Sound.register({fileName:"voiceRecordingStarted.mp3"})}static{this.voiceRecordingStopped=Sound.register({fileName:"voiceRecordingStopped.mp3"})}static{this.progress=Sound.register({fileName:"progress.mp3"})}constructor(e){this.fileName=e}}class SoundSource{constructor(e){this.randomOneOf=e}}class AccessibilitySignal{constructor(e,t,i,o,n,r){this.sound=e,this.name=t,this.legacySoundSettingsKey=i,this.settingsKey=o,this.legacyAnnouncementSettingsKey=n,this.announcementMessage=r}static{this._signals=new Set}static register(e){const t=new SoundSource("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),i=new AccessibilitySignal(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return AccessibilitySignal._signals.add(i),i}static{this.errorAtPosition=AccessibilitySignal.register({name:localize("accessibilitySignals.positionHasError.name","Error at Position"),sound:Sound.error,announcementMessage:localize("accessibility.signals.positionHasError","Error"),settingsKey:"accessibility.signals.positionHasError",delaySettingsKey:"accessibility.signalOptions.delays.errorAtPosition"})}static{this.warningAtPosition=AccessibilitySignal.register({name:localize("accessibilitySignals.positionHasWarning.name","Warning at Position"),sound:Sound.warning,announcementMessage:localize("accessibility.signals.positionHasWarning","Warning"),settingsKey:"accessibility.signals.positionHasWarning",delaySettingsKey:"accessibility.signalOptions.delays.warningAtPosition"})}static{this.errorOnLine=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasError.name","Error on Line"),sound:Sound.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:localize("accessibility.signals.lineHasError","Error on Line"),settingsKey:"accessibility.signals.lineHasError"})}static{this.warningOnLine=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasWarning.name","Warning on Line"),sound:Sound.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:localize("accessibility.signals.lineHasWarning","Warning on Line"),settingsKey:"accessibility.signals.lineHasWarning"})}static{this.foldedArea=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasFoldedArea.name","Folded Area on Line"),sound:Sound.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:localize("accessibility.signals.lineHasFoldedArea","Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"})}static{this.break=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasBreakpoint.name","Breakpoint on Line"),sound:Sound.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:localize("accessibility.signals.lineHasBreakpoint","Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"})}static{this.inlineSuggestion=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:Sound.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"})}static{this.terminalQuickFix=AccessibilitySignal.register({name:localize("accessibilitySignals.terminalQuickFix.name","Terminal Quick Fix"),sound:Sound.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:localize("accessibility.signals.terminalQuickFix","Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"})}static{this.onDebugBreak=AccessibilitySignal.register({name:localize("accessibilitySignals.onDebugBreak.name","Debugger Stopped on Breakpoint"),sound:Sound.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:localize("accessibility.signals.onDebugBreak","Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"})}static{this.noInlayHints=AccessibilitySignal.register({name:localize("accessibilitySignals.noInlayHints","No Inlay Hints on Line"),sound:Sound.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:localize("accessibility.signals.noInlayHints","No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"})}static{this.taskCompleted=AccessibilitySignal.register({name:localize("accessibilitySignals.taskCompleted","Task Completed"),sound:Sound.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:localize("accessibility.signals.taskCompleted","Task Completed"),settingsKey:"accessibility.signals.taskCompleted"})}static{this.taskFailed=AccessibilitySignal.register({name:localize("accessibilitySignals.taskFailed","Task Failed"),sound:Sound.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:localize("accessibility.signals.taskFailed","Task Failed"),settingsKey:"accessibility.signals.taskFailed"})}static{this.terminalCommandFailed=AccessibilitySignal.register({name:localize("accessibilitySignals.terminalCommandFailed","Terminal Command Failed"),sound:Sound.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:localize("accessibility.signals.terminalCommandFailed","Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"})}static{this.terminalCommandSucceeded=AccessibilitySignal.register({name:localize("accessibilitySignals.terminalCommandSucceeded","Terminal Command Succeeded"),sound:Sound.success,announcementMessage:localize("accessibility.signals.terminalCommandSucceeded","Command Succeeded"),settingsKey:"accessibility.signals.terminalCommandSucceeded"})}static{this.terminalBell=AccessibilitySignal.register({name:localize("accessibilitySignals.terminalBell","Terminal Bell"),sound:Sound.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:localize("accessibility.signals.terminalBell","Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"})}static{this.notebookCellCompleted=AccessibilitySignal.register({name:localize("accessibilitySignals.notebookCellCompleted","Notebook Cell Completed"),sound:Sound.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:localize("accessibility.signals.notebookCellCompleted","Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"})}static{this.notebookCellFailed=AccessibilitySignal.register({name:localize("accessibilitySignals.notebookCellFailed","Notebook Cell Failed"),sound:Sound.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:localize("accessibility.signals.notebookCellFailed","Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"})}static{this.diffLineInserted=AccessibilitySignal.register({name:localize("accessibilitySignals.diffLineInserted","Diff Line Inserted"),sound:Sound.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"})}static{this.diffLineDeleted=AccessibilitySignal.register({name:localize("accessibilitySignals.diffLineDeleted","Diff Line Deleted"),sound:Sound.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"})}static{this.diffLineModified=AccessibilitySignal.register({name:localize("accessibilitySignals.diffLineModified","Diff Line Modified"),sound:Sound.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"})}static{this.chatRequestSent=AccessibilitySignal.register({name:localize("accessibilitySignals.chatRequestSent","Chat Request Sent"),sound:Sound.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:localize("accessibility.signals.chatRequestSent","Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"})}static{this.chatResponseReceived=AccessibilitySignal.register({name:localize("accessibilitySignals.chatResponseReceived","Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[Sound.chatResponseReceived1,Sound.chatResponseReceived2,Sound.chatResponseReceived3,Sound.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"})}static{this.progress=AccessibilitySignal.register({name:localize("accessibilitySignals.progress","Progress"),sound:Sound.progress,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.progress",announcementMessage:localize("accessibility.signals.progress","Progress"),settingsKey:"accessibility.signals.progress"})}static{this.clear=AccessibilitySignal.register({name:localize("accessibilitySignals.clear","Clear"),sound:Sound.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:localize("accessibility.signals.clear","Clear"),settingsKey:"accessibility.signals.clear"})}static{this.save=AccessibilitySignal.register({name:localize("accessibilitySignals.save","Save"),sound:Sound.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:localize("accessibility.signals.save","Save"),settingsKey:"accessibility.signals.save"})}static{this.format=AccessibilitySignal.register({name:localize("accessibilitySignals.format","Format"),sound:Sound.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:localize("accessibility.signals.format","Format"),settingsKey:"accessibility.signals.format"})}static{this.voiceRecordingStarted=AccessibilitySignal.register({name:localize("accessibilitySignals.voiceRecordingStarted","Voice Recording Started"),sound:Sound.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"})}static{this.voiceRecordingStopped=AccessibilitySignal.register({name:localize("accessibilitySignals.voiceRecordingStopped","Voice Recording Stopped"),sound:Sound.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"})}}class LogService extends Disposable{constructor(e,t=[]){super(),this.logger=new MultiplexLogger([e,...t]),this._register(e.onDidChangeLogLevel(e=>this.setLevel(e)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}}const editorFeatures=[];function registerEditorFeature(e){editorFeatures.push(e)}function getEditorFeatures(){return editorFeatures.slice(0)}class StandaloneTreeSitterParserService{getParseResult(e){}}var __decorate$22=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1_=function(e,t){return function(i,o){t(i,o,e)}};class SimpleModel{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new Emitter$1}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let StandaloneTextModelService=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new ImmortalReference(new SimpleModel(t))):Promise.reject(new Error("Model not found"))}};StandaloneTextModelService=__decorate$22([__param$1_(0,IModelService)],StandaloneTextModelService);class StandaloneEditorProgressService{static{this.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}}}show(){return StandaloneEditorProgressService.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}}class StandaloneProgressService{withProgress(e,t,i){return t({report:()=>{}})}}class StandaloneEnvironmentService{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class StandaloneDialogService{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let i=e;return t&&(i=i+"\n\n"+t),mainWindow.confirm(i)}async prompt(e){let t;if(this.doConfirm(e.message,e.detail)){const i=[...e.buttons??[]];e.cancelButton&&"string"!=typeof e.cancelButton&&"boolean"!=typeof e.cancelButton&&i.push(e.cancelButton),t=await(i[0]?.run({checkboxChecked:!1}))}return{result:t}}async error(e,t){await this.prompt({type:Severity$2.Error,message:e,detail:t})}}class StandaloneNotificationService{static{this.NO_OP=new NoOpNotification}info(e){return this.notify({severity:Severity$2.Info,message:e})}warn(e){return this.notify({severity:Severity$2.Warning,message:e})}error(e){return this.notify({severity:Severity$2.Error,message:e})}notify(e){switch(e.severity){case Severity$2.Error:console.error(e.message);break;case Severity$2.Warning:console.warn(e.message);break;default:console.log(e.message)}return StandaloneNotificationService.NO_OP}prompt(e,t,i,o){return StandaloneNotificationService.NO_OP}status(e,t){return Disposable.None}}let StandaloneCommandService=class{constructor(e){this._onWillExecuteCommand=new Emitter$1,this._onDidExecuteCommand=new Emitter$1,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=CommandsRegistry.getCommand(e);if(!i)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const o=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(o)}catch(o){return Promise.reject(o)}}};StandaloneCommandService=__decorate$22([__param$1_(0,IInstantiationService)],StandaloneCommandService);let StandaloneKeybindingService=class extends AbstractKeybindingService{constructor(e,t,i,o,n,r){super(e,t,i,o,n),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const s=e=>{const t=new DisposableStore;t.add(addDisposableListener(e,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);this._dispatch(t,t.target)&&(t.preventDefault(),t.stopPropagation())})),t.add(addDisposableListener(e,EventType$1.KEY_UP,e=>{const t=new StandardKeyboardEvent(e);this._singleModifierDispatch(t,t.target)&&t.preventDefault()})),this._domNodeListeners.push(new DomNodeListeners(e,t))},a=e=>{for(let t=0;t{e.getOption(61)||s(e.getContainerDomNode())};this._register(r.onCodeEditorAdd(l)),this._register(r.onCodeEditorRemove(e=>{e.getOption(61)||a(e.getContainerDomNode())})),r.listCodeEditors().forEach(l);const c=e=>{s(e.getContainerDomNode())};this._register(r.onDiffEditorAdd(c)),this._register(r.onDiffEditorRemove(e=>{a(e.getContainerDomNode())})),r.listDiffEditors().forEach(c)}addDynamicKeybinding(e,t,i,o){return combinedDisposable(CommandsRegistry.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:o}]))}addDynamicKeybindings(e){const t=e.map(e=>({keybinding:decodeKeybinding(e.keybinding,OS),command:e.command??null,commandArgs:e.commandArgs,when:e.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),toDisposable(()=>{for(let e=0;ethis._log(e))}return this._cachedResolver}_documentHasFocus(){return mainWindow.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let o=0;for(const n of e){const e=n.when||void 0,r=n.keybinding;if(r){const s=USLayoutResolvedKeybinding.resolveKeybinding(r,OS);for(const r of s)i[o++]=new ResolvedKeybindingItem(r,n.command,n.commandArgs,e,t,null,!1)}else i[o++]=new ResolvedKeybindingItem(void 0,n.command,n.commandArgs,e,t,null,!1)}return i}resolveKeyboardEvent(e){const t=new KeyCodeChord(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new USLayoutResolvedKeybinding([t],OS)}};StandaloneKeybindingService=__decorate$22([__param$1_(0,IContextKeyService),__param$1_(1,ICommandService),__param$1_(2,ITelemetryService),__param$1_(3,INotificationService),__param$1_(4,ILogService),__param$1_(5,ICodeEditorService)],StandaloneKeybindingService);class DomNodeListeners extends Disposable{constructor(e,t){super(),this.domNode=e,this._register(t)}}function isConfigurationOverrides(e){return e&&"object"==typeof e&&(!e.overrideIdentifier||"string"==typeof e.overrideIdentifier)&&(!e.resource||e.resource instanceof URI)}let StandaloneConfigurationService=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new Emitter$1,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new DefaultConfiguration(e);this._configuration=new Configuration(t.reload(),ConfigurationModel.createEmptyModel(e),ConfigurationModel.createEmptyModel(e),ConfigurationModel.createEmptyModel(e),ConfigurationModel.createEmptyModel(e),ConfigurationModel.createEmptyModel(e),new ResourceMap,ConfigurationModel.createEmptyModel(e),new ResourceMap,e),t.dispose()}getValue(e,t){const i="string"==typeof e?e:void 0,o=isConfigurationOverrides(e)?e:isConfigurationOverrides(t)?t:{};return this._configuration.getValue(i,o,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const o of e){const[e,t]=o;this.getValue(e)!==t&&(this._configuration.updateValue(e,t),i.push(e))}if(i.length>0){const e=new ConfigurationChangeEvent({keys:i,overrides:[]},t,this._configuration,void 0,this.logService);e.source=8,this._onDidChangeConfiguration.fire(e)}return Promise.resolve()}updateValue(e,t,i,o){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}};StandaloneConfigurationService=__decorate$22([__param$1_(0,ILogService)],StandaloneConfigurationService);let StandaloneResourceConfigurationService=class{constructor(e,t,i){this.configurationService=e,this.modelService=t,this.languageService=i,this._onDidChangeConfiguration=new Emitter$1,this.configurationService.onDidChangeConfiguration(e=>{this._onDidChangeConfiguration.fire({affectedKeys:e.affectedKeys,affectsConfiguration:(t,i)=>e.affectsConfiguration(i)})})}getValue(e,t,i){const o=Position$1.isIPosition(t)?t:null,n=o?"string"==typeof i?i:void 0:"string"==typeof t?t:void 0,r=e?this.getLanguage(e,o):void 0;return void 0===n?this.configurationService.getValue({resource:e,overrideIdentifier:r}):this.configurationService.getValue(n,{resource:e,overrideIdentifier:r})}getLanguage(e,t){const i=this.modelService.getModel(e);return i?t?i.getLanguageIdAtPosition(t.lineNumber,t.column):i.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};StandaloneResourceConfigurationService=__decorate$22([__param$1_(0,IConfigurationService),__param$1_(1,IModelService),__param$1_(2,ILanguageService)],StandaloneResourceConfigurationService);let StandaloneResourcePropertiesService=class{constructor(e){this.configurationService=e}getEOL(e,t){const i=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return i&&"string"==typeof i&&"auto"!==i?i:isLinux||isMacintosh?"\n":"\r\n"}};StandaloneResourcePropertiesService=__decorate$22([__param$1_(0,IConfigurationService)],StandaloneResourcePropertiesService);class StandaloneTelemetryService{publicLog2(){}}class StandaloneWorkspaceContextService{static{this.SCHEME="inmemory"}constructor(){const e=URI.from({scheme:StandaloneWorkspaceContextService.SCHEME,authority:"model",path:"/"});this.workspace={id:STANDALONE_EDITOR_WORKSPACE_ID,folders:[new WorkspaceFolder({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===StandaloneWorkspaceContextService.SCHEME?this.workspace.folders[0]:null}}function updateConfigurationService(e,t,i){if(!t)return;if(!(e instanceof StandaloneConfigurationService))return;const o=[];Object.keys(t).forEach(e=>{isEditorConfigurationKey(e)&&o.push([`editor.${e}`,t[e]]),i&&isDiffEditorConfigurationKey(e)&&o.push([`diffEditor.${e}`,t[e]])}),o.length>0&&e.updateValues(o)}let StandaloneBulkEditService=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:ResourceEdit.convert(e),o=new Map;for(const s of i){if(!(s instanceof ResourceTextEdit))throw new Error("bad edit - only text edits are supported");const e=this._modelService.getModel(s.resource);if(!e)throw new Error("bad edit - model not found");if("number"==typeof s.versionId&&e.getVersionId()!==s.versionId)throw new Error("bad state - model changed in the meantime");let t=o.get(e);t||(t=[],o.set(e,t)),t.push(EditOperation.replaceMove(Range$2.lift(s.textEdit.range),s.textEdit.text))}let n=0,r=0;for(const[s,a]of o)s.pushStackElement(),s.pushEditOperations([],a,()=>[]),s.pushStackElement(),r+=1,n+=a.length;return{ariaSummary:format$1(StandaloneServicesNLS.bulkEditServiceSummary,n,r),isApplied:n>0}}};StandaloneBulkEditService=__decorate$22([__param$1_(0,IModelService)],StandaloneBulkEditService);class StandaloneUriLabelService{getUriLabel(e,t){return"file"===e.scheme?e.fsPath:e.path}getUriBasenameLabel(e){return basename(e)}}let StandaloneContextViewService=class extends ContextViewService{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const e=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();e&&(t=e.getContainerDomNode())}return super.showContextView(e,t,i)}};StandaloneContextViewService=__decorate$22([__param$1_(0,ILayoutService),__param$1_(1,ICodeEditorService)],StandaloneContextViewService);class StandaloneWorkspaceTrustManagementService{constructor(){this._neverEmitter=new Emitter$1,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class StandaloneLanguageService extends LanguageService{constructor(){super()}}class StandaloneLogService extends LogService{constructor(){super(new ConsoleLogger)}}let StandaloneContextMenuService=class extends ContextMenuService{constructor(e,t,i,o,n,r){super(e,t,i,o,n,r),this.configure({blockMouse:!1})}};StandaloneContextMenuService=__decorate$22([__param$1_(0,ITelemetryService),__param$1_(1,INotificationService),__param$1_(2,IContextViewService),__param$1_(3,IKeybindingService),__param$1_(4,IMenuService),__param$1_(5,IContextKeyService)],StandaloneContextMenuService);const standaloneEditorWorkerDescriptor={amdModuleId:"vs/editor/common/services/editorSimpleWorker",esmModuleLocation:void 0,label:"editorWorkerService"};let StandaloneEditorWorkerService=class extends EditorWorkerService{constructor(e,t,i,o,n){super(standaloneEditorWorkerDescriptor,e,t,i,o,n)}};StandaloneEditorWorkerService=__decorate$22([__param$1_(0,IModelService),__param$1_(1,ITextResourceConfigurationService),__param$1_(2,ILogService),__param$1_(3,ILanguageConfigurationService),__param$1_(4,ILanguageFeaturesService)],StandaloneEditorWorkerService);class StandaloneAccessbilitySignalService{async playSignal(e,t){}}var StandaloneServices;function createWebWorker$1(e,t){return new MonacoWebWorkerImpl(e,t)}registerSingleton(ILogService,StandaloneLogService,0),registerSingleton(IConfigurationService,StandaloneConfigurationService,0),registerSingleton(ITextResourceConfigurationService,StandaloneResourceConfigurationService,0),registerSingleton(ITextResourcePropertiesService,StandaloneResourcePropertiesService,0),registerSingleton(IWorkspaceContextService,StandaloneWorkspaceContextService,0),registerSingleton(ILabelService,StandaloneUriLabelService,0),registerSingleton(ITelemetryService,StandaloneTelemetryService,0),registerSingleton(IDialogService,StandaloneDialogService,0),registerSingleton(IEnvironmentService,StandaloneEnvironmentService,0),registerSingleton(INotificationService,StandaloneNotificationService,0),registerSingleton(IMarkerService,MarkerService,0),registerSingleton(ILanguageService,StandaloneLanguageService,0),registerSingleton(IStandaloneThemeService,StandaloneThemeService,0),registerSingleton(IModelService,ModelService,0),registerSingleton(IMarkerDecorationsService,MarkerDecorationsService,0),registerSingleton(IContextKeyService,ContextKeyService,0),registerSingleton(IProgressService,StandaloneProgressService,0),registerSingleton(IEditorProgressService,StandaloneEditorProgressService,0),registerSingleton(IStorageService,InMemoryStorageService,0),registerSingleton(IEditorWorkerService,StandaloneEditorWorkerService,0),registerSingleton(IBulkEditService,StandaloneBulkEditService,0),registerSingleton(IWorkspaceTrustManagementService,StandaloneWorkspaceTrustManagementService,0),registerSingleton(ITextModelService,StandaloneTextModelService,0),registerSingleton(IAccessibilityService,AccessibilityService,0),registerSingleton(IListService,ListService,0),registerSingleton(ICommandService,StandaloneCommandService,0),registerSingleton(IKeybindingService,StandaloneKeybindingService,0),registerSingleton(IQuickInputService,StandaloneQuickInputService,0),registerSingleton(IContextViewService,StandaloneContextViewService,0),registerSingleton(IOpenerService,OpenerService,0),registerSingleton(IClipboardService,BrowserClipboardService,0),registerSingleton(IContextMenuService,StandaloneContextMenuService,0),registerSingleton(IMenuService,MenuService,0),registerSingleton(IAccessibilitySignalService,StandaloneAccessbilitySignalService,0),registerSingleton(ITreeSitterParserService,StandaloneTreeSitterParserService,0),function(e){const t=new ServiceCollection;for(const[s,a]of getSingletonServiceDescriptors())t.set(s,a);const i=new InstantiationService(t,!0);t.set(IInstantiationService,i),e.get=function(e){o||r({});const n=t.get(e);if(!n)throw new Error("Missing service "+e);return n instanceof SyncDescriptor?i.invokeFunction(t=>t.get(e)):n};let o=!1;const n=new Emitter$1;function r(e){if(o)return i;o=!0;for(const[i,o]of getSingletonServiceDescriptors())t.get(i)||t.set(i,o);for(const i in e)if(e.hasOwnProperty(i)){const o=createDecorator(i);t.get(o)instanceof SyncDescriptor&&t.set(o,e[i])}const r=getEditorFeatures();for(const t of r)try{i.createInstance(t)}catch(s){onUnexpectedError(s)}return n.fire(),i}e.initialize=r,e.withServices=function(e){if(o)return e();const t=new DisposableStore,i=t.add(n.event(()=>{i.dispose(),t.add(e())}));return t}}(StandaloneServices||(StandaloneServices={}));class MonacoWebWorkerImpl extends EditorWorkerClient{constructor(e,t){super({amdModuleId:standaloneEditorWorkerDescriptor.amdModuleId,esmModuleLocation:standaloneEditorWorkerDescriptor.esmModuleLocation,label:t.label},t.keepIdleModels||!1,e),this._foreignModuleId=t.moduleId,this._foreignModuleCreateData=t.createData||null,this._foreignModuleHost=t.host||null,this._foreignProxy=null}fhr(t,i){if(!this._foreignModuleHost||"function"!=typeof this._foreignModuleHost[t])return Promise.reject(new Error("Missing method "+t+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[t].apply(this._foreignModuleHost,i))}catch(e){return Promise.reject(e)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(e=>{const t=this._foreignModuleHost?getAllMethodNames(this._foreignModuleHost):[];return e.$loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(t=>{this._foreignModuleCreateData=null;const i=(t,i)=>e.$fmr(t,i),o=(e,t)=>function(){const i=Array.prototype.slice.call(arguments,0);return t(e,i)},n={};for(const e of t)n[e]=o(e,i);return n})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}}const EditorType={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};class LineDecoration{constructor(e,t,i,o){this.startColumn=e,this.endColumn=t,this.className=i,this.type=o,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length;if(i!==t.length)return!1;for(let o=0;o=n||(s[a++]=new LineDecoration(Math.max(1,l.startColumn-o+1),Math.min(r+1,l.endColumn-o+1),l.className,l.type));return s}static filter(e,t,i,o){if(0===e.length)return[];const n=[];let r=0;for(let s=0,a=e.length;st)continue;if(l.isEmpty()&&(0===a.type||3===a.type))continue;const c=l.startLineNumber===t?l.startColumn:i,d=l.endLineNumber===t?l.endColumn:o;n[r++]=new LineDecoration(c,d,a.inlineClassName,a.type)}return n}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=LineDecoration._typeCompare(e.type,t.type);return 0!==i?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&i=e){this.stopOffsets.splice(o,0,e),this.classNames.splice(o,0,t),this.metadata.splice(o,0,i);break}this.count++}};class LineDecorationsNormalizer{static normalize(e,t){if(0===t.length)return[];const i=[],o=new Stack$1;let n=0;for(let r=0,s=t.length;r1){isHighSurrogate(e.charCodeAt(a-2))&&a--}if(l>1){isHighSurrogate(e.charCodeAt(l-2))&&l--}const u=a-1,h=l-2;n=o.consumeLowerThan(u,n,i),0===o.count&&(n=u),o.insert(h,c,d)}return o.consumeLowerThan(1073741824,n,i),i}}class LinePart{constructor(e,t,i,o){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=o,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class LineRange{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class RenderLineInput{constructor(e,t,i,o,n,r,s,a,l,c,d,u,h,p,g,m,f,v,b){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=o,this.isBasicASCII=n,this.containsRTL=r,this.fauxIndentLength=s,this.lineTokens=a,this.lineDecorations=l.sort(LineDecoration.compare),this.tabSize=c,this.startVisibleColumn=d,this.spaceWidth=u,this.stopRenderingLineAfter=g,this.renderWhitespace="all"===m?4:"boundary"===m?1:"selection"===m?2:"trailing"===m?3:0,this.renderControlCharacters=f,this.fontLigatures=v,this.selectionsOnLine=b&&b.sort((e,t)=>e.startOffset>>16}static getCharIndex(e){return(65535&e)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,o){const n=(t<<16|i)>>>0;this._data[e-1]=n,this._horizontalOffset[e-1]=o}getHorizontalOffset(e){return 0===this._horizontalOffset.length?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=CharacterMapping.getPartIndex(t),o=CharacterMapping.getCharIndex(t);return new DomPosition(i,o)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(0===this.length)return 0;const o=(e<<16|i)>>>0;let n=0,r=this.length-1;for(;n+1>>1,t=this._data[e];if(t===o)return e;t>o?r=e:n=e}if(n===r)return n;const s=this._data[n],a=this._data[r];if(s===o)return n;if(a===o)return r;const l=CharacterMapping.getPartIndex(s),c=CharacterMapping.getCharIndex(s);let d;d=l!==CharacterMapping.getPartIndex(a)?t:CharacterMapping.getCharIndex(a);return i-c<=d-i?n:r}}class RenderLineOutput{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function renderViewLine(e,t){if(0===e.lineContent.length){if(e.lineDecorations.length>0){t.appendString("");let i=0,o=0,n=0;for(const s of e.lineDecorations)1!==s.type&&2!==s.type||(t.appendString(''),1===s.type&&(n|=1,i++),2===s.type&&(n|=2,o++));t.appendString("");const r=new CharacterMapping(1,i+o);return r.setColumnInfo(1,i,0,0),new RenderLineOutput(r,!1,n)}return t.appendString(""),new RenderLineOutput(new CharacterMapping(0,0),!1,0)}return _renderLine(resolveRenderLineInput(e),t)}class RenderLineOutput2{constructor(e,t,i,o){this.characterMapping=e,this.html=t,this.containsRTL=i,this.containsForeignElements=o}}function renderViewLine2(e){const t=new StringBuilder(1e4),i=renderViewLine(e,t);return new RenderLineOutput2(i.characterMapping,t.build(),i.containsRTL,i.containsForeignElements)}class ResolvedRenderLineInput{constructor(e,t,i,o,n,r,s,a,l,c,d,u,h,p,g,m){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=o,this.isOverflowing=n,this.overflowingCharCount=r,this.parts=s,this.containsForeignElements=a,this.fauxIndentLength=l,this.tabSize=c,this.startVisibleColumn=d,this.containsRTL=u,this.spaceWidth=h,this.renderSpaceCharCode=p,this.renderWhitespace=g,this.renderControlCharacters=m}}function resolveRenderLineInput(e){const t=e.lineContent;let i,o,n;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0){for(let t=0,i=e.lineDecorations.length;t0&&(r[s++]=new LinePart(o,"",0,!1));let a=o;for(let l=0,c=i.getCount();l=n){const i=!!t&&containsRTL(e.substring(a,n));r[s++]=new LinePart(n,d,0,i);break}const u=!!t&&containsRTL(e.substring(a,c));r[s++]=new LinePart(c,d,0,u),a=c}return r}function splitLargeTokens(e,t,i){let o=0;const n=[];let r=0;if(i)for(let s=0,a=t.length;s=50&&(n[r++]=new LinePart(c+1,t,s,l),d=c+1,c=-1);d!==a&&(n[r++]=new LinePart(a,t,s,l))}else n[r++]=i;o=a}else for(let s=0,a=t.length;s50){const t=e.type,s=e.metadata,l=e.containsRTL,c=Math.ceil(a/50);for(let e=1;e=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||1564===e)}function extractControlCharacters(e,t){const i=[];let o=new LinePart(0,"",0,!1),n=0;for(const r of t){const t=r.endIndex;for(;no.endIndex&&(o=new LinePart(n,r.type,r.metadata,r.containsRTL),i.push(o)),o=new LinePart(n+1,"mtkcontrol",r.metadata,!1),i.push(o))}n>o.endIndex&&(o=new LinePart(t,r.type,r.metadata,r.containsRTL),i.push(o))}return i}function _applyRenderWhitespace(e,t,i,o){const n=e.continuesWithWrappedLine,r=e.fauxIndentLength,s=e.tabSize,a=e.startVisibleColumn,l=e.useMonospaceOptimizations,c=e.selectionsOnLine,d=1===e.renderWhitespace,u=3===e.renderWhitespace,h=e.renderSpaceWidth!==e.spaceWidth,p=[];let g=0,m=0,f=o[m].type,v=o[m].containsRTL,b=o[m].endIndex;const _=o.length;let y,C=!1,w=firstNonWhitespaceIndex(t);-1===w?(C=!0,w=i,y=i):y=lastNonWhitespaceIndex(t);let x=!1,S=0,k=c&&c[S],E=a%s;for(let T=r;T=k.endOffset&&(S++,k=c&&c[S]),Ty)n=!0;else if(9===e)n=!0;else if(32===e)if(d)if(x)n=!0;else{const e=T+1T),n&&u&&(n=C||T>y),n&&v&&T>=w&&T<=y&&(n=!1),x){if(!n||!l&&E>=s){if(h){for(let e=(g>0?p[g-1].endIndex:r)+1;e<=T;e++)p[g++]=new LinePart(e,"mtkw",1,!1)}else p[g++]=new LinePart(T,"mtkw",1,!1);E%=s}}else(T===b||n&&T>r)&&(p[g++]=new LinePart(T,f,0,v),E%=s);for(9===e?E=s:isFullWidthCharacter(e)?E+=2:E++,x=n;T===b&&(m++,m<_);)f=o[m].type,v=o[m].containsRTL,b=o[m].endIndex}let I=!1;if(x)if(n&&d){const e=i>0?t.charCodeAt(i-1):0,o=i>1?t.charCodeAt(i-2):0;32===e&&32!==o&&9!==o||(I=!0)}else I=!0;if(I)if(h){for(let e=(g>0?p[g-1].endIndex:r)+1;e<=i;e++)p[g++]=new LinePart(e,"mtkw",1,!1)}else p[g++]=new LinePart(i,"mtkw",1,!1);else p[g++]=new LinePart(i,f,0,v);return p}function _applyInlineDecorations(e,t,i,o){o.sort(LineDecoration.compare);const n=LineDecorationsNormalizer.normalize(e,o),r=n.length;let s=0;const a=[];let l=0,c=0;for(let u=0,h=i.length;uc&&(c=e.startOffset,a[l++]=new LinePart(c,o,d,h)),!(e.endOffset+1<=t)){c=t,a[l++]=new LinePart(c,o+" "+e.className,d|e.metadata,h);break}c=e.endOffset+1,a[l++]=new LinePart(c,o+" "+e.className,d|e.metadata,h),s++}t>c&&(c=t,a[l++]=new LinePart(c,o,d,h))}const d=i[i.length-1].endIndex;if(s'):t.appendString("");for(let k=0,E=c.length;k=d&&(i+=o)}}for(E&&(t.appendString(' style="width:'),t.appendString(String(g*e)),t.appendString('px"')),t.appendASCIICharCode(62);y1?t.appendCharCode(8594):t.appendCharCode(65515);for(let e=2;e<=i;e++)t.appendCharCode(160)}else e=2,i=1,t.appendCharCode(m),t.appendCharCode(8204);w+=e,x+=i,y>=d&&(C+=i)}}else for(t.appendASCIICharCode(62);y=d&&(C+=o)}I?S++:S=0,y>=s&&!_&&e.isPseudoAfter()&&(_=!0,b.setColumnInfo(y+1,k,w,x)),t.appendString("")}return _||b.setColumnInfo(s+1,c.length-1,w,x),a&&(t.appendString(''),t.appendString(localize("showMore","Show more ({0})",renderOverflowingCharCount(l))),t.appendString("")),t.appendString(""),new RenderLineOutput(b,p,n)}function to4CharHex(e){return e.toString(16).toUpperCase().padStart(4,"0")}function renderOverflowingCharCount(e){return e<1024?localize("overflow.chars","{0} chars",e):e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}class Viewport{constructor(e,t,i,o){this._viewportBrand=void 0,this.top=0|e,this.left=0|t,this.width=0|i,this.height=0|o}}class MinimapLinesRenderingData{constructor(e,t){this.tabSize=e,this.data=t}}class ViewLineData{constructor(e,t,i,o,n,r,s){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=o,this.startVisibleColumn=n,this.tokens=r,this.inlineDecorations=s}}class ViewLineRenderingData{constructor(e,t,i,o,n,r,s,a,l,c){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=o,this.isBasicASCII=ViewLineRenderingData.isBasicASCII(i,r),this.containsRTL=ViewLineRenderingData.containsRTL(i,this.isBasicASCII,n),this.tokens=s,this.inlineDecorations=a,this.tabSize=l,this.startVisibleColumn=c}static isBasicASCII(e,t){return!t||isBasicASCII(e)}static containsRTL(e,t,i){return!(t||!i)&&containsRTL(e)}}class InlineDecoration{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class SingleLineInlineDecoration{constructor(e,t,i,o){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=o}toInlineDecoration(e){return new InlineDecoration(new Range$2(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class ViewModelDecoration{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class OverviewRulerDecorationsGroup{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&equals$2(e.data,t.data)}static equalsArr(e,t){return equals$2(e,t,OverviewRulerDecorationsGroup.equals)}}function isFuzzyActionArr(e){return Array.isArray(e)}function isFuzzyAction(e){return!isFuzzyActionArr(e)}function isString$3(e){return"string"==typeof e}function isIAction(e){return!isString$3(e)}function empty(e){return!e}function fixCase(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function sanitize(e){return e.replace(/[&<>'"_]/g,"-")}function log(e,t){console.log(`${e.languageId}: ${t}`)}function createError(e,t){return new Error(`${e.languageId}: ${t}`)}function substituteMatches(e,t,i,o,n){let r=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,function(t,s,a,l,c,d,u,h,p){return empty(a)?empty(l)?!empty(c)&&c0;){const t=e.tokenizer[i];if(t)return t;const o=i.lastIndexOf(".");i=o<0?null:i.substr(0,o)}return null}function stateExists(e,t){let i=t;for(;i&&i.length>0;){if(e.stateNames[i])return!0;const t=i.lastIndexOf(".");i=t<0?null:i.substr(0,t)}return!1}var __decorate$21=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1Z=function(e,t){return function(i,o){t(i,o,e)}},MonarchTokenizer_1;const CACHE_STACK_DEPTH=5;class MonarchStackElementFactory{static{this._INSTANCE=new MonarchStackElementFactory(CACHE_STACK_DEPTH)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==e&&e.depth>=this._maxCacheDepth)return new MonarchStackElement(e,t);let i=MonarchStackElement.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let o=this._entries[i];return o||(o=new MonarchStackElement(e,t),this._entries[i]=o,o)}}class MonarchStackElement{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;null!==e;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t}equals(e){return MonarchStackElement._equals(this,e)}push(e){return MonarchStackElementFactory.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return MonarchStackElementFactory.create(this.parent,e)}}class EmbeddedLanguageData{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new EmbeddedLanguageData(this.languageId,this.state)}}class MonarchLineStateFactory{static{this._INSTANCE=new MonarchLineStateFactory(CACHE_STACK_DEPTH)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==t)return new MonarchLineState(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new MonarchLineState(e,t);const i=MonarchStackElement.getStackElementId(e);let o=this._entries[i];return o||(o=new MonarchLineState(e,null),this._entries[i]=o,o)}}class MonarchLineState{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:MonarchLineStateFactory.create(this.stack,this.embeddedLanguageData)}equals(e){return e instanceof MonarchLineState&&(!!this.stack.equals(e.stack)&&(null===this.embeddedLanguageData&&null===e.embeddedLanguageData||null!==this.embeddedLanguageData&&null!==e.embeddedLanguageData&&this.embeddedLanguageData.equals(e.embeddedLanguageData)))}}class MonarchClassicTokensCollector{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new Token$2(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,o){const n=i.languageId,r=i.state,s=TokenizationRegistry.get(n);if(!s)return this.enterLanguage(n),this.emit(o,""),r;const a=s.tokenize(e,t,r);if(0!==o)for(const l of a.tokens)this._tokens.push(new Token$2(l.offset+o,l.type,l.language));else this._tokens=this._tokens.concat(a.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,a.endState}finalize(e){return new TokenizationResult(this._tokens,e)}}class MonarchModernTokensCollector{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const i=1024|this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const o=null!==e?e.length:0,n=t.length,r=null!==i?i.length:0;if(0===o&&0===n&&0===r)return new Uint32Array(0);if(0===o&&0===n)return i;if(0===n&&0===r)return e;const s=new Uint32Array(o+n+r);null!==e&&s.set(e);for(let a=0;a{if(r)return;let t=!1;for(let i=0,o=e.changedLanguages.length;i{e.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=TokenizationRegistry.get(t);if(i){if(i instanceof MonarchTokenizer_1){const t=i.getLoadStatus();!1===t.loaded&&e.push(t.promise)}}else TokenizationRegistry.isResolved(t)||e.push(TokenizationRegistry.getOrCreate(t))}return 0===e.length?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(e=>{})}}getInitialState(){const e=MonarchStackElementFactory.create(null,this._lexer.start);return MonarchLineStateFactory.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return nullTokenize(this._languageId,i);const o=new MonarchClassicTokensCollector,n=this._tokenize(e,t,i,o);return o.finalize(n)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return nullTokenizeEncoded(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const o=new MonarchModernTokensCollector(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),n=this._tokenize(e,t,i,o);return o.finalize(n)}_tokenize(e,t,i,o){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,o):this._myTokenize(e,t,i,0,o)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=findRules(this._lexer,t.stack.state),!i))throw createError(this._lexer,"tokenizer state is not defined: "+t.stack.state);let o=-1,n=!1;for(const r of i){if(!isIAction(r.action)||"@pop"!==r.action.nextEmbedded)continue;n=!0;let i=r.resolveRegex(t.stack.state);const s=i.source;if("^(?:"===s.substr(0,4)&&")"===s.substr(s.length-1,1)){const e=(i.ignoreCase?"i":"")+(i.unicode?"u":"");i=new RegExp(s.substr(4,s.length-5),e)}const a=e.search(i);-1===a||0!==a&&r.matchOnlyAtLineStart||(-1===o||a0&&n.nestedLanguageTokenize(s,!1,i.embeddedLanguageData,o);const a=e.substring(r);return this._myTokenize(a,t,i,o+r,n)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,o,n){n.enterLanguage(this._languageId);const r=e.length,s=t&&this._lexer.includeLF?e+"\n":e,a=s.length;let l=i.embeddedLanguageData,c=i.stack,d=0,u=null,h=!0;for(;h||d=a)break;h=!1;let e=this._lexer.tokenizer[m];if(!e&&(e=findRules(this._lexer,m),!e))throw createError(this._lexer,"tokenizer state is not defined: "+m);const t=s.substr(d);for(const i of e)if((0===d||!i.matchOnlyAtLineStart)&&(f=t.match(i.resolveRegex(m)),f)){v=f[0],b=i.action;break}}if(f||(f=[""],v=""),b||(d=this._lexer.maxStack)throw createError(this._lexer,"maximum tokenizer stack size reached: ["+c.state+","+c.parent.state+",...]");c=c.push(m)}else if("@pop"===b.next){if(c.depth<=1)throw createError(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(_));c=c.pop()}else if("@popall"===b.next)c=c.popall();else{let e=substituteMatches(this._lexer,b.next,v,f,m);if("@"===e[0]&&(e=e.substr(1)),!findRules(this._lexer,e))throw createError(this._lexer,"trying to set a next state '"+e+"' that is undefined in rule: "+this._safeRuleName(_));c=c.push(e)}}b.log&&"string"==typeof b.log&&log(this._lexer,this._lexer.languageId+": "+substituteMatches(this._lexer,b.log,v,f,m))}if(null===C)throw createError(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(_));const w=i=>{const r=this._languageService.getLanguageIdByLanguageName(i)||this._languageService.getLanguageIdByMimeType(i)||i,s=this._getNestedEmbeddedLanguageData(r);if(d0)throw createError(this._lexer,"groups cannot be nested: "+this._safeRuleName(_));if(f.length!==C.length+1)throw createError(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(_));let e=0;for(let t=1;te});class Colorizer{static colorizeElement(e,t,i,o){const n=(o=o||{}).theme||"vs",r=o.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!r)return console.error("Mode not detected"),Promise.resolve();const s=t.getLanguageIdByMimeType(r)||r;e.setTheme(n);const a=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+n;return this.colorize(t,a||"",s,o).then(e=>{const t=ttPolicy$3?.createHTML(e)??e;i.innerHTML=t},e=>console.error(e))}static async colorize(e,t,i,o){const n=e.languageIdCodec;let r=4;o&&"number"==typeof o.tabSize&&(r=o.tabSize),startsWithUTF8BOM(t)&&(t=t.substr(1));const s=splitLines(t);if(!e.isRegisteredLanguageId(i))return _fakeColorize(s,r,n);const a=await TokenizationRegistry.getOrCreate(i);return a?_colorize(s,r,a,n):_fakeColorize(s,r,n)}static colorizeLine(e,t,i,o,n=4){const r=ViewLineRenderingData.isBasicASCII(e,t),s=ViewLineRenderingData.containsRTL(e,r,i);return renderViewLine2(new RenderLineInput(!1,!0,e,!1,r,s,0,o,[],n,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const o=e.getLineContent(t);e.tokenization.forceTokenization(t);const n=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(o,e.mightContainNonBasicASCII(),e.mightContainRTL(),n,i)}}function _colorize(e,t,i,o){return new Promise((n,r)=>{const s=()=>{const a=_actualColorize(e,t,i,o);if(i instanceof MonarchTokenizer){const e=i.getLoadStatus();if(!1===e.loaded)return void e.promise.then(s,r)}n(a)};s()})}function _fakeColorize(e,t,i){let o=[];const n=new Uint32Array(2);n[0]=0,n[1]=33587200;for(let r=0,s=e.length;r")}return o.join("")}function _actualColorize(e,t,i,o){let n=[],r=i.getInitialState();for(let s=0,a=e.length;s"),r=l.endState}return n.join("")}var __decorate$20=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1Y=function(e,t){return function(i,o){t(i,o,e)}};let MarkerDecorationsContribution=class{static{this.ID="editor.contrib.markerDecorations"}constructor(e,t){}dispose(){}};MarkerDecorationsContribution=__decorate$20([__param$1Y(1,IMarkerDecorationsService)],MarkerDecorationsContribution),registerEditorContribution(MarkerDecorationsContribution.ID,MarkerDecorationsContribution,0);class ElementSizeObserver extends Disposable{constructor(e,t){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let i=!1,o=!1;const n=()=>{if(i&&!o)try{i=!1,o=!0,t()}finally{scheduleAtNextAnimationFrame(getWindow$2(this._referenceDomElement),()=>{o=!1,n()})}};this._resizeObserver=new ResizeObserver(t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,i=!0,n()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,o=0;t?(i=t.width,o=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,o=this._referenceDomElement.clientHeight),i=Math.max(5,i),o=Math.max(5,o),this._width===i&&this._height===o||(this._width=i,this._height=o,e&&this._onDidChange.fire())}}class EditorSettingMigration{static{this.items=[]}constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=EditorSettingMigration._read(e,this.key);this.migrate(t,t=>EditorSettingMigration._read(e,t),(t,i)=>EditorSettingMigration._write(e,t,i))}static _read(e,t){if(void 0===e)return;const i=t.indexOf(".");if(i>=0){const o=t.substring(0,i);return this._read(e[o],t.substring(i+1))}return e[t]}static _write(e,t,i){const o=t.indexOf(".");if(o>=0){const n=t.substring(0,o);return e[n]=e[n]||{},void this._write(e[n],t.substring(o+1),i)}e[t]=i}}function registerEditorSettingMigration(e,t){EditorSettingMigration.items.push(new EditorSettingMigration(e,t))}function registerSimpleEditorSettingMigration(e,t){registerEditorSettingMigration(e,(i,o,n)=>{if(void 0!==i)for(const[r,s]of t)if(i===r)return void n(e,s)})}function migrateOptions(e){EditorSettingMigration.items.forEach(t=>t.apply(e))}registerSimpleEditorSettingMigration("wordWrap",[[!0,"on"],[!1,"off"]]),registerSimpleEditorSettingMigration("lineNumbers",[[!0,"on"],[!1,"off"]]),registerSimpleEditorSettingMigration("cursorBlinking",[["visible","solid"]]),registerSimpleEditorSettingMigration("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),registerSimpleEditorSettingMigration("renderLineHighlight",[[!0,"line"],[!1,"none"]]),registerSimpleEditorSettingMigration("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),registerSimpleEditorSettingMigration("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),registerSimpleEditorSettingMigration("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),registerSimpleEditorSettingMigration("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),registerSimpleEditorSettingMigration("autoIndent",[[!1,"advanced"],[!0,"full"]]),registerSimpleEditorSettingMigration("matchBrackets",[[!0,"always"],[!1,"never"]]),registerSimpleEditorSettingMigration("renderFinalNewline",[[!0,"on"],[!1,"off"]]),registerSimpleEditorSettingMigration("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),registerSimpleEditorSettingMigration("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),registerSimpleEditorSettingMigration("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),registerEditorSettingMigration("autoClosingBrackets",(e,t,i)=>{!1===e&&(i("autoClosingBrackets","never"),void 0===t("autoClosingQuotes")&&i("autoClosingQuotes","never"),void 0===t("autoSurround")&&i("autoSurround","never"))}),registerEditorSettingMigration("renderIndentGuides",(e,t,i)=>{void 0!==e&&(i("renderIndentGuides",void 0),void 0===t("guides.indentation")&&i("guides.indentation",!!e))}),registerEditorSettingMigration("highlightActiveIndentGuide",(e,t,i)=>{void 0!==e&&(i("highlightActiveIndentGuide",void 0),void 0===t("guides.highlightActiveIndentation")&&i("guides.highlightActiveIndentation",!!e))});const suggestFilteredTypesMapping={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"};registerEditorSettingMigration("suggest.filteredTypes",(e,t,i)=>{if(e&&"object"==typeof e){for(const o of Object.entries(suggestFilteredTypesMapping)){!1===e[o[0]]&&void 0===t(`suggest.${o[1]}`)&&i(`suggest.${o[1]}`,!1)}i("suggest.filteredTypes",void 0)}}),registerEditorSettingMigration("quickSuggestions",(e,t,i)=>{if("boolean"==typeof e){const t=e?"on":"off";i("quickSuggestions",{comments:t,strings:t,other:t})}}),registerEditorSettingMigration("experimental.stickyScroll.enabled",(e,t,i)=>{"boolean"==typeof e&&(i("experimental.stickyScroll.enabled",void 0),void 0===t("stickyScroll.enabled")&&i("stickyScroll.enabled",e))}),registerEditorSettingMigration("experimental.stickyScroll.maxLineCount",(e,t,i)=>{"number"==typeof e&&(i("experimental.stickyScroll.maxLineCount",void 0),void 0===t("stickyScroll.maxLineCount")&&i("stickyScroll.maxLineCount",e))}),registerEditorSettingMigration("codeActionsOnSave",(e,t,i)=>{if(e&&"object"==typeof e){let t=!1;const o={};for(const i of Object.entries(e))"boolean"==typeof i[1]?(t=!0,o[i[0]]=i[1]?"explicit":"never"):o[i[0]]=i[1];t&&i("codeActionsOnSave",o)}}),registerEditorSettingMigration("codeActionWidget.includeNearbyQuickfixes",(e,t,i)=>{"boolean"==typeof e&&(i("codeActionWidget.includeNearbyQuickfixes",void 0),void 0===t("codeActionWidget.includeNearbyQuickFixes")&&i("codeActionWidget.includeNearbyQuickFixes",e))}),registerEditorSettingMigration("lightbulb.enabled",(e,t,i)=>{"boolean"==typeof e&&i("lightbulb.enabled",e?void 0:"off")});class TabFocusImpl{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new Emitter$1,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}}const TabFocus=new TabFocusImpl;var __decorate$1$=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1X=function(e,t){return function(i,o){t(i,o,e)}};let EditorConfiguration=class extends Disposable{constructor(e,t,i,o,n){super(),this._accessibilityService=n,this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new Emitter$1),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new ComputeOptionsMemory,this.isSimpleWidget=e,this.contextMenuId=t,this._containerObserver=this._register(new ElementSizeObserver(o,i.dimension)),this._targetWindowId=getWindow$2(o).vscodeWindowId,this._rawOptions=deepCloneAndMigrateOptions(i),this._validatedOptions=EditorOptionsUtil.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(EditorZoom.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(TabFocus.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(FontMeasurements.onDidChange(()=>this._recomputeOptions())),this._register(PixelRatio.getInstance(getWindow$2(o)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const e=this._computeOptions(),t=EditorOptionsUtil.checkEquals(this.options,e);null!==t&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=BareFontInfo.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),o={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:TabFocus.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return EditorOptionsUtil.computeOptions(this._validatedOptions,o)}_readEnvConfiguration(){return{extraEditorClassName:getExtraEditorClassName(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:isWebKit||isFirefox$1,pixelRatio:PixelRatio.getInstance(getWindowById(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return FontMeasurements.readFontInfo(getWindowById(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=deepCloneAndMigrateOptions(e);EditorOptionsUtil.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=EditorOptionsUtil.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=digitCount(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};function digitCount(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}function getExtraEditorClassName(){let e="";return isSafari||isWebkitWebView||(e+="no-user-select "),isSafari&&(e+="no-minimap-shadow ",e+="enable-user-select "),isMacintosh&&(e+="mac "),e}EditorConfiguration=__decorate$1$([__param$1X(4,IAccessibilityService)],EditorConfiguration);class ValidatedEditorOptions{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class ComputedEditorOptions{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class EditorOptionsUtil{static validateOptions(e){const t=new ValidatedEditorOptions;for(const i of editorOptionsRegistry){const o="_never_"===i.name?void 0:e[i.name];t._write(i.id,i.validate(o))}return t}static computeOptions(e,t){const i=new ComputedEditorOptions;for(const o of editorOptionsRegistry)i._write(o.id,o.compute(t,i,e._read(o.id)));return i}static _deepEquals(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return!(!Array.isArray(e)||!Array.isArray(t))&&equals$2(e,t);if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!EditorOptionsUtil._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let o=!1;for(const n of editorOptionsRegistry){const r=!EditorOptionsUtil._deepEquals(e._read(n.id),t._read(n.id));i[n.id]=r,r&&(o=!0)}return o?new ConfigurationChangedEvent(i):null}static applyUpdate(e,t){let i=!1;for(const o of editorOptionsRegistry)if(t.hasOwnProperty(o.name)){const n=o.applyUpdate(e[o.name],t[o.name]);e[o.name]=n.newValue,i=i||n.didChange}return i}}function deepCloneAndMigrateOptions(e){const t=deepClone(e);return migrateOptions(t),t}var inputLatency;!function(e){const t={total:0,min:Number.MAX_VALUE,max:0},i={...t},o={...t},n={...t};let r=0;const s={keydown:0,input:0,render:0};function a(){1===s.keydown&&(performance.mark("keydown/end"),s.keydown=2)}function l(){performance.mark("input/start"),s.input=1,u()}function c(){1===s.input&&(performance.mark("input/end"),s.input=2)}function d(){1===s.render&&(performance.mark("render/end"),s.render=2)}function u(){setTimeout(h)}function h(){2===s.keydown&&2===s.input&&2===s.render&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),p("keydown",t),p("input",i),p("render",o),p("inputlatency",n),r++,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"),s.keydown=0,s.input=0,s.render=0)}function p(e,t){const i=performance.getEntriesByName(e)[0].duration;t.total+=i,t.min=Math.min(t.min,i),t.max=Math.max(t.max,i)}function g(e){return{average:e.total/r,max:e.max,min:e.min}}function m(e){e.total=0,e.min=Number.MAX_VALUE,e.max=0}e.onKeyDown=function(){h(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),s.keydown=1,queueMicrotask(a)},e.onBeforeInput=l,e.onInput=function(){0===s.input&&l(),queueMicrotask(c)},e.onKeyUp=function(){h()},e.onSelectionChange=function(){h()},e.onRenderStart=function(){2===s.keydown&&2===s.input&&0===s.render&&(performance.mark("render/start"),s.render=1,queueMicrotask(d),u())},e.getAndClearMeasurements=function(){if(0===r)return;const e={keydown:g(t),input:g(i),render:g(o),total:g(n),sampleCount:r};return m(t),m(i),m(o),m(n),r=0,e}}(inputLatency||(inputLatency={}));class PageCoordinates{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new ClientCoordinates(this.x-e.scrollX,this.y-e.scrollY)}}class ClientCoordinates{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new PageCoordinates(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class EditorPagePosition{constructor(e,t,i,o){this.x=e,this.y=t,this.width=i,this.height=o,this._editorPagePositionBrand=void 0}}class CoordinatesRelativeToEditor{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function createEditorPagePosition(e){const t=getDomNodePagePosition(e);return new EditorPagePosition(t.left,t.top,t.width,t.height)}function createCoordinatesRelativeToEditor(e,t,i){const o=t.width/e.offsetWidth,n=t.height/e.offsetHeight,r=(i.x-t.x)/o,s=(i.y-t.y)/n;return new CoordinatesRelativeToEditor(r,s)}class EditorMouseEvent extends StandardMouseEvent{constructor(e,t,i){super(getWindow$2(i),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new PageCoordinates(this.posx,this.posy),this.editorPos=createEditorPagePosition(i),this.relativePos=createCoordinatesRelativeToEditor(i,this.editorPos,this.pos)}}class EditorMouseEventFactory{constructor(e){this._editorViewDomNode=e}_create(e){return new EditorMouseEvent(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return addDisposableListener(e,"contextmenu",e=>{t(this._create(e))})}onMouseUp(e,t){return addDisposableListener(e,"mouseup",e=>{t(this._create(e))})}onMouseDown(e,t){return addDisposableListener(e,EventType$1.MOUSE_DOWN,e=>{t(this._create(e))})}onPointerDown(e,t){return addDisposableListener(e,EventType$1.POINTER_DOWN,e=>{t(this._create(e),e.pointerId)})}onMouseLeave(e,t){return addDisposableListener(e,EventType$1.MOUSE_LEAVE,e=>{t(this._create(e))})}onMouseMove(e,t){return addDisposableListener(e,"mousemove",e=>t(this._create(e)))}}class EditorPointerEventFactory{constructor(e){this._editorViewDomNode=e}_create(e){return new EditorMouseEvent(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return addDisposableListener(e,"pointerup",e=>{t(this._create(e))})}onPointerDown(e,t){return addDisposableListener(e,EventType$1.POINTER_DOWN,e=>{t(this._create(e),e.pointerId)})}onPointerLeave(e,t){return addDisposableListener(e,EventType$1.POINTER_LEAVE,e=>{t(this._create(e))})}onPointerMove(e,t){return addDisposableListener(e,"pointermove",e=>t(this._create(e)))}}class GlobalEditorPointerMoveMonitor extends Disposable{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new GlobalPointerMoveMonitor),this._keydownListener=null}startMonitoring(e,t,i,o,n){this._keydownListener=addStandardDisposableListener(e.ownerDocument,"keydown",e=>{e.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,e.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(e,t,i,e=>{o(new EditorMouseEvent(e,!0,this._editorViewDomNode))},e=>{this._keydownListener.dispose(),n(e)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class DynamicCssRules{static{this._idPool=0}constructor(e){this._editor=e,this._instanceId=++DynamicCssRules._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new RunOnceScheduler(()=>this.garbageCollect(),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const o=this._counter++;i=new RefCountedCssRule(t,`dyn-rule-${this._instanceId}-${o}`,isInShadowDOM(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}class RefCountedCssRule{constructor(e,t,i,o){this.key=e,this.className=t,this.properties=o,this._referenceCount=0,this._styleElementDisposables=new DisposableStore,this._styleElement=createStyleSheet(i,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=`.${e} {`;for(const o in t){const e=t[o];let n;n="object"==typeof e?asCssVariable(e.id):e;i+=`\n\t${camelToDashes(o)}: ${n};`}return i+="\n}",i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function camelToDashes(e){return e.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>`-${e.toLowerCase()}`)}class ViewEventHandler extends 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 t=!1;for(let i=0,o=e.length;i=r.left?o.width=Math.max(o.width,r.left+r.width-o.left):(t[i++]=o,o=r)}return t[i++]=o,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||0===e.length)return null;const o=[];for(let n=0,r=e.length;ns)return null;if((t=Math.min(s,Math.max(0,t)))===(o=Math.min(s,Math.max(0,o)))&&i===n&&0===i&&!e.children[t].firstChild){const i=e.children[t].getClientRects();return r.markDidDomLayout(),this._createHorizontalRangesFromClientRects(i,r.clientRectDeltaLeft,r.clientRectScale)}t!==o&&o>0&&0===n&&(o--,n=1073741824);let a=e.children[t].firstChild,l=e.children[o].firstChild;if(a&&l||(!a&&0===i&&t>0&&(a=e.children[t-1].firstChild,i=1073741824),!l&&0===n&&o>0&&(l=e.children[o-1].firstChild,n=1073741824)),!a||!l)return null;i=Math.min(a.textContent.length,Math.max(0,i)),n=Math.min(l.textContent.length,Math.max(0,n));const c=this._readClientRects(a,i,l,n,r.endNode);return r.markDidDomLayout(),this._createHorizontalRangesFromClientRects(c,r.clientRectDeltaLeft,r.clientRectScale)}}const canUseFastRenderedViewLine=!!isNative||!(isLinux||isFirefox$1||isSafari);let monospaceAssumptionsAreValid=!0;class ViewLineOptions{constructor(e,t){this.themeType=t;const i=e.options,o=i.get(50),n=i.get(38);this.renderWhitespace="off"===n?i.get(100):"none",this.renderControlCharacters=i.get(95),this.spaceWidth=o.spaceWidth,this.middotWidth=o.middotWidth,this.wsmiddotWidth=o.wsmiddotWidth,this.useMonospaceOptimizations=o.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=o.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(118),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class ViewLine{static{this.CLASS_NAME="view-line"}constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=createFastDomNode(e)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return!(!isHighContrast(this._options.themeType)&&"selection"!==this._options.renderWhitespace)&&(this._isMaybeInvalid=!0,!0)}renderLine(e,t,i,o,n){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;const r=o.getViewLineRenderingData(e),s=this._options,a=LineDecoration.filter(r.inlineDecorations,e,r.minColumn,r.maxColumn);let l=null;if(isHighContrast(s.themeType)||"selection"===this._options.renderWhitespace){const t=o.selections;for(const i of t){if(i.endLineNumbere)continue;const t=i.startLineNumber===e?i.startColumn:r.minColumn,o=i.endLineNumber===e?i.endColumn:r.maxColumn;t');const d=renderViewLine(c,n);n.appendString("");let u=null;return monospaceAssumptionsAreValid&&canUseFastRenderedViewLine&&r.isBasicASCII&&s.useMonospaceOptimizations&&0===d.containsForeignElements&&(u=new FastRenderedViewLine(this._renderedViewLine?this._renderedViewLine.domNode:null,c,d.characterMapping)),u||(u=createRenderedLine(this._renderedViewLine?this._renderedViewLine.domNode:null,c,d.characterMapping,d.containsRTL,d.containsForeignElements)),this._renderedViewLine=u,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof FastRenderedViewLine}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof FastRenderedViewLine?this._renderedViewLine.monospaceAssumptionsAreValid():monospaceAssumptionsAreValid}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof FastRenderedViewLine&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,o){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const n=this._renderedViewLine.input.stopRenderingLineAfter;if(-1!==n&&t>n+1&&i>n+1)return new VisibleRanges(!0,[new FloatHorizontalRange(this.getWidth(o),0)]);-1!==n&&t>n+1&&(t=n+1),-1!==n&&i>n+1&&(i=n+1);const r=this._renderedViewLine.getVisibleRangesForRange(e,t,i,o);return r&&r.length>0?new VisibleRanges(!1,r):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}class FastRenderedViewLine{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const o=Math.floor(t.lineContent.length/300);if(o>0){this._keyColumnPixelOffsetCache=new Float32Array(o);for(let e=0;e=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),monospaceAssumptionsAreValid=!1)}return monospaceAssumptionsAreValid}toSlowRenderedLine(){return createRenderedLine(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,o){const n=this._getColumnPixelOffset(e,t,o),r=this._getColumnPixelOffset(e,i,o);return[new FloatHorizontalRange(n,r-n)]}_getColumnPixelOffset(e,t,i){if(t<=300){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const o=Math.floor((t-1)/300)-1,n=300*(o+1)+1;let r=-1;if(this._keyColumnPixelOffsetCache&&(r=this._keyColumnPixelOffsetCache[o],-1===r&&(r=this._actualReadPixelOffset(e,n,i),this._keyColumnPixelOffsetCache[o]=r)),-1===r){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const s=this._characterMapping.getHorizontalOffset(n),a=this._characterMapping.getHorizontalOffset(t);return r+this._charWidth*(a-s)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return-1;const o=this._characterMapping.getDomPosition(t),n=RangeUtil.readHorizontalRanges(this._getReadingTarget(this.domNode),o.partIndex,o.charIndex,o.partIndex,o.charIndex,i);return n&&0!==n.length?n[0].left:-1}getColumnOfNodeOffset(e,t){return getColumnOfNodeOffset(this._characterMapping,e,t)}}class RenderedViewLine{constructor(e,t,i,o,n){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=n,this._cachedWidth=-1,this._pixelOffsetCache=null,!o||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e?.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return-1!==this._cachedWidth}getVisibleRangesForRange(e,t,i,o){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){const n=this._readPixelOffset(this.domNode,e,t,o);if(-1===n)return null;const r=this._readPixelOffset(this.domNode,e,i,o);return-1===r?null:[new FloatHorizontalRange(n,r-n)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,o)}_readVisibleRangesForRange(e,t,i,o,n){if(i===o){const o=this._readPixelOffset(e,t,i,n);return-1===o?null:[new FloatHorizontalRange(o,0)]}return this._readRawVisibleRangesForRange(e,i,o,n)}_readPixelOffset(e,t,i,o){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth(o);const t=this._getReadingTarget(e);return t.firstChild?(o.markDidDomLayout(),t.firstChild.offsetWidth):0}if(null!==this._pixelOffsetCache){const n=this._pixelOffsetCache[i];if(-1!==n)return n;const r=this._actualReadPixelOffset(e,t,i,o);return this._pixelOffsetCache[i]=r,r}return this._actualReadPixelOffset(e,t,i,o)}_actualReadPixelOffset(e,t,i,o){if(0===this._characterMapping.length){const t=RangeUtil.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,o);return t&&0!==t.length?t[0].left:-1}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth(o);const n=this._characterMapping.getDomPosition(i),r=RangeUtil.readHorizontalRanges(this._getReadingTarget(e),n.partIndex,n.charIndex,n.partIndex,n.charIndex,o);if(!r||0===r.length)return-1;const s=r[0].left;if(this.input.isBasicASCII){const e=this._characterMapping.getHorizontalOffset(i),t=Math.round(this.input.spaceWidth*e);if(Math.abs(t-s)<=1)return t}return s}_readRawVisibleRangesForRange(e,t,i,o){if(1===t&&i===this._characterMapping.length)return[new FloatHorizontalRange(0,this.getWidth(o))];const n=this._characterMapping.getDomPosition(t),r=this._characterMapping.getDomPosition(i);return RangeUtil.readHorizontalRanges(this._getReadingTarget(e),n.partIndex,n.charIndex,r.partIndex,r.charIndex,o)}getColumnOfNodeOffset(e,t){return getColumnOfNodeOffset(this._characterMapping,e,t)}}class WebKitRenderedViewLine extends RenderedViewLine{_readVisibleRangesForRange(e,t,i,o,n){const r=super._readVisibleRangesForRange(e,t,i,o,n);if(!r||0===r.length||i===o||1===i&&o===this._characterMapping.length)return r;if(!this.input.containsRTL){const i=this._readPixelOffset(e,t,o,n);if(-1!==i){const e=r[r.length-1];e.left=4&&3===e[0]&&8===e[3]}static isStrictChildOfViewLines(e){return e.length>4&&3===e[0]&&8===e[3]}static isChildOfScrollableElement(e){return e.length>=2&&3===e[0]&&6===e[1]}static isChildOfMinimap(e){return e.length>=2&&3===e[0]&&9===e[1]}static isChildOfContentWidgets(e){return e.length>=4&&3===e[0]&&1===e[3]}static isChildOfOverflowGuard(e){return e.length>=1&&3===e[0]}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&2===e[0]}static isChildOfOverlayWidgets(e){return e.length>=2&&3===e[0]&&4===e[1]}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&5===e[0]}}class HitTestContext{constructor(e,t,i){this.viewModel=e.viewModel;const o=e.configuration.options;this.layoutInfo=o.get(146),this.viewDomNode=t.viewDomNode,this.lineHeight=o.get(67),this.stickyTabStops=o.get(117),this.typicalHalfwidthCharacterWidth=o.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return HitTestContext.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const o=i.verticalOffset+i.height/2,n=e.viewModel.getLineCount();let r,s=null,a=null;return i.afterLineNumber!==n&&(a=new Position$1(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(s=new Position$1(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),r=null===a?s:null===s?a:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,MouseTargetFactory._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class HitTestRequest extends BareHitTestRequest{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=PartFingerprints.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,i,o,n){super(e,t,i,o),this.hitTestResult=new Lazy(()=>MouseTargetFactory.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=n;const r=Boolean(this._eventTarget);this._useHitTestTarget=!r}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&null!==this.hitTestResult.value.hitTarget&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columnr.contentLeft+r.width)continue;const i=e.getVerticalOffsetForLineNumber(r.position.lineNumber);if(i<=n&&n<=i+r.height)return t.fulfillContentText(r.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const e=t.isInContentArea?8:5;return t.fulfillViewZone(e,i.position,i)}return null}static _hitTestTextArea(e,t){return ElementPath.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),o=i.range.getStartPosition();let n=Math.abs(t.relativePos.x);const r={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:n};if(n-=e.layoutInfo.glyphMarginLeft,n<=e.layoutInfo.glyphMarginWidth){const s=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),a=e.viewModel.glyphLanes.getLanesAtLine(s.lineNumber);return r.glyphMarginLane=a[Math.floor(n/e.lineHeight)],t.fulfillMargin(2,o,i.range,r)}return n-=e.layoutInfo.glyphMarginWidth,n<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,o,i.range,r):(n-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,o,i.range,r))}return null}static _hitTestViewLines(e,t){if(!ElementPath.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new Position$1(1,1),EMPTY_CONTENT_AFTER_LINES);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const i=e.viewModel.getLineCount(),o=e.viewModel.getLineMaxColumn(i);return t.fulfillContentEmpty(new Position$1(i,o),EMPTY_CONTENT_AFTER_LINES)}if(ElementPath.isStrictChildOfViewLines(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(0===e.viewModel.getLineLength(i)){const o=e.getLineWidth(i),n=createEmptyContentDataInLines(t.mouseContentHorizontalOffset-o);return t.fulfillContentEmpty(new Position$1(i,1),n)}const o=e.getLineWidth(i);if(t.mouseContentHorizontalOffset>=o){const n=createEmptyContentDataInLines(t.mouseContentHorizontalOffset-o),r=new Position$1(i,e.viewModel.getLineMaxColumn(i));return t.fulfillContentEmpty(r,n)}}const i=t.hitTestResult.value;return 1===i.type?MouseTargetFactory.createMouseTargetFromHitTestPosition(e,t,i.spanNode,i.position,i.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(ElementPath.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),o=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Position$1(i,o))}return null}static _hitTestScrollbarSlider(e,t){if(ElementPath.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),o=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Position$1(i,o))}}return null}static _hitTestScrollbar(e,t){if(ElementPath.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),o=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Position$1(i,o))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(146),o=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return MouseTargetFactory._getMouseColumn(o,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){if(e<0)return 1;return Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,o,n){const r=o.lineNumber,s=o.column,a=e.getLineWidth(r);if(t.mouseContentHorizontalOffset>a){const e=createEmptyContentDataInLines(t.mouseContentHorizontalOffset-a);return t.fulfillContentEmpty(o,e)}const l=e.visibleRangeForPosition(r,s);if(!l)return t.fulfillUnknown(o);const c=l.left;if(Math.abs(t.mouseContentHorizontalOffset-c)<1)return t.fulfillContentText(o,null,{mightBeForeignElement:!!n,injectedText:n});const d=[];if(d.push({offset:l.left,column:s}),s>1){const t=e.visibleRangeForPosition(r,s-1);t&&d.push({offset:t.left,column:s-1})}if(se.offset-t.offset);const u=t.pos.toClientCoordinates(getWindow$2(e.viewDomNode)),h=i.getBoundingClientRect(),p=h.left<=u.clientX&&u.clientX<=h.right;let g=null;for(let m=1;mn)){const i=Math.floor((o+n)/2);let r=t.pos.y+(i-t.mouseVerticalOffset);r<=t.editorPos.y&&(r=t.editorPos.y+1),r>=t.editorPos.y+t.editorPos.height&&(r=t.editorPos.y+t.editorPos.height-1);const s=new PageCoordinates(t.pos.x,r),a=this._actualDoHitTestWithCaretRangeFromPoint(e,s.toClientCoordinates(getWindow$2(e.viewDomNode)));if(1===a.type)return a}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(getWindow$2(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=getShadowRoot$2(e.viewDomNode);let o;if(o=i?void 0===i.caretRangeFromPoint?shadowCaretRangeFromPoint(i,t.clientX,t.clientY):i.caretRangeFromPoint(t.clientX,t.clientY):e.viewDomNode.ownerDocument.caretRangeFromPoint(t.clientX,t.clientY),!o||!o.startContainer)return new UnknownHitTestResult;const n=o.startContainer;if(n.nodeType===n.TEXT_NODE){const t=n.parentNode,i=t?t.parentNode:null,r=i?i.parentNode:null;return(r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===ViewLine.CLASS_NAME?HitTestResult.createFromDOMInfo(e,t,o.startOffset):new UnknownHitTestResult(n.parentNode)}if(n.nodeType===n.ELEMENT_NODE){const t=n.parentNode,i=t?t.parentNode:null;return(i&&i.nodeType===i.ELEMENT_NODE?i.className:null)===ViewLine.CLASS_NAME?HitTestResult.createFromDOMInfo(e,n,n.textContent.length):new UnknownHitTestResult(n)}return new UnknownHitTestResult}static _doHitTestWithCaretPositionFromPoint(e,t){const i=e.viewDomNode.ownerDocument.caretPositionFromPoint(t.clientX,t.clientY);if(i.offsetNode.nodeType===i.offsetNode.TEXT_NODE){const t=i.offsetNode.parentNode,o=t?t.parentNode:null,n=o?o.parentNode:null;return(n&&n.nodeType===n.ELEMENT_NODE?n.className:null)===ViewLine.CLASS_NAME?HitTestResult.createFromDOMInfo(e,i.offsetNode.parentNode,i.offset):new UnknownHitTestResult(i.offsetNode.parentNode)}if(i.offsetNode.nodeType===i.offsetNode.ELEMENT_NODE){const t=i.offsetNode.parentNode,o=t&&t.nodeType===t.ELEMENT_NODE?t.className:null,n=t?t.parentNode:null,r=n&&n.nodeType===n.ELEMENT_NODE?n.className:null;if(o===ViewLine.CLASS_NAME){const t=i.offsetNode.childNodes[Math.min(i.offset,i.offsetNode.childNodes.length-1)];if(t)return HitTestResult.createFromDOMInfo(e,t,0)}else if(r===ViewLine.CLASS_NAME)return HitTestResult.createFromDOMInfo(e,i.offsetNode,0)}return new UnknownHitTestResult(i.offsetNode)}static _snapToSoftTabBoundary(e,t){const i=t.getLineContent(e.lineNumber),{tabSize:o}=t.model.getOptions(),n=AtomicTabMoveOperations.atomicPosition(i,e.column-1,o,2);return-1!==n?new Position$1(e.lineNumber,n+1):e}static doHitTest(e,t){let i=new UnknownHitTestResult;if("function"==typeof e.viewDomNode.ownerDocument.caretRangeFromPoint?i=this._doHitTestWithCaretRangeFromPoint(e,t):e.viewDomNode.ownerDocument.caretPositionFromPoint&&(i=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates(getWindow$2(e.viewDomNode)))),1===i.type){const t=e.viewModel.getInjectedTextAt(i.position),o=e.viewModel.normalizePosition(i.position,2);!t&&o.equals(i.position)||(i=new ContentHitTestResult(o,i.spanNode,t))}return i}}function shadowCaretRangeFromPoint(e,t,i){const o=document.createRange();let n=e.elementFromPoint(t,i);if(null!==n){for(;n&&n.firstChild&&n.firstChild.nodeType!==n.firstChild.TEXT_NODE&&n.lastChild&&n.lastChild.firstChild;)n=n.lastChild;const e=n.getBoundingClientRect(),i=getWindow$2(n),r=`${i.getComputedStyle(n,null).getPropertyValue("font-style")} ${i.getComputedStyle(n,null).getPropertyValue("font-variant")} ${i.getComputedStyle(n,null).getPropertyValue("font-weight")} ${i.getComputedStyle(n,null).getPropertyValue("font-size")}/${i.getComputedStyle(n,null).getPropertyValue("line-height")} ${i.getComputedStyle(n,null).getPropertyValue("font-family")}`,s=n.innerText;let a,l=e.left,c=0;if(t>e.left+e.width)c=s.length;else{const e=CharWidthReader.getInstance();for(let i=0;ithis._createMouseTarget(e,t),e=>this._getMouseColumn(e))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(146).height;const o=new EditorMouseEventFactory(this.viewHelper.viewDomNode);this._register(o.onContextMenu(this.viewHelper.viewDomNode,e=>this._onContextMenu(e,!0))),this._register(o.onMouseMove(this.viewHelper.viewDomNode,e=>{this._onMouseMove(e),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=addDisposableListener(this.viewHelper.viewDomNode.ownerDocument,"mousemove",e=>{this.viewHelper.viewDomNode.contains(e.target)||this._onMouseLeave(new EditorMouseEvent(e,!1,this.viewHelper.viewDomNode))}))})),this._register(o.onMouseUp(this.viewHelper.viewDomNode,e=>this._onMouseUp(e))),this._register(o.onMouseLeave(this.viewHelper.viewDomNode,e=>this._onMouseLeave(e)));let n=0;this._register(o.onPointerDown(this.viewHelper.viewDomNode,(e,t)=>{n=t})),this._register(addDisposableListener(this.viewHelper.viewDomNode,EventType$1.POINTER_UP,e=>{this._mouseDownOperation.onPointerUp()})),this._register(o.onMouseDown(this.viewHelper.viewDomNode,e=>this._onMouseDown(e,n))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=MouseWheelClassifier.INSTANCE;let t=0,i=EditorZoom.getZoomLevel(),o=!1,n=0;function r(e){return isMacintosh?(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey:e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}this._register(addDisposableListener(this.viewHelper.viewDomNode,EventType$1.MOUSE_WHEEL,s=>{if(this.viewController.emitMouseWheel(s),!this._context.configuration.options.get(76))return;const a=new StandardWheelEvent(s);if(e.acceptStandardWheelEvent(a),e.isPhysicalMouseWheel()){if(r(s)){const e=EditorZoom.getZoomLevel(),t=a.deltaY>0?1:-1;EditorZoom.setZoomLevel(e+t),a.preventDefault(),a.stopPropagation()}}else Date.now()-t>50&&(i=EditorZoom.getZoomLevel(),o=r(s),n=0),t=Date.now(),n+=a.deltaY,o&&(EditorZoom.setZoomLevel(i+n/5),a.preventDefault(),a.stopPropagation())},{capture:!0,passive:!1}))}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(146)){const e=this._context.configuration.options.get(146).height;this._height!==e&&(this._height=e,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const i=new ClientCoordinates(e,t).toPageCoordinates(getWindow$2(this.viewHelper.viewDomNode)),o=createEditorPagePosition(this.viewHelper.viewDomNode);if(i.yo.y+o.height||i.xo.x+o.width)return null;const n=createCoordinatesRelativeToEditor(this.viewHelper.viewDomNode,o,i);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),o,i,n,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const t=getShadowRoot$2(this.viewHelper.viewDomNode);t&&(i=t.elementsFromPoint(e.posx,e.posy).find(e=>this.viewHelper.viewDomNode.contains(e)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){if(this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),this._mouseDownOperation.isActive())return;e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(c&&(o||r&&s))d(),this._mouseDownOperation.start(i.type,e,t);else if(n)e.preventDefault();else if(a){const o=i.detail;c&&this.viewHelper.shouldSuppressMouseDownOnViewZone(o.viewZoneId)&&(d(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else l&&this.viewHelper.shouldSuppressMouseDownOnWidget(i.detail)&&(d(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:i})}}class MouseDownOperation extends Disposable{constructor(e,t,i,o,n,r){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._mouseTargetFactory=o,this._createMouseTarget=n,this._getMouseColumn=r,this._mouseMoveMonitor=this._register(new GlobalEditorPointerMoveMonitor(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new TopBottomDragScrolling(this._context,this._viewHelper,this._mouseTargetFactory,(e,t,i)=>this._dispatchMouse(e,t,i))),this._mouseState=new MouseDownState,this._currentSelection=new Selection$1(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):13!==t.type||"above"!==t.outsidePosition&&"below"!==t.outsidePosition?(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)):this._topBottomDragScrolling.start(t,e))}start(e,t,i){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(3===e),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const o=this._findMousePosition(t,!0);if(!o||!o.position)return;this._mouseState.trySetCount(t.detail,o.position),t.detail=this._mouseState.count;const n=this._context.configuration.options;if(!n.get(92)&&n.get(35)&&!n.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&6===o.type&&o.position&&this._currentSelection.containsPosition(o.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,e=>this._onMouseDownThenMove(e),e=>{const t=this._findMousePosition(this._lastMouseEvent,!1);isKeyboardEvent(e)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:t?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});this._mouseState.isDragAndDrop=!1,this._dispatchMouse(o,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,e=>this._onMouseDownThenMove(e),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,o=this._context.viewLayout,n=this._getMouseColumn(e);if(e.posyt.y+t.height){const r=e.posy-t.y-t.height,s=o.getCurrentScrollTop()+e.relativePos.y,a=HitTestContext.getZoneAtCoord(this._context,s);if(a){const e=this._helpPositionJumpOverViewZone(a);if(e)return MouseTarget.createOutsideEditor(n,e,"below",r)}const l=o.getLineNumberAtVerticalOffset(s);return MouseTarget.createOutsideEditor(n,new Position$1(l,i.getLineMaxColumn(l)),"below",r)}const r=o.getLineNumberAtVerticalOffset(o.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const o=e.posx-t.x-t.width;return MouseTarget.createOutsideEditor(n,new Position$1(r,i.getLineMaxColumn(r)),"right",o)}return null}_findMousePosition(e,t){const i=this._getPositionOutsideEditor(e);if(i)return i;const o=this._createMouseTarget(e,t);if(!o.position)return null;if(8===o.type||5===o.type){const e=this._helpPositionJumpOverViewZone(o.detail);if(e)return MouseTarget.createViewZone(o.type,o.element,o.mouseColumn,e,o.detail)}return o}_helpPositionJumpOverViewZone(e){const t=new Position$1(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),i=e.positionBefore,o=e.positionAfter;return i&&o?i.isBefore(t)?i:o:null}_dispatchMouse(e,t,i){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:i,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:6===e.type&&null!==e.detail.injectedText})}}class TopBottomDragScrolling extends Disposable{constructor(e,t,i,o){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=o,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new TopBottomDragScrollingOperation(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class TopBottomDragScrollingOperation extends Disposable{constructor(e,t,i,o,n,r){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=o,this._position=n,this._mouseEvent=r,this._lastTime=Date.now(),this._animationFrameDisposable=scheduleAtNextAnimationFrame(getWindow$2(r.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(146).height/e,i=this._position.outsideDistance/e;return i<=1.5?Math.max(30,t*(1+i)):i<=3?Math.max(60,t*(2+i)):Math.max(200,t*(7+i))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed()*(this._tick()/1e3)*e,i="above"===this._position.outsidePosition?-t:t;this._context.viewModel.viewLayout.deltaScrollNow(0,i),this._viewHelper.renderNow();const o=this._context.viewLayout.getLinesViewportData(),n="above"===this._position.outsidePosition?o.startLineNumber:o.endLineNumber;let r;{const e=createEditorPagePosition(this._viewHelper.viewDomNode),t=this._context.configuration.options.get(146).horizontalScrollbarHeight,i=new PageCoordinates(this._mouseEvent.pos.x,e.y+e.height-t-.1),o=createCoordinatesRelativeToEditor(this._viewHelper.viewDomNode,e,i);r=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),e,i,o,null)}r.position&&r.position.lineNumber===n||(r="above"===this._position.outsidePosition?MouseTarget.createOutsideEditor(this._position.mouseColumn,new Position$1(n,1),"above",this._position.outsideDistance):MouseTarget.createOutsideEditor(this._position.mouseColumn,new Position$1(n,this._context.viewModel.getLineMaxColumn(n)),"below",this._position.outsideDistance)),this._dispatchMouse(r,!0,2),this._animationFrameDisposable=scheduleAtNextAnimationFrame(getWindow$2(r.element),()=>this._execute())}}class MouseDownState{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(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const i=(new Date).getTime();i-this._lastSetMouseDownCountTime>MouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=i,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}class TextAreaState{static{this.EMPTY=new TextAreaState("",0,0,null,void 0)}constructor(e,t,i,o,n){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=o,this.newlineCountBeforeSelection=n}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const i=e.getValue(),o=e.getSelectionStart(),n=e.getSelectionEnd();let r;if(t){i.substring(0,o)===t.value.substring(0,t.selectionStart)&&(r=t.newlineCountBeforeSelection)}return new TextAreaState(i,o,n,null,r)}collapseSelection(){return this.selectionStart===this.value.length?this:new TextAreaState(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){if(e<=this.selectionStart){const t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,t,-1)}if(e>=this.selectionEnd){const t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,t,1)}const t=this.value.substring(this.selectionStart,e);if(-1===t.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,t,1);const i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,i,-1)}_finishDeduceEditorPosition(e,t,i){let o=0,n=-1;for(;-1!==(n=t.indexOf("\n",n+1));)o++;return[e,i*t.length,o]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const o=Math.min(commonPrefixLength(e.value,t.value),e.selectionStart,t.selectionStart),n=Math.min(commonSuffixLength(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(o,e.value.length-n);const r=t.value.substring(o,t.value.length-n),s=e.selectionStart-o,a=e.selectionEnd-o;if(t.selectionStart-o===t.selectionEnd-o){return{text:r,replacePrevCharCnt:e.selectionStart-o,replaceNextCharCnt:0,positionDelta:0}}return{text:r,replacePrevCharCnt:a-s,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(commonPrefixLength(e.value,t.value),e.selectionEnd),o=Math.min(commonSuffixLength(e.value,t.value),e.value.length-e.selectionEnd),n=e.value.substring(i,e.value.length-o),r=t.value.substring(i,t.value.length-o);e.selectionStart;const s=e.selectionEnd-i;t.selectionStart;const a=t.selectionEnd-i;return{text:r,replacePrevCharCnt:s,replaceNextCharCnt:n.length-s,positionDelta:a-r.length}}}class PagedScreenReaderStrategy{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const i=e*t;return new Range$2(i+1,1,i+t+1,1)}static fromEditorSelection(e,t,i,o){const n=500,r=PagedScreenReaderStrategy._getPageOfLine(t.startLineNumber,i),s=PagedScreenReaderStrategy._getRangeForPage(r,i),a=PagedScreenReaderStrategy._getPageOfLine(t.endLineNumber,i),l=PagedScreenReaderStrategy._getRangeForPage(a,i);let c=s.intersectRanges(new Range$2(1,1,t.startLineNumber,t.startColumn));if(o&&e.getValueLengthInRange(c,1)>n){const t=e.modifyPosition(c.getEndPosition(),-500);c=Range$2.fromPositions(t,c.getEndPosition())}const d=e.getValueInRange(c,1),u=e.getLineCount(),h=e.getLineMaxColumn(u);let p=l.intersectRanges(new Range$2(t.endLineNumber,t.endColumn,u,h));if(o&&e.getValueLengthInRange(p,1)>n){const t=e.modifyPosition(p.getStartPosition(),n);p=Range$2.fromPositions(p.getStartPosition(),t)}const g=e.getValueInRange(p,1);let m;if(r===a||r+1===a)m=e.getValueInRange(t,1);else{const i=s.intersectRanges(t),o=l.intersectRanges(t);m=e.getValueInRange(i,1)+String.fromCharCode(8230)+e.getValueInRange(o,1)}return o&&m.length>1e3&&(m=m.substring(0,n)+String.fromCharCode(8230)+m.substring(m.length-n,m.length)),new TextAreaState(d+m+g,d.length,d.length+m.length,t,c.endLineNumber-c.startLineNumber)}}var __decorate$1_=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1W=function(e,t){return function(i,o){t(i,o,e)}},TextAreaSyntethicEvents;!function(e){e.Tap="-monaco-textarea-synthetic-tap"}(TextAreaSyntethicEvents||(TextAreaSyntethicEvents={}));const CopyOptions={forceCopyWithSyntaxHighlighting:!1};class InMemoryClipboardMetadataManager{static{this.INSTANCE=new InMemoryClipboardMetadataManager}constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}}class CompositionContext{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){const t={text:e=e||"",replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let TextAreaInput=class extends Disposable{get textAreaState(){return this._textAreaState}constructor(e,t,i,o,n,r){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=o,this._accessibilityService=n,this._logService=r,this._onFocus=this._register(new Emitter$1),this.onFocus=this._onFocus.event,this._onBlur=this._register(new Emitter$1),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new Emitter$1),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new Emitter$1),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new Emitter$1),this.onCut=this._onCut.event,this._onPaste=this._register(new Emitter$1),this.onPaste=this._onPaste.event,this._onType=this._register(new Emitter$1),this.onType=this._onType.event,this._onCompositionStart=this._register(new Emitter$1),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new Emitter$1),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new Emitter$1),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new Emitter$1),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new MutableDisposable),this._asyncTriggerCut=this._register(new RunOnceScheduler(()=>this._onCut.fire(),0)),this._textAreaState=TextAreaState.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(Event$1.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new RunOnceScheduler(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let s=null;this._register(this._textArea.onKeyDown(e=>{const t=new StandardKeyboardEvent(e);(114===t.keyCode||this._currentComposition&&1===t.keyCode)&&t.stopPropagation(),t.equals(9)&&t.preventDefault(),s=t,this._onKeyDown.fire(t)})),this._register(this._textArea.onKeyUp(e=>{const t=new StandardKeyboardEvent(e);this._onKeyUp.fire(t)})),this._register(this._textArea.onCompositionStart(e=>{const t=new CompositionContext;if(this._currentComposition)this._currentComposition=t;else{if(this._currentComposition=t,2===this._OS&&s&&s.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===e.data&&("ArrowRight"===s.code||"ArrowLeft"===s.code))return t.handleCompositionUpdate("x"),void this._onCompositionStart.fire({data:e.data});this._browser.isAndroid,this._onCompositionStart.fire({data:e.data})}})),this._register(this._textArea.onCompositionUpdate(e=>{const t=this._currentComposition;if(!t)return;if(this._browser.isAndroid){const t=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),i=TextAreaState.deduceAndroidCompositionInput(this._textAreaState,t);return this._textAreaState=t,this._onType.fire(i),void this._onCompositionUpdate.fire(e)}const i=t.handleCompositionUpdate(e.data);this._textAreaState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(i),this._onCompositionUpdate.fire(e)})),this._register(this._textArea.onCompositionEnd(e=>{const t=this._currentComposition;if(!t)return;if(this._currentComposition=null,this._browser.isAndroid){const e=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),t=TextAreaState.deduceAndroidCompositionInput(this._textAreaState,e);return this._textAreaState=e,this._onType.fire(t),void this._onCompositionEnd.fire()}const i=t.handleCompositionUpdate(e.data);this._textAreaState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(i),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(e=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const t=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),i=TextAreaState.deduceInput(this._textAreaState,t,2===this._OS);(0!==i.replacePrevCharCnt||1!==i.text.length||!isHighSurrogate(i.text.charCodeAt(0))&&127!==i.text.charCodeAt(0))&&(this._textAreaState=t,""===i.text&&0===i.replacePrevCharCnt&&0===i.replaceNextCharCnt&&0===i.positionDelta||this._onType.fire(i))})),this._register(this._textArea.onCut(e=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(e),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(e=>{this._ensureClipboardGetsEditorSelection(e)})),this._register(this._textArea.onPaste(e=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),e.preventDefault(),!e.clipboardData)return;let[t,i]=ClipboardEventUtils.getTextData(e.clipboardData);t&&(i=i||InMemoryClipboardMetadataManager.INSTANCE.get(t),this._onPaste.fire({text:t,metadata:i}))})),this._register(this._textArea.onFocus(()=>{const e=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!e&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new 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 e=0;return addDisposableListener(this._textArea.ownerDocument,"selectionchange",t=>{if(inputLatency.onSelectionChange(),!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;const i=Date.now(),o=i-e;if(e=i,o<5)return;const n=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),n<100)return;if(!this._textAreaState.selection)return;const r=this._textArea.getValue();if(this._textAreaState.value!==r)return;const s=this._textArea.getSelectionStart(),a=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===s&&this._textAreaState.selectionEnd===a)return;const l=this._textAreaState.deduceEditorPosition(s),c=this._host.deduceModelPosition(l[0],l[1],l[2]),d=this._textAreaState.deduceEditorPosition(a),u=this._host.deduceModelPosition(d[0],d[1],d[2]),h=new Selection$1(c.lineNumber,c.column,u.lineNumber,u.column);this._onSelectionChangeRequest.fire(h)})}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(e){this._hasFocus!==e&&(this._hasFocus=e,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(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&"render"===e||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${e})`),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),i={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};InMemoryClipboardMetadataManager.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,"\n"):t.text,i),e.preventDefault(),e.clipboardData&&ClipboardEventUtils.setTextData(e.clipboardData,t.text,t.html,i)}};TextAreaInput=__decorate$1_([__param$1W(4,IAccessibilityService),__param$1W(5,ILogService)],TextAreaInput);const ClipboardEventUtils={getTextData(e){const t=e.getData(Mimes.text);let i=null;const o=e.getData("vscode-editor-data");if("string"==typeof o)try{i=JSON.parse(o),1!==i.version&&(i=null)}catch(n){}if(0===t.length&&null===i&&e.files.length>0){return[Array.prototype.slice.call(e.files,0).map(e=>e.name).join("\n"),null]}return[t,i]},setTextData(e,t,i,o){e.setData(Mimes.text,t),"string"==typeof i&&e.setData("text/html",i),e.setData("vscode-editor-data",JSON.stringify(o))}};class TextAreaWrapper extends Disposable{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new DomEmitter(this._actual,"keydown")).event,this.onKeyUp=this._register(new DomEmitter(this._actual,"keyup")).event,this.onCompositionStart=this._register(new DomEmitter(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new DomEmitter(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new DomEmitter(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new DomEmitter(this._actual,"beforeinput")).event,this.onInput=this._register(new DomEmitter(this._actual,"input")).event,this.onCut=this._register(new DomEmitter(this._actual,"cut")).event,this.onCopy=this._register(new DomEmitter(this._actual,"copy")).event,this.onPaste=this._register(new DomEmitter(this._actual,"paste")).event,this.onFocus=this._register(new DomEmitter(this._actual,"focus")).event,this.onBlur=this._register(new DomEmitter(this._actual,"blur")).event,this._onSyntheticTap=this._register(new Emitter$1),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown(()=>inputLatency.onKeyDown())),this._register(this.onBeforeInput(()=>inputLatency.onBeforeInput())),this._register(this.onInput(()=>inputLatency.onInput())),this._register(this.onKeyUp(()=>inputLatency.onKeyUp())),this._register(addDisposableListener(this._actual,TextAreaSyntethicEvents.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const e=getShadowRoot$2(this._actual);return e?e.activeElement===this._actual:!!this._actual.isConnected&&getActiveElement()===this._actual}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return"backward"===this._actual.selectionDirection?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return"backward"===this._actual.selectionDirection?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(t,i,o){const n=this._actual;let r=null;const s=getShadowRoot$2(n);r=s?s.activeElement:getActiveElement();const a=getWindow$2(r),l=r===n,c=n.selectionStart,d=n.selectionEnd;if(l&&c===i&&d===o)isFirefox$1&&a.parent!==a&&n.focus();else{if(l)return this.setIgnoreSelectionChangeTime("setSelectionRange"),n.setSelectionRange(i,o),void(isFirefox$1&&a.parent!==a&&n.focus());try{const e=saveParentsScrollTop(n);this.setIgnoreSelectionChangeTime("setSelectionRange"),n.focus(),n.setSelectionRange(i,o),restoreParentsScrollTop(n,e)}catch(e){}}}}class PointerEventHandler extends MouseHandler{constructor(e,t,i){super(e,t,i),this._register(Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Tap,e=>this.onTap(e))),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Change,e=>this.onChange(e))),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Contextmenu,e=>this._onContextMenu(new EditorMouseEvent(e,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(addDisposableListener(this.viewHelper.linesContentDomNode,"pointerdown",e=>{const t=e.pointerType;this._lastPointerType="mouse"!==t?"touch"===t?"touch":"pen":"mouse"}));const o=new EditorPointerEventFactory(this.viewHelper.viewDomNode);this._register(o.onPointerMove(this.viewHelper.viewDomNode,e=>this._onMouseMove(e))),this._register(o.onPointerUp(this.viewHelper.viewDomNode,e=>this._onMouseUp(e))),this._register(o.onPointerLeave(this.viewHelper.viewDomNode,e=>this._onMouseLeave(e))),this._register(o.onPointerDown(this.viewHelper.viewDomNode,(e,t)=>this._onMouseDown(e,t)))}onTap(e){e.initialTarget&&this.viewHelper.linesContentDomNode.contains(e.initialTarget)&&(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){"touch"===this._lastPointerType&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),"pen"===this._lastPointerType&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const i=this._createMouseTarget(new EditorMouseEvent(e,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:6===i.type&&null!==i.detail.injectedText})}_onMouseDown(e,t){"touch"!==e.browserEvent.pointerType&&super._onMouseDown(e,t)}}class TouchHandler extends MouseHandler{constructor(e,t,i){super(e,t,i),this._register(Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Tap,e=>this.onTap(e))),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Change,e=>this.onChange(e))),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Contextmenu,e=>this._onContextMenu(new EditorMouseEvent(e,!1,this.viewHelper.viewDomNode),!1)))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new EditorMouseEvent(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const e=document.createEvent("CustomEvent");e.initEvent(TextAreaSyntethicEvents.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(e),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class PointerHandler extends Disposable{constructor(e,t,i){super();(isIOS$1||isAndroid$1&&isMobile)&&BrowserFeatures.pointerEvents?this.handler=this._register(new PointerEventHandler(e,t,i)):mainWindow.TouchEvent?this.handler=this._register(new TouchHandler(e,t,i)):this.handler=this._register(new MouseHandler(e,t,i))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}class DynamicViewOverlay extends ViewEventHandler{}class LineNumbersOverlay extends DynamicViewOverlay{static{this.CLASS_NAME="line-numbers"}constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new Position$1(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(96);const i=e.get(146);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),2!==this._renderLineNumbers&&3!==this._renderLineNumbers||(i=!0),i}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}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$1(e,1));if(1!==t.column)return"";const i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(2===this._renderLineNumbers){const e=Math.abs(this._lastCursorModelPosition.lineNumber-i);return 0===e?''+i+"":String(e)}if(3===this._renderLineNumbers){if(this._lastCursorModelPosition.lineNumber===i)return String(i);if(i%10==0)return String(i);return i===this._context.viewModel.getLineCount()?String(i):""}return String(i)}prepareRender(e){if(0===this._renderLineNumbers)return void(this._renderResult=null);const t=isLinux?this._lineHeight%2==0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,n=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter(e=>!!e.options.lineNumberClassName);n.sort((e,t)=>Range$2.compareRangesUsingEnds(e.range,t.range));let r=0;const s=this._context.viewModel.getLineCount(),a=[];for(let l=i;l<=o;l++){const e=l-i;let o=this._getLineRenderLineNumber(l),c="";for(;r${o}`):a[e]=""}this._renderResult=a}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}registerThemingParticipant((e,t)=>{const i=e.getColor(editorLineNumbers),o=e.getColor(editorDimmedLineNumber);o?t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${o}; }`):i&&t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${i.transparent(.4)}; }`)});class Margin extends ViewPart{static{this.CLASS_NAME="glyph-margin"}static{this.OUTER_CLASS_NAME="margin"}constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=createFastDomNode(document.createElement("div")),this._domNode.setClassName(Margin.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=createFastDomNode(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(Margin.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}const MOUSE_CURSOR_TEXT_CSS_CLASS_NAME="monaco-mouse-cursor-text";var __decorate$1Z=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1V=function(e,t){return function(i,o){t(i,o,e)}};class VisibleTextAreaData{constructor(e,t,i,o,n){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=o,this.distanceToModelLineEnd=n,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new Position$1(this.modelLineNumber,this.distanceToModelLineStart+1),i=new Position$1(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(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(this._previousPresentation=e||{foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const canUseZeroSizeTextarea=isFirefox$1;let TextAreaHandler=class extends ViewPart{constructor(e,t,i,o,n){super(e),this._keybindingService=o,this._instantiationService=n,this._primaryCursorPosition=new Position$1(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=i,this._scrollLeft=0,this._scrollTop=0;const r=this._context.configuration.options,s=r.get(146);this._setAccessibilityOptions(r),this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,this._contentHeight=s.height,this._fontInfo=r.get(50),this._lineHeight=r.get(67),this._emptySelectionClipboard=r.get(37),this._copyWithSyntaxHighlighting=r.get(25),this._visibleTextArea=null,this._selections=[new Selection$1(1,1,1,1)],this._modelSelections=[new Selection$1(1,1,1,1)],this._lastRenderPosition=null,this.textArea=createFastDomNode(document.createElement("textarea")),PartFingerprints.write(this.textArea,7),this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:a}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=a*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(r)),this.textArea.setAttribute("aria-required",r.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(r.get(125))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",localize("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",r.get(92)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=createFastDomNode(document.createElement("div")),this.textAreaCover.setPosition("absolute");const l={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:e=>this._context.viewModel.getLineMaxColumn(e),getValueInRange:(e,t)=>this._context.viewModel.getValueInRange(e,t),getValueLengthInRange:(e,t)=>this._context.viewModel.getValueLengthInRange(e,t),modifyPosition:(e,t)=>this._context.viewModel.modifyPosition(e,t)},c={getDataToCopy:()=>{const e=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,isWindows),t=this._context.viewModel.model.getEOL(),i=this._emptySelectionClipboard&&1===this._modelSelections.length&&this._modelSelections[0].isEmpty(),o=Array.isArray(e)?e:null,n=Array.isArray(e)?e.join(t):e;let r,s=null;if(CopyOptions.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&n.length<65536){const e=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);e&&(r=e.html,s=e.mode)}return{isFromEmptySelection:i,multicursorText:o,text:n,html:r,mode:s}},getScreenReaderContent:()=>{if(1===this._accessibilitySupport){const e=this._selections[0];if(isMacintosh&&e.isEmpty()){const t=e.getStartPosition();let i=this._getWordBeforePosition(t);if(0===i.length&&(i=this._getCharacterBeforePosition(t)),i.length>0)return new TextAreaState(i,i.length,i.length,Range$2.fromPositions(t),0)}const t=500;if(isMacintosh&&!e.isEmpty()&&l.getValueLengthInRange(e,0)0)return new TextAreaState(i,o,o,Range$2.fromPositions(t),0)}return TextAreaState.EMPTY}return PagedScreenReaderStrategy.fromEditorSelection(l,this._selections[0],this._accessibilityPageSize,0===this._accessibilitySupport)},deduceModelPosition:(e,t,i)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(e,t,i)},d=this._register(new TextAreaWrapper(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(TextAreaInput,c,d,OS,{isAndroid:isAndroid,isChrome:isChrome,isFirefox:isFirefox$1,isSafari:isSafari})),this._register(this._textAreaInput.onKeyDown(e=>{this._viewController.emitKeyDown(e)})),this._register(this._textAreaInput.onKeyUp(e=>{this._viewController.emitKeyUp(e)})),this._register(this._textAreaInput.onPaste(e=>{let t=!1,i=null,o=null;e.metadata&&(t=this._emptySelectionClipboard&&!!e.metadata.isFromEmptySelection,i=void 0!==e.metadata.multicursorText?e.metadata.multicursorText:null,o=e.metadata.mode),this._viewController.paste(e.text,t,i,o)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(e=>{e.replacePrevCharCnt||e.replaceNextCharCnt||e.positionDelta?this._viewController.compositionType(e.text,e.replacePrevCharCnt,e.replaceNextCharCnt,e.positionDelta):this._viewController.type(e.text)})),this._register(this._textAreaInput.onSelectionChangeRequest(e=>{this._viewController.setSelection(e)})),this._register(this._textAreaInput.onCompositionStart(e=>{const t=this.textArea.domNode,i=this._modelSelections[0],{distanceToModelLineStart:o,widthOfHiddenTextBefore:n}=(()=>{const e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),o=e.lastIndexOf("\n"),n=e.substring(o+1),r=n.lastIndexOf("\t"),s=n.length-r-1,a=i.getStartPosition(),l=Math.min(a.column-1,s),c=a.column-1-l,d=n.substring(0,n.length-l),{tabSize:u}=this._context.viewModel.model.getOptions();return{distanceToModelLineStart:c,widthOfHiddenTextBefore:measureText(this.textArea.domNode.ownerDocument,d,this._fontInfo,u)}})(),{distanceToModelLineEnd:r}=(()=>{const e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),o=e.indexOf("\n"),n=-1===o?e:e.substring(0,o),r=n.indexOf("\t"),s=-1===r?n.length:n.length-r-1,a=i.getEndPosition(),l=Math.min(this._context.viewModel.model.getLineMaxColumn(a.lineNumber)-a.column,s);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(a.lineNumber)-a.column-l}})();this._context.viewModel.revealRange("keyboard",!0,Range$2.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new VisibleTextAreaData(this._context,i.startLineNumber,o,n,r),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(e=>{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 ${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(IME.onDidChange(()=>{this._ensureReadOnlyAttribute()}))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=getMapForWordSeparators('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',[]);let o=!0,n=e.column,r=!0,s=e.column,a=0;for(;a<50&&(o||r);){if(o&&n<=1&&(o=!1),o){const e=t.charCodeAt(n-2);0!==i.get(e)?o=!1:n--}if(r&&s>t.length&&(r=!1),r){const e=t.charCodeAt(s-1);0!==i.get(e)?r=!1:s++}a++}return[t.substring(n-1,s-1),e.column-n]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=getMapForWordSeparators(this._context.configuration.options.get(132),[]);let o=e.column,n=0;for(;o>1;){const r=t.charCodeAt(o-2);if(0!==i.get(r)||n>50)return t.substring(o-1,e.column-1);n++,o--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const t=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!isHighSurrogate(t.charCodeAt(0)))return t}return""}_getAriaLabel(e){if(1===e.get(2)){const e=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode")?.getAriaLabel(),t=this._keybindingService.lookupKeybinding("workbench.action.showCommands")?.getAriaLabel(),i=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings")?.getAriaLabel(),o=localize("accessibilityModeOff","The editor is not accessible at this time.");return e?localize("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",o,e):t?localize("accessibilityOffAriaLabelNoKb","{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.",o,t):i?localize("accessibilityOffAriaLabelNoKbs","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",o,i):o}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);2===this._accessibilitySupport&&t===EditorOptions.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const i=e.get(146).wrappingColumn;if(-1!==i&&1!==this._accessibilitySupport){const t=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(i*t.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=canUseZeroSizeTextarea?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.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:o}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=o*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))),(e.hasChanged(34)||e.hasChanged(92))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!IME.enabled||e.get(34)&&e.get(92)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){this._primaryCursorPosition=new Position$1(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea?.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){if(this._visibleTextArea){const e=this._visibleTextArea.visibleTextareaStart,t=this._visibleTextArea.visibleTextareaEnd,i=this._visibleTextArea.startPosition,o=this._visibleTextArea.endPosition;if(i&&o&&e&&t&&t.left>=this._scrollLeft&&e.left<=this._scrollLeft+this._contentWidth){const n=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,r=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let s=this._visibleTextArea.widthOfHiddenLineTextBefore,a=this._contentLeft+e.left-this._scrollLeft,l=t.left-e.left+1;if(athis._contentWidth&&(l=this._contentWidth);const c=this._context.viewModel.getViewLineData(i.lineNumber),d=c.tokens.findTokenIndexAtOffset(i.column-1),u=d===c.tokens.findTokenIndexAtOffset(o.column-1),h=this._visibleTextArea.definePresentation(u?c.tokens.getPresentation(d):null);this.textArea.domNode.scrollTop=r*this._lineHeight,this.textArea.domNode.scrollLeft=s,this._doRender({lastRenderPosition:null,top:n,left:a,width:l,height:this._lineHeight,useCover:!1,color:(TokenizationRegistry.getColorMap()||[])[h.foreground],italic:h.italic,bold:h.bold,underline:h.underline,strikethrough:h.strikethrough})}return}if(!this._primaryCursorVisibleRange)return void this._renderAtTopLeft();const e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ethis._contentLeft+this._contentWidth)return void this._renderAtTopLeft();const t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(t<0||t>this._contentHeight)this._renderAtTopLeft();else{if(isMacintosh||2===this._accessibilitySupport){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const i=this._textAreaInput.textAreaState.newlineCountBeforeSelection??this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));return void(this.textArea.domNode.scrollTop=i*this._lineHeight)}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:canUseZeroSizeTextarea?0:1,useCover:!1})}}_newlinecount(e){let t=0,i=-1;for(;;){if(i=e.indexOf("\n",i+1),-1===i)break;t++}return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:canUseZeroSizeTextarea?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,i=this.textAreaCover;applyFontInfo(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?Color$1.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration(`${e.underline?" underline":""}${e.strikethrough?" line-through":""}`),i.setTop(e.useCover?e.top:0),i.setLeft(e.useCover?e.left:0),i.setWidth(e.useCover?e.width:0),i.setHeight(e.useCover?e.height:0);const o=this._context.configuration.options;o.get(57)?i.setClassName("monaco-editor-background textAreaCover "+Margin.OUTER_CLASS_NAME):0!==o.get(68).renderType?i.setClassName("monaco-editor-background textAreaCover "+LineNumbersOverlay.CLASS_NAME):i.setClassName("monaco-editor-background textAreaCover")}};function measureText(e,t,i,o){if(0===t.length)return 0;const n=e.createElement("div");n.style.position="absolute",n.style.top="-50000px",n.style.width="50000px";const r=e.createElement("span");applyFontInfo(r,i),r.style.whiteSpace="pre",r.style.tabSize=o*i.spaceWidth+"px",r.append(t),n.appendChild(r),e.body.appendChild(n);const s=r.offsetWidth;return n.remove(),s}TextAreaHandler=__decorate$1Z([__param$1V(3,IKeybindingService),__param$1V(4,IInstantiationService)],TextAreaHandler);const autoCloseAlways=()=>!0,autoCloseNever=()=>!1,autoCloseBeforeWhitespace=e=>" "===e||"\t"===e;class CursorConfiguration{static shouldRecreate(e){return e.hasChanged(146)||e.hasChanged(132)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(129)||e.hasChanged(50)||e.hasChanged(92)||e.hasChanged(131)}constructor(e,t,i,o){this.languageConfigurationService=o,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const n=i.options,r=n.get(146),s=n.get(50);this.readOnly=n.get(92),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=n.get(117),this.lineHeight=s.lineHeight,this.typicalHalfwidthCharacterWidth=s.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(r.height/this.lineHeight)-2),this.useTabStops=n.get(129),this.wordSeparators=n.get(132),this.emptySelectionClipboard=n.get(37),this.copyWithSyntaxHighlighting=n.get(25),this.multiCursorMergeOverlapping=n.get(77),this.multiCursorPaste=n.get(79),this.multiCursorLimit=n.get(80),this.autoClosingBrackets=n.get(6),this.autoClosingComments=n.get(7),this.autoClosingQuotes=n.get(11),this.autoClosingDelete=n.get(9),this.autoClosingOvertype=n.get(10),this.autoSurround=n.get(14),this.autoIndent=n.get(12),this.wordSegmenterLocales=n.get(131),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const a=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(a)for(const c of a)this.surroundingPairs[c.open]=c.close;const l=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=l?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};const e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(e)for(const t of e)this._electricChars[t]=!0}return this._electricChars}onElectricCharacter(e,t,i){const o=createScopedLineTokens(t,i-1),n=this.languageConfigurationService.getLanguageConfiguration(o.languageId).electricCharacter;return n?n.onElectricCharacter(e,o,i-o.firstCharOffset):null}normalizeIndentation(e){return normalizeIndentation(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,i){switch(t){case"beforeWhitespace":return autoCloseBeforeWhitespace;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,i);case"always":return autoCloseAlways;case"never":return autoCloseNever}}_getLanguageDefinedShouldAutoClose(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return e=>-1!==i.indexOf(e)}visibleColumnFromColumn(e,t){return CursorColumns.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const o=CursorColumns.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),n=e.getLineMinColumn(t);if(or?r:o}}let CursorState$1=class e{static fromModelState(e){return new PartialModelCursorState(e)}static fromViewState(e){return new PartialViewCursorState(e)}static fromModelSelection(t){const i=Selection$1.liftSelection(t),o=new SingleCursorState(Range$2.fromPositions(i.getSelectionStart()),0,0,i.getPosition(),0);return e.fromModelState(o)}static fromModelSelections(e){const t=[];for(let i=0,o=e.length;in,l=o>r,c=or)continue;if(go)continue;if(p0&&o--,ColumnSelection.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,o)}static columnSelectRight(e,t,i){let o=0;const n=Math.min(i.fromViewLineNumber,i.toViewLineNumber),r=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let a=n;a<=r;a++){const i=t.getLineMaxColumn(a),n=e.visibleColumnFromColumn(t,new Position$1(a,i));o=Math.max(o,n)}let s=i.toViewVisualColumn;return se.getLineMinColumn(t.lineNumber))return t.delta(void 0,-prevCharLength(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new Position$1(i,e.getLineMaxColumn(i))}return t}static leftPositionAtomicSoftTabs(e,t,i){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const o=e.getLineMinColumn(t.lineNumber),n=e.getLineContent(t.lineNumber),r=AtomicTabMoveOperations.atomicPosition(n,t.column-1,i,0);if(-1!==r&&r+1>=o)return new Position$1(t.lineNumber,r+1)}return this.leftPosition(e,t)}static left(e,t,i){const o=e.stickyTabStops?MoveOperations.leftPositionAtomicSoftTabs(t,i,e.tabSize):MoveOperations.leftPosition(t,i);return new CursorPosition(o.lineNumber,o.column,0)}static moveLeft(e,t,i,o,n){let r,s;if(i.hasSelection()&&!o)r=i.selection.startLineNumber,s=i.selection.startColumn;else{const o=i.position.delta(void 0,-(n-1)),a=t.normalizePosition(MoveOperations.clipPositionColumn(o,t),0),l=MoveOperations.left(e,t,a);r=l.lineNumber,s=l.column}return i.move(o,r,s,0)}static clipPositionColumn(e,t){return new Position$1(e.lineNumber,MoveOperations.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,i){return ei?i:e}static rightPosition(e,t,i){return ic?(i=c,o=s?t.getLineMaxColumn(i):Math.min(t.getLineMaxColumn(i),o)):o=e.columnFromVisibleColumn(t,i,l),n=h?0:l-CursorColumns.visibleColumnFromColumn(t.getLineContent(i),o,e.tabSize),void 0!==a){const e=new Position$1(i,o),r=t.normalizePosition(e,a);n+=o-r.column,i=r.lineNumber,o=r.column}return new CursorPosition(i,o,n)}static down(e,t,i,o,n,r,s){return this.vertical(e,t,i,o,n,i+r,s,4)}static moveDown(e,t,i,o,n){let r,s;i.hasSelection()&&!o?(r=i.selection.endLineNumber,s=i.selection.endColumn):(r=i.position.lineNumber,s=i.position.column);let a,l=0;do{a=MoveOperations.down(e,t,r+l,s,i.leftoverVisibleColumns,n,!0);if(t.normalizePosition(new Position$1(a.lineNumber,a.column),2).lineNumber>r)break}while(l++<10&&r+l1&&this._isBlankLine(t,n);)n--;for(;n>1&&!this._isBlankLine(t,n);)n--;return i.move(o,n,t.getLineMinColumn(n),0)}static moveToNextBlankLine(e,t,i,o){const n=t.getLineCount();let r=i.position.lineNumber;for(;r=d.length+1)return!1;const u=d.charAt(c.column-2),h=o.get(u);if(!h)return!1;if(isQuote$3(u)){if("never"===i)return!1}else if("never"===t)return!1;const p=d.charAt(c.column-1);let g=!1;for(const e of h)e.open===u&&e.close===p&&(g=!0);if(!g)return!1;if("auto"===e){let e=!1;for(let t=0,i=s.length;t1){const e=t.getLineContent(o.lineNumber),n=firstNonWhitespaceIndex(e),r=-1===n?e.length+1:n+1;if(o.column<=r){const e=i.visibleColumnFromColumn(t,o),n=CursorColumns.prevIndentTabStop(e,i.indentSize),r=i.columnFromVisibleColumn(t,o.lineNumber,n);return new Range$2(o.lineNumber,r,o.lineNumber,o.column)}}return Range$2.fromPositions(DeleteOperations.getPositionAfterDeleteLeft(o,t),o)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=getLeftDeleteOffset(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,i+1)}if(e.lineNumber>1){const i=e.lineNumber-1;return new Position$1(i,t.getLineMaxColumn(i))}return e}static cut(e,t,i){const o=[];let n=null;i.sort((e,t)=>Position$1.compare(e.getStartPosition(),t.getEndPosition()));for(let r=0,s=i.length;r1&&n?.endLineNumber!==e.lineNumber?(i=e.lineNumber-1,a=t.getLineMaxColumn(e.lineNumber-1),l=e.lineNumber,c=t.getLineMaxColumn(e.lineNumber)):(i=e.lineNumber,a=1,l=e.lineNumber,c=t.getLineMaxColumn(e.lineNumber));const d=new Range$2(i,a,l,c);n=d,d.isEmpty()?o[r]=null:o[r]=new ReplaceCommand(d,"")}else o[r]=null;else o[r]=new ReplaceCommand(s,"")}return new EditOperationResult(0,o,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class WordOperations{static _createWord(e,t,i,o,n){return{start:o,end:n,wordType:t,nextCharClass:i}}static _createIntlWord(e,t){return{start:e.index,end:e.index+e.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(e,t,i){const o=t.getLineContent(i.lineNumber);return this._doFindPreviousWordOnLine(o,e,i)}static _doFindPreviousWordOnLine(e,t,i){let o=0;const n=t.findPrevIntlWordBeforeOrAtOffset(e,i.column-2);for(let r=i.column-2;r>=0;r--){const i=e.charCodeAt(r),s=t.get(i);if(n&&r===n.index)return this._createIntlWord(n,s);if(0===s){if(2===o)return this._createWord(e,o,s,r+1,this._findEndOfWord(e,t,o,r+1));o=1}else if(2===s){if(1===o)return this._createWord(e,o,s,r+1,this._findEndOfWord(e,t,o,r+1));o=2}else if(1===s&&0!==o)return this._createWord(e,o,s,r+1,this._findEndOfWord(e,t,o,r+1))}return 0!==o?this._createWord(e,o,1,0,this._findEndOfWord(e,t,o,0)):null}static _findEndOfWord(e,t,i,o){const n=t.findNextIntlWordAtOrAfterOffset(e,o),r=e.length;for(let s=o;s=0;r--){const o=e.charCodeAt(r),s=t.get(o);if(n&&r===n.index)return r;if(1===s)return r+1;if(1===i&&2===s)return r+1;if(2===i&&0===s)return r+1}return 0}static moveWordLeft(e,t,i,o,n){let r=i.lineNumber,s=i.column;1===s&&r>1&&(r-=1,s=t.getLineMaxColumn(r));let a=WordOperations._findPreviousWordOnLine(e,t,new Position$1(r,s));if(0===o)return new Position$1(r,a?a.start+1:1);if(1===o)return!n&&a&&2===a.wordType&&a.end-a.start===1&&0===a.nextCharClass&&(a=WordOperations._findPreviousWordOnLine(e,t,new Position$1(r,a.start+1))),new Position$1(r,a?a.start+1:1);if(3===o){for(;a&&2===a.wordType;)a=WordOperations._findPreviousWordOnLine(e,t,new Position$1(r,a.start+1));return new Position$1(r,a?a.start+1:1)}return a&&s<=a.end+1&&(a=WordOperations._findPreviousWordOnLine(e,t,new Position$1(r,a.start+1))),new Position$1(r,a?a.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,o=e.getLineMaxColumn(i);if(1===t.column)return i>1?new Position$1(i-1,e.getLineMaxColumn(i-1)):t;const n=e.getLineContent(i);for(let r=t.column-1;r>1;r--){const e=n.charCodeAt(r-2),t=n.charCodeAt(r-1);if(95===e&&95!==t)return new Position$1(i,r);if(45===e&&45!==t)return new Position$1(i,r);if((isLowerAsciiLetter(e)||isAsciiDigit(e))&&isUpperAsciiLetter(t))return new Position$1(i,r);if(isUpperAsciiLetter(e)&&isUpperAsciiLetter(t)&&r+1=a.start+1&&(a=WordOperations._findNextWordOnLine(e,t,new Position$1(n,a.end+1))),r=a?a.start+1:t.getLineMaxColumn(n);return new Position$1(n,r)}static _moveWordPartRight(e,t){const i=t.lineNumber,o=e.getLineMaxColumn(i);if(t.column===o)return i1?l=1:(a--,l=o.getLineMaxColumn(a)):(c&&l<=c.end+1&&(c=WordOperations._findPreviousWordOnLine(i,o,new Position$1(a,c.start+1))),c?l=c.end+1:l>1?l=1:(a--,l=o.getLineMaxColumn(a))),new Range$2(a,l,s.lineNumber,s.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const o=new Position$1(i.positionLineNumber,i.positionColumn),n=this._deleteInsideWordWhitespace(t,o);return n||this._deleteInsideWordDetermineDeleteRange(e,t,o)}static _charAtIsWhitespace(e,t){const i=e.charCodeAt(t);return 32===i||9===i}static _deleteInsideWordWhitespace(e,t){const i=e.getLineContent(t.lineNumber),o=i.length;if(0===o)return null;let n=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,n))return null;let r=Math.min(t.column-1,o-1);if(!this._charAtIsWhitespace(i,r))return null;for(;n>0&&this._charAtIsWhitespace(i,n-1);)n--;for(;r+11?new Range$2(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumbere.start+1<=i.column&&i.column<=e.end+1,s=(e,t)=>(e=Math.min(e,i.column),t=Math.max(t,i.column),new Range$2(i.lineNumber,e,i.lineNumber,t)),a=e=>{let t=e.start+1,i=e.end+1,r=!1;for(;i-11&&this._charAtIsWhitespace(o,t-2);)t--;return s(t,i)},l=WordOperations._findPreviousWordOnLine(e,t,i);if(l&&r(l))return a(l);const c=WordOperations._findNextWordOnLine(e,t,i);return c&&r(c)?a(c):l&&c?s(l.end+1,c.start+1):l?s(l.start+1,l.end+1):c?s(c.start+1,c.end+1):s(1,n+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),o=WordOperations._moveWordPartLeft(e,i);return new Range$2(i.lineNumber,i.column,o.lineNumber,o.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let o=t;o=u.start+1&&(u=WordOperations._findNextWordOnLine(i,o,new Position$1(a,u.end+1))),u?l=u.start+1:lBoolean(e))}class CursorMoveCommands{static addCursorDown(e,t,i){const o=[];let n=0;for(let r=0,s=t.length;rt&&(i=t,o=e.model.getLineMaxColumn(i)),CursorState$1.fromModelState(new SingleCursorState(new Range$2(r.lineNumber,1,i,o),2,0,new Position$1(i,o),0))}const a=t.modelState.selectionStart.getStartPosition().lineNumber;if(r.lineNumbera){const i=e.getLineCount();let o=s.lineNumber+1,n=1;return o>i&&(o=i,n=e.getLineMaxColumn(o)),CursorState$1.fromViewState(t.viewState.move(!0,o,n,0))}{const e=t.modelState.selectionStart.getEndPosition();return CursorState$1.fromModelState(t.modelState.move(!0,e.lineNumber,e.column,0))}}static word(e,t,i,o){const n=e.model.validatePosition(o);return CursorState$1.fromModelState(WordOperations.word(e.cursorConfig,e.model,t.modelState,i,n))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new CursorState$1(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,o=t.viewState.position.column;return CursorState$1.fromViewState(new SingleCursorState(new Range$2(i,o,i,o),0,0,new Position$1(i,o),0))}static moveTo(e,t,i,o,n){if(i){if(1===t.modelState.selectionStartKind)return this.word(e,t,i,o);if(2===t.modelState.selectionStartKind)return this.line(e,t,i,o,n)}const r=e.model.validatePosition(o),s=n?e.coordinatesConverter.validateViewPosition(new Position$1(n.lineNumber,n.column),r):e.coordinatesConverter.convertModelPositionToViewPosition(r);return CursorState$1.fromViewState(t.viewState.move(i,s.lineNumber,s.column,0))}static simpleMove(e,t,i,o,n,r){switch(i){case 0:return 4===r?this._moveHalfLineLeft(e,t,o):this._moveLeft(e,t,o,n);case 1:return 4===r?this._moveHalfLineRight(e,t,o):this._moveRight(e,t,o,n);case 2:return 2===r?this._moveUpByViewLines(e,t,o,n):this._moveUpByModelLines(e,t,o,n);case 3:return 2===r?this._moveDownByViewLines(e,t,o,n):this._moveDownByModelLines(e,t,o,n);case 4:return 2===r?t.map(t=>CursorState$1.fromViewState(MoveOperations.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,o))):t.map(t=>CursorState$1.fromModelState(MoveOperations.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,o)));case 5:return 2===r?t.map(t=>CursorState$1.fromViewState(MoveOperations.moveToNextBlankLine(e.cursorConfig,e,t.viewState,o))):t.map(t=>CursorState$1.fromModelState(MoveOperations.moveToNextBlankLine(e.cursorConfig,e.model,t.modelState,o)));case 6:return this._moveToViewMinColumn(e,t,o);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,o);case 8:return this._moveToViewCenterColumn(e,t,o);case 9:return this._moveToViewMaxColumn(e,t,o);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,o);default:return null}}static viewportMove(e,t,i,o,n){const r=e.getCompletelyVisibleViewRange(),s=e.coordinatesConverter.convertViewRangeToModelRange(r);switch(i){case 11:{const i=this._firstLineNumberInRange(e.model,s,n),r=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],o,i,r)]}case 13:{const i=this._lastLineNumberInRange(e.model,s,n),r=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],o,i,r)]}case 12:{const i=Math.round((s.startLineNumber+s.endLineNumber)/2),n=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],o,i,n)]}case 14:{const i=[];for(let n=0,s=t.length;ni.endLineNumber-1?i.endLineNumber-1:nCursorState$1.fromViewState(MoveOperations.moveLeft(e.cursorConfig,e,t.viewState,i,o)))}static _moveHalfLineLeft(e,t,i){const o=[];for(let n=0,r=t.length;nCursorState$1.fromViewState(MoveOperations.moveRight(e.cursorConfig,e,t.viewState,i,o)))}static _moveHalfLineRight(e,t,i){const o=[];for(let n=0,r=t.length;n{this.model.tokenization.forceTokenization(e);return createScopedLineTokens(this.model.tokenization.getLineTokens(e),this.model.getLineMaxColumn(e)-1)})(o);if(!(t.languageId===n.languageId))return i;const r=n.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(r)}}class IndentationLineProcessor{constructor(e,t){this.model=e,this.languageConfigurationService=t}getProcessedLine(e,t){this.model.tokenization.forceTokenization?.(e);const i=this.model.tokenization.getLineTokens(e);let o=this.getProcessedTokens(i).getLineContent();return void 0!==t&&(o=((e,t)=>{const i=getLeadingWhitespace(e);return t+e.substring(i.length)})(o,t)),o}getProcessedTokens(e){const t=e.getLanguageId(0),i=this.languageConfigurationService.getLanguageConfiguration(t).bracketsNew.getBracketRegExp({global:!0}),o=[];e.forEach(t=>{const n=e.getStandardTokenType(t);let r=e.getTokenText(t);(e=>2===e||3===e||1===e)(n)&&(r=r.replace(i,""));const s=e.getMetadata(t);o.push({text:r,metadata:s})});return LineTokens.createFromTextAndMetadata(o,e.languageIdCodec)}}function isLanguageDifferentFromLineStart(e,t){e.tokenization.forceTokenization(t.lineNumber);const i=e.tokenization.getLineTokens(t.lineNumber),o=createScopedLineTokens(i,t.column-1),n=0===o.firstCharOffset,r=i.getLanguageId(0)===o.languageId;return!n&&!r}function getEnterAction(e,t,i,o){t.tokenization.forceTokenization(i.startLineNumber);const n=t.getLanguageIdAtPosition(i.startLineNumber,i.startColumn),r=o.getLanguageConfiguration(n);if(!r)return null;const s=new IndentationContextProcessor(t,o).getProcessedTokenContextAroundRange(i),a=s.previousLineProcessedTokens.getLineContent(),l=s.beforeRangeProcessedTokens.getLineContent(),c=s.afterRangeProcessedTokens.getLineContent(),d=r.onEnter(e,a,l,c);if(!d)return null;const u=d.indentAction;let h=d.appendText;const p=d.removeText||0;h?u===IndentAction.Indent&&(h="\t"+h):h=u===IndentAction.Indent||u===IndentAction.IndentOutdent?"\t":"";let g=getIndentationAtPosition(t,i.startLineNumber,i.startColumn);return p&&(g=g.substring(0,g.length-p)),{indentAction:u,appendText:h,removeText:p,indentation:g}}var __decorate$1Y=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1U=function(e,t){return function(i,o){t(i,o,e)}},ShiftCommand_1;const repeatCache=Object.create(null);function cachedStringRepeat(e,t){if(t<=0)return"";repeatCache[e]||(repeatCache[e]=["",e]);const i=repeatCache[e];for(let o=i.length;o<=t;o++)i[o]=i[o-1]+e;return i[t]}let ShiftCommand=ShiftCommand_1=class{static unshiftIndent(e,t,i,o,n){const r=CursorColumns.visibleColumnFromColumn(e,t,i);if(n){const e=cachedStringRepeat(" ",o);return cachedStringRepeat(e,CursorColumns.prevIndentTabStop(r,o)/o)}return cachedStringRepeat("\t",CursorColumns.prevRenderTabStop(r,i)/i)}static shiftIndent(e,t,i,o,n){const r=CursorColumns.visibleColumnFromColumn(e,t,i);if(n){const e=cachedStringRepeat(" ",o);return cachedStringRepeat(e,CursorColumns.nextIndentTabStop(r,o)/o)}return cachedStringRepeat("\t",CursorColumns.nextRenderTabStop(r,i)/i)}constructor(e,t,i){this._languageConfigurationService=i,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(e,t){const i=this._selection.startLineNumber;let o=this._selection.endLineNumber;1===this._selection.endColumn&&i!==o&&(o-=1);const{tabSize:n,indentSize:r,insertSpaces:s}=this._opts,a=i===o;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let l=0,c=0;for(let d=i;d<=o;d++,l=c){c=0;const o=e.getLineContent(d);let u,h=firstNonWhitespaceIndex(o);if((!this._opts.isUnshift||0!==o.length&&0!==h)&&(a||this._opts.isUnshift||0!==o.length)){if(-1===h&&(h=o.length),d>1){if(CursorColumns.visibleColumnFromColumn(o,h+1,n)%r!==0&&e.tokenization.isCheapToTokenize(d-1)){const t=getEnterAction(this._opts.autoIndent,e,new Range$2(d-1,e.getLineMaxColumn(d-1),d-1,e.getLineMaxColumn(d-1)),this._languageConfigurationService);if(t){if(c=l,t.appendText)for(let e=0,i=t.appendText.length;e1){let n,r=-1;for(n=t-1;n>=1;n--){if(e.tokenization.getLanguageIdAtPosition(n,0)!==o)return r;const t=e.getLineContent(n);if(!i.shouldIgnore(n)&&!/^\s+$/.test(t)&&""!==t)return n;r=n}}return-1}function getInheritIndentForLine(e,t,i,o=!0,n){if(e<4)return null;const r=n.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!r)return null;const s=new ProcessedIndentRulesSupport(t,r,n);if(i<=1)return{indentation:"",action:null};for(let l=i-1;l>0&&""===t.getLineContent(l);l--)if(1===l)return{indentation:"",action:null};const a=getPrecedingValidLine(t,i,s);if(a<0)return null;if(a<1)return{indentation:"",action:null};if(s.shouldIncrease(a)||s.shouldIndentNextLine(a)){return{indentation:getLeadingWhitespace(t.getLineContent(a)),action:IndentAction.Indent,line:a}}if(s.shouldDecrease(a)){return{indentation:getLeadingWhitespace(t.getLineContent(a)),action:null,line:a}}{if(1===a)return{indentation:getLeadingWhitespace(t.getLineContent(a)),action:null,line:a};const e=a-1,i=r.getIndentMetadata(t.getLineContent(e));if(!(3&i)&&4&i){let i=0;for(let t=e-1;t>0;t--)if(!s.shouldIndentNextLine(t)){i=t;break}return{indentation:getLeadingWhitespace(t.getLineContent(i+1)),action:null,line:i+1}}if(o)return{indentation:getLeadingWhitespace(t.getLineContent(a)),action:null,line:a};for(let o=a;o>0;o--){if(s.shouldIncrease(o))return{indentation:getLeadingWhitespace(t.getLineContent(o)),action:IndentAction.Indent,line:o};if(s.shouldIndentNextLine(o)){let e=0;for(let t=o-1;t>0;t--)if(!s.shouldIndentNextLine(o)){e=t;break}return{indentation:getLeadingWhitespace(t.getLineContent(e+1)),action:null,line:e+1}}if(s.shouldDecrease(o))return{indentation:getLeadingWhitespace(t.getLineContent(o)),action:null,line:o}}return{indentation:getLeadingWhitespace(t.getLineContent(1)),action:null,line:1}}}function getGoodIndentForLine(e,t,i,o,n,r){if(e<4)return null;const s=r.getLanguageConfiguration(i);if(!s)return null;const a=r.getLanguageConfiguration(i).indentRulesSupport;if(!a)return null;const l=new ProcessedIndentRulesSupport(t,a,r),c=getInheritIndentForLine(e,t,o,void 0,r);if(c){const i=c.line;if(void 0!==i){let r=!0;for(let e=i;e0){const a=t.getLineContent(g);if(l.shouldIndentNextLine(a)&&l.shouldIncrease(p)){const a=getInheritIndentForLine(s,t,i.startLineNumber,!1,r),l=a?.indentation;if(void 0!==l){const r=getLeadingWhitespace(t.getLineContent(i.startLineNumber)),s=n.shiftIndent(l)===r,a=/^\s*$/.test(h),c=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(o),d=c&&c.length>0;if(s&&(d&&a))return l}}}return null}function getIndentMetadata(e,t,i){const o=i.getLanguageConfiguration(e.getLanguageId()).indentRulesSupport;return o?t<1||t>e.getLineCount()?null:o.getIndentMetadata(e.getLineContent(t)):null}function createVirtualModelWithModifiedTokensAtLine(e,t,i){return{tokenization:{getLineTokens:o=>o===t?i:e.tokenization.getLineTokens(o),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i)},getLineContent:o=>o===t?i.getLineContent():e.getLineContent(o)}}class AutoIndentOperation{static getEdits(e,t,i,o,n){if(!n&&this._isAutoIndentType(e,t,i)){const n=[];for(const s of i){const i=this._findActualIndentationForSelection(e,t,s,o);if(null===i)return;n.push({selection:s,indentation:i})}const r=AutoClosingOpenCharTypeOperation.getAutoClosingPairClose(e,t,i,o,!1);return this._getIndentationAndAutoClosingPairEdits(e,t,n,o,r)}}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let o=0,n=i.length;oshiftIndent(e,t),unshiftIndent:t=>unshiftIndent(e,t)},e.languageConfigurationService);if(null===n)return null;const r=getIndentationAtPosition(t,i.startLineNumber,i.startColumn);return n===e.normalizeIndentation(r)?null:n}static _getIndentationAndAutoClosingPairEdits(e,t,i,o,n){const r=i.map(({selection:i,indentation:r})=>{if(null!==n){const s=this._getEditFromIndentationAndSelection(e,t,r,i,o,!1);return new TypeWithIndentationAndAutoClosingCommand(s,i,o,n)}{const n=this._getEditFromIndentationAndSelection(e,t,r,i,o,!0);return typeCommand(n.range,n.text,!1)}});return new EditOperationResult(4,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _getEditFromIndentationAndSelection(e,t,i,o,n,r=!0){const s=o.startLineNumber,a=t.getLineFirstNonWhitespaceColumn(s);let l=e.normalizeIndentation(i);if(0!==a){l+=t.getLineContent(s).substring(a-1,o.startColumn-1)}l+=r?n:"";return{range:new Range$2(s,1,o.endLineNumber,o.endColumn),text:l}}}class AutoClosingOvertypeOperation{static getEdits(e,t,i,o,n,r){if(isAutoClosingOvertype(t,i,o,n,r))return this._runAutoClosingOvertype(e,o,r)}static _runAutoClosingOvertype(e,t,i){const o=[];for(let n=0,r=t.length;nnew ReplaceCommand(new Range$2(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),"",!1));return new EditOperationResult(4,e,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}}class AutoClosingOpenCharTypeOperation{static getEdits(e,t,i,o,n,r){if(!r){const r=this.getAutoClosingPairClose(e,t,i,o,n);if(null!==r)return this._runAutoClosingOpenCharType(i,o,n,r)}}static _runAutoClosingOpenCharType(e,t,i,o){const n=[];for(let r=0,s=e.length;r{const t=e.getPosition();return n?{lineNumber:t.lineNumber,beforeColumn:t.column-o.length,afterColumn:t.column}:{lineNumber:t.lineNumber,beforeColumn:t.column,afterColumn:t.column}}),s=this._findAutoClosingPairOpen(e,t,r.map(e=>new Position$1(e.lineNumber,e.beforeColumn)),o);if(!s)return null;let a,l;if(isQuote$3(o))a=e.autoClosingQuotes,l=e.shouldAutoCloseBefore.quote;else{!!e.blockCommentStartToken&&s.open.includes(e.blockCommentStartToken)?(a=e.autoClosingComments,l=e.shouldAutoCloseBefore.comment):(a=e.autoClosingBrackets,l=e.shouldAutoCloseBefore.bracket)}if("never"===a)return null;const c=this._findContainedAutoClosingPair(e,s),d=c?c.close:"";let u=!0;for(const h of r){const{lineNumber:i,beforeColumn:n,afterColumn:r}=h,c=t.getLineContent(i),p=c.substring(0,n-1),g=c.substring(r-1);if(g.startsWith(d)||(u=!1),g.length>0){const t=g.charAt(0);if(!this._isBeforeClosingBrace(e,g)&&!l(t))return null}if(1===s.open.length&&("'"===o||'"'===o)&&"always"!==a){const t=getMapForWordSeparators(e.wordSeparators,[]);if(p.length>0){const e=p.charCodeAt(p.length-1);if(0===t.get(e))return null}}if(!t.tokenization.isCheapToTokenize(i))return null;t.tokenization.forceTokenization(i);const m=createScopedLineTokens(t.tokenization.getLineTokens(i),n-1);if(!s.shouldAutoClose(m,n-m.firstCharOffset))return null;const f=s.findNeutralCharacter();if(f){const e=t.tokenization.getTokenTypeIfInsertingCharacter(i,n,f);if(!s.isOK(e))return null}}return u?s.close.substring(0,s.close.length-d.length):s.close}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const i=t.close.charAt(t.close.length-1),o=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(i)||[];let n=null;for(const r of o)r.open!==t.open&&t.open.includes(r.open)&&t.close.endsWith(r.close)&&(!n||r.open.length>n.open.length)&&(n=r);return n}static _findAutoClosingPairOpen(e,t,i,o){const n=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(o);if(!n)return null;let r=null;for(const s of n)if(null===r||s.open.length>r.open.length){let e=!0;for(const n of i){if(t.getValueInRange(new Range$2(n.lineNumber,n.column-s.open.length+1,n.lineNumber,n.column))+o!==s.open){e=!1;break}}e&&(r=s)}return r}static _isBeforeClosingBrace(e,t){const i=t.charAt(0),o=e.autoClosingPairs.autoClosingPairsOpenByStart.get(i)||[],n=e.autoClosingPairs.autoClosingPairsCloseByStart.get(i)||[],r=o.some(e=>t.startsWith(e.open)),s=n.some(e=>t.startsWith(e.close));return!r&&s}}class SurroundSelectionOperation{static getEdits(e,t,i,o,n){if(!n&&this._isSurroundSelectionType(e,t,i,o))return this._runSurroundSelectionType(e,i,o)}static _runSurroundSelectionType(e,t,i){const o=[];for(let n=0,r=t.length;n=4){const n=getIndentForEnter(e.autoIndent,t,o,{unshiftIndent:t=>unshiftIndent(e,t),shiftIndent:t=>shiftIndent(e,t),normalizeIndentation:t=>e.normalizeIndentation(t)},e.languageConfigurationService);if(n){let r=e.visibleColumnFromColumn(t,o.getEndPosition());const s=o.endColumn,a=firstNonWhitespaceIndex(t.getLineContent(o.endLineNumber));if(o=a>=0?o.setEndPosition(o.endLineNumber,Math.max(o.endColumn,a+1)):o.setEndPosition(o.endLineNumber,t.getLineMaxColumn(o.endLineNumber)),i)return new ReplaceCommandWithoutChangingPosition(o,"\n"+e.normalizeIndentation(n.afterEnter),!0);{let t=0;return s<=a+1&&(e.insertSpaces||(r=Math.ceil(r/e.indentSize)),t=Math.min(r+1-e.normalizeIndentation(n.afterEnter).length-1,0)),new ReplaceCommandWithOffsetCursorState(o,"\n"+e.normalizeIndentation(n.afterEnter),0,t,!0)}}}return typeCommand(o,"\n"+e.normalizeIndentation(r),i)}static lineInsertBefore(e,t,i){if(null===t||null===i)return[];const o=[];for(let n=0,r=i.length;nthis._compositionType(i,e,n,r,s,a));return new EditOperationResult(4,l,{shouldPushStackElementBefore:shouldPushStackElementBetween(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,o,n,r){if(!t.isEmpty())return null;const s=t.getPosition(),a=Math.max(1,s.column-o),l=Math.min(e.getLineMaxColumn(s.lineNumber),s.column+n),c=new Range$2(s.lineNumber,a,s.lineNumber,l);return e.getValueInRange(c)===i&&0===r?null:new ReplaceCommandWithOffsetCursorState(c,i,0,r)}}class TypeWithoutInterceptorsOperation{static getEdits(e,t,i){const o=[];for(let r=0,s=t.length;r1){let o;for(o=i-1;o>=1;o--){if(lastNonWhitespaceIndex(t.getLineContent(o))>=0)break}if(o<1)return null;const r=t.getLineMaxColumn(o),s=getEnterAction(e.autoIndent,t,new Range$2(o,r,o,r),e.languageConfigurationService);s&&(n=s.indentation+s.appendText)}return o&&(o===IndentAction.Indent&&(n=shiftIndent(e,n)),o===IndentAction.Outdent&&(n=unshiftIndent(e,n)),n=e.normalizeIndentation(n)),n||null}static _replaceJumpToNextIndent(e,t,i,o){let n="";const r=i.getStartPosition();if(e.insertSpaces){const i=e.visibleColumnFromColumn(t,r),o=e.indentSize,s=o-i%o;for(let e=0;e2?l.charCodeAt(a.column-2):0)&&c)return!1;if("auto"===e.autoClosingOvertype){let e=!1;for(let t=0,i=o.length;t{const i=e.get(ICodeEditorService).getFocusedCodeEditor();return!(!i||!i.hasTextFocus())&&this._runEditorCommand(e,i,t)}),e.addImplementation(1e3,"generic-dom-input-textarea",(e,t)=>{const i=getActiveElement();return!!(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)&&(this.runDOMCommand(i),!0)}),e.addImplementation(0,"generic-dom",(e,t)=>{const i=e.get(ICodeEditorService).getActiveCodeEditor();return!!i&&(i.focus(),this._runEditorCommand(e,i,t))})}_runEditorCommand(e,t,i){const o=this.runEditorCommand(e,t,i);return o||!0}}!function(e){class t extends CoreEditorCommand{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){if(!t.position)return;e.model.pushStackElement();e.setCursorStates(t.source,3,[CursorMoveCommands.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&2!==t.revealType&&e.revealAllCursors(t.source,!0,!0)}}e.MoveTo=registerEditorCommand(new t({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=registerEditorCommand(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class i extends CoreEditorCommand{runCoreEditorCommand(e,t){e.model.pushStackElement();const i=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);null!==i&&(e.setCursorStates(t.source,3,i.viewStates.map(e=>CursorState$1.fromViewState(e))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:i.fromLineNumber,fromViewVisualColumn:i.fromVisualColumn,toViewLineNumber:i.toLineNumber,toViewVisualColumn:i.toVisualColumn}),i.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source))}}e.ColumnSelect=registerEditorCommand(new class extends i{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(e,t,i,o){if(void 0===o.position||void 0===o.viewPosition||void 0===o.mouseColumn)return null;const n=e.model.validatePosition(o.position),r=e.coordinatesConverter.validateViewPosition(new Position$1(o.viewPosition.lineNumber,o.viewPosition.column),n),s=o.doColumnSelect?i.fromViewLineNumber:r.lineNumber,a=o.doColumnSelect?i.fromViewVisualColumn:o.mouseColumn-1;return ColumnSelection.columnSelect(e.cursorConfig,e,s,a,r.lineNumber,o.mouseColumn-1)}}),e.CursorColumnSelectLeft=registerEditorCommand(new class extends i{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,i,o){return ColumnSelection.columnSelectLeft(e.cursorConfig,e,i)}}),e.CursorColumnSelectRight=registerEditorCommand(new class extends i{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,i,o){return ColumnSelection.columnSelectRight(e.cursorConfig,e,i)}});class o extends i{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,i,o){return ColumnSelection.columnSelectUp(e.cursorConfig,e,i,this._isPaged)}}e.CursorColumnSelectUp=registerEditorCommand(new o({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=registerEditorCommand(new o({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3595,linux:{primary:0}}}));class n extends i{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,i,o){return ColumnSelection.columnSelectDown(e.cursorConfig,e,i,this._isPaged)}}e.CursorColumnSelectDown=registerEditorCommand(new n({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=registerEditorCommand(new n({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3596,linux:{primary:0}}}));class r extends CoreEditorCommand{constructor(){super({id:"cursorMove",precondition:void 0,metadata:CursorMove.metadata})}runCoreEditorCommand(e,t){const i=CursorMove.parse(t);i&&this._runCursorMove(e,t.source,i)}_runCursorMove(e,t,i){e.model.pushStackElement(),e.setCursorStates(t,3,r._move(e,e.getCursorStates(),i)),e.revealAllCursors(t,!0)}static _move(e,t,i){const o=i.select,n=i.value;switch(i.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return CursorMoveCommands.simpleMove(e,t,i.direction,o,n,i.unit);case 11:case 13:case 12:case 14:return CursorMoveCommands.viewportMove(e,t,i.direction,o,n);default:return null}}}e.CursorMoveImpl=r,e.CursorMove=registerEditorCommand(new r);class s extends CoreEditorCommand{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let i=this._staticArgs;-1===this._staticArgs.value&&(i={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,CursorMoveCommands.simpleMove(e,e.getCursorStates(),i.direction,i.select,i.value,i.unit)),e.revealAllCursors(t.source,!0)}}e.CursorLeft=registerEditorCommand(new s({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=registerEditorCommand(new s({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1039}})),e.CursorRight=registerEditorCommand(new s({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=registerEditorCommand(new s({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1041}})),e.CursorUp=registerEditorCommand(new s({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=registerEditorCommand(new s({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=registerEditorCommand(new s({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:11}})),e.CursorPageUpSelect=registerEditorCommand(new s({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1035}})),e.CursorDown=registerEditorCommand(new s({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=registerEditorCommand(new s({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=registerEditorCommand(new s({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:12}})),e.CursorPageDownSelect=registerEditorCommand(new s({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1036}})),e.CreateCursor=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let i;i=t.wholeLine?CursorMoveCommands.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):CursorMoveCommands.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);const o=e.getCursorStates();if(o.length>1){const n=i.modelState?i.modelState.position:null,r=i.viewState?i.viewState.position:null;for(let i=0,s=o.length;ir&&(n=r);const s=new Range$2(n,1,n,e.model.getLineMaxColumn(n));let a=0;if(i.at)switch(i.at){case RevealLine_.RawAtArgument.Top:a=3;break;case RevealLine_.RawAtArgument.Center:a=1;break;case RevealLine_.RawAtArgument.Bottom:a=4}const l=e.coordinatesConverter.convertModelRangeToViewRange(s);e.revealRange(t.source,!1,l,a,0)}}),e.SelectAll=new class extends EditorOrNativeTextInputCommand{constructor(){super(SelectAllCommand)}runDOMCommand(e){isFirefox$1&&(e.focus(),e.select()),e.ownerDocument.execCommand("selectAll")}runEditorCommand(e,t,i){const o=t._getViewModel();o&&this.runCoreEditorCommand(o,i)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates("keyboard",3,[CursorMoveCommands.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(e,t){t.selection&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[CursorState$1.fromModelSelection(t.selection)]))}})}(CoreNavigationCommands||(CoreNavigationCommands={}));const columnSelectionCondition=ContextKeyExpr.and(EditorContextKeys.textInputFocus,EditorContextKeys.columnSelection);function registerColumnSelection(e,t){KeybindingsRegistry.registerKeybindingRule({id:e,primary:t,when:columnSelectionCondition,weight:CORE_WEIGHT+1})}function registerCommand$2(e){return e.register(),e}var CoreEditingCommands;registerColumnSelection(CoreNavigationCommands.CursorColumnSelectLeft.id,1039),registerColumnSelection(CoreNavigationCommands.CursorColumnSelectRight.id,1041),registerColumnSelection(CoreNavigationCommands.CursorColumnSelectUp.id,1040),registerColumnSelection(CoreNavigationCommands.CursorColumnSelectPageUp.id,1035),registerColumnSelection(CoreNavigationCommands.CursorColumnSelectDown.id,1042),registerColumnSelection(CoreNavigationCommands.CursorColumnSelectPageDown.id,1036),function(e){class t extends EditorCommand{runEditorCommand(e,t,i){const o=t._getViewModel();o&&this.runCoreEditingCommand(t,o,i||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=registerEditorCommand(new class extends t{constructor(){super({id:"lineBreakInsert",precondition:EditorContextKeys.writable,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,EnterOperation.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection)))}}),e.Outdent=registerEditorCommand(new class extends t{constructor(){super({id:"outdent",precondition:EditorContextKeys.writable,kbOpts:{weight:CORE_WEIGHT,kbExpr:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,EditorContextKeys.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,TypeOperations.outdent(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.Tab=registerEditorCommand(new class extends t{constructor(){super({id:"tab",precondition:EditorContextKeys.writable,kbOpts:{weight:CORE_WEIGHT,kbExpr:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,EditorContextKeys.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,TypeOperations.tab(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.DeleteLeft=registerEditorCommand(new class extends t{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,i){const[o,n]=DeleteOperations.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection),t.getCursorAutoClosedCharacters());o&&e.pushUndoStop(),e.executeCommands(this.id,n),t.setPrevEditOperationType(2)}}),e.DeleteRight=registerEditorCommand(new class extends t{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,i){const[o,n]=DeleteOperations.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection));o&&e.pushUndoStop(),e.executeCommands(this.id,n),t.setPrevEditOperationType(3)}}),e.Undo=new class extends EditorOrNativeTextInputCommand{constructor(){super(UndoCommand)}runDOMCommand(e){e.ownerDocument.execCommand("undo")}runEditorCommand(e,t,i){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().undo()}},e.Redo=new class extends EditorOrNativeTextInputCommand{constructor(){super(RedoCommand)}runDOMCommand(e){e.ownerDocument.execCommand("redo")}runEditorCommand(e,t,i){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().redo()}}}(CoreEditingCommands||(CoreEditingCommands={}));class EditorHandlerCommand extends Command{constructor(e,t,i){super({id:e,precondition:void 0,metadata:i}),this._handlerId=t}runCommand(e,t){const i=e.get(ICodeEditorService).getFocusedCodeEditor();i&&i.trigger("keyboard",this._handlerId,t)}}function registerOverwritableCommand(e,t){registerCommand$2(new EditorHandlerCommand("default:"+e,e)),registerCommand$2(new EditorHandlerCommand(e,e,t))}registerOverwritableCommand("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),registerOverwritableCommand("replacePreviousChar"),registerOverwritableCommand("compositionType"),registerOverwritableCommand("compositionStart"),registerOverwritableCommand("compositionEnd"),registerOverwritableCommand("paste"),registerOverwritableCommand("cut");class ViewController{constructor(e,t,i,o){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=o}paste(e,t,i,o){this.commandDelegate.paste(e,t,i,o)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,o){this.commandDelegate.compositionType(e,t,i,o)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){CoreNavigationCommands.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):2===e.mouseDownCount?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey||o?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){CoreNavigationCommands.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){CoreNavigationCommands.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,i){e=this._validateViewColumn(e),CoreNavigationCommands.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),CoreNavigationCommands.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){CoreNavigationCommands.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){CoreNavigationCommands.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){CoreNavigationCommands.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class RenderedLinesCollection{constructor(e){this._lineFactory=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new BugIndicatingError("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(0===this.getCount())return null;const i=this.getStartLineNumber(),o=this.getEndLineNumber();if(to)return null;let n=0,r=0;for(let s=i;s<=o;s++){const i=s-this._rendLineNumberStart;e<=s&&s<=t&&(0===r?(n=i,r=1):r++)}if(e=o&&s<=n&&(this._lines[s-this._rendLineNumberStart].onContentChanged(),r=!0);return r}onLinesInserted(e,t){if(0===this.getCount())return null;const i=t-e+1,o=this.getStartLineNumber(),n=this.getEndLineNumber();if(e<=o)return this._rendLineNumberStart+=i,null;if(e>n)return null;if(i+e>n){return this._lines.splice(e-this._rendLineNumberStart,n-e+1)}const r=[];for(let d=0;di)continue;const s=Math.max(t,r.fromLineNumber),a=Math.min(i,r.toLineNumber);for(let e=s;e<=a;e++){const t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),o=!0}}return o}}class VisibleLinesCollection{constructor(e){this._lineFactory=e,this.domNode=this._createDomNode(),this._linesCollection=new RenderedLinesCollection(this._lineFactory)}_createDomNode(){const e=createFastDomNode(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(146)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let i=0,o=t.length;ie})}constructor(e,t,i){this._domNode=e,this._lineFactory=t,this._viewportData=i}render(e,t,i,o){const n={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(n.rendLineNumberStart+n.linesLength-1t){const e=t,r=Math.min(i,n.rendLineNumberStart-1);e<=r&&(this._insertLinesBefore(n,e,r,o,t),n.linesLength+=r-e+1)}else if(n.rendLineNumberStart0&&(this._removeLinesBefore(n,e),n.linesLength-=e)}if(n.rendLineNumberStart=t,n.rendLineNumberStart+n.linesLength-1i){const e=Math.max(0,i-n.rendLineNumberStart+1),t=n.linesLength-1-e+1;t>0&&(this._removeLinesAfter(n,t),n.linesLength-=t)}return this._finishRendering(n,!1,o),n}_renderUntouchedLines(e,t,i,o,n){const r=e.rendLineNumberStart,s=e.lines;for(let a=t;a<=i;a++){const e=r+a;s[a].layoutLine(e,o[e-n],this._viewportData.lineHeight)}}_insertLinesBefore(e,t,i,o,n){const r=[];let s=0;for(let a=t;a<=i;a++)r[s++]=this._lineFactory.createLine();e.lines=r.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i=0;s--){const t=e.lines[s];o[s]&&(t.setDomNode(r),r=r.previousSibling)}}_finishRenderingInvalidLines(e,t,i){const o=document.createElement("div");ViewLayerRenderer._ttPolicy&&(t=ViewLayerRenderer._ttPolicy.createHTML(t)),o.innerHTML=t;for(let n=0;nnew ViewOverlayLine(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const t=this._context.configuration.options.get(50);applyFontInfo(this.domNode,t),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ee.shouldRender());for(let i=0,o=t.length;i'),n.appendString(r),n.appendString(""),!0)}layoutLine(e,t,i){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(i))}}class ContentViewOverlays extends ViewOverlays{constructor(e){super(e);const t=this._context.configuration.options.get(146);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const t=this._context.configuration.options.get(146);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class MarginViewOverlays extends ViewOverlays{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),applyFontInfo(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;applyFontInfo(this.domNode,t.get(50));const i=t.get(146);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class ViewUserInputEvents{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){this.onKeyDown?.(e)}emitKeyUp(e){this.onKeyUp?.(e)}emitContextMenu(e){this.onContextMenu?.(this._convertViewToModelMouseEvent(e))}emitMouseMove(e){this.onMouseMove?.(this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){this.onMouseLeave?.(this._convertViewToModelMouseEvent(e))}emitMouseDown(e){this.onMouseDown?.(this._convertViewToModelMouseEvent(e))}emitMouseUp(e){this.onMouseUp?.(this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){this.onMouseDrag?.(this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){this.onMouseDrop?.(this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){this.onMouseDropCanceled?.()}emitMouseWheel(e){this.onMouseWheel?.(e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return ViewUserInputEvents.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const i={...e};return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),5!==i.type&&8!==i.type||(i.detail=this.convertViewToModelViewZoneData(i.detail,t)),i}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new Position$1(e.afterLineNumber,1)).lineNumber}}}class BlockDecorations extends ViewPart{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=createFastDomNode(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const t=this._context.configuration.options.get(146),i=t.contentWidth-t.verticalScrollbarWidth;this.contentWidth!==i&&(this.contentWidth=i,e=!0);const o=t.contentLeft;return this.contentLeft!==o&&(this.contentLeft=o,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){let t=0;const i=e.getDecorationsInViewport();for(const o of i){if(!o.options.blockClassName)continue;let i,n,r=this.blocks[t];r||(r=this.blocks[t]=createFastDomNode(document.createElement("div")),this.domNode.appendChild(r)),o.options.blockIsAfterEnd?(i=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!1),n=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0)):(i=e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!0),n=o.range.isEmpty()&&!o.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0));const[s,a,l,c]=o.options.blockPadding??[0,0,0,0];r.setClassName("blockDecorations-block "+o.options.blockClassName),r.setLeft(this.contentLeft-c),r.setWidth(this.contentWidth+c+a),r.setTop(i-e.scrollTop-s),r.setHeight(n-i+s+l),t++}for(let o=t;o0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,o){const n=e.top,r=n,s=e.top+e.height,a=n-i,l=r>=i,c=s,d=o.viewportHeight-s>=i;let u=e.left;return u+t>o.scrollLeft+o.viewportWidth&&(u=o.scrollLeft+o.viewportWidth-t),ur){const e=a-(r-o);a-=e,i-=e}if(a=22,m=d+i<=u.height-22;return this._fixedOverflowWidgets?{fitsAbove:g,aboveTop:Math.max(c,22),fitsBelow:m,belowTop:d,left:p}:{fitsAbove:g,aboveTop:n,fitsBelow:m,belowTop:r,left:h}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new Coordinate(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){return{primary:t(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:t(this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function t(t,i,o){if(!t)return null;const n=e.visibleRangeForPosition(t);if(!n)return null;const r=1===t.column&&3===i?0:n.left,s=e.getVerticalOffsetForLineNumber(t.lineNumber)-e.scrollTop;return new AnchorCoordinate(s,r,o)}}_reduceAnchorCoordinates(e,t,i){if(!t)return e;const o=this._context.configuration.options.get(50);let n=t.left;return n=ne.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData||"offViewport"===this._renderData.kind)return this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,"offViewport"===this._renderData?.kind&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),void("function"==typeof this._actual.afterRender&&safeInvoke(this._actual.afterRender,this._actual,null));this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),"function"==typeof this._actual.afterRender&&safeInvoke(this._actual.afterRender,this._actual,this._renderData.position)}}class PositionPair{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class Coordinate{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class AnchorCoordinate{constructor(e,t,i){this.top=e,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function safeInvoke(e,t,...i){try{return e.call(t,...i)}catch{return null}}class AbstractLineHighlightOverlay extends DynamicViewOverlay{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(146);this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Selection$1(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const n of this._selections)t.add(n.positionLineNumber);const i=Array.from(t);i.sort((e,t)=>e-t),equals$2(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,e=!0);const o=this._selections.every(e=>e.isEmpty());return this._selectionIsEmpty!==o&&(this._selectionIsEmpty=o,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=e.isFocused,!0)}prepareRender(e){if(!this._shouldRenderThis())return void(this._renderData=null);const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,o=[];for(let r=t;r<=i;r++){o[r-t]=""}if(this._wordWrap){const n=this._renderOne(e,!1);for(const e of this._cursorLineNumbers){const r=this._context.viewModel.coordinatesConverter,s=r.convertViewPositionToModelPosition(new Position$1(e,1)).lineNumber,a=r.convertModelPositionToViewPosition(new Position$1(s,1)).lineNumber,l=r.convertModelPositionToViewPosition(new Position$1(s,this._context.viewModel.model.getLineMaxColumn(s))).lineNumber,c=Math.max(a,t),d=Math.min(l,i);for(let e=c;e<=d;e++){o[e-t]=n}}}const n=this._renderOne(e,!0);for(const r of this._cursorLineNumbers){if(ri)continue;o[r-t]=n}this._renderData=o}render(e,t){if(!this._renderData)return"";const i=t-e;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class CurrentLineHighlightOverlay extends AbstractLineHighlightOverlay{_renderOne(e,t){return`
    `}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class CurrentLineMarginHighlightOverlay extends AbstractLineHighlightOverlay{_renderOne(e,t){return`
    `}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}registerThemingParticipant((e,t)=>{const i=e.getColor(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()||e.defines(editorLineHighlightBorder)){const i=e.getColor(editorLineHighlightBorder);i&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${i}; }`),isHighContrast(e.type)&&(t.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}});class DecorationsOverlay extends DynamicViewOverlay{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let i=[],o=0;for(let a=0,l=t.length;a{if(e.options.zIndext.options.zIndex)return 1;const i=e.options.className,o=t.options.className;return io?1:Range$2.compareRangesUsingStarts(e.range,t.range)});const n=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,s=[];for(let a=n;a<=r;a++){s[a-n]=""}this._renderWholeLineDecorations(e,i,s),this._renderNormalDecorations(e,i,s),this._renderResult=s}_renderWholeLineDecorations(e,t,i){const o=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber;for(let r=0,s=t.length;r',a=Math.max(e.range.startLineNumber,o),l=Math.min(e.range.endLineNumber,n);for(let t=a;t<=l;t++){i[t-o]+=s}}}_renderNormalDecorations(e,t,i){const o=e.visibleRange.startLineNumber;let n=null,r=!1,s=null,a=!1;for(let l=0,c=t.length;l';s[t]+=c}}}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class EditorScrollbar extends ViewPart{constructor(e,t,i,o){super(e);const n=this._context.configuration.options,r=n.get(104),s=n.get(75),a=n.get(40),l=n.get(107),c={listenOnDomNode:i.domNode,className:"editor-scrollable "+getThemeTypeSelector(e.theme.type),useShadows:!1,lazyRender:!0,vertical:r.vertical,horizontal:r.horizontal,verticalHasArrows:r.verticalHasArrows,horizontalHasArrows:r.horizontalHasArrows,verticalScrollbarSize:r.verticalScrollbarSize,verticalSliderSize:r.verticalSliderSize,horizontalScrollbarSize:r.horizontalScrollbarSize,horizontalSliderSize:r.horizontalSliderSize,handleMouseWheel:r.handleMouseWheel,alwaysConsumeMouseWheel:r.alwaysConsumeMouseWheel,arrowSize:r.arrowSize,mouseWheelScrollSensitivity:s,fastScrollSensitivity:a,scrollPredominantAxis:l,scrollByPage:r.scrollByPage};this.scrollbar=this._register(new SmoothScrollableElement(t.domNode,c,this._context.viewLayout.getScrollable())),PartFingerprints.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=createFastDomNode(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const d=(e,t,i)=>{const o={};{const t=e.scrollTop;t&&(o.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(i){const t=e.scrollLeft;t&&(o.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(o,1)};this._register(addDisposableListener(i.domNode,"scroll",e=>d(i.domNode,0,!0))),this._register(addDisposableListener(t.domNode,"scroll",e=>d(t.domNode,0,!1))),this._register(addDisposableListener(o.domNode,"scroll",e=>d(o.domNode,0,!1))),this._register(addDisposableListener(this.scrollbarDomNode.domNode,"scroll",e=>d(this.scrollbarDomNode.domNode,0,!1)))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(146);this.scrollbarDomNode.setLeft(t.contentLeft);"right"===e.get(73).side?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(104)||e.hasChanged(75)||e.hasChanged(40)){const e=this._context.configuration.options,t=e.get(104),i=e.get(75),o=e.get(40),n=e.get(107),r={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:i,fastScrollSensitivity:o,scrollPredominantAxis:n};this.scrollbar.updateOptions(r)}return e.hasChanged(146)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+getThemeTypeSelector(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}class DecorationToRender{constructor(e,t,i,o,n){this.startLineNumber=e,this.endLineNumber=t,this.className=i,this.tooltip=o,this._decorationToRenderBrand=void 0,this.zIndex=n??0}}class LineDecorationToRender{constructor(e,t,i){this.className=e,this.zIndex=t,this.tooltip=i}}class VisibleLineDecorationsToRender{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class DedupOverlay extends DynamicViewOverlay{_render(e,t,i){const o=[];for(let s=e;s<=t;s++){o[s-e]=new VisibleLineDecorationsToRender}if(0===i.length)return o;i.sort((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.classNameo)continue;const a=Math.max(r,i),l=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$1(a,0)),c=this._context.viewModel.glyphLanes.getLanesAtLine(l.lineNumber).indexOf(n.preference.lane);t.push(new WidgetBasedGlyphRenderRequest(a,c,n.preference.zIndex,n))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort((e,t)=>e.lineNumber===t.lineNumber?e.laneIndex===t.laneIndex?e.zIndex===t.zIndex?t.type===e.type?0===e.type&&0===t.type?e.className0;){const e=t.peek();if(!e)break;const o=t.takeWhile(t=>t.lineNumber===e.lineNumber&&t.laneIndex===e.laneIndex);if(!o||0===o.length)break;const n=o[0];if(0===n.type){const e=[];for(const t of o){if(t.zIndex!==n.zIndex||t.type!==n.type)break;0!==e.length&&e[e.length-1]===t.className||e.push(t.className)}i.push(n.accept(e.join(" ")))}else n.widget.renderInfo={lineNumber:n.lineNumber,laneIndex:n.laneIndex}}this._decorationGlyphsToRender=i}render(e){if(!this._glyphMargin){for(const e of Object.values(this._widgets))e.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const e=this._managedDomNodes.pop();e?.domNode.remove()}return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const i of Object.values(this._widgets))if(i.renderInfo){const o=e.viewportData.relativeVerticalOffset[i.renderInfo.lineNumber-e.viewportData.startLineNumber],n=this._glyphMarginLeft+i.renderInfo.laneIndex*this._lineHeight;i.domNode.setDisplay("block"),i.domNode.setTop(o),i.domNode.setLeft(n),i.domNode.setWidth(t),i.domNode.setHeight(this._lineHeight)}else i.domNode.setDisplay("none");for(let i=0;ithis._decorationGlyphsToRender.length;){const e=this._managedDomNodes.pop();e?.domNode.remove()}}}class DecorationBasedGlyphRenderRequest{constructor(e,t,i,o){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.className=o,this.type=0}accept(e){return new DecorationBasedGlyph(this.lineNumber,this.laneIndex,e)}}class WidgetBasedGlyphRenderRequest{constructor(e,t,i,o){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.widget=o,this.type=1}}class DecorationBasedGlyph{constructor(e,t,i){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=i}}class IndentGuidesOverlay extends DynamicViewOverlay{constructor(e){super(),this._context=e,this._primaryPosition=null;const t=this._context.configuration.options,i=t.get(147),o=t.get(50);this._spaceWidth=o.spaceWidth,this._maxIndentLeft=-1===i.wrappingColumn?-1:i.wrappingColumn*o.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(147),o=t.get(50);return this._spaceWidth=o.spaceWidth,this._maxIndentLeft=-1===i.wrappingColumn?-1:i.wrappingColumn*o.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();return!this._primaryPosition?.equals(t)&&(this._primaryPosition=t,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){if(!this._bracketPairGuideOptions.indentation&&!1===this._bracketPairGuideOptions.bracketPairs)return void(this._renderResult=null);const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,o=e.scrollWidth,n=this._primaryPosition,r=this.getGuidesByLine(t,Math.min(i+1,this._context.viewModel.getLineCount()),n),s=[];for(let a=t;a<=i;a++){const i=a-t,n=r[i];let l="";const c=e.visibleRangeForPosition(new Position$1(a,1))?.left??0;for(const t of n){const i=-1===t.column?c+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new Position$1(a,t.column)).left;if(i>o||this._maxIndentLeft>0&&i>this._maxIndentLeft)break;const n=t.horizontalLine?t.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=t.horizontalLine?(e.visibleRangeForPosition(new Position$1(a,t.horizontalLine.endColumn))?.left??i+this._spaceWidth)-i:this._spaceWidth;l+=`
    `}s[i]=l}this._renderResult=s}getGuidesByLine(e,t,i){const o=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?HorizontalGuidesState.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?HorizontalGuidesState.EnabledForActive:HorizontalGuidesState.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,n=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let r=0,s=0,a=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&i){const o=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);r=o.startLineNumber,s=o.endLineNumber,a=o.indent}const{indentSize:l}=this._context.viewModel.model.getOptions(),c=[];for(let d=e;d<=t;d++){const t=new Array;c.push(t);const i=o?o[d-e]:[],u=new ArrayQueue(i),h=n?n[d-e]:0;for(let e=1;e<=h;e++){const o=(e-1)*l+1,n=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===i.length)&&r<=d&&d<=s&&e===a;t.push(...u.takeWhile(e=>e.visibleColumn!0)||[])}return c}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function transparentToUndefined(e){if(!e||!e.isTransparent())return e}registerThemingParticipant((e,t)=>{const i=[{bracketColor:editorBracketHighlightingForeground1,guideColor:editorBracketPairGuideBackground1,guideColorActive:editorBracketPairGuideActiveBackground1},{bracketColor:editorBracketHighlightingForeground2,guideColor:editorBracketPairGuideBackground2,guideColorActive:editorBracketPairGuideActiveBackground2},{bracketColor:editorBracketHighlightingForeground3,guideColor:editorBracketPairGuideBackground3,guideColorActive:editorBracketPairGuideActiveBackground3},{bracketColor:editorBracketHighlightingForeground4,guideColor:editorBracketPairGuideBackground4,guideColorActive:editorBracketPairGuideActiveBackground4},{bracketColor:editorBracketHighlightingForeground5,guideColor:editorBracketPairGuideBackground5,guideColorActive:editorBracketPairGuideActiveBackground5},{bracketColor:editorBracketHighlightingForeground6,guideColor:editorBracketPairGuideBackground6,guideColorActive:editorBracketPairGuideActiveBackground6}],o=new BracketPairGuidesClassNames,n=[{indentColor:editorIndentGuide1,indentColorActive:editorActiveIndentGuide1},{indentColor:editorIndentGuide2,indentColorActive:editorActiveIndentGuide2},{indentColor:editorIndentGuide3,indentColorActive:editorActiveIndentGuide3},{indentColor:editorIndentGuide4,indentColorActive:editorActiveIndentGuide4},{indentColor:editorIndentGuide5,indentColorActive:editorActiveIndentGuide5},{indentColor:editorIndentGuide6,indentColorActive:editorActiveIndentGuide6}],r=i.map(t=>{const i=e.getColor(t.bracketColor),o=e.getColor(t.guideColor),n=e.getColor(t.guideColorActive),r=transparentToUndefined(transparentToUndefined(o)??i?.transparent(.3)),s=transparentToUndefined(transparentToUndefined(n)??i);if(r&&s)return{guideColor:r,guideColorActive:s}}).filter(isDefined),s=n.map(t=>{const i=e.getColor(t.indentColor),o=e.getColor(t.indentColorActive),n=transparentToUndefined(i),r=transparentToUndefined(o);if(n&&r)return{indentColor:n,indentColorActive:r}}).filter(isDefined);if(r.length>0){for(let e=0;e<30;e++){const i=r[e%r.length];t.addRule(`.monaco-editor .${o.getInlineClassNameOfLevel(e).replace(/ /g,".")} { --guide-color: ${i.guideColor}; --guide-color-active: ${i.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.${o.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${o.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${o.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(s.length>0){for(let e=0;e<30;e++){const i=s[e%s.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${e} { --indent-color: ${i.indentColor}; --indent-color-active: ${i.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; }")}});class DomReadingContext{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class LastRenderedData{constructor(){this._currentVisibleRange=new Range$2(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class HorizontalRevealRangeRequest{constructor(e,t,i,o,n,r,s){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=o,this.startScrollTop=n,this.stopScrollTop=r,this.scrollType=s,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class HorizontalRevealSelectionsRequest{constructor(e,t,i,o,n){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=o,this.scrollType=n,this.type="selections";let r=t[0].startLineNumber,s=t[0].endLineNumber;for(let a=1,l=t.length;anew ViewLine(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,PartFingerprints.write(this.domNode,8),this.domNode.setClassName(`view-lines ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),applyFontInfo(this.domNode,n),this._maxLineWidth=0,this._asyncUpdateLineWidths=new RunOnceScheduler(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new RunOnceScheduler(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new LastRenderedData,this._horizontalRevealRequest=null,this._stickyScrollEnabled=o.get(116).enabled,this._maxNumberStickyLines=o.get(116).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(147)&&(this._maxLineWidth=0);const t=this._context.configuration.options,i=t.get(50),o=t.get(147);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=o.isViewportWrapping,this._revealHorizontalRightPadding=t.get(101),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(116).enabled,this._maxNumberStickyLines=t.get(116).maxLineCount,applyFontInfo(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(146)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new ViewLineOptions(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const e=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let t=e;t<=i;t++){this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions)}return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let o=!1;for(let n=t;n<=i;n++)o=this._visibleLines.getVisibleLine(n).onSelectionChanged()||o;return o}onDecorationsChanged(e){{const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++)this._visibleLines.getVisibleLine(i).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(-1===t)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new HorizontalRevealRangeRequest(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new HorizontalRevealSelectionsRequest(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const o=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,o),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopi)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const i=this._getViewLineDomNode(e);if(null===i)return null;const o=this._getLineNumberFor(i);if(-1===o)return null;if(o<1||o>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(o))return new Position$1(o,1);const n=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();if(or)return null;let s=this._visibleLines.getVisibleLine(o).getColumnOfNodeOffset(e,t);const a=this._context.viewModel.getLineMinColumn(o);return si)return-1;const o=new DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getVisibleLine(e).getWidth(o);return this._updateLineWidthsSlowIfDomDidLayout(o),n}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const i=e.endLineNumber,o=Range$2.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!o)return null;const n=[];let r=0;const s=new DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);let a=0;t&&(a=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$1(o.startLineNumber,1)).lineNumber);const l=this._visibleLines.getStartLineNumber(),c=this._visibleLines.getEndLineNumber();for(let d=o.startLineNumber;d<=o.endLineNumber;d++){if(dc)continue;const e=d===o.startLineNumber?o.startColumn:1,u=d!==o.endLineNumber,h=u?this._context.viewModel.getLineMaxColumn(d):o.endColumn,p=this._visibleLines.getVisibleLine(d).getVisibleRangesForRange(d,e,h,s);if(p){if(t&&dthis._visibleLines.getEndLineNumber())return null;const o=new DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,o);return this._updateLineWidthsSlowIfDomDidLayout(o),n}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new HorizontalPosition(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let o=1,n=!0;for(let r=t;r<=i;r++){const t=this._visibleLines.getVisibleLine(r);!e||t.getWidthIsFast()?o=Math.max(o,t.getWidth(null)):n=!1}return n&&1===t&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(o),n}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const i=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();for(let n=i;n<=o;n++){const i=this._visibleLines.getVisibleLine(n);if(i.needsMonospaceFontCheck()){const o=i.getWidth(null);o>t&&(t=o,e=n)}}if(-1!==e&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let n=i;n<=o;n++){this._visibleLines.getVisibleLine(n).onMonospaceAssumptionsInvalidated()}}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),isLinux&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++){if(this._visibleLines.getVisibleLine(i).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let e=n[0].startLineNumber,t=n[0].endLineNumber;for(let i=1,o=n.length;ia){if(!c)return-1;h=d}else if(5===r||6===r)if(6===r&&s<=d&&u<=l)h=s;else{const e=d-Math.max(5*this._lineHeight,.2*a),t=u-a;h=Math.max(t,e)}else if(1===r||2===r)if(2===r&&s<=d&&u<=l)h=s;else{const e=(d+u)/2;h=Math.max(0,e-a/2)}else h=this._computeMinimumScrolling(s,l,d,u,3===r,4===r);return h}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),i=this._context.configuration.options.get(146),o=t.left,n=o+t.width-i.verticalScrollbarWidth;let r=1073741824,s=0;if("range"===e.type){const t=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!t)return null;for(const e of t.ranges)r=Math.min(r,Math.round(e.left)),s=Math.max(s,Math.round(e.left+e.width))}else for(const a of e.selections){if(a.startLineNumber!==a.endLineNumber)return null;const e=this._visibleRangesForLineRange(a.startLineNumber,a.startColumn,a.endColumn);if(!e)return null;for(const t of e.ranges)r=Math.min(r,Math.round(t.left)),s=Math.max(s,Math.round(t.left+t.width))}if(e.minimalReveal||(r=Math.max(0,r-ViewLines.HORIZONTAL_EXTRA_PX),s+=this._revealHorizontalRightPadding),"selections"===e.type&&s-r>t.width)return null;return{scrollLeft:this._computeMinimumScrolling(o,n,r,s),maxHorizontalOffset:s}}_computeMinimumScrolling(e,t,i,o,n,r){n=!!n,r=!!r;const s=(t|=0)-(e|=0);return(o|=0)-(i|=0)t?Math.max(0,o-s):e:i}}class LinesDecorationsOverlay extends DedupOverlay{constructor(e){super(),this._context=e;const t=this._context.configuration.options.get(146);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options.get(146);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){const t=e.getDecorationsInViewport(),i=[];let o=0;for(let n=0,r=t.length;n',r=[];for(let s=t;s<=i;s++){const e=s-t,i=o[e].getDecorations();let a="";for(const t of i){let e='
    ';n[e]=s}this._renderResult=n}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}class RGBA8{static{this.Empty=new RGBA8(0,0,0,0)}constructor(e,t,i,o){this._rgba8Brand=void 0,this.r=RGBA8._clamp(e),this.g=RGBA8._clamp(t),this.b=RGBA8._clamp(i),this.a=RGBA8._clamp(o)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:0|e}}class MinimapTokensColorTracker extends Disposable{static{this._INSTANCE=null}static getInstance(){return this._INSTANCE||(this._INSTANCE=markAsSingleton(new MinimapTokensColorTracker)),this._INSTANCE}constructor(){super(),this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(TokenizationRegistry.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){const e=TokenizationRegistry.getColorMap();if(!e)return this._colors=[RGBA8.Empty],void(this._backgroundIsLight=!0);this._colors=[RGBA8.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}const allCharCodes=(()=>{const e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})(),getCharIndex=(e,t)=>(e-=32)<0||e>96?t<=2?(e+96)%96:95:e;class MinimapCharRenderer{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=MinimapCharRenderer.soften(e,.8),this.charDataLight=MinimapCharRenderer.soften(e,50/60)}static soften(e,t){const i=new Uint8ClampedArray(e.length);for(let o=0,n=e.length;oe.width||i+p>e.height)return void console.warn("bad render request outside image data");const g=c?this.charDataLight:this.charDataNormal,m=getCharIndex(o,l),f=4*e.width,v=s.r,b=s.g,_=s.b,y=n.r-v,C=n.g-b,w=n.b-_,x=Math.max(r,a),S=e.data;let k=m*u*h,E=i*f+4*t;for(let I=0;Ie.width||i+d>e.height)return void console.warn("bad render request outside image data");const u=4*e.width,h=n/255*.5,p=r.r,g=r.g,m=r.b,f=p+(o.r-p)*h,v=g+(o.g-g)*h,b=m+(o.b-m)*h,_=Math.max(n,s),y=e.data;let C=i*u+4*t;for(let w=0;w{const t=new Uint8ClampedArray(e.length/2);for(let i=0;i>1]=charTable[e[i]]<<4|15&charTable[e[i+1]];return t},prebakedMiniMaps={1:createSingleCallFunction(()=>decodeData("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:createSingleCallFunction(()=>decodeData("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class MinimapCharRendererFactory{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let i;return i=prebakedMiniMaps[e]?new MinimapCharRenderer(prebakedMiniMaps[e](),e):MinimapCharRendererFactory.createFromSampleData(MinimapCharRendererFactory.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i}static createSampleData(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",i.fillStyle="#ffffff",i.font=`bold 16px ${e}`,i.textBaseline="middle";let o=0;for(const n of allCharCodes)i.fillText(String.fromCharCode(n),o,8),o+=10;return i.getImageData(0,0,960,16)}static createFromSampleData(e,t){if(61440!==e.length)throw new Error("Unexpected source in MinimapCharRenderer");const i=MinimapCharRendererFactory._downsample(e,t);return new MinimapCharRenderer(i,t)}static _downsampleChar(e,t,i,o,n){const r=1*n,s=2*n;let a=o,l=0;for(let c=0;c0){const e=255/a;for(let t=0;tMinimapCharRendererFactory.create(this.fontScale,a.fontFamily)),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=MinimapOptions._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=MinimapOptions._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const i=e.getColor(minimapBackground);return i?new RGBA8(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(minimapForegroundOpacity);return t?RGBA8._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const i=e.getColor(editorForeground);return i?new RGBA8(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===e.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class MinimapLayout{constructor(e,t,i,o,n,r,s,a,l){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=o,this.sliderTop=n,this.sliderHeight=r,this.topPaddingLineCount=s,this.startLineNumber=a,this.endLineNumber=l}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),i=Math.min(this.endLineNumber,e.endLineNumber);return t>i?null:[t,i]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,i,o,n,r,s,a,l,c,d){const u=e.pixelRatio,h=e.minimapLineHeight,p=Math.floor(e.canvasInnerHeight/h),g=e.lineHeight;if(e.minimapHeightIsEditorHeight){let t=a*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(t+=Math.max(0,n-e.lineHeight-e.paddingBottom));const i=Math.max(1,Math.floor(n*n/t)),o=Math.max(0,e.minimapHeight-i),r=o/(c-n),d=l*r,u=o>0,h=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),p=Math.floor(e.paddingTop/e.lineHeight);return new MinimapLayout(l,c,u,r,d,i,p,1,Math.min(s,h))}let m;if(r&&i!==s){const e=i-t+1;m=Math.floor(e*h/u)}else{const e=n/g;m=Math.floor(e*h/u)}const f=Math.floor(e.paddingTop/g);let v,b=Math.floor(e.paddingBottom/g);if(e.scrollBeyondLastLine){const e=n/g;b=Math.max(b,e-1)}if(b>0){v=(f+s+b-n/g-1)*h/u}else v=Math.max(0,(f+s)*h/u-m);v=Math.min(e.minimapHeight-m,v);const _=v/(c-n),y=l*_;if(p>=f+s+b){return new MinimapLayout(l,c,v>0,_,y,m,f,1,s)}{let i,n;i=t>1?t+f:Math.max(1,l/g);let r=Math.max(1,Math.floor(i-y*u/h));rl&&(r=Math.min(r,d.startLineNumber),n=Math.max(n,d.topPaddingLineCount)),d.scrollTop=e.paddingTop?(t-r+n+v)*h/u:l/e.paddingTop*(n+v)*h/u,new MinimapLayout(l,c,!0,_,b,m,n,r,a)}}}class MinimapLine{static{this.INVALID=new MinimapLine(-1)}constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}class RenderData{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLines=new RenderedLinesCollection({createLine:()=>MinimapLine.INVALID}),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;const t=this._renderedLines._get().lines;for(let i=0,o=t.length;i1){for(let t=0,i=o-1;t0&&this.minimapLines[i-1]>=e;)i--;let o=this.modelLineToMinimapLine(t)-1;for(;o+1t)return null}return[i+1,o+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),o=this.modelLineToMinimapLine(t);return e!==t&&o===i&&(o===this.minimapLines.length?i>1&&i--:o++),[i,o]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let i=this.minimapLines.length,o=0;for(let n=this.minimapLines.length-1;n>=0&&!(this.minimapLines[n]=0&&!(this.minimapLines[i]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(o)}_recreateLineSampling(){this._minimapSelections=null;const e=Boolean(this._samplingState),[t,i]=MinimapSamplingState.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const o of i)switch(o.type){case"deleted":this._actual.onLinesDeleted(o.deleteFromLineNumber,o.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(o.insertFromLineNumber,o.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){const o=[];for(let n=0,r=t-e+1;n!e.options.minimap?.sectionHeaderStyle);if(this._samplingState){const e=[];for(const t of i){if(!t.options.minimap)continue;const i=t.range,o=this._samplingState.modelLineToMinimapLine(i.startLineNumber),n=this._samplingState.modelLineToMinimapLine(i.endLineNumber);e.push(new ViewModelDecoration(new Range$2(o,i.startColumn,n,i.endColumn),t.options))}return e}return i}getSectionHeaderDecorationsInViewport(e,t){const i=this.options.minimapLineHeight,o=this.options.sectionHeaderFontSize/i;return e=Math.floor(Math.max(1,e-o)),this._getMinimapDecorationsInViewport(e,t).filter(e=>!!e.options.minimap?.sectionHeaderStyle)}_getMinimapDecorationsInViewport(e,t){let i;if(this._samplingState){const o=this._samplingState.minimapLines[e-1],n=this._samplingState.minimapLines[t-1];i=new Range$2(o,1,n,this._context.viewModel.getLineMaxColumn(n))}else i=new Range$2(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(i)}getSectionHeaderText(e,t){const i=e.options.minimap?.sectionHeaderText;if(!i)return null;const o=this._sectionHeaderCache.get(i);if(o)return o;const n=t(i);return this._sectionHeaderCache.set(i,n),n}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new Range$2(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class InnerMinimap extends Disposable{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(minimapSelection),this._domNode=createFastDomNode(document.createElement("div")),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=createFastDomNode(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=createFastDomNode(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=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=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=createFastDomNode(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=addStandardDisposableListener(this._domNode.domNode,EventType$1.POINTER_DOWN,e=>{e.preventDefault();if(0===this._model.options.renderMinimap)return;if(!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===e.button&&this._lastRenderData){const t=getDomNodePagePosition(this._slider.domNode),i=t.top+t.height/2;this._startSliderDragging(e,i,this._lastRenderData.renderedLayout)}return}const t=this._model.options.minimapLineHeight,i=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY;let o=Math.floor(i/t)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;o=Math.min(o,this._model.getLineCount()),this._model.revealLineNumber(o)}),this._sliderPointerMoveMonitor=new GlobalPointerMoveMonitor,this._sliderPointerDownListener=addStandardDisposableListener(this._slider.domNode,EventType$1.POINTER_DOWN,e=>{e.preventDefault(),e.stopPropagation(),0===e.button&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=Gesture.addTarget(this._domNode.domNode),this._sliderTouchStartListener=addDisposableListener(this._domNode.domNode,EventType.Start,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))},{passive:!1}),this._sliderTouchMoveListener=addDisposableListener(this._domNode.domNode,EventType.Change,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)},{passive:!1}),this._sliderTouchEndListener=addStandardDisposableListener(this._domNode.domNode,EventType.End,e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,t,i){if(!(e.target&&e.target instanceof Element))return;const o=e.pageX;this._slider.toggleClassName("active",!0);const n=(e,n)=>{const r=getDomNodePagePosition(this._domNode.domNode),s=Math.min(Math.abs(n-o),Math.abs(n-r.left),Math.abs(n-r.left-r.width));if(isWindows&&s>POINTER_DRAG_RESET_DISTANCE)return void this._model.setScrollTop(i.scrollTop);const a=e-t;this._model.setScrollTop(i.getDesiredScrollTopFromDelta(a))};e.pageY!==t&&n(e.pageY,o),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>n(e.pageY,e.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}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 e=["minimap"];return"always"===this._model.options.showSlider?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new MinimapBuffers(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e,t)}onLinesDeleted(e,t){return this._lastRenderData?.onLinesDeleted(e,t),!0}onLinesInserted(e,t){return this._lastRenderData?.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(minimapSelection),this._renderDecorations=!0,!0}onTokensChanged(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(0===this._model.options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const t=MinimapLayout.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?"block":"none"),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(Range$2.compareRangesUsingStarts);const i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0));const{canvasInnerWidth:o,canvasInnerHeight:n}=this._model.options,r=this._model.options.minimapLineHeight,s=this._model.options.minimapCharWidth,a=this._model.getOptions().tabSize,l=this._decorationsCanvas.domNode.getContext("2d");l.clearRect(0,0,o,n);const c=new ContiguousLineMap(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(l,t,c,e,r),this._renderDecorationsLineHighlights(l,i,c,e,r);const d=new ContiguousLineMap(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(l,t,d,e,r,a,s,o),this._renderDecorationsHighlights(l,i,d,e,r,a,s,o),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,i,o,n){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let r=0,s=0;for(const a of t){const t=o.intersectWithViewport(a);if(!t)continue;const[l,c]=t;for(let e=l;e<=c;e++)i.set(e,!0);const d=o.getYForLineNumber(l,n),u=o.getYForLineNumber(c,n);s>=d||(s>r&&e.fillRect(MINIMAP_GUTTER_WIDTH,r,e.canvas.width,s-r),r=d),s=u}s>r&&e.fillRect(MINIMAP_GUTTER_WIDTH,r,e.canvas.width,s-r)}_renderDecorationsLineHighlights(e,t,i,o,n){const r=new Map;for(let s=t.length-1;s>=0;s--){const a=t[s],l=a.options.minimap;if(!l||1!==l.position)continue;const c=o.intersectWithViewport(a.range);if(!c)continue;const[d,u]=c,h=l.getColor(this._theme.value);if(!h||h.isTransparent())continue;let p=r.get(h.toString());p||(p=h.transparent(.5).toString(),r.set(h.toString(),p)),e.fillStyle=p;for(let t=d;t<=u;t++){if(i.has(t))continue;i.set(t,!0);const r=o.getYForLineNumber(d,n);e.fillRect(MINIMAP_GUTTER_WIDTH,r,e.canvas.width,n)}}}_renderSelectionsHighlights(e,t,i,o,n,r,s,a){if(this._selectionColor&&!this._selectionColor.isTransparent())for(const l of t){const t=o.intersectWithViewport(l);if(!t)continue;const[c,d]=t;for(let u=c;u<=d;u++)this.renderDecorationOnLine(e,i,l,this._selectionColor,o,u,n,n,r,s,a)}}_renderDecorationsHighlights(e,t,i,o,n,r,s,a){for(const l of t){const t=l.options.minimap;if(!t)continue;const c=o.intersectWithViewport(l.range);if(!c)continue;const[d,u]=c,h=t.getColor(this._theme.value);if(h&&!h.isTransparent())for(let p=d;p<=u;p++)switch(t.position){case 1:this.renderDecorationOnLine(e,i,l.range,h,o,p,n,n,r,s,a);continue;case 2:{const t=o.getYForLineNumber(p,n),i=2;this.renderDecoration(e,h,i,t,GUTTER_DECORATION_WIDTH,n);continue}}}}renderDecorationOnLine(e,t,i,o,n,r,s,a,l,c,d){const u=n.getYForLineNumber(r,a);if(u+s<0||u>this._model.options.canvasInnerHeight)return;const{startLineNumber:h,endLineNumber:p}=i,g=h===r?i.startColumn:1,m=p===r?i.endColumn:this._model.getLineMaxColumn(r),f=this.getXOffsetForPosition(t,r,g,l,c,d),v=this.getXOffsetForPosition(t,r,m,l,c,d);this.renderDecoration(e,o,f,u,v-f,s)}getXOffsetForPosition(e,t,i,o,n,r){if(1===i)return MINIMAP_GUTTER_WIDTH;if((i-1)*n>=r)return r;let s=e.get(t);if(!s){const i=this._model.getLineContent(t);s=[MINIMAP_GUTTER_WIDTH];let a=MINIMAP_GUTTER_WIDTH;for(let e=1;e=r){s[e]=r;break}s[e]=l,a=l}e.set(t,s)}return i-1e.range.startLineNumber-t.range.startLineNumber);const p=InnerMinimap._fitSectionHeader.bind(null,u,r-MINIMAP_GUTTER_WIDTH);for(const g of h){const o=e.getYForLineNumber(g.range.startLineNumber,t)+i,s=o-i,l=s+2,d=this._model.getSectionHeaderText(g,p);InnerMinimap._renderSectionLabel(u,d,2===g.options.minimap?.sectionHeaderStyle,a,c,r,s,n,o,l)}}static _fitSectionHeader(e,t,i){if(!i)return i;const o=e.measureText(i).width,n=e.measureText("…").width;if(o<=t||o<=n)return i;const r=i.length,s=o/i.length,a=Math.floor((t-n)/s)-1;let l=Math.ceil(a/2);for(;l>0&&/\s/.test(i[l-1]);)--l;return i.substring(0,l)+"…"+i.substring(r-(a-l))}static _renderSectionLabel(e,t,i,o,n,r,s,a,l,c){t&&(e.fillStyle=o,e.fillRect(0,s,r,a),e.fillStyle=n,e.fillText(t,MINIMAP_GUTTER_WIDTH,l)),i&&(e.beginPath(),e.moveTo(0,c),e.lineTo(r,c),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,i=e.endLineNumber,o=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const t=this._lastRenderData._get();return new RenderData(e,t.imageData,t.lines)}const n=this._getBuffer();if(!n)return null;const[r,s,a]=InnerMinimap._renderUntouchedLines(n,e.topPaddingLineCount,t,i,o,this._lastRenderData),l=this._model.getMinimapLinesRenderingData(t,i,a),c=this._model.getOptions().tabSize,d=this._model.options.defaultBackgroundColor,u=this._model.options.backgroundColor,h=this._model.options.foregroundAlpha,p=this._model.tokensColorTracker,g=p.backgroundIsLight(),m=this._model.options.renderMinimap,f=this._model.options.charRenderer(),v=this._model.options.fontScale,b=this._model.options.minimapCharWidth,_=(1===m?2:3)*v,y=o>_?Math.floor((o-_)/2):0,C=u.a/255,w=new RGBA8(Math.round((u.r-d.r)*C+d.r),Math.round((u.g-d.g)*C+d.g),Math.round((u.b-d.b)*C+d.b),255);let x=e.topPaddingLineCount*o;const S=[];for(let I=0,T=i-t+1;I=0&&tv)return;const s=m.charCodeAt(y);if(9===s){const e=u-(y+C)%u;C+=e-1,_+=e*r}else if(32===s)_+=r;else{const u=isFullWidthCharacter(s)?2:1;for(let h=0;hv)return}}}}}class ContiguousLineMap{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let o=0,n=this._endLineNumber-this._startLineNumber+1;othis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}class ViewOverlayWidgets extends ViewPart{constructor(e,t){super(e),this._viewDomNode=t;const i=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=createFastDomNode(document.createElement("div")),PartFingerprints.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=createFastDomNode(document.createElement("div")),PartFingerprints.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){const t=createFastDomNode(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const i=this._widgets[e.getId()],o=t?t.preference:null,n=t?.stackOridinal;return i.preference===o&&i.stack===n?(this._updateMaxMinWidth(),!1):(i.preference=o,i.stack=n,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let e=0;const t=Object.keys(this._widgets);for(let i=0,o=t.length;i0);t.sort((e,t)=>(this._widgets[e].stack||0)-(this._widgets[t].stack||0));for(let o=0,n=t.length;o=3){const t=Math.floor(o/3),i=Math.floor(o/3),n=o-t-i,r=e+t;return[[0,e,r,e,e+t+n,e,r,e],[0,t,n,t+n,i,t+n+i,n+i,t+n+i]]}if(2===i){const t=Math.floor(o/2),i=o-t;return[[0,e,e,e,e+t,e,e,e],[0,t,t,t,i,t+i,t+i,t+i]]}return[[0,e,e,e,e,e,e,e],[0,o,o,o,o,o,o,o]]}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&Color$1.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class DecorationsOverviewRuler extends ViewPart{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=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=TokenizationRegistry.onDidChange(e=>{e.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new Position$1(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new Settings(this._context.configuration,this._context.theme);return(!this._settings||!this._settings.equals(t))&&(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;t1&&(o=0===t?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:o})}return this._cursorPositions.sort((e,t)=>Position$1.compare(e.position,t.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return!!e.affectsOverviewRuler&&this._markRenderingIsMaybeNeeded()}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return!!e.scrollHeightChanged&&this._markRenderingIsNeeded()}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(0===this._settings.overviewRulerLanes)return this._domNode.setBackgroundColor(e?Color$1.Format.CSS.formatHexA(e):""),void this._domNode.setDisplay("none");const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(OverviewRulerDecorationsGroup.compareByRenderingProps),1!==this._actualShouldRender||OverviewRulerDecorationsGroup.equalsArr(this._renderedDecorations,t)||(this._actualShouldRender=2),1!==this._actualShouldRender||equals$2(this._renderedCursorPositions,this._cursorPositions,(e,t)=>e.position.lineNumber===t.position.lineNumber&&e.color===t.color)||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const i=this._settings.canvasWidth,o=this._settings.canvasHeight,n=this._settings.lineHeight,r=this._context.viewLayout,s=o/this._context.viewLayout.getScrollHeight(),a=6*this._settings.pixelRatio|0,l=a/2|0,c=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(c.fillStyle=Color$1.Format.CSS.formatHexA(e),c.fillRect(0,0,i,o)):(c.clearRect(0,0,i,o),c.fillStyle=Color$1.Format.CSS.formatHexA(e),c.fillRect(0,0,i,o)):c.clearRect(0,0,i,o);const d=this._settings.x,u=this._settings.w;for(const h of t){const e=h.color,t=h.data;c.fillStyle=e;let i=0,p=0,g=0;for(let h=0,m=t.length/3;ho&&(e=o-l),v=e-l,b=e+l}v>g+1||e!==i?(0!==h&&c.fillRect(d[i],p,u[i],g-p),i=e,p=v,g=b):b>g&&(g=b)}c.fillRect(d[i],p,u[i],g-p)}if(!this._settings.hideCursor){const e=2*this._settings.pixelRatio|0,t=e/2|0,i=this._settings.x[7],n=this._settings.w[7];let a=-100,l=-100,d=null;for(let u=0,h=this._cursorPositions.length;uo&&(g=o-t);const m=g-t,f=m+e;m>l+1||h!==d?(0!==u&&d&&c.fillRect(i,a,n,l-a),a=m,l=f):f>l&&(l=f),d=h,c.fillStyle=h}d&&c.fillRect(i,a,n,l-a)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(c.beginPath(),c.lineWidth=1,c.strokeStyle=this._settings.borderColor,c.moveTo(0,0),c.lineTo(0,o),c.moveTo(1,0),c.lineTo(i,0),c.stroke())}}class ColorZone{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=0|e,this.to=0|t,this.colorId=0|i}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class OverviewRulerZone{constructor(e,t,i,o){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=o,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colori&&(h=i-p);const g=a.color;let m=this._color2Id[g];m||(m=++this._lastAssignedId,this._color2Id[g]=m,this._id2Color[m]=g);const f=new ColorZone(h-p,h+p,m);a.setColorZone(f),r.push(f)}return this._colorZonesInvalid=!1,r.sort(ColorZone.compare),r}}class OverviewRuler extends ViewEventHandler{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;this._domNode=createFastDomNode(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new OverviewZoneManager(e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(67)),this._zoneManager.setPixelRatio(i.get(144)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(144)&&(this._zoneManager.setPixelRatio(t.get(144)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),o=this._zoneManager.getId2Color(),n=this._domNode.domNode.getContext("2d");return n.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(n,i,o,e),!0}_renderOneLane(e,t,i,o){let n=0,r=0,s=0;for(const a of t){const t=a.colorId,l=a.from,c=a.to;t!==n?(e.fillRect(0,r,o,s-r),n=t,e.fillStyle=i[n],r=l,s=c):s>=l?s=Math.max(s,c):(e.fillRect(0,r,o,s-r),r=l,s=c)}e.fillRect(0,r,o,s-r)}}class Rulers extends ViewPart{constructor(e){super(e),this.domNode=createFastDomNode(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const e=createFastDomNode(document.createElement("div"));e.setClassName("view-ruler"),e.setWidth(o),this.domNode.appendChild(e),this._renderedRulers.push(e),n--}return}let i=e-t;for(;i>0;){const e=this._renderedRulers.pop();this.domNode.removeChild(e),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t0;return this._shouldShow!==e&&(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){const e=this._context.configuration.options.get(146);0===e.minimap.renderMinimap||e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){const t=this._context.configuration.options.get(104);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class HorizontalRangeWithStyle{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class LineVisibleRangesWithStyle{constructor(e,t){this.lineNumber=e,this.ranges=t}}function toStyledRange(e){return new HorizontalRangeWithStyle(e)}function toStyled(e){return new LineVisibleRangesWithStyle(e.lineNumber,e.ranges.map(toStyledRange))}class SelectionsOverlay extends 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(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;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(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t1)return!0}return!1}_enrichVisibleRangesWithStyle(e,t,i){const o=this._typicalHalfwidthCharacterWidth/4;let n=null,r=null;if(i&&i.length>0&&t.length>0){const o=t[0].lineNumber;if(o===e.startLineNumber)for(let e=0;!n&&e=0;e--)i[e].lineNumber===s&&(r=i[e].ranges[0]);n&&!n.startStyle&&(n=null),r&&!r.startStyle&&(r=null)}for(let s=0,a=t.length;s0){const e=t[s-1].ranges[0].left,n=t[s-1].ranges[0].left+t[s-1].ranges[0].width;abs$1(i-e)e&&(c.top=1),abs$1(l-n)'}_actualRenderOneSelection(e,t,i,o){if(0===o.length)return;const n=!!o[0].ranges[0].startStyle,r=o[0].lineNumber,s=o[o.length-1].lineNumber;for(let a=0,l=o.length;a1,s)}this._previousFrameVisibleRangesWithStyle=n,this._renderResult=t.map(([e,t])=>e+t)}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function abs$1(e){return e<0?-e:e}registerThemingParticipant((e,t)=>{const i=e.getColor(editorSelectionForeground);i&&!i.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${i}; }`)});class ViewCursorRenderData{constructor(e,t,i,o,n,r,s){this.top=e,this.left=t,this.paddingLeft=i,this.width=o,this.height=n,this.textContent=r,this.textContentClassName=s}}var CursorPlurality;!function(e){e[e.Single=0]="Single",e[e.MultiPrimary=1]="MultiPrimary",e[e.MultiSecondary=2]="MultiSecondary"}(CursorPlurality||(CursorPlurality={}));class ViewCursor{constructor(e,t){this._context=e;const i=this._context.configuration.options,o=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(67),this._typicalHalfwidthCharacterWidth=o.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=createFastDomNode(document.createElement("div")),this._domNode.setClassName(`cursor ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),applyFontInfo(this._domNode,o),this._domNode.setDisplay("none"),this._position=new Position$1(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case CursorPlurality.Single:this._pluralityClass="";break;case CursorPlurality.MultiPrimary:this._pluralityClass="cursor-primary";break;case CursorPlurality.MultiSecondary:this._pluralityClass="cursor-secondary"}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),applyFontInfo(this._domNode,i),!0}onCursorPositionChanged(e,t){return this._domNode.domNode.style.transitionProperty=t?"none":"",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[o,n]=getCharContainingOffset(i,t-1);return[new Position$1(e,o+1),i.substring(o,n)]}_prepareRender(e){let t="",i="";const[o,n]=this._getGraphemeAwarePosition();if(this._cursorStyle===TextEditorCursorStyle$1.Line||this._cursorStyle===TextEditorCursorStyle$1.LineThin){const r=e.visibleRangeForPosition(o);if(!r||r.outsideRenderedLine)return null;const s=getWindow$2(this._domNode.domNode);let a;this._cursorStyle===TextEditorCursorStyle$1.Line?(a=computeScreenAwareSize(s,this._lineCursorWidth>0?this._lineCursorWidth:2),a>2&&(t=n,i=this._getTokenClassName(o))):a=computeScreenAwareSize(s,1);let l=r.left,c=0;a>=2&&l>=1&&(c=1,l-=c);const d=e.getVerticalOffsetForLineNumber(o.lineNumber)-e.bigNumbersDelta;return new ViewCursorRenderData(d,l,c,a,this._lineHeight,t,i)}const r=e.linesVisibleRangesForRange(new Range$2(o.lineNumber,o.column,o.lineNumber,o.column+n.length),!1);if(!r||0===r.length)return null;const s=r[0];if(s.outsideRenderedLine||0===s.ranges.length)return null;const a=s.ranges[0],l="\t"===n||a.width<1?this._typicalHalfwidthCharacterWidth:a.width;this._cursorStyle===TextEditorCursorStyle$1.Block&&(t=n,i=this._getTokenClassName(o));let c=e.getVerticalOffsetForLineNumber(o.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return this._cursorStyle!==TextEditorCursorStyle$1.Underline&&this._cursorStyle!==TextEditorCursorStyle$1.UnderlineThin||(c+=this._lineHeight-2,d=2),new ViewCursorRenderData(c,a.left,0,l,d,t,i)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),i=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(i)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${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)}}class ViewCursors extends ViewPart{static{this.BLINK_INTERVAL=500}constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new ViewCursor(this._context,CursorPlurality.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=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 TimeoutTimer,this._cursorFlatBlinkInterval=new WindowIntervalTimer,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let i=0,o=this._secondaryCursors.length;it.length){const e=this._secondaryCursors.length-t.length;for(let t=0;t{for(let i=0,o=e.ranges.length;i{this._isVisible?this._hide():this._show()},ViewCursors.BLINK_INTERVAL,getWindow$2(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},ViewCursors.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case TextEditorCursorStyle$1.Line:e+=" cursor-line-style";break;case TextEditorCursorStyle$1.Block:e+=" cursor-block-style";break;case TextEditorCursorStyle$1.Underline:e+=" cursor-underline-style";break;case TextEditorCursorStyle$1.LineThin:e+=" cursor-line-thin-style";break;case TextEditorCursorStyle$1.BlockOutline:e+=" cursor-block-outline-style";break;case TextEditorCursorStyle$1.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return"on"!==this._cursorSmoothCaretAnimation&&"explicit"!==this._cursorSmoothCaretAnimation||(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const i=[{class:".cursor",foreground:editorCursorForeground,background:editorCursorBackground},{class:".cursor-primary",foreground:editorMultiCursorPrimaryForeground,background:editorMultiCursorPrimaryBackground},{class:".cursor-secondary",foreground:editorMultiCursorSecondaryForeground,background:editorMultiCursorSecondaryBackground}];for(const o of i){const i=e.getColor(o.foreground);if(i){let n=e.getColor(o.background);n||(n=i.opposite()),t.addRule(`.monaco-editor .cursors-layer ${o.class} { background-color: ${i}; border-color: ${i}; color: ${n}; }`),isHighContrast(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${o.class} { border-left: 1px solid ${n}; border-right: 1px solid ${n}; }`)}}});const invalidFunc=()=>{throw new Error("Invalid change accessor")};class ViewZones extends ViewPart{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=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=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 e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const o of e)t.set(o.id,o);let i=!1;return this._context.viewModel.changeWhitespace(e=>{const o=Object.keys(this._zones);for(let n=0,r=o.length;n{const o={addZone:e=>(t=!0,this._addZone(i,e)),removeZone:e=>{e&&(t=this._removeZone(i,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(i,e)||t)}};safeInvoke1Arg(e,o),o.addZone=invalidFunc,o.removeZone=invalidFunc,o.layoutZone=invalidFunc}),t}_addZone(e,t){const i=this._computeWhitespaceProps(t),o={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:createFastDomNode(t.domNode),marginDomNode:t.marginDomNode?createFastDomNode(t.marginDomNode):null};return this._safeCallOnComputedHeight(o.delegate,i.heightInPx),o.domNode.setPosition("absolute"),o.domNode.domNode.style.width="100%",o.domNode.setDisplay("none"),o.domNode.setAttribute("monaco-view-zone",o.whitespaceId),this.domNode.appendChild(o.domNode),o.marginDomNode&&(o.marginDomNode.setPosition("absolute"),o.marginDomNode.domNode.style.width="100%",o.marginDomNode.setDisplay("none"),o.marginDomNode.setAttribute("monaco-view-zone",o.whitespaceId),this.marginDomNode.appendChild(o.marginDomNode)),this._zones[o.whitespaceId]=o,this.setShouldRender(),o.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.remove(),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t],o=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=o.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,o.afterViewLineNumber,o.heightInPx),this._safeCallOnComputedHeight(i.delegate,o.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){if(this._zones.hasOwnProperty(e)){const t=this._zones[e];return Boolean(t.delegate.suppressMouseDown)}return!1}_heightInPixels(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0}_safeCallOnComputedHeight(t,i){if("function"==typeof t.onComputedHeight)try{t.onComputedHeight(i)}catch(e){onUnexpectedError(e)}}_safeCallOnDomNodeTop(t,i){if("function"==typeof t.onDomNodeTop)try{t.onDomNodeTop(i)}catch(e){onUnexpectedError(e)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,i={};let o=!1;for(const r of t)this._zones[r.id].isInHiddenArea||(i[r.id]=r,o=!0);const n=Object.keys(this._zones);for(let r=0,s=n.length;rr)continue;const e=t.startLineNumber===r?t.startColumn:i.minColumn,n=t.endLineNumber===r?t.endColumn:i.maxColumn;e=x.endOffset&&(w++,x=i&&i[w]),9!==o&&32!==o)continue;if(u&&!y&&k<=b)continue;if(d&&k>=C&&k<=b&&32===o){const e=k-1>=0?s.charCodeAt(k-1):0,t=k+1=0?s.charCodeAt(k-1):0;if(32===o&&32!==e&&9!==e)continue}if(i&&(!x||x.startOffset>k||x.endOffset<=k))continue;const n=e.visibleRangeForPosition(new Position$1(t,k+1));n&&(r?(S=Math.max(S,n.left),_+=9===o?this._renderArrow(h,m,n.left):``):_+=9===o?`
    ${v?String.fromCharCode(65515):String.fromCharCode(8594)}
    `:`
    ${String.fromCharCode(f)}
    `)}return r?(S=Math.round(S+m),``+_+""):_}_renderArrow(e,t,i){const o=e/2,n=i,r={x:0,y:t/7/2},s={x:.8*t,y:r.y},a={x:s.x-.2*s.x,y:s.y+.2*s.x},l={x:a.x+.1*s.x,y:a.y+.1*s.x},c={x:l.x+.35*s.x,y:l.y-.35*s.x};return``}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class WhitespaceOptions{constructor(e){const t=e.options,i=t.get(50),o=t.get(38);"off"===o?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===o?(this.renderWhitespace=t.get(100),this.renderWithSVG=!0):(this.renderWhitespace=t.get(100),this.renderWithSVG=!1),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(118)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class ViewportData{constructor(e,t,i,o){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.lineHeight=0|t.lineHeight,this.whitespaceViewportData=i,this._model=o,this.visibleRange=new Range$2(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class EditorTheme{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class ViewContext{constructor(e,t,i){this.configuration=e,this.theme=new EditorTheme(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}var __decorate$1X=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1T=function(e,t){return function(i,o){t(i,o,e)}};let View$1=class extends ViewEventHandler{constructor(e,t,i,o,n,r,s){super(),this._instantiationService=s,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Selection$1(1,1,1,1)],this._renderAnimationFrame=null;const a=new ViewController(t,o,n,e);this._context=new ViewContext(t,i,o),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(TextAreaHandler,this._context,a,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=createFastDomNode(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=createFastDomNode(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=createFastDomNode(document.createElement("div")),PartFingerprints.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new EditorScrollbar(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new ViewLines(this._context,this._linesContent),this._viewZones=new ViewZones(this._context),this._viewParts.push(this._viewZones);const l=new DecorationsOverviewRuler(this._context);this._viewParts.push(l);const c=new ScrollDecorationViewPart(this._context);this._viewParts.push(c);const d=new ContentViewOverlays(this._context);this._viewParts.push(d),d.addDynamicOverlay(new CurrentLineHighlightOverlay(this._context)),d.addDynamicOverlay(new SelectionsOverlay(this._context)),d.addDynamicOverlay(new IndentGuidesOverlay(this._context)),d.addDynamicOverlay(new DecorationsOverlay(this._context)),d.addDynamicOverlay(new WhitespaceOverlay(this._context));const u=new MarginViewOverlays(this._context);this._viewParts.push(u),u.addDynamicOverlay(new CurrentLineMarginHighlightOverlay(this._context)),u.addDynamicOverlay(new MarginViewLineDecorationsOverlay(this._context)),u.addDynamicOverlay(new LinesDecorationsOverlay(this._context)),u.addDynamicOverlay(new LineNumbersOverlay(this._context)),this._glyphMarginWidgets=new GlyphMarginWidgets(this._context),this._viewParts.push(this._glyphMarginWidgets);const h=new Margin(this._context);h.getDomNode().appendChild(this._viewZones.marginDomNode),h.getDomNode().appendChild(u.getDomNode()),h.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(h),this._contentWidgets=new ViewContentWidgets(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new ViewCursors(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new ViewOverlayWidgets(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const p=new Rulers(this._context);this._viewParts.push(p);const g=new BlockDecorations(this._context);this._viewParts.push(g);const m=new Minimap(this._context);if(this._viewParts.push(m),l){const e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(l.getDomNode(),e.insertBefore)}this._linesContent.appendChild(d.getDomNode()),this._linesContent.appendChild(p.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(h.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(c.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(m.getDomNode()),this._overflowGuardContainer.appendChild(g.domNode),this.domNode.appendChild(this._overflowGuardContainer),r?(r.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),r.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new PointerHandler(this._context,a,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let i=[],o=0;i=i.concat(e.getAllMarginDecorations().map(e=>{const t=e.options.glyphMargin?.position??GlyphMarginLane.Center;return o=Math.max(o,e.range.endLineNumber),{range:e.range,lane:t,persist:e.options.glyphMargin?.persistLane}})),i=i.concat(this._glyphMarginWidgets.getWidgets().map(t=>{const i=e.validateRange(t.preference.range);return o=Math.max(o,i.endLineNumber),{range:i,lane:t.preference.lane}})),i.sort((e,t)=>Range$2.compareRangesUsingStarts(e.range,t.range)),t.reset(o);for(const n of i)t.push(n.lane,n.range,n.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new PointerHandlerLastRenderData(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new Position$1(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const e=this._context.configuration.options.get(146);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(143)+" "+getThemeTypeSelector(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new BugIndicatingError;if(null===this._renderAnimationFrame){const e=this._createCoordinatedRendering();this._renderAnimationFrame=EditorRenderingCoordinator.INSTANCE.scheduleCoordinatedRendering({window:getWindow$2(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new BugIndicatingError;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new BugIndicatingError;return e.renderText()},prepareRender:(t,i)=>{if(this._store.isDisposed)throw new BugIndicatingError;return e.prepareRender(t,i)},render:(t,i)=>{if(this._store.isDisposed)throw new BugIndicatingError;return e.render(t,i)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();safeInvokeNoArg(()=>e.prepareRenderText());const t=safeInvokeNoArg(()=>e.renderText());if(t){const[i,o]=t;safeInvokeNoArg(()=>e.prepareRender(i,o)),safeInvokeNoArg(()=>e.render(i,o))}}_getViewPartsToRender(){const e=[];let t=0;for(const i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}inputLatency.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===e.length)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const i=new ViewportData(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new RenderingContext(this._context.viewLayout,i,this._viewLines)]},prepareRender:(e,t)=>{for(const i of e)i.prepareRender(t)},render:(e,t)=>{for(const i of e)i.render(t),i.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),o=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();const n=this._viewLines.visibleRangeForPosition(new Position$1(o.lineNumber,o.column));return n?n.left:-1}getTargetAtClientPoint(e,t){const i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?ViewUserInputEvents.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new OverviewRuler(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const e of this._viewParts)e.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){this._contentWidgets.setWidgetPosition(e.widget,e.position?.position??null,e.position?.secondaryPosition??null,e.position?.preference??null,e.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){this._overlayWidgets.setWidgetPosition(e.widget,e.position)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function safeInvokeNoArg(t){try{return t()}catch(e){return onUnexpectedError(e),null}}View$1=__decorate$1X([__param$1T(6,IInstantiationService)],View$1);class EditorRenderingCoordinator{static{this.INSTANCE=new EditorRenderingCoordinator}constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(-1!==t&&(this._coordinatedRenderings.splice(t,1),0===this._coordinatedRenderings.length)){for(const[e,t]of this._animationFrameRunners)t.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,runAtThisOrScheduleAtNextAnimationFrame(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of e)safeInvokeNoArg(()=>i.prepareRenderText());const t=[];for(let i=0,o=e.length;io.renderText())}for(let i=0,o=e.length;io.prepareRender(r,s))}for(let i=0,o=e.length;io.render(r,s))}}}class ModelLineProjectionData{constructor(e,t,i,o,n){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=o,this.wrappedTextIndentLength=n}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let i=this.breakOffsets[e]-t;return e>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let i=0===e?t:this.breakOffsets[e-1]+t;if(null!==this.injectionOffsets)for(let o=0;othis.injectionOffsets[o];o++)i0?this.breakOffsets[n-1]:0,0===t)if(e<=r)o=n-1;else{if(!(e>s))break;i=n+1}else if(e=s))break;i=n+1}}let s=e-r;return n>0&&(s+=this.wrappedTextIndentLength),new OutputPosition(n,s)}normalizeOutputPosition(e,t,i){if(null!==this.injectionOffsets){const o=this.outputPositionToOffsetInInputWithInjections(e,t),n=this.normalizeOffsetInInputWithInjectionsAroundInjections(o,i);if(n!==o)return this.offsetInInputWithInjectionsToOutputPosition(n,i)}if(0===i){if(e>0&&t===this.getMinOutputOffset(e))return new OutputPosition(e-1,this.getMaxOutputOffset(e-1))}else if(1===i){if(e0&&(t=Math.max(0,t-this.wrappedTextIndentLength));return(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(2===t){if(e===i.offsetInInputWithInjections+i.length&&hasRightCursorStop(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let e=i.offsetInInputWithInjections;if(hasLeftCursorStop(this.injectionOptions[i.injectedTextIndex].cursorStops))return e;let t=i.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[i.injectedTextIndex]&&!hasRightCursorStop(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!hasLeftCursorStop(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t||4===t){let e=i.offsetInInputWithInjections+i.length,t=i.injectedTextIndex;for(;t+1=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}assertNever()}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),o=this.getInjectedTextAtOffset(i);return o?{options:this.injectionOptions[o.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(null!==t){let o=0;for(let n=0;ne)break;if(e<=a)return{injectedTextIndex:n,offsetInInputWithInjections:s,length:r};o+=r}}}}function hasRightCursorStop(e){return null==e||(e===InjectedTextCursorStops.Right||e===InjectedTextCursorStops.Both)}function hasLeftCursorStop(e){return null==e||(e===InjectedTextCursorStops.Left||e===InjectedTextCursorStops.Both)}class OutputPosition{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new Position$1(e+this.outputLineIndex,this.outputOffset+1)}}const ttPolicy$2=createTrustedTypesPolicy("domLineBreaksComputer",{createHTML:e=>e});class DOMLineBreaksComputerFactory{static create(e){return new DOMLineBreaksComputerFactory(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,i,o,n){const r=[],s=[];return{addRequest:(e,t,i)=>{r.push(e),s.push(t)},finalize:()=>createLineBreaks$1(assertIsDefined(this.targetWindow.deref()),r,e,t,i,o,n,s)}}}function createLineBreaks$1(e,t,i,o,n,r,s,a){function l(e){const i=a[e];if(i){const o=LineInjectedText.applyInjectedText(t[e],i),n=i.map(e=>e.options),r=i.map(e=>e.column-1);return new ModelLineProjectionData(r,n,[o.length],[],0)}return null}if(-1===n){const e=[];for(let i=0,o=t.length;ic?(n=0,s=0):l=c-t}const d=e.substr(n),u=renderLine$1(d,s,o,l,g,h);m[k]=n,f[k]=s,v[k]=d,b[k]=u[0],_[k]=u[1]}const y=g.build(),C=ttPolicy$2?.createHTML(y)??y;p.innerHTML=C,p.style.position="absolute",p.style.top="10000","keepAll"===s?(p.style.wordBreak="keep-all",p.style.overflowWrap="anywhere"):(p.style.wordBreak="inherit",p.style.overflowWrap="break-word"),e.document.body.appendChild(p);const w=document.createRange(),x=Array.prototype.slice.call(p.children,0),S=[];for(let k=0;ke.options),s=c.map(e=>e.column-1)):(r=null,s=null),S[k]=new ModelLineProjectionData(s,r,e,n,i)}return p.remove(),S}function renderLine$1(e,t,i,o,n,r){if(0!==r){const e=String(r);n.appendString('
    ');const s=e.length;let a=t,l=0;const c=[],d=[];let u=0");for(let h=0;h"),c[h]=l,d[h]=a;const t=u;u=h+1"),c[e.length]=l,d[e.length]=a,n.appendString("
    "),[c,d]}function readLineBreaks(e,t,i,o){if(i.length<=1)return null;const n=Array.prototype.slice.call(t.children,0),r=[];try{discoverBreaks(e,n,o,0,null,i.length-1,null,r)}catch(s){return console.log(s),null}return 0===r.length?null:(r.push(i.length),r)}function discoverBreaks(e,t,i,o,n,r,s,a){if(o===r)return;if(n=n||readClientRect(e,t,i[o],i[o+1]),s=s||readClientRect(e,t,i[r],i[r+1]),Math.abs(n[0].top-s[0].top)<=.1)return;if(o+1===r)return void a.push(r);const l=o+(r-o)/2|0,c=readClientRect(e,t,i[l],i[l+1]);discoverBreaks(e,t,i,o,n,l,c,a),discoverBreaks(e,t,i,l,c,r,s,a)}function readClientRect(e,t,i,o){return e.setStart(t[i/16384|0].firstChild,i%16384),e.setEnd(t[o/16384|0].firstChild,o%16384),e.getClientRects()}class CodeEditorContributions extends Disposable{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new DisposableMap),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,i){this._editor=e,this._instantiationService=i;for(const o of t)this._pending.has(o.id)?onUnexpectedError(new Error(`Cannot have two contributions with the same id ${o.id}`)):this._pending.set(o.id,o);this._instantiateSome(0),this._register(runWhenWindowIdle(getWindow$2(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(runWhenWindowIdle(getWindow$2(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(runWhenWindowIdle(getWindow$2(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const e={};for(const[t,i]of this._instances)"function"==typeof i.saveViewState&&(e[t]=i.saveViewState());return e}restoreViewState(e){for(const[t,i]of this._instances)"function"==typeof i.restoreViewState&&i.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return runWhenWindowIdle(getWindow$2(this._editor?.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const i of t)this._instantiateById(i.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,i]of this._pending)i.instantiation===e&&t.push(i);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const e=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,e),"function"==typeof e.restoreViewState&&0!==t.instantiation&&console.warn(`Editor contribution '${t.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(i){onUnexpectedError(i)}}}}class InternalEditorAction{constructor(e,t,i,o,n,r,s){this.id=e,this.label=t,this.alias=i,this.metadata=o,this._precondition=n,this._run=r,this._contextKeyService=s}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}class MonospaceLineBreaksComputerFactory{static create(e){return new MonospaceLineBreaksComputerFactory(e.get(135),e.get(134))}constructor(e,t){this.classifier=new WrappingCharacterClassifier(e,t)}createLineBreaksComputer(e,t,i,o,n){const r=[],s=[],a=[];return{addRequest:(e,t,i)=>{r.push(e),s.push(t),a.push(i)},finalize:()=>{const l=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,c=[];for(let e=0,d=r.length;e=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let arrPool1=[],arrPool2=[];function createLineBreaksFromPreviousLineBreaks(e,t,i,o,n,r,s,a){if(-1===n)return null;const l=i.length;if(l<=1)return null;const c="keepAll"===a,d=t.breakOffsets,u=t.breakOffsetsVisibleColumn,h=computeWrappedTextIndentLength(i,o,n,r,s),p=n-h,g=arrPool1,m=arrPool2;let f=0,v=0,b=0,_=n;const y=d.length;let C=0;if(C>=0){let e=Math.abs(u[C]-_);for(;C+1=e)break;e=t,C++}}for(;Ct&&(t=v,n=b);let s=0,a=0,h=0,w=0;if(n<=_){let b=n,y=0===t?0:i.charCodeAt(t-1),C=0===t?0:e.get(y),x=!0;for(let n=t;nv&&canBreak(y,C,l,d,c)&&(s=t,a=b),b+=u,b>_){t>v?(h=t,w=b-u):(h=n+1,w=b),b-a>p&&(s=0),x=!1;break}y=l,C=d}if(x){f>0&&(g[f]=d[d.length-1],m[f]=u[d.length-1],f++);break}}if(0===s){let l=n,d=i.charCodeAt(t),u=e.get(d),g=!1;for(let o=t-1;o>=v;o--){const t=o+1,n=i.charCodeAt(o);if(9===n){g=!0;break}let m,f;if(isLowSurrogate(n)?(o--,m=0,f=2):(m=e.get(n),f=isFullWidthCharacter(n)?r:1),l<=_){if(0===h&&(h=t,w=l),l<=_-p)break;if(canBreak(n,m,d,u,c)){s=t,a=l;break}}l-=f,d=n,u=m}if(0!==s){const e=p-(w-a);if(e<=o){const t=i.charCodeAt(h);let n;n=isHighSurrogate(t)?2:computeCharWidth(t,w,o,r),e-n<0&&(s=0)}}if(g){C--;continue}}if(0===s&&(s=h,a=w),s<=v){const e=i.charCodeAt(v);isHighSurrogate(e)?(s=v+2,a=b+2):(s=v+1,a=b+computeCharWidth(e,b,o,r))}for(v=s,g[f]=s,b=a,m[f]=a,f++,_=a+p;C<0||C=x)break;x=e,C++}}return 0===f?null:(g.length=f,m.length=f,arrPool1=t.breakOffsets,arrPool2=t.breakOffsetsVisibleColumn,t.breakOffsets=g,t.breakOffsetsVisibleColumn=m,t.wrappedTextIndentLength=h,t)}function createLineBreaks(e,t,i,o,n,r,s,a){const l=LineInjectedText.applyInjectedText(t,i);let c,d;if(i&&i.length>0?(c=i.map(e=>e.options),d=i.map(e=>e.column-1)):(c=null,d=null),-1===n)return c?new ModelLineProjectionData(d,c,[l.length],[],0):null;const u=l.length;if(u<=1)return c?new ModelLineProjectionData(d,c,[l.length],[],0):null;const h="keepAll"===a,p=computeWrappedTextIndentLength(l,o,n,r,s),g=n-p,m=[],f=[];let v=0,b=0,_=0,y=n,C=l.charCodeAt(0),w=e.get(C),x=computeCharWidth(C,0,o,r),S=1;isHighSurrogate(C)&&(x+=1,C=l.charCodeAt(1),w=e.get(C),S++);for(let k=S;ky&&((0===b||x-_>g)&&(b=t,_=x-s),m[v]=b,f[v]=_,v++,y=_+g,b=0),C=i,w=n}return 0!==v||i&&0!==i.length?(m[v]=u,f[v]=x,new ModelLineProjectionData(d,c,m,f,p)):null}function computeCharWidth(e,t,i,o){return 9===e?i-t%i:isFullWidthCharacter(e)||e<32?o:1}function tabCharacterWidth(e,t){return t-e%t}function canBreak(e,t,i,o,n){return 32!==i&&(2===t&&2!==o||1!==t&&1===o||!n&&3===t&&2!==o||!n&&3===o&&1!==t)}function computeWrappedTextIndentLength(e,t,i,o,n){let r=0;if(0!==n){const s=firstNonWhitespaceIndex(e);if(-1!==s){for(let i=0;ii&&(r=0)}}return r}class Cursor{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new SingleCursorState(new Range$2(1,1,1,1),0,0,new Position$1(1,1),0),new SingleCursorState(new Range$2(1,1,1,1),0,0,new Position$1(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new CursorState$1(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?Selection$1.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):Selection$1.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,i){this._setState(e,t,i)}static _validatePositionWithCache(e,t,i,o){return t.equals(i)?o:e.normalizePosition(t,2)}static _validateViewState(e,t){const i=t.position,o=t.selectionStart.getStartPosition(),n=t.selectionStart.getEndPosition(),r=e.normalizePosition(i,2),s=this._validatePositionWithCache(e,o,i,r),a=this._validatePositionWithCache(e,n,o,s);return i.equals(r)&&o.equals(s)&&n.equals(a)?t:new SingleCursorState(Range$2.fromPositions(s,a),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+o.column-s.column,r,t.leftoverVisibleColumns+i.column-r.column)}_setState(e,t,i){if(i&&(i=Cursor._validateViewState(e.viewModel,i)),t){const i=e.model.validateRange(t.selectionStart),o=t.selectionStart.equalsRange(i)?t.selectionStartLeftoverVisibleColumns:0,n=e.model.validatePosition(t.position),r=t.position.equals(n)?t.leftoverVisibleColumns:0;t=new SingleCursorState(i,t.selectionStartKind,o,n,r)}else{if(!i)return;const o=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(i.selectionStart)),n=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(i.position));t=new SingleCursorState(o,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,n,i.leftoverVisibleColumns)}if(i){const o=e.coordinatesConverter.validateViewRange(i.selectionStart,t.selectionStart),n=e.coordinatesConverter.validateViewPosition(i.position,t.position);i=new SingleCursorState(o,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,n,t.leftoverVisibleColumns)}else{const o=e.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),n=e.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),r=new Range$2(o.lineNumber,o.column,n.lineNumber,n.column),s=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new SingleCursorState(r,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,s,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}}class CursorCollection{constructor(e){this.context=e,this.cursors=[new Cursor(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return findFirstMin(this.cursors,compareBy(e=>e.viewState.position,Position$1.compare)).viewState.position}getBottomMostViewPosition(){return findLastMax(this.cursors,compareBy(e=>e.viewState.position,Position$1.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(CursorState$1.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){null!==e&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,i=e.length;if(ti){const e=t-i;for(let t=0;t=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(1===this.cursors.length)return;const e=this.cursors.slice(0),t=[];for(let i=0,o=e.length;ie.selection,Range$2.compareRangesUsingStarts));for(let i=0;ia&&e.index--;e.splice(a,1),t.splice(s,1),this._removeSecondaryCursor(a-1),i--}}}}class CursorContext{constructor(e,t,i,o){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=o}}class ViewCompositionStartEvent{constructor(){this.type=0}}class ViewCompositionEndEvent{constructor(){this.type=1}}class ViewConfigurationChangedEvent{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class ViewCursorStateChangedEvent{constructor(e,t,i){this.selections=e,this.modelSelections=t,this.reason=i,this.type=3}}class ViewDecorationsChangedEvent{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}class ViewFlushedEvent{constructor(){this.type=5}}class ViewFocusChangedEvent{constructor(e){this.type=6,this.isFocused=e}}class ViewLanguageConfigurationEvent{constructor(){this.type=7}}class ViewLineMappingChangedEvent{constructor(){this.type=8}}class ViewLinesChangedEvent{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class ViewLinesDeletedEvent{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class ViewLinesInsertedEvent{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class ViewRevealRangeRequestEvent{constructor(e,t,i,o,n,r,s){this.source=e,this.minimalReveal=t,this.range=i,this.selections=o,this.verticalType=n,this.revealHorizontal=r,this.scrollType=s,this.type=12}}class ViewScrollChangedEvent{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class ViewThemeChangedEvent{constructor(e){this.theme=e,this.type=14}}class ViewTokensChangedEvent{constructor(e){this.type=15,this.ranges=e}}class ViewTokensColorsChangedEvent{constructor(){this.type=16}}let ViewZonesChangedEvent$1=class{constructor(){this.type=17}};class ViewModelEventDispatcher extends Disposable{constructor(){super(),this._onEvent=this._register(new Emitter$1),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,i=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}}class ViewModelEventsCollector{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class ContentSizeChangedEvent{constructor(e,t,i,o){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=o,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new ContentSizeChangedEvent(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class FocusChangedEvent{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new FocusChangedEvent(this.oldHasFocus,e.hasFocus)}}class ScrollChangedEvent{constructor(e,t,i,o,n,r,s,a){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=o,this.scrollWidth=n,this.scrollLeft=r,this.scrollHeight=s,this.scrollTop=a,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!(this.scrollWidthChanged||this.scrollLeftChanged||this.scrollHeightChanged||this.scrollTopChanged)}attemptToMerge(e){return e.kind!==this.kind?null:new ScrollChangedEvent(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class ViewZonesChangedEvent{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class HiddenAreasChangedEvent{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class CursorStateChangedEvent{constructor(e,t,i,o,n,r,s){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=o,this.source=n,this.reason=r,this.reachedMaxCursorCount=s}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length;if(i!==t.length)return!1;for(let o=0;o0){const e=this._cursors.getSelections();for(let t=0;tr&&(o=o.slice(0,r),n=!0);const s=CursorModelState.from(this._model,this);return this._cursors.setStates(o),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,s,n)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,i,o,n,r){const s=this._cursors.getViewPositions();let a=null,l=null;s.length>1?l=this._cursors.getViewSelections():a=Range$2.fromPositions(s[0],s[0]),e.emitViewEvent(new ViewRevealRangeRequestEvent(t,i,a,l,o,n,r))}revealPrimary(e,t,i,o,n,r){const s=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new ViewRevealRangeRequestEvent(t,i,null,s,o,n,r))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,o=t.length;i0){const t=CursorState$1.fromModelSelections(i.resultingSelection);this.setStates(e,"modelChange",i.isUndoing?5:i.isRedoing?6:2,t)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const t=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,CursorState$1.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),i=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:i.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,i,o){this.setStates(e,t,o,CursorState$1.fromModelSelections(i))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const i=[],o=[];for(let s=0,a=e.length;s0&&this._pushAutoClosedAction(i,o),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,i,o,n){const r=CursorModelState.from(this._model,this);if(r.equals(o))return!1;const s=this._cursors.getSelections(),a=this._cursors.getViewSelections();if(e.emitViewEvent(new ViewCursorStateChangedEvent(a,s,i)),!o||o.cursorState.length!==r.cursorState.length||r.cursorState.some((e,t)=>!e.modelState.equals(o.cursorState[t].modelState))){const a=o?o.cursorState.map(e=>e.modelState.selection):null,l=o?o.modelVersionId:0;e.emitOutgoingEvent(new CursorStateChangedEvent(a,s,l,r.modelVersionId,t||"keyboard",i,n))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let i=0,o=e.length;i=0)return null;const n=o.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!n)return null;const r=n[1],s=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(r);if(!s||1!==s.length)return null;const a=s[0].open,l=o.text.length-n[2].length-1,c=o.text.lastIndexOf(a,l-1);if(-1===c)return null;t.push([c,l])}return t}executeEdits(e,t,i,o){let n=null;"snippet"===t&&(n=this._findAutoClosingPairs(i)),n&&(i[0]._isTracked=!0);const r=[],s=[],a=this._model.pushEditOperations(this.getSelections(),i,e=>{if(n)for(let i=0,o=n.length;i0&&this._pushAutoClosedAction(r,s)}_executeEdit(e,t,i,o=0){if(this.context.cursorConfig.readOnly)return;const n=CursorModelState.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(r){onUnexpectedError(r)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,o,n,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return AutoClosedAction.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new CompositionState(this._model,this.getSelections())}endComposition(e,t){const i=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{"keyboard"===t&&this._executeEditOperation(TypeOperations.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,i,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,i){this._executeEdit(()=>{if("keyboard"===i){const e=t.length;let i=0;for(;i{this._executeEditOperation(TypeOperations.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,o,n))},e,r);else if(0!==n){const t=this.getSelections().map(e=>{const t=e.getPosition();return new Selection$1(t.lineNumber,t.column+n,t.lineNumber,t.column+n)});this.setSelections(e,r,t,0)}}paste(e,t,i,o,n){this._executeEdit(()=>{this._executeEditOperation(TypeOperations.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,o||[]))},e,n,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(DeleteOperations.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,i){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new EditOperationResult(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}executeCommands(e,t,i){this._executeEdit(()=>{this._executeEditOperation(new EditOperationResult(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}}class CursorModelState{static from(e,t){return new CursorModelState(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t=t.length)return!1;if(!t[i].strictContainsRange(e[i]))return!1}return!0}}class CommandExecutor{static executeCommands(e,t,i){const o={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},n=this._innerExecuteCommands(o,i);for(let r=0,s=o.trackedRanges.length;r0&&(r[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,r,i=>{const o=[];for(let t=0;te.identifier.minor-t.identifier.minor,r=[];for(let s=0;s0?(o[s].sort(n),r[s]=t[s].computeCursorState(e.model,{getInverseEditOperations:()=>o[s],getTrackedSelection:t=>{const i=parseInt(t,10),o=e.model._getTrackedRange(e.trackedRanges[i]);return 0===e.trackedRangesDirection[i]?new Selection$1(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn):new Selection$1(o.endLineNumber,o.endColumn,o.startLineNumber,o.startColumn)}})):r[s]=e.selectionsBefore[s];return r});s||(s=e.selectionsBefore);const a=[];for(const l in n)n.hasOwnProperty(l)&&a.push(parseInt(l,10));a.sort((e,t)=>t-e);for(const l of a)s.splice(l,1);return s}static _arrayIsEmpty(e){for(let t=0,i=e.length;t{Range$2.isEmpty(e)&&""===t||n.push({identifier:{major:i,minor:r++},range:e,text:t,forceMoveMarkers:s,isAutoWhitespaceEdit:o.insertsAutoWhitespace})};let a=!1;const l={addEditOperation:s,addTrackedEditOperation:(e,t,i)=>{a=!0,s(e,t,i)},trackSelection:(e,i)=>{const o=Selection$1.liftSelection(e);let n;if(o.isEmpty())if("boolean"==typeof i)n=i?2:3;else{const e=t.model.getLineMaxColumn(o.startLineNumber);n=o.startColumn===e?2:3}else n=1;const r=t.trackedRanges.length,s=t.model._setTrackedRange(null,o,n);return t.trackedRanges[r]=s,t.trackedRangesDirection[r]=o.getDirection(),r.toString()}};try{o.getEditOperations(t.model,l)}catch(e){return onUnexpectedError(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:n,hadTrackedEditOperation:a}}static _getLoserCursorMap(e){(e=e.slice(0)).sort((e,t)=>-Range$2.compareRangesUsingEnds(e.range,t.range));const t={};for(let i=1;in.identifier.major?o.identifier.major:n.identifier.major,t[r.toString()]=!0;for(let t=0;t0&&i--}}return t}}class CompositionLineState{constructor(e,t,i){this.text=e,this.startSelection=t,this.endSelection=i}}class CompositionState{static _capture(e,t){const i=[];for(const o of t){if(o.startLineNumber!==o.endLineNumber)return null;i.push(new CompositionLineState(e.getLineContent(o.startLineNumber),o.startColumn-1,o.endColumn-1))}return i}constructor(e,t){this._original=CompositionState._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const i=CompositionState._capture(e,t);if(!i)return null;if(this._original.length!==i.length)return null;const o=[];for(let n=0,r=this._original.length;n>>1;t===e[r].afterLineNumber?i{t=!0,e|=0,i|=0,o|=0,n|=0;const r=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new EditorWhitespace(r,e,i,o,n)),r},changeOneWhitespace:(e,i,o)=>{t=!0,i|=0,o|=0,this._pendingChanges.change({id:e,newAfterLineNumber:i,newHeight:o})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const t of e)this._insertWhitespace(t);for(const e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(const e of i){const t=this._findWhitespaceIndex(e.id);-1!==t&&this._removeWhitespace(t)}return}const o=new Set;for(const a of i)o.add(a.id);const n=new Map;for(const a of t)n.set(a.id,a);const r=e=>{const t=[];for(const i of e)if(!o.has(i.id)){if(n.has(i.id)){const e=n.get(i.id);i.afterLineNumber=e.newAfterLineNumber,i.height=e.newHeight}t.push(i)}return t},s=r(this._arr).concat(r(e));s.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=s,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(t){const i=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(i,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,i-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,o=t.length;it&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let i=0,o=this._arr.length;i=t.length||t[n+1].afterLineNumber>=e)return n;i=n+1|0}else o=n-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;const t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?this._lineHeight*(e-1):0;return i+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){this._checkPendingChanges(),e|=0;return this._lineHeight*e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let e=0;for(let t=0,i=this._arr.length;tthis.getLinesTotalHeight()}isInTopPadding(e){return 0!==this._paddingTop&&(this._checkPendingChanges(),e=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;const t=0|this._lineCount,i=this._lineHeight;let o=1,n=t;for(;o=r+i)o=t+1;else{if(e>=r)return t;n=t}}return o>t?t:o}getLinesViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this._lineHeight,o=0|this.getLineNumberAtOrAfterVerticalOffset(e),n=0|this.getVerticalOffsetForLineNumber(o);let r=0|this._lineCount,s=0|this.getFirstWhitespaceIndexAfterLineNumber(o);const a=0|this.getWhitespacesCount();let l,c;-1===s?(s=a,c=r+1,l=0):(c=0|this.getAfterLineNumberForWhitespaceIndex(s),l=0|this.getHeightForWhitespaceIndex(s));let d=n,u=d;const h=5e5;let p=0;n>=h&&(p=Math.floor(n/h)*h,p=Math.floor(p/i)*i,u-=p);const g=[],m=e+(t-e)/2;let f=-1;for(let y=o;y<=r;y++){if(-1===f){(d<=m&&mm)&&(f=y)}for(d+=i,g[y-o]=u,u+=i;c===y;)u+=l,d+=l,s++,s>=a?c=r+1:(c=0|this.getAfterLineNumberForWhitespaceIndex(s),l=0|this.getHeightForWhitespaceIndex(s));if(d>=t){r=y;break}}-1===f&&(f=r);const v=0|this.getVerticalOffsetForLineNumber(r);let b=o,_=r;return b<_&&nt&&_--,{bigNumbersDelta:p,startLineNumber:o,endLineNumber:r,relativeVerticalOffset:g,centeredLineNumber:f,completelyVisibleStartLineNumber:b,completelyVisibleEndLineNumber:_,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i,o;return i=t>=1?this._lineHeight*t:0,o=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,i+o+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(i)+this.getHeightForWhitespaceIndex(i))return-1;for(;t=n+this.getHeightForWhitespaceIndex(o))t=o+1;else{if(e>=n)return o;i=o}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const o=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:i,height:o}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),o=this.getWhitespacesCount()-1;if(i<0)return[];const n=[];for(let r=i;r<=o;r++){const e=this.getVerticalOffsetForWhitespaceIndex(r),i=this.getHeightForWhitespaceIndex(r);if(e>=t)break;n.push({id:this.getIdForWhitespaceIndex(r),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(r),verticalOffset:e,height:i})}return n}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}};const SMOOTH_SCROLLING_TIME=125;class EditorScrollDimensions{constructor(e,t,i,o){(e|=0)<0&&(e=0),(t|=0)<0&&(t=0),(i|=0)<0&&(i=0),(o|=0)<0&&(o=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=o,this.scrollHeight=Math.max(i,o)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class EditorScrollable extends Disposable{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new Emitter$1),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new EditorScrollDimensions(0,0,0,0),this._scrollable=this._register(new Scrollable$1({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,o=t.contentHeight!==e.contentHeight;(i||o)&&this._onDidContentSizeChange.fire(new ContentSizeChangedEvent(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class ViewLayout extends Disposable{constructor(e,t,i){super(),this._configuration=e;const o=this._configuration.options,n=o.get(146),r=o.get(84);this._linesLayout=new LinesLayout$1(t,o.get(67),r.top,r.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new EditorScrollable(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new EditorScrollDimensions(n.contentWidth,0,n.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(115)?SMOOTH_SCROLLING_TIME:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const e=t.get(84);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(146)){const e=t.get(146),i=e.contentWidth,o=e.height,n=this._scrollable.getScrollDimensions(),r=n.contentWidth;this._scrollable.setScrollDimensions(new EditorScrollDimensions(i,n.contentWidth,o,this._getContentHeight(i,o,r)))}else this._updateHeight();e.hasChanged(115)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const i=this._configuration.options.get(104);return 2===i.horizontal||e>=t?0:i.horizontalScrollbarSize}_getContentHeight(e,t,i){const o=this._configuration.options;let n=this._linesLayout.getLinesTotalHeight();return o.get(106)?n+=Math.max(0,t-o.get(67)-o.get(84).bottom):o.get(104).ignoreHorizontalScrollbarInContentHeight||(n+=this._getHorizontalScrollbarHeight(e,i)),n}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,o=e.contentWidth;this._scrollable.setScrollDimensions(new EditorScrollDimensions(t,e.contentWidth,i,this._getContentHeight(t,i,o)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Viewport(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Viewport(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,i=e.get(147),o=e.get(50),n=e.get(146);if(i.isViewportWrapping){const i=e.get(73);return t>n.contentWidth+o.typicalHalfwidthCharacterWidth&&i.enabled&&"right"===i.side?t+n.verticalScrollbarWidth:t}{const i=e.get(105)*o.typicalHalfwidthCharacterWidth,r=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+i+n.verticalScrollbarWidth,r,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new EditorScrollDimensions(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i),scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){1===t?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}}class ViewModelDecorations{constructor(e,t,i,o,n){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=o,this._coordinatesConverter=n,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const o=e.range,n=e.options;let r;if(n.isWholeLine){const e=this._coordinatesConverter.convertModelPositionToViewPosition(new Position$1(o.startLineNumber,1),0,!1,!0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new Position$1(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber)),1);r=new Range$2(e.lineNumber,e.column,t.lineNumber,t.column)}else r=this._coordinatesConverter.convertModelRangeToViewRange(o,1);i=new ViewModelDecoration(r,n),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=null!==this._cachedModelDecorationsResolver;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,i=!1){const o=new Range$2(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(o,t,i).inlineDecorations[0]}_getDecorationsInRange(e,t,i){const o=this._linesCollection.getDecorationsInRange(e,this.editorId,filterValidationDecorations(this.configuration.options),t,i),n=e.startLineNumber,r=e.endLineNumber,s=[];let a=0;const l=[];for(let c=n;c<=r;c++)l[c-n]=[];for(let c=0,d=o.length;c1===e)}function isModelDecorationInString(e,t){return testTokensInRange(e,t.range,e=>2===e)}function testTokensInRange(e,t,i){for(let o=t.startLineNumber;o<=t.endLineNumber;o++){const n=e.tokenization.getLineTokens(o),r=o===t.startLineNumber,s=o===t.endLineNumber;let a=r?n.findTokenIndexAtOffset(t.startColumn-1):0;for(;at.endColumn-1)break}if(!i(n.getStandardTokenType(a)))return!1;a++}}return!0}function createModelLineProjection(e,t){return null===e?t?IdentityModelLineProjection.INSTANCE:HiddenModelLineProjection.INSTANCE:new ModelLineProjection(e,t)}class ModelLineProjection{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,i){this._assertVisible();const o=i>0?this._projectionData.breakOffsets[i-1]:0,n=this._projectionData.breakOffsets[i];let r;if(null!==this._projectionData.injectionOffsets){const i=this._projectionData.injectionOffsets.map((e,t)=>new LineInjectedText(0,0,e+1,this._projectionData.injectionOptions[t],0));r=LineInjectedText.applyInjectedText(e.getLineContent(t),i).substring(o,n)}else r=e.getValueInRange({startLineNumber:t,startColumn:o+1,endLineNumber:t,endColumn:n+1});return i>0&&(r=spaces(this._projectionData.wrappedTextIndentLength)+r),r}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const o=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],o),o[0]}getViewLinesData(e,t,i,o,n,r,s){this._assertVisible();const a=this._projectionData,l=a.injectionOffsets,c=a.injectionOptions;let d,u=null;if(l){u=[];let e=0,t=0;for(let i=0;i0?a.breakOffsets[i-1]:0,r=a.breakOffsets[i];for(;tr)break;if(n0?a.wrappedTextIndentLength:0,s=t+Math.max(d-n,0),l=t+Math.min(u-n,r-n);s!==l&&o.push(new SingleLineInlineDecoration(s,l,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(!(u<=r))break;e+=s,t++}}}d=l?e.tokenization.getLineTokens(t).withInserted(l.map((e,t)=>({offset:e,text:c[t].content,tokenMetadata:LineTokens.defaultTokenMetadata}))):e.tokenization.getLineTokens(t);for(let h=i;h0?o.wrappedTextIndentLength:0,r=i>0?o.breakOffsets[i-1]:0,s=o.breakOffsets[i],a=e.sliceAndInflate(r,s,n);let l=a.getLineContent();i>0&&(l=spaces(o.wrappedTextIndentLength)+l);const c=this._projectionData.getMinOutputOffset(i)+1,d=l.length+1,u=i+1=_spaces.length)for(let t=1;t<=e;t++)_spaces[t]=_makeSpaces(t);return _spaces[e]}function _makeSpaces(e){return new Array(e+1).join(" ")}class ViewModelLinesFromProjectedModel{constructor(e,t,i,o,n,r,s,a,l,c){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=i,this._monospaceLineBreaksComputerFactory=o,this.fontInfo=n,this.tabSize=r,this.wrappingStrategy=s,this.wrappingColumn=a,this.wrappingIndent=l,this.wordBreak=c,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new CoordinatesConverter(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const i=this.model.getLinesContent(),o=this.model.getInjectedTextDecorations(this._editorId),n=i.length,r=this.createLineBreaksComputer(),s=new ArrayQueue(LineInjectedText.fromDecorations(o));for(let g=0;ge.lineNumber===g+1);r.addRequest(i[g],e,t?t[g]:null)}const a=r.finalize(),l=[],c=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(Range$2.compareRangesUsingStarts);let d=1,u=0,h=-1,p=h+1=d&&e<=u,i=createModelLineProjection(a[g],!t);l[g]=i.getViewLineCount(),this.modelLineProjections[g]=i}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new ConstantTimePrefixSumComputer(l)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){const t=normalizeLineRanges(e.map(e=>this.model.validateRange(e))),i=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(Range$2.compareRangesUsingStarts);if(t.length===i.length){let e=!1;for(let o=0;o({range:e,options:ModelDecorationOptions.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,o);const n=t;let r=1,s=0,a=-1,l=a+1=r&&e<=s?this.modelLineProjections[d].isVisible()&&(this.modelLineProjections[d]=this.modelLineProjections[d].setVisible(!1),t=!0):(c=!0,this.modelLineProjections[d].isVisible()||(this.modelLineProjections[d]=this.modelLineProjections[d].setVisible(!0),t=!0)),t){const e=this.modelLineProjections[d].getViewLineCount();this.projectedModelLineLineCounts.setValue(d,e)}}return c||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return!(e<1||e>this.modelLineProjections.length)&&this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,i,o,n){const r=this.fontInfo.equals(e),s=this.wrappingStrategy===t,a=this.wrappingColumn===i,l=this.wrappingIndent===o,c=this.wordBreak===n;if(r&&s&&a&&l&&c)return!1;const d=r&&s&&!a&&l&&c;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=o,this.wordBreak=n;let u=null;if(d){u=[];for(let e=0,t=this.modelLineProjections.length;e2&&!this.modelLineProjections[t-2].isVisible(),r=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let s=0;const a=[],l=[];for(let c=0,d=o.length;cs?(l=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,c=l+s-1,h=c+1,p=h+(n-s)-1,a=!0):nt?t:0|e}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const o=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),n=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),r=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),s=this.model.guides.getActiveIndentGuide(o.lineNumber,n.lineNumber,r.lineNumber),a=this.convertModelPositionToViewPosition(s.startLineNumber,1),l=this.convertModelPositionToViewPosition(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber));return{startLineNumber:a.lineNumber,endLineNumber:l.lineNumber,indent:s.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,o=t.remainder;return new ViewLineInfo(i+1,o)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),o=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Position$1(e.modelLineNumber,o)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),o=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Position$1(e.modelLineNumber,o)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),o=this.getViewLineInfo(t),n=new Array;let r=this.getModelStartPositionOfViewLine(i),s=new Array;for(let a=i.modelLineNumber;a<=o.modelLineNumber;a++){const e=this.modelLineProjections[a-1];if(e.isVisible()){const t=a===i.modelLineNumber?i.modelLineWrappedLineIdx:0,n=a===o.modelLineNumber?o.modelLineWrappedLineIdx+1:e.getViewLineCount();for(let e=t;e{if(-1!==e.forWrappedLinesAfterColumn){if(this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=i.modelLineWrappedLineIdx)return}if(-1!==e.forWrappedLinesBeforeOrAtColumn){if(this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumberi.modelLineWrappedLineIdx)return}const o=this.convertModelPositionToViewPosition(i.modelLineNumber,e.horizontalLine.endColumn),n=this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return n.lineNumber===i.modelLineWrappedLineIdx?new IndentGuide(e.visibleColumn,t,e.className,new IndentGuideHorizontalLine(e.horizontalLine.top,o.column),-1,-1):n.lineNumber!!e))}}return r}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let n=[];const r=[],s=[],a=i.lineNumber-1,l=o.lineNumber-1;let c=null;for(let p=a;p<=l;p++){const e=this.modelLineProjections[p];if(e.isVisible()){const t=e.getViewLineNumberOfModelPosition(0,p===a?i.column:1),o=e.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(p+1)),n=o-t+1;let l=0;n>1&&1===e.getViewLineMinColumn(this.model,p+1,o)&&(l=0===t?1:2),r.push(n),s.push(l),null===c&&(c=new Position$1(p+1,0))}else null!==c&&(n=n.concat(this.model.guides.getLinesIndentGuides(c.lineNumber,p)),c=null)}null!==c&&(n=n.concat(this.model.guides.getLinesIndentGuides(c.lineNumber,o.lineNumber)),c=null);const d=t-e+1,u=new Array(d);let h=0;for(let p=0,g=n.length;pt&&(u=!0,d=t-n+1),o.getViewLinesData(this.model,l+1,c,d,n-e,i,a),n+=d,u)break}return a}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const o=this.projectedModelLineLineCounts.getIndexOf(e-1),n=o.index,r=o.remainder,s=this.modelLineProjections[n],a=s.getViewLineMinColumn(this.model,n+1,r),l=s.getViewLineMaxColumn(this.model,n+1,r);tl&&(t=l);const c=s.getModelColumnOfViewPosition(r,t);return this.model.validatePosition(new Position$1(n+1,c)).equals(i)?new Position$1(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),o=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new Range$2(i.lineNumber,i.column,o.lineNumber,o.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),o=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new Position$1(i.modelLineNumber,o))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new Range$2(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2,o=!1,n=!1){const r=this.model.validatePosition(new Position$1(e,t)),s=r.lineNumber,a=r.column;let l=s-1,c=!1;if(n)for(;l0&&!this.modelLineProjections[l].isVisible();)l--,c=!0;if(0===l&&!this.modelLineProjections[l].isVisible())return new Position$1(o?0:1,1);const d=1+this.projectedModelLineLineCounts.getPrefixSum(l);let u;return u=c?n?this.modelLineProjections[l].getViewPositionOfModelPosition(d,1,i):this.modelLineProjections[l].getViewPositionOfModelPosition(d,this.model.getLineMaxColumn(l+1),i):this.modelLineProjections[s-1].getViewPositionOfModelPosition(d,a,i),u}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return Range$2.fromPositions(i)}{const t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),i=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new Range$2(t.lineNumber,t.column,i.lineNumber,i.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const e=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(e,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(0===i&&!this.modelLineProjections[i].isVisible())return 1;const o=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(o,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i,o,n){const r=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-r.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new Range$2(r.lineNumber,1,s.lineNumber,s.column),t,i,o,n);let a=[];const l=r.lineNumber-1,c=s.lineNumber-1;let d=null;for(let g=l;g<=c;g++){if(this.modelLineProjections[g].isVisible())null===d&&(d=new Position$1(g+1,g===l?r.column:1));else if(null!==d){const e=this.model.getLineMaxColumn(g);a=a.concat(this.model.getDecorationsInRange(new Range$2(d.lineNumber,d.column,g,e),t,i,o)),d=null}}null!==d&&(a=a.concat(this.model.getDecorationsInRange(new Range$2(d.lineNumber,d.column,s.lineNumber,s.column),t,i,o)),d=null),a.sort((e,t)=>{const i=Range$2.compareRangesUsingStarts(e.range,t.range);return 0===i?e.idt.id?1:0:i});const u=[];let h=0,p=null;for(const g of a){const e=g.id;p!==e&&(p=e,u[h++]=g)}return u}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return 0===t.modelLineWrappedLineIdx?this.model.getLineIndentColumn(t.modelLineNumber):0}}function normalizeLineRanges(e){if(0===e.length)return[];const t=e.slice();t.sort(Range$2.compareRangesUsingStarts);const i=[];let o=t[0].startLineNumber,n=t[0].endLineNumber;for(let r=1,s=t.length;rn+1?(i.push(new Range$2(o,1,n,1)),o=e.startLineNumber,n=e.endLineNumber):e.endLineNumber>n&&(n=e.endLineNumber)}return i.push(new Range$2(o,1,n,1)),i}class ViewLineInfo{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class ViewLineInfoGroupedByModelRange{constructor(e,t){this.modelRange=e,this.viewLines=t}}class CoordinatesConverter{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,i,o){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,i,o)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class ViewModelLinesFromModelAsIs{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new IdentityCoordinatesConverter(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,o){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,o)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new ViewLinesDeletedEvent(t,i)}onModelLinesInserted(e,t,i,o){return new ViewLinesInsertedEvent(t,i)}onModelLineChanged(e,t,i){return[!1,new ViewLinesChangedEvent(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,o=new Array(i);for(let n=0;nt)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}const MAX_LANE=GlyphMarginLane.Right;class GlyphMarginLanesModel{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*MAX_LANE/8))}reset(e){const t=Math.ceil((e+1)*MAX_LANE/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=ViewportStart.create(this.model),this.glyphLanes=new GlyphMarginLanesModel(0),this.model.isTooLargeForTokenization())this._lines=new ViewModelLinesFromModelAsIs(this.model);else{const e=this._configuration.options,t=e.get(50),i=e.get(140),r=e.get(147),s=e.get(139),a=e.get(130);this._lines=new ViewModelLinesFromProjectedModel(this._editorId,this.model,o,n,t,this.model.getOptions().tabSize,i,r.wrappingColumn,s,a)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new CursorsController(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new ViewLayout(this._configuration,this.getLineCount(),r)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new ViewScrollChangedEvent(e)),this._eventDispatcher.emitOutgoingEvent(new ScrollChangedEvent(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new ViewModelDecorations(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(MinimapTokensColorTracker.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new ViewTokensColorsChangedEvent)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new ViewThemeChangedEvent(e))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new Range$2(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new ViewFocusChangedEvent(e)),this._eventDispatcher.emitOutgoingEvent(new FocusChangedEvent(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new ViewCompositionStartEvent)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new ViewCompositionEndEvent)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new Position$1(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new StableViewport(t,this._viewportStart.startLineDelta)}return new StableViewport(null,0)}_onConfigurationChanged(e,t){const i=this._captureStableViewport(),o=this._configuration.options,n=o.get(50),r=o.get(140),s=o.get(147),a=o.get(139),l=o.get(130);this._lines.setWrappingSettings(n,r,s.wrappingColumn,a,l)&&(e.emitViewEvent(new ViewFlushedEvent),e.emitViewEvent(new ViewLineMappingChangedEvent),e.emitViewEvent(new ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(92)&&(this._decorations.reset(),e.emitViewEvent(new ViewDecorationsChangedEvent(null))),t.hasChanged(99)&&(this._decorations.reset(),e.emitViewEvent(new ViewDecorationsChangedEvent(null))),e.emitViewEvent(new ViewConfigurationChangedEvent(t)),this.viewLayout.onConfigurationChanged(t),i.recoverViewportStart(this.coordinatesConverter,this.viewLayout),CursorConfiguration.shouldRecreate(t)&&(this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();let i=!1,o=!1;const n=e instanceof InternalModelContentChangeEvent?e.rawContentChangedEvent.changes:e.changes,r=e instanceof InternalModelContentChangeEvent?e.rawContentChangedEvent.versionId:null,s=this._lines.createLineBreaksComputer();for(const e of n)switch(e.changeType){case 4:for(let t=0;t!e.ownerId||e.ownerId===this._editorId)),s.addRequest(i,o,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter(e=>!e.ownerId||e.ownerId===this._editorId)),s.addRequest(e.detail,t,null);break}}const a=s.finalize(),l=new ArrayQueue(a);for(const e of n)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new ViewFlushedEvent),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),i=!0;break;case 3:{const o=this._lines.onModelLinesDeleted(r,e.fromLineNumber,e.toLineNumber);null!==o&&(t.emitViewEvent(o),this.viewLayout.onLinesDeleted(o.fromLineNumber,o.toLineNumber)),i=!0;break}case 4:{const o=l.takeCount(e.detail.length),n=this._lines.onModelLinesInserted(r,e.fromLineNumber,e.toLineNumber,o);null!==n&&(t.emitViewEvent(n),this.viewLayout.onLinesInserted(n.fromLineNumber,n.toLineNumber)),i=!0;break}case 2:{const i=l.dequeue(),[n,s,a,c]=this._lines.onModelLineChanged(r,e.lineNumber,i);o=n,s&&t.emitViewEvent(s),a&&(t.emitViewEvent(a),this.viewLayout.onLinesInserted(a.fromLineNumber,a.toLineNumber)),c&&(t.emitViewEvent(c),this.viewLayout.onLinesDeleted(c.fromLineNumber,c.toLineNumber));break}}null!==r&&this._lines.acceptVersionId(r),this.viewLayout.onHeightMaybeChanged(),!i&&o&&(t.emitViewEvent(new ViewLineMappingChangedEvent),t.emitViewEvent(new ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){const t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),i=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:i+this._viewportStart.startLineDelta},1)}}try{const t=this._eventDispatcher.beginEmitViewEvents();e instanceof InternalModelContentChangeEvent&&t.emitOutgoingEvent(new ModelContentChangedEvent(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(e=>{const t=[];for(let i=0,o=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new ViewLanguageConfigurationEvent),this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new ModelLanguageConfigurationChangedEvent(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new ModelLanguageChangedEvent(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new ViewFlushedEvent),e.emitViewEvent(new ViewLineMappingChangedEvent),e.emitViewEvent(new ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new ModelOptionsChangedEvent(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new ViewDecorationsChangedEvent(e)),this._eventDispatcher.emitOutgoingEvent(new ModelDecorationsChangedEvent(e))}))}setHiddenAreas(e,t){this.hiddenAreasModel.setHiddenAreas(t,e);const i=this.hiddenAreasModel.getMergedRanges();if(i===this.previousHiddenAreas)return;this.previousHiddenAreas=i;const o=this._captureStableViewport();let n=!1;try{const e=this._eventDispatcher.beginEmitViewEvents();n=this._lines.setHiddenAreas(i),n&&(e.emitViewEvent(new ViewFlushedEvent),e.emitViewEvent(new ViewLineMappingChangedEvent),e.emitViewEvent(new ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const t=o.viewportStartModelPosition?.lineNumber,r=t&&i.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber);r||o.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),n&&this._eventDispatcher.emitOutgoingEvent(new HiddenAreasChangedEvent)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(146),t=this._configuration.options.get(67),i=Math.max(20,Math.round(e.height/t)),o=this.viewLayout.getLinesViewportData(),n=Math.max(1,o.completelyVisibleStartLineNumber-i),r=Math.min(this.getLineCount(),o.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new Range$2(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(0===i.length)return[t];const o=[];let n=0,r=t.startLineNumber,s=t.startColumn;const a=t.endLineNumber,l=t.endColumn;for(let c=0,d=i.length;ca||(rt.toInlineDecoration(e))]),new ViewLineRenderingData(r.minColumn,r.maxColumn,r.content,r.continuesWithWrappedLine,i,o,r.tokens,t,n,r.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const o=this._lines.getViewLinesData(e,t,i);return new MinimapLinesRenderingData(this.getTabSize(),o)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,filterValidationDecorations(this._configuration.options)),i=new OverviewRulerDecorations;for(const o of t){const t=o.options,n=t.overviewRuler;if(!n)continue;const r=n.position;if(0===r)continue;const s=n.getColor(e.value),a=this.coordinatesConverter.getViewLineNumberOfModelPosition(o.range.startLineNumber,o.range.startColumn),l=this.coordinatesConverter.getViewLineNumberOfModelPosition(o.range.endLineNumber,o.range.endColumn);i.accept(s,t.zIndex,a,l,r)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const e=t.options.overviewRuler;e?.invalidateCachedColor();const i=t.options.minimap;i?.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}getValueLengthInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(i,t)}modifyPosition(e,t){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e),o=this.model.modifyPosition(i,t);return this.coordinatesConverter.convertModelPositionToViewPosition(o)}deduceModelPositionRelativeToViewPosition(e,t,i){const o=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=i:t+=i);const n=this.model.getOffsetAt(o)+t;return this.model.getPositionAt(n)}getPlainTextToCopy(e,t,i){const o=i?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(Range$2.compareRangesUsingStarts);let n=!1,r=!1;for(const a of e)a.isEmpty()?n=!0:r=!0;if(!r){if(!t)return"";const i=e.map(e=>e.startLineNumber);let n="";for(let e=0;e0&&i[e-1]===i[e]||(n+=this.model.getLineContent(i[e])+o);return n}if(n&&t){const t=[];let o=0;for(const n of e){const e=n.startLineNumber;n.isEmpty()?e!==o&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(n,i?2:0)),o=e}return 1===t.length?t[0]:t}const s=[];for(const a of e)a.isEmpty()||s.push(this.model.getValueInRange(a,i?2:0));return 1===s.length?s[0]:s}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===PLAINTEXT_LANGUAGE_ID)return null;if(1!==e.length)return null;let o=e[0];if(o.isEmpty()){if(!t)return null;const e=o.startLineNumber;o=new Range$2(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}const n=this._configuration.options.get(50),r=this._getColorMap();let s;if(/[:;\\\/<>]/.test(n.fontFamily)||n.fontFamily===EDITOR_FONT_DEFAULTS.fontFamily)s=EDITOR_FONT_DEFAULTS.fontFamily;else{s=n.fontFamily,s=s.replace(/"/g,"'");if(!/[,']/.test(s)){/[+ ]/.test(s)&&(s=`'${s}'`)}s=`${s}, ${EDITOR_FONT_DEFAULTS.fontFamily}`}return{mode:i,html:`
    `+this._getHTMLToCopy(o,r)+"
    "}}_getHTMLToCopy(e,t){const i=e.startLineNumber,o=e.startColumn,n=e.endLineNumber,r=e.endColumn,s=this.getTabSize();let a="";for(let l=i;l<=n;l++){const e=this.model.tokenization.getLineTokens(l),c=e.getLineContent(),d=l===i?o-1:0,u=l===n?r-1:c.length;a+=""===c?"
    ":tokenizeLineToHTML(c,e.inflate(),t,d,u,s,isWindows)}return a}_getColorMap(){const e=TokenizationRegistry.getColorMap(),t=["#000000"];if(e)for(let i=1,o=e.length;ithis._cursor.setStates(o,e,t,i))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,i=0){this._withViewEventsCollector(o=>this._cursor.setSelections(o,e,t,i))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new ReadOnlyEditAttemptEvent):this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit(o=>this._cursor.executeEdits(o,e,t,i))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(i=>this._cursor.type(i,e,t))}compositionType(e,t,i,o,n){this._executeCursorEdit(r=>this._cursor.compositionType(r,e,t,i,o,n))}paste(e,t,i,o){this._executeCursorEdit(n=>this._cursor.paste(n,e,t,i,o))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(i=>this._cursor.executeCommand(i,e,t))}executeCommands(e,t){this._executeCursorEdit(i=>this._cursor.executeCommands(i,e,t))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector(o=>this._cursor.revealAll(o,e,i,0,t,0))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector(o=>this._cursor.revealPrimary(o,e,i,0,t,0))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new Range$2(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new ViewRevealRangeRequestEvent(e,!1,i,null,0,!0,0)))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new Range$2(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new ViewRevealRangeRequestEvent(e,!1,i,null,0,!0,0)))}revealRange(e,t,i,o,n){this._withViewEventsCollector(r=>r.emitViewEvent(new ViewRevealRangeRequestEvent(e,!1,i,null,o,t,n)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new ViewZonesChangedEvent$1),this._eventDispatcher.emitOutgoingEvent(new ViewZonesChangedEvent))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>{try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}finally{this._eventDispatcher.endEmitViewEvents()}})}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}};class ViewportStart{static create(e){const t=e._setTrackedRange(null,new Range$2(1,1,1,1),1);return new ViewportStart(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,i,o,n){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=o,this._startLineDelta=n}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new Position$1(t,e.getLineMinColumn(t))),o=e.model._setTrackedRange(this._modelTrackedRange,new Range$2(i.lineNumber,i.column,i.lineNumber,i.column),1),n=e.viewLayout.getVerticalOffsetForLineNumber(t),r=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=o,this._startLineDelta=r-n}invalidate(){this._isValid=!1}}class OverviewRulerDecorations{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,o,n){const r=this._asMap[e];if(r){const e=r.data,t=e[e.length-3],s=e[e.length-1];if(t===n&&s+1>=i)return void(o>s&&(e[e.length-1]=o));e.push(n,i,o)}else{const r=new OverviewRulerDecorationsGroup(e,t,[n,i,o]);this._asMap[e]=r,this.asArray.push(r)}}}class HiddenAreasModel{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const i=this.hiddenAreas.get(e);i&&rangeArraysEqual(i,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce((e,t)=>mergeLineRangeArray(e,t),[]);return rangeArraysEqual(this.ranges,e)||(this.ranges=e),this.ranges}}function mergeLineRangeArray(e,t){const i=[];let o=0,n=0;for(;o=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1S=function(e,t){return function(i,o){t(i,o,e)}},CodeEditorWidget_1;let CodeEditorWidget=class extends Disposable{static{CodeEditorWidget_1=this}static{this.dropIntoEditorDecorationOptions=ModelDecorationOptions.register({description:"workbench-dnd-target",className:"dnd-target"})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(e,t,i,o,n,r,s,a,l,c,d,u){super(),this.languageConfigurationService=d,this._deliveryQueue=createEventDeliveryQueue(),this._contributions=this._register(new CodeEditorContributions),this._onDidDispose=this._register(new Emitter$1),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new BooleanEventEmitter({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new BooleanEventEmitter({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onBeginUpdate=this._register(new Emitter$1),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new Emitter$1),this.onEndUpdate=this._onEndUpdate.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),n.willCreateCodeEditor();const h={...t};let p;this._domElement=e,this._overflowWidgetsDomNode=h.overflowWidgetsDomNode,delete h.overflowWidgetsDomNode,this._id=++EDITOR_ID,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,i.contextMenuId??(i.isSimpleWidget?MenuId.SimpleEditorContext:MenuId.EditorContext),h,c)),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);const t=this._configuration.options;if(e.hasChanged(146)){const e=t.get(146);this._onDidLayoutChange.fire(e)}})),this._contextKeyService=this._register(s.createScoped(this._domElement)),this._notificationService=l,this._codeEditorService=n,this._commandService=r,this._themeService=a,this._register(new EditorContextKeysManager(this,this._contextKeyService)),this._register(new EditorModeContext(this,this._contextKeyService,u)),this._instantiationService=this._register(o.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService]))),this._modelData=null,this._focusTracker=new CodeEditorWidgetFocusTracker(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},p=Array.isArray(i.contributions)?i.contributions:EditorExtensionsRegistry.getEditorContributions(),this._contributions.initialize(this,p,this._instantiationService);for(const m of EditorExtensionsRegistry.getEditorActions()){if(this._actions.has(m.id)){onUnexpectedError(new Error(`Cannot have two actions with the same id ${m.id}`));continue}const e=new InternalEditorAction(m.id,m.label,m.alias,m.metadata,m.precondition??void 0,e=>this._instantiationService.invokeFunction(t=>Promise.resolve(m.runEditorCommand(t,this,e))),this._contextKeyService);this._actions.set(e.id,e)}const g=()=>!this._configuration.options.get(92)&&this._configuration.options.get(36).enabled;this._register(new DragAndDropObserver(this._domElement,{onDragOver:e=>{if(!g())return;const t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!g())return;if(this.removeDropIndicator(),!e.dataTransfer)return;const t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){this._modelData?.view.writeScreenReaderContent(e)}_createConfiguration(e,t,i,o){return new EditorConfiguration(e,t,i,this._domElement,o)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return 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(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?WordOperations.getWordAtPosition(this._modelData.model,this._configuration.options.get(132),this._configuration.options.get(131),e):null}getValue(e=null){if(!this._modelData)return"";const t=!(!e||!e.preserveBOM);let i=0;return e&&e.lineEnding&&"\n"===e.lineEnding?i=1:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(i=2),this._modelData.model.getValue(i,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){try{this._beginUpdate();const t=e;if(null===this._modelData&&null===t)return;if(this._modelData&&this._modelData.model===t)return;const i={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(i);const o=this.hasTextFocus(),n=this._detachModel();this._attachModel(t),o&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(n),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,i,o){const n=e.model.validatePosition({lineNumber:t,column:i}),r=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(r.lineNumber,o)}getTopForLineNumber(e,t=!1){return this._modelData?CodeEditorWidget_1._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?CodeEditorWidget_1._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,o=!1){const n=e.model.validatePosition({lineNumber:t,column:i}),r=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber,o)}getBottomForLineNumber(e,t=!1){if(!this._modelData)return-1;const i=this._modelData.model.getLineMaxColumn(e);return CodeEditorWidget_1._getVerticalOffsetAfterPosition(this._modelData,e,i,t)}setHiddenAreas(e,t){this._modelData?.viewModel.setHiddenAreas(e.map(e=>Range$2.lift(e)),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return CursorColumns.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!Position$1.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,o){if(!this._modelData)return;if(!Range$2.isIRange(e))throw new Error("Invalid arguments");const n=this._modelData.model.validateRange(e),r=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(n);this._modelData.viewModel.revealRange("api",i,r,t,o)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,i){if("number"!=typeof e)throw new Error("Invalid arguments");this._sendRevealRange(new Range$2(e,1,e,1),t,!1,i)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,i,o){if(!Position$1.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new Range$2(e.lineNumber,e.column,e.lineNumber,e.column),t,i,o)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=Selection$1.isISelection(e),o=Range$2.isIRange(e);if(!i&&!o)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(o){const i={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(i,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new Selection$1(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,o){if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new Range$2(e,1,t,1),i,!1,o)}revealRange(e,t=0,i=!1,o=!0){this._revealRange(e,i?1:0,o,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,i,o){if(!Range$2.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(Range$2.lift(e),t,i,o)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||0===e.length)throw new Error("Invalid arguments");for(let t=0,i=e.length;t0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]),this._contributions.restoreViewState(t.contributionsState||{});const i=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(i)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter(e=>e.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,i){i=i||{};try{switch(this._beginUpdate(),t){case"compositionStart":return void this._startComposition();case"compositionEnd":return void this._endComposition(e);case"type":{const t=i;return void this._type(e,t.text||"")}case"replacePreviousChar":{const t=i;return void this._compositionType(e,t.text||"",t.replaceCharCnt||0,0,0)}case"compositionType":{const t=i;return void this._compositionType(e,t.text||"",t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0)}case"paste":{const t=i;return void this._paste(e,t.text||"",t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent)}case"cut":return void this._cut(e)}const o=this.getAction(t);if(o)return void Promise.resolve(o.run(i)).then(void 0,onUnexpectedError);if(!this._modelData)return;if(this._triggerEditorCommand(e,t,i))return;this._triggerCommand(t,i)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&0!==t.length&&("keyboard"===e&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),"keyboard"===e&&this._onDidType.fire(t))}_compositionType(e,t,i,o,n){this._modelData&&this._modelData.viewModel.compositionType(t,i,o,n,e)}_paste(e,t,i,o,n,r){if(!this._modelData)return;const s=this._modelData.viewModel,a=s.getSelection().getStartPosition();s.paste(t,i,o,e);const l=s.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire({clipboardEvent:r,range:new Range$2(a.lineNumber,a.column,l.lineNumber,l.column),languageId:n})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){const o=EditorExtensionsRegistry.getEditorCommand(t);return!!o&&((i=i||{}).source=e,this._instantiationService.invokeFunction(e=>{Promise.resolve(o.runEditorCommand(e,this,i)).then(void 0,onUnexpectedError)}),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!!this._modelData&&(!this._configuration.options.get(92)&&(this._modelData.model.pushStackElement(),!0))}popUndoStop(){return!!this._modelData&&(!this._configuration.options.get(92)&&(this._modelData.model.popStackElement(),!0))}executeEdits(e,t,i){if(!this._modelData)return!1;if(this._configuration.options.get(92))return!1;let o;return o=i?Array.isArray(i)?()=>i:i:()=>null,this._modelData.viewModel.executeEdits(e,t,o),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new EditorDecorationsCollection(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,filterValidationDecorations(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,filterValidationDecorations(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?0===e.length&&0===t.length?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&0!==e.length&&this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(e=>e.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(146)}createOverviewRuler(e){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(e):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!(!this._modelData||!this._modelData.hasRealView)&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id:"+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){const t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){const t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(i)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(e,t):null}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const t=this._modelData.model.validatePosition(e),i=this._configuration.options,o=i.get(146);return{top:CodeEditorWidget_1._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+o.glyphMarginWidth+o.lineNumbersWidth+o.decorationsWidth-this.getScrollLeft(),height:i.get(67)}}getOffsetForColumn(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(e,t):-1}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){applyFontInfo(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e)return void(this._modelData=null);const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const i=e.onBeforeAttached(),o=new ViewModel$1(this._id,this._configuration,e,DOMLineBreaksComputerFactory.create(getWindow$2(this._domElement)),MonospaceLineBreaksComputerFactory.create(this._configuration.options),e=>scheduleAtNextAnimationFrame(getWindow$2(this._domElement),e),this.languageConfigurationService,this._themeService,i,{batchChanges:e=>{try{return this._beginUpdate(),e()}finally{this._endUpdate()}}});t.push(e.onWillDispose(()=>this.setModel(null))),t.push(o.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(t.reachedMaxCursorCount){const e=localize("cursors.maximum","The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",this.getOption(80));this._notificationService.prompt(Severity.Warning,e,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:localize("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const e=[];for(let n=0,r=t.selections.length;n{this._paste("keyboard",e,t,i,o)},type:e=>{this._type("keyboard",e)},compositionType:(e,t,i,o)=>{this._compositionType("keyboard",e,t,i,o)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(e,t,i,o)=>{const n={text:e,pasteOnNewLine:t,multicursorText:i,mode:o};this._commandService.executeCommand("paste",n)},type:e=>{const t={text:e};this._commandService.executeCommand("type",t)},compositionType:(e,t,i,o)=>{if(i||o){const n={text:e,replacePrevCharCnt:t,replaceNextCharCnt:i,positionDelta:o};this._commandService.executeCommand("compositionType",n)}else{const i={text:e,replaceCharCnt:t};this._commandService.executeCommand("replacePreviousChar",i)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const i=new ViewUserInputEvents(e.coordinatesConverter);i.onKeyDown=e=>this._onKeyDown.fire(e),i.onKeyUp=e=>this._onKeyUp.fire(e),i.onContextMenu=e=>this._onContextMenu.fire(e),i.onMouseMove=e=>this._onMouseMove.fire(e),i.onMouseLeave=e=>this._onMouseLeave.fire(e),i.onMouseDown=e=>this._onMouseDown.fire(e),i.onMouseUp=e=>this._onMouseUp.fire(e),i.onMouseDrag=e=>this._onMouseDrag.fire(e),i.onMouseDrop=e=>this._onMouseDrop.fire(e),i.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),i.onMouseWheel=e=>this._onMouseWheel.fire(e);return[new View$1(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),t&&this._domElement.contains(t)&&t.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return null!==this._modelData}showDropIndicatorAt(e){const t=[{range:new Range$2(e.lineNumber,e.column,e.lineNumber,e.column),options:CodeEditorWidget_1.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,0===this._updateCounter&&this._onEndUpdate.fire()}};CodeEditorWidget=CodeEditorWidget_1=__decorate$1W([__param$1S(3,IInstantiationService),__param$1S(4,ICodeEditorService),__param$1S(5,ICommandService),__param$1S(6,IContextKeyService),__param$1S(7,IThemeService),__param$1S(8,INotificationService),__param$1S(9,IAccessibilityService),__param$1S(10,ILanguageConfigurationService),__param$1S(11,ILanguageFeaturesService)],CodeEditorWidget);let EDITOR_ID=0;class ModelData{constructor(e,t,i,o,n,r){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=o,this.listenersToRemove=n,this.attachedView=r}dispose(){dispose(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class BooleanEventEmitter extends Disposable{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new Emitter$1(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new Emitter$1(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class InteractionEmitter extends Emitter$1{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class EditorContextKeysManager extends Disposable{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=EditorContextKeys.editorSimpleInput.bindTo(t),this._editorFocus=EditorContextKeys.focus.bindTo(t),this._textInputFocus=EditorContextKeys.textInputFocus.bindTo(t),this._editorTextFocus=EditorContextKeys.editorTextFocus.bindTo(t),this._tabMovesFocus=EditorContextKeys.tabMovesFocus.bindTo(t),this._editorReadonly=EditorContextKeys.readOnly.bindTo(t),this._inDiffEditor=EditorContextKeys.inDiffEditor.bindTo(t),this._editorColumnSelection=EditorContextKeys.columnSelection.bindTo(t),this._hasMultipleSelections=EditorContextKeys.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=EditorContextKeys.hasNonEmptySelection.bindTo(t),this._canUndo=EditorContextKeys.canUndo.bindTo(t),this._canRedo=EditorContextKeys.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(TabFocus.onDidChangeTabFocus(e=>this._tabMovesFocus.set(e))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(TabFocus.getTabFocusMode()),this._editorReadonly.set(e.get(92)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const e=this._editor.getModel();this._canUndo.set(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))}}class EditorModeContext extends Disposable{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=EditorContextKeys.languageId.bindTo(t),this._hasCompletionItemProvider=EditorContextKeys.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=EditorContextKeys.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=EditorContextKeys.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=EditorContextKeys.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=EditorContextKeys.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=EditorContextKeys.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=EditorContextKeys.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=EditorContextKeys.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=EditorContextKeys.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=EditorContextKeys.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=EditorContextKeys.hasReferenceProvider.bindTo(t),this._hasRenameProvider=EditorContextKeys.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=EditorContextKeys.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=EditorContextKeys.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=EditorContextKeys.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=EditorContextKeys.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=EditorContextKeys.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=EditorContextKeys.isInEmbeddedEditor.bindTo(t);const o=()=>this._update();this._register(e.onDidChangeModel(o)),this._register(e.onDidChangeModelLanguage(o)),this._register(i.completionProvider.onDidChange(o)),this._register(i.codeActionProvider.onDidChange(o)),this._register(i.codeLensProvider.onDidChange(o)),this._register(i.definitionProvider.onDidChange(o)),this._register(i.declarationProvider.onDidChange(o)),this._register(i.implementationProvider.onDidChange(o)),this._register(i.typeDefinitionProvider.onDidChange(o)),this._register(i.hoverProvider.onDidChange(o)),this._register(i.documentHighlightProvider.onDidChange(o)),this._register(i.documentSymbolProvider.onDidChange(o)),this._register(i.referenceProvider.onDidChange(o)),this._register(i.renameProvider.onDidChange(o)),this._register(i.documentFormattingEditProvider.onDidChange(o)),this._register(i.documentRangeFormattingEditProvider.onDidChange(o)),this._register(i.signatureHelpProvider.onDidChange(o)),this._register(i.inlayHintsProvider.onDidChange(o)),o()}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 e=this._editor.getModel();e?this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===Schemas.walkThroughSnippet||e.uri.scheme===Schemas.vscodeChatCodeBlock)}):this.reset()}}class CodeEditorWidgetFocusTracker extends Disposable{constructor(e,t){super(),this._onChange=this._register(new Emitter$1),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(trackFocus(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),t&&(this._overflowWidgetsDomNode=this._register(trackFocus(t)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){return this._hadFocus??!1}}class EditorDecorationsCollection{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,i){return this._editor.onDidChangeModelDecorations(i=>{this._isChangingDecorations||e.call(t,i)},i)}getRange(e){return this._editor.hasModel()?e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e]):null}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const i of this._decorationIds){const o=e.getDecorationRange(i);o&&t.push(o)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){0!==this._decorationIds.length&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(i=>{t=i.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}}const squigglyStart=encodeURIComponent("");function getSquigglySVGData(e){return squigglyStart+encodeURIComponent(e.toString())+squigglyEnd}const dotdotdotStart=encodeURIComponent('');function getDotDotDotSVGData(e){return dotdotdotStart+encodeURIComponent(e.toString())+dotdotdotEnd}registerThemingParticipant((e,t)=>{const i=e.getColor(editorErrorForeground);i&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${getSquigglySVGData(i)}") repeat-x bottom left; }`);const o=e.getColor(editorWarningForeground);o&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${getSquigglySVGData(o)}") repeat-x bottom left; }`);const n=e.getColor(editorInfoForeground);n&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${getSquigglySVGData(n)}") repeat-x bottom left; }`);const r=e.getColor(editorHintForeground);r&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${getDotDotDotSVGData(r)}") no-repeat bottom left; }`);const s=e.getColor(editorUnnecessaryCodeOpacity);s&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${s.rgba.a}; }`)});class StableEditorScrollState{static capture(e){if(0===e.getScrollTop()||e.hasPendingScrollAnimation())return new StableEditorScrollState(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,i=0;const o=e.getVisibleRanges();if(o.length>0){t=o[0].getStartPosition();const n=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-n}return new StableEditorScrollState(e.getScrollTop(),e.getContentHeight(),t,i,e.getPosition())}constructor(e,t,i,o,n){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=i,this._visiblePositionScrollDelta=o,this._cursorPosition=n}restore(e){if((this._initialContentHeight!==e.getContentHeight()||this._initialScrollTop!==e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+i,1)}}function joinCombine(e,t,i,o){if(0===e.length)return t;if(0===t.length)return e;const n=[];let r=0,s=0;for(;rd?(n.push(l),s++):(n.push(o(a,l)),r++,s++)}for(;r`Apply decorations from ${t.debugName}`},e=>{const i=t.read(e);o.set(i)})),i.add({dispose:()=>{o.clear()}}),i}function appendRemoveOnDispose(e,t){return e.appendChild(t),toDisposable(()=>{t.remove()})}function prependRemoveOnDispose(e,t){return e.prepend(t),toDisposable(()=>{t.remove()})}class ObservableElementSizeObserver extends Disposable{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(e,t){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new ElementSizeObserver(e,t)),this._width=observableValue(this,this.elementSizeObserver.getWidth()),this._height=observableValue(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(e=>transaction(e=>{this._width.set(this.elementSizeObserver.getWidth(),e),this._height.set(this.elementSizeObserver.getHeight(),e)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){this._automaticLayout=e,e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function animatedObservable(e,t,i){let o=t.get(),n=o,r=o;const s=observableValue("animatedValue",o);let a=-1;let l;function c(){const t=Date.now()-a;r=Math.floor(easeOutExpo(t,n,o-n,300)),t<300?l=e.requestAnimationFrame(c):r=o,s.set(r,void 0)}return i.add(autorunHandleChanges({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(e,i)=>(e.didChange(t)&&(i.animate=i.animate||e.change),!0)},(i,s)=>{void 0!==l&&(e.cancelAnimationFrame(l),l=void 0),n=r,o=t.read(i),a=Date.now()-(s.animate?0:300),c()})),s}function easeOutExpo(e,t,i,o){return e===o?t+i:i*(1-Math.pow(2,-10*e/o))+t}class ViewZoneOverlayWidget extends Disposable{constructor(e,t,i){super(),this._register(new ManagedOverlayWidget(e,i)),this._register(applyStyle(i,{height:t.actualHeight,top:t.actualTop}))}}class PlaceholderViewZone{get afterLineNumber(){return this._afterLineNumber.get()}constructor(e,t){this._afterLineNumber=e,this.heightInPx=t,this.domNode=document.createElement("div"),this._actualTop=observableValue(this,void 0),this._actualHeight=observableValue(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=e=>{this._actualTop.set(e,void 0)},this.onComputedHeight=e=>{this._actualHeight.set(e,void 0)}}}class ManagedOverlayWidget{static{this._counter=0}constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId="managedOverlayWidget-"+ManagedOverlayWidget._counter++,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function applyStyle(e,t){return autorun(i=>{for(let[o,n]of Object.entries(t))n&&"object"==typeof n&&"read"in n&&(n=n.read(i)),"number"==typeof n&&(n=`${n}px`),o=o.replace(/[A-Z]/g,e=>"-"+e.toLowerCase()),e.style[o]=n})}function applyViewZones(e,t,i,o){const n=new DisposableStore,r=[];return n.add(autorunWithStore((n,s)=>{const a=t.read(n),l=new Map,c=new Map;i&&i(!0),e.changeViewZones(e=>{for(const t of r)e.removeZone(t),o?.delete(t);r.length=0;for(const t of a){const i=e.addZone(t);t.setZoneId&&t.setZoneId(i),r.push(i),o?.add(i),l.set(t,i)}}),i&&i(!1),s.add(autorunHandleChanges({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(e,t){const i=c.get(e.changedObservable);return void 0!==i&&t.zoneIds.push(i),!0}},(t,o)=>{for(const e of a)e.onChange&&(c.set(e.onChange,l.get(e)),e.onChange.read(t));i&&i(!0),e.changeViewZones(e=>{for(const t of o.zoneIds)e.layoutZone(t)}),i&&i(!1)}))})),n.add({dispose(){i&&i(!0),e.changeViewZones(e=>{for(const t of r)e.removeZone(t)}),o?.clear(),i&&i(!1)}}),n}class DisposableCancellationTokenSource extends CancellationTokenSource$1{dispose(){super.dispose(!0)}}function translatePosition(e,t){const i=findLast$1(t,t=>t.original.startLineNumber<=e.lineNumber);if(!i)return Range$2.fromPositions(e);if(i.original.endLineNumberExclusive<=e.lineNumber){const t=e.lineNumber-i.original.endLineNumberExclusive+i.modified.endLineNumberExclusive;return Range$2.fromPositions(new Position$1(t,e.column))}if(!i.innerChanges)return Range$2.fromPositions(new Position$1(i.modified.startLineNumber,1));const o=findLast$1(i.innerChanges,t=>t.originalRange.getStartPosition().isBeforeOrEqual(e));if(!o){const t=e.lineNumber-i.original.startLineNumber+i.modified.startLineNumber;return Range$2.fromPositions(new Position$1(t,e.column))}if(o.originalRange.containsPosition(e))return o.modifiedRange;{const t=lengthBetweenPositions(o.originalRange.getEndPosition(),e);return Range$2.fromPositions(t.addToPosition(o.modifiedRange.getEndPosition()))}}function lengthBetweenPositions(e,t){return e.lineNumber===t.lineNumber?new TextLength(0,t.column-e.column):new TextLength(t.lineNumber-e.lineNumber,t.column-1)}function filterWithPrevious(e,t){let i;return e.filter(e=>{const o=t(e,i);return i=e,o})}class RefCounted{static create(e,t=void 0){return new BaseRefCounted(e,e,t)}static createWithDisposable(e,t,i=void 0){const o=new DisposableStore;return o.add(t),o.add(e),new BaseRefCounted(e,o,i)}}class BaseRefCounted extends RefCounted{constructor(e,t,i){super(),this.object=e,this._disposable=t,this._debugOwner=i,this._refCount=1,this._isDisposed=!1,this._owners=[],i&&this._addOwner(i)}_addOwner(e){e&&this._owners.push(e)}createNewRef(e){return this._refCount++,e&&this._addOwner(e),new ClonedRefCounted(this,e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(e){if(this._refCount--,0===this._refCount&&this._disposable.dispose(),e){const t=this._owners.indexOf(e);-1!==t&&this._owners.splice(t,1)}}}class ClonedRefCounted extends RefCounted{constructor(e,t){super(),this._base=e,this._debugOwner=t,this._isDisposed=!1}get object(){return this._base.object}createNewRef(e){return this._base.createNewRef(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}var __decorate$1V=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1R=function(e,t){return function(i,o){t(i,o,e)}};const accessibleDiffViewerInsertIcon=registerIcon("diff-review-insert",Codicon.add,localize("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),accessibleDiffViewerRemoveIcon=registerIcon("diff-review-remove",Codicon.remove,localize("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),accessibleDiffViewerCloseIcon=registerIcon("diff-review-close",Codicon.close,localize("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer."));let AccessibleDiffViewer=class extends Disposable{static{this._ttPolicy=createTrustedTypesPolicy("diffReview",{createHTML:e=>e})}constructor(e,t,i,o,n,r,s,a,l){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=o,this._width=n,this._height=r,this._diffs=s,this._models=a,this._instantiationService=l,this._state=derivedWithStore(this,(e,t)=>{const i=this._visible.read(e);if(this._parentNode.style.visibility=i?"visible":"hidden",!i)return null;const o=t.add(this._instantiationService.createInstance(ViewModel,this._diffs,this._models,this._setVisible,this._canClose));return{model:o,view:t.add(this._instantiationService.createInstance(View,this._parentNode,o,this._width,this._height,this._models))}}).recomputeInitiallyAndOnChange(this._store)}next(){transaction(e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){transaction(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){transaction(e=>{this._setVisible(!1,e)})}};AccessibleDiffViewer=__decorate$1V([__param$1R(8,IInstantiationService)],AccessibleDiffViewer);let ViewModel=class extends Disposable{constructor(e,t,i,o,n){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=o,this._accessibilitySignalService=n,this._groups=observableValue(this,[]),this._currentGroupIdx=observableValue(this,0),this._currentElementIdx=observableValue(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((e,t)=>this._groups.read(t)[e]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((e,t)=>this.currentGroup.read(t)?.lines[e]),this._register(autorun(e=>{const t=this._diffs.read(e);if(!t)return void this._groups.set([],void 0);const i=computeViewElementGroups(t,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());transaction(e=>{const t=this._models.getModifiedPosition();if(t){const o=i.findIndex(e=>t?.lineNumber{const t=this.currentElement.read(e);t?.type===LineType.Deleted?this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):t?.type===LineType.Added&&this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register(autorun(e=>{const t=this.currentElement.read(e);if(t&&t.type!==LineType.Header){const e=t.modifiedLineNumber??t.diff.modified.startLineNumber;this._models.modifiedSetSelection(Range$2.fromPositions(new Position$1(e,1)))}}))}_goToGroupDelta(e,t){const i=this.groups.get();!i||i.length<=1||subtransaction(t,t=>{this._currentGroupIdx.set(OffsetRange.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),t),this._currentElementIdx.set(0,t)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||transaction(i=>{this._currentElementIdx.set(OffsetRange.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const i=t.lines.indexOf(e);-1!==i&&transaction(e=>{this._currentElementIdx.set(i,e)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===LineType.Deleted?this._models.originalReveal(Range$2.fromPositions(new Position$1(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==LineType.Header?Range$2.fromPositions(new Position$1(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};ViewModel=__decorate$1V([__param$1R(4,IAccessibilitySignalService)],ViewModel);const viewElementGroupLineMargin=3;function computeViewElementGroups(e,t,i){const o=[];for(const n of groupAdjacentBy(e,(e,t)=>t.modified.startLineNumber-e.modified.endLineNumberExclusive<2*viewElementGroupLineMargin)){const e=[];e.push(new HeaderViewElement);const r=new LineRange$1(Math.max(1,n[0].original.startLineNumber-viewElementGroupLineMargin),Math.min(n[n.length-1].original.endLineNumberExclusive+viewElementGroupLineMargin,t+1)),s=new LineRange$1(Math.max(1,n[0].modified.startLineNumber-viewElementGroupLineMargin),Math.min(n[n.length-1].modified.endLineNumberExclusive+viewElementGroupLineMargin,i+1));forEachAdjacent(n,(t,i)=>{const o=new LineRange$1(t?t.original.endLineNumberExclusive:r.startLineNumber,i?i.original.startLineNumber:r.endLineNumberExclusive),n=new LineRange$1(t?t.modified.endLineNumberExclusive:s.startLineNumber,i?i.modified.startLineNumber:s.endLineNumberExclusive);o.forEach(t=>{e.push(new UnchangedLineViewElement(t,n.startLineNumber+(t-o.startLineNumber)))}),i&&(i.original.forEach(t=>{e.push(new DeletedLineViewElement(i,t))}),i.modified.forEach(t=>{e.push(new AddedLineViewElement(i,t))}))});const a=n[0].modified.join(n[n.length-1].modified),l=n[0].original.join(n[n.length-1].original);o.push(new ViewElementGroup(new LineRangeMapping(a,l),e))}return o}var LineType;!function(e){e[e.Header=0]="Header",e[e.Unchanged=1]="Unchanged",e[e.Deleted=2]="Deleted",e[e.Added=3]="Added"}(LineType||(LineType={}));class ViewElementGroup{constructor(e,t){this.range=e,this.lines=t}}class HeaderViewElement{constructor(){this.type=LineType.Header}}class DeletedLineViewElement{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=LineType.Deleted,this.modifiedLineNumber=void 0}}class AddedLineViewElement{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=LineType.Added,this.originalLineNumber=void 0}}class UnchangedLineViewElement{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=LineType.Unchanged}}let View=class extends Disposable{constructor(e,t,i,o,n,r){super(),this._element=e,this._model=t,this._width=i,this._height=o,this._models=n,this._languageService=r,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const s=document.createElement("div");s.className="diff-review-actions",this._actionBar=this._register(new ActionBar(s)),this._register(autorun(e=>{this._actionBar.clear(),this._model.canClose.read(e)&&this._actionBar.push(new Action("diffreview.close",localize("label.close","Close"),"close-diff-review "+ThemeIcon.asClassName(accessibleDiffViewerCloseIcon),!0,async()=>t.close()),{label:!1,icon:!0})})),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new DomScrollableElement(this._content,{})),reset(this.domNode,this._scrollbar.getDomNode(),s),this._register(autorun(e=>{this._height.read(e),this._width.read(e),this._scrollbar.scanDomNode()})),this._register(toDisposable(()=>{reset(this.domNode)})),this._register(applyStyle(this.domNode,{width:this._width,height:this._height})),this._register(applyStyle(this._content,{width:this._width,height:this._height})),this._register(autorunWithStore((e,t)=>{this._model.currentGroup.read(e),this._render(t)})),this._register(addStandardDisposableListener(this.domNode,"keydown",e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._model.goToNextLine()),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._model.goToPreviousLine()),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this._model.close()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){const t=this._models.getOriginalOptions(),i=this._models.getModifiedOptions(),o=document.createElement("div");o.className="diff-review-table",o.setAttribute("role","list"),o.setAttribute("aria-label",localize("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),applyFontInfo(o,i.get(50)),reset(this._content,o);const n=this._models.getOriginalModel(),r=this._models.getModifiedModel();if(!n||!r)return;const s=n.getOptions(),a=r.getOptions(),l=i.get(67),c=this._model.currentGroup.get();for(const d of c?.lines||[]){if(!c)break;let u;if(d.type===LineType.Header){const e=document.createElement("div");e.className="diff-review-row",e.setAttribute("role","listitem");const t=c.range,i=this._model.currentGroupIndex.get(),o=this._model.groups.get().length,n=e=>0===e?localize("no_lines_changed","no lines changed"):1===e?localize("one_line_changed","1 line changed"):localize("more_lines_changed","{0} lines changed",e),r=n(t.original.length),s=n(t.modified.length);e.setAttribute("aria-label",localize({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",i+1,o,t.original.startLineNumber,r,t.modified.startLineNumber,s));const a=document.createElement("div");a.className="diff-review-cell diff-review-summary",a.appendChild(document.createTextNode(`${i+1}/${o}: @@ -${t.original.startLineNumber},${t.original.length} +${t.modified.startLineNumber},${t.modified.length} @@`)),e.appendChild(a),u=e}else u=this._createRow(d,l,this._width.get(),t,n,s,i,r,a);o.appendChild(u);const h=derived(e=>this._model.currentElement.read(e)===d);e.add(autorun(e=>{const t=h.read(e);u.tabIndex=t?0:-1,t&&u.focus()})),e.add(addDisposableListener(u,"focus",()=>{this._model.goToLine(d)}))}this._scrollbar.scanDomNode()}_createRow(e,t,i,o,n,r,s,a,l){const c=o.get(146),d=c.glyphMarginWidth+c.lineNumbersWidth,u=s.get(146),h=10+u.glyphMarginWidth+u.lineNumbersWidth;let p="diff-review-row",g="";let m=null;switch(e.type){case LineType.Added:p="diff-review-row line-insert",g=" char-insert",m=accessibleDiffViewerInsertIcon;break;case LineType.Deleted:p="diff-review-row line-delete",g=" char-delete",m=accessibleDiffViewerRemoveIcon}const f=document.createElement("div");f.style.minWidth=i+"px",f.className=p,f.setAttribute("role","listitem"),f.ariaLevel="";const v=document.createElement("div");v.className="diff-review-cell",v.style.height=`${t}px`,f.appendChild(v);const b=document.createElement("span");b.style.width=d+"px",b.style.minWidth=d+"px",b.className="diff-review-line-number"+g,void 0!==e.originalLineNumber?b.appendChild(document.createTextNode(String(e.originalLineNumber))):b.innerText=" ",v.appendChild(b);const _=document.createElement("span");_.style.width=h+"px",_.style.minWidth=h+"px",_.style.paddingRight="10px",_.className="diff-review-line-number"+g,void 0!==e.modifiedLineNumber?_.appendChild(document.createTextNode(String(e.modifiedLineNumber))):_.innerText=" ",v.appendChild(_);const y=document.createElement("span");if(y.className="diff-review-spacer",m){const e=document.createElement("span");e.className=ThemeIcon.asClassName(m),e.innerText="  ",y.appendChild(e)}else y.innerText="  ";let C;if(v.appendChild(y),void 0!==e.modifiedLineNumber){let t=this._getLineHtml(a,s,l.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);AccessibleDiffViewer._ttPolicy&&(t=AccessibleDiffViewer._ttPolicy.createHTML(t)),v.insertAdjacentHTML("beforeend",t),C=a.getLineContent(e.modifiedLineNumber)}else{let t=this._getLineHtml(n,o,r.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);AccessibleDiffViewer._ttPolicy&&(t=AccessibleDiffViewer._ttPolicy.createHTML(t)),v.insertAdjacentHTML("beforeend",t),C=n.getLineContent(e.originalLineNumber)}0===C.length&&(C=localize("blankLine","blank"));let w="";switch(e.type){case LineType.Unchanged:w=e.originalLineNumber===e.modifiedLineNumber?localize({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",C,e.originalLineNumber):localize("equalLine","{0} original line {1} modified line {2}",C,e.originalLineNumber,e.modifiedLineNumber);break;case LineType.Added:w=localize("insertLine","+ {0} modified line {1}",C,e.modifiedLineNumber);break;case LineType.Deleted:w=localize("deleteLine","- {0} original line {1}",C,e.originalLineNumber)}return f.setAttribute("aria-label",w),f}_getLineHtml(e,t,i,o,n){const r=e.getLineContent(o),s=t.get(50),a=LineTokens.createEmpty(r,n),l=ViewLineRenderingData.isBasicASCII(r,e.mightContainNonBasicASCII()),c=ViewLineRenderingData.containsRTL(r,l,e.mightContainRTL());return renderViewLine2(new RenderLineInput(s.isMonospace&&!t.get(33),s.canUseHalfwidthRightwardsArrow,r,!1,l,c,0,a,[],i,0,s.spaceWidth,s.middotWidth,s.wsmiddotWidth,t.get(118),t.get(100),t.get(95),t.get(51)!==EditorFontLigatures.OFF,null)).html}};View=__decorate$1V([__param$1R(5,ILanguageService)],View);class AccessibleDiffViewerModelFromEditors{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}registerColor("diffEditor.move.border","#8b8b8b9c",localize("diffEditor.move.border","The border color for text that got moved in the diff editor.")),registerColor("diffEditor.moveActive.border","#FFA500",localize("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor.")),registerColor("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},localize("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));const diffInsertIcon=registerIcon("diff-insert",Codicon.add,localize("diffInsertIcon","Line decoration for inserts in the diff editor.")),diffRemoveIcon=registerIcon("diff-remove",Codicon.remove,localize("diffRemoveIcon","Line decoration for removals in the diff editor.")),diffLineAddDecorationBackgroundWithIndicator=ModelDecorationOptions.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+ThemeIcon.asClassName(diffInsertIcon),marginClassName:"gutter-insert"}),diffLineDeleteDecorationBackgroundWithIndicator=ModelDecorationOptions.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+ThemeIcon.asClassName(diffRemoveIcon),marginClassName:"gutter-delete"}),diffLineAddDecorationBackground=ModelDecorationOptions.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),diffLineDeleteDecorationBackground=ModelDecorationOptions.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),diffAddDecoration=ModelDecorationOptions.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),diffWholeLineAddDecoration=ModelDecorationOptions.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),diffAddDecorationEmpty=ModelDecorationOptions.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),diffDeleteDecoration=ModelDecorationOptions.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),diffWholeLineDeleteDecoration=ModelDecorationOptions.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),diffDeleteDecorationEmpty=ModelDecorationOptions.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});var __decorate$1U=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1Q=function(e,t){return function(i,o){t(i,o,e)}},WorkerBasedDocumentDiffProvider_1;const IDiffProviderFactoryService=createDecorator("diffProviderFactoryService");let WorkerBasedDiffProviderFactoryService=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(WorkerBasedDocumentDiffProvider,e)}};WorkerBasedDiffProviderFactoryService=__decorate$1U([__param$1Q(0,IInstantiationService)],WorkerBasedDiffProviderFactoryService),registerSingleton(IDiffProviderFactoryService,WorkerBasedDiffProviderFactoryService,1);let WorkerBasedDocumentDiffProvider=class{static{WorkerBasedDocumentDiffProvider_1=this}static{this.diffCache=new Map}constructor(e,t,i){this.editorWorkerService=t,this.telemetryService=i,this.onDidChangeEventEmitter=new Emitter$1,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(e,t,i,o){if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(e,t,i,o);if(e.isDisposed()||t.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return 1===t.getLineCount()&&1===t.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new DetailedLineRangeMapping(new LineRange$1(1,2),new LineRange$1(1,t.getLineCount()+1),[new RangeMapping(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const n=JSON.stringify([e.uri.toString(),t.uri.toString()]),r=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(i)]),s=WorkerBasedDocumentDiffProvider_1.diffCache.get(n);if(s&&s.context===r)return s.result;const a=StopWatch.create(),l=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),c=a.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:c,timedOut:l?.quitEarly??!0,detectedMoves:i.computeMoves?l?.moves.length??0:-1}),o.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!l)throw new Error("no diff result available");return WorkerBasedDocumentDiffProvider_1.diffCache.size>10&&WorkerBasedDocumentDiffProvider_1.diffCache.delete(WorkerBasedDocumentDiffProvider_1.diffCache.keys().next().value),WorkerBasedDocumentDiffProvider_1.diffCache.set(n,{result:l,context:r}),l}setOptions(e){let t=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,"string"!=typeof e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),t=!0),t&&this.onDidChangeEventEmitter.fire()}},hotReloadHandlers;function isHotReloadEnabled(){return env&&!!env.VSCODE_DEV}function registerHotReloadHandler(e){if(isHotReloadEnabled()){const t=registerGlobalHotReloadHandler();return t.add(e),{dispose(){t.delete(e)}}}return{dispose(){}}}function registerGlobalHotReloadHandler(){hotReloadHandlers||(hotReloadHandlers=new Set);const e=globalThis;return e.$hotReload_applyNewExports||(e.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e},i=[];for(const o of hotReloadHandlers){const e=o(t);e&&i.push(e)}if(i.length>0)return e=>{let t=!1;for(const o of i)o(e)&&(t=!0);return t}}),hotReloadHandlers}function readHotReloadableExport(e,t){return observeHotReloadableExports([e],t),e}function observeHotReloadableExports(e,t){if(isHotReloadEnabled()){const i=observableSignalFromEvent("reload",t=>registerHotReloadHandler(({oldExports:i})=>{if([...Object.values(i)].some(t=>e.includes(t)))return e=>(t(void 0),!0)}));i.read(t)}}WorkerBasedDocumentDiffProvider=WorkerBasedDocumentDiffProvider_1=__decorate$1U([__param$1Q(1,IEditorWorkerService),__param$1Q(2,ITelemetryService)],WorkerBasedDocumentDiffProvider),isHotReloadEnabled()&®isterHotReloadHandler(({oldExports:e,newSrc:t,config:i})=>{if("patch-prototype"===i.mode)return t=>{for(const i in t){const o=t[i];if(console.log(`[hot-reload] Patching prototype methods of '${i}'`,{exportedItem:o}),"function"==typeof o&&o.prototype){const n=e[i];if(n){for(const e of Object.getOwnPropertyNames(o.prototype)){const t=Object.getOwnPropertyDescriptor(o.prototype,e),r=Object.getOwnPropertyDescriptor(n.prototype,e);t?.value?.toString()!==r?.value?.toString()&&console.log(`[hot-reload] Patching prototype method '${i}.${e}'`),Object.defineProperty(n.prototype,e,t)}t[i]=n}}}return!0}});var __decorate$1T=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1P=function(e,t){return function(i,o){t(i,o,e)}};let DiffEditorViewModel=class extends Disposable{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=observableValue(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=observableValue(this,void 0),this.diff=this._diff,this._unchangedRegions=observableValue(this,void 0),this.unchangedRegions=derived(this,e=>this._options.hideUnchangedRegions.read(e)?this._unchangedRegions.read(e)?.regions??[]:(transaction(e=>{for(const t of this._unchangedRegions.get()?.regions||[])t.collapseAll(e)}),[])),this.movedTextToCompare=observableValue(this,void 0),this._activeMovedText=observableValue(this,void 0),this._hoveredMovedText=observableValue(this,void 0),this.activeMovedText=derived(this,e=>this.movedTextToCompare.read(e)??this._hoveredMovedText.read(e)??this._activeMovedText.read(e)),this._cancellationTokenSource=new CancellationTokenSource$1,this._diffProvider=derived(this,e=>{const t=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(e)});return{diffProvider:t,onChangeSignal:observableSignalFromEvent("onDidChange",t.onDidChange)}}),this._register(toDisposable(()=>this._cancellationTokenSource.cancel()));const o=observableSignal("contentChangedSignal"),n=this._register(new RunOnceScheduler(()=>o.trigger(void 0),200));this._register(autorun(t=>{const i=this._unchangedRegions.read(t);if(!i||i.regions.some(e=>e.isDragged.read(t)))return;const o=i.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?LineRange$1.fromRangeInclusive(e):void 0),n=i.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?LineRange$1.fromRangeInclusive(e):void 0),r=i.regions.map((e,i)=>o[i]&&n[i]?new UnchangedRegion(o[i].startLineNumber,n[i].startLineNumber,o[i].length,e.visibleLineCountTop.read(t),e.visibleLineCountBottom.read(t)):void 0).filter(isDefined),s=[];let a=!1;for(const e of groupAdjacentBy(r,(e,i)=>e.getHiddenModifiedRange(t).endLineNumberExclusive===i.getHiddenModifiedRange(t).startLineNumber))if(e.length>1){a=!0;const t=e.reduce((e,t)=>e+t.lineCount,0),i=new UnchangedRegion(e[0].originalLineNumber,e[0].modifiedLineNumber,t,e[0].visibleLineCountTop.get(),e[e.length-1].visibleLineCountBottom.get());s.push(i)}else s.push(e[0]);if(a){const t=e.original.deltaDecorations(i.originalDecorationIds,s.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),o=e.modified.deltaDecorations(i.modifiedDecorationIds,s.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));transaction(e=>{this._unchangedRegions.set({regions:s,originalDecorationIds:t,modifiedDecorationIds:o},e)})}}));const r=(t,i,o)=>{const n=UnchangedRegion.fromDiffs(t.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(o),this._options.hideUnchangedRegionsContextLineCount.read(o));let r;const s=this._unchangedRegions.get();if(s){const t=s.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?LineRange$1.fromRangeInclusive(e):void 0),i=s.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?LineRange$1.fromRangeInclusive(e):void 0);let n=filterWithPrevious(s.regions.map((e,o)=>{if(!t[o]||!i[o])return;const n=t[o].length;return new UnchangedRegion(t[o].startLineNumber,i[o].startLineNumber,n,Math.min(e.visibleLineCountTop.get(),n),Math.min(e.visibleLineCountBottom.get(),n-e.visibleLineCountTop.get()))}).filter(isDefined),(e,t)=>!t||e.modifiedLineNumber>=t.modifiedLineNumber+t.lineCount&&e.originalLineNumber>=t.originalLineNumber+t.lineCount).map(e=>new LineRangeMapping(e.getHiddenOriginalRange(o),e.getHiddenModifiedRange(o)));n=LineRangeMapping.clip(n,LineRange$1.ofLength(1,e.original.getLineCount()),LineRange$1.ofLength(1,e.modified.getLineCount())),r=LineRangeMapping.inverse(n,e.original.getLineCount(),e.modified.getLineCount())}const a=[];if(r)for(const e of n){const t=r.filter(t=>t.original.intersectsStrict(e.originalUnchangedRange)&&t.modified.intersectsStrict(e.modifiedUnchangedRange));a.push(...e.setVisibleRanges(t,i))}else a.push(...n);const l=e.original.deltaDecorations(s?.originalDecorationIds||[],a.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),c=e.modified.deltaDecorations(s?.modifiedDecorationIds||[],a.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:a,originalDecorationIds:l,modifiedDecorationIds:c},i)};this._register(e.modified.onDidChangeContent(t=>{if(this._diff.get()){const i=TextEditInfo.fromModelContentChanges(t.changes);applyModifiedEdits(this._lastDiff,i,e.original,e.modified)}this._isDiffUpToDate.set(!1,void 0),n.schedule()})),this._register(e.original.onDidChangeContent(t=>{if(this._diff.get()){const i=TextEditInfo.fromModelContentChanges(t.changes);applyOriginalEdits(this._lastDiff,i,e.original,e.modified)}this._isDiffUpToDate.set(!1,void 0),n.schedule()})),this._register(autorunWithStore(async(t,i)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(t),this._options.hideUnchangedRegionsContextLineCount.read(t),n.cancel(),o.read(t);const s=this._diffProvider.read(t);s.onChangeSignal.read(t),readHotReloadableExport(DefaultLinesDiffComputer,t),readHotReloadableExport(optimizeSequenceDiffs,t),this._isDiffUpToDate.set(!1,void 0);let a=[];i.add(e.original.onDidChangeContent(e=>{const t=TextEditInfo.fromModelContentChanges(e.changes);a=combineTextEditInfos(a,t)}));let l=[];i.add(e.modified.onDidChangeContent(e=>{const t=TextEditInfo.fromModelContentChanges(e.changes);l=combineTextEditInfos(l,t)}));let c=await s.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(t),maxComputationTimeMs:this._options.maxComputationTimeMs.read(t),computeMoves:this._options.showMoves.read(t)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||e.original.isDisposed()||e.modified.isDisposed()||(c=normalizeDocumentDiff(c,e.original,e.modified),c=applyOriginalEdits(c,a,e.original,e.modified)??c,c=applyModifiedEdits(c,l,e.original,e.modified)??c,transaction(e=>{r(c,e),this._lastDiff=c;const t=DiffState.fromDiffResult(c);this._diff.set(t,e),this._isDiffUpToDate.set(!0,e);const i=this.movedTextToCompare.get();this.movedTextToCompare.set(i?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(i.lineRangeMapping.modified)):void 0,e)}))}))}ensureModifiedLineIsVisible(e,t,i){if(0===this.diff.get()?.mappings.length)return;const o=this._unchangedRegions.get()?.regions||[];for(const n of o)if(n.getHiddenModifiedRange(void 0).contains(e))return void n.showModifiedLine(e,t,i)}ensureOriginalLineIsVisible(e,t,i){if(0===this.diff.get()?.mappings.length)return;const o=this._unchangedRegions.get()?.regions||[];for(const n of o)if(n.getHiddenOriginalRange(void 0).contains(e))return void n.showOriginalLine(e,t,i)}async waitForDiff(){await waitForState(this.isDiffUpToDate,e=>e)}serializeState(){const e=this._unchangedRegions.get();return{collapsedRegions:e?.regions.map(e=>({range:e.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){const t=e.collapsedRegions?.map(e=>LineRange$1.deserialize(e.range)),i=this._unchangedRegions.get();i&&t&&transaction(e=>{for(const o of i.regions)for(const i of t)if(o.modifiedUnchangedRange.intersect(i)){o.setHiddenModifiedRange(i,e);break}})}};function normalizeDocumentDiff(e,t,i){return{changes:e.changes.map(e=>new DetailedLineRangeMapping(e.original,e.modified,e.innerChanges?e.innerChanges.map(e=>normalizeRangeMapping(e,t,i)):void 0)),moves:e.moves,identical:e.identical,quitEarly:e.quitEarly}}function normalizeRangeMapping(e,t,i){let o=e.originalRange,n=e.modifiedRange;return 1===o.startColumn&&1===n.startColumn&&(1!==o.endColumn||1!==n.endColumn)&&o.endColumn===t.getLineMaxColumn(o.endLineNumber)&&n.endColumn===i.getLineMaxColumn(n.endLineNumber)&&o.endLineNumbernew DiffMapping(e)),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,i,o){this.mappings=e,this.movedTexts=t,this.identical=i,this.quitEarly=o}}class DiffMapping{constructor(e){this.lineRangeMapping=e}}class UnchangedRegion{static fromDiffs(e,t,i,o,n){const r=DetailedLineRangeMapping.inverse(e,t,i),s=[];for(const a of r){let e=a.original.startLineNumber,r=a.modified.startLineNumber,l=a.original.length;const c=1===e&&1===r,d=e+l===t+1&&r+l===i+1;(c||d)&&l>=n+o?(c&&!d&&(l-=n),d&&!c&&(e+=n,r+=n,l-=n),s.push(new UnchangedRegion(e,r,l,0,0))):l>=2*n+o&&(e+=n,r+=n,l-=2*n,s.push(new UnchangedRegion(e,r,l,0,0)))}return s}get originalUnchangedRange(){return LineRange$1.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return LineRange$1.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,i,o,n){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=i,this._visibleLineCountTop=observableValue(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=observableValue(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=derived(this,e=>this.visibleLineCountTop.read(e)+this.visibleLineCountBottom.read(e)===this.lineCount&&!this.isDragged.read(e)),this.isDragged=observableValue(this,void 0);const r=Math.max(Math.min(o,this.lineCount),0),s=Math.max(Math.min(n,this.lineCount-o),0);softAssert(o===r),softAssert(n===s),this._visibleLineCountTop.set(r,void 0),this._visibleLineCountBottom.set(s,void 0)}setVisibleRanges(e,t){const i=[],o=new LineRangeSet(e.map(e=>e.modified)).subtractFrom(this.modifiedUnchangedRange);let n=this.originalLineNumber,r=this.modifiedLineNumber;const s=this.modifiedLineNumber+this.lineCount;if(0===o.ranges.length)this.showAll(t),i.push(this);else{let e=0;for(const a of o.ranges){const l=e===o.ranges.length-1;e++;const c=(l?s:a.endLineNumberExclusive)-r,d=new UnchangedRegion(n,r,c,0,0);d.setHiddenModifiedRange(a,t),i.push(d),n=d.originalUnchangedRange.endLineNumberExclusive,r=d.modifiedUnchangedRange.endLineNumberExclusive}}return i}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return LineRange$1.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return LineRange$1.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const i=e.startLineNumber-this.modifiedLineNumber,o=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(i,o,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const i=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,i),t)}showMoreBelow(e=10,t){const i=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,i),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,i){const o=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),n=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;0===t&&o{this._contextMenuService.showContextMenu({domForShadowRoot:u?i.getDomNode()??void 0:void 0,getAnchor:()=>({x:e,y:t}),getActions:()=>{const e=[],t=o.modified.isEmpty;e.push(new Action("diff.clipboard.copyDeletedContent",t?o.original.length>1?localize("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):localize("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):o.original.length>1?localize("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):localize("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,async()=>{const e=this._originalTextModel.getValueInRange(o.original.toExclusiveRange());await this._clipboardService.writeText(e)})),o.original.length>1&&e.push(new Action("diff.clipboard.copyDeletedLineContent",t?localize("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",o.original.startLineNumber+d):localize("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",o.original.startLineNumber+d),void 0,!0,async()=>{let e=this._originalTextModel.getLineContent(o.original.startLineNumber+d);if(""===e){e=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"}await this._clipboardService.writeText(e)}));return i.getOption(92)||e.push(new Action("diff.inline.revertChange",localize("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),e},autoSelectFirstItem:!0})};this._register(addStandardDisposableListener(this._diffActions,"mousedown",e=>{if(!e.leftButton)return;const{top:t,height:i}=getDomNodePagePosition(this._diffActions),o=Math.floor(c/3);e.preventDefault(),h(e.posx,t+i+o)})),this._register(i.onMouseMove(e=>{8!==e.target.type&&5!==e.target.type||e.target.detail.viewZoneId!==this._getViewZoneId()?this.visibility=!1:(d=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,c),this.visibility=!0)})),this._register(i.onMouseDown(e=>{if(e.event.leftButton&&(8===e.target.type||5===e.target.type)){e.target.detail.viewZoneId===this._getViewZoneId()&&(e.event.preventDefault(),d=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,c),h(e.event.posx,e.event.posy+c))}}))}_updateLightBulbPosition(e,t,i){const{top:o}=getDomNodePagePosition(e),n=t-o,r=Math.floor(n/i),s=r*i;if(this._diffActions.style.top=`${s}px`,this._viewLineCounts){let e=0;for(let t=0;te});function renderLines$1(e,t,i,o){applyFontInfo(o,t.fontInfo);const n=i.length>0,r=new StringBuilder(1e4);let s=0,a=0;const l=[];for(let u=0;u');const l=t.getLineContent(),c=ViewLineRenderingData.isBasicASCII(l,n),d=ViewLineRenderingData.containsRTL(l,c,r),u=renderViewLine(new RenderLineInput(s.fontInfo.isMonospace&&!s.disableMonospaceOptimizations,s.fontInfo.canUseHalfwidthRightwardsArrow,l,!1,c,d,0,t,i,s.tabSize,0,s.fontInfo.spaceWidth,s.fontInfo.middotWidth,s.fontInfo.wsmiddotWidth,s.stopRenderingLineAfter,s.renderWhitespace,s.renderControlCharacters,s.fontLigatures!==EditorFontLigatures.OFF,null),a);return a.appendString(""),u.characterMapping.getHorizontalOffset(u.characterMapping.length)}var __decorate$1S=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1O=function(e,t){return function(i,o){t(i,o,e)}};let DiffEditorViewZones=class extends Disposable{constructor(e,t,i,o,n,r,s,a,l,c){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=o,this._diffEditorWidget=n,this._canIgnoreViewZoneUpdateEvent=r,this._origViewZonesToIgnore=s,this._modViewZonesToIgnore=a,this._clipboardService=l,this._contextMenuService=c,this._originalTopPadding=observableValue(this,0),this._originalScrollOffset=observableValue(this,0),this._originalScrollOffsetAnimated=animatedObservable(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=observableValue(this,0),this._modifiedScrollOffset=observableValue(this,0),this._modifiedScrollOffsetAnimated=animatedObservable(this._targetWindow,this._modifiedScrollOffset,this._store);const d=observableValue("invalidateAlignmentsState",0),u=this._register(new RunOnceScheduler(()=>{d.set(d.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(e=>{(e.hasChanged(147)||e.hasChanged(67))&&u.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(e=>{(e.hasChanged(147)||e.hasChanged(67))&&u.schedule()}));const h=this._diffModel.map(e=>e?observableFromEvent(this,e.model.original.onDidChangeTokens,()=>2===e.model.original.tokenization.backgroundTokenizationState):void 0).map((e,t)=>e?.read(t)),p=derived(e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!t||!i)return null;d.read(e);const o=this._options.renderSideBySide.read(e);return computeRangeAlignment(this._editors.original,this._editors.modified,i.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,o)}),g=derived(e=>{const t=this._diffModel.read(e)?.movedTextToCompare.read(e);if(!t)return null;d.read(e);const i=t.changes.map(e=>new DiffMapping(e));return computeRangeAlignment(this._editors.original,this._editors.modified,i,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function m(){const e=document.createElement("div");return e.className="diagonal-fill",e}const f=this._register(new DisposableStore);this.viewZones=derivedWithStore(this,(e,t)=>{f.clear();const i=p.read(e)||[],o=[],r=[],s=this._modifiedTopPadding.read(e);s>0&&r.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:s,showInHiddenAreas:!0,suppressMouseDown:!0});const a=this._originalTopPadding.read(e);a>0&&o.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:a,showInHiddenAreas:!0,suppressMouseDown:!0});const l=this._options.renderSideBySide.read(e),c=l?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer();if(c){const w=this._editors.original.getModel();for(const x of i)if(x.diff)for(let S=x.originalRange.startLineNumber;Sw.getLineCount())return{orig:o,mod:r};c?.addRequest(w.getLineContent(S),null,null)}}const d=c?.finalize()??[];let u=0;const v=this._editors.modified.getOption(67),b=this._diffModel.read(e)?.movedTextToCompare.read(e),_=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,y=this._editors.original.getModel()?.mightContainRTL()??!1,C=RenderOptions.fromEditor(this._editors.modified);for(const k of i)if(!k.diff||l||this._options.useTrueInlineDiffRendering.read(e)&&allowsTrueInlineDiffRendering(k.diff)){const E=k.modifiedHeightInPx-k.originalHeightInPx;if(E>0){if(b?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(k.originalRange.endLineNumberExclusive-1))continue;o.push({afterLineNumber:k.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:E,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(b?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(k.modifiedRange.endLineNumberExclusive-1))continue;function I(){const e=document.createElement("div");return e.className="arrow-revert-change "+ThemeIcon.asClassName(Codicon.arrowRight),t.add(addDisposableListener(e,"mousedown",e=>e.stopPropagation())),t.add(addDisposableListener(e,"click",e=>{e.stopPropagation(),n.revert(k.diff)})),$$f("div",{},e)}let T;k.diff&&k.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(T=I()),r.push({afterLineNumber:k.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-E,marginDomNode:T,showInHiddenAreas:!0,suppressMouseDown:!0})}}else{if(!k.originalRange.isEmpty){h.read(e);const L=document.createElement("div");L.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const N=this._editors.original.getModel();if(k.originalRange.endLineNumberExclusive-1>N.getLineCount())return{orig:o,mod:r};const M=new LineSource(k.originalRange.mapToLineArray(e=>N.tokenization.getLineTokens(e)),k.originalRange.mapToLineArray(e=>d[u++]),_,y),$=[];for(const P of k.diff.innerChanges||[])$.push(new InlineDecoration(P.originalRange.delta(-(k.diff.original.startLineNumber-1)),diffDeleteDecoration.className,0));const R=renderLines$1(M,C,$,L),A=document.createElement("div");if(A.className="inline-deleted-margin-view-zone",applyFontInfo(A,C.fontInfo),this._options.renderIndicators.read(e))for(let B=0;BassertIsDefined(O),A,this._editors.modified,k.diff,this._diffEditorWidget,R.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let z=0;z1&&o.push({afterLineNumber:k.originalRange.startLineNumber+z,domNode:m(),heightInPx:(V-1)*v,showInHiddenAreas:!0,suppressMouseDown:!0})}r.push({afterLineNumber:k.modifiedRange.startLineNumber-1,domNode:L,heightInPx:R.heightInLines*v,minWidthInPx:R.minWidthInPx,marginDomNode:A,setZoneId(e){O=e},showInHiddenAreas:!0,suppressMouseDown:!0})}const D=document.createElement("div");D.className="gutter-delete",o.push({afterLineNumber:k.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:k.modifiedHeightInPx,marginDomNode:D,showInHiddenAreas:!0,suppressMouseDown:!0})}for(const H of g.read(e)??[]){if(!b?.lineRangeMapping.original.intersect(H.originalRange)||!b?.lineRangeMapping.modified.intersect(H.modifiedRange))continue;const W=H.modifiedHeightInPx-H.originalHeightInPx;W>0?o.push({afterLineNumber:H.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:W,showInHiddenAreas:!0,suppressMouseDown:!0}):r.push({afterLineNumber:H.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-W,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:o,mod:r}});let v=!1;this._register(this._editors.original.onDidScrollChange(e=>{e.scrollLeftChanged&&!v&&(v=!0,this._editors.modified.setScrollLeft(e.scrollLeft),v=!1)})),this._register(this._editors.modified.onDidScrollChange(e=>{e.scrollLeftChanged&&!v&&(v=!0,this._editors.original.setScrollLeft(e.scrollLeft),v=!1)})),this._originalScrollTop=observableFromEvent(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=observableFromEvent(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(autorun(e=>{const t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)})),this._register(autorun(e=>{const t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)})),this._register(autorun(e=>{const t=this._diffModel.read(e)?.movedTextToCompare.read(e);let i=0;if(t){const e=this._editors.original.getTopForLineNumber(t.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();i=this._editors.modified.getTopForLineNumber(t.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-e}i>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(i,void 0)):i<0?(this._modifiedTopPadding.set(-i,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()-i,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+i,void 0,!0)}))}};function computeRangeAlignment(e,t,i,o,n,r){const s=new ArrayQueue(getAdditionalLineHeights(e,o)),a=new ArrayQueue(getAdditionalLineHeights(t,n)),l=e.getOption(67),c=t.getOption(67),d=[];let u=0,h=0;function p(e,t){for(;;){let i=s.peek(),o=a.peek();if(i&&i.lineNumber>=e&&(i=void 0),o&&o.lineNumber>=t&&(o=void 0),!i&&!o)break;const n=i?i.lineNumber-u:Number.MAX_VALUE,r=o?o.lineNumber-h:Number.MAX_VALUE;nr?(a.dequeue(),i={lineNumber:o.lineNumber-h+u,heightInPx:0}):(s.dequeue(),a.dequeue()),d.push({originalRange:LineRange$1.ofLength(i.lineNumber,1),modifiedRange:LineRange$1.ofLength(o.lineNumber,1),originalHeightInPx:l+i.heightInPx,modifiedHeightInPx:c+o.heightInPx,diff:void 0})}}for(const g of i){const m=g.lineRangeMapping;p(m.original.startLineNumber,m.modified.startLineNumber);let f=!0,v=m.modified.startLineNumber,b=m.original.startLineNumber;function _(e,t,i=!1){if(et.lineNumbere+t.heightInPx,0)??0,u=a.takeWhile(e=>e.lineNumbere+t.heightInPx,0)??0;d.push({originalRange:o,modifiedRange:n,originalHeightInPx:o.length*l+r,modifiedHeightInPx:n.length*c+u,diff:g.lineRangeMapping}),b=e,v=t}if(r)for(const y of m.innerChanges||[]){y.originalRange.startColumn>1&&y.modifiedRange.startColumn>1&&_(y.originalRange.startLineNumber,y.modifiedRange.startLineNumber);const C=e.getModel(),w=y.originalRange.endLineNumber<=C.getLineCount()?C.getLineMaxColumn(y.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;y.originalRange.endColumn1&&o.push({lineNumber:l,heightInPx:s*(e-1)})}for(const l of e.getWhitespaces()){if(t.has(l.id))continue;const e=0===l.afterLineNumber?0:r.convertViewPositionToModelPosition(new Position$1(l.afterLineNumber,1)).lineNumber;i.push({lineNumber:e,heightInPx:l.height})}const a=joinCombine(i,o,e=>e.lineNumber,(e,t)=>({lineNumber:e.lineNumber,heightInPx:e.heightInPx+t.heightInPx}));return a}function allowsTrueInlineDiffRendering(e){return!!e.innerChanges&&e.innerChanges.every(e=>rangeIsSingleLine(e.modifiedRange)&&rangeIsSingleLine(e.originalRange)||e.originalRange.equalsRange(new Range$2(1,1,1,1)))}function rangeIsSingleLine(e){return e.startLineNumber===e.endLineNumber}DiffEditorViewZones=__decorate$1S([__param$1O(8,IClipboardService),__param$1O(9,IContextMenuService)],DiffEditorViewZones);class MovedBlocksLinesFeature extends Disposable{static{this.movedCodeBlockPadding=4}constructor(e,t,i,o,n){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=o,this._editors=n,this._originalScrollTop=observableFromEvent(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=observableFromEvent(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=observableSignalFromEvent("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=observableValue(this,0),this._modifiedViewZonesChangedSignal=observableSignalFromEvent("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=observableSignalFromEvent("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=derivedWithStore(this,(e,t)=>{this._element.replaceChildren();const i=this._diffModel.read(e),o=i?.diff.read(e)?.movedTexts;if(!o||0===o.length)return void this.width.set(0,void 0);this._viewZonesChanged.read(e);const n=this._originalEditorLayoutInfo.read(e),r=this._modifiedEditorLayoutInfo.read(e);if(!n||!r)return void this.width.set(0,void 0);this._modifiedViewZonesChangedSignal.read(e),this._originalViewZonesChangedSignal.read(e);const s=o.map(t=>{function i(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}const o=i(t.lineRangeMapping.original,this._editors.original),n=this._originalScrollTop.read(e),r=i(t.lineRangeMapping.modified,this._editors.modified),s=o-n,a=r-this._modifiedScrollTop.read(e),l=Math.min(o,r),c=Math.max(o,r);return{range:new OffsetRange(l,c),from:s,to:a,fromWithoutScroll:o,toWithoutScroll:r,move:t}});s.sort(tieBreakComparators(compareBy(e=>e.fromWithoutScroll>e.toWithoutScroll,booleanComparator),compareBy(e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll,numberComparator)));const a=LinesLayout.compute(s.map(e=>e.range)),l=n.verticalScrollbarWidth,c=10*(a.getTrackCount()-1)+20,d=l+c+(r.contentLeft-MovedBlocksLinesFeature.movedCodeBlockPadding);let u=0;for(const h of s){const e=l+10+10*a.getTrack(u),o=15,n=15,s=d,c=r.glyphMarginWidth+r.lineNumbersWidth,p=18,g=document.createElementNS("http://www.w3.org/2000/svg","rect");g.classList.add("arrow-rectangle"),g.setAttribute("x",""+(s-c)),g.setAttribute("y",""+(h.to-p/2)),g.setAttribute("width",`${c}`),g.setAttribute("height",`${p}`),this._element.appendChild(g);const m=document.createElementNS("http://www.w3.org/2000/svg","g"),f=document.createElementNS("http://www.w3.org/2000/svg","path");f.setAttribute("d",`M 0 ${h.from} L ${e} ${h.from} L ${e} ${h.to} L ${s-n} ${h.to}`),f.setAttribute("fill","none"),m.appendChild(f);const v=document.createElementNS("http://www.w3.org/2000/svg","polygon");v.classList.add("arrow"),t.add(autorun(e=>{f.classList.toggle("currentMove",h.move===i.activeMovedText.read(e)),v.classList.toggle("currentMove",h.move===i.activeMovedText.read(e))})),v.setAttribute("points",`${s-n},${h.to-o/2} ${s},${h.to} ${s-n},${h.to+o/2}`),m.appendChild(v),this._element.appendChild(m),u++}this.width.set(c,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(toDisposable(()=>this._element.remove())),this._register(autorun(e=>{const t=this._originalEditorLayoutInfo.read(e),i=this._modifiedEditorLayoutInfo.read(e);t&&i&&(this._element.style.left=t.width-t.verticalScrollbarWidth+"px",this._element.style.height=`${t.height}px`,this._element.style.width=`${t.verticalScrollbarWidth+t.contentLeft-MovedBlocksLinesFeature.movedCodeBlockPadding+this.width.read(e)}px`)})),this._register(recomputeInitiallyAndOnChange(this._state));const r=derived(e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);return i?i.movedTexts.map(e=>({move:e,original:new PlaceholderViewZone(constObservable(e.lineRangeMapping.original.startLineNumber-1),18),modified:new PlaceholderViewZone(constObservable(e.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(applyViewZones(this._editors.original,r.map(e=>e.map(e=>e.original)))),this._register(applyViewZones(this._editors.modified,r.map(e=>e.map(e=>e.modified)))),this._register(autorunWithStore((e,t)=>{const i=r.read(e);for(const o of i)t.add(new MovedBlockOverlayWidget(this._editors.original,o.original,o.move,"original",this._diffModel.get())),t.add(new MovedBlockOverlayWidget(this._editors.modified,o.modified,o.move,"modified",this._diffModel.get()))}));const s=observableSignalFromEvent("original.onDidFocusEditorWidget",e=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),a=observableSignalFromEvent("modified.onDidFocusEditorWidget",e=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0)));let l="modified";this._register(autorunHandleChanges({createEmptyChangeSummary:()=>{},handleChange:(e,t)=>(e.didChange(s)&&(l="original"),e.didChange(a)&&(l="modified"),!0)},e=>{s.read(e),a.read(e);const t=this._diffModel.read(e);if(!t)return;const i=t.diff.read(e);let o;if(i&&"original"===l){const t=this._editors.originalCursor.read(e);t&&(o=i.movedTexts.find(e=>e.lineRangeMapping.original.contains(t.lineNumber)))}if(i&&"modified"===l){const t=this._editors.modifiedCursor.read(e);t&&(o=i.movedTexts.find(e=>e.lineRangeMapping.modified.contains(t.lineNumber)))}o!==t.movedTextToCompare.get()&&t.movedTextToCompare.set(void 0,void 0),t.setActiveMovedText(o)}))}}class LinesLayout{static compute(e){const t=[],i=[];for(const o of e){let e=t.findIndex(e=>!e.intersectsStrict(o));if(-1===e){const i=6;t.length>=i?e=findMaxIdx(t,compareBy(e=>e.intersectWithRangeLength(o),numberComparator)):(e=t.length,t.push(new OffsetRangeSet))}t[e].addRange(o),i.push(e)}return new LinesLayout(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class MovedBlockOverlayWidget extends ViewZoneOverlayWidget{constructor(e,t,i,o,n){const r=h$1("div.diff-hidden-lines-widget");super(e,t,r.root),this._editor=e,this._move=i,this._kind=o,this._diffModel=n,this._nodes=h$1("div.diff-moved-code-block",{style:{marginRight:"4px"}},[h$1("div.text-content@textContent"),h$1("div.action-bar@actionBar")]),r.root.appendChild(this._nodes.root);const s=observableFromEvent(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());let a;this._register(applyStyle(this._nodes.root,{paddingRight:s.map(e=>e.verticalScrollbarWidth)})),a=i.changes.length>0?"original"===this._kind?localize("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):localize("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?localize("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):localize("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const l=this._register(new ActionBar(this._nodes.actionBar,{highlightToggledItems:!0})),c=new Action("",a,"",!1);l.push(c,{icon:!1,label:!0});const d=new Action("","Compare",ThemeIcon.asClassName(Codicon.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)});this._register(autorun(e=>{const t=this._diffModel.movedTextToCompare.read(e)===i;d.checked=t})),l.push(d,{icon:!1,label:!0})}}class DiffEditorDecorations extends Disposable{constructor(e,t,i,o){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=derived(this,e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!i)return null;const o=this._diffModel.read(e).movedTextToCompare.read(e),n=this._options.renderIndicators.read(e),r=this._options.showEmptyDecorations.read(e),s=[],a=[];if(!o)for(const c of i.mappings)if(c.lineRangeMapping.original.isEmpty||s.push({range:c.lineRangeMapping.original.toInclusiveRange(),options:n?diffLineDeleteDecorationBackgroundWithIndicator:diffLineDeleteDecorationBackground}),c.lineRangeMapping.modified.isEmpty||a.push({range:c.lineRangeMapping.modified.toInclusiveRange(),options:n?diffLineAddDecorationBackgroundWithIndicator:diffLineAddDecorationBackground}),c.lineRangeMapping.modified.isEmpty||c.lineRangeMapping.original.isEmpty)c.lineRangeMapping.original.isEmpty||s.push({range:c.lineRangeMapping.original.toInclusiveRange(),options:diffWholeLineDeleteDecoration}),c.lineRangeMapping.modified.isEmpty||a.push({range:c.lineRangeMapping.modified.toInclusiveRange(),options:diffWholeLineAddDecoration});else{const i=this._options.useTrueInlineDiffRendering.read(e)&&allowsTrueInlineDiffRendering(c.lineRangeMapping);for(const e of c.lineRangeMapping.innerChanges||[])if(c.lineRangeMapping.original.contains(e.originalRange.startLineNumber)&&s.push({range:e.originalRange,options:e.originalRange.isEmpty()&&r?diffDeleteDecorationEmpty:diffDeleteDecoration}),c.lineRangeMapping.modified.contains(e.modifiedRange.startLineNumber)&&a.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()&&r&&!i?diffAddDecorationEmpty:diffAddDecoration}),i){const i=t.model.original.getValueInRange(e.originalRange);a.push({range:e.modifiedRange,options:{description:"deleted-text",before:{content:i,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(o)for(const c of o.changes){const e=c.original.toInclusiveRange();e&&s.push({range:e,options:n?diffLineDeleteDecorationBackgroundWithIndicator:diffLineDeleteDecorationBackground});const t=c.modified.toInclusiveRange();t&&a.push({range:t,options:n?diffLineAddDecorationBackgroundWithIndicator:diffLineAddDecorationBackground});for(const i of c.innerChanges||[])s.push({range:i.originalRange,options:diffDeleteDecoration}),a.push({range:i.modifiedRange,options:diffAddDecoration})}const l=this._diffModel.read(e).activeMovedText.read(e);for(const c of i.movedTexts)s.push({range:c.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(c===l?" currentMove":""),blockPadding:[MovedBlocksLinesFeature.movedCodeBlockPadding,0,MovedBlocksLinesFeature.movedCodeBlockPadding,MovedBlocksLinesFeature.movedCodeBlockPadding]}}),a.push({range:c.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(c===l?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:s,modifiedDecorations:a}}),this._register(applyObservableDecorations$1(this._editors.original,this._decorations.map(e=>e?.originalDecorations||[]))),this._register(applyObservableDecorations$1(this._editors.modified,this._decorations.map(e=>e?.modifiedDecorations||[])))}}class SashLayout{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=derivedWithSetter(this,e=>{const t=this._sashRatio.read(e)??this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(t,e)},(e,t)=>{const i=this.dimensions.width.get();this._sashRatio.set(e/i,t)}),this._sashRatio=observableValue(this,void 0)}_computeSashLeft(e,t){const i=this.dimensions.width.read(t),o=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),n=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):o,r=100;return i<=200?o:ni-r?i-r:n}}class DiffEditorSash extends Disposable{constructor(e,t,i,o,n,r){super(),this._domNode=e,this._dimensions=t,this._enabled=i,this._boundarySashes=o,this.sashLeft=n,this._resetSash=r,this._sash=this._register(new Sash(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(e=>{this.sashLeft.set(this._startSashPosition+(e.currentX-e.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register(autorun(e=>{const t=this._boundarySashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)})),this._register(autorun(e=>{const t=this._enabled.read(e);this._sash.state=t?3:0,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()}))}}class EditorGutter extends Disposable{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=observableFromEvent(this,this._editor.onDidScrollChange,e=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(e=>0===e),this.modelAttached=observableFromEvent(this,this._editor.onDidChangeModel,e=>this._editor.hasModel()),this.editorOnDidChangeViewZones=observableSignalFromEvent("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=observableSignalFromEvent("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=observableSignal("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const o=this._domNode.appendChild(h$1("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),n=new ResizeObserver(()=>{transaction(e=>{this.domNodeSizeChanged.trigger(e)})});n.observe(this._domNode),this._register(toDisposable(()=>n.disconnect())),this._register(autorun(e=>{o.className=this.isScrollTopZero.read(e)?"":"scroll-decoration"})),this._register(autorun(e=>this.render(e)))}dispose(){super.dispose(),reset(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),o=new Set(this.views.keys()),n=OffsetRange.ofStartAndLength(0,this._domNode.clientHeight);if(!n.isEmpty)for(const r of i){const i=new LineRange$1(r.startLineNumber,r.endLineNumber+1),s=this.itemProvider.getIntersectingGutterItems(i,e);transaction(e=>{for(const r of s){if(!r.range.intersect(i))continue;o.delete(r.id);let s=this.views.get(r.id);if(s)s.item.set(r,e);else{const e=document.createElement("div");this._domNode.appendChild(e);const t=observableValue("item",r),i=this.itemProvider.createView(t,e);s=new ManagedGutterItemView(t,i,e),this.views.set(r.id,s)}const a=r.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(r.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(r.range.startLineNumber-1,!1)-t,l=(1===r.range.endLineNumberExclusive?Math.max(a,this._editor.getTopForLineNumber(r.range.startLineNumber,!1)-t):Math.max(a,this._editor.getBottomForLineNumber(r.range.endLineNumberExclusive-1,!0)-t))-a;s.domNode.style.top=`${a}px`,s.domNode.style.height=`${l}px`,s.gutterItemView.layout(OffsetRange.ofStartAndLength(a,l),n)}})}for(const r of o){const e=this.views.get(r);e.gutterItemView.dispose(),e.domNode.remove(),this.views.delete(r)}}}class ManagedGutterItemView{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}class ActionRunnerWithContext extends ActionRunner{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}}class TextModelText extends AbstractText{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new TextLength(e-1,t)}}class ToolBar extends Disposable{constructor(e,t,i={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new EventMultiplexer),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new DisposableStore),i.hoverDelegate=i.hoverDelegate??this._register(createInstantHoverDelegate()),this.options=i,this.toggleMenuAction=this._register(new ToggleMenuAction(()=>this.toggleMenuActionViewItem?.show(),i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new ActionBar(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(e,o)=>{if(e.id===ToggleMenuAction.ID)return this.toggleMenuActionViewItem=new DropdownMenuActionViewItem(e,e.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:ThemeIcon.asClassNameArray(i.moreIcon??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(i.actionViewItemProvider){const t=i.actionViewItemProvider(e,o);if(t)return t}if(e instanceof SubmenuAction){const i=new DropdownMenuActionViewItem(e,e.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:e.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return i.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(i),this.disposables.add(this._onDidChangeDropdownVisibility.add(i.onDidChangeVisibility)),i}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach(e=>{this.actionBar.push(e,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(e)})})}getKeybindingLabel(e){const t=this.options.getKeyBinding?.(e);return t?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class ToggleMenuAction extends Action{static{this.ID="toolbar.toggle.more"}constructor(e,t){t=t||localize("moreActions","More Actions..."),super(ToggleMenuAction.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}var __decorate$1R=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1N=function(e,t){return function(i,o){t(i,o,e)}};let WorkbenchToolBar=class extends ToolBar{constructor(e,t,i,o,n,r,s,a){super(e,n,{getKeyBinding:e=>r.lookupKeybinding(e.id)??void 0,...t,allowContextMenu:!0,skipTelemetry:"string"==typeof t?.telemetrySource}),this._options=t,this._menuService=i,this._contextKeyService=o,this._contextMenuService=n,this._keybindingService=r,this._commandService=s,this._sessionDisposables=this._store.add(new DisposableStore);const l=t?.telemetrySource;l&&this._store.add(this.actionBar.onDidRun(e=>a.publicLog2("workbenchActionExecuted",{id:e.action.id,from:l})))}setActions(e,t=[],i){this._sessionDisposables.clear();const o=e.slice(),n=t.slice(),r=[];let s=0;const a=[];let l=!1;if(-1!==this._options?.hiddenItemStrategy)for(let c=0;ce?.id)),t=this._options.overflowBehavior.maxItems-e.size;let i=0;for(let n=0;n=t&&(o[n]=void 0,a[n]=r))}}coalesceInPlace(o),coalesceInPlace(a),super.setActions(o,Separator.join(a,n)),(r.length>0||o.length>0)&&this._sessionDisposables.add(addDisposableListener(this.getElement(),"contextmenu",e=>{const t=new StandardMouseEvent(getWindow$2(this.getElement()),e),o=this.getItemAction(t.target);if(!o)return;t.preventDefault(),t.stopPropagation();const n=[];if(o instanceof MenuItemAction&&o.menuKeybinding)n.push(o.menuKeybinding);else if(!(o instanceof SubmenuItemAction||o instanceof ToggleMenuAction)){const e=!!this._keybindingService.lookupKeybinding(o.id);n.push(createConfigureKeybindingAction(this._commandService,this._keybindingService,o.id,void 0,e))}if(r.length>0){let e=!1;if(1===s&&0===this._options?.hiddenItemStrategy){e=!0;for(let e=0;ethis._menuService.resetHiddenStates(i)}))),0!==a.length&&this._contextMenuService.showContextMenu({getAnchor:()=>t,getActions:()=>a,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:"string"==typeof this._options?.telemetrySource,contextKeyService:this._contextKeyService})}))}};WorkbenchToolBar=__decorate$1R([__param$1N(2,IMenuService),__param$1N(3,IContextKeyService),__param$1N(4,IContextMenuService),__param$1N(5,IKeybindingService),__param$1N(6,ICommandService),__param$1N(7,ITelemetryService)],WorkbenchToolBar);let MenuWorkbenchToolBar=class extends WorkbenchToolBar{constructor(e,t,i,o,n,r,s,a,l){super(e,{resetMenu:t,...i},o,n,r,s,a,l),this._onDidChangeMenuItems=this._store.add(new Emitter$1),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const c=this._store.add(o.createMenu(t,n,{emitEventsForSubmenuChanges:!0})),d=()=>{const t=[],o=[];createAndFillInActionBarActions(c,i?.menuOptions,{primary:t,secondary:o},i?.toolbarOptions?.primaryGroup,i?.toolbarOptions?.shouldInlineSubmenu,i?.toolbarOptions?.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",0===t.length&&0===o.length),super.setActions(t,o)};this._store.add(c.onDidChange(()=>{d(),this._onDidChangeMenuItems.fire(this)})),d()}setActions(){throw new BugIndicatingError("This toolbar is populated from a menu.")}};MenuWorkbenchToolBar=__decorate$1R([__param$1N(3,IMenuService),__param$1N(4,IContextKeyService),__param$1N(5,IContextMenuService),__param$1N(6,IKeybindingService),__param$1N(7,ICommandService),__param$1N(8,ITelemetryService)],MenuWorkbenchToolBar);var __decorate$1Q=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1M=function(e,t){return function(i,o){t(i,o,e)}};const emptyArr$1=[],width=35;let DiffEditorGutter=class extends Disposable{constructor(e,t,i,o,n,r,s,a,l){super(),this._diffModel=t,this._editors=i,this._options=o,this._sashLayout=n,this._boundarySashes=r,this._instantiationService=s,this._contextKeyService=a,this._menuService=l,this._menu=this._register(this._menuService.createMenu(MenuId.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=observableFromEvent(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(e=>e.length>0),this._showSash=derived(this,e=>this._options.renderSideBySide.read(e)&&this._hasActions.read(e)),this.width=derived(this,e=>this._hasActions.read(e)?width:0),this.elements=h$1("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:width+"px"}},[]),this._currentDiff=derived(this,e=>{const t=this._diffModel.read(e);if(!t)return;const i=t.diff.read(e)?.mappings,o=this._editors.modifiedCursor.read(e);return o?i?.find(e=>e.lineRangeMapping.modified.contains(o.lineNumber)):void 0}),this._selectedDiffs=derived(this,e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!i)return emptyArr$1;const o=this._editors.modifiedSelections.read(e);if(o.every(e=>e.isEmpty()))return emptyArr$1;const n=new LineRangeSet(o.map(e=>LineRange$1.fromRangeInclusive(e))),r=i.mappings.filter(e=>e.lineRangeMapping.innerChanges&&n.intersects(e.lineRangeMapping.modified)),s=r.map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>o.some(t=>Range$2.areIntersecting(e.modifiedRange,t)))}));return 0===s.length||s.every(e=>0===e.rangeMappings.length)?emptyArr$1:s}),this._register(prependRemoveOnDispose(e,this.elements.root)),this._register(addDisposableListener(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(applyStyle(this.elements.root,{display:this._hasActions.map(e=>e?"block":"none")})),derivedDisposable(this,t=>this._showSash.read(t)?new DiffEditorSash(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,derivedWithSetter(this,e=>this._sashLayout.sashLeft.read(e)-width,(e,t)=>this._sashLayout.sashLeft.set(e+width,t)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new EditorGutter(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>{const i=this._diffModel.read(t);if(!i)return[];const o=i.diff.read(t);if(!o)return[];const n=this._selectedDiffs.read(t);if(n.length>0){const e=DetailedLineRangeMapping.fromRangeMappings(n.flatMap(e=>e.rangeMappings));return[new DiffGutterItem(e,!0,MenuId.DiffEditorSelectionToolbar,void 0,i.model.original.uri,i.model.modified.uri)]}const r=this._currentDiff.read(t);return o.mappings.map(e=>new DiffGutterItem(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===r?.lineRangeMapping,MenuId.DiffEditorHunkToolbar,void 0,i.model.original.uri,i.model.modified.uri))},createView:(e,t)=>this._instantiationService.createInstance(DiffToolBar,e,t,this)})),this._register(addDisposableListener(this.elements.gutter,EventType$1.MOUSE_WHEEL,e=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1}))}computeStagedValue(e){const t=e.innerChanges??[],i=new TextModelText(this._editors.modifiedModel.get()),o=new TextModelText(this._editors.original.getModel()),n=new TextEdit(t.map(e=>e.toTextEdit(i)));return n.apply(o)}layout(e){this.elements.gutter.style.left=e+"px"}};DiffEditorGutter=__decorate$1Q([__param$1M(6,IInstantiationService),__param$1M(7,IContextKeyService),__param$1M(8,IMenuService)],DiffEditorGutter);class DiffGutterItem{constructor(e,t,i,o,n,r){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=o,this.originalUri=n,this.modifiedUri=r}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let DiffToolBar=class extends Disposable{constructor(e,t,i,o){super(),this._item=e,this._elements=h$1("div.gutterItem",{style:{height:"20px",width:"34px"}},[h$1("div.background@background",{},[]),h$1("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,e=>e.showAlways),this._menuId=this._item.map(this,e=>e.menuId),this._isSmall=observableValue(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const n=this._register(o.createInstance(WorkbenchHoverDelegate,"element",!0,{position:{hoverPosition:1}}));this._register(appendRemoveOnDispose(t,this._elements.root)),this._register(autorun(e=>{const t=this._showAlways.read(e);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",t),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register(autorunWithStore((e,t)=>{this._elements.buttons.replaceChildren();const r=t.add(o.createInstance(MenuWorkbenchToolBar,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:n,toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:new ActionRunnerWithContext(()=>{const e=this._item.get(),t=e.mapping;return{mapping:t,originalWithModifiedChanges:i.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));t.add(r.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(1===this._item.get().mapping.original.startLineNumber&&e.length<30,void 0),i=this._elements.buttons.clientHeight;const o=e.length/2-i/2,n=i;let r=e.start+o;const s=OffsetRange.tryCreate(n,t.endExclusive-n-i),a=OffsetRange.tryCreate(e.start+n,e.endExclusive-i-n);a&&s&&a.start{const t=ObservableCodeEditor._map.get(e);t&&(ObservableCodeEditor._map.delete(e),t.dispose(),i.dispose())})}return t}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&(this._currentTransaction=new TransactionImpl(()=>{}))}_endUpdate(){if(this._updateCounter--,0===this._updateCounter){const e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=observableValue(this,this.editor.getModel()),this.model=this._model,this.isReadonly=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(92)),this._versionId=observableValueOpts({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=observableValueOpts({owner:this,equalsFn:equalsIfDefined(itemsEquals(Selection$1.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.isFocused=observableFromEvent(this,e=>{const t=this.editor.onDidFocusEditorWidget(e),i=this.editor.onDidBlurEditorWidget(e);return{dispose(){t.dispose(),i.dispose()}}},()=>this.editor.hasWidgetFocus()),this.value=derivedWithSetter(this,e=>(this.versionId.read(e),this.model.read(e)?.getValue()??""),(e,t)=>{const i=this.model.get();null!==i&&e!==i.getValue()&&i.setValue(e)}),this.valueIsEmpty=derived(this,e=>(this.versionId.read(e),0===this.editor.getModel()?.getValueLength())),this.cursorSelection=derivedOpts({owner:this,equalsFn:equalsIfDefined(Selection$1.selectionsEqual)},e=>this.selections.read(e)?.[0]??null),this.onDidType=observableSignal(this),this.scrollTop=observableFromEvent(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=observableFromEvent(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=observableFromEvent(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(e=>e.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(e=>e.decorationsLeft),this.contentWidth=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(e=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,e)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(e=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(e=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}}))}forceUpdate(e){this._beginUpdate();try{if(this._forceUpdate(),!e)return;return e(this._currentTransaction)}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e){return observableFromEvent(this,t=>this.editor.onDidChangeConfiguration(i=>{i.hasChanged(e)&&t(void 0)}),()=>this.editor.getOption(e))}setDecorations(e){const t=new DisposableStore,i=this.editor.createDecorationsCollection();return t.add(autorunOpts({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},t=>{const o=e.read(t);i.set(o)})),t.add({dispose:()=>{i.clear()}}),t}createOverlayWidget(e){const t="observableOverlayWidget"+this._overlayWidgetCounter++,i={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(i);const o=autorun(t=>{e.position.read(t),e.minContentWidthInPx.read(t),this.editor.layoutOverlayWidget(i)});return toDisposable(()=>{o.dispose(),this.editor.removeOverlayWidget(i)})}}function reactToChange(e,t){return autorunWithStoreHandleChanges({createEmptyChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(t,i)=>{if(t.didChange(e)){const e=t.change;void 0!==e&&i.deltas.push(e),i.didChange=!0}return!0}},(i,o)=>{const n=e.read(i);o.didChange&&t(n,o.deltas)})}function reactToChangeWithStore(e,t){const i=new DisposableStore,o=reactToChange(e,(e,o)=>{i.clear(),t(e,o,i)});return{dispose(){o.dispose(),i.dispose()}}}var __decorate$1P=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1L=function(e,t){return function(i,o){t(i,o,e)}},HideUnchangedRegionsFeature_1;let HideUnchangedRegionsFeature=class extends Disposable{static{HideUnchangedRegionsFeature_1=this}static{this._breadcrumbsSourceFactory=observableValue(HideUnchangedRegionsFeature_1,()=>({dispose(){},getBreadcrumbItems:(e,t)=>[]}))}static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,o){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=o,this._modifiedOutlineSource=derivedDisposable(this,e=>{const t=this._editors.modifiedModel.read(e),i=HideUnchangedRegionsFeature_1._breadcrumbsSourceFactory.read(e);return t&&i?i(t,this._instantiationService):void 0}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(e=>{if(1===e.reason)return;const t=this._diffModel.get();transaction(e=>{for(const i of this._editors.original.getSelections()||[])t?.ensureOriginalLineIsVisible(i.getStartPosition().lineNumber,0,e),t?.ensureOriginalLineIsVisible(i.getEndPosition().lineNumber,0,e)})})),this._register(this._editors.modified.onDidChangeCursorPosition(e=>{if(1===e.reason)return;const t=this._diffModel.get();transaction(e=>{for(const i of this._editors.modified.getSelections()||[])t?.ensureModifiedLineIsVisible(i.getStartPosition().lineNumber,0,e),t?.ensureModifiedLineIsVisible(i.getEndPosition().lineNumber,0,e)})}));const n=this._diffModel.map((e,t)=>{const i=e?.unchangedRegions.read(t)??[];return 1===i.length&&1===i[0].modifiedLineNumber&&i[0].lineCount===this._editors.modifiedModel.read(t)?.getLineCount()?[]:i});this.viewZones=derivedWithStore(this,(e,t)=>{const i=this._modifiedOutlineSource.read(e);if(!i)return{origViewZones:[],modViewZones:[]};const o=[],r=[],s=this._options.renderSideBySide.read(e),a=this._options.compactMode.read(e),l=n.read(e);for(let n=0;nc.getHiddenOriginalRange(e).startLineNumber-1),i=new PlaceholderViewZone(e,12);o.push(i),t.add(new CompactCollapsedCodeOverlayWidget(this._editors.original,i,c,!s))}{const e=derived(this,e=>c.getHiddenModifiedRange(e).startLineNumber-1),i=new PlaceholderViewZone(e,12);r.push(i),t.add(new CompactCollapsedCodeOverlayWidget(this._editors.modified,i,c))}}else{{const e=derived(this,e=>c.getHiddenOriginalRange(e).startLineNumber-1),n=new PlaceholderViewZone(e,24);o.push(n),t.add(new CollapsedCodeOverlayWidget(this._editors.original,n,c,c.originalUnchangedRange,!s,i,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}{const e=derived(this,e=>c.getHiddenModifiedRange(e).startLineNumber-1),o=new PlaceholderViewZone(e,24);r.push(o),t.add(new CollapsedCodeOverlayWidget(this._editors.modified,o,c,c.modifiedUnchangedRange,!1,i,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}}}return{origViewZones:o,modViewZones:r}});const r={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},s={description:"Fold Unchanged",glyphMarginHoverMessage:new MarkdownString(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(localize("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+ThemeIcon.asClassName(Codicon.fold),zIndex:10001};this._register(applyObservableDecorations$1(this._editors.original,derived(this,e=>{const t=n.read(e),i=t.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:r}));for(const o of t)o.shouldHideControls(e)&&i.push({range:Range$2.fromPositions(new Position$1(o.originalLineNumber,1)),options:s});return i}))),this._register(applyObservableDecorations$1(this._editors.modified,derived(this,e=>{const t=n.read(e),i=t.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:r}));for(const o of t)o.shouldHideControls(e)&&i.push({range:LineRange$1.ofLength(o.modifiedLineNumber,1).toInclusiveRange(),options:s});return i}))),this._register(autorun(e=>{const t=n.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map(t=>t.getHiddenOriginalRange(e).toInclusiveRange()).filter(isDefined)),this._editors.modified.setHiddenAreas(t.map(t=>t.getHiddenModifiedRange(e).toInclusiveRange()).filter(isDefined))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){const t=e.target.position.lineNumber,i=this._diffModel.get();if(!i)return;const o=i.unchangedRegions.get().find(e=>e.modifiedUnchangedRange.includes(t));if(!o)return;o.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){const t=e.target.position.lineNumber,i=this._diffModel.get();if(!i)return;const o=i.unchangedRegions.get().find(e=>e.originalUnchangedRange.includes(t));if(!o)return;o.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}}))}};HideUnchangedRegionsFeature=HideUnchangedRegionsFeature_1=__decorate$1P([__param$1L(3,IInstantiationService)],HideUnchangedRegionsFeature);class CompactCollapsedCodeOverlayWidget extends ViewZoneOverlayWidget{constructor(e,t,i,o=!1){const n=h$1("div.diff-hidden-lines-widget");super(e,t,n.root),this._unchangedRegion=i,this._hide=o,this._nodes=h$1("div.diff-hidden-lines-compact",[h$1("div.line-left",[]),h$1("div.text@text",[]),h$1("div.line-right",[])]),n.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register(autorun(e=>{if(!this._hide){const t=localize("hiddenLines","{0} hidden lines",this._unchangedRegion.getHiddenModifiedRange(e).length);this._nodes.text.innerText=t}}))}}class CollapsedCodeOverlayWidget extends ViewZoneOverlayWidget{constructor(e,t,i,o,n,r,s,a){const l=h$1("div.diff-hidden-lines-widget");super(e,t,l.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=o,this._hide=n,this._modifiedOutlineSource=r,this._revealModifiedHiddenLine=s,this._options=a,this._nodes=h$1("div.diff-hidden-lines",[h$1("div.top@top",{title:localize("diff.hiddenLines.top","Click or drag to show more above")}),h$1("div.center@content",{style:{display:"flex"}},[h$1("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[$$f("a",{title:localize("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...renderLabelWithIcons("$(unfold)"))]),h$1("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),h$1("div.bottom@bottom",{title:localize("diff.bottom","Click or drag to show more below"),role:"button"})]),l.root.appendChild(this._nodes.root),this._hide?reset(this._nodes.first):this._register(applyStyle(this._nodes.first,{width:observableCodeEditor(this._editor).layoutInfoContentLeft})),this._register(autorun(e=>{const t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!t),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle("canMoveBottom",!t);const i=this._unchangedRegion.isDragged.read(e),o=this._editor.getDomNode();o&&(o.classList.toggle("draggingUnchangedRegion",!!i),"top"===i?(o.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),o.classList.toggle("canMoveBottom",!t)):"bottom"===i?(o.classList.toggle("canMoveTop",!t),o.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(o.classList.toggle("canMoveTop",!1),o.classList.toggle("canMoveBottom",!1)))}));const c=this._editor;this._register(addDisposableListener(this._nodes.top,"mousedown",e=>{if(0!==e.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let i=!1;const o=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const n=getWindow$2(this._nodes.top),r=addDisposableListener(n,"mousemove",e=>{const n=e.clientY-t;i=i||Math.abs(n)>2;const r=Math.round(n/c.getOption(67)),s=Math.max(0,Math.min(o+r,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(s,void 0)}),s=addDisposableListener(n,"mouseup",e=>{i||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),r.dispose(),s.dispose()})})),this._register(addDisposableListener(this._nodes.bottom,"mousedown",e=>{if(0!==e.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let i=!1;const o=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const n=getWindow$2(this._nodes.bottom),r=addDisposableListener(n,"mousemove",e=>{const n=e.clientY-t;i=i||Math.abs(n)>2;const r=Math.round(n/c.getOption(67)),s=Math.max(0,Math.min(o-r,this._unchangedRegion.getMaxVisibleLineCountBottom())),a=this._unchangedRegionRange.endLineNumberExclusive>c.getModel().getLineCount()?c.getContentHeight():c.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(s,void 0);const l=this._unchangedRegionRange.endLineNumberExclusive>c.getModel().getLineCount()?c.getContentHeight():c.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);c.setScrollTop(c.getScrollTop()+(l-a))}),s=addDisposableListener(n,"mouseup",e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!i){const e=c.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const t=c.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);c.setScrollTop(c.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),r.dispose(),s.dispose()})})),this._register(autorun(e=>{const t=[];if(!this._hide){const o=localize("hiddenLines","{0} hidden lines",i.getHiddenModifiedRange(e).length),n=$$f("span",{title:localize("diff.hiddenLines.expandAll","Double click to unfold")},o);n.addEventListener("dblclick",e=>{0===e.button&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))}),t.push(n);const r=this._unchangedRegion.getHiddenModifiedRange(e),s=this._modifiedOutlineSource.getBreadcrumbItems(r,e);if(s.length>0){t.push($$f("span",void 0,"  |  "));for(let e=0;e{this._revealModifiedHiddenLine(i.startLineNumber)}}}}reset(this._nodes.others,...t)}))}}var __decorate$1O=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1K=function(e,t){return function(i,o){t(i,o,e)}},OverviewRulerFeature_1;let OverviewRulerFeature=class extends Disposable{static{OverviewRulerFeature_1=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=2*this.ONE_OVERVIEW_WIDTH}constructor(e,t,i,o,n,r,s){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=o,this._rootHeight=n,this._modifiedEditorLayoutInfo=r,this._themeService=s,this.width=OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH;const a=observableFromEvent(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),l=derived(e=>{const t=a.read(e);return{insertColor:t.getColor(diffOverviewRulerInserted)||(t.getColor(diffInserted)||defaultInsertColor).transparent(2),removeColor:t.getColor(diffOverviewRulerRemoved)||(t.getColor(diffRemoved)||defaultRemoveColor).transparent(2)}}),c=createFastDomNode(document.createElement("div"));c.setClassName("diffViewport"),c.setPosition("absolute");const d=h$1("div.diffOverview",{style:{position:"absolute",top:"0px",width:OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(appendRemoveOnDispose(d,c.domNode)),this._register(addStandardDisposableListener(d,EventType$1.POINTER_DOWN,e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)})),this._register(addDisposableListener(d,EventType$1.MOUSE_WHEEL,e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1})),this._register(appendRemoveOnDispose(this._rootElement,d)),this._register(autorunWithStore((e,t)=>{const i=this._diffModel.read(e),o=this._editors.original.createOverviewRuler("original diffOverviewRuler");o&&(t.add(o),t.add(appendRemoveOnDispose(d,o.getDomNode())));const n=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(n&&(t.add(n),t.add(appendRemoveOnDispose(d,n.getDomNode()))),!o||!n)return;const r=observableSignalFromEvent("viewZoneChanged",this._editors.original.onDidChangeViewZones),s=observableSignalFromEvent("viewZoneChanged",this._editors.modified.onDidChangeViewZones),a=observableSignalFromEvent("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),u=observableSignalFromEvent("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);t.add(autorun(e=>{r.read(e),s.read(e),a.read(e),u.read(e);const t=l.read(e),c=i?.diff.read(e)?.mappings;function d(e,t,i){const o=i._getViewModel();return o?e.filter(e=>e.length>0).map(e=>{const i=o.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(e.startLineNumber,1)),n=o.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(e.endLineNumberExclusive,1)),r=n.lineNumber-i.lineNumber;return new OverviewRulerZone(i.lineNumber,n.lineNumber,r,t.toString())}):[]}const h=d((c||[]).map(e=>e.lineRangeMapping.original),t.removeColor,this._editors.original),p=d((c||[]).map(e=>e.lineRangeMapping.modified),t.insertColor,this._editors.modified);o?.setZones(h),n?.setZones(p)})),t.add(autorun(e=>{const t=this._rootHeight.read(e),i=this._rootWidth.read(e),r=this._modifiedEditorLayoutInfo.read(e);if(r){const i=OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH-2*OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH;o.setLayout({top:0,height:t,right:i+OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH,width:OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH}),n.setLayout({top:0,height:t,right:0,width:OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH});const s=this._editors.modifiedScrollTop.read(e),a=this._editors.modifiedScrollHeight.read(e),l=this._editors.modified.getOption(104),d=new ScrollbarState(l.verticalHasArrows?l.arrowSize:0,l.verticalScrollbarSize,0,r.height,a,s);c.setTop(d.getSliderPosition()),c.setHeight(d.getSliderSize())}else c.setTop(0),c.setHeight(0);d.style.height=t+"px",d.style.left=i-OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",c.setWidth(OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};OverviewRulerFeature=OverviewRulerFeature_1=__decorate$1O([__param$1K(6,IThemeService)],OverviewRulerFeature);const emptyArr=[];class RevertButtonsFeature extends Disposable{constructor(e,t,i,o){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=o,this._selectedDiffs=derived(this,e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!i)return emptyArr;const o=this._editors.modifiedSelections.read(e);if(o.every(e=>e.isEmpty()))return emptyArr;const n=new LineRangeSet(o.map(e=>LineRange$1.fromRangeInclusive(e))),r=i.mappings.filter(e=>e.lineRangeMapping.innerChanges&&n.intersects(e.lineRangeMapping.modified)),s=r.map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>o.some(t=>Range$2.areIntersecting(e.modifiedRange,t)))}));return 0===s.length||s.every(e=>0===e.rangeMappings.length)?emptyArr:s}),this._register(autorunWithStore((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;const i=this._diffModel.read(e),o=i?.diff.read(e);if(!i||!o)return;if(i.movedTextToCompare.read(e))return;const n=[],r=this._selectedDiffs.read(e),s=new Set(r.map(e=>e.mapping));if(r.length>0){const i=this._editors.modifiedSelections.read(e),o=t.add(new RevertButton(i[i.length-1].positionLineNumber,this._widget,r.flatMap(e=>e.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(o),n.push(o)}for(const a of o.mappings)if(!s.has(a)&&!a.lineRangeMapping.modified.isEmpty&&a.lineRangeMapping.innerChanges){const e=t.add(new RevertButton(a.lineRangeMapping.modified.startLineNumber,this._widget,a.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(e),n.push(e)}t.add(toDisposable(()=>{for(const e of n)this._editors.modified.removeGlyphMarginWidget(e)}))}))}}class RevertButton extends Disposable{static{this.counter=0}getId(){return this._id}constructor(e,t,i,o){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=o,this._id="revertButton"+RevertButton.counter++,this._domNode=h$1("div.revertButton",{title:this._revertSelection?localize("revertSelectedChanges","Revert Selected Changes"):localize("revertChange","Revert Change")},[renderIcon(Codicon.arrowRight)]).root,this._register(addDisposableListener(this._domNode,EventType$1.MOUSE_DOWN,e=>{2!==e.button&&(e.stopPropagation(),e.preventDefault())})),this._register(addDisposableListener(this._domNode,EventType$1.MOUSE_UP,e=>{e.stopPropagation(),e.preventDefault()})),this._register(addDisposableListener(this._domNode,EventType$1.CLICK,e=>{this._diffs instanceof LineRangeMapping?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:GlyphMarginLane.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}function observableConfigValue(e,t,i){return observableFromEventOpts({debugName:()=>`Configuration Key "${e}"`},t=>i.onDidChangeConfiguration(i=>{i.affectsConfiguration(e)&&t(i)}),()=>i.getValue(e)??t)}function bindContextKey(e,t,i){const o=e.bindTo(t);return autorunOpts({debugName:()=>`Set Context Key "${e.key}"`},e=>{o.set(i(e))})}var __decorate$1N=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1J=function(e,t){return function(i,o){t(i,o,e)}};let DiffEditorEditors=class extends Disposable{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,o,n,r,s){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=o,this._createInnerEditor=n,this._instantiationService=r,this._keybindingService=s,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 Emitter$1),this.modifiedScrollTop=observableFromEvent(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=observableFromEvent(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=observableCodeEditor(this.modified),this.originalObs=observableCodeEditor(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=observableFromEvent(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=derivedOpts({owner:this,equalsFn:Position$1.equals},e=>this.modifiedSelections.read(e)[0]?.getPosition()??new Position$1(1,1)),this.originalCursor=observableFromEvent(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new Position$1(1,1)),this._argCodeEditorWidgetOptions=null,this._register(autorunHandleChanges({createEmptyChangeSummary:()=>({}),handleChange:(e,t)=>(e.didChange(i.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)},(e,t)=>{i.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))}))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),o=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return o.setContextValue("isInDiffLeftEditor",!0),o}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),o=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return o.setContextValue("isInDiffRightEditor",!0),o}_constructInnerEditor(e,t,i,o){const n=this._createInnerEditor(e,t,i,o);return this._register(n.onDidContentSizeChange(e=>{const t=this.original.getContentWidth()+this.modified.getContentWidth()+OverviewRulerFeature.ENTIRE_DIFF_OVERVIEW_WIDTH,i=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:i,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})})),n}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=EditorOptions.revealHorizontalRightPadding.defaultValue+OverviewRulerFeature.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){e||(e="");const t=localize("diff-aria-navigation-tip"," use {0} to open the accessibility help.",this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,""):""}};DiffEditorEditors=__decorate$1N([__param$1J(5,IInstantiationService),__param$1J(6,IKeybindingService)],DiffEditorEditors);class DelegatingEditor extends Disposable{constructor(){super(...arguments),this._id=++DelegatingEditor.idCounter,this._onDidDispose=this._register(new Emitter$1),this.onDidDispose=this._onDidDispose.event}static{this.idCounter=0}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,o=!0){this._targetEditor.revealRange(e,t,i,o)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}var __decorate$1M=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1I=function(e,t){return function(i,o){t(i,o,e)}};let DiffEditorOptions=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=observableValue(this,0),this._screenReaderMode=observableFromEvent(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=derived(this,e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=derived(this,e=>this._options.read(e).renderOverviewRuler),this.renderSideBySide=derived(this,e=>(!this.compactMode.read(e)||!this.shouldRenderInlineViewInSmartMode.read(e))&&(this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e)))),this.readOnly=derived(this,e=>this._options.read(e).readOnly),this.shouldRenderOldRevertArrows=derived(this,e=>!!this._options.read(e).renderMarginRevertIcon&&(!!this.renderSideBySide.read(e)&&(!this.readOnly.read(e)&&!this.shouldRenderGutterMenu.read(e)))),this.shouldRenderGutterMenu=derived(this,e=>this._options.read(e).renderGutterMenu),this.renderIndicators=derived(this,e=>this._options.read(e).renderIndicators),this.enableSplitViewResizing=derived(this,e=>this._options.read(e).enableSplitViewResizing),this.splitViewDefaultRatio=derived(this,e=>this._options.read(e).splitViewDefaultRatio),this.ignoreTrimWhitespace=derived(this,e=>this._options.read(e).ignoreTrimWhitespace),this.maxComputationTimeMs=derived(this,e=>this._options.read(e).maxComputationTime),this.showMoves=derived(this,e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e)),this.isInEmbeddedEditor=derived(this,e=>this._options.read(e).isInEmbeddedEditor),this.diffWordWrap=derived(this,e=>this._options.read(e).diffWordWrap),this.originalEditable=derived(this,e=>this._options.read(e).originalEditable),this.diffCodeLens=derived(this,e=>this._options.read(e).diffCodeLens),this.accessibilityVerbose=derived(this,e=>this._options.read(e).accessibilityVerbose),this.diffAlgorithm=derived(this,e=>this._options.read(e).diffAlgorithm),this.showEmptyDecorations=derived(this,e=>this._options.read(e).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=derived(this,e=>this._options.read(e).onlyShowAccessibleDiffViewer),this.compactMode=derived(this,e=>this._options.read(e).compactMode),this.trueInlineDiffRenderingEnabled=derived(this,e=>this._options.read(e).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=derived(this,e=>!this.renderSideBySide.read(e)&&this.trueInlineDiffRenderingEnabled.read(e)),this.hideUnchangedRegions=derived(this,e=>this._options.read(e).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=derived(this,e=>this._options.read(e).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=derived(this,e=>this._options.read(e).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=derived(this,e=>this._options.read(e).hideUnchangedRegions.minimumLineCount),this._model=observableValue(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,e=>derivedConstOnceDefined(this,t=>{const i=e?.diff.read(t);return i?isSimpleDiff(i,this.trueInlineDiffRenderingEnabled.read(t)):void 0})).flatten().map(this,e=>!!e),this.inlineViewHideOriginalLineNumbers=this.compactMode;const i={...e,...validateDiffEditorOptions(e,diffEditorDefaultOptions)};this._options=observableValue(this,i)}updateOptions(e){const t=validateDiffEditorOptions(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};function isSimpleDiff(e,t){return e.mappings.every(e=>isInsertion(e.lineRangeMapping)||isDeletion(e.lineRangeMapping)||t&&allowsTrueInlineDiffRendering(e.lineRangeMapping))}function isInsertion(e){return 0===e.original.length}function isDeletion(e){return 0===e.modified.length}function validateDiffEditorOptions(e,t){return{enableSplitViewResizing:boolean(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:clampedFloat(e.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:boolean(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:boolean(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:clampedInt(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:clampedInt(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:boolean(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:boolean(e.renderIndicators,t.renderIndicators),originalEditable:boolean(e.originalEditable,t.originalEditable),diffCodeLens:boolean(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:boolean(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:stringSet(e.diffWordWrap,t.diffWordWrap,["off","on","inherit"]),diffAlgorithm:stringSet(e.diffAlgorithm,t.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:boolean(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:boolean(e.experimental?.showMoves,t.experimental.showMoves),showEmptyDecorations:boolean(e.experimental?.showEmptyDecorations,t.experimental.showEmptyDecorations),useTrueInlineView:boolean(e.experimental?.useTrueInlineView,t.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:boolean(e.hideUnchangedRegions?.enabled??e.experimental?.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:clampedInt(e.hideUnchangedRegions?.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:clampedInt(e.hideUnchangedRegions?.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:clampedInt(e.hideUnchangedRegions?.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:boolean(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:boolean(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:clampedInt(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:boolean(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:boolean(e.renderGutterMenu,t.renderGutterMenu),compactMode:boolean(e.compactMode,t.compactMode)}}DiffEditorOptions=__decorate$1M([__param$1I(1,IAccessibilityService)],DiffEditorOptions);var __decorate$1L=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1H=function(e,t){return function(i,o){t(i,o,e)}};let DiffEditorWidget=class extends DelegatingEditor{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,o,n,r,s,a){super(),this._domElement=e,this._parentContextKeyService=o,this._parentInstantiationService=n,this._accessibilitySignalService=s,this._editorProgressService=a,this.elements=h$1("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[h$1("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),h$1("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),h$1("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register(disposableObservableValue(this,void 0)),this._diffModel=derived(this,e=>this._diffModelSrc.read(e)?.object),this.onDidChangeModel=Event$1.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService]))),this._boundarySashes=observableValue(this,void 0),this._accessibleDiffViewerShouldBeVisible=observableValue(this,!1),this._accessibleDiffViewerVisible=derived(this,e=>!!this._options.onlyShowAccessibleDiffViewer.read(e)||this._accessibleDiffViewerShouldBeVisible.read(e)),this._movedBlocksLinesPart=observableValue(this,void 0),this._layoutInfo=derived(this,e=>{const t=this._rootSizeObserver.width.read(e),i=this._rootSizeObserver.height.read(e);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=i+"px";const o=this._sash.read(e),n=this._gutter.read(e),r=n?.width.read(e)??0,s=this._overviewRulerPart.read(e)?.width??0;let a,l,c,d,u;if(!!o){const i=o.sashLeft.read(e);a=0,l=i-r-(this._movedBlocksLinesPart.read(e)?.width.read(e)??0),u=i-r,c=i,d=t-c-s}else{u=0;a=r,l=this._options.inlineViewHideOriginalLineNumbers.read(e)?0:Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(e)),c=r+l,d=t-c-s}return this.elements.original.style.left=a+"px",this.elements.original.style.width=l+"px",this._editors.original.layout({width:l,height:i},!0),n?.layout(u),this.elements.modified.style.left=c+"px",this.elements.modified.style.width=d+"px",this._editors.modified.layout({width:d,height:i},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((e,t)=>e?.diff.read(t)),this.onDidUpdateDiff=Event$1.fromObservableLight(this._diffValue),r.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(toDisposable(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new ObservableElementSizeObserver(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(t.automaticLayout??!1),this._options=this._instantiationService.createInstance(DiffEditorOptions,t),this._register(autorun(e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))})),this._contextKeyService.createKey(EditorContextKeys.isEmbeddedDiffEditor.key,!1),this._register(bindContextKey(EditorContextKeys.isEmbeddedDiffEditor,this._contextKeyService,e=>this._options.isInEmbeddedEditor.read(e))),this._register(bindContextKey(EditorContextKeys.comparingMovedCode,this._contextKeyService,e=>!!this._diffModel.read(e)?.movedTextToCompare.read(e))),this._register(bindContextKey(EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,e=>this._options.couldShowInlineViewBecauseOfSize.read(e))),this._register(bindContextKey(EditorContextKeys.diffEditorInlineMode,this._contextKeyService,e=>!this._options.renderSideBySide.read(e))),this._register(bindContextKey(EditorContextKeys.hasChanges,this._contextKeyService,e=>(this._diffModel.read(e)?.diff.read(e)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance(DiffEditorEditors,this.elements.original,this.elements.modified,this._options,i,(e,t,i,o)=>this._createInnerEditor(e,t,i,o))),this._register(bindContextKey(EditorContextKeys.diffEditorOriginalWritable,this._contextKeyService,e=>this._options.originalEditable.read(e))),this._register(bindContextKey(EditorContextKeys.diffEditorModifiedWritable,this._contextKeyService,e=>!this._options.readOnly.read(e))),this._register(bindContextKey(EditorContextKeys.diffEditorOriginalUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.original.uri.toString()??"")),this._register(bindContextKey(EditorContextKeys.diffEditorModifiedUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.modified.uri.toString()??"")),this._overviewRulerPart=derivedDisposable(this,e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance(readHotReloadableExport(OverviewRulerFeature,e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(e=>e.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);const l={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((e,t)=>e-(this._overviewRulerPart.read(t)?.width??0))};this._sashLayout=new SashLayout(this._options,l),this._sash=derivedDisposable(this,e=>{const t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle("side-by-side",t),t?new DiffEditorSash(this.elements.root,l,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const c=derivedDisposable(this,e=>this._instantiationService.createInstance(readHotReloadableExport(HideUnchangedRegionsFeature,e),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);derivedDisposable(this,e=>this._instantiationService.createInstance(readHotReloadableExport(DiffEditorDecorations,e),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const d=new Set,u=new Set;let h=!1;const p=derivedDisposable(this,e=>this._instantiationService.createInstance(readHotReloadableExport(DiffEditorViewZones,e),getWindow$2(this._domElement),this._editors,this._diffModel,this._options,this,()=>h||c.get().isUpdatingHiddenAreas,d,u)).recomputeInitiallyAndOnChange(this._store),g=derived(this,e=>{const t=p.read(e).viewZones.read(e).orig,i=c.read(e).viewZones.read(e).origViewZones;return t.concat(i)}),m=derived(this,e=>{const t=p.read(e).viewZones.read(e).mod,i=c.read(e).viewZones.read(e).modViewZones;return t.concat(i)});let f;this._register(applyViewZones(this._editors.original,g,e=>{h=e},d)),this._register(applyViewZones(this._editors.modified,m,e=>{h=e,h?f=StableEditorScrollState.capture(this._editors.modified):(f?.restore(this._editors.modified),f=void 0)},u)),this._accessibleDiffViewer=derivedDisposable(this,e=>this._instantiationService.createInstance(readHotReloadableExport(AccessibleDiffViewer,e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t),this._options.onlyShowAccessibleDiffViewer.map(e=>!e),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((e,t)=>e?.diff.read(t)?.mappings.map(e=>e.lineRangeMapping)),new AccessibleDiffViewerModelFromEditors(this._editors))).recomputeInitiallyAndOnChange(this._store);const v=this._accessibleDiffViewerVisible.map(e=>e?"hidden":"visible");this._register(applyStyle(this.elements.modified,{visibility:v})),this._register(applyStyle(this.elements.original,{visibility:v})),this._createDiffEditorContributions(),r.addDiffEditor(this),this._gutter=derivedDisposable(this,e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance(readHotReloadableExport(DiffEditorGutter,e),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register(recomputeInitiallyAndOnChange(this._layoutInfo)),derivedDisposable(this,e=>new(readHotReloadableExport(MovedBlocksLinesFeature,e))(this.elements.root,this._diffModel,this._layoutInfo.map(e=>e.originalEditor),this._layoutInfo.map(e=>e.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,e=>{this._movedBlocksLinesPart.set(e,void 0)}),this._register(Event$1.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!0))),this._register(Event$1.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!1)));const b=this._diffModel.map(this,(e,t)=>{if(e)return void 0===e.diff.read(t)&&!e.isDiffUpToDate.read(t)});this._register(autorunWithStore((e,t)=>{if(!0===b.read(e)){const e=this._editorProgressService.show(!0,1e3);t.add(toDisposable(()=>e.done()))}})),this._register(autorunWithStore((e,t)=>{t.add(new(readHotReloadableExport(RevertButtonsFeature,e))(this._editors,this._diffModel,this._options,this))})),this._register(autorunWithStore((e,t)=>{const i=this._diffModel.read(e);if(i)for(const o of[i.model.original,i.model.modified])t.add(o.onWillDispose(e=>{onUnexpectedError(new BugIndicatingError("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register(autorun(e=>{this._options.setModel(this._diffModel.read(e))}))}_createInnerEditor(e,t,i,o){return e.createInstance(CodeEditorWidget,t,i,o)}_createDiffEditorContributions(){const e=EditorExtensionsRegistry.getDiffEditorContributions();for(const i of e)try{this._register(this._instantiationService.createInstance(i.ctor,this))}catch(t){onUnexpectedError(t)}}get _targetEditor(){return this._editors.modified}getEditorType(){return EditorType.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:this._diffModel.get()?.serializeState()}}restoreViewState(e){if(e&&e.original&&e.modified){const t=e;this._editors.original.restoreViewState(t.original),this._editors.modified.restoreViewState(t.modified),t.modelState&&this._diffModel.get()?.restoreSerializedState(t.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(DiffEditorViewModel,e,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(e){const t=e?"model"in e?RefCounted.create(e).createNewRef(this):RefCounted.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){const i=this._diffModel.get();!e&&i&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==e?.object&&subtransaction(t,t=>{const i=e?.object;observableFromEvent.batchEventsGlobally(t,()=>{this._editors.original.setModel(i?i.model.original:null),this._editors.modified.setModel(i?i.model.modified:null)});const o=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(e?.createNewRef(this),t),setTimeout(()=>{o?.dispose()},0)})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){const e=this._diffModel.get()?.diff.get();return e?toLineChanges(e):null}revert(e){const t=this._diffModel.get();t&&t.isDiffUpToDate.get()&&this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map(e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)}));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new Position$1(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){const t=this._diffModel.get()?.diff.get()?.mappings;if(!t||0===t.length)return;const i=this._editors.modified.getPosition().lineNumber;let o;o="next"===e?t.find(e=>e.lineRangeMapping.modified.startLineNumber>i)??t[0]:findLast$1(t,e=>e.lineRangeMapping.modified.startLineNumber{const t=e.diff.get()?.mappings;t&&0!==t.length&&this._goTo(t[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){const e=this._editors.modified.hasWidgetFocus(),t=e?this._editors.modified:this._editors.original,i=e?this._editors.original:this._editors.modified;let o;const n=t.getSelection();if(n){const t=this._diffModel.get()?.diff.get()?.mappings.map(t=>e?t.lineRangeMapping.flip():t.lineRangeMapping);if(t){const e=translatePosition(n.getStartPosition(),t),i=translatePosition(n.getEndPosition(),t);o=Range$2.plusRange(e,i)}}return{destination:i,destinationSelection:o}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){const e=this._diffModel.get()?.unchangedRegions.get();e&&transaction(t=>{for(const i of e)i.collapseAll(t)})}showAllUnchangedRegions(){const e=this._diffModel.get()?.unchangedRegions.get();e&&transaction(t=>{for(const i of e)i.showAll(t)})}_handleCursorPositionChange(e,t){if(3===e?.reason){const i=this._diffModel.get()?.diff.get()?.mappings.find(i=>t?i.lineRangeMapping.modified.contains(e.position.lineNumber):i.lineRangeMapping.original.contains(e.position.lineNumber));i?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):i?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):i&&this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};function toLineChanges(e){return e.mappings.map(e=>{const t=e.lineRangeMapping;let i,o,n,r,s=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,o=0,s=void 0):(i=t.original.startLineNumber,o=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(n=t.modified.startLineNumber-1,r=0,s=void 0):(n=t.modified.startLineNumber,r=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:o,modifiedStartLineNumber:n,modifiedEndLineNumber:r,charChanges:s?.map(e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn}))}})}DiffEditorWidget=__decorate$1L([__param$1H(3,IContextKeyService),__param$1H(4,IInstantiationService),__param$1H(5,ICodeEditorService),__param$1H(6,IAccessibilitySignalService),__param$1H(7,IEditorProgressService)],DiffEditorWidget);var __decorate$1K=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1G=function(e,t){return function(i,o){t(i,o,e)}};let LAST_GENERATED_COMMAND_ID=0,ariaDomNodeCreated=!1;function createAriaDomNode(e){if(!e){if(ariaDomNodeCreated)return;ariaDomNodeCreated=!0}setARIAContainer(e||mainWindow.document.body)}let StandaloneCodeEditor=class extends CodeEditorWidget{constructor(e,t,i,o,n,r,s,a,l,c,d,u,h){const p={...t};p.ariaLabel=p.ariaLabel||StandaloneCodeEditorNLS.editorViewAccessibleLabel,super(e,p,{},i,o,n,r,l,c,d,u,h),this._standaloneKeybindingService=a instanceof StandaloneKeybindingService?a:null,createAriaDomNode(p.ariaContainerElement),setHoverDelegateFactory((e,t)=>i.createInstance(WorkbenchHoverDelegate,e,t,{})),setBaseLayerHoverDelegate(s)}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const o="DYNAMIC_"+ ++LAST_GENERATED_COMMAND_ID,n=ContextKeyExpr.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(o,e,t,n),o}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw 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"),Disposable.None;const t=e.id,i=e.label,o=ContextKeyExpr.and(ContextKeyExpr.equals("editorId",this.getId()),ContextKeyExpr.deserialize(e.precondition)),n=e.keybindings,r=ContextKeyExpr.and(o,ContextKeyExpr.deserialize(e.keybindingContext)),s=e.contextMenuGroupId||null,a=e.contextMenuOrder||0,l=(t,...i)=>Promise.resolve(e.run(this,...i)),c=new DisposableStore,d=this.getId()+":"+t;if(c.add(CommandsRegistry.registerCommand(d,l)),s){const e={command:{id:d,title:i},when:o,group:s,order:a};c.add(MenuRegistry.appendMenuItem(MenuId.EditorContext,e))}if(Array.isArray(n))for(const h of n)c.add(this._standaloneKeybindingService.addDynamicKeybinding(d,h,l,r));const u=new InternalEditorAction(d,i,i,void 0,o,(...t)=>Promise.resolve(e.run(this,...t)),this._contextKeyService);return this._actions.set(t,u),c.add(toDisposable(()=>{this._actions.delete(t)})),c}_triggerCommand(e,t){if(this._codeEditorService instanceof StandaloneCodeEditorService)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};StandaloneCodeEditor=__decorate$1K([__param$1G(2,IInstantiationService),__param$1G(3,ICodeEditorService),__param$1G(4,ICommandService),__param$1G(5,IContextKeyService),__param$1G(6,IHoverService),__param$1G(7,IKeybindingService),__param$1G(8,IThemeService),__param$1G(9,INotificationService),__param$1G(10,IAccessibilityService),__param$1G(11,ILanguageConfigurationService),__param$1G(12,ILanguageFeaturesService)],StandaloneCodeEditor);let StandaloneEditor=class extends StandaloneCodeEditor{constructor(e,t,i,o,n,r,s,a,l,c,d,u,h,p,g,m){const f={...t};updateConfigurationService(d,f,!1);const v=l.registerEditorContainer(e);"string"==typeof f.theme&&l.setTheme(f.theme),void 0!==f.autoDetectHighContrast&&l.setAutoDetectHighContrast(Boolean(f.autoDetectHighContrast));const b=f.model;let _;if(delete f.model,super(e,f,i,o,n,r,s,a,l,c,u,g,m),this._configurationService=d,this._standaloneThemeService=l,this._register(v),void 0===b){const e=p.getLanguageIdByMimeType(f.language)||f.language||PLAINTEXT_LANGUAGE_ID;_=createTextModel(h,p,f.value||"",e,void 0),this._ownsModel=!0}else _=b,this._ownsModel=!1;if(this._attachModel(_),_){const e={oldModelUrl:null,newModelUrl:_.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){updateConfigurationService(this._configurationService,e,!1),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};StandaloneEditor=__decorate$1K([__param$1G(2,IInstantiationService),__param$1G(3,ICodeEditorService),__param$1G(4,ICommandService),__param$1G(5,IContextKeyService),__param$1G(6,IHoverService),__param$1G(7,IKeybindingService),__param$1G(8,IStandaloneThemeService),__param$1G(9,INotificationService),__param$1G(10,IConfigurationService),__param$1G(11,IAccessibilityService),__param$1G(12,IModelService),__param$1G(13,ILanguageService),__param$1G(14,ILanguageConfigurationService),__param$1G(15,ILanguageFeaturesService)],StandaloneEditor);let StandaloneDiffEditor2=class extends DiffEditorWidget{constructor(e,t,i,o,n,r,s,a,l,c,d,u){const h={...t};updateConfigurationService(a,h,!0);const p=r.registerEditorContainer(e);"string"==typeof h.theme&&r.setTheme(h.theme),void 0!==h.autoDetectHighContrast&&r.setAutoDetectHighContrast(Boolean(h.autoDetectHighContrast)),super(e,h,{},o,i,n,u,c),this._configurationService=a,this._standaloneThemeService=r,this._register(p)}dispose(){super.dispose()}updateOptions(e){updateConfigurationService(this._configurationService,e,!0),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(StandaloneCodeEditor,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};function createTextModel(e,t,i,o,n){if(i=i||"",!o){const o=i.indexOf("\n");let r=i;return-1!==o&&(r=i.substring(0,o)),doCreateModel(e,i,t.createByFilepathOrFirstLine(n||null,r),n)}return doCreateModel(e,i,t.createById(o),n)}function doCreateModel(e,t,i,o){return e.createModel(t,i,o)}StandaloneDiffEditor2=__decorate$1K([__param$1G(2,IInstantiationService),__param$1G(3,IContextKeyService),__param$1G(4,ICodeEditorService),__param$1G(5,IStandaloneThemeService),__param$1G(6,INotificationService),__param$1G(7,IConfigurationService),__param$1G(8,IContextMenuService),__param$1G(9,IEditorProgressService),__param$1G(10,IClipboardService),__param$1G(11,IAccessibilitySignalService)],StandaloneDiffEditor2);var __decorate$1J=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1F=function(e,t){return function(i,o){t(i,o,e)}};class TemplateData{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let DiffEditorItemTemplate=class extends Disposable{constructor(e,t,i,o,n){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=o,this._viewModel=observableValue(this,void 0),this._collapsed=derived(this,e=>this._viewModel.read(e)?.collapsed.read(e)),this._editorContentHeight=observableValue(this,500),this.contentHeight=derived(this,e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight),this._modifiedContentWidth=observableValue(this,0),this._modifiedWidth=observableValue(this,0),this._originalContentWidth=observableValue(this,0),this._originalWidth=observableValue(this,0),this.maxScroll=derived(this,e=>{const t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),i=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>i?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:i,width:this._originalWidth.read(e)}}),this._elements=h$1("div.multiDiffEntry",[h$1("div.header@header",[h$1("div.header-content",[h$1("div.collapse-button@collapseButton"),h$1("div.file-path",[h$1("div.title.modified.show-file-icons@primaryPath",[]),h$1("div.status.deleted@status",["R"]),h$1("div.title.original.show-file-icons@secondaryPath",[])]),h$1("div.actions@actions")])]),h$1("div.editorParent",[h$1("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(DiffEditorWidget,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=observableCodeEditor(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=observableCodeEditor(this.editor.getOriginalEditor()).isFocused,this.isFocused=derived(this,e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new DisposableStore),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const r=new Button$1(this._elements.collapseButton,{});this._register(autorun(e=>{r.element.className="",r.icon=this._collapsed.read(e)?Codicon.chevronRight:Codicon.chevronDown})),this._register(r.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register(autorun(e=>{this._elements.editor.style.display=this._collapsed.read(e)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(e=>{const t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(e=>{const t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange(e=>{globalTransaction(t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(e=>{if(this._isSettingScrollTop)return;if(!e.scrollTopChanged||!this._data)return;const t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)})),this._register(autorun(e=>{const t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle("active",t)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(n.createScoped(this._elements.actions));const s=this._register(this._instantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService])));this._register(s.createInstance(MenuWorkbenchToolBar,this._elements.actions,MenuId.MultiDiffEditorFileToolbar,{actionRunner:this._register(new ActionRunnerWithContext(()=>this._viewModel.get()?.modifiedUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("navigation")},actionViewItemProvider:(e,t)=>createActionViewItem(s,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(this._data=e,!e)return void globalTransaction(e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()});const i=e.viewModel.documentDiffItem;if(globalTransaction(o=>{this._resourceLabel?.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:void 0===e.viewModel.modifiedUri});let n=!1,r=!1,s=!1,a="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(a="R",n=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(a="A",s=!0):(a="D",r=!0),this._elements.status.classList.toggle("renamed",n),this._elements.status.classList.toggle("deleted",r),this._elements.status.classList.toggle("added",s),this._elements.status.innerText=a,this._resourceLabel2?.setUri(n?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,o),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,o),this.editor.updateOptions(t(i.options??{}))}),i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{this.editor.updateOptions(t(i.options??{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,e=>{e||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(const[o,n]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(o,n)}render(e,t,i,o){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const n=e.length-this._headerHeight,r=Math.max(0,Math.min(o.start-e.start,n));this._elements.header.style.transform=`translateY(${r}px)`,globalTransaction(i=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",r>0||i>0),this._elements.header.classList.toggle("collapsed",r===n)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};DiffEditorItemTemplate=__decorate$1J([__param$1F(3,IInstantiationService),__param$1F(4,IContextKeyService)],DiffEditorItemTemplate);class ObjectPool{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(0===this._unused.size)t=this._create(e),this._itemData.set(t,e);else{const i=[...this._unused.values()];t=i.find(t=>this._itemData.get(t).getId()===e.getId())??i[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var __decorate$1I=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1E=function(e,t){return function(i,o){t(i,o,e)}};let MultiDiffEditorWidgetImpl=class extends Disposable{constructor(e,t,i,o,n,r){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=o,this._parentContextKeyService=n,this._parentInstantiationService=r,this._scrollableElements=h$1("div.scrollContent",[h$1("div@content",{style:{overflow:"hidden"}}),h$1("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new Scrollable$1({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>scheduleAtNextAnimationFrame(getWindow$2(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new SmoothScrollableElement(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=h$1("div.monaco-component.multiDiffEditor",{},[h$1("div",{},[this._scrollableElement.getDomNode()]),h$1("div.placeholder@placeholder",{},[h$1("div",[localize("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new ObservableElementSizeObserver(this._element,void 0)),this._objectPool=this._register(new ObjectPool(e=>{const t=this._instantiationService.createInstance(DiffEditorItemTemplate,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t})),this.scrollTop=observableFromEvent(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=observableFromEvent(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=derivedWithStore(this,(e,t)=>{const i=this._viewModel.read(e);if(!i)return{items:[],getItem:e=>{throw new BugIndicatingError}};const o=i.items.read(e),n=new Map,r=o.map(e=>{const i=t.add(new VirtualizedViewItem(e,this._objectPool,this.scrollLeft,e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})})),o=this._lastDocStates?.[i.getKey()];return o&&transaction(e=>{i.setViewState(o,e)}),n.set(e,i),i});return{items:r,getItem:e=>n.get(e)}}),this._viewItems=this._viewItemsInfo.map(this,e=>e.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(e,t)=>e.reduce((e,i)=>e+i.contentHeight.read(t)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(EditorContextKeys.inMultiDiffEditor.key,!0),this._register(autorunWithStore((e,t)=>{const i=this._viewModel.read(e);if(i&&i.contextKeys)for(const[o,n]of Object.entries(i.contextKeys)){const e=this._contextKeyService.createKey(o,void 0);e.set(n),t.add(toDisposable(()=>e.reset()))}}));const s=this._parentContextKeyService.createKey(EditorContextKeys.multiDiffEditorAllCollapsed.key,!1);this._register(autorun(e=>{const t=this._viewModel.read(e);if(t){const i=t.items.read(e).every(t=>t.collapsed.read(e));s.set(i)}})),this._register(autorun(e=>{const t=this._dimension.read(e);this._sizeObserver.observe(t)})),this._register(autorun(e=>{const t=this._viewItems.read(e);this._elements.placeholder.classList.toggle("visible",0===t.length)})),this._scrollableElements.content.style.position="relative",this._register(autorun(e=>{const t=this._sizeObserver.height.read(e);this._scrollableElements.root.style.height=`${t}px`;const i=this._totalHeight.read(e);this._scrollableElements.content.style.height=`${i}px`;const o=this._sizeObserver.width.read(e);let n=o;const r=findFirstMax(this._viewItems.read(e),compareBy(t=>t.maxScroll.read(e).maxScroll,numberComparator));if(r){n=o+r.maxScroll.read(e).maxScroll}this._scrollableElement.setScrollDimensions({width:o,height:t,scrollHeight:i,scrollWidth:n})})),e.replaceChildren(this._elements.root),this._register(toDisposable(()=>{e.replaceChildren()})),this._register(this._register(autorun(e=>{globalTransaction(t=>{this.render(e)})})))}render(e){const t=this.scrollTop.read(e);let i=0,o=0,n=0;const r=this._sizeObserver.height.read(e),s=OffsetRange.ofStartAndLength(t,r),a=this._sizeObserver.width.read(e);for(const l of this._viewItems.read(e)){const c=l.contentHeight.read(e),d=Math.min(c,r),u=OffsetRange.ofStartAndLength(o,d),h=OffsetRange.ofStartAndLength(n,c);if(h.isBefore(s))i-=c-d,l.hide();else if(h.isAfter(s))l.hide();else{const e=Math.max(0,Math.min(s.start-h.start,c-d));i-=e;const o=OffsetRange.ofStartAndLength(t+i,r);l.render(u,e,a,o)}o+=d+this._spaceBetweenPx,n+=c+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+i)}px)`}};MultiDiffEditorWidgetImpl=__decorate$1I([__param$1E(4,IContextKeyService),__param$1E(5,IInstantiationService)],MultiDiffEditorWidgetImpl);class VirtualizedViewItem extends Disposable{constructor(e,t,i,o){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=o,this._templateRef=this._register(disposableObservableValue(this,void 0)),this.contentHeight=derived(this,e=>this._templateRef.read(e)?.object.contentHeight?.read(e)??this.viewModel.lastTemplateData.read(e).contentHeight),this.maxScroll=derived(this,e=>this._templateRef.read(e)?.object.maxScroll.read(e)??{maxScroll:0,scrollWidth:0}),this.template=derived(this,e=>this._templateRef.read(e)?.object),this._isHidden=observableValue(this,!1),this._isFocused=derived(this,e=>this.template.read(e)?.isFocused.read(e)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(autorun(e=>{const t=this._scrollLeft.read(e);this._templateRef.read(e)?.object.setScrollLeft(t)})),this._register(autorun(e=>{const t=this._templateRef.read(e);if(!t)return;if(!this._isHidden.read(e))return;t.object.isFocused.read(e)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),o=e.selections?.map(Selection$1.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:o},t);const n=this._templateRef.get();n&&o&&n.object.editor.setSelections(o)}_updateTemplateData(e){const t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){const e=this._templateRef.get();e&&transaction(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,o){this._isHidden.set(!1,void 0);let n=this._templateRef.get();if(!n){n=this._objectPool.getUnusedObj(new TemplateData(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(n,void 0);const e=this.viewModel.lastTemplateData.get().selections;e&&n.object.editor.setSelections(e)}n.object.render(e,i,t,o)}}registerColor("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},localize("multiDiffEditor.headerBackground","The background color of the diff editor's header")),registerColor("multiDiffEditor.background",editorBackground,localize("multiDiffEditor.background","The background color of the multi file diff editor")),registerColor("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},localize("multiDiffEditor.border","The border color of the multi file diff editor"));var __decorate$1H=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1D=function(e,t){return function(i,o){t(i,o,e)}};let MultiDiffEditorWidget=class extends Disposable{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=observableValue(this,void 0),this._viewModel=observableValue(this,void 0),this._widgetImpl=derivedWithStore(this,(e,t)=>(readHotReloadableExport(DiffEditorItemTemplate,e),t.add(this._instantiationService.createInstance(readHotReloadableExport(MultiDiffEditorWidgetImpl,e),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register(recomputeInitiallyAndOnChange(this._widgetImpl))}};function create(e,t,i){return StandaloneServices.initialize(i||{}).createInstance(StandaloneEditor,e,t)}function onDidCreateEditor(e){return StandaloneServices.get(ICodeEditorService).onCodeEditorAdd(t=>{e(t)})}function onDidCreateDiffEditor(e){return StandaloneServices.get(ICodeEditorService).onDiffEditorAdd(t=>{e(t)})}function getEditors(){return StandaloneServices.get(ICodeEditorService).listCodeEditors()}function getDiffEditors(){return StandaloneServices.get(ICodeEditorService).listDiffEditors()}function createDiffEditor(e,t,i){return StandaloneServices.initialize(i||{}).createInstance(StandaloneDiffEditor2,e,t)}function createMultiFileDiffEditor(e,t){const i=StandaloneServices.initialize(t||{});return new MultiDiffEditorWidget(e,{},i)}function addCommand(e){if("string"!=typeof e.id||"function"!=typeof e.run)throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return CommandsRegistry.registerCommand(e.id,e.run)}function addEditorAction(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const t=ContextKeyExpr.deserialize(e.precondition),i=new DisposableStore;if(i.add(CommandsRegistry.registerCommand(e.id,(i,...o)=>EditorCommand.runEditorCommand(i,o,t,(t,i,o)=>Promise.resolve(e.run(i,...o))))),e.contextMenuGroupId){const o={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};i.add(MenuRegistry.appendMenuItem(MenuId.EditorContext,o))}if(Array.isArray(e.keybindings)){const o=StandaloneServices.get(IKeybindingService);if(o instanceof StandaloneKeybindingService){const n=ContextKeyExpr.and(t,ContextKeyExpr.deserialize(e.keybindingContext));i.add(o.addDynamicKeybindings(e.keybindings.map(t=>({keybinding:t,command:e.id,when:n}))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return i}function addKeybindingRule(e){return addKeybindingRules([e])}function addKeybindingRules(e){const t=StandaloneServices.get(IKeybindingService);return t instanceof StandaloneKeybindingService?t.addDynamicKeybindings(e.map(e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:ContextKeyExpr.deserialize(e.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),Disposable.None)}function createModel(e,t,i){const o=StandaloneServices.get(ILanguageService),n=o.getLanguageIdByMimeType(t)||t;return createTextModel(StandaloneServices.get(IModelService),o,e,n,i)}function setModelLanguage(e,t){const i=StandaloneServices.get(ILanguageService),o=i.getLanguageIdByMimeType(t)||t||PLAINTEXT_LANGUAGE_ID;e.setLanguage(i.createById(o))}function setModelMarkers(e,t,i){if(e){StandaloneServices.get(IMarkerService).changeOne(t,e.uri,i)}}function removeAllMarkers(e){StandaloneServices.get(IMarkerService).changeAll(e,[])}function getModelMarkers(e){return StandaloneServices.get(IMarkerService).read(e)}function onDidChangeMarkers(e){return StandaloneServices.get(IMarkerService).onMarkerChanged(e)}function getModel(e){return StandaloneServices.get(IModelService).getModel(e)}function getModels(){return StandaloneServices.get(IModelService).getModels()}function onDidCreateModel(e){return StandaloneServices.get(IModelService).onModelAdded(e)}function onWillDisposeModel(e){return StandaloneServices.get(IModelService).onModelRemoved(e)}function onDidChangeModelLanguage(e){return StandaloneServices.get(IModelService).onModelLanguageChanged(t=>{e({model:t.model,oldLanguage:t.oldLanguageId})})}function createWebWorker(e){return createWebWorker$1(StandaloneServices.get(IModelService),e)}function colorizeElement(e,t){const i=StandaloneServices.get(ILanguageService),o=StandaloneServices.get(IStandaloneThemeService);return Colorizer.colorizeElement(o,i,e,t).then(()=>{o.registerEditorContainer(e)})}function colorize(e,t,i){const o=StandaloneServices.get(ILanguageService);return StandaloneServices.get(IStandaloneThemeService).registerEditorContainer(mainWindow.document.body),Colorizer.colorize(o,e,t,i)}function colorizeModelLine(e,t,i=4){return StandaloneServices.get(IStandaloneThemeService).registerEditorContainer(mainWindow.document.body),Colorizer.colorizeModelLine(e,t,i)}function getSafeTokenizationSupport$1(e){const t=TokenizationRegistry.get(e);return t||{getInitialState:()=>NullState,tokenize:(t,i,o)=>nullTokenize(e,o)}}function tokenize$2(e,t){TokenizationRegistry.getOrCreate(t);const i=getSafeTokenizationSupport$1(t),o=splitLines(e),n=[];let r=i.getInitialState();for(let s=0,a=o.length;s("string"==typeof t&&(t=URI.parse(t)),e.open(t))})}function registerEditorOpener(e){return StandaloneServices.get(ICodeEditorService).registerCodeEditorOpenHandler(async(t,i,o)=>{if(!i)return null;const n=t.options?.selection;let r;return n&&"number"==typeof n.endLineNumber&&"number"==typeof n.endColumn?r=n:n&&(r={lineNumber:n.startLineNumber,column:n.startColumn}),await e.openCodeEditor(i,t.resource,r)?i:null})}function createMonacoEditorAPI(){return{create:create,getEditors:getEditors,getDiffEditors:getDiffEditors,onDidCreateEditor:onDidCreateEditor,onDidCreateDiffEditor:onDidCreateDiffEditor,createDiffEditor:createDiffEditor,addCommand:addCommand,addEditorAction:addEditorAction,addKeybindingRule:addKeybindingRule,addKeybindingRules:addKeybindingRules,createModel:createModel,setModelLanguage:setModelLanguage,setModelMarkers:setModelMarkers,getModelMarkers:getModelMarkers,removeAllMarkers:removeAllMarkers,onDidChangeMarkers:onDidChangeMarkers,getModels:getModels,getModel:getModel,onDidCreateModel:onDidCreateModel,onWillDisposeModel:onWillDisposeModel,onDidChangeModelLanguage:onDidChangeModelLanguage,createWebWorker:createWebWorker,colorizeElement:colorizeElement,colorize:colorize,colorizeModelLine:colorizeModelLine,tokenize:tokenize$2,defineTheme:defineTheme,setTheme:setTheme,remeasureFonts:remeasureFonts,registerCommand:registerCommand$1,registerLinkOpener:registerLinkOpener,registerEditorOpener:registerEditorOpener,AccessibilitySupport:AccessibilitySupport,ContentWidgetPositionPreference:ContentWidgetPositionPreference,CursorChangeReason:CursorChangeReason,DefaultEndOfLine:DefaultEndOfLine,EditorAutoIndentStrategy:EditorAutoIndentStrategy,EditorOption:EditorOption,EndOfLinePreference:EndOfLinePreference,EndOfLineSequence:EndOfLineSequence,MinimapPosition:MinimapPosition,MinimapSectionHeaderStyle:MinimapSectionHeaderStyle,MouseTargetType:MouseTargetType,OverlayWidgetPositionPreference:OverlayWidgetPositionPreference,OverviewRulerLane:OverviewRulerLane$1,GlyphMarginLane:GlyphMarginLane$1,RenderLineNumbersType:RenderLineNumbersType,RenderMinimap:RenderMinimap,ScrollbarVisibility:ScrollbarVisibility,ScrollType:ScrollType,TextEditorCursorBlinkingStyle:TextEditorCursorBlinkingStyle,TextEditorCursorStyle:TextEditorCursorStyle,TrackedRangeStickiness:TrackedRangeStickiness,WrappingIndent:WrappingIndent,InjectedTextCursorStops:InjectedTextCursorStops$1,PositionAffinity:PositionAffinity,ShowLightbulbIconMode:ShowLightbulbIconMode,ConfigurationChangedEvent:ConfigurationChangedEvent,BareFontInfo:BareFontInfo,FontInfo:FontInfo,TextModelResolvedOptions:TextModelResolvedOptions,FindMatch:FindMatch,ApplyUpdateResult:ApplyUpdateResult,EditorZoom:EditorZoom,createMultiFileDiffEditor:createMultiFileDiffEditor,EditorType:EditorType,EditorOptions:EditorOptions}}function isArrayOf(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;for(const i of t)if(!e(i))return!1;return!0}function bool(e,t){return"boolean"==typeof e?e:t}function string$1(e,t){return"string"==typeof e?e:t}function arrayToHash(e){const t={};for(const i of e)t[i]=!0;return t}function createKeywordMatcher(e,t=!1){t&&(e=e.map(function(e){return e.toLowerCase()}));const i=arrayToHash(e);return t?function(e){return void 0!==i[e.toLowerCase()]&&i.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==i[e]&&i.hasOwnProperty(e)}}function compileRegExp(e,t,i){t=t.replace(/@@/g,"");let o,n=0;do{o=!1,t=t.replace(/@(\w+)/g,function(i,n){o=!0;let r="";if("string"==typeof e[n])r=e[n];else{if(!(e[n]&&e[n]instanceof RegExp))throw void 0===e[n]?createError(e,"language definition does not contain attribute '"+n+"', used at: "+t):createError(e,"attribute reference '"+n+"' must be a string, used at: "+t);r=e[n].source}return empty(r)?"":"(?:"+r+")"}),n++}while(o&&n<5);t=t.replace(/\x01/g,"@");const r=(e.ignoreCase?"i":"")+(e.unicode?"u":"");if(i){if(t.match(/\$[sS](\d\d?)/g)){let i=null,o=null;return n=>(o&&i===n||(i=n,o=new RegExp(substituteMatchesRe(e,t,n),r)),o)}}return new RegExp(t,r)}function selectScrutinee(e,t,i,o){if(o<0)return e;if(o=100){o-=100;const e=i.split(".");if(e.unshift(i),o=0&&(o.tokenSubst=!0),"string"==typeof i.bracket)if("@open"===i.bracket)o.bracket=1;else{if("@close"!==i.bracket)throw createError(e,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+t);o.bracket=-1}if(i.next){if("string"!=typeof i.next)throw createError(e,"the next state must be a string value in rule: "+t);{let n=i.next;if(!/^(@pop|@push|@popall)$/.test(n)&&("@"===n[0]&&(n=n.substr(1)),n.indexOf("$")<0&&!stateExists(e,substituteMatches(e,n,"",[],""))))throw createError(e,"the next state '"+i.next+"' is not defined in rule: "+t);o.next=n}}return"number"==typeof i.goBack&&(o.goBack=i.goBack),"string"==typeof i.switchTo&&(o.switchTo=i.switchTo),"string"==typeof i.log&&(o.log=i.log),"string"==typeof i.nextEmbedded&&(o.nextEmbedded=i.nextEmbedded,e.usesEmbedded=!0),o}}if(Array.isArray(i)){const o=[];for(let n=0,r=i.length;n0&&"^"===i[0],this.name=this.name+": "+i,this.regex=compileRegExp(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=compileAction(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}};function compile(e,t){if(!t||"object"!=typeof t)throw new Error("Monarch: expecting a language definition object");const i={languageId:e,includeLF:bool(t.includeLF,!1),noThrow:!1,maxStack:100,start:"string"==typeof t.start?t.start:null,ignoreCase:bool(t.ignoreCase,!1),unicode:bool(t.unicode,!1),tokenPostfix:string$1(t.tokenPostfix,"."+e),defaultToken:string$1(t.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},o=t;function n(e,r,s){for(const a of s){let s=a.include;if(s){if("string"!=typeof s)throw createError(i,"an 'include' attribute must be a string at: "+e);if("@"===s[0]&&(s=s.substr(1)),!t.tokenizer[s])throw createError(i,"include target '"+s+"' is not defined at: "+e);n(e+"."+s,r,t.tokenizer[s])}else{const t=new Rule$1(e);if(Array.isArray(a)&&a.length>=1&&a.length<=3)if(t.setRegex(o,a[0]),a.length>=3)if("string"==typeof a[1])t.setAction(o,{token:a[1],next:a[2]});else{if("object"!=typeof a[1])throw createError(i,"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: "+e);{const e=a[1];e.next=a[2],t.setAction(o,e)}}else t.setAction(o,a[1]);else{if(!a.regex)throw createError(i,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);a.name&&"string"==typeof a.name&&(t.name=a.name),a.matchOnlyAtStart&&(t.matchOnlyAtLineStart=bool(a.matchOnlyAtLineStart,!1)),t.setRegex(o,a.regex),t.setAction(o,a.action)}r.push(t)}}}if(o.languageId=e,o.includeLF=i.includeLF,o.ignoreCase=i.ignoreCase,o.unicode=i.unicode,o.noThrow=i.noThrow,o.usesEmbedded=i.usesEmbedded,o.stateNames=t.tokenizer,o.defaultToken=i.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw createError(i,"a language definition must define the 'tokenizer' attribute as an object");i.tokenizer=[];for(const s in t.tokenizer)if(t.tokenizer.hasOwnProperty(s)){i.start||(i.start=s);const e=t.tokenizer[s];i.tokenizer[s]=new Array,n("tokenizer."+s,i.tokenizer[s],e)}if(i.usesEmbedded=o.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw createError(i,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const r=[];for(const s of t.brackets){let e=s;if(e&&Array.isArray(e)&&3===e.length&&(e={token:e[2],open:e[0],close:e[1]}),e.open===e.close)throw createError(i,"open and close brackets in a 'brackets' attribute must be different: "+e.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"!=typeof e.open||"string"!=typeof e.token||"string"!=typeof e.close)throw createError(i,"every element in the 'brackets' array must be a '{open,close,token}' object or array");r.push({token:e.token+i.tokenPostfix,open:fixCase(i,e.open),close:fixCase(i,e.close)})}return i.brackets=r,i.noThrow=!0,i}function register(e){ModesRegistry.registerLanguage(e)}function getLanguages(){let e=[];return e=e.concat(ModesRegistry.getLanguages()),e}function getEncodedLanguageId(e){return StandaloneServices.get(ILanguageService).languageIdCodec.encodeLanguageId(e)}function onLanguage(e,t){return StandaloneServices.withServices(()=>{const i=StandaloneServices.get(ILanguageService).onDidRequestRichLanguageFeatures(o=>{o===e&&(i.dispose(),t())});return i})}function onLanguageEncountered(e,t){return StandaloneServices.withServices(()=>{const i=StandaloneServices.get(ILanguageService).onDidRequestBasicLanguageFeatures(o=>{o===e&&(i.dispose(),t())});return i})}function setLanguageConfiguration(e,t){if(!StandaloneServices.get(ILanguageService).isRegisteredLanguageId(e))throw new Error(`Cannot set configuration for unknown language ${e}`);return StandaloneServices.get(ILanguageConfigurationService).register(e,t,100)}class EncodedTokenizationSupportAdapter{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if("function"==typeof this._actual.tokenize)return TokenizationSupportAdapter.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const o=this._actual.tokenizeEncoded(e,i);return new EncodedTokenizationResult(o.tokens,o.endState)}}class TokenizationSupportAdapter{constructor(e,t,i,o){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=o}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let o=0;for(let n=0,r=e.length;n0&&n[r-1]===a)continue;let c=e.startIndex;0===l?c=0:c{const i=await Promise.resolve(t.create());return i?isATokensProvider(i)?createTokenizationSupportAdapter(e,i):new MonarchTokenizer(StandaloneServices.get(ILanguageService),StandaloneServices.get(IStandaloneThemeService),e,compile(e,i),StandaloneServices.get(IConfigurationService)):null});return TokenizationRegistry.registerFactory(e,i)}function setTokensProvider(e,t){if(!StandaloneServices.get(ILanguageService).isRegisteredLanguageId(e))throw new Error(`Cannot set tokens provider for unknown language ${e}`);return isThenable(t)?registerTokensProviderFactory(e,{create:()=>t}):TokenizationRegistry.register(e,createTokenizationSupportAdapter(e,t))}function setMonarchTokensProvider(e,t){return isThenable(t)?registerTokensProviderFactory(e,{create:()=>t}):TokenizationRegistry.register(e,(t=>new MonarchTokenizer(StandaloneServices.get(ILanguageService),StandaloneServices.get(IStandaloneThemeService),e,compile(e,t),StandaloneServices.get(IConfigurationService)))(t))}function registerReferenceProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).referenceProvider.register(e,t)}function registerRenameProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).renameProvider.register(e,t)}function registerNewSymbolNameProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).newSymbolNamesProvider.register(e,t)}function registerSignatureHelpProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).signatureHelpProvider.register(e,t)}function registerHoverProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).hoverProvider.register(e,{provideHover:async(e,i,o,n)=>{const r=e.getWordAtPosition(i);return Promise.resolve(t.provideHover(e,i,o,n)).then(e=>{if(e)return!e.range&&r&&(e.range=new Range$2(i.lineNumber,r.startColumn,i.lineNumber,r.endColumn)),e.range||(e.range=new Range$2(i.lineNumber,i.column,i.lineNumber,i.column)),e})}})}function registerDocumentSymbolProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).documentSymbolProvider.register(e,t)}function registerDocumentHighlightProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).documentHighlightProvider.register(e,t)}function registerLinkedEditingRangeProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).linkedEditingRangeProvider.register(e,t)}function registerDefinitionProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).definitionProvider.register(e,t)}function registerImplementationProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).implementationProvider.register(e,t)}function registerTypeDefinitionProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).typeDefinitionProvider.register(e,t)}function registerCodeLensProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).codeLensProvider.register(e,t)}function registerCodeActionProvider(e,t,i){return StandaloneServices.get(ILanguageFeaturesService).codeActionProvider.register(e,{providedCodeActionKinds:i?.providedCodeActionKinds,documentation:i?.documentation,provideCodeActions:(e,i,o,n)=>{const r=StandaloneServices.get(IMarkerService).read({resource:e.uri}).filter(e=>Range$2.areIntersectingOrTouching(e,i));return t.provideCodeActions(e,i,{markers:r,only:o.only,trigger:o.trigger},n)},resolveCodeAction:t.resolveCodeAction})}function registerDocumentFormattingEditProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).documentFormattingEditProvider.register(e,t)}function registerDocumentRangeFormattingEditProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).documentRangeFormattingEditProvider.register(e,t)}function registerOnTypeFormattingEditProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).onTypeFormattingEditProvider.register(e,t)}function registerLinkProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).linkProvider.register(e,t)}function registerCompletionItemProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).completionProvider.register(e,t)}function registerColorProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).colorProvider.register(e,t)}function registerFoldingRangeProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).foldingRangeProvider.register(e,t)}function registerDeclarationProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).declarationProvider.register(e,t)}function registerSelectionRangeProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).selectionRangeProvider.register(e,t)}function registerDocumentSemanticTokensProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).documentSemanticTokensProvider.register(e,t)}function registerDocumentRangeSemanticTokensProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).documentRangeSemanticTokensProvider.register(e,t)}function registerInlineCompletionsProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).inlineCompletionsProvider.register(e,t)}function registerInlineEditProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).inlineEditProvider.register(e,t)}function registerInlayHintsProvider(e,t){return StandaloneServices.get(ILanguageFeaturesService).inlayHintsProvider.register(e,t)}function createMonacoLanguagesAPI(){return{register:register,getLanguages:getLanguages,onLanguage:onLanguage,onLanguageEncountered:onLanguageEncountered,getEncodedLanguageId:getEncodedLanguageId,setLanguageConfiguration:setLanguageConfiguration,setColorMap:setColorMap,registerTokensProviderFactory:registerTokensProviderFactory,setTokensProvider:setTokensProvider,setMonarchTokensProvider:setMonarchTokensProvider,registerReferenceProvider:registerReferenceProvider,registerRenameProvider:registerRenameProvider,registerNewSymbolNameProvider:registerNewSymbolNameProvider,registerCompletionItemProvider:registerCompletionItemProvider,registerSignatureHelpProvider:registerSignatureHelpProvider,registerHoverProvider:registerHoverProvider,registerDocumentSymbolProvider:registerDocumentSymbolProvider,registerDocumentHighlightProvider:registerDocumentHighlightProvider,registerLinkedEditingRangeProvider:registerLinkedEditingRangeProvider,registerDefinitionProvider:registerDefinitionProvider,registerImplementationProvider:registerImplementationProvider,registerTypeDefinitionProvider:registerTypeDefinitionProvider,registerCodeLensProvider:registerCodeLensProvider,registerCodeActionProvider:registerCodeActionProvider,registerDocumentFormattingEditProvider:registerDocumentFormattingEditProvider,registerDocumentRangeFormattingEditProvider:registerDocumentRangeFormattingEditProvider,registerOnTypeFormattingEditProvider:registerOnTypeFormattingEditProvider,registerLinkProvider:registerLinkProvider,registerColorProvider:registerColorProvider,registerFoldingRangeProvider:registerFoldingRangeProvider,registerDeclarationProvider:registerDeclarationProvider,registerSelectionRangeProvider:registerSelectionRangeProvider,registerDocumentSemanticTokensProvider:registerDocumentSemanticTokensProvider,registerDocumentRangeSemanticTokensProvider:registerDocumentRangeSemanticTokensProvider,registerInlineCompletionsProvider:registerInlineCompletionsProvider,registerInlineEditProvider:registerInlineEditProvider,registerInlayHintsProvider:registerInlayHintsProvider,DocumentHighlightKind:DocumentHighlightKind,CompletionItemKind:CompletionItemKind,CompletionItemTag:CompletionItemTag,CompletionItemInsertTextRule:CompletionItemInsertTextRule,SymbolKind:SymbolKind,SymbolTag:SymbolTag,IndentAction:IndentAction$1,CompletionTriggerKind:CompletionTriggerKind,SignatureHelpTriggerKind:SignatureHelpTriggerKind,InlayHintKind:InlayHintKind,InlineCompletionTriggerKind:InlineCompletionTriggerKind,InlineEditTriggerKind:InlineEditTriggerKind,CodeActionTriggerType:CodeActionTriggerType,NewSymbolNameTag:NewSymbolNameTag,NewSymbolNameTriggerKind:NewSymbolNameTriggerKind,PartialAcceptTriggerKind:PartialAcceptTriggerKind,HoverVerbosityAction:HoverVerbosityAction,FoldingRangeKind:FoldingRangeKind,SelectedSuggestionInfo:SelectedSuggestionInfo}}const IEditorCancellationTokens=createDecorator("IEditorCancelService"),ctxCancellableOperation=new RawContextKey("cancellableOperation",!1,localize("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));registerSingleton(IEditorCancellationTokens,class{constructor(){this._tokens=new WeakMap}add(e,t){let i,o=this._tokens.get(e);return o||(o=e.invokeWithinContext(e=>({key:ctxCancellableOperation.bindTo(e.get(IContextKeyService)),tokens:new LinkedList})),this._tokens.set(e,o)),o.key.set(!0),i=o.tokens.push(t),()=>{i&&(i(),o.key.set(!o.tokens.isEmpty()),i=void 0)}}cancel(e){const t=this._tokens.get(e);if(!t)return;const i=t.tokens.pop();i&&(i.cancel(),t.key.set(!t.tokens.isEmpty()))}},1);class EditorKeybindingCancellationTokenSource extends CancellationTokenSource$1{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(t=>t.get(IEditorCancellationTokens).add(e,this))}dispose(){this._unregister(),super.dispose()}}registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:ctxCancellableOperation})}runEditorCommand(e,t){e.get(IEditorCancellationTokens).cancel(t)}});let EditorState$1=class e{constructor(e,t){if(this.flags=t,1&this.flags){const t=e.getModel();this.modelVersionId=t?format$1("{0}#{1}",t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;4&this.flags?this.position=e.getPosition():this.position=null,2&this.flags?this.selection=e.getSelection():this.selection=null,8&this.flags?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(t){if(!(t instanceof e))return!1;const i=t;return this.modelVersionId===i.modelVersionId&&(this.scrollLeft===i.scrollLeft&&this.scrollTop===i.scrollTop&&(!(!this.position&&i.position||this.position&&!i.position||this.position&&i.position&&!this.position.equals(i.position))&&!(!this.selection&&i.selection||this.selection&&!i.selection||this.selection&&i.selection&&!this.selection.equalsRange(i.selection))))}validate(t){return this._equals(new e(t,this.flags))}};class EditorStateCancellationTokenSource extends EditorKeybindingCancellationTokenSource{constructor(e,t,i,o){super(e,o),this._listener=new DisposableStore,4&t&&this._listener.add(e.onDidChangeCursorPosition(e=>{i&&Range$2.containsPosition(i,e.position)||this.cancel()})),2&t&&this._listener.add(e.onDidChangeCursorSelection(e=>{i&&Range$2.containsRange(i,e.selection)||this.cancel()})),8&t&&this._listener.add(e.onDidScrollChange(e=>this.cancel())),1&t&&(this._listener.add(e.onDidChangeModel(e=>this.cancel())),this._listener.add(e.onDidChangeModelContent(e=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class TextModelCancellationTokenSource extends CancellationTokenSource$1{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}function isCodeEditor(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===EditorType.ICodeEditor}function isDiffEditor(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===EditorType.IDiffEditor}function isCompositeEditor(e){return!!e&&"object"==typeof e&&"function"==typeof e.onDidChangeActiveEditor}function getCodeEditor(e){return isCodeEditor(e)?e:isDiffEditor(e)?e.getModifiedEditor():isCompositeEditor(e)&&isCodeEditor(e.activeCodeEditor)?e.activeCodeEditor:null}class FormattingEdit{static _handleEolEdits(e,t){let i;const o=[];for(const n of t)"number"==typeof n.eol&&(i=n.eol),n.range&&"string"==typeof n.text&&o.push(n);return"number"==typeof i&&e.hasModel()&&e.getModel().pushEOL(i),o}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;const i=e.getModel(),o=i.validateRange(t.range);return i.getFullModelRange().equalsRange(o)}static execute(e,t,i){i&&e.pushUndoStop();const o=StableEditorScrollState.capture(e),n=FormattingEdit._handleEolEdits(e,t);1===n.length&&FormattingEdit._isFullModelReplaceEdit(e,n[0])?e.executeEdits("formatEditsCommand",n.map(e=>EditOperation.replace(Range$2.lift(e.range),e.text))):e.executeEdits("formatEditsCommand",n.map(e=>EditOperation.replaceMove(Range$2.lift(e.range),e.text))),i&&e.pushUndoStop(),o.restoreRelativeVerticalPositionOfCursor(e)}}class ExtensionIdentifier{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return"string"==typeof e?e.toLowerCase():e._lower}}class ExtensionIdentifierSet{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(ExtensionIdentifier.toKey(e))}has(e){return this._set.has(ExtensionIdentifier.toKey(e))}}function getRealAndSyntheticDocumentFormattersOrdered(e,t,i){const o=[],n=new ExtensionIdentifierSet,r=e.ordered(i);for(const a of r)o.push(a),a.extensionId&&n.add(a.extensionId);const s=t.ordered(i);for(const a of s){if(a.extensionId){if(n.has(a.extensionId))continue;n.add(a.extensionId)}o.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits:(e,t,i)=>a.provideDocumentRangeFormattingEdits(e,e.getFullModelRange(),t,i)})}return o}class FormattingConflicts{static{this._selectors=new LinkedList}static setFormatterSelector(e){return{dispose:FormattingConflicts._selectors.unshift(e)}}static async select(e,t,i,o){if(0===e.length)return;const n=Iterable.first(FormattingConflicts._selectors);return n?await n(e,t,i,o):void 0}}async function formatDocumentRangesWithSelectedProvider(e,t,i,o,n,r,s){const a=e.get(IInstantiationService),{documentRangeFormattingEditProvider:l}=e.get(ILanguageFeaturesService),c=isCodeEditor(t)?t.getModel():t,d=l.ordered(c),u=await FormattingConflicts.select(d,c,o,2);u&&(n.report(u),await a.invokeFunction(formatDocumentRangesWithProvider,u,t,i,r,s))}async function formatDocumentRangesWithProvider(e,t,i,o,n,r){const s=e.get(IEditorWorkerService),a=e.get(ILogService),l=e.get(IAccessibilitySignalService);let c,d;isCodeEditor(i)?(c=i.getModel(),d=new EditorStateCancellationTokenSource(i,5,void 0,n)):(c=i,d=new TextModelCancellationTokenSource(i,n));const u=[];let h=0;for(const v of asArray(o).sort(Range$2.compareRangesUsingStarts))h>0&&Range$2.areIntersectingOrTouching(u[h-1],v)?u[h-1]=Range$2.fromPositions(u[h-1].getStartPosition(),v.getEndPosition()):h=u.push(v);const p=async e=>{a.trace("[format][provideDocumentRangeFormattingEdits] (request)",t.extensionId?.value,e);const i=await t.provideDocumentRangeFormattingEdits(c,e,c.getFormattingOptions(),d.token)||[];return a.trace("[format][provideDocumentRangeFormattingEdits] (response)",t.extensionId?.value,i),i},g=(e,t)=>{if(!e.length||!t.length)return!1;const i=e.reduce((e,t)=>Range$2.plusRange(e,t.range),e[0].range);if(!t.some(e=>Range$2.intersectRanges(i,e.range)))return!1;for(const o of e)for(const e of t)if(Range$2.intersectRanges(o.range,e.range))return!0;return!1},m=[],f=[];try{if("function"==typeof t.provideDocumentRangesFormattingEdits){a.trace("[format][provideDocumentRangeFormattingEdits] (request)",t.extensionId?.value,u);const e=await t.provideDocumentRangesFormattingEdits(c,u,c.getFormattingOptions(),d.token)||[];a.trace("[format][provideDocumentRangeFormattingEdits] (response)",t.extensionId?.value,e),f.push(e)}else{for(const e of u){if(d.token.isCancellationRequested)return!0;f.push(await p(e))}for(let e=0;e({text:e.text,range:Range$2.lift(e.range),forceMoveMarkers:!0})),e=>{for(const{range:i}of e)if(Range$2.areIntersectingOrTouching(i,t))return[new Selection$1(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null})}return l.playSignal(AccessibilitySignal.format,{userGesture:r}),!0}async function formatDocumentWithSelectedProvider(e,t,i,o,n,r){const s=e.get(IInstantiationService),a=e.get(ILanguageFeaturesService),l=isCodeEditor(t)?t.getModel():t,c=getRealAndSyntheticDocumentFormattersOrdered(a.documentFormattingEditProvider,a.documentRangeFormattingEditProvider,l),d=await FormattingConflicts.select(c,l,i,1);d&&(o.report(d),await s.invokeFunction(formatDocumentWithProvider,d,t,i,n,r))}async function formatDocumentWithProvider(e,t,i,o,n,r){const s=e.get(IEditorWorkerService),a=e.get(IAccessibilitySignalService);let l,c,d;isCodeEditor(i)?(l=i.getModel(),c=new EditorStateCancellationTokenSource(i,5,void 0,n)):(l=i,c=new TextModelCancellationTokenSource(i,n));try{const e=await t.provideDocumentFormattingEdits(l,l.getFormattingOptions(),c.token);if(d=await s.computeMoreMinimalEdits(l.uri,e),c.token.isCancellationRequested)return!0}finally{c.dispose()}if(!d||0===d.length)return!1;if(isCodeEditor(i))FormattingEdit.execute(i,d,2!==o),2!==o&&i.revealPositionInCenterIfOutsideViewport(i.getPosition(),1);else{const[{range:e}]=d,t=new Selection$1(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);l.pushEditOperations([t],d.map(e=>({text:e.text,range:Range$2.lift(e.range),forceMoveMarkers:!0})),e=>{for(const{range:i}of e)if(Range$2.areIntersectingOrTouching(i,t))return[new Selection$1(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null})}return a.playSignal(AccessibilitySignal.format,{userGesture:r}),!0}async function getDocumentRangeFormattingEditsUntilResult(e,t,i,o,n,r){const s=t.documentRangeFormattingEditProvider.ordered(i);for(const a of s){const t=await Promise.resolve(a.provideDocumentRangeFormattingEdits(i,o,n,r)).catch(onUnexpectedExternalError);if(isNonEmptyArray(t))return await e.computeMoreMinimalEdits(i.uri,t)}}async function getDocumentFormattingEditsUntilResult(e,t,i,o,n){const r=getRealAndSyntheticDocumentFormattersOrdered(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,i);for(const s of r){const t=await Promise.resolve(s.provideDocumentFormattingEdits(i,o,n)).catch(onUnexpectedExternalError);if(isNonEmptyArray(t))return await e.computeMoreMinimalEdits(i.uri,t)}}function getOnTypeFormattingEdits(e,t,i,o,n,r,s){const a=t.onTypeFormattingEditProvider.ordered(i);return 0===a.length||a[0].autoFormatTriggerCharacters.indexOf(n)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(i,o,n,r,s)).catch(onUnexpectedExternalError).then(t=>e.computeMoreMinimalEdits(i.uri,t))}CommandsRegistry.registerCommand("_executeFormatRangeProvider",async function(e,...t){const[i,o,n]=t;assertType(URI.isUri(i)),assertType(Range$2.isIRange(o));const r=e.get(ITextModelService),s=e.get(IEditorWorkerService),a=e.get(ILanguageFeaturesService),l=await r.createModelReference(i);try{return getDocumentRangeFormattingEditsUntilResult(s,a,l.object.textEditorModel,Range$2.lift(o),n,CancellationToken.None)}finally{l.dispose()}}),CommandsRegistry.registerCommand("_executeFormatDocumentProvider",async function(e,...t){const[i,o]=t;assertType(URI.isUri(i));const n=e.get(ITextModelService),r=e.get(IEditorWorkerService),s=e.get(ILanguageFeaturesService),a=await n.createModelReference(i);try{return getDocumentFormattingEditsUntilResult(r,s,a.object.textEditorModel,o,CancellationToken.None)}finally{a.dispose()}}),CommandsRegistry.registerCommand("_executeFormatOnTypeProvider",async function(e,...t){const[i,o,n,r]=t;assertType(URI.isUri(i)),assertType(Position$1.isIPosition(o)),assertType("string"==typeof n);const s=e.get(ITextModelService),a=e.get(IEditorWorkerService),l=e.get(ILanguageFeaturesService),c=await s.createModelReference(i);try{return getOnTypeFormattingEdits(a,l,c.object.textEditorModel,Position$1.lift(o),n,r,CancellationToken.None)}finally{c.dispose()}}),EditorOptions.wrappingIndent.defaultValue=0,EditorOptions.glyphMargin.defaultValue=!1,EditorOptions.autoIndent.defaultValue=3,EditorOptions.overviewRulerLanes.defaultValue=2,FormattingConflicts.setFormatterSelector((e,t,i)=>Promise.resolve(e[0]));const api=createMonacoBaseAPI();api.editor=createMonacoEditorAPI(),api.languages=createMonacoLanguagesAPI();const CancellationTokenSource=api.CancellationTokenSource,Emitter=api.Emitter,KeyCode=api.KeyCode,KeyMod=api.KeyMod,Position=api.Position,Range=api.Range,Selection=api.Selection,SelectionDirection=api.SelectionDirection,MarkerSeverity=api.MarkerSeverity,MarkerTag=api.MarkerTag,Uri=api.Uri,Token=api.Token,editor=api.editor,languages=api.languages,monacoEnvironment=globalThis.MonacoEnvironment;(monacoEnvironment?.globalAPI||"function"==typeof define&&define.amd)&&(globalThis.monaco=api),void 0!==globalThis.require&&"function"==typeof globalThis.require.config&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const monaco_editor_core_star=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:CancellationTokenSource,Emitter:Emitter,KeyCode:KeyCode,KeyMod:KeyMod,MarkerSeverity:MarkerSeverity,MarkerTag:MarkerTag,Position:Position,Range:Range,Selection:Selection,SelectionDirection:SelectionDirection,Token:Token,Uri:Uri,editor:editor,languages:languages},Symbol.toStringTag,{value:"Module"}));exports("m",monaco_editor_core_star); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ var __defProp$5=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__getOwnPropNames$4=Object.getOwnPropertyNames,__hasOwnProp$5=Object.prototype.hasOwnProperty,__copyProps$4=(e,t,i,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames$4(t))__hasOwnProp$5.call(e,n)||n===i||__defProp$5(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc$4(t,n))||o.enumerable});return e},__reExport$4=(e,t,i)=>(__copyProps$4(e,t,"default"),i),monaco_editor_core_exports$4={};__reExport$4(monaco_editor_core_exports$4,monaco_editor_core_star);var languageDefinitions={},lazyLanguageLoaders={},LazyLanguageLoader=class e{static getOrCreate(t){return lazyLanguageLoaders[t]||(lazyLanguageLoaders[t]=new e(t)),lazyLanguageLoaders[t]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,languageDefinitions[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function registerLanguage(e){const t=e.id;languageDefinitions[t]=e,monaco_editor_core_exports$4.languages.register(e);const i=LazyLanguageLoader.getOrCreate(t);monaco_editor_core_exports$4.languages.registerTokensProviderFactory(t,{create:async()=>(await i.load()).language}),monaco_editor_core_exports$4.languages.onLanguageEncountered(t,async()=>{const e=await i.load();monaco_editor_core_exports$4.languages.setLanguageConfiguration(t,e.conf)})}registerLanguage({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>__vitePreload(()=>module.import("./abap-legacy-D7w0AseX.js"),void 0)}),registerLanguage({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>__vitePreload(()=>module.import("./apex-legacy-BZPRQdDx.js"),void 0)}),registerLanguage({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>__vitePreload(()=>module.import("./azcli-legacy-BdEb-1f_.js"),void 0)}),registerLanguage({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>__vitePreload(()=>module.import("./bat-legacy-Nwxdpwbb.js"),void 0)}),registerLanguage({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>__vitePreload(()=>module.import("./bicep-legacy-xPh4ulHX.js"),void 0)}),registerLanguage({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>__vitePreload(()=>module.import("./cameligo-legacy-CB8CzAQN.js"),void 0)}),registerLanguage({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>__vitePreload(()=>module.import("./clojure-legacy-DhK1JIbJ.js"),void 0)}),registerLanguage({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>__vitePreload(()=>module.import("./coffee-legacy-DskeoCz5.js"),void 0)}),registerLanguage({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>__vitePreload(()=>module.import("./cpp-legacy-7CqY3dFU.js"),void 0)}),registerLanguage({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>__vitePreload(()=>module.import("./cpp-legacy-7CqY3dFU.js"),void 0)}),registerLanguage({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>__vitePreload(()=>module.import("./csharp-legacy-BpBP9wfx.js"),void 0)}),registerLanguage({id:"csp",extensions:[".csp"],aliases:["CSP","csp"],loader:()=>__vitePreload(()=>module.import("./csp-legacy-DwlGFCty.js"),void 0)}),registerLanguage({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>__vitePreload(()=>module.import("./css-legacy-BmjNDrwY.js"),void 0)}),registerLanguage({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>__vitePreload(()=>module.import("./cypher-legacy-2Gop32yt.js"),void 0)}),registerLanguage({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>__vitePreload(()=>module.import("./dart-legacy-4ugmIuPm.js"),void 0)}),registerLanguage({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>__vitePreload(()=>module.import("./dockerfile-legacy-DeBLsElM.js"),void 0)}),registerLanguage({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>__vitePreload(()=>module.import("./ecl-legacy-AcZcGicB.js"),void 0)}),registerLanguage({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>__vitePreload(()=>module.import("./elixir-legacy-Dim1V-TQ.js"),void 0)}),registerLanguage({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>__vitePreload(()=>module.import("./flow9-legacy-DvlFyI1J.js"),void 0)}),registerLanguage({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>__vitePreload(()=>module.import("./fsharp-legacy-CEXbCmZm.js"),void 0)}),registerLanguage({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>__vitePreload(()=>module.import("./freemarker2-legacy-QQOulbek.js"),void 0).then(e=>e.TagAutoInterpolationDollar)}),registerLanguage({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>__vitePreload(()=>module.import("./freemarker2-legacy-QQOulbek.js"),void 0).then(e=>e.TagAngleInterpolationDollar)}),registerLanguage({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>__vitePreload(()=>module.import("./freemarker2-legacy-QQOulbek.js"),void 0).then(e=>e.TagBracketInterpolationDollar)}),registerLanguage({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>__vitePreload(()=>module.import("./freemarker2-legacy-QQOulbek.js"),void 0).then(e=>e.TagAngleInterpolationBracket)}),registerLanguage({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>__vitePreload(()=>module.import("./freemarker2-legacy-QQOulbek.js"),void 0).then(e=>e.TagBracketInterpolationBracket)}),registerLanguage({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>__vitePreload(()=>module.import("./freemarker2-legacy-QQOulbek.js"),void 0).then(e=>e.TagAutoInterpolationDollar)}),registerLanguage({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>__vitePreload(()=>module.import("./freemarker2-legacy-QQOulbek.js"),void 0).then(e=>e.TagAutoInterpolationBracket)}),registerLanguage({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>__vitePreload(()=>module.import("./go-legacy-D4mQtaxc.js"),void 0)}),registerLanguage({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>__vitePreload(()=>module.import("./graphql-legacy-DLL4t8K0.js"),void 0)}),registerLanguage({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>__vitePreload(()=>module.import("./handlebars-legacy-DNZDTRDm.js"),void 0)}),registerLanguage({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>__vitePreload(()=>module.import("./hcl-legacy-DDhqQVVg.js"),void 0)}),registerLanguage({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:()=>__vitePreload(()=>module.import("./html-legacy-BHuuHcwb.js"),void 0)}),registerLanguage({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>__vitePreload(()=>module.import("./ini-legacy-C-YiaILC.js"),void 0)}),registerLanguage({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>__vitePreload(()=>module.import("./java-legacy-CKi5Ezsc.js"),void 0)}),registerLanguage({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>__vitePreload(()=>module.import("./javascript-legacy-C_2mFG6e.js"),void 0)}),registerLanguage({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>__vitePreload(()=>module.import("./julia-legacy-DXiVI08L.js"),void 0)}),registerLanguage({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>__vitePreload(()=>module.import("./kotlin-legacy-CM8cf-Rm.js"),void 0)}),registerLanguage({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>__vitePreload(()=>module.import("./less-legacy-HUyPv0BW.js"),void 0)}),registerLanguage({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>__vitePreload(()=>module.import("./lexon-legacy-CiQW6EI8.js"),void 0)}),registerLanguage({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>__vitePreload(()=>module.import("./lua-legacy-CvpB_tRt.js"),void 0)}),registerLanguage({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>__vitePreload(()=>module.import("./liquid-legacy-CxT1HmPE.js"),void 0)}),registerLanguage({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>__vitePreload(()=>module.import("./m3-legacy-E-PjcRLo.js"),void 0)}),registerLanguage({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>__vitePreload(()=>module.import("./markdown-legacy-CIWj8DoQ.js"),void 0)}),registerLanguage({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>__vitePreload(()=>module.import("./mdx-legacy-CemzNivB.js"),void 0)}),registerLanguage({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>__vitePreload(()=>module.import("./mips-legacy-BBitdBzK.js"),void 0)}),registerLanguage({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>__vitePreload(()=>module.import("./msdax-legacy-ClUxN1Gn.js"),void 0)}),registerLanguage({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>__vitePreload(()=>module.import("./mysql-legacy-DzEEejS6.js"),void 0)}),registerLanguage({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>__vitePreload(()=>module.import("./objective-c-legacy-D0Cs2icg.js"),void 0)}),registerLanguage({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>__vitePreload(()=>module.import("./pascal-legacy-GyYT3yKI.js"),void 0)}),registerLanguage({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>__vitePreload(()=>module.import("./pascaligo-legacy-CjzuGhsr.js"),void 0)}),registerLanguage({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>__vitePreload(()=>module.import("./perl-legacy-Bmg2Jtgl.js"),void 0)}),registerLanguage({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>__vitePreload(()=>module.import("./pgsql-legacy-BGWVqcI_.js"),void 0)}),registerLanguage({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>__vitePreload(()=>module.import("./php-legacy-DBW4qmjO.js"),void 0)}),registerLanguage({id:"pla",extensions:[".pla"],loader:()=>__vitePreload(()=>module.import("./pla-legacy-BJQrc34L.js"),void 0)}),registerLanguage({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>__vitePreload(()=>module.import("./postiats-legacy-DRn0t1DK.js"),void 0)}),registerLanguage({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>__vitePreload(()=>module.import("./powerquery-legacy-BgtjJh-K.js"),void 0)}),registerLanguage({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>__vitePreload(()=>module.import("./powershell-legacy-BQS5eyPx.js"),void 0)}),registerLanguage({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>__vitePreload(()=>module.import("./protobuf-legacy-BqjW5CUM.js"),void 0)}),registerLanguage({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>__vitePreload(()=>module.import("./pug-legacy-oX7WgjXy.js"),void 0)}),registerLanguage({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>__vitePreload(()=>module.import("./python-legacy-DepJ2Lgc.js"),void 0)}),registerLanguage({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>__vitePreload(()=>module.import("./qsharp-legacy-B0a-VUHP.js"),void 0)}),registerLanguage({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>__vitePreload(()=>module.import("./r-legacy-D5TTiaQX.js"),void 0)}),registerLanguage({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>__vitePreload(()=>module.import("./razor-legacy-BIfuZHah.js"),void 0)}),registerLanguage({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>__vitePreload(()=>module.import("./redis-legacy-CtPTw-H0.js"),void 0)}),registerLanguage({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>__vitePreload(()=>module.import("./redshift-legacy-DZqjzAmr.js"),void 0)}),registerLanguage({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>__vitePreload(()=>module.import("./restructuredtext-legacy-7cQrqsg4.js"),void 0)}),registerLanguage({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>__vitePreload(()=>module.import("./ruby-legacy-BUy98fCu.js"),void 0)}),registerLanguage({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>__vitePreload(()=>module.import("./rust-legacy-7iU1fWh8.js"),void 0)}),registerLanguage({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>__vitePreload(()=>module.import("./sb-legacy-Bgg5REuF.js"),void 0)}),registerLanguage({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:()=>__vitePreload(()=>module.import("./scala-legacy-BeyhKykX.js"),void 0)}),registerLanguage({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>__vitePreload(()=>module.import("./scheme-legacy-D370jVfg.js"),void 0)}),registerLanguage({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>__vitePreload(()=>module.import("./scss-legacy-D49omUKG.js"),void 0)}),registerLanguage({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>__vitePreload(()=>module.import("./shell-legacy-DfrvDJ09.js"),void 0)}),registerLanguage({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>__vitePreload(()=>module.import("./solidity-legacy-CMXMBNmz.js"),void 0)}),registerLanguage({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>__vitePreload(()=>module.import("./sophia-legacy-CAr5iZS_.js"),void 0)}),registerLanguage({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>__vitePreload(()=>module.import("./sparql-legacy-C2oVIM6C.js"),void 0)}),registerLanguage({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>__vitePreload(()=>module.import("./sql-legacy-gpF5IBMI.js"),void 0)}),registerLanguage({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>__vitePreload(()=>module.import("./st-legacy-CsP7TydR.js"),void 0)}),registerLanguage({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>__vitePreload(()=>module.import("./swift-legacy-B5XVYSbQ.js"),void 0)}),registerLanguage({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>__vitePreload(()=>module.import("./systemverilog-legacy-DEjSG4LF.js"),void 0)}),registerLanguage({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>__vitePreload(()=>module.import("./systemverilog-legacy-DEjSG4LF.js"),void 0)}),registerLanguage({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>__vitePreload(()=>module.import("./tcl-legacy-S9opvFNC.js"),void 0)}),registerLanguage({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>__vitePreload(()=>module.import("./twig-legacy-m5inEPd3.js"),void 0)}),registerLanguage({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>__vitePreload(()=>module.import("./typescript-legacy-B3K8ialk.js"),void 0)}),registerLanguage({id:"typespec",extensions:[".tsp"],aliases:["TypeSpec"],loader:()=>__vitePreload(()=>module.import("./typespec-legacy-T2TIqleS.js"),void 0)}),registerLanguage({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>__vitePreload(()=>module.import("./vb-legacy-B5MOtOr1.js"),void 0)}),registerLanguage({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>__vitePreload(()=>module.import("./wgsl-legacy-CfANIugE.js"),void 0)}),registerLanguage({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\__vitePreload(()=>module.import("./xml-legacy-BnmSKdQX.js"),void 0)}),registerLanguage({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>__vitePreload(()=>module.import("./yaml-legacy-CPOg50o7.js"),void 0)}); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ var __defProp$4=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__getOwnPropNames$3=Object.getOwnPropertyNames,__hasOwnProp$4=Object.prototype.hasOwnProperty,__copyProps$3=(e,t,i,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames$3(t))__hasOwnProp$4.call(e,n)||n===i||__defProp$4(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc$3(t,n))||o.enumerable});return e},__reExport$3=(e,t,i)=>(__copyProps$3(e,t,"default"),i),monaco_editor_core_exports$3={};__reExport$3(monaco_editor_core_exports$3,monaco_editor_core_star);var LanguageServiceDefaultsImpl$3=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$3.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}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(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},optionsDefault$1={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}},modeConfigurationDefault$2={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},cssDefaults=new LanguageServiceDefaultsImpl$3("css",optionsDefault$1,modeConfigurationDefault$2),scssDefaults=new LanguageServiceDefaultsImpl$3("scss",optionsDefault$1,modeConfigurationDefault$2),lessDefaults=new LanguageServiceDefaultsImpl$3("less",optionsDefault$1,modeConfigurationDefault$2);function getMode$4(){return __vitePreload(()=>module.import("./cssMode-legacy--l8XPhvn.js"),void 0)}monaco_editor_core_exports$3.languages.css={cssDefaults:cssDefaults,lessDefaults:lessDefaults,scssDefaults:scssDefaults},monaco_editor_core_exports$3.languages.onLanguage("less",()=>{getMode$4().then(e=>e.setupMode(lessDefaults))}),monaco_editor_core_exports$3.languages.onLanguage("scss",()=>{getMode$4().then(e=>e.setupMode(scssDefaults))}),monaco_editor_core_exports$3.languages.onLanguage("css",()=>{getMode$4().then(e=>e.setupMode(cssDefaults))}); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ var __defProp$3=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__getOwnPropNames$2=Object.getOwnPropertyNames,__hasOwnProp$3=Object.prototype.hasOwnProperty,__copyProps$2=(e,t,i,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames$2(t))__hasOwnProp$3.call(e,n)||n===i||__defProp$3(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc$2(t,n))||o.enumerable});return e},__reExport$2=(e,t,i)=>(__copyProps$2(e,t,"default"),i),monaco_editor_core_exports$2={};__reExport$2(monaco_editor_core_exports$2,monaco_editor_core_star);var LanguageServiceDefaultsImpl$2=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$2.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},formatDefaults={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"},optionsDefault={format:formatDefaults,suggest:{},data:{useDefaultDataProvider:!0}};function getConfigurationDefault(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===htmlLanguageId,documentFormattingEdits:e===htmlLanguageId,documentRangeFormattingEdits:e===htmlLanguageId}}var htmlLanguageId="html",handlebarsLanguageId="handlebars",razorLanguageId="razor",htmlLanguageService=registerHTMLLanguageService(htmlLanguageId,optionsDefault,getConfigurationDefault(htmlLanguageId)),htmlDefaults=htmlLanguageService.defaults,handlebarLanguageService=registerHTMLLanguageService(handlebarsLanguageId,optionsDefault,getConfigurationDefault(handlebarsLanguageId)),handlebarDefaults=handlebarLanguageService.defaults,razorLanguageService=registerHTMLLanguageService(razorLanguageId,optionsDefault,getConfigurationDefault(razorLanguageId)),razorDefaults=razorLanguageService.defaults;function getMode$3(){return __vitePreload(()=>module.import("./htmlMode-legacy-CBvR_jwJ.js"),void 0)}function registerHTMLLanguageService(e,t=optionsDefault,i=getConfigurationDefault(e)){const o=new LanguageServiceDefaultsImpl$2(e,t,i);let n;const r=monaco_editor_core_exports$2.languages.onLanguage(e,async()=>{n=(await getMode$3()).setupMode(o)});return{defaults:o,dispose(){r.dispose(),n?.dispose(),n=void 0}}} /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/monaco_editor_core_exports$2.languages.html={htmlDefaults:htmlDefaults,razorDefaults:razorDefaults,handlebarDefaults:handlebarDefaults,htmlLanguageService:htmlLanguageService,handlebarLanguageService:handlebarLanguageService,razorLanguageService:razorLanguageService,registerHTMLLanguageService:registerHTMLLanguageService};var __defProp$2=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__getOwnPropNames$1=Object.getOwnPropertyNames,__hasOwnProp$2=Object.prototype.hasOwnProperty,__copyProps$1=(e,t,i,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames$1(t))__hasOwnProp$2.call(e,n)||n===i||__defProp$2(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc$1(t,n))||o.enumerable});return e},__reExport$1=(e,t,i)=>(__copyProps$1(e,t,"default"),i),monaco_editor_core_exports$1={};__reExport$1(monaco_editor_core_exports$1,monaco_editor_core_star);var LanguageServiceDefaultsImpl$1=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$1.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},diagnosticDefault={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},modeConfigurationDefault$1={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},jsonDefaults=new LanguageServiceDefaultsImpl$1("json",diagnosticDefault,modeConfigurationDefault$1),getWorker=()=>getMode$2().then(e=>e.getWorker());function getMode$2(){return __vitePreload(()=>module.import("./jsonMode-legacy-nWHvzJUb.js"),void 0)}monaco_editor_core_exports$1.languages.json={jsonDefaults:jsonDefaults,getWorker:getWorker},monaco_editor_core_exports$1.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),monaco_editor_core_exports$1.languages.onLanguage("json",()=>{getMode$2().then(e=>e.setupMode(jsonDefaults))}); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ var __defProp$1=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp$1=Object.prototype.hasOwnProperty,__copyProps=(e,t,i,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames(t))__hasOwnProp$1.call(e,n)||n===i||__defProp$1(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc(t,n))||o.enumerable});return e},__reExport=(e,t,i)=>(__copyProps(e,t,"default"),i),typescriptVersion="5.4.5",monaco_editor_core_exports={};__reExport(monaco_editor_core_exports,monaco_editor_core_star);var ModuleKind=(e=>(e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ESNext=99]="ESNext",e))(ModuleKind||{}),JsxEmit=(e=>(e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev",e))(JsxEmit||{}),NewLineKind=(e=>(e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed",e))(NewLineKind||{}),ScriptTarget=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(ScriptTarget||{}),ModuleResolutionKind=(e=>(e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs",e))(ModuleResolutionKind||{}),LanguageServiceDefaultsImpl=class{constructor(e,t,i,o,n){this._onDidChange=new monaco_editor_core_exports.Emitter,this._onDidExtraLibsChange=new monaco_editor_core_exports.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(o),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let i;if(i=void 0===t?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t,this._extraLibs[i]&&this._extraLibs[i].content===e)return{dispose:()=>{}};let o=1;return this._removedExtraLibs[i]&&(o=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(o=this._extraLibs[i].version+1),this._extraLibs[i]={content:e,version:o},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let e=this._extraLibs[i];e&&e.version===o&&(delete this._extraLibs[i],this._removedExtraLibs[i]=o,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(const t of e){const e=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,i=t.content;let o=1;this._removedExtraLibs[e]&&(o=this._removedExtraLibs[e]+1),this._extraLibs[e]={content:i,version:o}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){-1===this._onDidExtraLibsChangeTimeout&&(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)}},typescriptVersion2=typescriptVersion,modeConfigurationDefault={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},typescriptDefaults=exports("t",new LanguageServiceDefaultsImpl({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},modeConfigurationDefault)),javascriptDefaults=new LanguageServiceDefaultsImpl({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},modeConfigurationDefault),getTypeScriptWorker=()=>getMode$1().then(e=>e.getTypeScriptWorker()),getJavaScriptWorker=()=>getMode$1().then(e=>e.getJavaScriptWorker());function getMode$1(){return __vitePreload(()=>module.import("./tsMode-legacy-C15gon2Y.js"),void 0)}monaco_editor_core_exports.languages.typescript={ModuleKind:ModuleKind,JsxEmit:JsxEmit,NewLineKind:NewLineKind,ScriptTarget:ScriptTarget,ModuleResolutionKind:ModuleResolutionKind,typescriptVersion:typescriptVersion2,typescriptDefaults:typescriptDefaults,javascriptDefaults:javascriptDefaults,getTypeScriptWorker:getTypeScriptWorker,getJavaScriptWorker:getJavaScriptWorker},monaco_editor_core_exports.languages.onLanguage("typescript",()=>getMode$1().then(e=>e.setupTypeScript(typescriptDefaults))),monaco_editor_core_exports.languages.onLanguage("javascript",()=>getMode$1().then(e=>e.setupJavaScript(javascriptDefaults)));class ToggleCollapseUnchangedRegions extends Action2{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:localize2("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Codicon.map,toggled:ContextKeyExpr.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:ContextKeyExpr.has("isInDiffEditor"),menu:{when:ContextKeyExpr.has("isInDiffEditor"),id:MenuId.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(IConfigurationService),o=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",o)}}class ToggleShowMovedCodeBlocks extends Action2{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:localize2("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:ContextKeyExpr.has("isInDiffEditor")})}run(e,...t){const i=e.get(IConfigurationService),o=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",o)}}class ToggleUseInlineViewWhenSpaceIsLimited extends Action2{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:localize2("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:ContextKeyExpr.has("isInDiffEditor")})}run(e,...t){const i=e.get(IConfigurationService),o=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",o)}}const diffEditorCategory=localize2("diffEditor","Diff Editor");class SwitchSide extends EditorAction2{constructor(){super({id:"diffEditor.switchSide",title:localize2("switchSide","Switch Side"),icon:Codicon.arrowSwap,precondition:ContextKeyExpr.has("isInDiffEditor"),f1:!0,category:diffEditorCategory})}runEditorCommand(e,t,i){const o=findFocusedDiffEditor(e);if(o instanceof DiffEditorWidget){if(i&&i.dryRun)return{destinationSelection:o.mapToOtherSide().destinationSelection};o.switchSide()}}}class ExitCompareMove extends EditorAction2{constructor(){super({id:"diffEditor.exitCompareMove",title:localize2("exitCompareMove","Exit Compare Move"),icon:Codicon.close,precondition:EditorContextKeys.comparingMovedCode,f1:!1,category:diffEditorCategory,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const o=findFocusedDiffEditor(e);o instanceof DiffEditorWidget&&o.exitCompareMove()}}class CollapseAllUnchangedRegions extends EditorAction2{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:localize2("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Codicon.fold,precondition:ContextKeyExpr.has("isInDiffEditor"),f1:!0,category:diffEditorCategory})}runEditorCommand(e,t,...i){const o=findFocusedDiffEditor(e);o instanceof DiffEditorWidget&&o.collapseAllUnchangedRegions()}}class ShowAllUnchangedRegions extends EditorAction2{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:localize2("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Codicon.unfold,precondition:ContextKeyExpr.has("isInDiffEditor"),f1:!0,category:diffEditorCategory})}runEditorCommand(e,t,...i){const o=findFocusedDiffEditor(e);o instanceof DiffEditorWidget&&o.showAllUnchangedRegions()}}class RevertHunkOrSelection extends Action2{constructor(){super({id:"diffEditor.revert",title:localize2("revert","Revert"),f1:!1,category:diffEditorCategory})}run(e,t){const i=findDiffEditor(e,t.originalUri,t.modifiedUri);i instanceof DiffEditorWidget&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const accessibleDiffViewerCategory=localize2("accessibleDiffViewer","Accessible Diff Viewer");class AccessibleDiffViewerNext extends Action2{static{this.id="editor.action.accessibleDiffViewer.next"}constructor(){super({id:AccessibleDiffViewerNext.id,title:localize2("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:accessibleDiffViewerCategory,precondition:ContextKeyExpr.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=findFocusedDiffEditor(e);t?.accessibleDiffViewerNext()}}class AccessibleDiffViewerPrev extends Action2{static{this.id="editor.action.accessibleDiffViewer.prev"}constructor(){super({id:AccessibleDiffViewerPrev.id,title:localize2("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:accessibleDiffViewerCategory,precondition:ContextKeyExpr.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=findFocusedDiffEditor(e);t?.accessibleDiffViewerPrev()}}function findDiffEditor(e,t,i){return e.get(ICodeEditorService).listDiffEditors().find(e=>{const o=e.getModifiedEditor(),n=e.getOriginalEditor();return o&&o.getModel()?.uri.toString()===i.toString()&&n&&n.getModel()?.uri.toString()===t.toString()})||null}function findFocusedDiffEditor(e){const t=e.get(ICodeEditorService).listDiffEditors(),i=getActiveElement();if(i)for(const o of t){if(isElementOrParentOf(o.getContainerDomNode(),i))return o}return null}function isElementOrParentOf(e,t){let i=t;for(;i;){if(i===e)return!0;i=i.parentElement}return!1}registerAction2(ToggleCollapseUnchangedRegions),registerAction2(ToggleShowMovedCodeBlocks),registerAction2(ToggleUseInlineViewWhenSpaceIsLimited),MenuRegistry.appendMenuItem(MenuId.EditorTitle,{command:{id:(new ToggleUseInlineViewWhenSpaceIsLimited).desc.id,title:localize("useInlineViewWhenSpaceIsLimited","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(EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached,ContextKeyExpr.has("isInDiffEditor"))}),MenuRegistry.appendMenuItem(MenuId.EditorTitle,{command:{id:(new ToggleShowMovedCodeBlocks).desc.id,title:localize("showMoves","Show Moved Code Blocks"),icon:Codicon.move,toggled:ContextKeyEqualsExpr.create("config.diffEditor.experimental.showMoves",!0),precondition:ContextKeyExpr.has("isInDiffEditor")},order:10,group:"1_diff",when:ContextKeyExpr.has("isInDiffEditor")}),registerAction2(RevertHunkOrSelection);for(const t of[{icon:Codicon.arrowRight,key:EditorContextKeys.diffEditorInlineMode.toNegated()},{icon:Codicon.discard,key:EditorContextKeys.diffEditorInlineMode}])MenuRegistry.appendMenuItem(MenuId.DiffEditorHunkToolbar,{command:{id:(new RevertHunkOrSelection).desc.id,title:localize("revertHunk","Revert Block"),icon:t.icon},when:ContextKeyExpr.and(EditorContextKeys.diffEditorModifiedWritable,t.key),order:5,group:"primary"}),MenuRegistry.appendMenuItem(MenuId.DiffEditorSelectionToolbar,{command:{id:(new RevertHunkOrSelection).desc.id,title:localize("revertSelection","Revert Selection"),icon:t.icon},when:ContextKeyExpr.and(EditorContextKeys.diffEditorModifiedWritable,t.key),order:5,group:"primary"});registerAction2(SwitchSide),registerAction2(ExitCompareMove),registerAction2(CollapseAllUnchangedRegions),registerAction2(ShowAllUnchangedRegions),MenuRegistry.appendMenuItem(MenuId.EditorTitle,{command:{id:AccessibleDiffViewerNext.id,title:localize("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:ContextKeyExpr.has("isInDiffEditor")},order:10,group:"2_diff",when:ContextKeyExpr.and(EditorContextKeys.accessibleDiffViewerVisible.negate(),ContextKeyExpr.has("isInDiffEditor"))}),CommandsRegistry.registerCommandAlias("editor.action.diffReview.next",AccessibleDiffViewerNext.id),registerAction2(AccessibleDiffViewerNext),CommandsRegistry.registerCommandAlias("editor.action.diffReview.prev",AccessibleDiffViewerPrev.id),registerAction2(AccessibleDiffViewerPrev);var __decorate$1G=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1C=function(e,t){return function(i,o){t(i,o,e)}},SelectionAnchorController_1;const SelectionAnchorSet=new RawContextKey("selectionAnchorSet",!1);let SelectionAnchorController=class{static{SelectionAnchorController_1=this}static{this.ID="editor.contrib.selectionAnchorController"}static get(e){return e.getContribution(SelectionAnchorController_1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=SelectionAnchorSet.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Selection$1.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:(new MarkdownString).appendText(localize("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),alert(localize("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(Selection$1.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};SelectionAnchorController=SelectionAnchorController_1=__decorate$1G([__param$1C(1,IContextKeyService)],SelectionAnchorController);class SetSelectionAnchor extends EditorAction{constructor(){super({id:"editor.action.setSelectionAnchor",label:localize("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2080),weight:100}})}async run(e,t){SelectionAnchorController.get(t)?.setSelectionAnchor()}}class GoToSelectionAnchor extends EditorAction{constructor(){super({id:"editor.action.goToSelectionAnchor",label:localize("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:SelectionAnchorSet})}async run(e,t){SelectionAnchorController.get(t)?.goToSelectionAnchor()}}class SelectFromAnchorToCursor extends EditorAction{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:localize("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:SelectionAnchorSet,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2089),weight:100}})}async run(e,t){SelectionAnchorController.get(t)?.selectFromAnchorToCursor()}}class CancelSelectionAnchor extends EditorAction{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:localize("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:SelectionAnchorSet,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:9,weight:100}})}async run(e,t){SelectionAnchorController.get(t)?.cancelSelectionAnchor()}}registerEditorContribution(SelectionAnchorController.ID,SelectionAnchorController,4),registerEditorAction(SetSelectionAnchor),registerEditorAction(GoToSelectionAnchor),registerEditorAction(SelectFromAnchorToCursor),registerEditorAction(CancelSelectionAnchor);const overviewRulerBracketMatchForeground=registerColor("editorOverviewRuler.bracketMatchForeground","#A0A0A0",localize("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class JumpToBracketAction extends EditorAction{constructor(){super({id:"editor.action.jumpToBracket",label:localize("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3165,weight:100}})}run(e,t){BracketMatchingController.get(t)?.jumpToBracket()}}class SelectToBracketAction extends EditorAction{constructor(){super({id:"editor.action.selectToBracket",label:localize("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:localize2("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){let o=!0;i&&!1===i.selectBrackets&&(o=!1),BracketMatchingController.get(t)?.selectToBracket(o)}}class RemoveBracketsAction extends EditorAction{constructor(){super({id:"editor.action.removeBrackets",label:localize("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2561,weight:100}})}run(e,t){BracketMatchingController.get(t)?.removeBrackets(this.id)}}class BracketsData{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class BracketMatchingController extends Disposable{static{this.ID="editor.contrib.bracketMatchingController"}static get(e){return e.getContribution(BracketMatchingController.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new RunOnceScheduler(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(e=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(e=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(t=>{const i=t.getStartPosition(),o=e.bracketPairs.matchBracket(i);let n=null;if(o)o[0].containsPosition(i)&&!o[1].containsPosition(i)?n=o[1].getStartPosition():o[1].containsPosition(i)&&(n=o[0].getStartPosition());else{const t=e.bracketPairs.findEnclosingBrackets(i);if(t)n=t[1].getStartPosition();else{const t=e.bracketPairs.findNextBracket(i);t&&t.range&&(n=t.range.getStartPosition())}}return n?new Selection$1(n.lineNumber,n.column,n.lineNumber,n.column):new Selection$1(i.lineNumber,i.column,i.lineNumber,i.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(o=>{const n=o.getStartPosition();let r=t.bracketPairs.matchBracket(n);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(n),!r)){const e=t.bracketPairs.findNextBracket(n);e&&e.range&&(r=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let s=null,a=null;if(r){r.sort(Range$2.compareRangesUsingStarts);const[t,i]=r;if(s=e?t.getStartPosition():t.getEndPosition(),a=e?i.getEndPosition():i.getStartPosition(),i.containsPosition(n)){const e=s;s=a,a=e}}s&&a&&i.push(new Selection$1(s.lineNumber,s.column,a.lineNumber,a.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const o=i.getPosition();let n=t.bracketPairs.matchBracket(o);n||(n=t.bracketPairs.findEnclosingBrackets(o)),n&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:n[0],text:""},{range:n[1],text:""}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=ModelDecorationOptions.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:themeColorFromId(overviewRulerBracketMatchForeground),position:OverviewRulerLane.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=ModelDecorationOptions.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"})}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const o=i.brackets;o&&(e[t++]={range:o[0],options:i.options},e[t++]={range:o[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const e=this._editor.getSelections();if(e.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getModel(),i=t.getVersionId();let o=[];this._lastVersionId===i&&(o=this._lastBracketsData);const n=[];let r=0;for(let d=0,u=e.length;d1&&n.sort(Position$1.compare);const s=[];let a=0,l=0;const c=o.length;for(let d=0,u=n.length;d0&&(t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop())}}registerEditorAction(TransposeLettersAction);const generateUuid=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let e;e="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(e){for(let t=0;te,asFile:()=>{},value:"string"==typeof e?e:void 0}}function createFileDataTransferItem(e,t,i){const o={id:generateUuid(),name:e,uri:t,data:i};return{asString:async()=>"",asFile:()=>o,value:void 0}}class VSDataTransfer{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return Iterable.some(this,([e,t])=>t.asFile())&&t.push("files"),matchesMimeType_normalized(normalizeMimeType(e),t)}get(e){return this._entries.get(this.toKey(e))?.[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return normalizeMimeType(e)}}function normalizeMimeType(e){return e.toLowerCase()}function matchesMimeType(e,t){return matchesMimeType_normalized(normalizeMimeType(e),t.map(normalizeMimeType))}function matchesMimeType_normalized(e,t){if("*/*"===e)return t.length>0;if(t.includes(e))return!0;const i=e.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!i)return!1;const[o,n,r]=i;return"*"===r&&t.some(e=>e.startsWith(n+"/"))}const UriList=Object.freeze({create:e=>distinct(e.map(e=>e.toString())).join("\r\n"),split:e=>e.split("\r\n"),parse:e=>UriList.split(e).filter(e=>!e.startsWith("#"))});class HierarchicalKind{static{this.sep="."}static{this.None=new HierarchicalKind("@@none@@")}static{this.Empty=new HierarchicalKind("")}constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||""===this.value||e.value.startsWith(this.value+HierarchicalKind.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new HierarchicalKind((this.value?[this.value,...e]:e).join(HierarchicalKind.sep))}}const CodeDataTransfers={EDITORS:"CodeEditors",FILES:"CodeFiles"};class DragAndDropContributionRegistry{}const Extensions={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Registry.add(Extensions.DragAndDropContribution,new DragAndDropContributionRegistry);class LocalSelectionTransfer{static{this.INSTANCE=new LocalSelectionTransfer}constructor(){}static getInstance(){return LocalSelectionTransfer.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}}function toVSDataTransfer(e){const t=new VSDataTransfer;for(const i of e.items){const e=i.type;if("string"===i.kind){const o=new Promise(e=>i.getAsString(e));t.append(e,createStringDataTransferItem(o))}else if("file"===i.kind){const o=i.getAsFile();o&&t.append(e,createFileDataTransferItemFromFile(o))}}return t}function createFileDataTransferItemFromFile(e){const t=e.path?URI.parse(e.path):void 0;return createFileDataTransferItem(e.name,t,async()=>new Uint8Array(await e.arrayBuffer()))}const INTERNAL_DND_MIME_TYPES=Object.freeze([CodeDataTransfers.EDITORS,CodeDataTransfers.FILES,DataTransfers.RESOURCES,DataTransfers.INTERNAL_URI_LIST]);function toExternalVSDataTransfer(e,t=!1){const i=toVSDataTransfer(e),o=i.get(DataTransfers.INTERNAL_URI_LIST);if(o)i.replace(Mimes.uriList,o);else if(t||!i.has(Mimes.uriList)){const t=[];for(const i of e.items){const e=i.getAsFile();if(e){const i=e.path;try{i?t.push(URI.file(i).toString()):t.push(URI.parse(e.name,!0).toString())}catch{}}}t.length&&i.replace(Mimes.uriList,createStringDataTransferItem(UriList.create(t)))}for(const n of INTERNAL_DND_MIME_TYPES)i.delete(n);return i}var __decorate$1F=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1B=function(e,t){return function(i,o){t(i,o,e)}};class SimplePasteAndDropProvider{async provideDocumentPasteEdits(e,t,i,o,n){const r=await this.getEdit(i,n);if(r)return{edits:[{insertText:r.insertText,title:r.title,kind:r.kind,handledMimeType:r.handledMimeType,yieldTo:r.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,o){const n=await this.getEdit(i,o);if(n)return{edits:[{insertText:n.insertText,title:n.title,kind:n.kind,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}],dispose(){}}}}class DefaultTextPasteOrDropEditProvider extends SimplePasteAndDropProvider{constructor(){super(...arguments),this.kind=DefaultTextPasteOrDropEditProvider.kind,this.dropMimeTypes=[Mimes.text],this.pasteMimeTypes=[Mimes.text]}static{this.id="text"}static{this.kind=new HierarchicalKind("text.plain")}async getEdit(e,t){const i=e.get(Mimes.text);if(!i)return;if(e.has(Mimes.uriList))return;const o=await i.asString();return{handledMimeType:Mimes.text,title:localize("text.label","Insert Plain Text"),insertText:o,kind:this.kind}}}class PathProvider extends SimplePasteAndDropProvider{constructor(){super(...arguments),this.kind=new HierarchicalKind("uri.absolute"),this.dropMimeTypes=[Mimes.uriList],this.pasteMimeTypes=[Mimes.uriList]}async getEdit(e,t){const i=await extractUriList(e);if(!i.length||t.isCancellationRequested)return;let o=0;const n=i.map(({uri:e,originalText:t})=>e.scheme===Schemas.file?e.fsPath:(o++,t)).join(" ");let r;return r=o>0?i.length>1?localize("defaultDropProvider.uriList.uris","Insert Uris"):localize("defaultDropProvider.uriList.uri","Insert Uri"):i.length>1?localize("defaultDropProvider.uriList.paths","Insert Paths"):localize("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Mimes.uriList,insertText:n,title:r,kind:this.kind}}}let RelativePathProvider=class extends SimplePasteAndDropProvider{constructor(e){super(),this._workspaceContextService=e,this.kind=new HierarchicalKind("uri.relative"),this.dropMimeTypes=[Mimes.uriList],this.pasteMimeTypes=[Mimes.uriList]}async getEdit(e,t){const i=await extractUriList(e);if(!i.length||t.isCancellationRequested)return;const o=coalesce(i.map(({uri:e})=>{const t=this._workspaceContextService.getWorkspaceFolder(e);return t?relativePath(t.uri,e):void 0}));return o.length?{handledMimeType:Mimes.uriList,insertText:o.join(" "),title:i.length>1?localize("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):localize("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}:void 0}};RelativePathProvider=__decorate$1F([__param$1B(0,IWorkspaceContextService)],RelativePathProvider);class PasteHtmlProvider{constructor(){this.kind=new HierarchicalKind("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Mimes.text}]}async provideDocumentPasteEdits(e,t,i,o,n){if(o.triggerKind!==DocumentPasteTriggerKind.PasteAs&&!o.only?.contains(this.kind))return;const r=i.get("text/html"),s=await(r?.asString());return s&&!n.isCancellationRequested?{dispose(){},edits:[{insertText:s,yieldTo:this._yieldTo,title:localize("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}:void 0}}async function extractUriList(e){const t=e.get(Mimes.uriList);if(!t)return[];const i=await t.asString(),o=[];for(const n of UriList.parse(i))try{o.push({uri:URI.parse(n),originalText:n})}catch{}return o}let DefaultDropProvidersFeature=class extends Disposable{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new DefaultTextPasteOrDropEditProvider)),this._register(e.documentDropEditProvider.register("*",new PathProvider)),this._register(e.documentDropEditProvider.register("*",new RelativePathProvider(t)))}};DefaultDropProvidersFeature=__decorate$1F([__param$1B(0,ILanguageFeaturesService),__param$1B(1,IWorkspaceContextService)],DefaultDropProvidersFeature);let DefaultPasteProvidersFeature=class extends Disposable{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new DefaultTextPasteOrDropEditProvider)),this._register(e.documentPasteEditProvider.register("*",new PathProvider)),this._register(e.documentPasteEditProvider.register("*",new RelativePathProvider(t))),this._register(e.documentPasteEditProvider.register("*",new PasteHtmlProvider))}};DefaultPasteProvidersFeature=__decorate$1F([__param$1B(0,ILanguageFeaturesService),__param$1B(1,IWorkspaceContextService)],DefaultPasteProvidersFeature);let Scanner$1=class e{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(e){return e>=48&&e<=57}static isVariableCharacter(e){return 95===e||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const t=this.pos;let i,o=0,n=this.value.charCodeAt(t);if(i=e._table[n],"number"==typeof i)return this.pos+=1,{type:i,pos:t,len:1};if(e.isDigitCharacter(n)){i=8;do{o+=1,n=this.value.charCodeAt(t+o)}while(e.isDigitCharacter(n));return this.pos+=o,{type:i,pos:t,len:o}}if(e.isVariableCharacter(n)){i=9;do{n=this.value.charCodeAt(t+ ++o)}while(e.isVariableCharacter(n)||e.isDigitCharacter(n));return this.pos+=o,{type:i,pos:t,len:o}}i=10;do{o+=1,n=this.value.charCodeAt(t+o)}while(!isNaN(n)&&void 0===e._table[n]&&!e.isDigitCharacter(n)&&!e.isVariableCharacter(n));return this.pos+=o,{type:i,pos:t,len:o}}};class Marker{constructor(){this._children=[]}appendChild(e){return e instanceof Text$1&&this._children[this._children.length-1]instanceof Text$1?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,o=i.children.indexOf(e),n=i.children.slice(0);n.splice(o,1,...t),i._children=n,function e(t,i){for(const o of t)o.parent=i,e(o.children,o)}(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof TextmateSnippet)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Text$1=class e extends Marker{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new e(this.value)}};class TransformableMarker extends Marker{}class Placeholder extends TransformableMarker{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof Choice?this._children[0]:void 0}clone(){const e=new Placeholder(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(e=>e.clone()),e}}class Choice extends Marker{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Text$1&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Choice;return this.options.forEach(e.appendChild,e),e}}class Transform extends Marker{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,o=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(e=>e instanceof FormatString&&Boolean(e.elseValue))&&(o=this._replace([])),o}_replace(e){let t="";for(const i of this._children)if(i instanceof FormatString){let o=e[i.index]||"";o=i.resolve(o),t+=o}else t+=i.toString();return t}toString(){return""}clone(){const e=new Transform;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(e=>e.clone()),e}}class FormatString extends Marker{constructor(e,t,i,o){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=o}resolve(e){return"upcase"===this.shorthandName?e?e.toLocaleUpperCase():"":"downcase"===this.shorthandName?e?e.toLocaleLowerCase():"":"capitalize"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):"":"pascalcase"===this.shorthandName?e?this._toPascalCase(e):"":"camelcase"===this.shorthandName?e?this._toCamelCase(e):"":Boolean(e)&&"string"==typeof this.ifValue?this.ifValue:Boolean(e)||"string"!=typeof this.elseValue?e||"":this.elseValue}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(e=>e.charAt(0).toUpperCase()+e.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((e,t)=>0===t?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1)).join(""):e}clone(){return new FormatString(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Variable extends TransformableMarker{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),void 0!==t&&(this._children=[new Text$1(t)],!0)}clone(){const e=new Variable(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(e=>e.clone()),e}}function walk$2(e,t){const i=[...e];for(;i.length>0;){const e=i.shift();if(!t(e))break;i.unshift(...e.children)}}class TextmateSnippet extends Marker{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof Placeholder&&(e.push(i),t=!t||t.indexo===e?(i=!0,!1):(t+=o.len(),!0)),i?t:-1}fullLen(e){let t=0;return walk$2([e],e=>(t+=e.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof Placeholder&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Variable&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new TextmateSnippet;return this._children=this.children.map(e=>e.clone()),e}walk(e){walk$2(this.children,e)}}class SnippetParser{constructor(){this._scanner=new Scanner$1,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const o=new TextmateSnippet;return this.parseFragment(e,o),this.ensureFinalTabstop(o,i??!1,t??!1),o}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const o=new Map,n=[];t.walk(e=>(e instanceof Placeholder&&(e.isFinalTabstop?o.set(0,void 0):!o.has(e.index)&&e.children.length>0?o.set(e.index,e.children):n.push(e)),!0));const r=(e,i)=>{const n=o.get(e.index);if(!n)return;const s=new Placeholder(e.index);s.transform=e.transform;for(const t of n){const e=t.clone();s.appendChild(e),e instanceof Placeholder&&o.has(e.index)&&!i.has(e.index)&&(i.add(e.index),r(e,i),i.delete(e.index))}t.replace(e,[s])},s=new Set;for(const a of n)r(a,s);return t.children.slice(i)}ensureFinalTabstop(e,t,i){if(t||i&&e.placeholders.length>0){const t=e.placeholders.find(e=>0===e.index);t||e.appendChild(new Placeholder(0))}}_accept(e,t){if(void 0===e||this._token.type===e){const e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(14===this._token.type)return!1;if(5===this._token.type){const e=this._scanner.next();if(0!==e.type&&4!==e.type&&5!==e.type)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return!!(t=this._accept(5,!0))&&(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new Text$1(t)),!0)}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Placeholder(Number(t)):new Variable(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const o=new Placeholder(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new Text$1("${"+t+":")),o.children.forEach(e.appendChild,e),!0}else{if(!(o.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(o)?(e.appendChild(o),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(o),!0):this._backTo(i);{const t=new Choice;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(o.appendChild(t),this._accept(4)))return e.appendChild(o),!0}return this._backTo(i),!1}}}}_parseChoiceElement(e){const t=this._token,i=[];for(;2!==this._token.type&&7!==this._token.type;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;i.push(e)}return 0===i.length?(this._backTo(t),!1):(e.appendChild(new Text$1(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const o=new Variable(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(o)?(e.appendChild(o),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(o),!0):this._backTo(i);for(;;){if(this._accept(4))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new Text$1("${"+t+":")),o.children.forEach(e.appendChild,e),!0}}_parseTransform(t){const i=new Transform;let o="",n="";for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(6,!0)||e,o+=e;else{if(14===this._token.type)return!1;o+=this._accept(void 0,!0)}}for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(5,!0)||this._accept(6,!0)||e,i.appendChild(new Text$1(e));else if(!this._parseFormatString(i)&&!this._parseAnything(i))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}try{i.regexp=new RegExp(o,n)}catch(e){return!1}return t.transform=i,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const o=this._accept(8,!0);if(!o)return this._backTo(t),!1;if(!i)return e.appendChild(new FormatString(Number(o))),!0;if(this._accept(4))return e.appendChild(new FormatString(Number(o))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){const i=this._accept(9,!0);return i&&this._accept(4)?(e.appendChild(new FormatString(Number(o),i)),!0):(this._backTo(t),!1)}if(this._accept(11)){const t=this._until(4);if(t)return e.appendChild(new FormatString(Number(o),void 0,t,void 0)),!0}else if(this._accept(12)){const t=this._until(4);if(t)return e.appendChild(new FormatString(Number(o),void 0,void 0,t)),!0}else if(this._accept(13)){const t=this._until(1);if(t){const i=this._until(4);if(i)return e.appendChild(new FormatString(Number(o),void 0,t,i)),!0}}else{const t=this._until(4);if(t)return e.appendChild(new FormatString(Number(o),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return 14!==this._token.type&&(e.appendChild(new Text$1(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}function createCombinedWorkspaceEdit(e,t,i){return("string"==typeof i.insertText?""===i.insertText:""===i.insertText.snippet)?{edits:i.additionalEdit?.edits??[]}:{edits:[...t.map(t=>new ResourceTextEdit(e,{range:t,text:"string"==typeof i.insertText?SnippetParser.escape(i.insertText)+"$0":i.insertText.snippet,insertAsSnippet:!0})),...i.additionalEdit?.edits??[]]}}function sortEditsByYieldTo(e){function t(e,t){return"mimeType"in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}const i=new Map;for(const r of e)for(const o of r.yieldTo??[])for(const n of e)if(n!==r&&t(o,n)){let e=i.get(r);e||(e=[],i.set(r,e)),e.push(n)}if(!i.size)return Array.from(e);const o=new Set,n=[];return function e(t){if(!t.length)return[];const r=t[0];if(n.includes(r))return console.warn("Yield to cycle detected",r),t;if(o.has(r))return e(t.slice(1));let s=[];const a=i.get(r);return a&&(n.push(r),s=e(a),n.pop()),o.add(r),[...s,r,...e(t.slice(1))]}(Array.from(e))}var __decorate$1E=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1A=function(e,t){return function(i,o){t(i,o,e)}};const inlineProgressDecoration=ModelDecorationOptions.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:noBreakWhitespace,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class InlineProgressWidget extends Disposable{static{this.baseId="editor.widget.inlineProgressWidget"}constructor(e,t,i,o,n){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=n,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(o),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=$$f(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=$$f("span.icon");this.domNode.append(t),t.classList.add(...ThemeIcon.asClassNameArray(Codicon.loading),"codicon-modifier-spin");const i=()=>{const e=this.editor.getOption(67);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};i(),this._register(this.editor.onDidChangeConfiguration(e=>{(e.hasChanged(52)||e.hasChanged(67))&&i()})),this._register(addDisposableListener(this.domNode,EventType$1.CLICK,e=>{this.delegate.cancel()}))}getId(){return InlineProgressWidget.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 InlineProgressManager=class extends Disposable{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new MutableDisposable),this._currentWidget=this._register(new MutableDisposable),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,o,n){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=disposableTimeout(()=>{const i=Range$2.fromPositions(e);this._currentDecorations.set([{range:i,options:inlineProgressDecoration}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(InlineProgressWidget,this.id,this._editor,i,t,o))},n??this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};InlineProgressManager=__decorate$1E([__param$1A(2,IInstantiationService)],InlineProgressManager);var __decorate$1D=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1z=function(e,t){return function(i,o){t(i,o,e)}},MessageController_1;let MessageController=class{static{MessageController_1=this}static{this.ID="editor.contrib.messageController"}static{this.MESSAGE_VISIBLE=new RawContextKey("messageVisible",!1,localize("messageVisible","Whether the editor is currently showing an inline message"))}static get(e){return e.getContribution(MessageController_1.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new MutableDisposable,this._messageListeners=new DisposableStore,this._mouseOverMessage=!1,this._editor=e,this._visible=MessageController_1.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._message?.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){let i;alert(isMarkdownString(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=isMarkdownString(e)?renderMarkdown(e,{actionHandler:{callback:t=>{this.closeMessage(),openLinkFromMarkdown(this._openerService,t,isMarkdownString(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new MessageWidget$1(this._editor,t,"string"==typeof e?e:this._message.element),this._messageListeners.add(Event$1.debounce(this._editor.onDidBlurEditorText,(e,t)=>t,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&isAncestor$1(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(addDisposableListener(this._messageWidget.value.getDomNode(),EventType$1.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(addDisposableListener(this._messageWidget.value.getDomNode(),EventType$1.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0)),this._messageListeners.add(this._editor.onMouseMove(e=>{e.target.position&&(i?i.containsPosition(e.target.position)||this.closeMessage():i=new Range$2(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(MessageWidget$1.fadeOut(this._messageWidget.value))}};MessageController=MessageController_1=__decorate$1D([__param$1z(1,IContextKeyService),__param$1z(2,IOpenerService)],MessageController);const MessageCommand=EditorCommand.bindToContribution(MessageController.get);registerEditorCommand(new MessageCommand({id:"leaveEditorMessage",precondition:MessageController.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));let MessageWidget$1=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},o){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const n=document.createElement("div");n.classList.add("anchor","top"),this._domNode.appendChild(n);const r=document.createElement("div");"string"==typeof o?(r.classList.add("message"),r.textContent=o):(o.classList.add("message"),r.appendChild(o)),this._domNode.appendChild(r);const s=document.createElement("div");s.classList.add("anchor","below"),this._domNode.appendChild(s),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(e){this._domNode.classList.toggle("below",2===e)}};function exceptionToErrorMessage(e,t){return t&&(e.stack||e.stacktrace)?localize("stackTrace.format","{0}: {1}",detectSystemErrorMessage(e),stackToString(e.stack)||stackToString(e.stacktrace)):detectSystemErrorMessage(e)}function stackToString(e){return Array.isArray(e)?e.join("\n"):e}function detectSystemErrorMessage(e){return"ERR_UNC_HOST_NOT_ALLOWED"===e.code?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof e.code&&"number"==typeof e.errno&&"string"==typeof e.syscall?localize("nodeExceptionMessage","A system error occurred ({0})",e.message):e.message||localize("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function toErrorMessage(e=null,t=!1){if(!e)return localize("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(e)){const i=coalesce(e),o=toErrorMessage(i[0],t);return i.length>1?localize("error.moreErrors","{0} ({1} errors in total)",o,i.length):o}if(isString$4(e))return e;if(e.detail){const i=e.detail;if(i.error)return exceptionToErrorMessage(i.error,t);if(i.exception)return exceptionToErrorMessage(i.exception,t)}return e.stack?exceptionToErrorMessage(e,t):e.message?e.message:localize("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}registerEditorContribution(MessageController.ID,MessageController,4);var __decorate$1C=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1y=function(e,t){return function(i,o){t(i,o,e)}},PostEditWidget_1;let PostEditWidget=class extends Disposable{static{PostEditWidget_1=this}static{this.baseId="editor.widget.postEditWidget"}constructor(e,t,i,o,n,r,s,a,l,c){super(),this.typeId=e,this.editor=t,this.showCommand=o,this.range=n,this.edits=r,this.onSelectNewEdit=s,this._contextMenuService=a,this._keybindingService=c,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(l),this.visibleContext.set(!0),this._register(toDisposable(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(toDisposable(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition(e=>{n.containsPosition(e.position)||this.dispose()})),this._register(Event$1.runAndSubscribe(c.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){const e=this._keybindingService.lookupKeybinding(this.showCommand.id)?.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=$$f(".post-edit-widget"),this.button=this._register(new Button$1(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(addDisposableListener(this.domNode,EventType$1.CLICK,()=>this.showSelector()))}getId(){return PostEditWidget_1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=getDomNodePagePosition(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>toAction({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}};PostEditWidget=PostEditWidget_1=__decorate$1C([__param$1y(7,IContextMenuService),__param$1y(8,IContextKeyService),__param$1y(9,IKeybindingService)],PostEditWidget);let PostEditWidgetManager=class extends Disposable{constructor(e,t,i,o,n,r,s){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=o,this._instantiationService=n,this._bulkEditService=r,this._notificationService=s,this._currentWidget=this._register(new MutableDisposable),this._register(Event$1.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(t,i,o,n,r){const s=this._editor.getModel();if(!s||!t.length)return;const a=i.allEdits.at(i.activeEditIndex);if(!a)return;const l=async e=>{const s=this._editor.getModel();s&&(await s.undo(),this.applyEditAndShowIfNeeded(t,{activeEditIndex:e,allEdits:i.allEdits},o,n,r))},c=(e,n)=>{isCancellationError(e)||(this._notificationService.error(n),o&&this.show(t[0],i,l))};let d;try{d=await n(a,r)}catch(e){return c(e,localize("resolveError","Error resolving edit '{0}':\n{1}",a.title,toErrorMessage(e)))}if(r.isCancellationRequested)return;const u=createCombinedWorkspaceEdit(s.uri,t,d),h=t[0],p=s.deltaDecorations([],[{range:h,options:{description:"paste-line-suffix",stickiness:0}}]);let g,m;this._editor.focus();try{g=await this._bulkEditService.apply(u,{editor:this._editor,token:r}),m=s.getDecorationRange(p[0])}catch(e){return c(e,localize("applyError","Error applying edit '{0}':\n{1}",a.title,toErrorMessage(e)))}finally{s.deltaDecorations(p,[])}r.isCancellationRequested||o&&g.isApplied&&i.allEdits.length>1&&this.show(m??h,i,l)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(PostEditWidget,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};PostEditWidgetManager=__decorate$1C([__param$1y(4,IInstantiationService),__param$1y(5,IBulkEditService),__param$1y(6,INotificationService)],PostEditWidgetManager);var __decorate$1B=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1x=function(e,t){return function(i,o){t(i,o,e)}},CopyPasteController_1;const changePasteTypeCommandId="editor.changePasteType",pasteWidgetVisibleCtx=new RawContextKey("pasteWidgetVisible",!1,localize("pasteWidgetVisible","Whether the paste widget is showing")),vscodeClipboardMime="application/vnd.code.copyMetadata";let CopyPasteController=class extends Disposable{static{CopyPasteController_1=this}static{this.ID="editor.contrib.copyPasteActionController"}static get(e){return e.getContribution(CopyPasteController_1.ID)}constructor(e,t,i,o,n,r,s){super(),this._bulkEditService=i,this._clipboardService=o,this._languageFeaturesService=n,this._quickInputService=r,this._progressService=s,this._editor=e;const a=e.getContainerDomNode();this._register(addDisposableListener(a,"copy",e=>this.handleCopy(e))),this._register(addDisposableListener(a,"cut",e=>this.handleCopy(e))),this._register(addDisposableListener(a,"paste",e=>this.handlePaste(e),!0)),this._pasteProgressManager=this._register(new InlineProgressManager("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(PostEditWidgetManager,"pasteIntoEditor",e,pasteWidgetVisibleCtx,{id:changePasteTypeCommandId,label:localize("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},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(e){if(!this._editor.hasTextFocus())return;if(this._clipboardService.clearInternalState?.(),!e.clipboardData||!this.isPasteAsEnabled())return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!i?.length)return;const o=this._editor.getOption(37);let n=i;const r=1===i.length&&i[0].isEmpty();if(r){if(!o)return;n=[new Range$2(n[0].startLineNumber,1,n[0].startLineNumber,1+t.getLineLength(n[0].startLineNumber))]}const s=this._editor._getViewModel()?.getPlainTextToCopy(i,o,isWindows),a={multicursorText:Array.isArray(s)?s:null,pasteOnNewLine:r,mode:null},l=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(e=>!!e.prepareDocumentPaste);if(!l.length)return void this.setCopyMetadata(e.clipboardData,{defaultPastePayload:a});const c=toVSDataTransfer(e.clipboardData),d=l.flatMap(e=>e.copyMimeTypes??[]),u=generateUuid();this.setCopyMetadata(e.clipboardData,{id:u,providerCopyMimeTypes:d,defaultPastePayload:a});const h=createCancelablePromise(async e=>{const i=coalesce(await Promise.all(l.map(async i=>{try{return await i.prepareDocumentPaste(t,n,c,e)}catch(o){return void console.error(o)}})));i.reverse();for(const t of i)for(const[e,i]of t)c.replace(e,i);return c});CopyPasteController_1._currentCopyOperation?.dataTransferPromise.cancel(),CopyPasteController_1._currentCopyOperation={handle:u,dataTransferPromise:h}}async handlePaste(e){if(!e.clipboardData||!this._editor.hasTextFocus())return;MessageController.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!i?.length||!t)return;if(this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const o=this.fetchCopyMetadata(e),n=toExternalVSDataTransfer(e.clipboardData);n.delete(vscodeClipboardMime);const r=[...e.clipboardData.types,...o?.providerCopyMimeTypes??[],Mimes.uriList],s=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(e=>{const t=this._pasteAsActionContext?.preferred;return!(t&&e.providedPasteEditKinds&&!this.providerMatchesPreference(e,t))&&e.pasteMimeTypes?.some(e=>matchesMimeType(e,r))});s.length?(e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,s,i,n,o):this.doPasteInline(s,i,n,o,e)):this._pasteAsActionContext?.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred)}showPasteAsNoEditMessage(e,t){MessageController.get(this._editor)?.showMessage(localize("pasteAsError","No paste edits for '{0}' found",t instanceof HierarchicalKind?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,o,n){const r=this._editor;if(!r.hasModel())return;const s=new EditorStateCancellationTokenSource(r,3,void 0),a=createCancelablePromise(async r=>{const l=this._editor;if(!l.hasModel())return;const c=l.getModel(),d=new DisposableStore,u=d.add(new CancellationTokenSource$1(r));d.add(s.token.onCancellationRequested(()=>u.cancel()));const h=u.token;try{if(await this.mergeInDataFromCopy(i,o,h),h.isCancellationRequested)return;const r=e.filter(e=>this.isSupportedPasteProvider(e,i));if(!r.length||1===r.length&&r[0]instanceof DefaultTextPasteOrDropEditProvider)return this.applyDefaultPasteHandler(i,o,h,n);const s={triggerKind:DocumentPasteTriggerKind.Automatic},a=await this.getPasteEdits(r,i,c,t,s,h);if(d.add(a),h.isCancellationRequested)return;if(1===a.edits.length&&a.edits[0].provider instanceof DefaultTextPasteOrDropEditProvider)return this.applyDefaultPasteHandler(i,o,h,n);if(a.edits.length){const e="afterPaste"===l.getOption(85).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:a.edits},e,(e,i)=>new Promise((o,n)=>{(async()=>{try{const r=e.provider.resolveDocumentPasteEdit?.(e,i),s=new DeferredPromise,a=r&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),localize("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([s.p,r]),{cancel:()=>(s.cancel(),n(new CancellationError))},0);return a&&(e.additionalEdit=a.additionalEdit),o(e)}catch(r){return n(r)}})()}),h)}await this.applyDefaultPasteHandler(i,o,h,n)}finally{d.dispose(),this._currentPasteOperation===a&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),localize("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),a,{cancel:async()=>{try{if(a.cancel(),s.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,o,s.token,n)}finally{s.dispose()}}}).then(()=>{s.dispose()}),this._currentPasteOperation=a}showPasteAsPick(e,t,i,o,n){const r=createCancelablePromise(async s=>{const a=this._editor;if(!a.hasModel())return;const l=a.getModel(),c=new DisposableStore,d=c.add(new EditorStateCancellationTokenSource(a,3,void 0,s));try{if(await this.mergeInDataFromCopy(o,n,d.token),d.token.isCancellationRequested)return;let r=t.filter(t=>this.isSupportedPasteProvider(t,o,e));e&&(r=r.filter(t=>this.providerMatchesPreference(t,e)));const s={triggerKind:DocumentPasteTriggerKind.PasteAs,only:e&&e instanceof HierarchicalKind?e:void 0};let a,u=c.add(await this.getPasteEdits(r,o,l,i,s,d.token));if(d.token.isCancellationRequested)return;if(e&&(u={edits:u.edits.filter(t=>e instanceof HierarchicalKind?e.contains(t.kind):e.providerId===t.provider.id),dispose:u.dispose}),!u.edits.length)return void(s.only&&this.showPasteAsNoEditMessage(i,s.only));if(e)a=u.edits.at(0);else{const e=await this._quickInputService.pick(u.edits.map(e=>({label:e.title,description:e.kind?.value,edit:e})),{placeHolder:localize("pasteAsPickerPlaceholder","Select Paste Action")});a=e?.edit}if(!a)return;const h=createCombinedWorkspaceEdit(l.uri,i,a);await this._bulkEditService.apply(h,{editor:this._editor})}finally{c.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:localize("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(vscodeClipboardMime,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(vscodeClipboardMime);if(t)try{return JSON.parse(t)}catch{return}const[i,o]=ClipboardEventUtils.getTextData(e.clipboardData);return o?{defaultPastePayload:{mode:o.mode,multicursorText:o.multicursorText??null,pasteOnNewLine:!!o.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(e,t,i){if(t?.id&&CopyPasteController_1._currentCopyOperation?.handle===t.id){const t=await CopyPasteController_1._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[i,o]of t)e.replace(i,o)}if(!e.has(Mimes.uriList)){const t=await this._clipboardService.readResources();if(i.isCancellationRequested)return;t.length&&e.append(Mimes.uriList,createStringDataTransferItem(UriList.create(t)))}}async getPasteEdits(e,t,i,o,n,r){const s=new DisposableStore,a=await raceCancellation(Promise.all(e.map(async e=>{try{const a=await(e.provideDocumentPasteEdits?.(i,o,t,n,r));return a&&s.add(a),a?.edits?.map(t=>({...t,provider:e}))}catch(a){return void(isCancellationError(a)||console.error(a))}})),r);return{edits:sortEditsByYieldTo(coalesce(a??[]).flat().filter(e=>!n.only||n.only.contains(e.kind))),dispose:()=>s.dispose()}}async applyDefaultPasteHandler(e,t,i,o){const n=e.get(Mimes.text)??e.get("text"),r=await(n?.asString())??"";if(i.isCancellationRequested)return;const s={clipboardEvent:o,text:r,pasteOnNewLine:t?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:t?.defaultPastePayload.multicursorText??null,mode:null};this._editor.trigger("keyboard","paste",s)}isSupportedPasteProvider(e,t,i){return!!e.pasteMimeTypes?.some(e=>t.matches(e))&&(!i||this.providerMatchesPreference(e,i))}providerMatchesPreference(e,t){return t instanceof HierarchicalKind?!e.providedPasteEditKinds||e.providedPasteEditKinds.some(e=>t.contains(e)):e.id===t.providerId}};CopyPasteController=CopyPasteController_1=__decorate$1B([__param$1x(1,IInstantiationService),__param$1x(2,IBulkEditService),__param$1x(3,IClipboardService),__param$1x(4,ILanguageFeaturesService),__param$1x(5,IQuickInputService),__param$1x(6,IProgressService)],CopyPasteController);const CLIPBOARD_CONTEXT_MENU_GROUP="9_cutcopypaste",supportsCut=isNative||document.queryCommandSupported("cut"),supportsCopy=isNative||document.queryCommandSupported("copy"),supportsPaste=void 0!==navigator.clipboard&&!isFirefox$1||document.queryCommandSupported("paste");function registerCommand(e){return e.register(),e}const CutAction=supportsCut?registerCommand(new MultiCommand({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:isNative?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"2_ccp",title:localize({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:MenuId.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.cutLabel","Cut"),when:EditorContextKeys.writable,order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("actions.clipboard.cutLabel","Cut"),order:1},{menuId:MenuId.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.cutLabel","Cut"),when:EditorContextKeys.writable,order:1}]})):void 0,CopyAction=supportsCopy?registerCommand(new MultiCommand({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:isNative?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"2_ccp",title:localize({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:MenuId.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.copyLabel","Copy"),order:2},{menuId:MenuId.CommandPalette,group:"",title:localize("actions.clipboard.copyLabel","Copy"),order:1},{menuId:MenuId.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu,{submenu:MenuId.MenubarCopy,title:localize2("copy as","Copy As"),group:"2_ccp",order:3}),MenuRegistry.appendMenuItem(MenuId.EditorContext,{submenu:MenuId.EditorContextCopy,title:localize2("copy as","Copy As"),group:CLIPBOARD_CONTEXT_MENU_GROUP,order:3}),MenuRegistry.appendMenuItem(MenuId.EditorContext,{submenu:MenuId.EditorContextShare,title:localize2("share","Share"),group:"11_share",order:-1,when:ContextKeyExpr.and(ContextKeyExpr.notEquals("resourceScheme","output"),EditorContextKeys.editorTextFocus)}),MenuRegistry.appendMenuItem(MenuId.ExplorerContext,{submenu:MenuId.ExplorerContextShare,title:localize2("share","Share"),group:"11_share",order:-1});const PasteAction=supportsPaste?registerCommand(new MultiCommand({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:isNative?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"2_ccp",title:localize({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:MenuId.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.pasteLabel","Paste"),when:EditorContextKeys.writable,order:4},{menuId:MenuId.CommandPalette,group:"",title:localize("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:MenuId.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.pasteLabel","Paste"),when:EditorContextKeys.writable,order:4}]})):void 0;class ExecCommandCopyWithSyntaxHighlightingAction extends EditorAction{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:localize("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,weight:100}})}run(e,t){if(!t.hasModel())return;!t.getOption(37)&&t.getSelection().isEmpty()||(CopyOptions.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),CopyOptions.forceCopyWithSyntaxHighlighting=!1)}}function registerExecCommandImpl(e,t){e&&(e.addImplementation(1e4,"code-editor",(e,i)=>{const o=e.get(ICodeEditorService).getFocusedCodeEditor();if(o&&o.hasTextFocus()){const e=o.getOption(37),i=o.getSelection();return i&&i.isEmpty()&&!e||o.getContainerDomNode().ownerDocument.execCommand(t),!0}return!1}),e.addImplementation(0,"generic-dom",(e,i)=>(getActiveDocument().execCommand(t),!0)))}registerExecCommandImpl(CutAction,"cut"),registerExecCommandImpl(CopyAction,"copy"),PasteAction&&(PasteAction.addImplementation(1e4,"code-editor",(e,t)=>{const i=e.get(ICodeEditorService),o=e.get(IClipboardService),n=i.getFocusedCodeEditor();if(n&&n.hasTextFocus()){return n.getContainerDomNode().ownerDocument.execCommand("paste")?CopyPasteController.get(n)?.finishedPaste()??Promise.resolve():!isWeb||(async()=>{const e=await o.readText();if(""!==e){const t=InMemoryClipboardMetadataManager.INSTANCE.get(e);let i=!1,o=null,r=null;t&&(i=n.getOption(37)&&!!t.isFromEmptySelection,o=void 0!==t.multicursorText?t.multicursorText:null,r=t.mode),n.trigger("keyboard","paste",{text:e,pasteOnNewLine:i,multicursorText:o,mode:r})}})()}return!1}),PasteAction.addImplementation(0,"generic-dom",(e,t)=>(getActiveDocument().execCommand("paste"),!0))),supportsCopy&®isterEditorAction(ExecCommandCopyWithSyntaxHighlightingAction);const CodeActionKind=new class{constructor(){this.QuickFix=new HierarchicalKind("quickfix"),this.Refactor=new 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 HierarchicalKind("notebook"),this.Source=new HierarchicalKind("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var CodeActionTriggerSource;function mayIncludeActionsOfKind(e,t){return!(e.include&&!e.include.intersects(t))&&((!e.excludes||!e.excludes.some(i=>excludesAction(t,i,e.include)))&&!(!e.includeSourceActions&&CodeActionKind.Source.contains(t)))}function filtersAction(e,t){const i=t.kind?new HierarchicalKind(t.kind):void 0;return!!(!e.include||i&&e.include.contains(i))&&(!(e.excludes&&i&&e.excludes.some(t=>excludesAction(i,t,e.include)))&&(!(!e.includeSourceActions&&i&&CodeActionKind.Source.contains(i))&&!(e.onlyIncludePreferredActions&&!t.isPreferred)))}function excludesAction(e,t,i){return!!t.contains(e)&&(!i||!t.contains(i))}!function(e){e.Refactor="refactor",e.RefactorPreview="refactor preview",e.Lightbulb="lightbulb",e.Default="other (default)",e.SourceAction="source action",e.QuickFix="quick fix action",e.FixAll="fix all",e.OrganizeImports="organize imports",e.AutoFix="auto fix",e.QuickFixHover="quick fix hover window",e.OnSave="save participants",e.ProblemsView="problems view"}(CodeActionTriggerSource||(CodeActionTriggerSource={}));class CodeActionCommandArgs{static fromUser(e,t){return e&&"object"==typeof e?new CodeActionCommandArgs(CodeActionCommandArgs.getKindFromUser(e,t.kind),CodeActionCommandArgs.getApplyFromUser(e,t.apply),CodeActionCommandArgs.getPreferredUser(e)):new CodeActionCommandArgs(t.kind,t.apply,!1)}static getApplyFromUser(e,t){switch("string"==typeof e.apply?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return"string"==typeof e.kind?new HierarchicalKind(e.kind):t}static getPreferredUser(e){return"boolean"==typeof e.preferred&&e.preferred}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class CodeActionItem{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){if(this.provider?.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(t){onUnexpectedExternalError(t)}i&&(this.action.edit=i.edit)}return this}}const codeActionCommandId="editor.action.codeAction",quickFixCommandId="editor.action.quickFix",autoFixCommandId="editor.action.autoFix",refactorCommandId="editor.action.refactor",sourceActionCommandId="editor.action.sourceAction",organizeImportsCommandId="editor.action.organizeImports",fixAllCommandId="editor.action.fixAll";class ManagedCodeActionSet extends Disposable{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:isNonEmptyArray(e.diagnostics)?isNonEmptyArray(t.diagnostics)?ManagedCodeActionSet.codeActionsPreferredComparator(e,t):-1:isNonEmptyArray(t.diagnostics)?1:ManagedCodeActionSet.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(ManagedCodeActionSet.codeActionsComparator),this.validActions=this.allActions.filter(({action:e})=>!e.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&CodeActionKind.QuickFix.contains(new HierarchicalKind(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}}const emptyCodeActionsResponse={actions:[],documentation:void 0};async function getCodeActions(e,t,i,o,n,r){const s=o.filter||{},a={...s,excludes:[...s.excludes||[],CodeActionKind.Notebook]},l={only:s.include?.value,trigger:o.type},c=new TextModelCancellationTokenSource(t,r),d=2===o.type,u=getCodeActionProviders(e,t,d?a:s),h=new DisposableStore,p=u.map(async e=>{try{n.report(e);const o=await e.provideCodeActions(t,i,l,c.token);if(o&&h.add(o),c.token.isCancellationRequested)return emptyCodeActionsResponse;const r=(o?.actions||[]).filter(e=>e&&filtersAction(s,e)),a=getDocumentationFromProvider(e,r,s.include);return{actions:r.map(t=>new CodeActionItem(t,e)),documentation:a}}catch(o){if(isCancellationError(o))throw o;return onUnexpectedExternalError(o),emptyCodeActionsResponse}}),g=e.onDidChange(()=>{equals$2(e.all(t),u)||c.cancel()});try{const i=await Promise.all(p),n=i.map(e=>e.actions).flat(),r=[...coalesce(i.map(e=>e.documentation)),...getAdditionalDocumentationForShowingActions(e,t,o,n)];return new ManagedCodeActionSet(n,r,h)}finally{g.dispose(),c.dispose()}}function getCodeActionProviders(e,t,i){return e.all(t).filter(e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some(e=>mayIncludeActionsOfKind(i,new HierarchicalKind(e))))}function*getAdditionalDocumentationForShowingActions(e,t,i,o){if(t&&o.length)for(const n of e.all(t))n._getAdditionalMenuItems&&(yield*n._getAdditionalMenuItems?.({trigger:i.type,only:i.filter?.include?.value},o.map(e=>e.action)))}function getDocumentationFromProvider(e,t,i){if(!e.documentation)return;const o=e.documentation.map(e=>({kind:new HierarchicalKind(e.kind),command:e.command}));if(i){let e;for(const t of o)t.kind.contains(i)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return e?.command}for(const n of t)if(n.kind)for(const e of o)if(e.kind.contains(new HierarchicalKind(n.kind)))return e.command}var ApplyCodeActionReason;async function applyCodeAction(e,t,i,o,n=CancellationToken.None){const r=e.get(IBulkEditService),s=e.get(ICommandService),a=e.get(ITelemetryService),l=e.get(INotificationService);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:i}),await t.resolve(n),!n.isCancellationRequested){if(t.action.edit?.edits.length){if(!(await r.apply(t.action.edit,{editor:o?.editor,label:t.action.title,quotableLabel:t.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:i!==ApplyCodeActionReason.OnSave,showPreview:o?.preview})).isApplied)return}if(t.action.command)try{await s.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(c){const e=asMessage(c);l.error("string"==typeof e?e:localize("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}}function asMessage(e){return"string"==typeof e?e:e instanceof Error&&"string"==typeof e.message?e.message:void 0}!function(e){e.OnSave="onSave",e.FromProblemsView="fromProblemsView",e.FromCodeActions="fromCodeActions",e.FromAILightbulb="fromAILightbulb"}(ApplyCodeActionReason||(ApplyCodeActionReason={})),CommandsRegistry.registerCommand("_executeCodeActionProvider",async function(e,t,i,o,n){if(!(t instanceof URI))throw illegalArgument();const{codeActionProvider:r}=e.get(ILanguageFeaturesService),s=e.get(IModelService).getModel(t);if(!s)throw illegalArgument();const a=Selection$1.isISelection(i)?Selection$1.liftSelection(i):Range$2.isIRange(i)?s.validateRange(i):void 0;if(!a)throw illegalArgument();const l="string"==typeof o?new HierarchicalKind(o):void 0,c=await getCodeActions(r,s,a,{type:1,triggerAction:CodeActionTriggerSource.Default,filter:{includeSourceActions:!0,include:l}},Progress$1.None,CancellationToken.None),d=[],u=Math.min(c.validActions.length,"number"==typeof n?n:0);for(let h=0;he.action)}finally{setTimeout(()=>c.dispose(),100)}});var __decorate$1A=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1w=function(e,t){return function(i,o){t(i,o,e)}},CodeActionKeybindingResolver_1;let CodeActionKeybindingResolver=class{static{CodeActionKeybindingResolver_1=this}static{this.codeActionCommands=[refactorCommandId,codeActionCommandId,sourceActionCommandId,organizeImportsCommandId,fixAllCommandId]}constructor(e){this.keybindingService=e}getResolver(){const e=new Lazy(()=>this.keybindingService.getKeybindings().filter(e=>CodeActionKeybindingResolver_1.codeActionCommands.indexOf(e.command)>=0).filter(e=>e.resolvedKeybinding).map(e=>{let t=e.commandArgs;return e.command===organizeImportsCommandId?t={kind:CodeActionKind.SourceOrganizeImports.value}:e.command===fixAllCommandId&&(t={kind:CodeActionKind.SourceFixAll.value}),{resolvedKeybinding:e.resolvedKeybinding,...CodeActionCommandArgs.fromUser(t,{kind:HierarchicalKind.None,apply:"never"})}}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i?.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new HierarchicalKind(e.kind);return t.filter(e=>e.kind.contains(i)).filter(t=>!t.preferred||e.isPreferred).reduceRight((e,t)=>e?e.kind.contains(t.kind)?t:e:t,void 0)}};CodeActionKeybindingResolver=CodeActionKeybindingResolver_1=__decorate$1A([__param$1w(0,IKeybindingService)],CodeActionKeybindingResolver),registerColor("symbolIcon.arrayForeground",foreground,localize("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.booleanForeground",foreground,localize("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.colorForeground",foreground,localize("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.constantForeground",foreground,localize("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.fileForeground",foreground,localize("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.folderForeground",foreground,localize("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.keyForeground",foreground,localize("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.keywordForeground",foreground,localize("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.moduleForeground",foreground,localize("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.namespaceForeground",foreground,localize("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.nullForeground",foreground,localize("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.numberForeground",foreground,localize("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.objectForeground",foreground,localize("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.operatorForeground",foreground,localize("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.packageForeground",foreground,localize("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.propertyForeground",foreground,localize("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.referenceForeground",foreground,localize("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.snippetForeground",foreground,localize("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.stringForeground",foreground,localize("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.structForeground",foreground,localize("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.textForeground",foreground,localize("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.typeParameterForeground",foreground,localize("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.unitForeground",foreground,localize("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),registerColor("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const uncategorizedCodeActionGroup=Object.freeze({kind:HierarchicalKind.Empty,title:localize("codeAction.widget.id.more","More Actions...")}),codeActionGroups=Object.freeze([{kind:CodeActionKind.QuickFix,title:localize("codeAction.widget.id.quickfix","Quick Fix")},{kind:CodeActionKind.RefactorExtract,title:localize("codeAction.widget.id.extract","Extract"),icon:Codicon.wrench},{kind:CodeActionKind.RefactorInline,title:localize("codeAction.widget.id.inline","Inline"),icon:Codicon.wrench},{kind:CodeActionKind.RefactorRewrite,title:localize("codeAction.widget.id.convert","Rewrite"),icon:Codicon.wrench},{kind:CodeActionKind.RefactorMove,title:localize("codeAction.widget.id.move","Move"),icon:Codicon.wrench},{kind:CodeActionKind.SurroundWith,title:localize("codeAction.widget.id.surround","Surround With"),icon:Codicon.surroundWith},{kind:CodeActionKind.Source,title:localize("codeAction.widget.id.source","Source Action"),icon:Codicon.symbolFile},uncategorizedCodeActionGroup]);function toMenuItems(e,t,i){if(!t)return e.map(e=>({kind:"action",item:e,group:uncategorizedCodeActionGroup,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title,canPreview:!!e.action.edit?.edits.length}));const o=codeActionGroups.map(e=>({group:e,actions:[]}));for(const r of e){const e=r.action.kind?new HierarchicalKind(r.action.kind):HierarchicalKind.None;for(const t of o)if(t.group.kind.contains(e)){t.actions.push(r);break}}const n=[];for(const r of o)if(r.actions.length){n.push({kind:"header",group:r.group});for(const e of r.actions){const t=r.group;n.push({kind:"action",item:e,group:e.action.isAI?{title:t.title,kind:t.kind,icon:Codicon.sparkle}:t,label:e.action.title,disabled:!!e.action.disabled,keybinding:i(e.action)})}}return n}var __decorate$1z=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1v=function(e,t){return function(i,o){t(i,o,e)}},LightBulbWidget_1;const GUTTER_LIGHTBULB_ICON=registerIcon("gutter-lightbulb",Codicon.lightBulb,localize("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),GUTTER_LIGHTBULB_AUTO_FIX_ICON=registerIcon("gutter-lightbulb-auto-fix",Codicon.lightbulbAutofix,localize("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),GUTTER_LIGHTBULB_AIFIX_ICON=registerIcon("gutter-lightbulb-sparkle",Codicon.lightbulbSparkle,localize("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),GUTTER_LIGHTBULB_AIFIX_AUTO_FIX_ICON=registerIcon("gutter-lightbulb-aifix-auto-fix",Codicon.lightbulbSparkleAutofix,localize("gutterLightbulbAIFixAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),GUTTER_SPARKLE_FILLED_ICON=registerIcon("gutter-lightbulb-sparkle-filled",Codicon.sparkleFilled,localize("gutterLightbulbSparkleFilledWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var LightBulbState;!function(e){e.Hidden={type:0};e.Showing=class{constructor(e,t,i,o){this.actions=e,this.trigger=t,this.editorPosition=i,this.widgetPosition=o,this.type=1}}}(LightBulbState||(LightBulbState={}));let LightBulbWidget=class extends Disposable{static{LightBulbWidget_1=this}static{this.GUTTER_DECORATION=ModelDecorationOptions.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:ThemeIcon.asClassName(Codicon.lightBulb),glyphMargin:{position:GlyphMarginLane.Left},stickiness:1})}static{this.ID="editor.contrib.lightbulbWidget"}static{this._posPref=[0]}constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Emitter$1),this.onClick=this._onClick.event,this._state=LightBulbState.Hidden,this._gutterState=LightBulbState.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+GUTTER_LIGHTBULB_ICON.id,"codicon-"+GUTTER_LIGHTBULB_AIFIX_AUTO_FIX_ICON.id,"codicon-"+GUTTER_LIGHTBULB_AUTO_FIX_ICON.id,"codicon-"+GUTTER_LIGHTBULB_AIFIX_ICON.id,"codicon-"+GUTTER_SPARKLE_FILLED_ICON.id],this.gutterDecoration=LightBulbWidget_1.GUTTER_DECORATION,this._domNode=$$f("div.lightBulbWidget"),this._domNode.role="listbox",this._register(Gesture.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(e=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide(),(1!==this.gutterState.type||!t||this.gutterState.editorPosition.lineNumber>=t.getLineCount())&&this.gutterHide()})),this._register(addStandardDisposableGenericMouseDownListener(this._domNode,e=>{if(1!==this.state.type)return;this._editor.focus(),e.preventDefault();const{top:t,height:i}=getDomNodePagePosition(this._domNode),o=this._editor.getOption(67);let n=Math.floor(o/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1&~e.buttons||this.hide()})),this._register(Event$1.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel=this._keybindingService.lookupKeybinding(autoFixCommandId)?.getLabel()??void 0,this._quickFixKbLabel=this._keybindingService.lookupKeybinding(quickFixCommandId)?.getLabel()??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async e=>{if(!e.target.element||!this.lightbulbClasses.some(t=>e.target.element&&e.target.element.classList.contains(t)))return;if(1!==this.gutterState.type)return;this._editor.focus();const{top:t,height:i}=getDomNodePagePosition(e.target.element),o=this._editor.getOption(67);let n=Math.floor(o/3);null!==this.gutterState.widgetPosition.position&&this.gutterState.widgetPosition.position.lineNumber22,d=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1),u=this._editor.getLineDecorations(n);let h=!1;if(u)for(const v of u){const e=v.options.glyphMarginClassName;if(e&&!this.lightbulbClasses.some(t=>e.includes(t))){h=!0;break}}let p=n,g=1;if(!c){const s=e=>{const t=o.getLineContent(e);return/^\s*$|^\s+/.test(t)||t.length<=g};if(n>1&&!d(n-1)){const r=n===o.getLineCount(),a=n>1&&s(n-1),l=!r&&s(n+1),c=s(n),d=!l&&!a;if(!(l||a||h))return this.gutterState=new LightBulbState.Showing(e,t,i,{position:{lineNumber:p,column:g},preference:LightBulbWidget_1._posPref}),this.renderGutterLightbub(),this.hide();a||r||a&&!c?p-=1:(l||d&&c)&&(p+=1)}else if(1!==n||n!==o.getLineCount()&&(s(n+1)||s(n))){if(n{this._gutterDecorationID=t.addDecoration(new Range$2(e,0,e,0),this.gutterDecoration)})}_removeGutterDecoration(e){this._editor.changeDecorations(t=>{t.removeDecoration(e),this._gutterDecorationID=void 0})}_updateGutterDecoration(e,t){this._editor.changeDecorations(i=>{i.changeDecoration(e,new Range$2(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){1===this.state.type&&(t?this.title=localize("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=localize("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=localize("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=localize("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}};LightBulbWidget=LightBulbWidget_1=__decorate$1z([__param$1v(1,IKeybindingService)],LightBulbWidget);var __decorate$1y=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1u=function(e,t){return function(i,o){t(i,o,e)}};const acceptSelectedActionCommand="acceptSelectedCodeAction",previewSelectedActionCommand="previewSelectedCodeAction";class HeaderRenderer{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){i.text.textContent=e.group?.title??""}disposeTemplate(e){}}let ActionItemRenderer=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);return{container:e,icon:t,text:i,keybinding:new KeybindingLabel(e,OS)}}renderElement(e,t,i){if(e.group?.icon?(i.icon.className=ThemeIcon.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=asCssVariable(e.group.icon.color.id))):(i.icon.className=ThemeIcon.asClassName(Codicon.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=stripNewlines(e.label),i.keybinding.set(e.keybinding),setVisibility(!!e.keybinding,i.keybinding.element);const o=this._keybindingService.lookupKeybinding(acceptSelectedActionCommand)?.getLabel(),n=this._keybindingService.lookupKeybinding(previewSelectedActionCommand)?.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:o&&n?this._supportsPreview&&e.canPreview?i.container.title=localize({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",o,n):i.container.title=localize({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",o):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};ActionItemRenderer=__decorate$1y([__param$1u(1,IKeybindingService)],ActionItemRenderer);class AcceptSelectedEvent extends UIEvent{constructor(){super("acceptSelectedAction")}}class PreviewSelectedEvent extends UIEvent{constructor(){super("previewSelectedAction")}}function getKeyboardNavigationLabel(e){if("action"===e.kind)return e.label}let ActionList=class extends Disposable{constructor(e,t,i,o,n,r){super(),this._delegate=o,this._contextViewService=n,this._keybindingService=r,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new CancellationTokenSource$1),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const s={getHeight:e=>"header"===e.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:e=>e.kind};this._list=this._register(new List(e,this.domNode,s,[new ActionItemRenderer(t,this._keybindingService),new HeaderRenderer],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:getKeyboardNavigationLabel},accessibilityProvider:{getAriaLabel:e=>{if("action"===e.kind){let t=e.label?stripNewlines(e?.label):"";return e.disabled&&(t=localize({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",t,e.disabled)),t}return null},getWidgetAriaLabel:()=>localize({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:e=>"action"===e.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(defaultListStyles),this._register(this._list.onMouseClick(e=>this.onListClick(e))),this._register(this._list.onMouseOver(e=>this.onListHover(e))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(e=>this.onListSelection(e))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&"action"===e.kind}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(e=>"header"===e.kind).length,i=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(i);let o=e;if(this._allMenuItems.length>=50)o=380;else{const t=this._allMenuItems.map((e,t)=>{const i=this.domNode.ownerDocument.getElementById(this._list.getElementID(t));if(i){i.style.width="auto";const e=i.getBoundingClientRect().width;return i.style.width="",e}return 0});o=Math.max(...t,e)}const n=Math.min(i,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(n,o),this.domNode.style.height=`${n}px`,this._list.domFocus(),o}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(0===t.length)return;const i=t[0],o=this._list.element(i);if(!this.focusCondition(o))return;const n=e?new PreviewSelectedEvent:new AcceptSelectedEvent;this._list.setSelection([i],n)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof PreviewSelectedEvent):this._list.setSelection([])}onFocus(){const e=this._list.getFocus();if(0===e.length)return;const t=e[0],i=this._list.element(t);this._delegate.onFocus?.(i.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&"action"===t.kind){const e=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=e?e.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus("number"==typeof e.index?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};function stripNewlines(e){return e.replace(/\r\n|\r|\n/g," ")}ActionList=__decorate$1y([__param$1u(4,IContextViewService),__param$1u(5,IKeybindingService)],ActionList);var __decorate$1x=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1t=function(e,t){return function(i,o){t(i,o,e)}};registerColor("actionBar.toggledBackground",inputActiveOptionBackground,localize("actionBar.toggledBackground","Background color for toggled action items in action bar."));const ActionWidgetContextKeys={Visible:new RawContextKey("codeActionMenuVisible",!1,localize("codeActionMenuVisible","Whether the action widget list is visible"))},IActionWidgetService=createDecorator("actionWidgetService");let ActionWidgetService=class extends Disposable{get isVisible(){return ActionWidgetContextKeys.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new MutableDisposable)}show(e,t,i,o,n,r,s){const a=ActionWidgetContextKeys.Visible.bindTo(this._contextKeyService),l=this._instantiationService.createInstance(ActionList,e,t,i,o);this._contextViewService.showContextView({getAnchor:()=>n,render:e=>(a.set(!0),this._renderWidget(e,l,s??[])),onHide:e=>{a.reset(),this._onWidgetClosed(e)}},r,!1)}acceptSelected(e){this._list.value?.acceptSelected(e)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}hide(e){this._list.value?.hide(e),this._list.clear()}_renderWidget(e,t,i){const o=document.createElement("div");if(o.classList.add("action-widget"),e.appendChild(o),this._list.value=t,!this._list.value)throw new Error("List has no value");o.appendChild(this._list.value.domNode);const n=new DisposableStore,r=document.createElement("div"),s=e.appendChild(r);s.classList.add("context-view-block"),n.add(addDisposableListener(s,EventType$1.MOUSE_DOWN,e=>e.stopPropagation()));const a=document.createElement("div"),l=e.appendChild(a);l.classList.add("context-view-pointerBlock"),n.add(addDisposableListener(l,EventType$1.POINTER_MOVE,()=>l.remove())),n.add(addDisposableListener(l,EventType$1.MOUSE_DOWN,()=>l.remove()));let c=0;if(i.length){const e=this._createActionBar(".action-widget-action-bar",i);e&&(o.appendChild(e.getContainer().parentElement),n.add(e),c=e.getContainer().offsetWidth)}const d=this._list.value?.layout(c);o.style.width=`${d}px`;const u=n.add(trackFocus(e));return n.add(u.onDidBlur(()=>this.hide(!0))),n}_createActionBar(e,t){if(!t.length)return;const i=$$f(e),o=new ActionBar(i);return o.push(t,{icon:!1,label:!0}),o}_onWidgetClosed(e){this._list.value?.hide(e)}};ActionWidgetService=__decorate$1x([__param$1t(0,IContextViewService),__param$1t(1,IContextKeyService),__param$1t(2,IInstantiationService)],ActionWidgetService),registerSingleton(IActionWidgetService,ActionWidgetService,1);const weight$3=1100;registerAction2(class extends Action2{constructor(){super({id:"hideCodeActionWidget",title:localize2("hideCodeActionWidget.title","Hide action widget"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:9,secondary:[1033]}})}run(e){e.get(IActionWidgetService).hide(!0)}}),registerAction2(class extends Action2{constructor(){super({id:"selectPrevCodeAction",title:localize2("selectPrevCodeAction.title","Select previous action"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){const t=e.get(IActionWidgetService);t instanceof ActionWidgetService&&t.focusPrevious()}}),registerAction2(class extends Action2{constructor(){super({id:"selectNextCodeAction",title:localize2("selectNextCodeAction.title","Select next action"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){const t=e.get(IActionWidgetService);t instanceof ActionWidgetService&&t.focusNext()}}),registerAction2(class extends Action2{constructor(){super({id:acceptSelectedActionCommand,title:localize2("acceptSelected.title","Accept selected action"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:3,secondary:[2137]}})}run(e){const t=e.get(IActionWidgetService);t instanceof ActionWidgetService&&t.acceptSelected()}}),registerAction2(class extends Action2{constructor(){super({id:previewSelectedActionCommand,title:localize2("previewSelected.title","Preview selected action"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:2051}})}run(e){const t=e.get(IActionWidgetService);t instanceof ActionWidgetService&&t.acceptSelected(!0)}});const SUPPORTED_CODE_ACTIONS=new RawContextKey("supportedCodeAction",""),APPLY_FIX_ALL_COMMAND_ID="_typescript.applyFixAllCodeAction";class CodeActionOracle extends Disposable{constructor(e,t,i,o=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=o,this._autoTriggerTimer=this._register(new TimeoutTimer),this._register(this._markerService.onMarkerChanged(e=>this._onMarkerChanges(e))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(e=>isEqual$1(e,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:CodeActionTriggerSource.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(1===e.type)return t;const i=this._editor.getOption(65).enabled;if(i!==ShowLightbulbIconMode$1.Off){if(i===ShowLightbulbIconMode$1.On)return t;if(i===ShowLightbulbIconMode$1.OnCode){if(!t.isEmpty())return t;const e=this._editor.getModel(),{lineNumber:i,column:o}=t.getPosition(),n=e.getLineContent(i);if(0===n.length)return;if(1===o){if(/\s/.test(n[0]))return}else if(o===e.getLineMaxColumn(i)){if(/\s/.test(n[n.length-1]))return}else if(/\s/.test(n[o-2])&&/\s/.test(n[o-1]))return}return t}}}var CodeActionsState;!function(e){e.Empty={type:0};e.Triggered=class{constructor(e,t,i){this.trigger=e,this.position=t,this._cancellablePromise=i,this.type=1,this.actions=i.catch(e=>{if(isCancellationError(e))return emptyCodeActionSet;throw e})}cancel(){this._cancellablePromise.cancel()}}}(CodeActionsState||(CodeActionsState={}));const emptyCodeActionSet=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class CodeActionModel extends Disposable{constructor(e,t,i,o,n,r,s){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=n,this._configurationService=r,this._telemetryService=s,this._codeActionOracle=this._register(new MutableDisposable),this._state=CodeActionsState.Empty,this._onDidChangeState=this._register(new Emitter$1),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=SUPPORTED_CODE_ACTIONS.bindTo(o),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(e=>{e.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(CodeActionsState.Empty,!0))}_settingEnabledNearbyQuickfixes(){const e=this._editor?.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:e?.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(CodeActionsState.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(92)){const t=this._registry.all(e).flatMap(e=>e.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new CodeActionOracle(this._editor,this._markerService,t=>{if(!t)return void this.setState(CodeActionsState.Empty);const i=t.selection.getStartPosition(),o=createCancelablePromise(async i=>{if(this._settingEnabledNearbyQuickfixes()&&1===t.trigger.type&&(t.trigger.triggerAction===CodeActionTriggerSource.QuickFix||t.trigger.filter?.include?.contains(CodeActionKind.QuickFix))){const o=await getCodeActions(this._registry,e,t.selection,t.trigger,Progress$1.None,i),n=[...o.allActions];if(i.isCancellationRequested)return emptyCodeActionSet;const r=o.validActions?.some(e=>!!e.action.kind&&CodeActionKind.QuickFix.contains(new HierarchicalKind(e.action.kind))),s=this._markerService.read({resource:e.uri});if(r){for(const e of o.validActions)e.action.command?.arguments?.some(e=>"string"==typeof e&&e.includes(APPLY_FIX_ALL_COMMAND_ID))&&(e.action.diagnostics=[...s.filter(e=>e.relatedInformation)]);return{validActions:o.validActions,allActions:n,documentation:o.documentation,hasAutoFix:o.hasAutoFix,hasAIFix:o.hasAIFix,allAIFixes:o.allAIFixes,dispose:()=>{o.dispose()}}}if(!r&&s.length>0){const r=t.selection.getPosition();let a=r,l=Number.MAX_VALUE;const c=[...o.validActions];for(const u of s){const d=u.endColumn,h=u.endLineNumber,p=u.startLineNumber;if(h===r.lineNumber||p===r.lineNumber){a=new Position$1(h,d);const u={type:t.trigger.type,triggerAction:t.trigger.triggerAction,filter:{include:t.trigger.filter?.include?t.trigger.filter?.include:CodeActionKind.QuickFix},autoApply:t.trigger.autoApply,context:{notAvailableMessage:t.trigger.context?.notAvailableMessage||"",position:a}},p=new Selection$1(a.lineNumber,a.column,a.lineNumber,a.column),g=await getCodeActions(this._registry,e,p,u,Progress$1.None,i);if(0!==g.validActions.length){for(const e of g.validActions)e.action.command?.arguments?.some(e=>"string"==typeof e&&e.includes(APPLY_FIX_ALL_COMMAND_ID))&&(e.action.diagnostics=[...s.filter(e=>e.relatedInformation)]);0===o.allActions.length&&n.push(...g.allActions),Math.abs(r.column-d)i.findIndex(t=>t.action.title===e.action.title)===t);return d.sort((e,t)=>e.action.isPreferred&&!t.action.isPreferred?-1:!e.action.isPreferred&&t.action.isPreferred||e.action.isAI&&!t.action.isAI?1:!e.action.isAI&&t.action.isAI?-1:0),{validActions:d,allActions:n,documentation:o.documentation,hasAutoFix:o.hasAutoFix,hasAIFix:o.hasAIFix,allAIFixes:o.allAIFixes,dispose:()=>{o.dispose()}}}}if(1===t.trigger.type){const o=new StopWatch,n=await getCodeActions(this._registry,e,t.selection,t.trigger,Progress$1.None,i);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:n.validActions.length,duration:o.elapsed()}),n}return getCodeActions(this._registry,e,t.selection,t.trigger,Progress$1.None,i)});1===t.trigger.type&&this._progressService?.showWhile(o,250);const n=new CodeActionsState.Triggered(t.trigger,i,o);let r=!1;1===this._state.type&&(r=1===this._state.trigger.type&&1===n.type&&2===n.trigger.type&&this._state.position!==n.position),r?setTimeout(()=>{this.setState(n)},500):this.setState(n)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:CodeActionTriggerSource.Default})}else this._supportedCodeActions.reset()}trigger(e){this._codeActionOracle.value?.trigger(e)}setState(e,t){e!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=e,t||this._disposed||this._onDidChangeState.fire(e))}}var __decorate$1w=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1s=function(e,t){return function(i,o){t(i,o,e)}},CodeActionController_1;const DECORATION_CLASS_NAME$1="quickfix-edit-highlight";let CodeActionController=class extends Disposable{static{CodeActionController_1=this}static{this.ID="editor.contrib.codeActionController"}static get(e){return e.getContribution(CodeActionController_1.ID)}constructor(e,t,i,o,n,r,s,a,l,c,d){super(),this._commandService=s,this._configurationService=a,this._actionWidgetService=l,this._instantiationService=c,this._telemetryService=d,this._activeCodeActions=this._register(new MutableDisposable),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new CodeActionModel(this._editor,n.codeActionProvider,t,i,r,a,this._telemetryService)),this._register(this._model.onDidChangeState(e=>this.update(e))),this._lightBulbWidget=new Lazy(()=>{const e=this._editor.getContribution(LightBulbWidget.ID);return e&&this._register(e.onClick(e=>this.showCodeActionsFromLightbulb(e.actions,e))),e}),this._resolver=o.createInstance(CodeActionKeybindingResolver),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&1===e.validActions.length){const t=e.validActions[0],i=t.action.command;return i&&"inlineChat.start"===i.id&&i.arguments&&i.arguments.length>=1&&(i.arguments[0]={...i.arguments[0],autoSend:!1}),void(await this._applyCodeAction(t,!1,!1,ApplyCodeActionReason.FromAILightbulb))}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,o){if(!this._editor.hasModel())return;MessageController.get(this._editor)?.closeMessage();const n=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:o,context:{notAvailableMessage:e,position:n}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,o){try{await this._instantiationService.invokeFunction(applyCodeAction,e,o,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:CodeActionTriggerSource.QuickFix,filter:{}})}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(t){if(1!==t.type)return void this.hideLightBulbWidget();let i;try{i=await t.actions}catch(e){return void onUnexpectedError(e)}if(this._disposed)return;const o=this._editor.getSelection();if(o?.startLineNumber===t.position.lineNumber)if(this._lightBulbWidget.value?.update(i,t.trigger,t.position),1===t.trigger.type){if(t.trigger.filter?.include){const e=this.tryGetValidActionToApply(t.trigger,i);if(e){try{this.hideLightBulbWidget(),await this._applyCodeAction(e,!1,!1,ApplyCodeActionReason.FromCodeActions)}finally{i.dispose()}return}if(t.trigger.context){const e=this.getInvalidActionThatWouldHaveBeenApplied(t.trigger,i);if(e&&e.action.disabled)return MessageController.get(this._editor)?.showMessage(e.action.disabled,t.trigger.context.position),void i.dispose()}}const e=!!t.trigger.filter?.include;if(t.trigger.context&&(!i.allActions.length||!e&&!i.validActions.length))return MessageController.get(this._editor)?.showMessage(t.trigger.context.notAvailableMessage,t.trigger.context.position),this._activeCodeActions.value=i,void i.dispose();this._activeCodeActions.value=i,this.showCodeActionList(i,this.toCoords(t.position),{includeDisabledActions:e,fromLightbulb:!1})}else this._actionWidgetService.isVisible?i.dispose():this._activeCodeActions.value=i}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length)return"first"===e.autoApply&&0===t.validActions.length||"ifSingle"===e.autoApply&&1===t.allActions.length?t.allActions.find(({action:e})=>e.disabled):void 0}tryGetValidActionToApply(e,t){if(t.validActions.length)return"first"===e.autoApply&&t.validActions.length>0||"ifSingle"===e.autoApply&&1===t.validActions.length?t.validActions[0]:void 0}static{this.DECORATION=ModelDecorationOptions.register({description:"quickfix-highlight",className:DECORATION_CLASS_NAME$1})}async showCodeActionList(e,t,i){const o=this._editor.createDecorationsCollection(),n=this._editor.getDomNode();if(!n)return;const r=i.includeDisabledActions&&(this._showDisabled||0===e.validActions.length)?e.allActions:e.validActions;if(!r.length)return;const s=Position$1.isIPosition(t)?this.toCoords(t):t,a={onSelect:async(e,t)=>{this._applyCodeAction(e,!0,!!t,i.fromLightbulb?ApplyCodeActionReason.FromAILightbulb:ApplyCodeActionReason.FromCodeActions),this._actionWidgetService.hide(!1),o.clear()},onHide:e=>{this._editor?.focus(),o.clear()},onHover:async(e,t)=>{if(t.isCancellationRequested)return;let i=!1;const o=e.action.kind;if(o){const e=new HierarchicalKind(o);i=[CodeActionKind.RefactorExtract,CodeActionKind.RefactorInline,CodeActionKind.RefactorRewrite,CodeActionKind.RefactorMove,CodeActionKind.Source].some(t=>t.contains(e))}return{canPreview:i||!!e.action.edit?.edits.length}},onFocus:e=>{if(e&&e.action){const t=e.action.ranges,i=e.action.diagnostics;if(o.clear(),t&&t.length>0){const e=i&&i?.length>1?i.map(e=>({range:e,options:CodeActionController_1.DECORATION})):t.map(e=>({range:e,options:CodeActionController_1.DECORATION}));o.set(e)}else if(i&&i.length>0){const e=i.map(e=>({range:e,options:CodeActionController_1.DECORATION}));o.set(e);const t=i[0];if(t.startLineNumber&&t.startColumn){const e=this._editor.getModel()?.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn})?.word;status(localize("editingNewSelection","Context: {0} at line {1} and column {2}.",e,t.startLineNumber,t.startColumn))}}}else o.clear()}};this._actionWidgetService.show("codeActionWidget",!0,toMenuItems(r,this._shouldShowHeaders(),this._resolver.getResolver()),a,s,n,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=getDomNodePagePosition(this._editor.getDomNode());return{x:i.left+t.left,y:i.top+t.top+t.height}}_shouldShowHeaders(){const e=this._editor?.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e?.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const o=e.documentation.map(e=>({id:e.id,label:e.title,tooltip:e.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(e.id,...e.arguments??[])}));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&o.push(this._showDisabled?{id:"hideMoreActions",label:localize("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:localize("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),o}};function contextKeyForSupportedActions(e){return ContextKeyExpr.regex(SUPPORTED_CODE_ACTIONS.keys()[0],new RegExp("(\\s|^)"+escapeRegExpCharacters(e.value)+"\\b"))}CodeActionController=CodeActionController_1=__decorate$1w([__param$1s(1,IMarkerService),__param$1s(2,IContextKeyService),__param$1s(3,IInstantiationService),__param$1s(4,ILanguageFeaturesService),__param$1s(5,IEditorProgressService),__param$1s(6,ICommandService),__param$1s(7,IConfigurationService),__param$1s(8,IActionWidgetService),__param$1s(9,IInstantiationService),__param$1s(10,ITelemetryService)],CodeActionController),registerThemingParticipant((e,t)=>{((e,i)=>{i&&t.addRule(`.monaco-editor ${e} { background-color: ${i}; }`)})(".quickfix-edit-highlight",e.getColor(editorFindMatchHighlight));const i=e.getColor(editorFindMatchHighlightBorder);i&&t.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${isHighContrast(e.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});const argsSchema={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:localize("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:localize("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[localize("args.schema.apply.first","Always apply the first returned code action."),localize("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),localize("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:localize("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function triggerCodeActionsForEditorSelection(e,t,i,o,n=CodeActionTriggerSource.Default){if(e.hasModel()){const r=CodeActionController.get(e);r?.manualTriggerAtCurrentPosition(t,n,i,o)}}class QuickFixAction extends EditorAction{constructor(){super({id:quickFixCommandId,label:localize("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2137,weight:100}})}run(e,t){return triggerCodeActionsForEditorSelection(t,localize("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,CodeActionTriggerSource.QuickFix)}}class CodeActionCommand extends EditorCommand{constructor(){super({id:codeActionCommandId,precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:argsSchema}]}})}runEditorCommand(e,t,i){const o=CodeActionCommandArgs.fromUser(i,{kind:HierarchicalKind.Empty,apply:"ifSingle"});return triggerCodeActionsForEditorSelection(t,"string"==typeof i?.kind?o.preferred?localize("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):localize("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):o.preferred?localize("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):localize("editor.action.codeAction.noneMessage","No code actions available"),{include:o.kind,includeSourceActions:!0,onlyIncludePreferredActions:o.preferred},o.apply)}}class RefactorAction extends EditorAction{constructor(){super({id:refactorCommandId,label:localize("refactor.label","Refactor..."),alias:"Refactor...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:argsSchema}]}})}run(e,t,i){const o=CodeActionCommandArgs.fromUser(i,{kind:CodeActionKind.Refactor,apply:"never"});return triggerCodeActionsForEditorSelection(t,"string"==typeof i?.kind?o.preferred?localize("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):localize("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):o.preferred?localize("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):localize("editor.action.refactor.noneMessage","No refactorings available"),{include:CodeActionKind.Refactor.contains(o.kind)?o.kind:HierarchicalKind.None,onlyIncludePreferredActions:o.preferred},o.apply,CodeActionTriggerSource.Refactor)}}class SourceAction extends EditorAction{constructor(){super({id:sourceActionCommandId,label:localize("source.label","Source Action..."),alias:"Source Action...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:argsSchema}]}})}run(e,t,i){const o=CodeActionCommandArgs.fromUser(i,{kind:CodeActionKind.Source,apply:"never"});return triggerCodeActionsForEditorSelection(t,"string"==typeof i?.kind?o.preferred?localize("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):localize("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):o.preferred?localize("editor.action.source.noneMessage.preferred","No preferred source actions available"):localize("editor.action.source.noneMessage","No source actions available"),{include:CodeActionKind.Source.contains(o.kind)?o.kind:HierarchicalKind.None,includeSourceActions:!0,onlyIncludePreferredActions:o.preferred},o.apply,CodeActionTriggerSource.SourceAction)}}class OrganizeImportsAction extends EditorAction{constructor(){super({id:organizeImportsCommandId,label:localize("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.SourceOrganizeImports)),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:1581,weight:100}})}run(e,t){return triggerCodeActionsForEditorSelection(t,localize("editor.action.organize.noneMessage","No organize imports action available"),{include:CodeActionKind.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",CodeActionTriggerSource.OrganizeImports)}}class FixAllAction extends EditorAction{constructor(){super({id:fixAllCommandId,label:localize("fixAll.label","Fix All"),alias:"Fix All",precondition:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.SourceFixAll))})}run(e,t){return triggerCodeActionsForEditorSelection(t,localize("fixAll.noneMessage","No fix all action available"),{include:CodeActionKind.SourceFixAll,includeSourceActions:!0},"ifSingle",CodeActionTriggerSource.FixAll)}}class AutoFixAction extends EditorAction{constructor(){super({id:autoFixCommandId,label:localize("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.QuickFix)),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return triggerCodeActionsForEditorSelection(t,localize("editor.action.autoFix.noneMessage","No auto fixes available"),{include:CodeActionKind.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",CodeActionTriggerSource.AutoFix)}}registerEditorContribution(CodeActionController.ID,CodeActionController,3),registerEditorContribution(LightBulbWidget.ID,LightBulbWidget,4),registerEditorAction(QuickFixAction),registerEditorAction(RefactorAction),registerEditorAction(SourceAction),registerEditorAction(OrganizeImportsAction),registerEditorAction(AutoFixAction),registerEditorAction(FixAllAction),registerEditorCommand(new CodeActionCommand),Registry.as(Extensions$6.Configuration).registerConfiguration({...editorConfigurationBaseNode,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:localize("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}}),Registry.as(Extensions$6.Configuration).registerConfiguration({...editorConfigurationBaseNode,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:localize("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}}),Registry.as(Extensions$6.Configuration).registerConfiguration({...editorConfigurationBaseNode,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:localize("triggerOnFocusChange","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}}});class CodeLensModel{constructor(){this.lenses=[],this._disposables=new DisposableStore}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function getCodeLensModel(e,t,i){const o=e.ordered(t),n=new Map,r=new CodeLensModel,s=o.map(async(e,o)=>{n.set(e,o);try{const o=await Promise.resolve(e.provideCodeLenses(t,i));o&&r.add(o,e)}catch(s){onUnexpectedExternalError(s)}});return await Promise.all(s),r.lenses=r.lenses.sort((e,t)=>e.symbol.range.startLineNumbert.symbol.range.startLineNumber?1:n.get(e.provider)n.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0),r}CommandsRegistry.registerCommand("_executeCodeLensProvider",function(e,...t){let[i,o]=t;assertType(URI.isUri(i)),assertType("number"==typeof o||!o);const{codeLensProvider:n}=e.get(ILanguageFeaturesService),r=e.get(IModelService).getModel(i);if(!r)throw illegalArgument();const s=[],a=new DisposableStore;return getCodeLensModel(n,r,CancellationToken.None).then(e=>{a.add(e);const t=[];for(const i of e.lenses)null==o||Boolean(i.symbol.command)?s.push(i.symbol):o-- >0&&i.provider.resolveCodeLens&&t.push(Promise.resolve(i.provider.resolveCodeLens(r,i.symbol,CancellationToken.None)).then(e=>s.push(e||i.symbol)));return Promise.all(t)}).then(()=>s).finally(()=>{setTimeout(()=>a.dispose(),100)})});var __decorate$1v=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1r=function(e,t){return function(i,o){t(i,o,e)}};const ICodeLensCache=createDecorator("ICodeLensCache");class CacheItem{constructor(e,t){this.lineCount=e,this.data=t}}let CodeLensCache=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new LRUCache(20,.75);runWhenWindowIdle(mainWindow,()=>e.remove("codelens/cache",1));const t="codelens/cache2",i=e.get(t,1,"{}");this._deserialize(i);const o=Event$1.filter(e.onWillSaveState,e=>e.reason===WillSaveStateReason.SHUTDOWN);Event$1.once(o)(i=>{e.store(t,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(e=>({range:e.symbol.range,command:e.symbol.command&&{id:"",title:e.symbol.command?.title}})),o=new CodeLensModel;o.add({lenses:i,dispose:()=>{}},this._fakeProvider);const n=new CacheItem(e.getLineCount(),o);this._cache.set(e.uri.toString(),n)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const o=new Set;for(const e of i.data.lenses)o.add(e.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...o.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const e in t){const i=t[e],o=[];for(const e of i.lines)o.push({range:new Range$2(e,1,e,11)});const n=new CodeLensModel;n.add({lenses:o,dispose(){}},this._fakeProvider),this._cache.set(e,new CacheItem(i.lineCount,n))}}catch{}}};CodeLensCache=__decorate$1v([__param$1r(0,IStorageService)],CodeLensCache),registerSingleton(ICodeLensCache,CodeLensCache,1);class CodeLensViewZone{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class CodeLensContentWidget{static{this._idPool=0}constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-"+CodeLensContentWidget._idPool++,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let o=!1;for(let n=0;n{e.symbol.command&&a.push(e.symbol),i.addDecoration({range:e.symbol.range,options:codeLensDecorationOptions},e=>this._decorationIds[t]=e),s=s?Range$2.plusRange(s,e.symbol.range):Range$2.lift(e.symbol.range)}),this._viewZone=new CodeLensViewZone(s.startLineNumber-1,n,r),this._viewZoneId=o.addZone(this._viewZone),a.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(a,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new CodeLensContentWidget(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),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((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),o=this._data[t].symbol;return!(!i||Range$2.isEmpty(o.range)!==i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((e,i)=>{t.addDecoration({range:e.symbol.range,options:codeLensDecorationOptions},e=>this._decorationIds[i]=e)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1q=function(e,t){return function(i,o){t(i,o,e)}};let CodeLensContribution=class{static{this.ID="css.editor.codeLens"}constructor(e,t,i,o,n,r){this._editor=e,this._languageFeaturesService=t,this._commandService=o,this._notificationService=n,this._codeLensCache=r,this._disposables=new DisposableStore,this._localToDispose=new DisposableStore,this._lenses=[],this._oldCodeLensModels=new DisposableStore,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new RunOnceScheduler(()=>this._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(e=>{(e.hasChanged(50)||e.hasChanged(19)||e.hasChanged(18))&&this._updateLensStyle(),e.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),this._currentCodeLensModel?.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=.9*this._editor.getOption(52)|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),o=this._editor.getOption(50),{style:n}=this._editor.getContainerDomNode();n.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),n.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),n.setProperty("--vscode-editorCodeLens-fontFeatureSettings",o.fontFeatureSettings),i&&(n.setProperty("--vscode-editorCodeLens-fontFamily",i),n.setProperty("--vscode-editorCodeLens-fontFamilyDefault",EDITOR_FONT_DEFAULTS.fontFamily)),this._editor.changeViewZones(t=>{for(const i of this._lenses)i.updateHeight(e,t)})}_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 e=this._editor.getModel();if(!e)return;if(!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e))return void(t&&disposableTimeout(()=>{const i=this._codeLensCache.get(e);t===i&&(this._codeLensCache.delete(e),this._onModelChange())},3e4,this._localToDispose));for(const o of this._languageFeaturesService.codeLensProvider.all(e))if("function"==typeof o.onDidChange){const e=o.onDidChange(()=>i.schedule());this._localToDispose.add(e)}const i=new RunOnceScheduler(()=>{const t=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=createCancelablePromise(t=>getCodeLensModel(this._languageFeaturesService.codeLensProvider,e,t)),this._getCodeLensModelPromise.then(o=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=o,this._codeLensCache.put(e,o);const n=this._provideCodeLensDebounce.update(e,Date.now()-t);i.delay=n,this._renderCodeLensSymbols(o),this._resolveCodeLensesInViewportSoon()},onUnexpectedError)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(toDisposable(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{const i=[];let o=-1;this._lenses.forEach(e=>{e.isValid()&&o!==e.getLineNumber()?(e.update(t),o=e.getLineNumber()):i.push(e)});const n=new CodeLensHelper;i.forEach(e=>{e.dispose(n,t),this._lenses.splice(this._lenses.indexOf(e),1)}),n.commit(e)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(toDisposable(()=>{if(this._editor.getModel()){const e=StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{this._disposeAllLenses(e,t)})}),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(e=>{if(9!==e.target.type)return;let t=e.target.element;if("SPAN"===t?.tagName&&(t=t.parentElement),"A"===t?.tagName)for(const i of this._lenses){const e=i.getCommand(t);if(e){this._commandService.executeCommand(e.id,...e.arguments||[]).catch(e=>this._notificationService.error(e));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new CodeLensHelper;for(const o of this._lenses)o.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let o;for(const s of e.lenses){const e=s.symbol.range.startLineNumber;e<1||e>t||(o&&o[o.length-1].symbol.range.startLineNumber===e?o.push(s):(o=[s],i.push(o)))}if(!i.length&&!this._lenses.length)return;const n=StableEditorScrollState.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{const o=new CodeLensHelper;let n=0,s=0;for(;sthis._resolveCodeLensesInViewportSoon())),n++,s++)}for(;nthis._resolveCodeLensesInViewportSoon())),s++;o.commit(e)})}),n.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach(o=>{const n=o.computeIfNecessary(e);n&&(t.push(n),i.push(o))}),0===t.length)return;const o=Date.now(),n=createCancelablePromise(o=>{const n=t.map((t,n)=>{const r=new Array(t.length),s=t.map((t,i)=>t.symbol.command||"function"!=typeof t.provider.resolveCodeLens?(r[i]=t.symbol,Promise.resolve(void 0)):Promise.resolve(t.provider.resolveCodeLens(e,t.symbol,o)).then(e=>{r[i]=e},onUnexpectedExternalError));return Promise.all(s).then(()=>{o.isCancellationRequested||i[n].isDisposed()||i[n].updateCommands(r)})});return Promise.all(n)});this._resolveCodeLensesPromise=n,this._resolveCodeLensesPromise.then(()=>{const t=this._resolveCodeLensesDebounce.update(e,Date.now()-o);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),n===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},e=>{onUnexpectedError(e),n===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,this._currentCodeLensModel?.isDisposed?void 0:this._currentCodeLensModel}};CodeLensContribution=__decorate$1u([__param$1q(1,ILanguageFeaturesService),__param$1q(2,ILanguageFeatureDebounceService),__param$1q(3,ICommandService),__param$1q(4,INotificationService),__param$1q(5,ICodeLensCache)],CodeLensContribution),registerEditorContribution(CodeLensContribution.ID,CodeLensContribution,1),registerEditorAction(class extends EditorAction{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:EditorContextKeys.hasCodeLensProvider,label:localize("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(IQuickInputService),o=e.get(ICommandService),n=e.get(INotificationService),r=t.getSelection().positionLineNumber,s=t.getContribution(CodeLensContribution.ID);if(!s)return;const a=await s.getModel();if(!a)return;const l=[];for(const h of a.lenses)h.symbol.command&&h.symbol.range.startLineNumber===r&&l.push({label:h.symbol.command.title,command:h.symbol.command});if(0===l.length)return;const c=await i.pick(l,{canPickMany:!1,placeHolder:localize("placeHolder","Select a command")});if(!c)return;let d=c.command;if(a.isDisposed){const e=await s.getModel(),t=e?.lenses.find(e=>e.symbol.range.startLineNumber===r&&e.symbol.command?.title===d.title);if(!t||!t.symbol.command)return;d=t.symbol.command}try{await o.executeCommand(d.id,...d.arguments||[])}catch(u){n.error(u)}}});var __decorate$1t=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1p=function(e,t){return function(i,o){t(i,o,e)}};let DefaultDocumentColorProvider=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const o=t.range,n=t.color,r=n.alpha,s=new Color$1(new RGBA$1(Math.round(255*n.red),Math.round(255*n.green),Math.round(255*n.blue),r)),a=r?Color$1.Format.CSS.formatRGB(s):Color$1.Format.CSS.formatRGBA(s),l=r?Color$1.Format.CSS.formatHSL(s):Color$1.Format.CSS.formatHSLA(s),c=r?Color$1.Format.CSS.formatHex(s):Color$1.Format.CSS.formatHexA(s),d=[];return d.push({label:a,textEdit:{range:o,text:a}}),d.push({label:l,textEdit:{range:o,text:l}}),d.push({label:c,textEdit:{range:o,text:c}}),d}};DefaultDocumentColorProvider=__decorate$1t([__param$1p(0,IEditorWorkerService)],DefaultDocumentColorProvider);let DefaultDocumentColorProviderFeature=class extends Disposable{constructor(e,t){super(),this._register(e.colorProvider.register("*",new DefaultDocumentColorProvider(t)))}};async function getColors(e,t,i,o=!0){return _findColorData(new ColorDataCollector,e,t,i,o)}function getColorPresentations(e,t,i,o){return Promise.resolve(i.provideColorPresentations(e,t,o))}DefaultDocumentColorProviderFeature=__decorate$1t([__param$1p(0,ILanguageFeaturesService),__param$1p(1,IEditorWorkerService)],DefaultDocumentColorProviderFeature),registerEditorFeature(DefaultDocumentColorProviderFeature);class ColorDataCollector{constructor(){}async compute(e,t,i,o){const n=await e.provideDocumentColors(t,i);if(Array.isArray(n))for(const r of n)o.push({colorInfo:r,provider:e});return Array.isArray(n)}}class ExtColorDataCollector{constructor(){}async compute(e,t,i,o){const n=await e.provideDocumentColors(t,i);if(Array.isArray(n))for(const r of n)o.push({range:r.range,color:[r.color.red,r.color.green,r.color.blue,r.color.alpha]});return Array.isArray(n)}}class ColorPresentationsCollector{constructor(e){this.colorInfo=e}async compute(e,t,i,o){const n=await e.provideColorPresentations(t,this.colorInfo,CancellationToken.None);return Array.isArray(n)&&o.push(...n),Array.isArray(n)}}async function _findColorData(t,i,o,n,r){let s,a=!1;const l=[],c=i.ordered(o);for(let d=c.length-1;d>=0;d--){const i=c[d];if(i instanceof DefaultDocumentColorProvider)s=i;else try{await t.compute(i,o,n,l)&&(a=!0)}catch(e){onUnexpectedExternalError(e)}}return a?l:s&&r?(await t.compute(s,o,n,l),l):[]}function _setupColorCommand(e,t){const{colorProvider:i}=e.get(ILanguageFeaturesService),o=e.get(IModelService).getModel(t);if(!o)throw illegalArgument();return{model:o,colorProviderRegistry:i,isDefaultColorDecoratorsEnabled:e.get(IConfigurationService).getValue("editor.defaultColorDecorators",{resource:t})}}CommandsRegistry.registerCommand("_executeDocumentColorProvider",function(e,...t){const[i]=t;if(!(i instanceof URI))throw illegalArgument();const{model:o,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:r}=_setupColorCommand(e,i);return _findColorData(new ExtColorDataCollector,n,o,CancellationToken.None,r)}),CommandsRegistry.registerCommand("_executeColorPresentationProvider",function(e,...t){const[i,o]=t,{uri:n,range:r}=o;if(!(n instanceof URI&&Array.isArray(i)&&4===i.length&&Range$2.isIRange(r)))throw illegalArgument();const{model:s,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:l}=_setupColorCommand(e,n),[c,d,u,h]=i;return _findColorData(new ColorPresentationsCollector({range:r,color:{red:c,green:d,blue:u,alpha:h}}),a,s,CancellationToken.None,l)});var __decorate$1s=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1o=function(e,t){return function(i,o){t(i,o,e)}},ColorDetector_1;const ColorDecorationInjectedTextMarker=Object.create({});let ColorDetector=class extends Disposable{static{ColorDetector_1=this}static{this.ID="editor.contrib.colorDetector"}static{this.RECOMPUTE_TIME=1e3}constructor(e,t,i,o){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new DisposableStore),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new DynamicCssRules(this._editor),this._decoratorLimitReporter=new DecoratorLimitReporter,this._colorDecorationClassRefs=this._register(new DisposableStore),this._debounceInformation=o.for(i.colorProvider,"Document Colors",{min:ColorDetector_1.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(e=>{const t=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const i=t!==this._isColorDecoratorsEnabled||e.hasChanged(21),o=e.hasChanged(148);(i||o)&&(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 e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&"object"==typeof i){const e=i.colorDecorators;if(e&&void 0!==e.enable&&!e.enable)return e.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();e&&this._languageFeaturesService.colorProvider.has(e)&&(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new TimeoutTimer,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=createCancelablePromise(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new StopWatch(!1),o=await getColors(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),o});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){onUnexpectedError(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:ModelDecorationOptions.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((t,i)=>this._colorDatas.set(t,e[i]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let n=0;nthis._colorDatas.has(e.id));return 0===i.length?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};ColorDetector=ColorDetector_1=__decorate$1s([__param$1o(1,IConfigurationService),__param$1o(2,ILanguageFeaturesService),__param$1o(3,ILanguageFeatureDebounceService)],ColorDetector);class DecoratorLimitReporter{constructor(){this._onDidChange=new Emitter$1,this._computed=0,this._limited=!1}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}registerEditorContribution(ColorDetector.ID,ColorDetector,1);class ColorPickerModel{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,t,i){this.presentationIndex=i,this._onColorFlushed=new Emitter$1,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Emitter$1,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Emitter$1,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let o=0;o{this.backgroundColor=e.getColor(editorHoverBackground)||Color$1.white})),this._register(addDisposableListener(this._pickedColorNode,EventType$1.CLICK,()=>this.model.selectNextColorPresentation())),this._register(addDisposableListener(this._originalColorNode,EventType$1.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=Color$1.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new CloseButton(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Color$1.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class CloseButton extends Disposable{constructor(e){super(),this._onClicked=this._register(new Emitter$1),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),append$2(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),append$2(this._button,t);append$2(t,$$6(".button"+ThemeIcon.asCSSSelector(registerIcon("color-picker-close",Codicon.close,localize("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(addDisposableListener(this._button,EventType$1.CLICK,()=>{this._onClicked.fire()}))}}class ColorPickerBody extends Disposable{constructor(e,t,i,o=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=$$6(".colorpicker-body"),append$2(e,this._domNode),this._saturationBox=new SaturationBox(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 OpacityStrip(this._domNode,this.model,o),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new HueStrip(this._domNode,this.model,o),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),o&&(this._insertButton=this._register(new InsertButton(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new Color$1(new HSVA(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Color$1(new HSVA(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=360*(1-e);this.model.color=new Color$1(new HSVA(360===i?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class SaturationBox extends Disposable{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Emitter$1,this.onColorFlushed=this._onColorFlushed.event,this._domNode=$$6(".saturation-wrap"),append$2(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",append$2(this._domNode,this._canvas),this.selection=$$6(".saturation-selection"),append$2(this._domNode,this.selection),this.layout(),this._register(addDisposableListener(this._domNode,EventType$1.POINTER_DOWN,e=>this.onPointerDown(e))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!(e.target&&e.target instanceof Element))return;this.monitor=this._register(new GlobalPointerMoveMonitor);const t=getDomNodePagePosition(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top),()=>null);const i=addDisposableListener(e.target.ownerDocument,EventType$1.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),o=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,o),this._onDidChange.fire({s:i,v:o})}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 e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new Color$1(new HSVA(e.h,1,1,1)),i=this._canvas.getContext("2d"),o=i.createLinearGradient(0,0,this._canvas.width,0);o.addColorStop(0,"rgba(255, 255, 255, 1)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),o.addColorStop(1,"rgba(255, 255, 255, 0)");const n=i.createLinearGradient(0,0,0,this._canvas.height);n.addColorStop(0,"rgba(0, 0, 0, 0)"),n.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=Color$1.Format.CSS.format(t),i.fill(),i.fillStyle=o,i.fill(),i.fillStyle=n,i.fill()}paintSelection(e,t){this.selection.style.left=e*this.width+"px",this.selection.style.top=this.height-t*this.height+"px"}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class Strip extends Disposable{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Emitter$1,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=append$2(e,$$6(".standalone-strip")),this.overlay=append$2(this.domNode,$$6(".standalone-overlay"))):(this.domNode=append$2(e,$$6(".strip")),this.overlay=append$2(this.domNode,$$6(".overlay"))),this.slider=append$2(this.domNode,$$6(".slider")),this.slider.style.top="0px",this._register(addDisposableListener(this.domNode,EventType$1.POINTER_DOWN,e=>this.onPointerDown(e))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._register(new GlobalPointerMoveMonitor),i=getDomNodePagePosition(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangeTop(e.pageY-i.top),()=>null);const o=addDisposableListener(e.target.ownerDocument,EventType$1.POINTER_UP,()=>{this._onColorFlushed.fire(),o.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=(1-e)*this.height+"px"}}class OpacityStrip extends Strip{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:o}=e.rgba,n=new Color$1(new RGBA$1(t,i,o,1)),r=new Color$1(new RGBA$1(t,i,o,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class HueStrip extends Strip{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class InsertButton extends Disposable{constructor(e){super(),this._onClicked=this._register(new Emitter$1),this.onClicked=this._onClicked.event,this._button=append$2(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(addDisposableListener(this._button,EventType$1.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class ColorPickerWidget extends Widget$1{constructor(e,t,i,o,n=!1){super(),this.model=t,this.pixelRatio=i,this._register(PixelRatio.getInstance(getWindow$2(e)).onDidChange(()=>this.layout())),this._domNode=$$6(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new ColorPickerHeader(this._domNode,this.model,o,n)),this.body=this._register(new ColorPickerBody(this._domNode,this.model,this.pixelRatio,n))}layout(){this.body.layout()}get domNode(){return this._domNode}}class HoverRangeAnchor{constructor(e,t,i,o){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=o,this.type=1}equals(e){return 1===e.type&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return 1===e.type&&t.lineNumber===this.range.startLineNumber}}class HoverForeignElementAnchor{constructor(e,t,i,o,n,r){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=o,this.initialMousePosY=n,this.supportsMarkerHover=r,this.type=2}equals(e){return 2===e.type&&this.owner===e.owner}canAdoptVisibleHover(e,t){return 2===e.type&&this.owner===e.owner}}class RenderedHoverParts{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const HoverParticipantRegistry=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var __decorate$1r=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1n=function(e,t){return function(i,o){t(i,o,e)}};class ColorHover{constructor(e,t,i,o){this.owner=e,this.range=t,this.model=i,this.provider=o,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let ColorHoverParticipant=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return AsyncIterableObject.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const o=ColorDetector.get(this._editor);if(!o)return[];for(const n of t){if(!o.isColorDecoration(n))continue;const e=o.getColorData(n.range.getStartPosition());if(e){return[await _createColorHover(this,this._editor.getModel(),e.colorInfo,e.provider)]}}return[]}renderHoverParts(e,t){const i=renderHoverParts(this,this._editor,this._themeService,t,e);if(!i)return new RenderedHoverParts([]);this._colorPicker=i.colorPicker;const o={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new RenderedHoverParts([o])}handleResize(){this._colorPicker?.layout()}isColorPickerVisible(){return!!this._colorPicker}};ColorHoverParticipant=__decorate$1r([__param$1n(1,IThemeService)],ColorHoverParticipant);class StandaloneColorPickerHover{constructor(e,t,i,o){this.owner=e,this.range=t,this.model=i,this.provider=o}}let StandaloneColorPickerParticipant=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel())return null;if(!ColorDetector.get(this._editor))return null;const o=await getColors(i,this._editor.getModel(),CancellationToken.None);let n=null,r=null;for(const c of o){const t=c.colorInfo;Range$2.containsRange(t.range,e.range)&&(n=t,r=c.provider)}const s=n??e,a=r??t,l=!!n;return{colorHover:await _createColorHover(this,this._editor.getModel(),s,a),foundInEditor:l}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new Range$2(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await _updateColorPresentations(this._editor.getModel(),t,this._color,i,e),i=_updateEditorModel(this._editor,i,t))}renderHoverParts(e,t){return renderHoverParts(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};async function _createColorHover(e,t,i,o){const n=t.getValueInRange(i.range),{red:r,green:s,blue:a,alpha:l}=i.color,c=new RGBA$1(Math.round(255*r),Math.round(255*s),Math.round(255*a),l),d=new Color$1(c),u=await getColorPresentations(t,i,o,CancellationToken.None),h=new ColorPickerModel(d,[],0);return h.colorPresentations=u||[],h.guessColorPresentation(d,n),e instanceof ColorHoverParticipant?new ColorHover(e,Range$2.lift(i.range),h,o):new StandaloneColorPickerHover(e,Range$2.lift(i.range),h,o)}function renderHoverParts(e,t,i,o,n){if(0===o.length||!t.hasModel())return;if(n.setMinimumDimensions){const e=t.getOption(67)+8;n.setMinimumDimensions(new Dimension(302,e))}const r=new DisposableStore,s=o[0],a=t.getModel(),l=s.model,c=r.add(new ColorPickerWidget(n.fragment,l,t.getOption(144),i,e instanceof StandaloneColorPickerParticipant));let d=!1,u=new Range$2(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn);if(e instanceof StandaloneColorPickerParticipant){const t=s.model.color;e.color=t,_updateColorPresentations(a,l,t,u,s),r.add(l.onColorFlushed(t=>{e.color=t}))}else r.add(l.onColorFlushed(async e=>{await _updateColorPresentations(a,l,e,u,s),d=!0,u=_updateEditorModel(t,u,l)}));return r.add(l.onDidChangeColor(e=>{_updateColorPresentations(a,l,e,u,s)})),r.add(t.onDidChangeModelContent(e=>{d?d=!1:(n.hide(),t.focus())})),{hoverPart:s,colorPicker:c,disposables:r}}function _updateEditorModel(e,t,i){const o=[],n=i.presentation.textEdit??{range:t,text:i.presentation.label,forceMoveMarkers:!1};o.push(n),i.presentation.additionalTextEdits&&o.push(...i.presentation.additionalTextEdits);const r=Range$2.lift(n.range),s=e.getModel()._setTrackedRange(null,r,3);return e.executeEdits("colorpicker",o),e.pushUndoStop(),e.getModel()._getTrackedRange(s)??r}async function _updateColorPresentations(e,t,i,o,n){const r=await getColorPresentations(e,{range:o,color:{red:i.rgba.r/255,green:i.rgba.g/255,blue:i.rgba.b/255,alpha:i.rgba.a}},n.provider,CancellationToken.None);t.colorPresentations=r||[]}StandaloneColorPickerParticipant=__decorate$1r([__param$1n(1,IThemeService)],StandaloneColorPickerParticipant);const SHOW_OR_FOCUS_HOVER_ACTION_ID="editor.action.showHover",SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID="editor.action.showDefinitionPreviewHover",SCROLL_UP_HOVER_ACTION_ID="editor.action.scrollUpHover",SCROLL_DOWN_HOVER_ACTION_ID="editor.action.scrollDownHover",SCROLL_LEFT_HOVER_ACTION_ID="editor.action.scrollLeftHover",SCROLL_RIGHT_HOVER_ACTION_ID="editor.action.scrollRightHover",PAGE_UP_HOVER_ACTION_ID="editor.action.pageUpHover",PAGE_DOWN_HOVER_ACTION_ID="editor.action.pageDownHover",GO_TO_TOP_HOVER_ACTION_ID="editor.action.goToTopHover",GO_TO_BOTTOM_HOVER_ACTION_ID="editor.action.goToBottomHover",INCREASE_HOVER_VERBOSITY_ACTION_ID="editor.action.increaseHoverVerbosityLevel",INCREASE_HOVER_VERBOSITY_ACTION_LABEL=localize({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),DECREASE_HOVER_VERBOSITY_ACTION_ID="editor.action.decreaseHoverVerbosityLevel",DECREASE_HOVER_VERBOSITY_ACTION_LABEL=localize({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),inlineSuggestCommitId="editor.action.inlineSuggest.commit",showPreviousInlineSuggestionActionId="editor.action.inlineSuggest.showPrevious",showNextInlineSuggestionActionId="editor.action.inlineSuggest.showNext";var __decorate$1q=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1m=function(e,t){return function(i,o){t(i,o,e)}},InlineSuggestionHintsContentWidget_1;let InlineCompletionsHintsWidget=class extends Disposable{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>"always"===this.editor.getOption(62).showToolbar),this.sessionPosition=void 0,this.position=derived(this,e=>{const t=this.model.read(e)?.primaryGhostText.read(e);if(!this.alwaysShowToolbar.read(e)||!t||0===t.parts.length)return this.sessionPosition=void 0,null;const i=t.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==t.lineNumber&&(this.sessionPosition=void 0);const o=new Position$1(t.lineNumber,Math.min(i,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=o,o}),this._register(autorunWithStore((t,i)=>{const o=this.model.read(t);if(!o||!this.alwaysShowToolbar.read(t))return;const n=derivedWithStore((t,i)=>{const n=i.add(this.instantiationService.createInstance(InlineSuggestionHintsContentWidget,this.editor,!0,this.position,o.selectedInlineCompletionIndex,o.inlineCompletionsCount,o.activeCommands));return e.addContentWidget(n),i.add(toDisposable(()=>e.removeContentWidget(n))),i.add(autorun(e=>{this.position.read(e)&&o.lastTriggerKind.read(e)!==InlineCompletionTriggerKind$1.Explicit&&o.triggerExplicitly()})),n}),r=derivedObservableWithCache(this,(e,t)=>!!this.position.read(e)||!!t);i.add(autorun(e=>{r.read(e)&&n.read(e)}))}))}};InlineCompletionsHintsWidget=__decorate$1q([__param$1m(2,IInstantiationService)],InlineCompletionsHintsWidget);const inlineSuggestionHintsNextIcon=registerIcon("inline-suggestion-hints-next",Codicon.chevronRight,localize("parameterHintsNextIcon","Icon for show next parameter hint.")),inlineSuggestionHintsPreviousIcon=registerIcon("inline-suggestion-hints-previous",Codicon.chevronLeft,localize("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let InlineSuggestionHintsContentWidget=class extends Disposable{static{InlineSuggestionHintsContentWidget_1=this}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(e,t,i){const o=new Action(e,t,i,!0,()=>this._commandService.executeCommand(e)),n=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return n&&(r=localize({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,n.getLabel())),o.tooltip=r,o}constructor(e,t,i,o,n,r,s,a,l,c,d){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=o,this._suggestionCount=n,this._extraCommands=r,this._commandService=s,this.keybindingService=l,this._contextKeyService=c,this._menuService=d,this.id="InlineSuggestionHintsContentWidget"+InlineSuggestionHintsContentWidget_1.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=h$1("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[h$1("div@toolBar")]),this.previousAction=this.createCommandAction(showPreviousInlineSuggestionActionId,localize("previous","Previous"),ThemeIcon.asClassName(inlineSuggestionHintsPreviousIcon)),this.availableSuggestionCountAction=new Action("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(showNextInlineSuggestionActionId,localize("next","Next"),ThemeIcon.asClassName(inlineSuggestionHintsNextIcon)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(MenuId.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new RunOnceScheduler(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new RunOnceScheduler(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(a.createInstance(CustomizedMenuWorkbenchToolBar$1,this.nodes.toolBar,MenuId.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof MenuItemAction)return a.createInstance(StatusBarViewItem$1,e,void 0);if(e===this.availableSuggestionCountAction){const t=new ActionViewItemWithClassName(void 0,e,{label:!0,icon:!1});return t.setClass("availableSuggestionCount"),t}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(e=>{InlineSuggestionHintsContentWidget_1._dropDownVisible=e})),this._register(autorun(e=>{this._position.read(e),this.editor.layoutContentWidget(this)})),this._register(autorun(e=>{const t=this._suggestionCount.read(e),i=this._currentSuggestionIdx.read(e);void 0!==t?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${i+1}/${t}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==t&&t>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(autorun(e=>{const t=this._extraCommands.read(e).map(e=>({class:void 0,id:e.id,enabled:!0,tooltip:e.tooltip||"",label:e.title,run:t=>this._commandService.executeCommand(e.id)}));for(const[i,o]of this.inlineCompletionsActionsMenus.getActions())for(const e of o)e instanceof MenuItemAction&&t.push(e);t.length>0&&t.unshift(new Separator),this.toolBar.setAdditionalSecondaryActions(t)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};InlineSuggestionHintsContentWidget=InlineSuggestionHintsContentWidget_1=__decorate$1q([__param$1m(6,ICommandService),__param$1m(7,IInstantiationService),__param$1m(8,IKeybindingService),__param$1m(9,IContextKeyService),__param$1m(10,IMenuService)],InlineSuggestionHintsContentWidget);class ActionViewItemWithClassName extends ActionViewItem{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}let StatusBarViewItem$1=class extends MenuEntryActionViewItem{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=h$1("div.keybinding").root;this._register(new KeybindingLabel(t,OS,{disableTitle:!0,...unthemedKeybindingLabelOptions})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},CustomizedMenuWorkbenchToolBar$1=class extends WorkbenchToolBar{constructor(e,t,i,o,n,r,s,a,l){super(e,{resetMenu:t,...i},o,n,r,s,a,l),this.menuId=t,this.options2=i,this.menuService=o,this.contextKeyService=n,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){const e=[],t=[];createAndFillInActionBarActions(this.menu,this.options2?.menuOptions,{primary:e,secondary:t},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){equals$2(this.prependedPrimaryActions,e,(e,t)=>e===t)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){equals$2(this.additionalActions,e,(e,t)=>e===t)||(this.additionalActions=e,this.updateToolbar())}};function isMousePositionWithinElement(e,t,i){const o=getDomNodePagePosition(e);return!(to.left+o.width||io.top+o.height)}CustomizedMenuWorkbenchToolBar$1=__decorate$1q([__param$1m(3,IMenuService),__param$1m(4,IContextKeyService),__param$1m(5,IContextMenuService),__param$1m(6,IKeybindingService),__param$1m(7,ICommandService),__param$1m(8,ITelemetryService)],CustomizedMenuWorkbenchToolBar$1);let HoverResult$1=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class HoverOperation extends Disposable{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Emitter$1),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new RunOnceScheduler(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new RunOnceScheduler(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new 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(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=createCancelableAsyncIterable(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(e){onUnexpectedError(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const e=0===this._state,t=4===this._state;this._onResult.fire(new HoverResult$1(this._result.slice(0),e,t))}start(e){if(0===e)0===this._state&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class ResizableHTMLElement{constructor(){let e;this._onDidWillResize=new Emitter$1,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Emitter$1,this.onDidResize=this._onDidResize.event,this._sashListener=new DisposableStore,this._size=new Dimension(0,0),this._minSize=new Dimension(0,0),this._maxSize=new Dimension(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Sash(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Sash(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Sash(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:OrthogonalEdge.North}),this._southSash=new Sash(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:OrthogonalEdge.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let t=0,i=0;this._sashListener.add(Event$1.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{void 0===e&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(Event$1.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{void 0!==e&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(o=>{e&&(i=o.currentX-o.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(o=>{e&&(i=-(o.currentX-o.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(o=>{e&&(t=-(o.currentY-o.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(o=>{e&&(t=o.currentY-o.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(Event$1.any(this._eastSash.onDidReset,this._westSash.onDidReset)(e=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(Event$1.any(this._northSash.onDidReset,this._southSash.onDidReset)(e=>{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(e,t,i,o){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=o?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:o}=this._minSize,{height:n,width:r}=this._maxSize;e=Math.max(i,Math.min(n,e)),t=Math.max(o,Math.min(r,t));const s=new Dimension(t,e);Dimension.equals(s,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=s,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(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}const TOP_HEIGHT=30,BOTTOM_HEIGHT=24;class ResizableContentWidget extends Disposable{constructor(e,t=new Dimension(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new ResizableHTMLElement),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Dimension.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(e=>{this._resize(new Dimension(e.dimension.width,e.dimension.height)),e.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?Position$1.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;return getDomNodePagePosition(t).top+i.top-TOP_HEIGHT}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const o=getDomNodePagePosition(t),n=getClientArea(t.ownerDocument.body),r=o.top+i.top+i.height;return n.height-r-BOTTOM_HEIGHT}_findPositionPreference(e,t){const i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),o=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),n=Math.min(Math.max(o,i),e),r=Math.min(e,n);let s;return s=this._editor.getOption(60).above?r<=o?1:2:r<=i?2:1,1===s?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),s}_resize(e){this._resizableNode.layout(e.height,e.width)}}var __decorate$1p=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1l=function(e,t){return function(i,o){t(i,o,e)}},ContentHoverWidget_1;const HORIZONTAL_SCROLLING_BY=30,CONTAINER_HEIGHT_PADDING=6;let ContentHoverWidget=class extends ResizableContentWidget{static{ContentHoverWidget_1=this}static{this.ID="editor.contrib.resizableContentHoverWidget"}static{this._lastDimensions=new Dimension(0,0)}get isVisibleFromKeyboard(){return 1===this._renderedHover?.source}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,o,n){const r=e.getOption(67)+8,s=new Dimension(150,r);super(e,s),this._configurationService=i,this._accessibilityService=o,this._keybindingService=n,this._hover=this._register(new HoverWidget$1),this._onDidResize=this._register(new Emitter$1),this.onDidResize=this._onDidResize.event,this._minimumSize=s,this._hoverVisibleKey=EditorContextKeys.hoverVisible.bindTo(t),this._hoverFocusedKey=EditorContextKeys.hoverFocused.bindTo(t),append$2(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(e=>{e.hasChanged(50)&&this._updateFont()}));const a=this._register(trackFocus(this._resizableNode.domNode));this._register(a.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(a.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 ContentHoverWidget_1.ID}static _applyDimensions(e,t,i){const o="number"==typeof t?`${t}px`:t,n="number"==typeof i?`${i}px`:i;e.style.width=o,e.style.height=n}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return ContentHoverWidget_1._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ContentHoverWidget_1._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const o="number"==typeof t?`${t}px`:t,n="number"==typeof i?`${i}px`:i;e.style.maxWidth=o,e.style.maxHeight=n}_setHoverWidgetMaxDimensions(e,t){ContentHoverWidget_1._applyMaxDimensions(this._hover.contentsDomNode,e,t),ContentHoverWidget_1._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof e?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i)}_updateResizableNodeMaxDimensions(){const e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new Dimension(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ContentHoverWidget_1._lastDimensions=new Dimension(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){const e=this._renderedHover?.showAtPosition;if(e)return 1===this._positionPreference?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=CONTAINER_HEIGHT_PADDING;return Array.from(this._hover.contentsDomNode.children).forEach(e=>{t+=e.clientHeight}),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some(e=>e.scrollWidth>e.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=void 0===this._contentWidth?0:this._contentWidth-2;if(e||this._hover.containerDomNode.clientWidththis._renderedHover.closestMouseDistance+4)&&(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,o),!0)}_setRenderedHover(e){this._renderedHover?.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=""+t/e;Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(e=>this._editor.applyFontInfo(e))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,ContentHoverWidget_1._lastDimensions.height),t=Math.max(.66*this._editor.getLayoutInfo().width,500,ContentHoverWidget_1._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.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(e){if(!this._editor||!this._editor.hasModel())return;this._render(e);const t=getTotalHeight(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,i)??1,this.onContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const o=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&getHoverAccessibleViewHint(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel()??"");o&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+o)}hide(){if(!this._renderedHover)return;const e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new Dimension(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}setMinimumDimensions(e){this._minimumSize=new Dimension(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Dimension(e,this._minimumSize.height)}onContentsChanged(){this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=getTotalHeight(e),i=getTotalWidth(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=getTotalHeight(e),i=getTotalWidth(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),this._renderedHover?.showAtPosition){const e=getTotalHeight(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(e,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-HORIZONTAL_SCROLLING_BY})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+HORIZONTAL_SCROLLING_BY})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};function computeDistanceFromPointToRectangle(e,t,i,o,n,r){const s=i+n/2,a=o+r/2,l=Math.max(Math.abs(e-s)-n/2,0),c=Math.max(Math.abs(t-a)-r/2,0);return Math.sqrt(l*l+c*c)}ContentHoverWidget=ContentHoverWidget_1=__decorate$1p([__param$1l(1,IContextKeyService),__param$1l(2,IConfigurationService),__param$1l(3,IAccessibilityService),__param$1l(4,IKeybindingService)],ContentHoverWidget);class ContentHoverComputer{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(1!==t.type&&!t.supportsMarkerHover)return[];const i=e.getModel(),o=t.range.startLineNumber;if(o>i.getLineCount())return[];const n=i.getLineMaxColumn(o);return e.getLineDecorations(o).filter(e=>{if(e.options.isWholeLine)return!0;const i=e.range.startLineNumber===o?e.range.startColumn:1,r=e.range.endLineNumber===o?e.range.endColumn:n;if(e.options.showIfCollapsed){if(i>t.range.startColumn+1||t.range.endColumn-1>r)return!1}else if(i>t.range.startColumn||t.range.endColumn>r)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return AsyncIterableObject.EMPTY;const i=ContentHoverComputer._getLineDecorations(this._editor,t);return AsyncIterableObject.merge(this._participants.map(o=>o.computeAsync?o.computeAsync(t,i,e):AsyncIterableObject.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=ContentHoverComputer._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return coalesce(t)}}class HoverResult{constructor(e,t,i){this.anchor=e,this.hoverParts=t,this.isComplete=i}filter(e){const t=this.hoverParts.filter(t=>t.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new FilteredHoverResult(this,this.anchor,t,this.isComplete)}}class FilteredHoverResult extends HoverResult{constructor(e,t,i,o){super(t,i,o),this.original=e}filter(e){return this.original.filter(e)}}var __decorate$1o=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1k=function(e,t){return function(i,o){t(i,o,e)}};const $$5=$$f;let EditorHoverStatusBar=class extends Disposable{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=$$5("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=append$2(this.hoverElement,$$5("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const o=this._register(HoverAction.render(this.actionsElement,e,i));return this.actions.push(o),o}append(e){const t=append$2(this.actionsElement,e);return this._hasContent=!0,t}};EditorHoverStatusBar=__decorate$1o([__param$1k(0,IKeybindingService)],EditorHoverStatusBar);class HoverProviderResult{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function executeProvider(e,t,i,o,n){const r=await Promise.resolve(e.provideHover(i,o,n)).catch(onUnexpectedExternalError);if(r&&isValid(r))return new HoverProviderResult(e,r,t)}function getHoverProviderResultsAsAsyncIterable(e,t,i,o,n=!1){const r=e.ordered(t,n).map((e,n)=>executeProvider(e,n,t,i,o));return AsyncIterableObject.fromPromises(r).coalesce()}function getHoversPromise(e,t,i,o,n=!1){return getHoverProviderResultsAsAsyncIterable(e,t,i,o,n).map(e=>e.hover).toPromise()}function isValid(e){const t=void 0!==e.range,i=void 0!==e.contents&&e.contents&&e.contents.length>0;return t&&i}registerModelAndPositionCommand("_executeHoverProvider",(e,t,i)=>getHoversPromise(e.get(ILanguageFeaturesService).hoverProvider,t,i,CancellationToken.None)),registerModelAndPositionCommand("_executeHoverProvider_recursive",(e,t,i)=>getHoversPromise(e.get(ILanguageFeaturesService).hoverProvider,t,i,CancellationToken.None,!0));var __decorate$1n=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1j=function(e,t){return function(i,o){t(i,o,e)}};const $$4=$$f,increaseHoverVerbosityIcon=registerIcon("hover-increase-verbosity",Codicon.add,localize("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),decreaseHoverVerbosityIcon=registerIcon("hover-decrease-verbosity",Codicon.remove,localize("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class MarkdownHover{constructor(e,t,i,o,n,r=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=o,this.ordinal=n,this.source=r}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}class HoverSource{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case HoverVerbosityAction$1.Increase:return this.hover.canIncreaseVerbosity??!1;case HoverVerbosityAction$1.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let MarkdownHoverParticipant=class{constructor(e,t,i,o,n,r,s,a){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=o,this._languageFeaturesService=n,this._keybindingService=r,this._hoverService=s,this._commandService=a,this.hoverOrdinal=3}createLoadingMessage(e){return new MarkdownHover(this,e.range,[(new MarkdownString).appendText(localize("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),o=e.range.startLineNumber,n=i.getLineMaxColumn(o),r=[];let s=1e3;const a=i.getLineLength(o),l=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),c=this._editor.getOption(118),d=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:l});let u=!1;c>=0&&a>c&&e.range.startColumn>=c&&(u=!0,r.push(new MarkdownHover(this,e.range,[{value:localize("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,s++))),!u&&"number"==typeof d&&a>=d&&r.push(new MarkdownHover(this,e.range,[{value:localize("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,s++));let h=!1;for(const p of t){const t=p.range.startLineNumber===o?p.range.startColumn:1,i=p.range.endLineNumber===o?p.range.endColumn:n,a=p.options.hoverMessage;if(!a||isEmptyMarkdownString(a))continue;p.options.beforeContentClassName&&(h=!0);const l=new Range$2(e.range.startLineNumber,t,e.range.startLineNumber,i);r.push(new MarkdownHover(this,l,asArray(a),h,s++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||1!==e.type)return AsyncIterableObject.EMPTY;const o=this._editor.getModel(),n=this._languageFeaturesService.hoverProvider;if(!n.has(o))return AsyncIterableObject.EMPTY;return this._getMarkdownHovers(n,o,e,i)}_getMarkdownHovers(e,t,i,o){const n=i.range.getStartPosition(),r=getHoverProviderResultsAsAsyncIterable(e,t,n,o).filter(e=>!isEmptyMarkdownString(e.hover.contents)).map(e=>{const t=e.hover.range?Range$2.lift(e.hover.range):i.range,o=new HoverSource(e.hover,e.provider,n);return new MarkdownHover(this,t,e.hover.contents,!1,e.ordinal,o)});return r}renderHoverParts(e,t){return this._renderedHoverParts=new MarkdownRenderedHoverParts(t,e.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(e,t,i){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(e,t,i))}};MarkdownHoverParticipant=__decorate$1n([__param$1j(1,ILanguageService),__param$1j(2,IOpenerService),__param$1j(3,IConfigurationService),__param$1j(4,ILanguageFeaturesService),__param$1j(5,IKeybindingService),__param$1j(6,IHoverService),__param$1j(7,ICommandService)],MarkdownHoverParticipant);class RenderedMarkdownHoverPart{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class MarkdownRenderedHoverParts{constructor(e,t,i,o,n,r,s,a,l,c,d){this._hoverParticipant=i,this._editor=o,this._languageService=n,this._openerService=r,this._commandService=s,this._keybindingService=a,this._hoverService=l,this._configurationService=c,this._onFinishedRendering=d,this._ongoingHoverOperations=new Map,this._disposables=new DisposableStore,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(toDisposable(()=>{this.renderedHoverParts.forEach(e=>{e.dispose()}),this._ongoingHoverOperations.forEach(e=>{e.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(compareBy(e=>e.ordinal,numberComparator)),e.map(e=>{const o=this._renderHoverPart(e,i);return t.appendChild(o.hoverElement),o})}_renderHoverPart(e,t){const i=this._renderMarkdownHover(e,t),o=i.hoverElement,n=e.source,r=new DisposableStore;if(r.add(i),!n)return new RenderedMarkdownHoverPart(e,o,r);const s=n.supportsVerbosityAction(HoverVerbosityAction$1.Increase),a=n.supportsVerbosityAction(HoverVerbosityAction$1.Decrease);if(!s&&!a)return new RenderedMarkdownHoverPart(e,o,r);const l=$$4("div.verbosity-actions");return o.prepend(l),r.add(this._renderHoverExpansionAction(l,HoverVerbosityAction$1.Increase,s)),r.add(this._renderHoverExpansionAction(l,HoverVerbosityAction$1.Decrease,a)),new RenderedMarkdownHoverPart(e,o,r)}_renderMarkdownHover(e,t){return renderMarkdownInContainer(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const o=new DisposableStore,n=t===HoverVerbosityAction$1.Increase,r=append$2(e,$$4(ThemeIcon.asCSSSelector(n?increaseHoverVerbosityIcon:decreaseHoverVerbosityIcon)));r.tabIndex=0;const s=new WorkbenchHoverDelegate("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(o.add(this._hoverService.setupManagedHover(s,r,labelForHoverVerbosityAction(this._keybindingService,t))),!i)return r.classList.add("disabled"),o;r.classList.add("enabled");const a=()=>this._commandService.executeCommand(t===HoverVerbosityAction$1.Increase?INCREASE_HOVER_VERBOSITY_ACTION_ID:DECREASE_HOVER_VERBOSITY_ACTION_ID);return o.add(new ClickAction(r,a)),o.add(new KeyDownAction(r,a,[3,10])),o}async updateMarkdownHoverPartVerbosityLevel(e,t,i=!0){const o=this._editor.getModel();if(!o)return;const n=this._getRenderedHoverPartAtIndex(t),r=n?.hoverPart.source;if(!n||!r?.supportsVerbosityAction(e))return;const s=await this._fetchHover(r,o,e);if(!s)return;const a=new HoverSource(s,r.hoverProvider,r.hoverPosition),l=n.hoverPart,c=new MarkdownHover(this._hoverParticipant,l.range,s.contents,l.isBeforeContent,l.ordinal,a),d=this._renderHoverPart(c,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,d,c),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:c,hoverElement:d.hoverElement}}async _fetchHover(t,i,o){let n=o===HoverVerbosityAction$1.Increase?1:-1;const r=t.hoverProvider,s=this._ongoingHoverOperations.get(r);s&&(s.tokenSource.cancel(),n+=s.verbosityDelta);const a=new CancellationTokenSource$1;this._ongoingHoverOperations.set(r,{verbosityDelta:n,tokenSource:a});const l={verbosityRequest:{verbosityDelta:n,previousHover:t.hover}};let c;try{c=await Promise.resolve(r.provideHover(i,t.hoverPosition,a.token,l))}catch(e){onUnexpectedExternalError(e)}return a.dispose(),this._ongoingHoverOperations.delete(r),c}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const o=this.renderedHoverParts[e],n=o.hoverElement,r=t.hoverElement,s=Array.from(r.children);n.replaceChildren(...s);const a=new RenderedMarkdownHoverPart(i,n,t.disposables);n.focus(),o.dispose(),this.renderedHoverParts[e]=a}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function renderMarkdownHovers(e,t,i,o,n){t.sort(compareBy(e=>e.ordinal,numberComparator));const r=[];for(const s of t)r.push(renderMarkdownInContainer(i,s,o,n,e.onContentsChanged));return new RenderedHoverParts(r)}function renderMarkdownInContainer(e,t,i,o,n){const r=new DisposableStore,s=$$4("div.hover-row"),a=$$4("div.hover-row-contents");s.appendChild(a);const l=t.contents;for(const c of l){if(isEmptyMarkdownString(c))continue;const t=$$4("div.markdown-hover"),s=append$2(t,$$4("div.hover-contents")),l=r.add(new MarkdownRenderer({editor:e},i,o));r.add(l.onDidRenderAsync(()=>{s.className="hover-contents code-hover-contents",n()}));const d=r.add(l.render(c));s.appendChild(d.element),a.appendChild(t)}return{hoverPart:t,hoverElement:s,dispose(){r.dispose()}}}function labelForHoverVerbosityAction(e,t){switch(t){case HoverVerbosityAction$1.Increase:{const t=e.lookupKeybinding(INCREASE_HOVER_VERBOSITY_ACTION_ID);return t?localize("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):localize("increaseVerbosity","Increase Hover Verbosity")}case HoverVerbosityAction$1.Decrease:{const t=e.lookupKeybinding(DECREASE_HOVER_VERBOSITY_ACTION_ID);return t?localize("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):localize("decreaseVerbosity","Decrease Hover Verbosity")}}}function hasModifier(e,t){return!!e[t]}class ClickLinkMouseEvent{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=hasModifier(e.event,t.triggerModifier),this.hasSideBySideModifier=hasModifier(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class ClickLinkKeyboardEvent{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=hasModifier(e,t.triggerModifier)}}class ClickLinkOptions{constructor(e,t,i,o){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=o}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function createOptions(e){return"altKey"===e?isMacintosh?new ClickLinkOptions(57,"metaKey",6,"altKey"):new ClickLinkOptions(5,"ctrlKey",6,"altKey"):isMacintosh?new ClickLinkOptions(6,"altKey",57,"metaKey"):new ClickLinkOptions(6,"altKey",5,"ctrlKey")}class ClickLinkGesture extends Disposable{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Emitter$1),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Emitter$1),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Emitter$1),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(e=>e.target.position?e.target.position.lineNumber:0),this._opts=createOptions(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(e=>{if(e.hasChanged(78)){const e=createOptions(this._editor.getOption(78));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(e=>this._onEditorMouseMove(new ClickLinkMouseEvent(e,this._opts)))),this._register(this._editor.onMouseDown(e=>this._onEditorMouseDown(new ClickLinkMouseEvent(e,this._opts)))),this._register(this._editor.onMouseUp(e=>this._onEditorMouseUp(new ClickLinkMouseEvent(e,this._opts)))),this._register(this._editor.onKeyDown(e=>this._onEditorKeyDown(new ClickLinkKeyboardEvent(e,this._opts)))),this._register(this._editor.onKeyUp(e=>this._onEditorKeyUp(new ClickLinkKeyboardEvent(e,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(e=>this._onDidChangeCursorSelection(e))),this._register(this._editor.onDidChangeModel(e=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(e=>{(e.scrollTopChanged||e.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class InlayHintAnchor{constructor(e,t){this.range=e,this.direction=t}}class InlayHintItem{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new InlayHintItem(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,e.isCancellationRequested)return;return this.resolve(e)}this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{const t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=t?.tooltip??this.hint.tooltip,this.hint.label=t?.label??this.hint.label,this.hint.textEdits=t?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(t){onUnexpectedExternalError(t),this._isResolved=!1}}}class InlayHintsFragments{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(e,t,i,o){const n=[],r=e.ordered(t).reverse().map(e=>i.map(async i=>{try{const r=await e.provideInlayHints(t,i,o);(r?.hints.length||e.onDidChangeInlayHints)&&n.push([r??InlayHintsFragments._emptyInlayHintList,e])}catch(r){onUnexpectedExternalError(r)}}));if(await Promise.all(r.flat()),o.isCancellationRequested||t.isDisposed())throw new CancellationError;return new InlayHintsFragments(i,n,t)}constructor(e,t,i){this._disposables=new DisposableStore,this.ranges=e,this.provider=new Set;const o=[];for(const[n,r]of t){this._disposables.add(n),this.provider.add(r);for(const e of n.hints){const t=i.validatePosition(e.position);let n="before";const s=InlayHintsFragments._getRangeAtPosition(i,t);let a;s.getStartPosition().isBefore(t)?(a=Range$2.fromPositions(s.getStartPosition(),t),n="after"):(a=Range$2.fromPositions(t,s.getEndPosition()),n="before"),o.push(new InlayHintItem(e,new InlayHintAnchor(a,n),r))}}this.items=o.sort((e,t)=>Position$1.compare(e.hint.position,t.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,o=e.getWordAtPosition(t);if(o)return new Range$2(i,o.startColumn,i,o.endColumn);e.tokenization.tokenizeIfCheap(i);const n=e.tokenization.getLineTokens(i),r=t.column-1,s=n.findTokenIndexAtOffset(r);let a=n.getStartOffset(s),l=n.getEndOffset(s);return l-a===1&&(a===r&&s>1?(a=n.getStartOffset(s-1),l=n.getEndOffset(s-1)):l===r&&s=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1i=function(e,t){return function(i,o){t(i,o,e)}};let EmbeddedCodeEditorWidget=class extends CodeEditorWidget{constructor(e,t,i,o,n,r,s,a,l,c,d,u,h){super(e,{...o.getRawOptions(),overflowWidgetsDomNode:o.getOverflowWidgetsDomNode()},i,n,r,s,a,l,c,d,u,h),this._parentEditor=o,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(o.onDidChangeConfiguration(e=>this._onParentConfigurationChanged(e)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){mixin(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};EmbeddedCodeEditorWidget=__decorate$1m([__param$1i(4,IInstantiationService),__param$1i(5,ICodeEditorService),__param$1i(6,ICommandService),__param$1i(7,IContextKeyService),__param$1i(8,IThemeService),__param$1i(9,INotificationService),__param$1i(10,IAccessibilityService),__param$1i(11,ILanguageConfigurationService),__param$1i(12,ILanguageFeaturesService)],EmbeddedCodeEditorWidget);const defaultColor=new Color$1(new RGBA$1(0,122,204)),defaultOptions$3={showArrow:!0,showFrame:!0,className:"",frameColor:defaultColor,arrowColor:defaultColor,keepEditorSelection:!1},WIDGET_ID="vs.editor.contrib.zoneWidget";class ViewZoneDelegate{constructor(e,t,i,o,n,r,s,a){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=o,this.showInHiddenAreas=s,this.ordinal=a,this._onDomNodeTop=n,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class OverlayWidgetDelegate{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class Arrow{static{this._IdGenerator=new IdGenerator(".arrow-decoration-")}constructor(e){this._editor=e,this._ruleName=Arrow._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),removeCSSRulesContainingSelector(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){removeCSSRulesContainingSelector(this._ruleName),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(e){1===e.column&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:Range$2.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}class ZoneWidget{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new DisposableStore,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=deepClone(t),mixin(this.options,defaultOptions$3,!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(e=>{const t=this._getWidth(e);this.domNode.style.width=t+"px",this.domNode.style.left=this._getLeft(e)+"px",this._onWidth(t)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.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 Arrow(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){if(this.domNode.style.height=`${e}px`,this.container){const t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;const i=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(i))}this._resizeSash?.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=Range$2.isIRange(e)?Range$2.lift(e):Range$2.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:ModelDecorationOptions.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones(e=>{this._viewZone&&e.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 e=this.editor.getOption(67);let t=0;if(this.options.showArrow){t+=2*Math.round(e/3)}if(this.options.showFrame){t+=2*Math.round(e/9)}return t}_showImpl(e,t){const i=e.getStartPosition(),o=this.editor.getLayoutInfo(),n=this._getWidth(o);this.domNode.style.width=`${n}px`,this.domNode.style.left=this._getLeft(o)+"px";const r=document.createElement("div");r.style.overflow="hidden";const s=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const e=Math.max(12,this.editor.getLayoutInfo().height/s*.8);t=Math.min(t,e)}let a=0,l=0;if(this._arrow&&this.options.showArrow&&(a=Math.round(s/3),this._arrow.height=a,this._arrow.show(i)),this.options.showFrame&&(l=Math.round(s/9)),this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new ViewZoneDelegate(r,i.lineNumber,i.column,t,e=>this._onViewZoneTop(e),e=>this._onViewZoneHeight(e),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new OverlayWidgetDelegate(WIDGET_ID+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const e=this.options.frameWidth?this.options.frameWidth:l;this.container.style.borderTopWidth=e+"px",this.container.style.borderBottomWidth=e+"px"}const c=t*s-this._decoratingElementsHeight();this.container&&(this.container.style.top=a+"px",this.container.style.height=c+"px",this.container.style.overflow="hidden"),this._doLayout(c,n),this.options.keepEditorSelection||this.editor.setSelection(e);const d=this.editor.getModel();if(d){const t=d.validateRange(new Range$2(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(t,t.startLineNumber===d.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;let e;this._resizeSash=this._disposables.add(new Sash(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),o=i<0?Math.ceil(i):Math.floor(i),n=e.heightInLines+o;n>5&&n<35&&this._relayout(n)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var __decorate$1l=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1h=function(e,t){return function(i,o){t(i,o,e)}};const IPeekViewService=createDecorator("IPeekViewService");var PeekContext;registerSingleton(IPeekViewService,class{constructor(){this._widgets=new Map}addExclusiveWidget(e,t){const i=this._widgets.get(e);i&&(i.listener.dispose(),i.widget.dispose());this._widgets.set(e,{widget:t,listener:t.onDidClose(()=>{const i=this._widgets.get(e);i&&i.widget===t&&(i.listener.dispose(),this._widgets.delete(e))})})}},1),function(e){e.inPeekEditor=new RawContextKey("inReferenceSearchEditor",!0,localize("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),e.notInPeekEditor=e.inPeekEditor.toNegated()}(PeekContext||(PeekContext={}));let PeekContextController=class{static{this.ID="editor.contrib.referenceController"}constructor(e,t){e instanceof EmbeddedCodeEditorWidget&&PeekContext.inPeekEditor.bindTo(t)}dispose(){}};function getOuterEditor(e){const t=e.get(ICodeEditorService).getFocusedCodeEditor();return t instanceof EmbeddedCodeEditorWidget?t.getParentEditor():t}PeekContextController=__decorate$1l([__param$1h(1,IContextKeyService)],PeekContextController),registerEditorContribution(PeekContextController.ID,PeekContextController,0);const defaultOptions$2={headerBackgroundColor:Color$1.white,primaryHeadingColor:Color$1.fromHex("#333333"),secondaryHeadingColor:Color$1.fromHex("#6c6c6cb3")};let PeekViewWidget=class extends ZoneWidget{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Emitter$1,this.onDidClose=this._onDidClose.event,mixin(this.options,defaultOptions$2,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=$$f(".head"),this._bodyElement=$$f(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=$$f(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),addStandardDisposableListener(this._titleElement,"click",e=>this._onTitleClick(e))),append$2(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=$$f("span.filename"),this._secondaryHeading=$$f("span.dirname"),this._metaHeading=$$f("span.meta"),append$2(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=$$f(".peekview-actions");append$2(this._headElement,i);const o=this._getActionBarOptions();this._actionbarWidget=new ActionBar(i,o),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Action("peekview.close",localize("label.close","Close"),ThemeIcon.asClassName(Codicon.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:createActionViewItem.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:clearNode(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,show(this._metaHeading)):hide$2(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0)return void this.dispose();const i=Math.ceil(1.2*this.editor.getOption(67)),o=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(o,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};PeekViewWidget=__decorate$1l([__param$1h(2,IInstantiationService)],PeekViewWidget);const peekViewTitleBackground=registerColor("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Color$1.black,hcLight:Color$1.white},localize("peekViewTitleBackground","Background color of the peek view title area.")),peekViewTitleForeground=registerColor("peekViewTitleLabel.foreground",{dark:Color$1.white,light:Color$1.black,hcDark:Color$1.white,hcLight:editorForeground},localize("peekViewTitleForeground","Color of the peek view title.")),peekViewTitleInfoForeground=registerColor("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},localize("peekViewTitleInfoForeground","Color of the peek view title info.")),peekViewBorder=registerColor("peekView.border",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:contrastBorder,hcLight:contrastBorder},localize("peekViewBorder","Color of the peek view borders and arrow.")),peekViewResultsBackground=registerColor("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Color$1.black,hcLight:Color$1.white},localize("peekViewResultsBackground","Background color of the peek view result list."));registerColor("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Color$1.white,hcLight:editorForeground},localize("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),registerColor("peekViewResult.fileForeground",{dark:Color$1.white,light:"#1E1E1E",hcDark:Color$1.white,hcLight:editorForeground},localize("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),registerColor("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},localize("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),registerColor("peekViewResult.selectionForeground",{dark:Color$1.white,light:"#6C6C6C",hcDark:Color$1.white,hcLight:editorForeground},localize("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const peekViewEditorBackground=registerColor("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Color$1.black,hcLight:Color$1.white},localize("peekViewEditorBackground","Background color of the peek view editor."));registerColor("peekViewEditorGutter.background",peekViewEditorBackground,localize("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),registerColor("peekViewEditorStickyScroll.background",peekViewEditorBackground,localize("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor.")),registerColor("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},localize("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),registerColor("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},localize("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),registerColor("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class OneReference{constructor(e,t,i,o){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=o,this.id=defaultGenerator.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){const e=this.parent.getPreview(this)?.preview(this.range);return e?localize({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",e.value,basename(this.uri),this.range.startLineNumber,this.range.startColumn):localize("aria.oneReference","in {0} on line {1} at column {2}",basename(this.uri),this.range.startLineNumber,this.range.startColumn)}}class FilePreview{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:o,startColumn:n,endLineNumber:r,endColumn:s}=e,a=i.getWordUntilPosition({lineNumber:o,column:n-t}),l=new Range$2(o,a.startColumn,o,n),c=new Range$2(r,s,r,1073741824),d=i.getValueInRange(l).replace(/^\s+/,""),u=i.getValueInRange(e);return{value:d+u+i.getValueInRange(c).replace(/\s+$/,""),highlight:{start:d.length,end:d.length+u.length}}}}class FileReferences{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new ResourceMap}dispose(){dispose(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return 1===e?localize("aria.fileReferences.1","1 symbol in {0}, full path {1}",basename(this.uri),this.uri.fsPath):localize("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,basename(this.uri),this.uri.fsPath)}async resolve(e){if(0!==this._previews.size)return this;for(const i of this.children)if(!this._previews.has(i.uri))try{const t=await e.createModelReference(i.uri);this._previews.set(i.uri,new FilePreview(t))}catch(t){onUnexpectedError(t)}return this}}class ReferencesModel{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Emitter$1,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;let o;e.sort(ReferencesModel._compareReferences);for(const n of e)if(o&&extUri.isEqual(o.uri,n.uri,!0)||(o=new FileReferences(this,n.uri),this.groups.push(o)),0===o.children.length||0!==ReferencesModel._compareReferences(n,o.children[o.children.length-1])){const e=new OneReference(i===n,o,n,e=>this._onDidChangeReferenceRange.fire(e));this.references.push(e),o.children.push(e)}}dispose(){dispose(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new ReferencesModel(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?localize("aria.result.0","No results found"):1===this.references.length?localize("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?localize("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):localize("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let o=i.children.indexOf(e);const n=i.children.length,r=i.parent.groups.length;return 1===r||t&&o+10?(o=t?(o+1)%n:(o+n-1)%n,i.children[o]):(o=i.parent.groups.indexOf(i),t?(o=(o+1)%r,i.parent.groups[o].children[0]):(o=(o+r-1)%r,i.parent.groups[o].children[i.parent.groups[o].children.length-1]))}nearestReference(e,t){const i=this.references.map((i,o)=>({idx:o,prefixLen:commonPrefixLength(i.uri.toString(),e.toString()),offsetDist:100*Math.abs(i.range.startLineNumber-t.lineNumber)+Math.abs(i.range.startColumn-t.column)})).sort((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&Range$2.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return extUri.compare(e.uri,t.uri)||Range$2.compareRangesUsingStarts(e.range,t.range)}}var __decorate$1k=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1g=function(e,t){return function(i,o){t(i,o,e)}},FileReferencesRenderer_1;let DataSource$2=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof ReferencesModel||e instanceof FileReferences}getChildren(e){if(e instanceof ReferencesModel)return e.groups;if(e instanceof FileReferences)return e.resolve(this._resolverService).then(e=>e.children);throw new Error("bad tree")}};DataSource$2=__decorate$1k([__param$1g(0,ITextModelService)],DataSource$2);class Delegate{getHeight(){return 23}getTemplateId(e){return e instanceof FileReferences?FileReferencesRenderer.id:OneReferenceRenderer.id}}let StringRepresentationProvider=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){if(e instanceof OneReference){const t=e.parent.getPreview(e)?.preview(e.range);if(t)return t.value}return basename(e.uri)}};StringRepresentationProvider=__decorate$1k([__param$1g(0,IKeybindingService)],StringRepresentationProvider);class IdentityProvider{getId(e){return e instanceof OneReference?e.id:e.uri}}let FileReferencesTemplate=class extends Disposable{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new IconLabel(i,{supportHighlights:!0})),this.badge=new CountBadge(append$2(i,$$f(".count")),{},defaultCountBadgeStyles),e.appendChild(i)}set(e,t){const i=dirname(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const o=e.children.length;this.badge.setCount(o),o>1?this.badge.setTitleFormat(localize("referencesCount","{0} references",o)):this.badge.setTitleFormat(localize("referenceCount","{0} reference",o))}};FileReferencesTemplate=__decorate$1k([__param$1g(1,ILabelService)],FileReferencesTemplate);let FileReferencesRenderer=class{static{FileReferencesRenderer_1=this}static{this.id="FileReferencesRenderer"}constructor(e){this._instantiationService=e,this.templateId=FileReferencesRenderer_1.id}renderTemplate(e){return this._instantiationService.createInstance(FileReferencesTemplate,e)}renderElement(e,t,i){i.set(e.element,createMatches(e.filterData))}disposeTemplate(e){e.dispose()}};FileReferencesRenderer=FileReferencesRenderer_1=__decorate$1k([__param$1g(0,IInstantiationService)],FileReferencesRenderer);class OneReferenceTemplate extends Disposable{constructor(e){super(),this.label=this._register(new HighlightedLabel(e))}set(e,t){const i=e.parent.getPreview(e)?.preview(e.range);if(i&&i.value){const{value:e,highlight:o}=i;t&&!FuzzyScore.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(e,createMatches(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(e,[o]))}else this.label.set(`${basename(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`)}}class OneReferenceRenderer{constructor(){this.templateId=OneReferenceRenderer.id}static{this.id="OneReferenceRenderer"}renderTemplate(e){return new OneReferenceTemplate(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}}class AccessibilityProvider{getWidgetAriaLabel(){return localize("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var __decorate$1j=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1f=function(e,t){return function(i,o){t(i,o,e)}};class DecorationsManager{static{this.DecorationOptions=ModelDecorationOptions.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"})}constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new DisposableStore,this._callOnModelChange=new 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 e=this._editor.getModel();if(e)for(const t of this._model.references)if(t.uri.toString()===e.uri.toString())return void this._addDecorations(t.parent)}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let o=0,n=e.children.length;o{const n=o.deltaDecorations([],t);for(let t=0;t{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(ReferencesTree,"ReferencesWidget",this._treeContainer,new Delegate,[this._instantiationService.createInstance(FileReferencesRenderer),this._instantiationService.createInstance(OneReferenceRenderer)],this._instantiationService.createInstance(DataSource$2),t),this._splitView.addView({onDidChange:Event$1.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},Sizing.Distribute),this._splitView.addView({onDidChange:Event$1.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},Sizing.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const i=(e,t)=>{e instanceof OneReference&&("show"===t&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(e=>{e.sideBySide?i(e.element,"side"):e.editorOptions.pinned?i(e.element,"goto"):i(e.element,"show")})),hide$2(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Dimension(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=localize("noResults","No results"),show(this._messageContainer),Promise.resolve(void 0)):(hide$2(this._messageContainer),this._decorationsManager=new DecorationsManager(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(2!==t.detail)return;const o=this._getFocusedReference();o&&this._onDidSelectReference.fire({element:{uri:o.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),show(this._treeContainer),show(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();return e instanceof OneReference?e:e instanceof FileReferences&&e.children.length>0?e.children[0]:void 0}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==Schemas.inMemory?this.setTitle(basenameOrAuthority(e.uri),this._uriLabel.getUriLabel(dirname(e.uri))):this.setTitle(localize("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent||(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent)),this._tree.reveal(e);const o=await i;if(!this._model)return void o.dispose();dispose(this._previewModelReference);const n=o.object;if(n){const t=this._preview.getModel()===n.textEditorModel?0:1,i=Range$2.lift(e.range).collapseToStart();this._previewModelReference=o,this._preview.setModel(n.textEditorModel),this._preview.setSelection(i),this._preview.revealRangeInCenter(i,t)}else this._preview.setModel(this._previewNotAvailableMessage),o.dispose()}};ReferenceWidget=__decorate$1j([__param$1f(3,IThemeService),__param$1f(4,ITextModelService),__param$1f(5,IInstantiationService),__param$1f(6,IPeekViewService),__param$1f(7,ILabelService),__param$1f(8,IKeybindingService)],ReferenceWidget);var __decorate$1i=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1e=function(e,t){return function(i,o){t(i,o,e)}},ReferencesController_1;const ctxReferenceSearchVisible=new RawContextKey("referenceSearchVisible",!1,localize("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let ReferencesController=class{static{ReferencesController_1=this}static{this.ID="editor.contrib.referencesController"}static get(e){return e.getContribution(ReferencesController_1.ID)}constructor(e,t,i,o,n,r,s,a){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=o,this._notificationService=n,this._instantiationService=r,this._storageService=s,this._configurationService=a,this._disposables=new DisposableStore,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ctxReferenceSearchVisible.bindTo(i)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let o;if(this._widget&&(o=this._widget.position),this.closeWidget(),o&&e.containsPosition(o))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const n="peekViewLayout",r=LayoutData.fromJSON(this._storageService.get(n,0,"{}"));this._widget=this._instantiationService.createInstance(ReferenceWidget,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(localize("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(n,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(e=>{const{element:t,kind:o}=e;if(t)switch(o){case"open":"editor"===e.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(t,!1,!1);break;case"side":this.openReference(t,!0,!1);break;case"goto":i?this._gotoReference(t,!0):this.openReference(t,!1,!0)}}));const s=++this._requestIdPool;t.then(t=>{if(s===this._requestIdPool&&this._widget)return this._model?.dispose(),this._model=t,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(localize("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const t=this._editor.getModel().uri,i=new Position$1(e.startLineNumber,e.startColumn),o=this._model.nearestReference(t,i);if(o)return this._widget.setSelection(o).then(()=>{this._widget&&"editor"===this._editor.getOption(87)&&this._widget.focusOnPreviewEditor()})}});t.dispose()},e=>{this._notificationService.error(e)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const o=this._model.nextOrPreviousReference(i,e),n=this._editor.hasTextFocus(),r=this._widget.isPreviewEditorFocused();await this._widget.setSelection(o),await this._gotoReference(o,!1),n?this._editor.focus():this._widget&&r&&this._widget.focusOnPreviewEditor()}async revealReference(e){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(e)}closeWidget(e=!0){this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){this._widget?.hide(),this._ignoreModelChangeEvent=!0;const i=Range$2.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then(e=>{if(this._ignoreModelChangeEvent=!1,e&&this._widget)if(this._editor===e)this._widget.show(i),this._widget.focusOnReferenceTree();else{const t=ReferencesController_1.get(e),o=this._model.clone();this.closeWidget(),e.focus(),t?.toggleWidget(i,createCancelablePromise(e=>Promise.resolve(o)),this._peekMode??!1)}else this.closeWidget()},e=>{this._ignoreModelChangeEvent=!1,onUnexpectedError(e)})}openReference(e,t,i){t||this.closeWidget();const{uri:o,range:n}=e;this._editorService.openCodeEditor({resource:o,options:{selection:n,selectionSource:"code.jump",pinned:i}},this._editor,t)}};function withController(e,t){const i=getOuterEditor(e);if(!i)return;const o=ReferencesController.get(i);o&&t(o)}ReferencesController=ReferencesController_1=__decorate$1i([__param$1e(2,IContextKeyService),__param$1e(3,ICodeEditorService),__param$1e(4,INotificationService),__param$1e(5,IInstantiationService),__param$1e(6,IStorageService),__param$1e(7,IConfigurationService)],ReferencesController),KeybindingsRegistry.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:KeyChord(2089,60),when:ContextKeyExpr.or(ctxReferenceSearchVisible,PeekContext.inPeekEditor),handler(e){withController(e,e=>{e.changeFocusBetweenPreviewAndReferences()})}}),KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:ContextKeyExpr.or(ctxReferenceSearchVisible,PeekContext.inPeekEditor),handler(e){withController(e,e=>{e.goToNextOrPreviousReference(!0)})}}),KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:ContextKeyExpr.or(ctxReferenceSearchVisible,PeekContext.inPeekEditor),handler(e){withController(e,e=>{e.goToNextOrPreviousReference(!1)})}}),CommandsRegistry.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),CommandsRegistry.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),CommandsRegistry.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),CommandsRegistry.registerCommand("closeReferenceSearch",e=>withController(e,e=>e.closeWidget())),KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:ContextKeyExpr.and(PeekContext.inPeekEditor,ContextKeyExpr.not("config.editor.stablePeek"))}),KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:ContextKeyExpr.and(ctxReferenceSearchVisible,ContextKeyExpr.not("config.editor.stablePeek"),ContextKeyExpr.or(EditorContextKeys.editorTextFocus,InputFocusedContext.negate()))}),KeybindingsRegistry.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:ContextKeyExpr.and(ctxReferenceSearchVisible,WorkbenchListFocusContextKey,WorkbenchTreeElementCanCollapse.negate(),WorkbenchTreeElementCanExpand.negate()),handler(e){const t=e.get(IListService),i=t.lastFocusedList?.getFocus();Array.isArray(i)&&i[0]instanceof OneReference&&withController(e,e=>e.revealReference(i[0]))}}),KeybindingsRegistry.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ContextKeyExpr.and(ctxReferenceSearchVisible,WorkbenchListFocusContextKey,WorkbenchTreeElementCanCollapse.negate(),WorkbenchTreeElementCanExpand.negate()),handler(e){const t=e.get(IListService),i=t.lastFocusedList?.getFocus();Array.isArray(i)&&i[0]instanceof OneReference&&withController(e,e=>e.openReference(i[0],!0,!0))}}),CommandsRegistry.registerCommand("openReference",e=>{const t=e.get(IListService),i=t.lastFocusedList?.getFocus();Array.isArray(i)&&i[0]instanceof OneReference&&withController(e,e=>e.openReference(i[0],!1,!0))});var __decorate$1h=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1d=function(e,t){return function(i,o){t(i,o,e)}};const ctxHasSymbols=new RawContextKey("hasSymbols",!1,localize("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),ISymbolNavigationService=createDecorator("ISymbolNavigationService");let SymbolNavigationService=class{constructor(e,t,i,o){this._editorService=t,this._notificationService=i,this._keybindingService=o,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=ctxHasSymbols.bindTo(e)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1)return void this.reset();this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new EditorState(this._editorService),o=i.onDidChange(e=>{if(this._ignoreEditorChange)return;const i=this._editorService.getActiveCodeEditor();if(!i)return;const o=i.getModel(),n=i.getPosition();if(!o||!n)return;let r=!1,s=!1;for(const a of t.references)if(isEqual$1(a.uri,o.uri))r=!0,s=s||Range$2.containsPosition(a.range,n);else if(r)break;r&&s||this.reset()});this._currentState=combinedDisposable(i,o)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:Range$2.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?localize("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):localize("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};SymbolNavigationService=__decorate$1h([__param$1d(0,IContextKeyService),__param$1d(1,ICodeEditorService),__param$1d(2,INotificationService),__param$1d(3,IKeybindingService)],SymbolNavigationService),registerSingleton(ISymbolNavigationService,SymbolNavigationService,1),registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:ctxHasSymbols,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(ISymbolNavigationService).revealNext(t)}}),KeybindingsRegistry.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:ctxHasSymbols,primary:9,handler(e){e.get(ISymbolNavigationService).reset()}});let EditorState=class{constructor(e){this._listener=new Map,this._disposables=new DisposableStore,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),dispose(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,combinedDisposable(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){this._listener.get(e)?.dispose(),this._listener.delete(e)}};function shouldIncludeLocationLink(e,t){return t.uri.scheme===e.uri.scheme||!matchesSomeScheme(t.uri,Schemas.walkThroughSnippet,Schemas.vscodeChatCodeBlock,Schemas.vscodeChatCodeCompareBlock)}async function getLocationLinks(e,t,i,o,n){const r=i.ordered(e,o).map(i=>Promise.resolve(n(i,e,t)).then(void 0,e=>{onUnexpectedExternalError(e)}));return coalesce((await Promise.all(r)).flat()).filter(t=>shouldIncludeLocationLink(e,t))}function getDefinitionsAtPosition(e,t,i,o,n){return getLocationLinks(t,i,e,o,(e,t,i)=>e.provideDefinition(t,i,n))}function getDeclarationsAtPosition(e,t,i,o,n){return getLocationLinks(t,i,e,o,(e,t,i)=>e.provideDeclaration(t,i,n))}function getImplementationsAtPosition(e,t,i,o,n){return getLocationLinks(t,i,e,o,(e,t,i)=>e.provideImplementation(t,i,n))}function getTypeDefinitionsAtPosition(e,t,i,o,n){return getLocationLinks(t,i,e,o,(e,t,i)=>e.provideTypeDefinition(t,i,n))}function getReferencesAtPosition(e,t,i,o,n,r){return getLocationLinks(t,i,e,n,async(e,t,i)=>{const n=(await e.provideReferences(t,i,{includeDeclaration:!0},r))?.filter(e=>shouldIncludeLocationLink(t,e));if(!o||!n||2!==n.length)return n;const s=(await e.provideReferences(t,i,{includeDeclaration:!1},r))?.filter(e=>shouldIncludeLocationLink(t,e));return s&&1===s.length?s:n})}async function _sortedAndDeduped(e){const t=await e(),i=new ReferencesModel(t,""),o=i.references.map(e=>e.link);return i.dispose(),o}EditorState=__decorate$1h([__param$1d(0,ICodeEditorService)],EditorState),registerModelAndPositionCommand("_executeDefinitionProvider",(e,t,i)=>{const o=getDefinitionsAtPosition(e.get(ILanguageFeaturesService).definitionProvider,t,i,!1,CancellationToken.None);return _sortedAndDeduped(()=>o)}),registerModelAndPositionCommand("_executeDefinitionProvider_recursive",(e,t,i)=>{const o=getDefinitionsAtPosition(e.get(ILanguageFeaturesService).definitionProvider,t,i,!0,CancellationToken.None);return _sortedAndDeduped(()=>o)}),registerModelAndPositionCommand("_executeTypeDefinitionProvider",(e,t,i)=>{const o=getTypeDefinitionsAtPosition(e.get(ILanguageFeaturesService).typeDefinitionProvider,t,i,!1,CancellationToken.None);return _sortedAndDeduped(()=>o)}),registerModelAndPositionCommand("_executeTypeDefinitionProvider_recursive",(e,t,i)=>{const o=getTypeDefinitionsAtPosition(e.get(ILanguageFeaturesService).typeDefinitionProvider,t,i,!0,CancellationToken.None);return _sortedAndDeduped(()=>o)}),registerModelAndPositionCommand("_executeDeclarationProvider",(e,t,i)=>{const o=getDeclarationsAtPosition(e.get(ILanguageFeaturesService).declarationProvider,t,i,!1,CancellationToken.None);return _sortedAndDeduped(()=>o)}),registerModelAndPositionCommand("_executeDeclarationProvider_recursive",(e,t,i)=>{const o=getDeclarationsAtPosition(e.get(ILanguageFeaturesService).declarationProvider,t,i,!0,CancellationToken.None);return _sortedAndDeduped(()=>o)}),registerModelAndPositionCommand("_executeReferenceProvider",(e,t,i)=>{const o=getReferencesAtPosition(e.get(ILanguageFeaturesService).referenceProvider,t,i,!1,!1,CancellationToken.None);return _sortedAndDeduped(()=>o)}),registerModelAndPositionCommand("_executeReferenceProvider_recursive",(e,t,i)=>{const o=getReferencesAtPosition(e.get(ILanguageFeaturesService).referenceProvider,t,i,!1,!0,CancellationToken.None);return _sortedAndDeduped(()=>o)}),registerModelAndPositionCommand("_executeImplementationProvider",(e,t,i)=>{const o=getImplementationsAtPosition(e.get(ILanguageFeaturesService).implementationProvider,t,i,!1,CancellationToken.None);return _sortedAndDeduped(()=>o)}),registerModelAndPositionCommand("_executeImplementationProvider_recursive",(e,t,i)=>{const o=getImplementationsAtPosition(e.get(ILanguageFeaturesService).implementationProvider,t,i,!0,CancellationToken.None);return _sortedAndDeduped(()=>o)}),MenuRegistry.appendMenuItem(MenuId.EditorContext,{submenu:MenuId.EditorContextPeek,title:localize("peek.submenu","Peek"),group:"navigation",order:100});class SymbolNavigationAnchor{static is(e){return!(!e||"object"!=typeof e)&&(e instanceof SymbolNavigationAnchor||!(!Position$1.isIPosition(e.position)||!e.model))}constructor(e,t){this.model=e,this.position=t}}class SymbolNavigationAction extends EditorAction2{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return SymbolNavigationAction._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of Iterable.wrap(t.menu))i.id!==MenuId.EditorContext&&i.id!==MenuId.EditorContextPeek||(i.when=ContextKeyExpr.and(e.precondition,i.when));return t}constructor(e,t){super(SymbolNavigationAction._patchConfig(t)),this.configuration=e,SymbolNavigationAction._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,o){if(!t.hasModel())return Promise.resolve(void 0);const n=e.get(INotificationService),r=e.get(ICodeEditorService),s=e.get(IEditorProgressService),a=e.get(ISymbolNavigationService),l=e.get(ILanguageFeaturesService),c=e.get(IInstantiationService),d=t.getModel(),u=t.getPosition(),h=SymbolNavigationAnchor.is(i)?i:new SymbolNavigationAnchor(d,u),p=new EditorStateCancellationTokenSource(t,5),g=raceCancellation(this._getLocationModel(l,h.model,h.position,p.token),p.token).then(async e=>{if(!e||p.token.isCancellationRequested)return;let n;if(alert(e.ariaMessage),e.referenceAt(d.uri,u)){const e=this._getAlternativeCommand(t);!SymbolNavigationAction._activeAlternativeCommands.has(e)&&SymbolNavigationAction._allSymbolNavigationCommands.has(e)&&(n=SymbolNavigationAction._allSymbolNavigationCommands.get(e))}const s=e.references.length;if(0===s){if(!this.configuration.muteMessage){const e=d.getWordAtPosition(u);MessageController.get(t)?.showMessage(this._getNoResultFoundMessage(e),u)}}else{if(1!==s||!n)return this._onResult(r,a,t,e,o);SymbolNavigationAction._activeAlternativeCommands.add(this.desc.id),c.invokeFunction(e=>n.runEditorCommand(e,t,i,o).finally(()=>{SymbolNavigationAction._activeAlternativeCommands.delete(this.desc.id)}))}},e=>{n.error(e)}).finally(()=>{p.dispose()});return s.showWhile(g,250),g}async _onResult(e,t,i,o,n){const r=this._getGoToPreference(i);if(i instanceof EmbeddedCodeEditorWidget||!(this.configuration.openInPeek||"peek"===r&&o.references.length>1)){const s=o.firstReference(),a=o.references.length>1&&"gotoAndPeek"===r,l=await this._openReference(i,e,s,this.configuration.openToSide,!a);a&&l?this._openInPeek(l,o,n):o.dispose(),"goto"===r&&t.put(s)}else this._openInPeek(i,o,n)}async _openReference(e,t,i,o,n){let r;if(isLocationLink(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const s=await t.openCodeEditor({resource:i.uri,options:{selection:Range$2.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,o);if(s){if(n){const e=s.getModel(),t=s.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{s.getModel()===e&&t.clear()},350)}return s}}_openInPeek(e,t,i){const o=ReferencesController.get(e);o&&e.hasModel()?o.toggleWidget(i??e.getSelection(),createCancelablePromise(e=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}}class DefinitionAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,o){return new ReferencesModel(await getDefinitionsAtPosition(e.definitionProvider,t,i,!1,o),localize("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?localize("noResultWord","No definition found for '{0}'",e.word):localize("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}registerAction2(class e extends DefinitionAction{static{this.id="editor.action.revealDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...localize2("actions.goToDecl.label","Go to Definition"),mnemonicTitle:localize({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:EditorContextKeys.hasDefinitionProvider,keybinding:[{when:EditorContextKeys.editorTextFocus,primary:70,weight:100},{when:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,IsWebContext),primary:2118,weight:100}],menu:[{id:MenuId.EditorContext,group:"navigation",order:1.1},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),CommandsRegistry.registerCommandAlias("editor.action.goToDeclaration",e.id)}}),registerAction2(class e extends DefinitionAction{static{this.id="editor.action.revealDefinitionAside"}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:e.id,title:localize2("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:ContextKeyExpr.and(EditorContextKeys.hasDefinitionProvider,EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:[{when:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,70),weight:100},{when:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,IsWebContext),primary:KeyChord(2089,2118),weight:100}]}),CommandsRegistry.registerCommandAlias("editor.action.openDeclarationToTheSide",e.id)}}),registerAction2(class e extends DefinitionAction{static{this.id="editor.action.peekDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.id,title:localize2("actions.previewDecl.label","Peek Definition"),precondition:ContextKeyExpr.and(EditorContextKeys.hasDefinitionProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:MenuId.EditorContextPeek,group:"peek",order:2}}),CommandsRegistry.registerCommandAlias("editor.action.previewDeclaration",e.id)}});class DeclarationAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,o){return new ReferencesModel(await getDeclarationsAtPosition(e.declarationProvider,t,i,!1,o),localize("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?localize("decl.noResultWord","No declaration found for '{0}'",e.word):localize("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}registerAction2(class e extends DeclarationAction{static{this.id="editor.action.revealDeclaration"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...localize2("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:localize({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:ContextKeyExpr.and(EditorContextKeys.hasDeclarationProvider,EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:[{id:MenuId.EditorContext,group:"navigation",order:1.3},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?localize("decl.noResultWord","No declaration found for '{0}'",e.word):localize("decl.generic.noResults","No declaration found")}}),registerAction2(class extends DeclarationAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:localize2("actions.peekDecl.label","Peek Declaration"),precondition:ContextKeyExpr.and(EditorContextKeys.hasDeclarationProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:MenuId.EditorContextPeek,group:"peek",order:3}})}});class TypeDefinitionAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,o){return new ReferencesModel(await getTypeDefinitionsAtPosition(e.typeDefinitionProvider,t,i,!1,o),localize("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?localize("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):localize("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}registerAction2(class e extends TypeDefinitionAction{static{this.ID="editor.action.goToTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...localize2("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:localize({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:EditorContextKeys.hasTypeDefinitionProvider,keybinding:{when:EditorContextKeys.editorTextFocus,primary:0,weight:100},menu:[{id:MenuId.EditorContext,group:"navigation",order:1.4},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}),registerAction2(class e extends TypeDefinitionAction{static{this.ID="editor.action.peekTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:localize2("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:ContextKeyExpr.and(EditorContextKeys.hasTypeDefinitionProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:MenuId.EditorContextPeek,group:"peek",order:4}})}});class ImplementationAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,o){return new ReferencesModel(await getImplementationsAtPosition(e.implementationProvider,t,i,!1,o),localize("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?localize("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):localize("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}registerAction2(class e extends ImplementationAction{static{this.ID="editor.action.goToImplementation"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...localize2("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:localize({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:EditorContextKeys.hasImplementationProvider,keybinding:{when:EditorContextKeys.editorTextFocus,primary:2118,weight:100},menu:[{id:MenuId.EditorContext,group:"navigation",order:1.45},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}),registerAction2(class e extends ImplementationAction{static{this.ID="editor.action.peekImplementation"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:localize2("actions.peekImplementation.label","Peek Implementations"),precondition:ContextKeyExpr.and(EditorContextKeys.hasImplementationProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:3142,weight:100},menu:{id:MenuId.EditorContextPeek,group:"peek",order:5}})}});class ReferencesAction extends SymbolNavigationAction{_getNoResultFoundMessage(e){return e?localize("references.no","No references found for '{0}'",e.word):localize("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}registerAction2(class extends ReferencesAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...localize2("goToReferences.label","Go to References"),mnemonicTitle:localize({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:ContextKeyExpr.and(EditorContextKeys.hasReferenceProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:1094,weight:100},menu:[{id:MenuId.EditorContext,group:"navigation",order:1.45},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,o){return new ReferencesModel(await getReferencesAtPosition(e.referenceProvider,t,i,!0,!1,o),localize("ref.title","References"))}}),registerAction2(class extends ReferencesAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:localize2("references.action.label","Peek References"),precondition:ContextKeyExpr.and(EditorContextKeys.hasReferenceProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:MenuId.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,o){return new ReferencesModel(await getReferencesAtPosition(e.referenceProvider,t,i,!1,!1,o),localize("ref.title","References"))}});class GenericGoToLocationAction extends SymbolNavigationAction{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:localize2("label.generic","Go to Any Symbol"),precondition:ContextKeyExpr.and(PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,o){return new ReferencesModel(this._references,localize("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&localize("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}async function showGoToContextMenu(e,t,i,o){const n=e.get(ITextModelService),r=e.get(IContextMenuService),s=e.get(ICommandService),a=e.get(IInstantiationService),l=e.get(INotificationService);if(await o.item.resolve(CancellationToken.None),!o.part.location)return;const c=o.part.location,d=[],u=new Set(MenuRegistry.getMenuItems(MenuId.EditorContext).map(e=>isIMenuItem(e)?e.command.id:generateUuid()));for(const p of SymbolNavigationAction.all())u.has(p.desc.id)&&d.push(new Action(p.desc.id,MenuItemAction.label(p.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const e=await n.createModelReference(c.uri);try{const i=new SymbolNavigationAnchor(e.object.textEditorModel,Range$2.getStartPosition(c.range)),n=o.item.anchor.range;await a.invokeFunction(p.runEditorCommand.bind(p),t,i,n)}finally{e.dispose()}}));if(o.part.command){const{command:e}=o.part;d.push(new Separator),d.push(new Action(e.id,e.title,void 0,!0,async()=>{try{await s.executeCommand(e.id,...e.arguments??[])}catch(t){l.notify({severity:Severity.Error,source:o.item.provider.displayName,message:t})}}))}const h=t.getOption(128);r.showContextMenu({domForShadowRoot:h?t.getDomNode()??void 0:void 0,getAnchor:()=>{const e=getDomNodePagePosition(i);return{x:e.left,y:e.top+e.height+8}},getActions:()=>d,onHide:()=>{t.focus()},autoSelectFirstItem:!0})}async function goToDefinitionWithLocation(e,t,i,o){const n=e.get(ITextModelService),r=await n.createModelReference(o.uri);await i.invokeWithinContext(async e=>{const n=t.hasSideBySideModifier,s=e.get(IContextKeyService),a=PeekContext.inPeekEditor.getValue(s),l=!n&&i.getOption(89)&&!a;return new DefinitionAction({openToSide:n,openInPeek:l,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e,new SymbolNavigationAnchor(r.object.textEditorModel,Range$2.getStartPosition(o.range)),Range$2.lift(o.range))}),r.dispose()}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:URI},{name:"position",description:"The position at which to start",constraint:Position$1.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(e,t,i,o,n,r,s)=>{assertType(URI.isUri(t)),assertType(Position$1.isIPosition(i)),assertType(Array.isArray(o)),assertType(void 0===n||"string"==typeof n),assertType(void 0===s||"boolean"==typeof s);const a=e.get(ICodeEditorService),l=await a.openCodeEditor({resource:t},a.getFocusedCodeEditor());if(isCodeEditor(l))return l.setPosition(i),l.revealPositionInCenterIfOutsideViewport(i,0),l.invokeWithinContext(e=>{const t=new class extends GenericGoToLocationAction{_getNoResultFoundMessage(e){return r||super._getNoResultFoundMessage(e)}}({muteMessage:!Boolean(r),openInPeek:Boolean(s),openToSide:!1},o,n);e.get(IInstantiationService).invokeFunction(t.run.bind(t),l)})}}),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:URI},{name:"position",description:"The position at which to start",constraint:Position$1.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(e,t,i,o,n)=>{e.get(ICommandService).executeCommand("editor.action.goToLocations",t,i,o,n,void 0,!0)}}),CommandsRegistry.registerCommand({id:"editor.action.findReferences",handler:(e,t,i)=>{assertType(URI.isUri(t)),assertType(Position$1.isIPosition(i));const o=e.get(ILanguageFeaturesService),n=e.get(ICodeEditorService);return n.openCodeEditor({resource:t},n.getFocusedCodeEditor()).then(e=>{if(!isCodeEditor(e)||!e.hasModel())return;const t=ReferencesController.get(e);if(!t)return;const n=createCancelablePromise(t=>getReferencesAtPosition(o.referenceProvider,e.getModel(),Position$1.lift(i),!1,!1,t).then(e=>new ReferencesModel(e,localize("ref.title","References")))),r=new Range$2(i.lineNumber,i.column,i.lineNumber,i.column);return Promise.resolve(t.toggleWidget(r,n,!1))})}}),CommandsRegistry.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var __decorate$1g=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1c=function(e,t){return function(i,o){t(i,o,e)}},InlayHintsController_1;class InlayHintsCache{constructor(){this._entries=new LRUCache(50)}get(e){const t=InlayHintsCache._key(e);return this._entries.get(t)}set(e,t){const i=InlayHintsCache._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const IInlayHintsCache=createDecorator("IInlayHintsCache");registerSingleton(IInlayHintsCache,InlayHintsCache,1);class RenderedInlayHintLabelPart{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return"string"==typeof e?{label:e}:e[this.index]}}class ActiveInlayHintInfo{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let InlayHintsController=class{static{InlayHintsController_1=this}static{this.ID="editor.contrib.InlayHints"}static{this._MAX_DECORATORS=1500}static{this._MAX_LABEL_LEN=43}static get(e){return e.getContribution(InlayHintsController_1.ID)??void 0}constructor(e,t,i,o,n,r,s){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=o,this._commandService=n,this._notificationService=r,this._instaService=s,this._disposables=new DisposableStore,this._sessionDisposables=new DisposableStore,this._decorationsMetadata=new Map,this._ruleFactory=new DynamicCssRules(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(e=>{e.hasChanged(142)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(142);if("off"===e.enabled)return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if("on"===e.enabled)this._activeRenderMode=0;else{let t,i;"onUnlessPressed"===e.enabled?(t=0,i=1):(t=1,i=0),this._activeRenderMode=t,this._sessionDisposables.add(ModifierKeyEmitter.getInstance().event(e=>{if(!this._editor.hasModel())return;const o=e.altKey&&e.ctrlKey&&!e.shiftKey&&!e.metaKey?i:t;if(o!==this._activeRenderMode){this._activeRenderMode=o;const e=this._editor.getModel(),t=this._copyInlayHintsWithCurrentAnchor(e);this._updateHintsDecorators([e.getFullModelRange()],t),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);let o;i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(toDisposable(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));const n=new Set,r=new RunOnceScheduler(async()=>{const e=Date.now();o?.dispose(!0),o=new CancellationTokenSource$1;const i=t.onWillDispose(()=>o?.cancel());try{const i=o.token,s=await InlayHintsFragments.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),i);if(r.delay=this._debounceInfo.update(t,Date.now()-e),i.isCancellationRequested)return void s.dispose();for(const e of s.provider)"function"!=typeof e.onDidChangeInlayHints||n.has(e)||(n.add(e),this._sessionDisposables.add(e.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(s),this._updateHintsDecorators(s.ranges,s.items),this._cacheHintsForFastRestore(t)}catch(s){onUnexpectedError(s)}finally{o.dispose(),i.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(toDisposable(()=>o?.dispose(!0))),r.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(e=>{!e.scrollTopChanged&&r.isScheduled()||r.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(e=>{o?.cancel();const t=Math.max(r.delay,1250);r.schedule(t)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new DisposableStore,t=e.add(new ClickLinkGesture(this._editor)),i=new DisposableStore;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(e=>{const[t]=e,o=this._getInlayHintLabelPart(t),n=this._editor.getModel();if(!o||!n)return void i.clear();const r=new CancellationTokenSource$1;i.add(toDisposable(()=>r.dispose(!0))),o.item.resolve(r.token),this._activeInlayHintPart=o.part.command||o.part.location?new ActiveInlayHintInfo(o,t.hasTriggerModifier):void 0;const s=n.validatePosition(o.item.hint.position).lineNumber,a=new Range$2(s,1,s,n.getLineMaxColumn(s)),l=this._getInlineHintsForRange(a);this._updateHintsDecorators([a],l),i.add(toDisposable(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([a],l)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async e=>{const t=this._getInlayHintLabelPart(e);if(t){const i=t.part;i.location?this._instaService.invokeFunction(goToDefinitionWithLocation,e,this._editor,i.location):Command$1.is(i.command)&&await this._invokeCommand(i.command,t.item)}})),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(2!==t.event.detail)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(CancellationToken.None),isNonEmptyArray(i.item.hint.textEdits))){const t=i.item.hint.textEdits.map(e=>EditOperation.replace(Range$2.lift(e.range),e.text));this._editor.executeEdits("inlayHint.default",t),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!isHTMLElement$1(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(showGoToContextMenu,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){if(6!==e.target.type)return;const t=e.target.detail.injectedText?.options;return t instanceof ModelDecorationInjectedTextOptions&&t?.attachedData instanceof RenderedInlayHintLabelPart?t.attachedData:void 0}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:Severity.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,o]of this._decorationsMetadata){if(t.has(o.item))continue;const n=e.getDecorationRange(i);if(n){const e=new InlayHintAnchor(n,o.item.anchor.direction),i=o.item.with({anchor:e});t.set(o.item,i)}}return Array.from(t.values())}_getHintsRanges(){const e=this._editor.getModel(),t=this._editor.getVisibleRangesPlusViewportAboveBelow(),i=[];for(const o of t.sort(Range$2.compareRangesUsingStarts)){const t=e.validateRange(new Range$2(o.startLineNumber-30,o.startColumn,o.endLineNumber+30,o.endColumn));0!==i.length&&Range$2.areIntersectingOrTouching(i[i.length-1],t)?i[i.length-1]=Range$2.plusRange(i[i.length-1],t):i.push(t)}return i}_updateHintsDecorators(e,t){const i=[],o=(e,t,o,n,r)=>{const s={content:o,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:t.className,cursorStops:n,attachedData:r};i.push({item:e,classNameRef:t,decoration:{range:e.anchor.range,options:{description:"InlayHint",showIfCollapsed:e.anchor.range.isEmpty(),collapseOnReplaceEdit:!e.anchor.range.isEmpty(),stickiness:0,[e.anchor.direction]:0===this._activeRenderMode?s:void 0}}})},n=(e,t)=>{const i=this._ruleFactory.createClassNameRef({width:(r/3|0)+"px",display:"inline-block"});o(e,i," ",t?InjectedTextCursorStops.Right:InjectedTextCursorStops.None)},{fontSize:r,fontFamily:s,padding:a,isUniform:l}=this._getLayoutInfo(),c="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(c,s);let d={line:0,totalLen:0};for(const p of t){if(d.line!==p.anchor.range.startLineNumber&&(d={line:p.anchor.range.startLineNumber,totalLen:0}),d.totalLen>InlayHintsController_1._MAX_LABEL_LEN)continue;p.hint.paddingLeft&&n(p,!1);const e="string"==typeof p.hint.label?[{label:p.hint.label}]:p.hint.label;for(let t=0;t0&&(h=h.slice(0,-m)+"…",g=!0),o(p,this._ruleFactory.createClassNameRef(u),fixSpace(h),s&&!p.hint.paddingRight?InjectedTextCursorStops.Right:InjectedTextCursorStops.None,new RenderedInlayHintLabelPart(p,t)),g)break}if(p.hint.paddingRight&&n(p,!0),i.length>InlayHintsController_1._MAX_DECORATORS)break}const u=[];for(const[p,g]of this._decorationsMetadata){const t=this._editor.getModel()?.getDecorationRange(p);t&&e.some(e=>e.containsRange(t))&&(u.push(p),g.classNameRef.dispose(),this._decorationsMetadata.delete(p))}const h=StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(e=>{const t=e.deltaDecorations(u,i.map(e=>e.decoration));for(let o=0;oi)&&(n=i);const r=e.fontFamily||o;return{fontSize:n,fontFamily:r,padding:t,isUniform:!t&&r===o&&n===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};function fixSpace(e){return e.replace(/[ \t]/g," ")}InlayHintsController=InlayHintsController_1=__decorate$1g([__param$1c(1,ILanguageFeaturesService),__param$1c(2,ILanguageFeatureDebounceService),__param$1c(3,IInlayHintsCache),__param$1c(4,ICommandService),__param$1c(5,INotificationService),__param$1c(6,IInstantiationService)],InlayHintsController),CommandsRegistry.registerCommand("_executeInlayHintProvider",async(e,...t)=>{const[i,o]=t;assertType(URI.isUri(i)),assertType(Range$2.isIRange(o));const{inlayHintsProvider:n}=e.get(ILanguageFeaturesService),r=await e.get(ITextModelService).createModelReference(i);try{const e=await InlayHintsFragments.create(n,r.object.textEditorModel,[Range$2.lift(o)],CancellationToken.None),t=e.items.map(e=>e.hint);return setTimeout(()=>e.dispose(),0),t}finally{r.dispose()}});var __decorate$1f=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1b=function(e,t){return function(i,o){t(i,o,e)}};class InlayHintsHoverAnchor extends HoverForeignElementAnchor{constructor(e,t,i,o){super(10,t,e.item.anchor.range,i,o,!0),this.part=e}}let InlayHintsHover=class extends MarkdownHoverParticipant{constructor(e,t,i,o,n,r,s,a,l){super(e,t,i,r,a,o,n,l),this._resolverService=s,this.hoverOrdinal=6}suggestHoverAnchor(e){if(!InlayHintsController.get(this._editor))return null;if(6!==e.target.type)return null;const t=e.target.detail.injectedText?.options;return t instanceof ModelDecorationInjectedTextOptions&&t.attachedData instanceof RenderedInlayHintLabelPart?new InlayHintsHoverAnchor(t.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof InlayHintsHoverAnchor?new AsyncIterableObject(async t=>{const{part:o}=e;if(await o.item.resolve(i),i.isCancellationRequested)return;let n,r;if("string"==typeof o.item.hint.tooltip?n=(new MarkdownString).appendText(o.item.hint.tooltip):o.item.hint.tooltip&&(n=o.item.hint.tooltip),n&&t.emitOne(new MarkdownHover(this,e.range,[n],!1,0)),isNonEmptyArray(o.item.hint.textEdits)&&t.emitOne(new MarkdownHover(this,e.range,[(new MarkdownString).appendText(localize("hint.dbl","Double-click to insert"))],!1,10001)),"string"==typeof o.part.tooltip?r=(new MarkdownString).appendText(o.part.tooltip):o.part.tooltip&&(r=o.part.tooltip),r&&t.emitOne(new MarkdownHover(this,e.range,[r],!1,1)),o.part.location||o.part.command){let i;const n="altKey"===this._editor.getOption(78)?isMacintosh?localize("links.navigate.kb.meta.mac","cmd + click"):localize("links.navigate.kb.meta","ctrl + click"):isMacintosh?localize("links.navigate.kb.alt.mac","option + click"):localize("links.navigate.kb.alt","alt + click");o.part.location&&o.part.command?i=(new MarkdownString).appendText(localize("hint.defAndCommand","Go to Definition ({0}), right click for more",n)):o.part.location?i=(new MarkdownString).appendText(localize("hint.def","Go to Definition ({0})",n)):o.part.command&&(i=new MarkdownString(`[${localize("hint.cmd","Execute Command")}](${asCommandLink(o.part.command)} "${o.part.command.title}") (${n})`,{isTrusted:!0})),i&&t.emitOne(new MarkdownHover(this,e.range,[i],!1,1e4))}const s=await this._resolveInlayHintLabelPartHover(o,i);for await(const e of s)t.emitOne(e)}):AsyncIterableObject.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return AsyncIterableObject.EMPTY;const{uri:i,range:o}=e.part.location,n=await this._resolverService.createModelReference(i);try{const i=n.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(i)?getHoverProviderResultsAsAsyncIterable(this._languageFeaturesService.hoverProvider,i,new Position$1(o.startLineNumber,o.startColumn),t).filter(e=>!isEmptyMarkdownString(e.hover.contents)).map(t=>new MarkdownHover(this,e.item.anchor.range,t.hover.contents,!1,2+t.ordinal)):AsyncIterableObject.EMPTY}finally{n.dispose()}}};InlayHintsHover=__decorate$1f([__param$1b(1,ILanguageService),__param$1b(2,IOpenerService),__param$1b(3,IKeybindingService),__param$1b(4,IHoverService),__param$1b(5,IConfigurationService),__param$1b(6,ITextModelService),__param$1b(7,ILanguageFeaturesService),__param$1b(8,ICommandService)],InlayHintsHover);class RenderedContentHover extends Disposable{constructor(e,t,i,o,n,r){super();const s=t.anchor,a=t.hoverParts;this._renderedHoverParts=this._register(new RenderedContentHoverParts(e,i,a,r,n));const{showAtPosition:l,showAtSecondaryPosition:c}=RenderedContentHover.computeHoverPositions(e,s.range,a);this.shouldAppearBeforeContent=a.some(e=>e.isBeforeContent),this.showAtPosition=l,this.showAtSecondaryPosition=c,this.initialMousePosX=s.initialMousePosX,this.initialMousePosY=s.initialMousePosY,this.shouldFocus=o.shouldFocus,this.source=o.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let o=1;if(e.hasModel()){const i=e._getViewModel(),n=i.coordinatesConverter,r=n.convertModelRangeToViewRange(t),s=i.getLineMinColumn(r.startLineNumber),a=new Position$1(r.startLineNumber,s);o=n.convertViewPositionToModelPosition(a).column}const n=t.startLineNumber;let r,s,a,l=t.startColumn;for(const c of i){const e=c.range,t=e.startLineNumber===n,i=e.endLineNumber===n;if(t&&i){const t=e.startColumn,i=Math.min(l,t);l=Math.max(i,o)}c.forceShowAtRange&&(r=e)}if(r){const e=r.getStartPosition();s=e,a=e}else s=t.getStartPosition(),a=new Position$1(n,l);return{showAtPosition:s,showAtSecondaryPosition:a}}}class RenderedStatusBar{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}class RenderedContentHoverParts extends Disposable{static{this._DECORATION_OPTIONS=ModelDecorationOptions.register({description:"content-hover-highlight",className:"hoverHighlight"})}constructor(e,t,i,o,n){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=n,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,n,o)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(0===t.length)return Disposable.None;let i=t[0].range;for(const n of t){const e=n.range;i=Range$2.plusRange(i,e)}const o=e.createDecorationsCollection();return o.set([{range:i,options:RenderedContentHoverParts._DECORATION_OPTIONS}]),toDisposable(()=>{o.clear()})}_renderParts(e,t,i,o){const n=new EditorHoverStatusBar(o),r={fragment:this._fragment,statusBar:n,...i},s=new DisposableStore;for(const l of e){const e=this._renderHoverPartsForParticipant(t,l,r);s.add(e);for(const t of e.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:l,hoverPart:t.hoverPart,hoverElement:t.hoverElement})}const a=this._renderStatusBar(this._fragment,n);return a&&(s.add(a),this._renderedParts.push({type:"statusBar",hoverElement:a.hoverElement,actions:a.actions})),toDisposable(()=>{s.dispose()})}_renderHoverPartsForParticipant(e,t,i){const o=e.filter(e=>e.owner===t);return o.length>0?t.renderHoverParts(i,o):new RenderedHoverParts([])}_renderStatusBar(e,t){if(t.hasContent)return new RenderedStatusBar(e,t)}_registerListenersOnRenderedParts(){const e=new DisposableStore;return this._renderedParts.forEach((t,i)=>{const o=t.hoverElement;o.tabIndex=0,e.add(addDisposableListener(o,EventType$1.FOCUS_IN,e=>{e.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(addDisposableListener(o,EventType$1.FOCUS_OUT,e=>{e.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(e=>e instanceof MarkdownHoverParticipant&&!(e instanceof InlayHintsHover));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(e=>e instanceof ColorHoverParticipant)}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;const o=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(void 0===o)return;const n=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,o,i);n&&(this._renderedParts[t]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:n.hoverPart,hoverElement:n.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){const i=this._renderedParts[t];if(!i||"hoverPart"!==i.type)return;if(!(i.participant===e))return;const o=this._renderedParts.findIndex(t=>"hoverPart"===t.type&&t.participant===e);if(-1===o)throw new BugIndicatingError;return t-o}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}}var __decorate$1e=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1a=function(e,t){return function(i,o){t(i,o,e)}};let ContentHoverWidgetWrapper=class extends Disposable{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new Emitter$1),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(ContentHoverWidget,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new ContentHoverComputer(this._editor,this._participants),this._hoverOperation=this._register(new HoverOperation(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of HoverParticipantRegistry.getAll()){const i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((e,t)=>e.hoverOrdinal-t.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(e=>e.handleResize?.())})),e}_registerListeners(){this._register(this._hoverOperation.onResult(e=>{if(!this._computer.anchor)return;const t=e.hasLoadingMessage?this._addLoadingMessage(e.value):e.value;this._withResult(new HoverResult(this._computer.anchor,t,e.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(addStandardDisposableListener(e,"keydown",e=>{e.equals(9)&&this.hide()})),this._register(addStandardDisposableListener(e,"mouseleave",e=>{this._onMouseLeave(e)})),this._register(TokenizationRegistry.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,o,n){if(!(this._contentHoverWidget.position&&this._currentResult))return!!e&&(this._startHoverOperationIfNecessary(e,t,i,o,!1),!0);const r=this._editor.getOption(60).sticky,s=n&&this._contentHoverWidget.isMouseGettingCloser(n.event.posx,n.event.posy);if(r&&s)return e&&this._startHoverOperationIfNecessary(e,t,i,o,!0),!0;if(!e)return this._setCurrentResult(null),!1;if(this._currentResult.anchor.equals(e))return!0;return e.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,o,!1),!0)}_startHoverOperationIfNecessary(e,t,i,o,n){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=o,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=n,this._hoverOperation.start(t))}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&0===t.hoverParts.length&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){if(!this._computer.anchor)return e;for(const t of this._participants){if(!t.createLoadingMessage)continue;const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e){this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e);if(!e.isComplete)return;const t=0===e.hoverParts.length,i=this._computer.insistOnKeepingHoverVisible;t&&i||this._setCurrentResult(e)}_showHover(e){const t=this._getHoverContext();this._renderedContentHover=new RenderedContentHover(this._editor,e,this._participants,this._computer,t,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:e=>{this._contentHoverWidget.setMinimumDimensions(e)}}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;const t=this._findHoverAnchorCandidates(e);if(!(t.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);const i=t[0];return this._startShowingOrUpdateHover(i,0,0,!1,e)}_findHoverAnchorCandidates(e){const t=[];for(const o of this._participants){if(!o.suggestHoverAnchor)continue;const i=o.suggestHoverAnchor(e);i&&t.push(i)}const i=e.target;switch(i.type){case 6:t.push(new HoverRangeAnchor(0,i.range,e.event.posx,e.event.posy));break;case 7:{const o=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&"number"==typeof i.detail.horizontalDistanceToText&&i.detail.horizontalDistanceToTextt.priority-e.priority),t}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!isMousePositionWithinElement(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,o){this._startShowingOrUpdateHover(new HoverRangeAnchor(0,e,void 0,void 0),t,i,o,null)}async updateHoverVerbosityLevel(e,t,i){this._renderedContentHover?.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){return this._renderedContentHover?.focusedHoverPartIndex??-1}containsNode(e){return!!e&&this._contentHoverWidget.getDomNode().contains(e)}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}};ContentHoverWidgetWrapper=__decorate$1e([__param$1a(1,IInstantiationService),__param$1a(2,IKeybindingService)],ContentHoverWidgetWrapper);var __decorate$1d=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$19=function(e,t){return function(i,o){t(i,o,e)}},ContentHoverController_1;let ContentHoverController=class extends Disposable{static{ContentHoverController_1=this}static{this.ID="editor.contrib.contentHover"}constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new Emitter$1),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new DisposableStore,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new RunOnceScheduler(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(ContentHoverController_1.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))):(this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))),this._listenersStore.add(this._editor.onMouseLeave(e=>this._onEditorMouseLeave(e))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(e=>this._onEditorScrollChanged(e)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0;this._shouldNotHideCurrentHoverWidget(e)||this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(e){const t=this._contentWidget?.getDomNode();return!!t&&isMousePositionWithinElement(t,e.event.posx,e.event.posy)}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;this._cancelScheduler();this._shouldNotHideCurrentHoverWidget(e)||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky;return((e,t)=>{const i=this._isMouseOnContentHoverWidget(e);return t&&i})(e,t)||(e=>{const t=this._isMouseOnContentHoverWidget(e),i=this._contentWidget?.isColorPickerVisible??!1;return t&&i})(e)||((e,t)=>(t&&this._contentWidget?.containsNode(e.event.browserEvent.view?.document.activeElement)&&!e.event.browserEvent.view?.getSelection()?.isCollapsed)??!1)(e,t)}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=e,this._contentWidget?.isFocused||this._contentWidget?.isResizing)return;const t=this._hoverSettings.sticky;if(t&&this._contentWidget?.isVisibleFromKeyboard)return;if(this._shouldNotRecomputeCurrentHoverWidget(e))return void this._reactToEditorMouseMoveRunner.cancel();const i=this._hoverSettings.hidingDelay,o=this._contentWidget?.isVisible;o&&t&&i>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(i):this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){if(!e)return;const t=e.target,i=t.element?.classList.contains("colorpicker-color-decoration"),o=this._editor.getOption(149),n=this._hoverSettings.enabled,r=this._hoverState.activatedByDecoratorClick;if(i&&("click"===o&&!r||"hover"===o&&!n||"clickAndHover"===o&&!n&&!r)||!i&&!n&&!r)return void this._hideWidgets();this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateContentWidget().showsOrWillShow(e)}_onKeyDown(e){if(!this._editor.hasModel())return;const t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=1===t.kind||2===t.kind&&(t.commandId===SHOW_OR_FOCUS_HOVER_ACTION_ID||t.commandId===INCREASE_HOVER_VERBOSITY_ACTION_ID||t.commandId===DECREASE_HOVER_VERBOSITY_ACTION_ID)&&this._contentWidget?.isVisible;5===e.keyCode||6===e.keyCode||57===e.keyCode||4===e.keyCode||i||this._hideWidgets()}_hideWidgets(){this._hoverState.mouseDown&&this._contentWidget?.isColorPickerVisible||InlineSuggestionHintsContentWidget.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._contentWidget?.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(ContentHoverWidgetWrapper,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,o,n=!1){this._hoverState.activatedByDecoratorClick=n,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,o)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}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()}};ContentHoverController=ContentHoverController_1=__decorate$1d([__param$19(1,IInstantiationService),__param$19(2,IKeybindingService)],ContentHoverController);class ColorContribution extends Disposable{static{this.ID="editor.contrib.colorContribution"}constructor(e){super(),this._editor=e,this._register(e.onMouseDown(e=>this.onMouseDown(e)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(149);if("click"!==t&&"clickAndHover"!==t)return;const i=e.target;if(6!==i.type)return;if(!i.detail.injectedText)return;if(i.detail.injectedText.options.attachedData!==ColorDecorationInjectedTextMarker)return;if(!i.range)return;const o=this._editor.getContribution(ContentHoverController.ID);if(o&&!o.isColorPickerVisible){const e=new Range$2(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);o.showContentHover(e,1,0,!1,!0)}}}registerEditorContribution(ColorContribution.ID,ColorContribution,2),HoverParticipantRegistry.register(ColorHoverParticipant);var __decorate$1c=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$18=function(e,t){return function(i,o){t(i,o,e)}},StandaloneColorPickerController_1,StandaloneColorPickerWidget_1;let StandaloneColorPickerController=class extends Disposable{static{StandaloneColorPickerController_1=this}static{this.ID="editor.contrib.standaloneColorPickerController"}constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=EditorContextKeys.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=EditorContextKeys.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(StandaloneColorPickerWidget,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(e){return e.getContribution(StandaloneColorPickerController_1.ID)}};StandaloneColorPickerController=StandaloneColorPickerController_1=__decorate$1c([__param$18(1,IContextKeyService),__param$18(2,IInstantiationService)],StandaloneColorPickerController),registerEditorContribution(StandaloneColorPickerController.ID,StandaloneColorPickerController,1);const PADDING=8,CLOSE_BUTTON_WIDTH=22;let StandaloneColorPickerWidget=class extends Disposable{static{StandaloneColorPickerWidget_1=this}static{this.ID="editor.contrib.standaloneColorPickerWidget"}constructor(e,t,i,o,n,r,s){super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=n,this._languageFeaturesService=r,this._editorWorkerService=s,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new Emitter$1),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=o.createInstance(StandaloneColorPickerParticipant,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;const a=this._editor.getSelection(),l=a?{startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},c=this._register(trackFocus(this._body));this._register(c.onDidBlur(e=>{this.hide()})),this._register(c.onDidFocus(e=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(e=>{const t=e.target.element?.classList;t&&t.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(e=>{this._render(e.value,e.foundInEditor)})),this._start(l),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return StandaloneColorPickerWidget_1.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[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(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new StandaloneColorPickerResult(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new DefaultDocumentColorProvider(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),o={fragment:i,statusBar:this._register(new EditorHoverStatusBar(this._keybindingService)),onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=e;const n=this._standaloneColorPickerParticipant.renderHoverParts(o,[e]);if(!n)return;this._register(n.disposables);const r=n.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(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),r.layout();const s=r.body,a=s.saturationBox.domNode.clientWidth,l=s.domNode.clientWidth-a-CLOSE_BUTTON_WIDTH-PADDING,c=r.body.enterButton;c?.onClicked(()=>{this.updateEditor(),this.hide()});const d=r.header;d.pickedColorNode.style.width=a+PADDING+"px";d.originalColorNode.style.width=l+"px";const u=r.header.closeButton;u?.onClicked(()=>{this.hide()}),t&&(c&&(c.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};StandaloneColorPickerWidget=StandaloneColorPickerWidget_1=__decorate$1c([__param$18(3,IInstantiationService),__param$18(4,IKeybindingService),__param$18(5,ILanguageFeaturesService),__param$18(6,IEditorWorkerService)],StandaloneColorPickerWidget);class StandaloneColorPickerResult{constructor(e,t){this.value=e,this.foundInEditor=t}}class ShowOrFocusStandaloneColorPicker extends EditorAction2{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...localize2("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:localize({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:MenuId.CommandPalette}],metadata:{description:localize2("showOrFocusStandaloneColorPickerDescription","Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){StandaloneColorPickerController.get(t)?.showOrFocus()}}class HideStandaloneColorPicker extends EditorAction{constructor(){super({id:"editor.action.hideColorPicker",label:localize({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:EditorContextKeys.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:localize2("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){StandaloneColorPickerController.get(t)?.hide()}}class InsertColorWithStandaloneColorPicker extends EditorAction{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:localize({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:EditorContextKeys.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:localize2("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){StandaloneColorPickerController.get(t)?.insertColor()}}registerEditorAction(HideStandaloneColorPicker),registerEditorAction(InsertColorWithStandaloneColorPicker),registerAction2(ShowOrFocusStandaloneColorPicker);class BlockCommentCommand{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const o=t.length;if(i+o>e.length)return!1;for(let n=0;n=65&&o<=90&&o+32===r||r>=65&&r<=90&&r+32===o))return!1}return!0}_createOperationsForBlockComment(e,t,i,o,n,r){const s=e.startLineNumber,a=e.startColumn,l=e.endLineNumber,c=e.endColumn,d=n.getLineContent(s),u=n.getLineContent(l);let h,p=d.lastIndexOf(t,a-1+t.length),g=u.indexOf(i,c-1-i.length);if(-1!==p&&-1!==g)if(s===l){d.substring(p+t.length,g).indexOf(i)>=0&&(p=-1,g=-1)}else{const e=d.substring(p+t.length),o=u.substring(0,g);(e.indexOf(i)>=0||o.indexOf(i)>=0)&&(p=-1,g=-1)}-1!==p&&-1!==g?(o&&p+t.length0&&32===u.charCodeAt(g-1)&&(i=" "+i,g-=1),h=BlockCommentCommand._createRemoveBlockCommentOperations(new Range$2(s,p+t.length+1,l,g+1),t,i)):(h=BlockCommentCommand._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=1===h.length?i:null);for(const m of h)r.addTrackedEditOperation(m.range,m.text)}static _createRemoveBlockCommentOperations(e,t,i){const o=[];return Range$2.isEmpty(e)?o.push(EditOperation.delete(new Range$2(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(o.push(EditOperation.delete(new Range$2(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),o.push(EditOperation.delete(new Range$2(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),o}static _createAddBlockCommentOperations(e,t,i,o){const n=[];return Range$2.isEmpty(e)?n.push(EditOperation.replace(new Range$2(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(n.push(EditOperation.insert(new Position$1(e.startLineNumber,e.startColumn),t+(o?" ":""))),n.push(EditOperation.insert(new Position$1(e.endLineNumber,e.endColumn),(o?" ":"")+i))),n}getEditOperations(e,t){const i=this._selection.startLineNumber,o=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const n=e.getLanguageIdAtPosition(i,o),r=this.languageConfigurationService.getLanguageConfiguration(n).comments;r&&r.blockCommentStartToken&&r.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,r.blockCommentStartToken,r.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(2===i.length){const e=i[0],t=i[1];return new Selection$1(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{const e=i[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new Selection$1(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}}class LineCommentCommand{constructor(e,t,i,o,n,r,s){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=o,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=r,this._ignoreFirstLine=s||!1}static _gatherPreflightCommentStrings(e,t,i,o){e.tokenization.tokenizeIfCheap(t);const n=e.getLanguageIdAtPosition(t,1),r=o.getLanguageConfiguration(n).comments,s=r?r.lineCommentToken:null;if(!s)return null;const a=[];for(let l=0,c=i-t+1;ls?n-1:n}}}class CommentLineAction extends EditorAction{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(ILanguageConfigurationService);if(!t.hasModel())return;const o=[],n=t.getModel().getOptions(),r=t.getOption(23),s=t.getSelections().map((e,t)=>({selection:e,index:t,ignoreFirstLine:!1}));s.sort((e,t)=>Range$2.compareRangesUsingStarts(e.selection,t.selection));let a=s[0];for(let l=1;l=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$17=function(e,t){return function(i,o){t(i,o,e)}},ContextMenuController_1;let ContextMenuController=class{static{ContextMenuController_1=this}static{this.ID="editor.contrib.contextmenu"}static get(e){return e.getContribution(ContextMenuController_1.ID)}constructor(e,t,i,o,n,r,s,a){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=o,this._keybindingService=n,this._menuService=r,this._configurationService=s,this._workspaceContextService=a,this._toDispose=new DisposableStore,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(e=>this._onContextMenu(e))),this._toDispose.add(this._editor.onMouseWheel(e=>{if(this._contextMenuIsBeingShownCount>0){const t=this._contextViewService.getContextViewElement(),i=e.srcElement;i.shadowRoot&&getShadowRoot$2(t)===i.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(e=>{this._editor.getOption(24)&&58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));if(12===e.target.type)return;if(6===e.target.type&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),11===e.target.type)return this._showScrollbarContextMenu(e.event);if(6!==e.target.type&&7!==e.target.type&&1!==e.target.type)return;if(this._editor.focus(),e.target.position){let t=!1;for(const i of this._editor.getSelections())if(i.containsPosition(e.target.position)){t=!0;break}t||this._editor.setPosition(e.target.position)}let t=null;1!==e.target.type&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],o=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const n of o){const[,t]=n;let o=0;for(const n of t)if(n instanceof SubmenuItemAction){const t=this._getMenuActions(e,n.item.submenu);t.length>0&&(i.push(new SubmenuAction(n.id,n.label,t)),o++)}else i.push(n),o++;o&&i.push(new Separator)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let o=t;if(!o){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),t=getDomNodePagePosition(this._editor.getDomNode()),i=t.left+e.left,n=t.top+e.top+e.height;o={x:i,y:n}}const n=this._editor.getOption(128)&&!isIOS$1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:n?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>o,getActions:()=>e,getActionViewItem:e=>{const t=this._keybindingFor(e);if(t)return new ActionViewItem(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});const i=e;return"function"==typeof i.getActionViewItem?i.getActionViewItem():new ActionViewItem(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel())return;if(isStandaloneEditorWorkspace(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const o=e=>({id:"menu-action-"+ ++i,label:e.label,tooltip:"",class:void 0,enabled:void 0===e.enabled||e.enabled,checked:e.checked,run:e.run}),n=(e,t,n,r,s)=>{if(!t)return o({label:e,enabled:t,run:()=>{}});const a=e=>()=>{this._configurationService.updateValue(n,e)},l=[];for(const i of s)l.push(o({label:i.label,checked:r===i.value,run:a(i.value)}));return((e,t)=>new SubmenuAction("menu-action-"+ ++i,e,t,void 0))(e,l)},r=[];r.push(o({label:localize("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),r.push(new Separator),r.push(o({label:localize("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),r.push(n(localize("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:localize("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:localize("context.minimap.size.fill","Fill"),value:"fill"},{label:localize("context.minimap.size.fit","Fit"),value:"fit"}])),r.push(n(localize("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:localize("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:localize("context.minimap.slider.always","Always"),value:"always"}]));const s=this._editor.getOption(128)&&!isIOS$1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>r,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};ContextMenuController=ContextMenuController_1=__decorate$1b([__param$17(1,IContextMenuService),__param$17(2,IContextViewService),__param$17(3,IContextKeyService),__param$17(4,IKeybindingService),__param$17(5,IMenuService),__param$17(6,IConfigurationService),__param$17(7,IWorkspaceContextService)],ContextMenuController);class ShowContextMenu extends EditorAction{constructor(){super({id:"editor.action.showContextMenu",label:localize("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:1092,weight:100}})}run(e,t){ContextMenuController.get(t)?.showContextMenu()}}registerEditorContribution(ContextMenuController.ID,ContextMenuController,2),registerEditorAction(ShowContextMenu);class CursorState{constructor(e){this.selections=e}equals(e){const t=this.selections.length;if(t!==e.selections.length)return!1;for(let i=0;i{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(e=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo)return;if(!t.oldSelections)return;if(t.oldModelVersionId!==t.modelVersionId)return;const i=new CursorState(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new StackElement(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new StackElement(new CursorState(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new StackElement(new CursorState(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}}class CursorUndo extends EditorAction{constructor(){super({id:"cursorUndo",label:localize("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2099,weight:100}})}run(e,t,i){CursorUndoRedoController.get(t)?.cursorUndo()}}class CursorRedo extends EditorAction{constructor(){super({id:"cursorRedo",label:localize("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){CursorUndoRedoController.get(t)?.cursorRedo()}}registerEditorContribution(CursorUndoRedoController.ID,CursorUndoRedoController,0),registerEditorAction(CursorUndo),registerEditorAction(CursorRedo);class DragAndDropCommand{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new Range$2(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new Selection$1(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new Selection$1(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumberthis._onEditorMouseDown(e))),this._register(this._editor.onMouseUp(e=>this._onEditorMouseUp(e))),this._register(this._editor.onMouseDrag(e=>this._onEditorMouseDrag(e))),this._register(this._editor.onMouseDrop(e=>this._onEditorMouseDrop(e))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(e=>this.onEditorKeyDown(e))),this._register(this._editor.onKeyUp(e=>this.onEditorKeyUp(e))),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(e){this._editor.getOption(35)&&!this._editor.getOption(22)&&(hasTriggerModifier(e)&&(this._modifierPressed=!0),this._mouseDown&&hasTriggerModifier(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){this._editor.getOption(35)&&!this._editor.getOption(22)&&(hasTriggerModifier(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===DragAndDropController.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(null===this._dragSelection){const e=(this._editor.getSelections()||[]).filter(e=>t.position&&e.containsPosition(t.position));if(1!==e.length)return;this._dragSelection=e[0]}hasTriggerModifier(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new Position$1(e.target.position.lineNumber,e.target.position.column);if(null===this._dragSelection){let i=null;if(e.event.shiftKey){const e=this._editor.getSelection();if(e){const{selectionStartLineNumber:o,selectionStartColumn:n}=e;i=[new Selection$1(o,n,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(e=>e.containsPosition(t)?new Selection$1(t.lineNumber,t.column,t.lineNumber,t.column):e);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(hasTriggerModifier(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(DragAndDropController.ID,new DragAndDropCommand(this._dragSelection,t,hasTriggerModifier(e.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(e){this._dndDecorationIds.set([{range:new Range$2(e.lineNumber,e.column,e.lineNumber,e.column),options:DragAndDropController._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return 6===e.type||7===e.type}_hitMargin(e){return 2===e.type||3===e.type||4===e.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}registerEditorContribution(DragAndDropController.ID,DragAndDropController,2),registerEditorContribution(CopyPasteController.ID,CopyPasteController,0),registerEditorFeature(DefaultPasteProvidersFeature),registerEditorCommand(new class extends EditorCommand{constructor(){super({id:changePasteTypeCommandId,precondition:pasteWidgetVisibleCtx,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t){return CopyPasteController.get(t)?.changePasteType()}}),registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.hidePasteWidget",precondition:pasteWidgetVisibleCtx,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t){CopyPasteController.get(t)?.clearWidgets()}}),registerEditorAction(class e extends EditorAction{static{this.argsSchema={type:"object",properties:{kind:{type:"string",description:localize("pasteAs.kind","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("pasteAs","Paste As..."),alias:"Paste As...",precondition:EditorContextKeys.writable,metadata:{description:"Paste as",args:[{name:"args",schema:e.argsSchema}]}})}run(e,t,i){let o="string"==typeof i?.kind?i.kind:void 0;return!o&&i&&(o="string"==typeof i.id?i.id:void 0),CopyPasteController.get(t)?.pasteAs(o?new HierarchicalKind(o):void 0)}}),registerEditorAction(class extends EditorAction{constructor(){super({id:"editor.action.pasteAsText",label:localize("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:EditorContextKeys.writable})}run(e,t){return CopyPasteController.get(t)?.pasteAs({providerId:DefaultTextPasteOrDropEditProvider.id})}});class TreeViewsDnDService{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class DraggedTreeItemsIdentifier{constructor(e){this.identifier=e}}const ITreeViewsDnDService=createDecorator("treeViewsDndService");registerSingleton(ITreeViewsDnDService,TreeViewsDnDService,1);var __decorate$1a=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$16=function(e,t){return function(i,o){t(i,o,e)}},DropIntoEditorController_1;const defaultProviderConfig="editor.experimental.dropIntoEditor.defaultProvider",changeDropTypeCommandId="editor.changeDropType",dropWidgetVisibleCtx=new RawContextKey("dropWidgetVisible",!1,localize("dropWidgetVisible","Whether the drop widget is showing"));let DropIntoEditorController=class extends Disposable{static{DropIntoEditorController_1=this}static{this.ID="editor.contrib.dropIntoEditorController"}static get(e){return e.getContribution(DropIntoEditorController_1.ID)}constructor(e,t,i,o,n){super(),this._configService=i,this._languageFeaturesService=o,this._treeViewsDragAndDropService=n,this.treeItemsTransfer=LocalSelectionTransfer.getInstance(),this._dropProgressManager=this._register(t.createInstance(InlineProgressManager,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(PostEditWidgetManager,"dropIntoEditor",e,dropWidgetVisibleCtx,{id:changeDropTypeCommandId,label:localize("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(t=>this.onDropIntoEditor(e,t.position,t.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){if(!i.dataTransfer||!e.hasModel())return;this._currentOperation?.cancel(),e.focus(),e.setPosition(t);const o=createCancelablePromise(async n=>{const r=new DisposableStore,s=r.add(new EditorStateCancellationTokenSource(e,1,void 0,n));try{const o=await this.extractDataTransferData(i);if(0===o.size||s.token.isCancellationRequested)return;const a=e.getModel();if(!a)return;const l=this._languageFeaturesService.documentDropEditProvider.ordered(a).filter(e=>!e.dropMimeTypes||e.dropMimeTypes.some(e=>o.matches(e))),c=r.add(await this.getDropEdits(l,a,t,o,s));if(s.token.isCancellationRequested)return;if(c.edits.length){const i=this.getInitialActiveEditIndex(a,c.edits),o="afterDrop"===e.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([Range$2.fromPositions(t)],{activeEditIndex:i,allEdits:c.edits},o,async e=>e,n)}}finally{r.dispose(),this._currentOperation===o&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,localize("dropIntoEditorProgress","Running drop handlers. Click to cancel"),o,{cancel:()=>o.cancel()}),this._currentOperation=o}async getDropEdits(e,t,i,o,n){const r=new DisposableStore,s=await raceCancellation(Promise.all(e.map(async e=>{try{const s=await e.provideDocumentDropEdits(t,i,o,n.token);return s&&r.add(s),s?.edits.map(t=>({...t,providerId:e.id}))}catch(s){console.error(s)}})),n.token);return{edits:sortEditsByYieldTo(coalesce(s??[]).flat()),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(defaultProviderConfig,{resource:e.uri});for(const[o,n]of Object.entries(i)){const e=new HierarchicalKind(n),i=t.findIndex(t=>e.value===t.providerId&&t.handledMimeType&&matchesMimeType(o,[t.handledMimeType]));if(i>=0)return i}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new VSDataTransfer;const t=toExternalVSDataTransfer(e.dataTransfer);if(this.treeItemsTransfer.hasData(DraggedTreeItemsIdentifier.prototype)){const e=this.treeItemsTransfer.getData(DraggedTreeItemsIdentifier.prototype);if(Array.isArray(e))for(const i of e){const e=await this._treeViewsDragAndDropService.removeDragOperationTransfer(i.identifier);if(e)for(const[i,o]of e)t.replace(i,o)}}return t}};DropIntoEditorController=DropIntoEditorController_1=__decorate$1a([__param$16(1,IInstantiationService),__param$16(2,IConfigurationService),__param$16(3,ILanguageFeaturesService),__param$16(4,ITreeViewsDnDService)],DropIntoEditorController),registerEditorContribution(DropIntoEditorController.ID,DropIntoEditorController,2),registerEditorFeature(DefaultDropProvidersFeature),registerEditorCommand(new class extends EditorCommand{constructor(){super({id:changeDropTypeCommandId,precondition:dropWidgetVisibleCtx,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t,i){DropIntoEditorController.get(t)?.changeDropType()}}),registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.hideDropWidget",precondition:dropWidgetVisibleCtx,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t,i){DropIntoEditorController.get(t)?.clearWidgets()}}),Registry.as(Extensions$6.Configuration).registerConfiguration({...editorConfigurationBaseNode,properties:{[defaultProviderConfig]:{type:"object",scope:5,description:localize("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class FindDecorations{constructor(e){this._editor=e,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 e=this._findScopeDecorationIds.map(e=>this._editor.getModel().getDecorationRange(e)).filter(e=>!!e);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e{if(null!==this._highlightedDecorationId&&(e.changeDecorationOptions(this._highlightedDecorationId,FindDecorations._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==t&&(this._highlightedDecorationId=t,e.changeDecorationOptions(this._highlightedDecorationId,FindDecorations._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(e.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==t){let i=this._editor.getModel().getDecorationRange(t);if(i.startLineNumber!==i.endLineNumber&&1===i.endColumn){const e=i.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);i=new Range$2(i.startLineNumber,i.startColumn,e,t)}this._rangeHighlightDecorationId=e.addDecoration(i,FindDecorations._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let o=FindDecorations._FIND_MATCH_DECORATION;const n=[];if(e.length>1e3){o=FindDecorations._FIND_MATCH_NO_OVERVIEW_DECORATION;const t=this._editor.getModel().getLineCount(),i=this._editor.getLayoutInfo().height/t,r=Math.max(2,Math.ceil(3/i));let s=e[0].range.startLineNumber,a=e[0].range.endLineNumber;for(let o=1,l=e.length;o=t.startLineNumber?t.endLineNumber>a&&(a=t.endLineNumber):(n.push({range:new Range$2(s,1,a,1),options:FindDecorations._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),s=t.startLineNumber,a=t.endLineNumber)}n.push({range:new Range$2(s,1,a,1),options:FindDecorations._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let t=0,s=e.length;ti.removeDecoration(e)),this._findScopeDecorationIds=[]),t?.length&&(this._findScopeDecorationIds=t.map(e=>i.addDecoration(e,FindDecorations._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(0===this._decorations.length)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],o=this._editor.getModel().getDecorationRange(i);if(o&&!(o.endLineNumber>e.lineNumber)){if(o.endLineNumbere.column))return o}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(0===this._decorations.length)return null;for(let t=0,i=this._decorations.length;te.lineNumber)return o;if(!(o.startColumn0){const e=[];for(let t=0;tRange$2.compareRangesUsingStarts(e.range,t.range));const i=[];let o=e[0];for(let t=1;t0?t[0].toUpperCase()+t.substr(1):e[0][0].toUpperCase()!==e[0][0]&&t.length>0?t[0].toLowerCase()+t.substr(1):t}return t}function validateSpecificSpecialCharacter(e,t,i){return-1!==e[0].indexOf(i)&&-1!==t.indexOf(i)&&e[0].split(i).length===t.split(i).length}function buildReplaceStringForSpecificSpecialCharacter(e,t,i){const o=t.split(i),n=e[0].split(i);let r="";return o.forEach((e,t)=>{r+=buildReplaceStringWithCasePreserved([n[t]],e)+i}),r.slice(0,-1)}class StaticValueReplacePattern{constructor(e){this.staticValue=e,this.kind=0}}class DynamicPiecesReplacePattern{constructor(e){this.pieces=e,this.kind=1}}class ReplacePattern{static fromStaticValue(e){return new ReplacePattern([ReplacePiece.staticValue(e)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(e){e&&0!==e.length?1===e.length&&null!==e[0].staticValue?this._state=new StaticValueReplacePattern(e[0].staticValue):this._state=new DynamicPiecesReplacePattern(e):this._state=new StaticValueReplacePattern("")}buildReplaceString(e,t){if(0===this._state.kind)return t?buildReplaceStringWithCasePreserved(e,this._state.staticValue):this._state.staticValue;let i="";for(let o=0,n=this._state.pieces.length;o0){const e=[],i=t.caseOps.length;let o=0;for(let r=0,s=n.length;r=i){e.push(n.slice(r));break}switch(t.caseOps[o]){case"U":e.push(n[r].toUpperCase());break;case"u":e.push(n[r].toUpperCase()),o++;break;case"L":e.push(n[r].toLowerCase());break;case"l":e.push(n[r].toLowerCase()),o++;break;default:e.push(n[r])}}n=e.join("")}i+=n}return i}static _substitute(e,t){if(null===t)return"";if(0===e)return t[0];let i="";for(;e>0;){if(e=n)break;const r=e.charCodeAt(o);switch(r){case 92:i.emitUnchanged(o-1),i.emitStatic("\\",o+1);break;case 110:i.emitUnchanged(o-1),i.emitStatic("\n",o+1);break;case 116:i.emitUnchanged(o-1),i.emitStatic("\t",o+1);break;case 117:case 85:case 108:case 76:i.emitUnchanged(o-1),i.emitStatic("",o+1),t.push(String.fromCharCode(r))}continue}if(36===r){if(o++,o>=n)break;const r=e.charCodeAt(o);if(36===r){i.emitUnchanged(o-1),i.emitStatic("$",o+1);continue}if(48===r||38===r){i.emitUnchanged(o-1),i.emitMatchIndex(0,o+1,t),t.length=0;continue}if(49<=r&&r<=57){let s=r-48;if(o+1{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(e=>{3!==e.reason&&5!==e.reason&&6!==e.reason||this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,dispose(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){if(!this._isDisposed&&this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)){this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},RESEARCH_DELAY)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)}}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;void 0!==t?null!==t&&(i=Array.isArray(t)?t:[t]):i=this._decorations.getFindScopes(),null!==i&&(i=i.map(e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return 1===e.endColumn&&(t-=1),new Range$2(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e}));const o=this._findMatches(i,!1,MATCHES_LIMIT);this._decorations.set(o,i);const n=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(n);if(0===r&&o.length>0){const e=findFirstIdxMonotonousOrArrLen(o.map(e=>e.range),e=>Range$2.compareRangesUsingStarts(e,n)>=0);r=e>0?e-1+1:r}this._state.changeMatchInfo(r,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:o}=e;const n=this._editor.getModel();return t||1===o?(1===i?i=n.getLineCount():i--,o=n.getLineMaxColumn(i)):o--,new Position$1(i,o)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const t=this._decorations.matchAfterPosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:o}=e;const n=this._editor.getModel();return t||o===n.getLineMaxColumn(i)?(i===n.getLineCount()?i=1:i++,o=1):o++,new Position$1(i,o)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const t=this._decorations.matchBeforePosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()FindModelBoundToEditorModel._getSearchRange(this._editor.getModel(),e));return this._editor.getModel().findMatches(this._state.searchString,o,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();null===e&&this._state.matchesCount>=MATCHES_LIMIT?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const e=new SearchParams(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e="mu";t.ignoreCase&&(e+="i"),t.global&&(e+="g"),t=new RegExp(t.source,e)}const i=this._editor.getModel(),o=i.getValue(1),n=i.getFullModelRange(),r=this._getReplacePattern();let s;const a=this._state.preserveCase;s=r.hasReplacementPatterns||a?o.replace(t,function(){return r.buildReplaceString(arguments,a)}):o.replace(t,r.buildReplaceString(null,a));const l=new ReplaceCommandThatPreservesSelection(n,s,this._editor.getSelection());this._executeEditorCommand("replaceAll",l)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),o=[];for(let r=0,s=i.length;re.range),o);this._executeEditorCommand("replaceAll",n)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let t=this._findMatches(e,!1,1073741824).map(e=>new Selection$1(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn));const i=this._editor.getSelection();for(let o=0,n=t.length;othis._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,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 o={inputActiveOptionBorder:asCssVariable(inputActiveOptionBorder),inputActiveOptionForeground:asCssVariable(inputActiveOptionForeground),inputActiveOptionBackground:asCssVariable(inputActiveOptionBackground)},n=this._register(createInstantHoverDelegate());this.caseSensitive=this._register(new CaseSensitiveToggle({appendTitle:this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:n,...o})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new WholeWordsToggle({appendTitle:this._keybindingLabelFor(FIND_IDS.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:n,...o})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new RegexToggle({appendTitle:this._keybindingLabelFor(FIND_IDS.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:n,...o})),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(e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()})),this._register(addDisposableListener(this._domNode,EventType$1.MOUSE_LEAVE,e=>this._onMouseLeave())),this._register(addDisposableListener(this._domNode,"mouseover",e=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return FindOptionsWidget.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}function effectiveOptionValue(e,t){return 1===e||2!==e&&t}class FindReplaceState extends Disposable{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return effectiveOptionValue(this._isRegexOverride,this._isRegex)}get wholeWord(){return effectiveOptionValue(this._wholeWordOverride,this._wholeWord)}get matchCase(){return effectiveOptionValue(this._matchCaseOverride,this._matchCase)}get preserveCase(){return effectiveOptionValue(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 Emitter$1),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(e,t,i){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 n=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,o.matchesPosition=!0,n=!0),this._matchesCount!==t&&(this._matchesCount=t,o.matchesCount=!0,n=!0),void 0!==i&&(Range$2.equalsRange(this._currentMatch,i)||(this._currentMatch=i,o.currentMatch=!0,n=!0)),n&&this._onFindReplaceStateChange.fire(o)}change(e,t,i=!0){const o={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let n=!1;const r=this.isRegex,s=this.wholeWord,a=this.matchCase,l=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,n=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,n=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,n=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,n=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase),void 0!==e.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&(e.searchScope?.every(e=>this._searchScope?.some(t=>!Range$2.equalsRange(t,e)))||(this._searchScope=e.searchScope,o.searchScope=!0,n=!0)),void 0!==e.loop&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,n=!0),void 0!==e.isSearching&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,n=!0),void 0!==e.filters&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,n=!0),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,r!==this.isRegex&&(n=!0,o.isRegex=!0),s!==this.wholeWord&&(n=!0,o.wholeWord=!0),a!==this.matchCase&&(n=!0,o.matchCase=!0),l!==this.preserveCase&&(n=!0,o.preserveCase=!0),n&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=MATCHES_LIMIT}}const NLS_DEFAULT_LABEL=localize("defaultLabel","input"),NLS_PRESERVE_CASE_LABEL=localize("label.preserveCaseToggle","Preserve Case");class PreserveCaseToggle extends Toggle{constructor(e){super({icon:Codicon.preserveCase,title:NLS_PRESERVE_CASE_LABEL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??getDefaultHoverDelegate("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class ReplaceInput extends Widget$1{constructor(e,t,i,o){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Emitter$1),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Emitter$1),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Emitter$1),this._onInput=this._register(new Emitter$1),this._onKeyUp=this._register(new Emitter$1),this._onPreserveCaseKeyDown=this._register(new Emitter$1),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=o.placeholder||"",this.validation=o.validation,this.label=o.label||NLS_DEFAULT_LABEL;const n=o.appendPreserveCaseLabel||"",r=o.history||[],s=!!o.flexibleHeight,a=!!o.flexibleWidth,l=o.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new HistoryInputBox(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:o.showHistoryHint,flexibleHeight:s,flexibleWidth:a,flexibleMaxHeight:l,inputBoxStyles:o.inputBoxStyles})),this.preserveCase=this._register(new PreserveCaseToggle({appendTitle:n,isChecked:!1,...o.toggleStyles})),this._register(this.preserveCase.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(e=>{this._onPreserveCaseKeyDown.fire(e)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const c=[this.preserveCase.domNode];this.onkeydown(this.domNode,e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){const t=c.indexOf(this.domNode.ownerDocument.activeElement);if(t>=0){let i=-1;e.equals(17)?i=(t+1)%c.length:e.equals(15)&&(i=0===t?c.length-1:t-1),e.equals(9)?(c[t].blur(),this.inputBox.focus()):i>=0&&c[i].focus(),EventHelper$1.stop(e,!0)}}});const d=document.createElement("div");d.className="controls",d.style.display=this._showOptionButtons?"block":"none",d.appendChild(this.preserveCase.domNode),this.domNode.appendChild(d),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,e=>this._onKeyDown.fire(e)),this.onkeyup(this.inputBox.inputElement,e=>this._onKeyUp.fire(e)),this.oninput(this.inputBox.inputElement,e=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,e=>this._onMouseDown.fire(e))}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(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var __decorate$19=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$15=function(e,t){return function(i,o){t(i,o,e)}};const historyNavigationVisible=new RawContextKey("suggestWidgetVisible",!1,localize("suggestWidgetVisible","Whether suggestion are visible")),HistoryNavigationWidgetFocusContext="historyNavigationWidgetFocus",HistoryNavigationForwardsEnablementContext="historyNavigationForwardsEnabled",HistoryNavigationBackwardsEnablementContext="historyNavigationBackwardsEnabled";let lastFocusedWidget;const widgets=[];function registerAndCreateHistoryNavigationContext(e,t){if(widgets.includes(t))throw new Error("Cannot register the same widget multiple times");widgets.push(t);const i=new DisposableStore,o=new RawContextKey(HistoryNavigationWidgetFocusContext,!1).bindTo(e),n=new RawContextKey(HistoryNavigationForwardsEnablementContext,!0).bindTo(e),r=new RawContextKey(HistoryNavigationBackwardsEnablementContext,!0).bindTo(e),s=()=>{o.set(!0),lastFocusedWidget=t},a=()=>{o.set(!1),lastFocusedWidget===t&&(lastFocusedWidget=void 0)};return isActiveElement(t.element)&&s(),i.add(t.onDidFocus(()=>s())),i.add(t.onDidBlur(()=>a())),i.add(toDisposable(()=>{widgets.splice(widgets.indexOf(t),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:r,dispose(){i.dispose()}}}let ContextScopedFindInput=class extends FindInput{constructor(e,t,i,o){super(e,t,i);const n=this._register(o.createScoped(this.inputBox.element));this._register(registerAndCreateHistoryNavigationContext(n,this.inputBox))}};ContextScopedFindInput=__decorate$19([__param$15(3,IContextKeyService)],ContextScopedFindInput);let ContextScopedReplaceInput=class extends ReplaceInput{constructor(e,t,i,o,n=!1){super(e,t,n,i);const r=this._register(o.createScoped(this.inputBox.element));this._register(registerAndCreateHistoryNavigationContext(r,this.inputBox))}};function showHistoryKeybindingHint(e){return"Up"===e.lookupKeybinding("history.showPrevious")?.getElectronAccelerator()&&"Down"===e.lookupKeybinding("history.showNext")?.getElectronAccelerator()}ContextScopedReplaceInput=__decorate$19([__param$15(3,IContextKeyService)],ContextScopedReplaceInput),KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ContextKeyExpr.and(ContextKeyExpr.has(HistoryNavigationWidgetFocusContext),ContextKeyExpr.equals(HistoryNavigationBackwardsEnablementContext,!0),ContextKeyExpr.not("isComposing"),historyNavigationVisible.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{lastFocusedWidget?.showPreviousValue()}}),KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ContextKeyExpr.and(ContextKeyExpr.has(HistoryNavigationWidgetFocusContext),ContextKeyExpr.equals(HistoryNavigationForwardsEnablementContext,!0),ContextKeyExpr.not("isComposing"),historyNavigationVisible.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{lastFocusedWidget?.showNextValue()}});const findCollapsedIcon=registerIcon("find-collapsed",Codicon.chevronRight,localize("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),findExpandedIcon=registerIcon("find-expanded",Codicon.chevronDown,localize("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),findSelectionIcon=registerIcon("find-selection",Codicon.selection,localize("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),findReplaceIcon=registerIcon("find-replace",Codicon.replace,localize("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),findReplaceAllIcon=registerIcon("find-replace-all",Codicon.replaceAll,localize("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),findPreviousMatchIcon=registerIcon("find-previous-match",Codicon.arrowUp,localize("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),findNextMatchIcon=registerIcon("find-next-match",Codicon.arrowDown,localize("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),NLS_FIND_DIALOG_LABEL=localize("label.findDialog","Find / Replace"),NLS_FIND_INPUT_LABEL=localize("label.find","Find"),NLS_FIND_INPUT_PLACEHOLDER=localize("placeholder.find","Find"),NLS_PREVIOUS_MATCH_BTN_LABEL=localize("label.previousMatchButton","Previous Match"),NLS_NEXT_MATCH_BTN_LABEL=localize("label.nextMatchButton","Next Match"),NLS_TOGGLE_SELECTION_FIND_TITLE=localize("label.toggleSelectionFind","Find in Selection"),NLS_CLOSE_BTN_LABEL=localize("label.closeButton","Close"),NLS_REPLACE_INPUT_LABEL=localize("label.replace","Replace"),NLS_REPLACE_INPUT_PLACEHOLDER=localize("placeholder.replace","Replace"),NLS_REPLACE_BTN_LABEL=localize("label.replaceButton","Replace"),NLS_REPLACE_ALL_BTN_LABEL=localize("label.replaceAllButton","Replace All"),NLS_TOGGLE_REPLACE_MODE_BTN_LABEL=localize("label.toggleReplaceButton","Toggle Replace"),NLS_MATCHES_COUNT_LIMIT_TITLE=localize("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",MATCHES_LIMIT),NLS_MATCHES_LOCATION=localize("label.matchesLocation","{0} of {1}"),NLS_NO_RESULTS=localize("label.noResults","No results"),FIND_WIDGET_INITIAL_WIDTH=419,PART_WIDTH=275,FIND_INPUT_AREA_WIDTH=PART_WIDTH-54;let MAX_MATCHES_COUNT_WIDTH=69;const FIND_INPUT_AREA_HEIGHT=33,ctrlEnterReplaceAllWarningPromptedKey="ctrlEnterReplaceAll.windows.donotask",ctrlKeyMod=isMacintosh?256:2048;class FindWidgetViewZone{constructor(e){this.afterLineNumber=e,this.heightInPx=FIND_INPUT_AREA_HEIGHT,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function stopPropagationForMultiLineUpwards(e,t,i){const o=!!t.match(/\n/);i&&o&&i.selectionStart>0&&e.stopPropagation()}function stopPropagationForMultiLineDownwards(e,t,i){const o=!!t.match(/\n/);i&&o&&i.selectionEndthis._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(e=>{if(e.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(146)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(41)){const e=this._codeEditor.getOption(41).loop;this._state.change({loop:e},!1);const t=this._codeEditor.getOption(41).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new FindWidgetViewZone(0),this._showViewZone()),!t&&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 e=await this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}})),this._findInputFocused=CONTEXT_FIND_INPUT_FOCUSED.bindTo(r),this._findFocusTracker=this._register(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=CONTEXT_REPLACE_INPUT_FOCUSED.bindTo(r),this._replaceFocusTracker=this._register(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 FindWidgetViewZone(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(e=>{e.scrollTopChanged?this._layoutViewZone():setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return FindWidget.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(92)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=getTotalWidth(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const e=this._state.searchString.length>0&&0===this._state.matchesCount;this._domNode.classList.toggle("no-results",e),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,onUnexpectedError)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let e;if(this._matchesCount.style.minWidth=MAX_MATCHES_COUNT_WIDTH+"px",this._state.matchesCount>=MATCHES_LIMIT?this._matchesCount.title=NLS_MATCHES_COUNT_LIMIT_TITLE:this._matchesCount.title="",this._matchesCount.firstChild?.remove(),this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=MATCHES_LIMIT&&(t+="+");let i=String(this._state.matchesPosition);"0"===i&&(i="?"),e=format$1(NLS_MATCHES_LOCATION,i,t)}else e=NLS_NO_RESULTS;this._matchesCount.appendChild(document.createTextNode(e)),alert(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),MAX_MATCHES_COUNT_WIDTH=Math.max(MAX_MATCHES_COUNT_WIDTH,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===NLS_NO_RESULTS)return""===i?localize("ariaSearchNoResultEmpty","{0} found",e):localize("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const o=localize("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),n=this._codeEditor.getModel();if(n&&t.startLineNumber<=n.getLineCount()&&t.startLineNumber>=1){return`${n.getLineContent(t.startLineNumber)}, ${o}`}return o}return localize("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?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 e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=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 t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;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 t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const o=getDomNodePagePosition(i),n=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),r=o.left+(n?n.left:0),s=n?n.top:0;if(this._viewZone&&se.startLineNumber&&(t=!1);const i=getTopLeftOffset(this._domNode).left;r>i&&(t=!1);const n=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());o.left+(n?n.left:0)>i&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones(i=>{t.heightInPx=this._getHeight(),this._viewZoneId=i.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new FindWidgetViewZone(0));const t=this._viewZone;this._codeEditor.changeViewZones(i=>{if(void 0!==this._viewZoneId){const o=this._getHeight();if(o===t.heightInPx)return;const n=o-t.heightInPx;return t.heightInPx=o,i.layoutZone(this._viewZoneId),void(e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n))}{let o=this._getHeight();if(o-=this._codeEditor.getOption(84).top,o<=0)return;t.heightInPx=o,this._viewZoneId=i.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+o)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{void 0!==this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const t=e.width,i=e.minimap.minimapWidth;let o=!1,n=!1,r=!1;if(this._resized){if(getTotalWidth(this._domNode)>FIND_WIDGET_INITIAL_WIDTH)return this._domNode.style.maxWidth=t-28-i-15+"px",void(this._replaceInput.width=getTotalWidth(this._findInput.domNode))}if(FIND_WIDGET_INITIAL_WIDTH+28+i>=t&&(n=!0),FIND_WIDGET_INITIAL_WIDTH+28+i-MAX_MATCHES_COUNT_WIDTH>=t&&(r=!0),FIND_WIDGET_INITIAL_WIDTH+28+i-MAX_MATCHES_COUNT_WIDTH>=t+50&&(o=!0),this._domNode.classList.toggle("collapsed-find-widget",o),this._domNode.classList.toggle("narrow-find-widget",r),this._domNode.classList.toggle("reduced-find-widget",n),r||o||(this._domNode.style.maxWidth=t-28-i-15+"px"),this._findInput.layout({collapsedFindWidget:o,narrowFindWidget:r,reducedFindWidget:n}),this._resized){const e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=getTotalWidth(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==e)&&(this._cachedHeight=e,this._domNode.style.height=`${e}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 e=this._codeEditor.getSelections();e.map(e=>{1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));const t=this._state.currentMatch;return e.startLineNumber===e.endLineNumber||Range$2.equalsRange(e,t)?null:e}).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){return e.equals(3|ctrlKeyMod)?(this._keybindingService.dispatchEvent(e,e.target)||this._findInput.inputBox.insertAtCursor("\n"),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?stopPropagationForMultiLineUpwards(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?stopPropagationForMultiLineDownwards(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(e){return e.equals(3|ctrlKeyMod)?(this._keybindingService.dispatchEvent(e,e.target)||(isWindows&&isNative&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(localize("ctrlEnter.keybindingChanged","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(ctrlEnterReplaceAllWarningPromptedKey,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?stopPropagationForMultiLineUpwards(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?stopPropagationForMultiLineDownwards(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){const t=!0,i=!0;this._findInput=this._register(new ContextScopedFindInput(null,this._contextViewProvider,{width:FIND_INPUT_AREA_WIDTH,label:NLS_FIND_INPUT_LABEL,placeholder:NLS_FIND_INPUT_PLACEHOLDER,appendCaseSensitiveLabel:this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(FIND_IDS.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(FIND_IDS.ToggleRegexCommand),validation:t=>{if(0===t.length||!this._findInput.getRegex())return null;try{return new RegExp(t,"gu"),null}catch(e){return{content:e.message}}},flexibleHeight:t,flexibleWidth:i,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>showHistoryKeybindingHint(this._keybindingService),inputBoxStyles:defaultInputBoxStyles,toggleStyles: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(e=>this._onFindInputKeyDown(e))),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(e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())})),this._register(this._findInput.onRegexKeyDown(e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(e=>{this._tryUpdateHeight()&&this._showViewZone()})),isLinux&&this._register(this._findInput.onMouseDown(e=>this._onFindInputMouseDown(e))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const o=this._register(createInstantHoverDelegate());this._prevBtn=this._register(new SimpleButton({label:NLS_PREVIOUS_MATCH_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.PreviousMatchFindAction),icon:findPreviousMatchIcon,hoverDelegate:o,onTrigger:()=>{assertIsDefined(this._codeEditor.getAction(FIND_IDS.PreviousMatchFindAction)).run().then(void 0,onUnexpectedError)}},this._hoverService)),this._nextBtn=this._register(new SimpleButton({label:NLS_NEXT_MATCH_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.NextMatchFindAction),icon:findNextMatchIcon,hoverDelegate:o,onTrigger:()=>{assertIsDefined(this._codeEditor.getAction(FIND_IDS.NextMatchFindAction)).run().then(void 0,onUnexpectedError)}},this._hoverService));const n=document.createElement("div");n.className="find-part",n.appendChild(this._findInput.domNode);const r=document.createElement("div");r.className="find-actions",n.appendChild(r),r.appendChild(this._matchesCount),r.appendChild(this._prevBtn.domNode),r.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Toggle({icon:findSelectionIcon,title:NLS_TOGGLE_SELECTION_FIND_TITLE+this._keybindingLabelFor(FIND_IDS.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:o,inputActiveOptionBackground:asCssVariable(inputActiveOptionBackground),inputActiveOptionBorder:asCssVariable(inputActiveOptionBorder),inputActiveOptionForeground:asCssVariable(inputActiveOptionForeground)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let e=this._codeEditor.getSelections();e=e.map(e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)})),r.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new SimpleButton({label:NLS_CLOSE_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.CloseFindWidgetCommand),icon:widgetClose,hoverDelegate:o,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new ContextScopedReplaceInput(null,void 0,{label:NLS_REPLACE_INPUT_LABEL,placeholder:NLS_REPLACE_INPUT_PLACEHOLDER,appendPreserveCaseLabel:this._keybindingLabelFor(FIND_IDS.TogglePreserveCaseCommand),history:[],flexibleHeight:t,flexibleWidth:i,flexibleMaxHeight:118,showHistoryHint:()=>showHistoryKeybindingHint(this._keybindingService),inputBoxStyles:defaultInputBoxStyles,toggleStyles:defaultToggleStyles},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(e=>this._onReplaceInputKeyDown(e))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(e=>{e.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(),e.preventDefault())}));const s=this._register(createInstantHoverDelegate());this._replaceBtn=this._register(new SimpleButton({label:NLS_REPLACE_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.ReplaceOneAction),icon:findReplaceIcon,hoverDelegate:s,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new SimpleButton({label:NLS_REPLACE_ALL_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.ReplaceAllAction),icon:findReplaceAllIcon,hoverDelegate:s,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const l=document.createElement("div");l.className="replace-actions",a.appendChild(l),l.appendChild(this._replaceBtn.domNode),l.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new SimpleButton({label:NLS_TOGGLE_REPLACE_MODE_BTN_LABEL,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=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=NLS_FIND_DIALOG_LABEL,this._domNode.role="dialog",this._domNode.style.width=`${FIND_WIDGET_INITIAL_WIDTH}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(n),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(a),this._resizeSash=this._register(new Sash(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let c=FIND_WIDGET_INITIAL_WIDTH;this._register(this._resizeSash.onDidStart(()=>{c=getTotalWidth(this._domNode)})),this._register(this._resizeSash.onDidChange(e=>{this._resized=!0;const t=c+e.startX-e.currentX;if(t(parseFloat(getComputedStyle$3(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=getTotalWidth(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const e=getTotalWidth(this._domNode);if(e{this._opts.onTrigger(),e.preventDefault()}),this.onkeydown(this._domNode,e=>{if(e.equals(10)||e.equals(3))return this._opts.onTrigger(),void e.preventDefault();this._opts.onKeyDown?.(e)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...ThemeIcon.asClassNameArray(findCollapsedIcon)),this._domNode.classList.add(...ThemeIcon.asClassNameArray(findExpandedIcon))):(this._domNode.classList.remove(...ThemeIcon.asClassNameArray(findExpandedIcon)),this._domNode.classList.add(...ThemeIcon.asClassNameArray(findCollapsedIcon)))}}registerThemingParticipant((e,t)=>{const i=e.getColor(editorFindMatchHighlightBorder);i&&t.addRule(`.monaco-editor .findMatch { border: 1px ${isHighContrast(e.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`);const o=e.getColor(editorFindRangeHighlightBorder);o&&t.addRule(`.monaco-editor .findScope { border: 1px ${isHighContrast(e.type)?"dashed":"solid"} ${o}; }`);const n=e.getColor(contrastBorder);n&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const r=e.getColor(editorFindMatchForeground);r&&t.addRule(`.monaco-editor .findMatchInline { color: ${r}; }`);const s=e.getColor(editorFindMatchHighlightForeground);s&&t.addRule(`.monaco-editor .currentFindMatchInline { color: ${s}; }`)});var __decorate$18=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$14=function(e,t){return function(i,o){t(i,o,e)}},CommonFindController_1;const SEARCH_STRING_MAX_LENGTH=524288;function getSelectionSearchString(e,t="single",i=!1){if(!e.hasModel())return null;const o=e.getSelection();if("single"===t&&o.startLineNumber===o.endLineNumber||"multiple"===t)if(o.isEmpty()){const t=e.getConfiguredWordAtPosition(o.getStartPosition());if(t&&!1===i)return t.word}else if(e.getModel().getValueLengthInRange(o)this._onStateChanged(e))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const e=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),e&&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(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.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!!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 e=this._editor.getSelections();e=e.map(e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=escapeRegExpCharacters(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if("single"===e.seedSearchStringFromSelection){const t=getSelectionSearchString(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(this._state.isRegex?i.searchString=escapeRegExpCharacters(t):i.searchString=t)}else if("multiple"===e.seedSearchStringFromSelection&&!e.updateSearchScope){const t=getSelectionSearchString(this._editor,e.seedSearchStringFromSelection);t&&(i.searchString=t)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const e=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(i.searchString=e)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const e=this._editor.getSelections();e.some(e=>!e.isEmpty())&&(i.searchScope=e)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new FindModelBoundToEditorModel(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(e){return!!this._model&&(this._model.moveToMatch(e),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){return!!this._model&&(this._editor.getModel()?.isTooLargeForHeapOperation()?(this._notificationService.warn(localize("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};CommonFindController=CommonFindController_1=__decorate$18([__param$14(1,IContextKeyService),__param$14(2,IStorageService),__param$14(3,IClipboardService),__param$14(4,INotificationService),__param$14(5,IHoverService)],CommonFindController);let FindController=class extends CommonFindController{constructor(e,t,i,o,n,r,s,a,l){super(e,i,s,a,r,l),this._contextViewService=t,this._keybindingService=o,this._themeService=n,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let o=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":o=!0;break;case"never":o=!1;break;case"multiline":o=!!i&&i.startLineNumber!==i.endLineNumber;break}e.updateSearchScope=e.updateSearchScope||o,await super._start(e,t),this._widget&&(2===e.shouldFocus?this._widget.focusReplaceInput():1===e.shouldFocus&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new 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 FindOptionsWidget(this._editor,this._state,this._keybindingService))}};FindController=__decorate$18([__param$14(1,IContextViewService),__param$14(2,IContextKeyService),__param$14(3,IKeybindingService),__param$14(4,IThemeService),__param$14(5,INotificationService),__param$14(6,IStorageService),__param$14(7,IClipboardService),__param$14(8,IHoverService)],FindController);const StartFindAction=registerMultiEditorAction(new MultiEditorAction({id:FIND_IDS.StartFindAction,label:localize("startFindAction","Find"),alias:"Find",precondition:ContextKeyExpr.or(EditorContextKeys.focus,ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:MenuId.MenubarEditMenu,group:"3_find",title:localize({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));StartFindAction.addImplementation(0,(e,t,i)=>{const o=CommonFindController.get(t);return!!o&&o.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})});const findArgDescription={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 StartFindWithArgsAction extends EditorAction{constructor(){super({id:FIND_IDS.StartFindWithArgs,label:localize("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:findArgDescription})}async run(e,t,i){const o=CommonFindController.get(t);if(o){const e=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:void 0!==i.replaceString,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await o.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===o.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:i?.findInSelection||!1,loop:t.getOption(41).loop},e),o.setGlobalBufferTerm(o.getState().searchString)}}}class StartFindWithSelectionAction extends EditorAction{constructor(){super({id:FIND_IDS.StartFindWithSelection,label:localize("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=CommonFindController.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}class MatchFindAction extends EditorAction{async run(e,t){const i=CommonFindController.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===i.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class NextMatchFindAction extends MatchFindAction{constructor(){super({id:FIND_IDS.NextMatchFindAction,label:localize("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:EditorContextKeys.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_FIND_INPUT_FOCUSED),primary:3,weight:100}]})}_run(e){return!!e.moveToNextMatch()&&(e.editor.pushUndoStop(),!0)}}class PreviousMatchFindAction extends MatchFindAction{constructor(){super({id:FIND_IDS.PreviousMatchFindAction,label:localize("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:EditorContextKeys.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_FIND_INPUT_FOCUSED),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class MoveToMatchFindAction extends EditorAction{constructor(){super({id:FIND_IDS.GoToMatchFindAction,label:localize("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:CONTEXT_FIND_WIDGET_VISIBLE}),this._highlightDecorations=[]}run(e,t,i){const o=CommonFindController.get(t);if(!o)return;const n=o.getState().matchesCount;if(n<1){return void e.get(INotificationService).notify({severity:Severity.Warning,message:localize("findMatchAction.noResults","No matches. Try searching for something else.")})}const r=e.get(IQuickInputService),s=new DisposableStore,a=s.add(r.createInputBox());a.placeholder=localize("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",n);const l=e=>{const t=parseInt(e);if(isNaN(t))return;const i=o.getState().matchesCount;return t>0&&t<=i?t-1:t<0&&t>=-i?i+t:void 0},c=e=>{const i=l(e);if("number"==typeof i){a.validationMessage=void 0,o.goToMatch(i);const e=o.getState().currentMatch;e&&this.addDecorations(t,e)}else a.validationMessage=localize("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",o.getState().matchesCount),this.clearDecorations(t)};s.add(a.onDidChangeValue(e=>{c(e)})),s.add(a.onDidAccept(()=>{const e=l(a.value);"number"==typeof e?(o.goToMatch(e),a.hide()):a.validationMessage=localize("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",o.getState().matchesCount)})),s.add(a.onDidHide(()=>{this.clearDecorations(t),s.dispose()})),a.show()}clearDecorations(e){e.changeDecorations(e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:themeColorFromId(overviewRulerRangeHighlight),position:OverviewRulerLane.Full}}}])})}}class SelectionMatchFindAction extends EditorAction{async run(e,t){const i=CommonFindController.get(t);if(!i)return;const o=getSelectionSearchString(t,"single",!1);o&&i.setSearchString(o),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class NextSelectionMatchFindAction extends SelectionMatchFindAction{constructor(){super({id:FIND_IDS.NextSelectionMatchFindAction,label:localize("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class PreviousSelectionMatchFindAction extends SelectionMatchFindAction{constructor(){super({id:FIND_IDS.PreviousSelectionMatchFindAction,label:localize("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const StartFindReplaceAction=registerMultiEditorAction(new MultiEditorAction({id:FIND_IDS.StartFindReplaceAction,label:localize("startReplace","Replace"),alias:"Replace",precondition:ContextKeyExpr.or(EditorContextKeys.focus,ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:MenuId.MenubarEditMenu,group:"3_find",title:localize({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));StartFindReplaceAction.addImplementation(0,(e,t,i)=>{if(!t.hasModel()||t.getOption(92))return!1;const o=CommonFindController.get(t);if(!o)return!1;const n=t.getSelection(),r=o.isFindInputFocused(),s=!n.isEmpty()&&n.startLineNumber===n.endLineNumber&&"never"!==t.getOption(41).seedSearchStringFromSelection&&!r,a=r||s?2:1;return o.start({forceRevealReplace:!0,seedSearchStringFromSelection:s?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==t.getOption(41).seedSearchStringFromSelection,shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})}),registerEditorContribution(CommonFindController.ID,FindController,0),registerEditorAction(StartFindWithArgsAction),registerEditorAction(StartFindWithSelectionAction),registerEditorAction(NextMatchFindAction),registerEditorAction(PreviousMatchFindAction),registerEditorAction(MoveToMatchFindAction),registerEditorAction(NextSelectionMatchFindAction),registerEditorAction(PreviousSelectionMatchFindAction);const FindCommand=EditorCommand.bindToContribution(CommonFindController.get);registerEditorCommand(new FindCommand({id:FIND_IDS.CloseFindWidgetCommand,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,ContextKeyExpr.not("isComposing")),primary:9,secondary:[1033]}})),registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleCaseSensitiveCommand,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:ToggleCaseSensitiveKeybinding.primary,mac:ToggleCaseSensitiveKeybinding.mac,win:ToggleCaseSensitiveKeybinding.win,linux:ToggleCaseSensitiveKeybinding.linux}})),registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleWholeWordCommand,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:ToggleWholeWordKeybinding.primary,mac:ToggleWholeWordKeybinding.mac,win:ToggleWholeWordKeybinding.win,linux:ToggleWholeWordKeybinding.linux}})),registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleRegexCommand,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:ToggleRegexKeybinding.primary,mac:ToggleRegexKeybinding.mac,win:ToggleRegexKeybinding.win,linux:ToggleRegexKeybinding.linux}})),registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleSearchScopeCommand,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:ToggleSearchScopeKeybinding.primary,mac:ToggleSearchScopeKeybinding.mac,win:ToggleSearchScopeKeybinding.win,linux:ToggleSearchScopeKeybinding.linux}})),registerEditorCommand(new FindCommand({id:FIND_IDS.TogglePreserveCaseCommand,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:TogglePreserveCaseKeybinding.primary,mac:TogglePreserveCaseKeybinding.mac,win:TogglePreserveCaseKeybinding.win,linux:TogglePreserveCaseKeybinding.linux}})),registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceOneAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:3094}})),registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceOneAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_REPLACE_INPUT_FOCUSED),primary:3}})),registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceAllAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:2563}})),registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceAllAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_REPLACE_INPUT_FOCUSED),primary:void 0,mac:{primary:2051}}})),registerEditorCommand(new FindCommand({id:FIND_IDS.SelectAllMatchesAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:515}}));const foldSourceAbbr={0:" ",1:"u",2:"r"},MAX_FOLDING_REGIONS=65535,MAX_LINE_NUMBER=16777215,MASK_INDENT=4278190080;class BitField{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return!!(this._states[t]&1<MAX_FOLDING_REGIONS)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new BitField(e.length),this._userDefinedStates=new BitField(e.length),this._recoveredStates=new BitField(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(t,i)=>{const o=e[e.length-1];return this.getStartLineNumber(o)<=t&&this.getEndLineNumber(o)>=i};for(let i=0,o=this._startIndexes.length;iMAX_LINE_NUMBER||n>MAX_LINE_NUMBER)throw new Error("startLineNumber or endLineNumber must not exceed "+MAX_LINE_NUMBER);for(;e.length>0&&!t(o,n);)e.pop();const r=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=o+((255&r)<<24),this._endIndexes[i]=n+((65280&r)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&MAX_LINE_NUMBER}getEndLineNumber(e){return this._endIndexes[e]&MAX_LINE_NUMBER}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){1===t?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):2===t?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let o=0;o>>24)+((this._endIndexes[e]&MASK_INDENT)>>>16);return t===MAX_FOLDING_REGIONS?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(0===i)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(e)?i=>ii=d.startLineNumber))c&&c.startLineNumber===d.startLineNumber?(1===d.source?e=d:(e=c,e.isCollapsed=d.isCollapsed&&(c.endLineNumber===d.endLineNumber||!o?.startsInside(c.startLineNumber+1,c.endLineNumber+1)),e.source=0),c=r(++a)):(e=d,d.isCollapsed&&0===d.source&&(e.source=2)),d=s(++l);else{let t=l,i=d;for(;;){if(!i||i.startLineNumber>c.endLineNumber){e=c;break}if(1===i.source&&i.endLineNumber>c.endLineNumber)break;i=s(++t)}c=r(++a)}if(e){for(;h&&h.endLineNumbere.startLineNumber&&e.startLineNumber>p&&e.endLineNumber<=i&&(!h||h.endLineNumber>=e.endLineNumber)&&(g.push(e),p=e.startLineNumber,h&&u.push(h),h=e)}}return g}}class FoldingRegion{constructor(e,t){this.ranges=e,this.index=t}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(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class FoldingModel{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Emitter$1,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new FoldingRegions(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((e,t)=>e.regionIndex-t.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let o=0,n=-1,r=-1;const s=e=>{for(;or&&(r=e),o++}};for(const a of e){const e=a.regionIndex,i=this._editorDecorationIds[e];if(i&&!t[i]){t[i]=!0,s(e);const o=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,o),n=Math.max(n,this._regions.getEndLineNumber(e))}}s(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=t=>{for(const i of e)if(!(i.startLineNumber>t.endLineNumber||t.startLineNumber>i.endLineNumber))return!0;return!1};for(let o=0;oi&&(i=r)}this._decorationProvider.changeDecorations(e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){const t=[];for(let i=0,o=this._regions.length;i=n.endLineNumber||n.startLineNumber<1||n.endLineNumber>i)continue;const r=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);t.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,isCollapsed:n.isCollapsed,source:n.source,checksum:r})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const n of e){if(n.startLineNumber>=n.endLineNumber||n.startLineNumber<1||n.endLineNumber>i)continue;const e=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);n.checksum&&e!==n.checksum||t.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,type:void 0,isCollapsed:n.isCollapsed??!0,source:n.source??0})}const o=FoldingRegions.sanitizeAndMerge(this._regions,t,i);this.updatePost(FoldingRegions.fromFoldRanges(o))}_getLinesChecksum(e,t){return hash$3(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let o=this._regions.findRange(e),n=1;for(;o>=0;){const e=this._regions.toRegion(o);t&&!t(e,n)||i.push(e),n++,o=e.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],o=e?e.regionIndex+1:0,n=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length){const e=[];for(let r=o,s=this._regions.length;r0&&!o.containedBy(e[e.length-1]);)e.pop();e.push(o),t(o,e.length)&&i.push(o)}}else for(let r=o,s=this._regions.length;r1){const r=e.getRegionsInside(i,(e,i)=>e.isCollapsed!==n&&i0)for(const r of o){const o=e.getRegionAtLine(r);if(o&&(o.isCollapsed!==t&&n.push(o),i>1)){const r=e.getRegionsInside(o,(e,o)=>e.isCollapsed!==t&&oe.isCollapsed!==t&&oe.isCollapsed!==t&&o<=i);n.push(...o)}e.toggleCollapseState(n)}function setCollapseStateUp(e,t,i){const o=[];for(const n of i){const i=e.getAllRegionsAtLine(n,e=>e.isCollapsed!==t);i.length>0&&o.push(i[0])}e.toggleCollapseState(o)}function setCollapseStateAtLevel(e,t,i,o){const n=e.getRegionsInside(null,(e,n)=>n===t&&e.isCollapsed!==i&&!o.some(t=>e.containsLine(t)));e.toggleCollapseState(n)}function setCollapseStateForRest(e,t,i){const o=[];for(const r of i){const t=e.getAllRegionsAtLine(r,void 0);t.length>0&&o.push(t[0])}const n=e.getRegionsInside(null,e=>o.every(t=>!t.containedBy(e)&&!e.containedBy(t))&&e.isCollapsed!==t);e.toggleCollapseState(n)}function setCollapseStateForMatchingLines(e,t,i){const o=e.textModel,n=e.regions,r=[];for(let s=n.length-1;s>=0;s--)if(i!==n.isCollapsed(s)){const e=n.getStartLineNumber(s);t.test(o.getLineContent(e))&&r.push(n.toRegion(s))}e.toggleCollapseState(r)}function setCollapseStateForType(e,t,i){const o=e.regions,n=[];for(let r=o.length-1;r>=0;r--)i!==o.isCollapsed(r)&&t===o.getType(r)&&n.push(o.toRegion(r));e.toggleCollapseState(n)}function getParentFoldLine(e,t){let i=null;const o=t.getRegionAtLine(e);if(null!==o&&(i=o.startLineNumber,e===i)){const e=o.parentIndex;i=-1!==e?t.regions.getStartLineNumber(e):null}return i}function getPreviousFoldLine(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){if(e!==i.startLineNumber)return i.startLineNumber;{const e=i.parentIndex;let o=0;for(-1!==e&&(o=t.regions.getStartLineNumber(i.parentIndex));null!==i;){if(!(i.regionIndex>0))return null;if(i=t.regions.toRegion(i.regionIndex-1),i.startLineNumber<=o)return null;if(i.parentIndex===e)return i.startLineNumber}}}else if(t.regions.length>0)for(i=t.regions.toRegion(t.regions.length-1);null!==i;){if(i.startLineNumber0?t.regions.toRegion(i.regionIndex-1):null}return null}function getNextFoldLine(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){const e=i.parentIndex;let o=0;if(-1!==e)o=t.regions.getEndLineNumber(i.parentIndex);else{if(0===t.regions.length)return null;o=t.regions.getEndLineNumber(t.regions.length-1)}for(;null!==i;){if(!(i.regionIndex=o)return null;if(i.parentIndex===e)return i.startLineNumber}}else if(t.regions.length>0)for(i=t.regions.toRegion(0);null!==i;){if(i.startLineNumber>e)return i.startLineNumber;i=i.regionIndexthis.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(e=>e.range.endLineNumber!==e.range.startLineNumber||0!==countEOL(e.text)[0]))}updateHiddenRanges(){let e=!1;const t=[];let i=0,o=0,n=Number.MAX_VALUE,r=-1;const s=this._foldingModel.regions;for(;i0}isHidden(e){return null!==findRange(this._hiddenRanges,e)}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let o=null;const n=e=>(o&&isInside$1(e,o)||(o=findRange(this._hiddenRanges,e)),o?o.startLineNumber-1:null);for(let r=0,s=e.length;r0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function isInside$1(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}function findRange(e,t){const i=findFirstIdxMonotonousOrArrLen(e,e=>t=0&&e[i].endLineNumber>=t?e[i]:null}const MAX_FOLDING_REGIONS_FOR_INDENT_DEFAULT=5e3,ID_INDENT_PROVIDER="indent";class IndentRangeProvider{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=ID_INDENT_PROVIDER}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,o=t&&t.markers;return Promise.resolve(computeRanges(this.editorModel,i,o,this.foldingRangesLimit))}}let RangesCollector$1=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>MAX_LINE_NUMBER||t>MAX_LINE_NUMBER)return;const o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=this._length-1,o=0;i>=0;i--,o++)e[o]=this._startIndexes[i],t[o]=this._endIndexes[i];return new FoldingRegions(e,t)}{this._foldingRangesLimit.update(this._length,t);let i=0,o=this._indentOccurrences.length;for(let e=0;et){o=e;break}i+=n}}const n=e.getOptions().tabSize,r=new Uint32Array(t),s=new Uint32Array(t);for(let a=this._length-1,l=0;a>=0;a--){const c=this._startIndexes[a],d=computeIndentLevel(e.getLineContent(c),n);(d{}};function computeRanges(e,t,i,o=foldingRangesLimitDefault){const n=e.getOptions().tabSize,r=new RangesCollector$1(o);let s;i&&(s=new RegExp(`(${i.start.source})|(?:${i.end.source})`));const a=[],l=e.getLineCount()+1;a.push({indent:-1,endAbove:l,line:l});for(let c=e.getLineCount();c>0;c--){const i=e.getLineContent(c),o=computeIndentLevel(i,n);let l,d=a[a.length-1];if(-1!==o){if(s&&(l=i.match(s))){if(!l[1]){a.push({indent:-2,endAbove:c,line:c});continue}{let e=a.length-1;for(;e>0&&-2!==a[e].indent;)e--;if(e>0){a.length=e+1,d=a[e],r.insertFirst(c,d.line,o),d.line=c,d.indent=o,d.endAbove=c;continue}}}if(d.indent>o){do{a.pop(),d=a[a.length-1]}while(d.indent>o);const e=d.endAbove-1;e-c>=1&&r.insertFirst(c,e,o)}d.indent===o?d.endAbove=c:a.push({indent:o,endAbove:c,line:c})}else t&&(d.endAbove=c)}return r.toIndentRanges(e)}const foldBackground=registerColor("editor.foldBackground",{light:transparent(editorSelectionBackground,.3),dark:transparent(editorSelectionBackground,.3),hcDark:null,hcLight:null},localize("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},localize("collapsedTextColor","Color of the collapsed text after the first line of a folded range.")),registerColor("editorGutter.foldingControlForeground",iconForeground,localize("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const foldingExpandedIcon=registerIcon("folding-expanded",Codicon.chevronDown,localize("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),foldingCollapsedIcon=registerIcon("folding-collapsed",Codicon.chevronRight,localize("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),foldingManualCollapsedIcon=registerIcon("folding-manual-collapsed",foldingCollapsedIcon,localize("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),foldingManualExpandedIcon=registerIcon("folding-manual-expanded",foldingExpandedIcon,localize("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),foldedBackgroundMinimap={color:themeColorFromId(foldBackground),position:1},collapsed=localize("linesCollapsed","Click to expand the range."),expanded=localize("linesExpanded","Click to collapse the range.");class FoldingDecorationProvider{static{this.COLLAPSED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed,firstLineDecorationClassName:ThemeIcon.asClassName(foldingCollapsedIcon)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap,isWholeLine:!0,linesDecorationsTooltip:collapsed,firstLineDecorationClassName:ThemeIcon.asClassName(foldingCollapsedIcon)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed,firstLineDecorationClassName:ThemeIcon.asClassName(foldingManualCollapsedIcon)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap,isWholeLine:!0,linesDecorationsTooltip:collapsed,firstLineDecorationClassName:ThemeIcon.asClassName(foldingManualCollapsedIcon)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap,isWholeLine:!0,linesDecorationsTooltip:collapsed})}static{this.EXPANDED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon.asClassName(foldingExpandedIcon),linesDecorationsTooltip:expanded})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ThemeIcon.asClassName(foldingExpandedIcon),linesDecorationsTooltip:expanded})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon.asClassName(foldingManualExpandedIcon),linesDecorationsTooltip:expanded})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:ThemeIcon.asClassName(foldingManualExpandedIcon),linesDecorationsTooltip:expanded})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-hidden-range-decoration",stickiness:1})}constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?FoldingDecorationProvider.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?e?this.showFoldingHighlights?FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:FoldingDecorationProvider.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?FoldingDecorationProvider.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:FoldingDecorationProvider.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?FoldingDecorationProvider.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:FoldingDecorationProvider.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?i?FoldingDecorationProvider.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:FoldingDecorationProvider.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?FoldingDecorationProvider.MANUALLY_EXPANDED_VISUAL_DECORATION:FoldingDecorationProvider.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}const foldingContext={},ID_SYNTAX_PROVIDER="syntax";class SyntaxRangeProvider{constructor(e,t,i,o,n){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=o,this.fallbackRangeProvider=n,this.id=ID_SYNTAX_PROVIDER,this.disposables=new DisposableStore,n&&this.disposables.add(n);for(const r of t)"function"==typeof r.onDidChange&&this.disposables.add(r.onDidChange(i))}compute(e){return collectSyntaxRanges(this.providers,this.editorModel,e).then(t=>{if(t){return sanitizeRanges(t,this.foldingRangesLimit)}return this.fallbackRangeProvider?.compute(e)??null})}dispose(){this.disposables.dispose()}}function collectSyntaxRanges(e,t,i){let o=null;const n=e.map((e,n)=>Promise.resolve(e.provideFoldingRanges(t,foldingContext,i)).then(e=>{if(!i.isCancellationRequested&&Array.isArray(e)){Array.isArray(o)||(o=[]);const i=t.getLineCount();for(const t of e)t.start>0&&t.end>t.start&&t.end<=i&&o.push({start:t.start,end:t.end,rank:n,kind:t.kind})}},onUnexpectedExternalError));return Promise.all(n).then(e=>o)}class RangesCollector{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,o){if(e>MAX_LINE_NUMBER||t>MAX_LINE_NUMBER)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._nestingLevels[n]=o,this._types[n]=i,this._length++,o<30&&(this._nestingLevelCounts[o]=(this._nestingLevelCounts[o]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=0;ie){i=s;break}t+=o}}const o=new Uint32Array(e),n=new Uint32Array(e),r=[];for(let s=0,a=0;s{let i=e.start-t.start;return 0===i&&(i=e.rank-t.rank),i}),o=new RangesCollector(t);let n;const r=[];for(const s of i)if(n){if(s.start>n.start)if(s.end<=n.end)r.push(n),n=s,o.add(s.start,s.end,s.kind&&s.kind.value,r.length);else{if(s.start>n.end){do{n=r.pop()}while(n&&s.start>n.end);n&&r.push(n),n=s}o.add(s.start,s.end,s.kind&&s.kind.value,r.length)}}else n=s,o.add(s.start,s.end,s.kind&&s.kind.value,r.length);return o.toIndentRanges()}var __decorate$17=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$13=function(e,t){return function(i,o){t(i,o,e)}},FoldingController_1;const CONTEXT_FOLDING_ENABLED=new RawContextKey("foldingEnabled",!1);let FoldingController=class extends Disposable{static{FoldingController_1=this}static{this.ID="editor.contrib.folding"}static get(e){return e.getContribution(FoldingController_1.ID)}static getFoldingRangeProviders(e,t){const i=e.foldingRangeProvider.ordered(t);return FoldingController_1._foldingRangeSelector?.(i,t)??i}constructor(e,t,i,o,n,r){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=r,this.localToDispose=this._register(new DisposableStore),this.editor=e,this._foldingLimitReporter=new RangesLimitReporter(e);const s=this.editor.getOptions();this._isEnabled=s.get(43),this._useFoldingProviders="indentation"!==s.get(44),this._unfoldOnClickAfterEndOfLine=s.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=s.get(46),this.updateDebounceInfo=n.for(r.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 FoldingDecorationProvider(e),this.foldingDecorationProvider.showFoldingControls=s.get(111),this.foldingDecorationProvider.showFoldingHighlights=s.get(45),this.foldingEnabled=CONTEXT_FOLDING_ENABLED.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(e=>{if(e.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(47)&&this.onModelChanged(),e.hasChanged(111)||e.hasChanged(45)){const e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(111),this.foldingDecorationProvider.showFoldingHighlights=e.get(45),this.triggerFoldingModelChanged()}e.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),e.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),e.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();this._isEnabled&&e&&!e.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new FoldingModel(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new HiddenRangeModel(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(e=>this.onHiddenRangesChanges(e))),this.updateScheduler=new Delayer(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new 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(e=>this.onDidChangeModelContent(e))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(e=>this.onEditorMouseDown(e))),this.localToDispose.add(this.editor.onMouseUp(e=>this.onEditorMouseUp(e))),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(e){if(this.rangeProvider)return this.rangeProvider;const t=new IndentRangeProvider(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=FoldingController_1.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new SyntaxRangeProvider(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){this.hiddenRangeModel?.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new StopWatch,i=this.getRangeProvider(e.textModel),o=this.foldingRegionPromise=createCancelablePromise(e=>i.compute(e));return o.then(i=>{if(i&&o===this.foldingRegionPromise){let o;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const e=i.setCollapsedAllOfType(FoldingRangeKind.Imports.value,!0);e&&(o=StableEditorScrollState.capture(this.editor),this._currentModelHasFoldedImports=e)}const n=this.editor.getSelections();e.update(i,toSelectedLines(n)),o?.restore(this.editor);const r=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return e})}).then(void 0,e=>(onUnexpectedError(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(e=>{if(e){const t=this.editor.getSelections();if(t&&t.length>0){const i=[];for(const o of t){const t=o.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&i.push(...e.getAllRegionsAtLine(t,e=>e.isCollapsed&&t>e.startLineNumber))}i.length&&(e.toggleCollapseState(i),this.reveal(t[0].getPosition()))}}}).then(void 0,onUnexpectedError)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range)return;if(!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const t=e.target.detail,o=e.target.element.offsetLeft;if(t.offsetX-o<4)return;i=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){if(!e.target.detail.isAfterLines)break}return;case 6:if(this.hiddenRangeModel.hasRanges()){const e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,o=this.mouseDownInfo.iconClicked,n=e.target.range;if(!n||n.startLineNumber!==i)return;if(o){if(4!==e.target.type)return}else{const e=this.editor.getModel();if(!e||n.startColumn!==e.getLineMaxColumn(i))return}const r=t.getRegionAtLine(i);if(r&&r.startLineNumber===i){const n=r.isCollapsed;if(o||n){let o=[];if(e.event.altKey){const e=e=>!e.containedBy(r)&&!r.containedBy(e),i=t.getRegionsInside(null,e);for(const t of i)t.isCollapsed&&o.push(t);0===o.length&&(o=i)}else{const i=e.event.middleButton||e.event.shiftKey;if(i)for(const e of t.getRegionsInside(r))e.isCollapsed===n&&o.push(e);!n&&i&&0!==o.length||o.push(r)}t.toggleCollapseState(o),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};FoldingController=FoldingController_1=__decorate$17([__param$13(1,IContextKeyService),__param$13(2,ILanguageConfigurationService),__param$13(3,INotificationService),__param$13(4,ILanguageFeatureDebounceService),__param$13(5,ILanguageFeaturesService)],FoldingController);class RangesLimitReporter{constructor(e){this.editor=e,this._onDidChange=new Emitter$1,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}class FoldingAction extends EditorAction{runEditorCommand(e,t,i){const o=e.get(ILanguageConfigurationService),n=FoldingController.get(t);if(!n)return;const r=n.getFoldingModel();return r?(this.reportTelemetry(e,t),r.then(e=>{if(e){this.invoke(n,e,t,i,o);const r=t.getSelection();r&&n.reveal(r.getStartPosition())}})):void 0}getSelectedLines(e){const t=e.getSelections();return t?t.map(e=>e.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(e=>e+1):this.getSelectedLines(t)}run(e,t){}}function toSelectedLines(e){return e&&0!==e.length?{startsInside(t,i){for(const o of e){const e=o.startLineNumber;if(e>=t&&e<=i)return!0}return!1}}:{startsInside:()=>!1}}function foldingArgumentsConstraint(e){if(!isUndefined$4(e)){if(!isObject$6(e))return!1;const t=e;if(!isUndefined$4(t.levels)&&!isNumber$5(t.levels))return!1;if(!isUndefined$4(t.direction)&&!isString$4(t.direction))return!1;if(!(isUndefined$4(t.selectionLines)||Array.isArray(t.selectionLines)&&t.selectionLines.every(isNumber$5)))return!1}return!0}class UnfoldAction extends FoldingAction{constructor(){super({id:"editor.unfold",label:localize("unfoldAction.label","Unfold"),alias:"Unfold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr: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:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:foldingArgumentsConstraint,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,o){const n=o&&o.levels||1,r=this.getLineNumbers(o,i);o&&"up"===o.direction?setCollapseStateLevelsUp(t,!1,n,r):setCollapseStateLevelsDown(t,!1,n,r)}}class UnFoldRecursivelyAction extends FoldingAction{constructor(){super({id:"editor.unfoldRecursively",label:localize("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2142),weight:100}})}invoke(e,t,i,o){setCollapseStateLevelsDown(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class FoldAction extends FoldingAction{constructor(){super({id:"editor.fold",label:localize("foldAction.label","Fold"),alias:"Fold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr: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:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:foldingArgumentsConstraint,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,o){const n=this.getLineNumbers(o,i),r=o&&o.levels,s=o&&o.direction;"number"!=typeof r&&"string"!=typeof s?setCollapseStateUp(t,!0,n):"up"===s?setCollapseStateLevelsUp(t,!0,r||1,n):setCollapseStateLevelsDown(t,!0,r||1,n)}}class ToggleFoldAction extends FoldingAction{constructor(){super({id:"editor.toggleFold",label:localize("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2090),weight:100}})}invoke(e,t,i){toggleCollapseState(t,1,this.getSelectedLines(i))}}class FoldRecursivelyAction extends FoldingAction{constructor(){super({id:"editor.foldRecursively",label:localize("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2140),weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);setCollapseStateLevelsDown(t,!0,Number.MAX_VALUE,o)}}class ToggleFoldRecursivelyAction extends FoldingAction{constructor(){super({id:"editor.toggleFoldRecursively",label:localize("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,3114),weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);toggleCollapseState(t,Number.MAX_VALUE,o)}}class FoldAllBlockCommentsAction extends FoldingAction{constructor(){super({id:"editor.foldAllBlockComments",label:localize("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2138),weight:100}})}invoke(e,t,i,o,n){if(t.regions.hasTypes())setCollapseStateForType(t,FoldingRangeKind.Comment.value,!0);else{const e=i.getModel();if(!e)return;const o=n.getLanguageConfiguration(e.getLanguageId()).comments;if(o&&o.blockCommentStartToken){setCollapseStateForMatchingLines(t,new RegExp("^\\s*"+escapeRegExpCharacters(o.blockCommentStartToken)),!0)}}}}class FoldAllRegionsAction extends FoldingAction{constructor(){super({id:"editor.foldAllMarkerRegions",label:localize("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2077),weight:100}})}invoke(e,t,i,o,n){if(t.regions.hasTypes())setCollapseStateForType(t,FoldingRangeKind.Region.value,!0);else{const e=i.getModel();if(!e)return;const o=n.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(o&&o.markers&&o.markers.start){setCollapseStateForMatchingLines(t,new RegExp(o.markers.start),!0)}}}}class UnfoldAllRegionsAction extends FoldingAction{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:localize("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2078),weight:100}})}invoke(e,t,i,o,n){if(t.regions.hasTypes())setCollapseStateForType(t,FoldingRangeKind.Region.value,!1);else{const e=i.getModel();if(!e)return;const o=n.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(o&&o.markers&&o.markers.start){setCollapseStateForMatchingLines(t,new RegExp(o.markers.start),!1)}}}}class FoldAllExceptAction extends FoldingAction{constructor(){super({id:"editor.foldAllExcept",label:localize("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2136),weight:100}})}invoke(e,t,i){setCollapseStateForRest(t,!0,this.getSelectedLines(i))}}class UnfoldAllExceptAction extends FoldingAction{constructor(){super({id:"editor.unfoldAllExcept",label:localize("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2134),weight:100}})}invoke(e,t,i){setCollapseStateForRest(t,!1,this.getSelectedLines(i))}}class FoldAllAction extends FoldingAction{constructor(){super({id:"editor.foldAll",label:localize("foldAllAction.label","Fold All"),alias:"Fold All",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2069),weight:100}})}invoke(e,t,i){setCollapseStateLevelsDown(t,!0)}}class UnfoldAllAction extends FoldingAction{constructor(){super({id:"editor.unfoldAll",label:localize("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2088),weight:100}})}invoke(e,t,i){setCollapseStateLevelsDown(t,!1)}}class FoldLevelAction extends FoldingAction{static{this.ID_PREFIX="editor.foldLevel"}static{this.ID=e=>FoldLevelAction.ID_PREFIX+e}getFoldingLevel(){return parseInt(this.id.substr(FoldLevelAction.ID_PREFIX.length))}invoke(e,t,i){setCollapseStateAtLevel(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}class GotoParentFoldAction extends FoldingAction{constructor(){super({id:"editor.gotoParentFold",label:localize("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);if(o.length>0){const e=getParentFoldLine(o[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}class GotoPreviousFoldAction extends FoldingAction{constructor(){super({id:"editor.gotoPreviousFold",label:localize("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);if(o.length>0){const e=getPreviousFoldLine(o[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}class GotoNextFoldAction extends FoldingAction{constructor(){super({id:"editor.gotoNextFold",label:localize("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);if(o.length>0){const e=getNextFoldLine(o[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}class FoldRangeFromSelectionAction extends FoldingAction{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:localize("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2135),weight:100}})}invoke(e,t,i){const o=[],n=i.getSelections();if(n){for(const e of n){let t=e.endLineNumber;1===e.endColumn&&--t,t>e.startLineNumber&&(o.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(o.length>0){o.sort((e,t)=>e.startLineNumber-t.startLineNumber);const e=FoldingRegions.sanitizeAndMerge(t.regions,o,i.getModel()?.getLineCount());t.updatePost(FoldingRegions.fromFoldRanges(e))}}}}class RemoveFoldRangeFromSelectionAction extends FoldingAction{constructor(){super({id:"editor.removeManualFoldingRanges",label:localize("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2137),weight:100}})}invoke(e,t,i){const o=i.getSelections();if(o){const i=[];for(const e of o){const{startLineNumber:t,endLineNumber:o}=e;i.push(o>=t?{startLineNumber:t,endLineNumber:o}:{endLineNumber:o,startLineNumber:t})}t.removeManualRanges(i),e.triggerFoldingModelChanged()}}}registerEditorContribution(FoldingController.ID,FoldingController,0),registerEditorAction(UnfoldAction),registerEditorAction(UnFoldRecursivelyAction),registerEditorAction(FoldAction),registerEditorAction(FoldRecursivelyAction),registerEditorAction(ToggleFoldRecursivelyAction),registerEditorAction(FoldAllAction),registerEditorAction(UnfoldAllAction),registerEditorAction(FoldAllBlockCommentsAction),registerEditorAction(FoldAllRegionsAction),registerEditorAction(UnfoldAllRegionsAction),registerEditorAction(FoldAllExceptAction),registerEditorAction(UnfoldAllExceptAction),registerEditorAction(ToggleFoldAction),registerEditorAction(GotoParentFoldAction),registerEditorAction(GotoPreviousFoldAction),registerEditorAction(GotoNextFoldAction),registerEditorAction(FoldRangeFromSelectionAction),registerEditorAction(RemoveFoldRangeFromSelectionAction);for(let t=1;t<=7;t++)registerInstantiatedEditorAction(new FoldLevelAction({id:FoldLevelAction.ID(t),label:localize("foldLevelAction.label","Fold Level {0}",t),alias:`Fold Level ${t}`,precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2048|21+t),weight:100}}));CommandsRegistry.registerCommand("_executeFoldingRangeProvider",async function(e,...t){const[i]=t;if(!(i instanceof URI))throw illegalArgument();const o=e.get(ILanguageFeaturesService),n=e.get(IModelService).getModel(i);if(!n)throw illegalArgument();const r=e.get(IConfigurationService);if(!r.getValue("editor.folding",{resource:i}))return[];const s=e.get(ILanguageConfigurationService),a=r.getValue("editor.foldingStrategy",{resource:i}),l={get limit(){return r.getValue("editor.foldingMaximumRegions",{resource:i})},update:(e,t)=>{}},c=new IndentRangeProvider(n,s,l);let d=c;if("indentation"!==a){const e=FoldingController.getFoldingRangeProviders(o,n);e.length&&(d=new SyntaxRangeProvider(n,e,()=>{},l,c))}const u=await d.compute(CancellationToken.None),h=[];try{if(u)for(let e=0;e=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$12=function(e,t){return function(i,o){t(i,o,e)}};let FormatOnType=class{static{this.ID="editor.contrib.autoFormat"}constructor(e,t,i,o){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=o,this._disposables=new DisposableStore,this._sessionDisposables=new DisposableStore,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(e=>{e.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new CharacterSet;for(const o of t.autoFormatTriggerCharacters)i.add(o.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(e=>{const t=e.charCodeAt(e.length-1);i.has(t)&&this._trigger(String.fromCharCode(t))}))}_trigger(e){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),o=new CancellationTokenSource$1,n=this._editor.onDidChangeModelContent(e=>{if(e.isFlush)return o.cancel(),void n.dispose();for(let t=0,r=e.changes.length;t{o.token.isCancellationRequested||isNonEmptyArray(e)&&(this._accessibilitySignalService.playSignal(AccessibilitySignal.format,{userGesture:!1}),FormattingEdit.execute(this._editor,e,!0))}).finally(()=>{n.dispose()})}};FormatOnType=__decorate$16([__param$12(1,ILanguageFeaturesService),__param$12(2,IEditorWorkerService),__param$12(3,IAccessibilitySignalService)],FormatOnType);let FormatOnPaste=class{static{this.ID="editor.contrib.formatOnPaste"}constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new DisposableStore,this._callOnModel=new DisposableStore,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.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:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(formatDocumentRangesWithSelectedProvider,this.editor,e,2,Progress$1.None,CancellationToken.None,!1).catch(onUnexpectedError))}};FormatOnPaste=__decorate$16([__param$12(1,ILanguageFeaturesService),__param$12(2,IInstantiationService)],FormatOnPaste);class FormatDocumentAction extends EditorAction{constructor(){super({id:"editor.action.formatDocument",label:localize("formatDocument.label","Format Document"),alias:"Format Document",precondition:ContextKeyExpr.and(EditorContextKeys.notInCompositeEditor,EditorContextKeys.writable,EditorContextKeys.hasDocumentFormattingProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get(IInstantiationService),o=e.get(IEditorProgressService);await o.showWhile(i.invokeFunction(formatDocumentWithSelectedProvider,t,1,Progress$1.None,CancellationToken.None,!0),250)}}}class FormatSelectionAction extends EditorAction{constructor(){super({id:"editor.action.formatSelection",label:localize("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2084),weight:100},contextMenuOpts:{when:EditorContextKeys.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(IInstantiationService),o=t.getModel(),n=t.getSelections().map(e=>e.isEmpty()?new Range$2(e.startLineNumber,1,e.startLineNumber,o.getLineMaxColumn(e.startLineNumber)):e),r=e.get(IEditorProgressService);await r.showWhile(i.invokeFunction(formatDocumentRangesWithSelectedProvider,t,n,1,Progress$1.None,CancellationToken.None,!0),250)}}registerEditorContribution(FormatOnType.ID,FormatOnType,2),registerEditorContribution(FormatOnPaste.ID,FormatOnPaste,2),registerEditorAction(FormatDocumentAction),registerEditorAction(FormatSelectionAction),CommandsRegistry.registerCommand("editor.action.format",async e=>{const t=e.get(ICodeEditorService).getFocusedCodeEditor();if(!t||!t.hasModel())return;const i=e.get(ICommandService);t.getSelection().isEmpty()?await i.executeCommand("editor.action.formatDocument"):await i.executeCommand("editor.action.formatSelection")});var __decorate$15=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$11=function(e,t){return function(i,o){t(i,o,e)}};class TreeElement{remove(){this.parent?.children.delete(this.id)}static findId(e,t){let i;"string"==typeof e?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,void 0!==t.children.get(i)&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let o=i;for(let n=0;void 0!==t.children.get(o);n++)o=`${i}_${n}`;return o}static empty(e){return 0===e.children.size}}class OutlineElement extends TreeElement{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class OutlineGroup extends TreeElement{constructor(e,t,i,o){super(),this.id=e,this.parent=t,this.label=i,this.order=o,this.children=new Map}}class OutlineModel extends TreeElement{static create(e,t,i){const o=new CancellationTokenSource$1(i),n=new OutlineModel(t.uri),r=e.ordered(t),s=r.map((e,i)=>{const r=TreeElement.findId(`provider_${i}`,n),s=new OutlineGroup(r,n,e.displayName??"Unknown Outline Provider",i);return Promise.resolve(e.provideDocumentSymbols(t,o.token)).then(e=>{for(const t of e||[])OutlineModel._makeOutlineElement(t,s);return s},e=>(onUnexpectedExternalError(e),s)).then(e=>{TreeElement.empty(e)?e.remove():n._groups.set(r,e)})}),a=e.onDidChange(()=>{equals$2(e.ordered(t),r)||o.cancel()});return Promise.all(s).then(()=>o.token.isCancellationRequested&&!i.isCancellationRequested?OutlineModel.create(e,t,i):n._compact()).finally(()=>{o.dispose(),a.dispose(),o.dispose()})}static _makeOutlineElement(e,t){const i=TreeElement.findId(e,t),o=new OutlineElement(i,t,e);if(e.children)for(const n of e.children)OutlineModel._makeOutlineElement(n,o);t.children.set(o.id,o)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)0===i.children.size?this._groups.delete(t):e+=1;if(1!==e)this.children=this._groups;else{const e=Iterable.first(this._groups.values());for(const[,t]of e.children)t.parent=this,this.children.set(t.id,t)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof OutlineElement?e.push(t.symbol):e.push(...Iterable.map(t.children.values(),e=>e.symbol));return e.sort((e,t)=>Range$2.compareRangesUsingStarts(e.range,t.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return OutlineModel._flattenDocumentSymbols(t,e,""),t.sort((e,t)=>Position$1.compare(Range$2.getStartPosition(e.range),Range$2.getStartPosition(t.range))||Position$1.compare(Range$2.getEndPosition(t.range),Range$2.getEndPosition(e.range)))}static _flattenDocumentSymbols(e,t,i){for(const o of t)e.push({kind:o.kind,tags:o.tags,name:o.name,detail:o.detail,containerName:o.containerName||i,range:o.range,selectionRange:o.selectionRange,children:void 0}),o.children&&OutlineModel._flattenDocumentSymbols(e,o.children,o.name)}}const IOutlineModelService=createDecorator("IOutlineModelService");let OutlineModelService=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new DisposableStore,this._cache=new LRUCache(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(e=>{this._cache.delete(e.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,o=i.ordered(e);let n=this._cache.get(e.id);if(!n||n.versionId!==e.getVersionId()||!equals$2(n.provider,o)){const t=new CancellationTokenSource$1;n={versionId:e.getVersionId(),provider:o,promiseCnt:0,source:t,promise:OutlineModel.create(i,e,t.token),model:void 0},this._cache.set(e.id,n);const r=Date.now();n.promise.then(t=>{n.model=t,this._debounceInformation.update(e,Date.now()-r)}).catch(t=>{this._cache.delete(e.id)})}if(n.model)return n.model;n.promiseCnt+=1;const r=t.onCancellationRequested(()=>{0===--n.promiseCnt&&(n.source.cancel(),this._cache.delete(e.id))});try{return await n.promise}finally{r.dispose()}}};OutlineModelService=__decorate$15([__param$11(0,ILanguageFeaturesService),__param$11(1,ILanguageFeatureDebounceService),__param$11(2,IModelService)],OutlineModelService),registerSingleton(IOutlineModelService,OutlineModelService,1),CommandsRegistry.registerCommand("_executeDocumentSymbolProvider",async function(e,...t){const[i]=t;assertType(URI.isUri(i));const o=e.get(IOutlineModelService),n=e.get(ITextModelService),r=await n.createModelReference(i);try{return(await o.getOrCreate(r.object.textEditorModel,CancellationToken.None)).getTopLevelSymbols()}finally{r.dispose()}});class InlineCompletionContextKeys extends Disposable{static{this.inlineSuggestionVisible=new RawContextKey("inlineSuggestionVisible",!1,localize("inlineSuggestionVisible","Whether an inline suggestion is visible"))}static{this.inlineSuggestionHasIndentation=new RawContextKey("inlineSuggestionHasIndentation",!1,localize("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace"))}static{this.inlineSuggestionHasIndentationLessThanTabSize=new RawContextKey("inlineSuggestionHasIndentationLessThanTabSize",!0,localize("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab"))}static{this.suppressSuggestions=new RawContextKey("inlineSuggestionSuppressSuggestions",void 0,localize("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"))}constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=InlineCompletionContextKeys.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=InlineCompletionContextKeys.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=InlineCompletionContextKeys.suppressSuggestions.bindTo(this.contextKeyService),this._register(autorun(e=>{const t=this.model.read(e),i=t?.state.read(e),o=!!i?.inlineCompletion&&void 0!==i?.primaryGhostText&&!i?.primaryGhostText.isEmpty();this.inlineCompletionVisible.set(o),i?.primaryGhostText&&i?.inlineCompletion&&this.suppressSuggestions.set(i.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(autorun(e=>{const t=this.model.read(e);let i=!1,o=!0;const n=t?.primaryGhostText.read(e);if(t?.selectedSuggestItem&&n&&n.parts.length>0){const{column:e,lines:r}=n.parts[0],s=r[0];if(e<=t.textModel.getLineIndentColumn(n.lineNumber)){let e=firstNonWhitespaceIndex(s);-1===e&&(e=s.length-1),i=e>0;const n=t.textModel.getOptions().tabSize;o=CursorColumns.visibleColumnFromColumn(s,e+1,n){i.setStyle(e.read(t))})),t}class GhostText{constructor(e,t){this.lineNumber=e,this.parts=t}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,i)=>t.equals(e.parts[i]))}renderForScreenReader(e){if(0===this.parts.length)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1),o=new TextEdit([...this.parts.map(e=>new SingleTextEdit(Range$2.fromPositions(new Position$1(1,e.column)),e.lines.join("\n")))]).applyToString(i);return o.substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>0===e.lines.length)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class GhostTextPart{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=splitLines(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t===e.lines[i])}}class GhostTextReplacement{constructor(e,t,i,o=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=o,this.parts=[new GhostTextPart(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=splitLines(this.text)}renderForScreenReader(e){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>0===e.lines.length)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function ghostTextsOrReplacementsEqual(e,t){return equals$2(e,t,ghostTextOrReplacementEquals)}function ghostTextOrReplacementEquals(e,t){return e===t||!(!e||!t)&&((e instanceof GhostText&&t instanceof GhostText||e instanceof GhostTextReplacement&&t instanceof GhostTextReplacement)&&e.equals(t))}const array=[];function getReadonlyEmptyArray(){return array}class ColumnRange{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new BugIndicatingError(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new Range$2(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function applyObservableDecorations(e,t){const i=new DisposableStore,o=e.createDecorationsCollection();return i.add(autorunOpts({debugName:()=>`Apply decorations from ${t.debugName}`},e=>{const i=t.read(e);o.set(i)})),i.add({dispose:()=>{o.clear()}}),i}function addPositions(e,t){return new Position$1(e.lineNumber+t.lineNumber-1,1===t.lineNumber?e.column+t.column-1:t.column)}function subtractPositions(e,t){return new Position$1(e.lineNumber-t.lineNumber+1,e.lineNumber-t.lineNumber===0?e.column-t.column+1:e.column)}var __decorate$14=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$10=function(e,t){return function(i,o){t(i,o,e)}};const GHOST_TEXT_DESCRIPTION="ghost-text";let GhostTextView=class extends Disposable{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=observableValue(this,!1),this.currentTextModel=observableFromEvent(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=derived(this,e=>{if(this.isDisposed.read(e))return;const t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;const i=this.model.ghostText.read(e);if(!i)return;const o=i instanceof GhostTextReplacement?i.columnRange:void 0,n=[],r=[];function s(e,t){if(r.length>0){const i=r[r.length-1];t&&i.decorations.push(new LineDecoration(i.content.length+1,i.content.length+1+e[0].length,t,0)),i.content+=e[0],e=e.slice(1)}for(const i of e)r.push({content:i,decorations:t?[new LineDecoration(1,i.length+1,t,0)]:[]})}const a=t.getLineContent(i.lineNumber);let l,c=0;for(const u of i.parts){let e=u.lines;void 0===l?(n.push({column:u.column,text:e[0],preview:u.preview}),e=e.slice(1)):s([a.substring(c,u.column-1)],void 0),e.length>0&&(s(e,GHOST_TEXT_DESCRIPTION),void 0===l&&u.column<=a.length&&(l=u.column)),c=u.column-1}void 0!==l&&s([a.substring(c)],void 0);const d=void 0!==l?new ColumnRange(l,a.length+1):void 0;return{replacedRange:o,inlineTexts:n,additionalLines:r,hiddenRange:d,lineNumber:i.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t}}),this.decorations=derived(this,e=>{const t=this.uiState.read(e);if(!t)return[];const i=[];t.replacedRange&&i.push({range:t.replacedRange.toRange(t.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),t.hiddenRange&&i.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const o of t.inlineTexts)i.push({range:Range$2.fromPositions(new Position$1(t.lineNumber,o.column)),options:{description:GHOST_TEXT_DESCRIPTION,after:{content:o.text,inlineClassName:o.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:InjectedTextCursorStops.Left},showIfCollapsed:!0}});return i}),this.additionalLinesWidget=this._register(new AdditionalLinesWidget(this.editor,this.languageService.languageIdCodec,derived(e=>{const t=this.uiState.read(e);return t?{lineNumber:t.lineNumber,additionalLines:t.additionalLines,minReservedLineCount:t.additionalReservedLineCount,targetTextModel:t.targetTextModel}:void 0}))),this._register(toDisposable(()=>{this.isDisposed.set(!0,void 0)})),this._register(applyObservableDecorations(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};GhostTextView=__decorate$14([__param$10(2,ILanguageService)],GhostTextView);class AdditionalLinesWidget extends Disposable{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=observableSignalFromEvent("editorOptionChanged",Event$1.filter(this.editor.onDidChangeConfiguration,e=>e.hasChanged(33)||e.hasChanged(118)||e.hasChanged(100)||e.hasChanged(95)||e.hasChanged(51)||e.hasChanged(50)||e.hasChanged(67))),this._register(autorun(e=>{const t=this.lines.read(e);this.editorOptionsChanged.read(e),t?this.updateLines(t.lineNumber,t.additionalLines,t.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const o=this.editor.getModel();if(!o)return;const{tabSize:n}=o.getOptions();this.editor.changeViewZones(o=>{this._viewZoneId&&(o.removeZone(this._viewZoneId),this._viewZoneId=void 0);const r=Math.max(t.length,i);if(r>0){const i=document.createElement("div");renderLines(i,n,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=o.addZone({afterLineNumber:e,heightInLines:r,domNode:i,afterColumnAffinity:1})}})}}function renderLines(e,t,i,o,n){const r=o.get(33),s=o.get(118),a=o.get(95),l=o.get(51),c=o.get(50),d=o.get(67),u=new StringBuilder(1e4);u.appendString('
    ');for(let g=0,m=i.length;g');const h=isBasicASCII(o),p=containsRTL(o),m=LineTokens.createEmpty(o,n);renderViewLine(new RenderLineInput(c.isMonospace&&!r,c.canUseHalfwidthRightwardsArrow,o,!1,h,p,0,m,e.decorations,t,0,c.spaceWidth,c.middotWidth,c.wsmiddotWidth,s,"none",a,l!==EditorFontLigatures.OFF,null),u),u.appendString("
    ")}u.appendString(""),applyFontInfo(e,c);const h=u.build(),p=ttPolicy?ttPolicy.createHTML(h):h;e.innerHTML=p}const ttPolicy=createTrustedTypesPolicy("editorGhostText",{createHTML:e=>e});function fixBracketsInLine(e,t){const i=new DenseKeyProvider,o=new LanguageAgnosticBracketTokens(i,e=>t.getLanguageConfiguration(e)),n=parseDocument(new TextBufferTokenizer(new StaticTokenizerSource([e]),o),[],void 0,!0);let r="";const s=e.getLineContent();return function e(t,i){if(2===t.kind)if(e(t.openingBracket,i),i=lengthAdd(i,t.openingBracket.length),t.child&&(e(t.child,i),i=lengthAdd(i,t.child.length)),t.closingBracket)e(t.closingBracket,i),i=lengthAdd(i,t.closingBracket.length);else{const e=o.getSingleLanguageBracketTokens(t.openingBracket.languageId).findClosingTokenText(t.openingBracket.bracketIds);r+=e}else if(3===t.kind);else if(0===t.kind||1===t.kind)r+=s.substring(lengthGetColumnCountIfZeroLineCount(i),lengthGetColumnCountIfZeroLineCount(lengthAdd(i,t.length)));else if(4===t.kind)for(const o of t.children)e(o,i),i=lengthAdd(i,o.length)}(n,lengthZero),r}class StaticTokenizerSource{constructor(e){this.lines=e,this.tokenization={getLineTokens:e=>this.lines[e-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function provideInlineCompletions(t,i,o,n,r=CancellationToken.None,s){const a=i instanceof Position$1?getDefaultRange(i,o):i,l=t.all(o),c=new SetMap;for(const e of l)e.groupId&&c.add(e.groupId,e);function d(e){if(!e.yieldsToGroupIds)return[];const t=[];for(const i of e.yieldsToGroupIds||[]){const e=c.get(i);for(const i of e)t.push(i)}return t}const u=new Map,h=new Set;function p(e,t){if(t=[...t,e],h.has(e))return t;h.add(e);try{const i=d(e);for(const e of i){const i=p(e,t);if(i)return i}}finally{h.delete(e)}}function g(t){const s=u.get(t);if(s)return s;const a=p(t,[]);a&&onUnexpectedExternalError(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${a.map(e=>e.toString?e.toString():""+e).join(" -> ")}`));const l=new DeferredPromise;return u.set(t,l.p),(async()=>{if(!a){const e=d(t);for(const t of e){const e=await g(t);if(e&&e.items.length>0)return}}try{if(i instanceof Position$1){return await t.provideInlineCompletions(o,i,n,r)}return await(t.provideInlineEdits?.(o,i,n,r))}catch(e){return void onUnexpectedExternalError(e)}})().then(e=>l.complete(e),e=>l.error(e)),l.p}const m=await Promise.all(l.map(async e=>({provider:e,completions:await g(e)}))),f=new Map,v=[];for(const e of m){const t=e.completions;if(!t)continue;const i=new InlineCompletionList(t,e.provider);v.push(i);for(const e of t.items){const t=InlineCompletionItem.from(e,i,a,o,s);f.set(t.hash(),t)}}return new InlineCompletionProviderResult(Array.from(f.values()),new Set(f.keys()),v)}class InlineCompletionProviderResult{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class InlineCompletionList{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class InlineCompletionItem{static from(e,t,i,o,n){let r,s,a=e.range?Range$2.lift(e.range):i;if("string"==typeof e.insertText){if(r=e.insertText,n&&e.completeBracketPairs){r=closeBrackets(r,a.getStartPosition(),o,n);const t=r.length-e.insertText.length;0!==t&&(a=new Range$2(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn+t))}s=void 0}else if("snippet"in e.insertText){const t=e.insertText.snippet.length;if(n&&e.completeBracketPairs){e.insertText.snippet=closeBrackets(e.insertText.snippet,a.getStartPosition(),o,n);const i=e.insertText.snippet.length-t;0!==i&&(a=new Range$2(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn+i))}const i=(new SnippetParser).parse(e.insertText.snippet);1===i.children.length&&i.children[0]instanceof Text$1?(r=i.children[0].value,s=void 0):(r=i.toString(),s={snippet:e.insertText.snippet,range:a})}else assertNever(e.insertText);return new InlineCompletionItem(r,e.command,a,r,s,e.additionalTextEdits||getReadonlyEmptyArray(),e,t)}constructor(e,t,i,o,n,r,s,a){this.filterText=e,this.command=t,this.range=i,this.insertText=o,this.snippetInfo=n,this.additionalTextEdits=r,this.sourceInlineCompletion=s,this.source=a,o=(e=e.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(e){return new InlineCompletionItem(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new SingleTextEdit(this.range,this.insertText)}}function getDefaultRange(e,t){const i=t.getWordAtPosition(e),o=t.getLineMaxColumn(e.lineNumber);return i?new Range$2(e.lineNumber,i.startColumn,e.lineNumber,o):Range$2.fromPositions(e,e.with(void 0,o))}function closeBrackets(e,t,i,o){const n=i.getLineContent(t.lineNumber).substring(0,t.column-1)+e,r=i.tokenization.tokenizeLineWithEdit(t,n.length-(t.column-1),e),s=r?.sliceAndInflate(t.column-1,n.length,0);if(!s)return e;return fixBracketsInLine(s,o)}function singleTextRemoveCommonPrefix(e,t,i){const o=i?e.range.intersectRanges(i):e.range;if(!o)return e;const n=t.getValueInRange(o,1),r=commonPrefixLength(n,e.text),s=TextLength.ofText(n.substring(0,r)).addToPosition(e.range.getStartPosition()),a=e.text.substring(r),l=Range$2.fromPositions(s,e.range.getEndPosition());return new SingleTextEdit(l,a)}function singleTextEditAugments(e,t){return e.text.startsWith(t.text)&&rangeExtends(e.range,t.range)}function computeGhostText(e,t,i,o,n=0){let r=singleTextRemoveCommonPrefix(e,t);if(r.range.endLineNumber!==r.range.startLineNumber)return;const s=t.getLineContent(r.range.startLineNumber),a=getLeadingWhitespace(s).length;if(r.range.startColumn-1<=a){const e=getLeadingWhitespace(r.text).length,t=s.substring(r.range.startColumn-1,a),[i,o]=[r.range.getStartPosition(),r.range.getEndPosition()],n=i.column+t.length<=o.column?i.delta(0,t.length):o,l=Range$2.fromPositions(n,o),c=r.text.startsWith(t)?r.text.substring(t.length):r.text.substring(e);r=new SingleTextEdit(l,c)}const l=t.getValueInRange(r.range),c=cachingDiff(l,r.text);if(!c)return;const d=r.range.startLineNumber,u=new Array;if("prefix"===i){const e=c.filter(e=>0===e.originalLength);if(e.length>1||1===e.length&&e[0].originalStart!==l.length)return}const h=r.text.length-n;for(const p of c){const e=r.range.startColumn+p.originalStart+p.originalLength;if("subwordSmart"===i&&o&&o.lineNumber===r.range.startLineNumber&&e0)return;if(0===p.modifiedLength)continue;const t=p.modifiedStart+p.modifiedLength,n=Math.max(p.modifiedStart,Math.min(t,h)),s=r.text.substring(p.modifiedStart,n),a=r.text.substring(n,Math.max(p.modifiedStart,t));s.length>0&&u.push(new GhostTextPart(e,s,!1)),a.length>0&&u.push(new GhostTextPart(e,a,!0))}return new GhostText(d,u)}function rangeExtends(e,t){return t.getStartPosition().equals(e.getStartPosition())&&t.getEndPosition().isBeforeOrEqual(e.getEndPosition())}let lastRequest;function cachingDiff(e,t){if(lastRequest?.originalValue===e&&lastRequest?.newValue===t)return lastRequest?.changes;{let i=smartDiff(e,t,!0);if(i){const o=deletedCharacters(i);if(o>0){const n=smartDiff(e,t,!1);n&&deletedCharacters(n)5e3||t.length>5e3)return;function o(e){let t=0;for(let i=0,o=e.length;it&&(t=o)}return t}const n=Math.max(o(e),o(t));function r(e){if(e<0)throw new Error("unexpected");return n+e+1}function s(e){let t=0,o=0;const n=new Int32Array(e.length);for(let s=0,a=e.length;sa},{getElements:()=>l}).ComputeDiff(!1).changes}var __decorate$13=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$$=function(e,t){return function(i,o){t(i,o,e)}};let InlineCompletionsSource=class extends Disposable{constructor(e,t,i,o,n){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=o,this.languageConfigurationService=n,this._updateOperation=this._register(new MutableDisposable),this.inlineCompletions=disposableObservableValue("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=disposableObservableValue("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){const o=new UpdateRequest(e,t,this.textModel.getVersionId()),n=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(this._updateOperation.value?.request.satisfies(o))return this._updateOperation.value.promise;if(n.get()?.request.satisfies(o))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const s=new CancellationTokenSource$1,a=(async()=>{if((r||t.triggerKind===InlineCompletionTriggerKind$1.Automatic)&&await wait$1(this._debounceValue.get(this.textModel),s.token),s.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==o.versionId)return!1;const a=new Date,l=await provideInlineCompletions(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,s.token,this.languageConfigurationService);if(s.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==o.versionId)return!1;const c=new Date;this._debounceValue.update(this.textModel,c.getTime()-a.getTime());const d=new UpToDateInlineCompletions(l,o,this.textModel,this.versionId);if(i){const t=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!l.has(t)&&d.prepend(i.inlineCompletion,t.range,!0)}return this._updateOperation.clear(),transaction(e=>{n.set(d,e)}),!0})(),l=new UpdateOperation(o,s,a);return this._updateOperation.value=l,a}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};function wait$1(e,t){return new Promise(i=>{let o;const n=setTimeout(()=>{o&&o.dispose(),i()},e);t&&(o=t.onCancellationRequested(()=>{clearTimeout(n),o&&o.dispose(),i()}))})}InlineCompletionsSource=__decorate$13([__param$$(3,ILanguageFeaturesService),__param$$(4,ILanguageConfigurationService)],InlineCompletionsSource);class UpdateRequest{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&equalsIfDefined(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,itemEquals())&&(e.context.triggerKind===InlineCompletionTriggerKind$1.Automatic||this.context.triggerKind===InlineCompletionTriggerKind$1.Explicit)&&this.versionId===e.versionId}}class UpdateOperation{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class UpToDateInlineCompletions{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,o){this.inlineCompletionProviderResult=e,this.request=t,this._textModel=i,this._versionId=o,this._refCount=1,this._prependedInlineCompletionItems=[];const n=i.deltaDecorations([],e.completions.map(e=>({range:e.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=e.completions.map((e,t)=>new InlineCompletionWithUpdatedRange(e,n[t],this._textModel,this._versionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){setTimeout(()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const o=this._textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new InlineCompletionWithUpdatedRange(e,o,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class InlineCompletionWithUpdatedRange{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(e,t,i,o){this.inlineCompletion=e,this.decorationId=t,this._textModel=i,this._modelVersion=o,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=derivedOpts({owner:this,equalsFn:Range$2.equalsRange},e=>(this._modelVersion.read(e),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??emptyRange)}toSingleTextEdit(e){return new SingleTextEdit(this._updatedRange.read(e)??emptyRange,this.inlineCompletion.insertText)}isVisible(e,t,i){const o=singleTextRemoveCommonPrefix(this._toFilterTextReplacement(i),e),n=this._updatedRange.read(i);if(!n||!this.inlineCompletion.range.getStartPosition().equals(n.getStartPosition())||t.lineNumber!==o.range.startLineNumber)return!1;const r=e.getValueInRange(o.range,1),s=o.text,a=Math.max(0,t.column-o.range.startColumn);let l=s.substring(0,a),c=s.substring(a),d=r.substring(0,a),u=r.substring(a);const h=e.getLineIndentColumn(o.range.startLineNumber);return o.range.startColumn<=h&&(d=d.trimStart(),0===d.length&&(u=u.trimStart()),l=l.trimStart(),0===l.length&&(c=c.trimStart())),l.startsWith(d)&&!!matchesSubString(u,c)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&TextLength.ofRange(i).isGreaterThanOrEqualTo(TextLength.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new SingleTextEdit(this._updatedRange.read(e)??emptyRange,this.inlineCompletion.filterText)}}const emptyRange=new Range$2(1,1,1,1),Context$1={Visible:historyNavigationVisible,HasFocusedSuggestion:new RawContextKey("suggestWidgetHasFocusedSuggestion",!1,localize("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new RawContextKey("suggestWidgetDetailsVisible",!1,localize("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new RawContextKey("suggestWidgetMultipleSuggestions",!1,localize("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new RawContextKey("suggestionMakesTextEdit",!0,localize("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new RawContextKey("acceptSuggestionOnEnter",!0,localize("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new RawContextKey("suggestionHasInsertAndReplaceRange",!1,localize("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new RawContextKey("suggestionInsertMode",void 0,{type:"string",description:localize("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new RawContextKey("suggestionCanResolve",!1,localize("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},suggestWidgetStatusbarMenu=new MenuId("suggestWidgetStatusBar");class CompletionItem{constructor(e,t,i,o){this.position=e,this.completion=t,this.container=i,this.provider=o,this.isInvalid=!1,this.score=FuzzyScore.Default,this.distance=0,this.textLabel="string"==typeof t.label?t.label:t.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,Range$2.isIRange(t.range)?(this.editStart=new Position$1(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Position$1(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Position$1(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||Range$2.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Position$1(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Position$1(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Position$1(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||Range$2.spansMultipleLines(t.range.insert)||Range$2.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),"function"!=typeof o.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new StopWatch(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(e=>{Object.assign(this.completion,e),this._resolveDuration=i.elapsed()},e=>{isCancellationError(e)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}class CompletionOptions{static{this.default=new CompletionOptions}constructor(e=2,t=new Set,i=new Set,o=new Map,n=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=o,this.showDeprecated=n}}class CompletionItemModel{constructor(e,t,i,o){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=o}}async function provideSuggestionItems(e,t,i,o=CompletionOptions.default,n={triggerKind:0},r=CancellationToken.None){const s=new StopWatch;i=i.clone();const a=t.getWordAtPosition(i),l=a?new Range$2(i.lineNumber,a.startColumn,i.lineNumber,a.endColumn):Range$2.fromPositions(i),c={replace:l,insert:l.setEndPosition(i.lineNumber,i.column)},d=[],u=new DisposableStore,h=[];let p=!1;const g=(e,t,n)=>{let r=!1;if(!t)return r;for(const s of t.suggestions)if(!o.kindFilter.has(s.kind)){if(!o.showDeprecated&&s?.tags?.includes(1))continue;s.range||(s.range=c),s.sortText||(s.sortText="string"==typeof s.label?s.label:s.label.label),!p&&s.insertTextRules&&4&s.insertTextRules&&(p=SnippetParser.guessNeedsClipboard(s.insertText)),d.push(new CompletionItem(i,s,t,e)),r=!0}return isDisposable(t)&&u.add(t),h.push({providerName:e._debugDisplayName??"unknown_provider",elapsedProvider:t.duration??-1,elapsedOverall:n.elapsed()}),r},m=(async()=>{})();for(const f of e.orderedGroups(t)){let e=!1;if(await Promise.all(f.map(async s=>{if(o.providerItemsToReuse.has(s)){const t=o.providerItemsToReuse.get(s);return t.forEach(e=>d.push(e)),void(e=e||t.length>0)}if(!(o.providerFilter.size>0)||o.providerFilter.has(s))try{const o=new StopWatch,a=await s.provideCompletionItems(t,i,n,r);e=g(s,a,o)||e}catch(a){onUnexpectedExternalError(a)}})),e||r.isCancellationRequested)break}return await m,r.isCancellationRequested?(u.dispose(),Promise.reject(new CancellationError)):new CompletionItemModel(d.sort(getSuggestionComparator(o.snippetSortOrder)),p,{entries:h,elapsed:s.elapsed()},u)}function defaultComparator(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLowt.sortTextLow)return 1}return e.textLabelt.textLabel?1:e.completion.kind-t.completion.kind}function snippetUpComparator(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return defaultComparator(e,t)}function snippetDownComparator(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return defaultComparator(e,t)}const _snippetComparators=new Map;function getSuggestionComparator(e){return _snippetComparators.get(e)}function showSimpleSuggestions(e,t){e.getContribution("editor.contrib.suggestController")?.triggerSuggest((new Set).add(t),void 0,!0)}_snippetComparators.set(0,snippetUpComparator),_snippetComparators.set(2,snippetDownComparator),_snippetComparators.set(1,defaultComparator),CommandsRegistry.registerCommand("_executeCompletionItemProvider",async(e,...t)=>{const[i,o,n,r]=t;assertType(URI.isUri(i)),assertType(Position$1.isIPosition(o)),assertType("string"==typeof n||!n),assertType("number"==typeof r||!r);const{completionProvider:s}=e.get(ILanguageFeaturesService),a=await e.get(ITextModelService).createModelReference(i);try{const e={incomplete:!1,suggestions:[]},t=[],i=a.object.textEditorModel.validatePosition(o),l=await provideSuggestionItems(s,a.object.textEditorModel,i,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const o of l.items)t.length<(r??0)&&t.push(o.resolve(CancellationToken.None)),e.incomplete=e.incomplete||o.container.incomplete,e.suggestions.push(o.completion);try{return await Promise.all(t),e}finally{setTimeout(()=>l.disposable.dispose(),100)}}finally{a.dispose()}});class QuickSuggestionsOptions{static isAllOff(e){return"off"===e.other&&"off"===e.comments&&"off"===e.strings}static isAllOn(e){return"on"===e.other&&"on"===e.comments&&"on"===e.strings}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}function normalizeDriveLetter(e,t=isWindows){return hasDriveLetter(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}var __decorate$12=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$_=function(e,t){return function(i,o){t(i,o,e)}};class CompositeSnippetVariableResolver{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(void 0!==i)return i}}}class SelectionBasedVariableResolver{constructor(e,t,i,o){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=o}resolve(e){const{name:t}=e;if("SELECTION"===t||"TM_SELECTED_TEXT"===t){let t=this._model.getValueInRange(this._selection)||void 0,i=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){const e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,i=e.multiline)}if(t&&i&&e.snippet){const i=getLeadingWhitespace(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1);let o=i;e.snippet.walk(t=>t!==e&&(t instanceof Text$1&&(o=getLeadingWhitespace(splitLines(t.value).pop())),!0));const n=commonPrefixLength(o,i);t=t.replace(/(\r\n|\r|\n)(.*)/g,(e,t,i)=>`${t}${o.substr(n)}${i}`)}return t}if("TM_CURRENT_LINE"===t)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===t){const e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}return"TM_LINE_INDEX"===t?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===t?String(this._selection.positionLineNumber):"CURSOR_INDEX"===t?String(this._selectionIdx):"CURSOR_NUMBER"===t?String(this._selectionIdx+1):void 0}}class ModelBasedVariableResolver{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if("TM_FILENAME"===t)return basename$1(this._model.uri.fsPath);if("TM_FILENAME_BASE"===t){const e=basename$1(this._model.uri.fsPath),t=e.lastIndexOf(".");return t<=0?e:e.slice(0,t)}return"TM_DIRECTORY"===t?"."===dirname$1(this._model.uri.fsPath)?"":this._labelService.getUriLabel(dirname(this._model.uri)):"TM_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class ClipboardBasedVariableResolver{constructor(e,t,i,o){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=o}resolve(e){if("CLIPBOARD"!==e.name)return;const t=this._readClipboardText();if(t){if(this._spread){const e=t.split(/\r\n|\n|\r/).filter(e=>!isFalsyOrWhitespace(e));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}}let CommentBasedVariableResolver=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),o=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(o)return"LINE_COMMENT"===t?o.lineCommentToken||void 0:"BLOCK_COMMENT_START"===t?o.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===t&&o.blockCommentEndToken||void 0}};CommentBasedVariableResolver=__decorate$12([__param$_(2,ILanguageConfigurationService)],CommentBasedVariableResolver);class TimeBasedVariableResolver{constructor(){this._date=new Date}static{this.dayNames=[localize("Sunday","Sunday"),localize("Monday","Monday"),localize("Tuesday","Tuesday"),localize("Wednesday","Wednesday"),localize("Thursday","Thursday"),localize("Friday","Friday"),localize("Saturday","Saturday")]}static{this.dayNamesShort=[localize("SundayShort","Sun"),localize("MondayShort","Mon"),localize("TuesdayShort","Tue"),localize("WednesdayShort","Wed"),localize("ThursdayShort","Thu"),localize("FridayShort","Fri"),localize("SaturdayShort","Sat")]}static{this.monthNames=[localize("January","January"),localize("February","February"),localize("March","March"),localize("April","April"),localize("May","May"),localize("June","June"),localize("July","July"),localize("August","August"),localize("September","September"),localize("October","October"),localize("November","November"),localize("December","December")]}static{this.monthNamesShort=[localize("JanuaryShort","Jan"),localize("FebruaryShort","Feb"),localize("MarchShort","Mar"),localize("AprilShort","Apr"),localize("MayShort","May"),localize("JuneShort","Jun"),localize("JulyShort","Jul"),localize("AugustShort","Aug"),localize("SeptemberShort","Sep"),localize("OctoberShort","Oct"),localize("NovemberShort","Nov"),localize("DecemberShort","Dec")]}resolve(e){const{name:t}=e;if("CURRENT_YEAR"===t)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===t)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===t)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===t)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===t)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===t)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===t)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===t)return TimeBasedVariableResolver.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===t)return TimeBasedVariableResolver.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===t)return TimeBasedVariableResolver.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===t)return TimeBasedVariableResolver.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===t)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===t){const e=this._date.getTimezoneOffset(),t=e>0?"-":"+",i=Math.trunc(Math.abs(e/60)),o=i<10?"0"+i:i,n=Math.abs(e)-60*i;return t+o+":"+(n<10?"0"+n:n)}}}class WorkspaceBasedVariableResolver{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=toWorkspaceIdentifier(this._workspaceService.getWorkspace());return isEmptyWorkspaceIdentifier(t)?void 0:"WORKSPACE_NAME"===e.name?this._resolveWorkspaceName(t):"WORKSPACE_FOLDER"===e.name?this._resoveWorkspacePath(t):void 0}_resolveWorkspaceName(e){if(isSingleFolderWorkspaceIdentifier(e))return basename$1(e.uri.path);let t=basename$1(e.configPath.path);return t.endsWith(WORKSPACE_EXTENSION)&&(t=t.substr(0,t.length-WORKSPACE_EXTENSION.length-1)),t}_resoveWorkspacePath(e){if(isSingleFolderWorkspaceIdentifier(e))return normalizeDriveLetter(e.uri.fsPath);const t=basename$1(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?normalizeDriveLetter(i):"/"}}class RandomBasedVariableResolver{resolve(e){const{name:t}=e;return"RANDOM"===t?Math.random().toString().slice(-6):"RANDOM_HEX"===t?Math.random().toString(16).slice(-6):"UUID"===t?generateUuid():void 0}}var __decorate$11=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$Z=function(e,t){return function(i,o){t(i,o,e)}},SnippetSession_1;class OneSnippet{static{this._decor={active:ModelDecorationOptions.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:ModelDecorationOptions.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:ModelDecorationOptions.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:ModelDecorationOptions.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})}}constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=groupBy$1(t.placeholders,Placeholder.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(-1===this._offset)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const o=this._snippet.offset(i),n=this._snippet.fullLen(i),r=Range$2.fromPositions(e.getPositionAt(this._offset+o),e.getPositionAt(this._offset+o+n)),s=i.isFinalTabstop?OneSnippet._decor.inactiveFinal:OneSnippet._decor.inactive,a=t.addDecoration(r,s);this._placeholderDecorations.set(i,a)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const e=[];for(const t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){const i=this._placeholderDecorations.get(t),o=this._editor.getModel().getDecorationRange(i),n=this._editor.getModel().getValueInRange(o),r=t.transform.resolve(n).split(/\r\n|\r|\n/);for(let e=1;e0&&this._editor.executeEdits("snippet.placeholderTransform",e)}let t=!1;!0===e&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(e=>{const i=new Set,o=[];for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const r=this._placeholderDecorations.get(n),s=this._editor.getModel().getDecorationRange(r);o.push(new Selection$1(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(n),e.changeDecorationOptions(r,n.isFinalTabstop?OneSnippet._decor.activeFinal:OneSnippet._decor.active),i.add(n);for(const t of this._snippet.enclosingPlaceholders(n)){const o=this._placeholderDecorations.get(t);e.changeDecorationOptions(o,t.isFinalTabstop?OneSnippet._decor.activeFinal:OneSnippet._decor.active),i.add(t)}}for(const[t,n]of this._placeholderDecorations)i.has(t)||e.changeDecorationOptions(n,t.isFinalTabstop?OneSnippet._decor.inactiveFinal:OneSnippet._decor.inactive);return o});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof Placeholder){const e=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(e).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const o of t){if(o.isFinalTabstop)break;i||(i=[],e.set(o.index,i));const t=this._placeholderDecorations.get(o),n=this._editor.getModel().getDecorationRange(t);if(!n){e.delete(o.index);break}i.push(n)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!e?.choice)return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);return i?{range:i,choice:e.choice}:void 0}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof Choice,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const o of this._placeholderGroups[this._placeholderGroupsIdx]){const n=e.shift();console.assert(-1!==n._offset),console.assert(!n._placeholderDecorations);const r=n._snippet.placeholderInfo.last.index;for(const e of n._snippet.placeholderInfo.all)e.isFinalTabstop?e.index=o.index+(r+1)/this._nestingLevel:e.index=o.index+e.index/this._nestingLevel;this._snippet.replace(o,n._snippet.children);const s=this._placeholderDecorations.get(o);i.removeDecoration(s),this._placeholderDecorations.delete(o);for(const e of n._snippet.placeholders){const o=n._snippet.offset(e),r=n._snippet.fullLen(e),s=Range$2.fromPositions(t.getPositionAt(n._offset+o),t.getPositionAt(n._offset+o+r)),a=i.addDecoration(s,OneSnippet._decor.inactive);this._placeholderDecorations.set(e,a)}}this._placeholderGroups=groupBy$1(this._snippet.placeholders,Placeholder.compareByIndex)})}}const _defaultOptions$1={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let SnippetSession=SnippetSession_1=class{static adjustWhitespace(e,t,i,o,n){const r=getLeadingWhitespace(e.getLineContent(t.lineNumber),0,t.column-1);let s;return o.walk(t=>{if(!(t instanceof Text$1)||t.parent instanceof Choice)return!0;if(n&&!n.has(t))return!0;const a=t.value.split(/\r\n|\r|\n/);if(i){const i=o.offset(t);if(0===i)a[0]=e.normalizeIndentation(a[0]);else{s=s??o.toString();const t=s.charCodeAt(i-1);10!==t&&13!==t||(a[0]=e.normalizeIndentation(r+a[0]))}for(let t=1;te.get(IWorkspaceContextService)),p=e.invokeWithinContext(e=>new ModelBasedVariableResolver(e.get(ILabelService),u)),g=()=>s,m=u.getValueInRange(SnippetSession_1.adjustSelection(u,e.getSelection(),i,0)),f=u.getValueInRange(SnippetSession_1.adjustSelection(u,e.getSelection(),0,o)),v=u.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),b=e.getSelections().map((e,t)=>({selection:e,idx:t})).sort((e,t)=>Range$2.compareRangesUsingStarts(e.selection,t.selection));for(const{selection:_,idx:y}of b){let s=SnippetSession_1.adjustSelection(u,_,i,0),C=SnippetSession_1.adjustSelection(u,_,0,o);m!==u.getValueInRange(s)&&(s=_),f!==u.getValueInRange(C)&&(C=_);const w=_.setStartPosition(s.startLineNumber,s.startColumn).setEndPosition(C.endLineNumber,C.endColumn),x=(new SnippetParser).parse(t,!0,n),S=w.getStartPosition(),k=SnippetSession_1.adjustWhitespace(u,S,r||y>0&&v!==u.getLineFirstNonWhitespaceColumn(_.positionLineNumber),x);x.resolveVariables(new CompositeSnippetVariableResolver([p,new ClipboardBasedVariableResolver(g,y,b.length,"spread"===e.getOption(79)),new SelectionBasedVariableResolver(u,_,y,a),new CommentBasedVariableResolver(u,_,l),new TimeBasedVariableResolver,new WorkspaceBasedVariableResolver(h),new RandomBasedVariableResolver])),c[y]=EditOperation.replace(w,x.toString()),c[y].identifier={major:y,minor:0},c[y]._isTracked=!0,d[y]=new OneSnippet(e,x,k)}return{edits:c,snippets:d}}static createEditsAndSnippetsFromEdits(e,t,i,o,n,r,s){if(!e.hasModel()||0===t.length)return{edits:[],snippets:[]};const a=[],l=e.getModel(),c=new SnippetParser,d=new TextmateSnippet,u=new CompositeSnippetVariableResolver([e.invokeWithinContext(e=>new ModelBasedVariableResolver(e.get(ILabelService),l)),new ClipboardBasedVariableResolver(()=>n,0,e.getSelections().length,"spread"===e.getOption(79)),new SelectionBasedVariableResolver(l,e.getSelection(),0,r),new CommentBasedVariableResolver(l,e.getSelection(),s),new TimeBasedVariableResolver,new WorkspaceBasedVariableResolver(e.invokeWithinContext(e=>e.get(IWorkspaceContextService))),new RandomBasedVariableResolver]);t=t.sort((e,t)=>Range$2.compareRangesUsingStarts(e.range,t.range));let h=0;for(let p=0;p0){const i=t[p-1].range,o=Range$2.fromPositions(i.getEndPosition(),e.getStartPosition()),n=new Text$1(l.getValueInRange(o));d.appendChild(n),h+=n.value.length}const o=c.parseFragment(i,d);SnippetSession_1.adjustWhitespace(l,e.getStartPosition(),!0,d,new Set(o)),d.resolveVariables(u);const n=d.toString(),r=n.slice(h);h=n.length;const s=EditOperation.replace(e,r);s.identifier={major:p,minor:0},s._isTracked=!0,a.push(s)}return c.ensureFinalTabstop(d,i,!0),{edits:a,snippets:[new OneSnippet(e,d,"")]}}constructor(e,t,i=_defaultOptions$1,o){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=o,this._templateMerges=[],this._snippets=[]}dispose(){dispose(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}="string"==typeof this._template?SnippetSession_1.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):SnippetSession_1.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,e=>{const i=e.filter(e=>!!e.identifier);for(let o=0;oSelection$1.fromPositions(e.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=_defaultOptions$1){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:o}=SnippetSession_1.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,e=>{const t=e.filter(e=>!!e.identifier);for(let n=0;nSelection$1.fromPositions(e.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const o=i.move(e);t.push(...o)}return t}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 e=this._editor.getSelections();if(e.length{e.push(...o.get(t))})}e.sort(Range$2.compareRangesUsingStarts);for(const[i,o]of t)if(o.length===e.length){o.sort(Range$2.compareRangesUsingStarts);for(let n=0;n0}};SnippetSession=SnippetSession_1=__decorate$11([__param$Z(3,ILanguageConfigurationService)],SnippetSession);var __decorate$10=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$Y=function(e,t){return function(i,o){t(i,o,e)}},SnippetController2_1;const _defaultOptions={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let SnippetController2=class{static{SnippetController2_1=this}static{this.ID="snippetController2"}static get(e){return e.getContribution(SnippetController2_1.ID)}static{this.InSnippetMode=new RawContextKey("inSnippetMode",!1,localize("inSnippetMode","Whether the editor in current in snippet mode"))}static{this.HasNextTabstop=new RawContextKey("hasNextTabstop",!1,localize("hasNextTabstop","Whether there is a next tab stop when in snippet mode"))}static{this.HasPrevTabstop=new RawContextKey("hasPrevTabstop",!1,localize("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode"))}constructor(e,t,i,o,n){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=n,this._snippetListener=new DisposableStore,this._modelVersionId=-1,this._inSnippet=SnippetController2_1.InSnippetMode.bindTo(o),this._hasNextTabstop=SnippetController2_1.HasNextTabstop.bindTo(o),this._hasPrevTabstop=SnippetController2_1.HasPrevTabstop.bindTo(o)}dispose(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(t,i){try{this._doInsert(t,void 0===i?_defaultOptions:{..._defaultOptions,...i})}catch(e){this.cancel(),this._logService.error(e),this._logService.error("snippet_error"),this._logService.error("insert_template=",t),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof e&&this.cancel(),this._session?(assertType("string"==typeof e),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new SnippetSession(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){const e={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!Position$1.equals(this._editor.getPosition(),t))return;const{activeChoice:i}=this._session;if(!i||0===i.choice.options.length)return;const o=e.getValueInRange(i.range),n=Boolean(i.choice.options.find(e=>e.value===o)),r=[];for(let s=0;s{i?.dispose(),o=!1},r=()=>{o||(i=this._languageFeaturesService.completionProvider.register({language:t.getLanguageId(),pattern:t.uri.fsPath,scheme:t.uri.scheme,exclusive:!0},e),this._snippetListener.add(i),o=!0)};this._choiceCompletions={provider:e,enable:r,disable:n}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(e=>e.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())return void(this._currentChoice=void 0);const{activeChoice:e}=this._session;if(!e||!this._choiceCompletions)return this._choiceCompletions?.disable(),void(this._currentChoice=void 0);this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{showSimpleSuggestions(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!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,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};SnippetController2=SnippetController2_1=__decorate$10([__param$Y(1,ILogService),__param$Y(2,ILanguageFeaturesService),__param$Y(3,IContextKeyService),__param$Y(4,ILanguageConfigurationService)],SnippetController2),registerEditorContribution(SnippetController2.ID,SnippetController2,4);const CommandCtor=EditorCommand.bindToContribution(SnippetController2.get);registerEditorCommand(new CommandCtor({id:"jumpToNextSnippetPlaceholder",precondition:ContextKeyExpr.and(SnippetController2.InSnippetMode,SnippetController2.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:EditorContextKeys.textInputFocus,primary:2}})),registerEditorCommand(new CommandCtor({id:"jumpToPrevSnippetPlaceholder",precondition:ContextKeyExpr.and(SnippetController2.InSnippetMode,SnippetController2.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:EditorContextKeys.textInputFocus,primary:1026}})),registerEditorCommand(new CommandCtor({id:"leaveSnippet",precondition:SnippetController2.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}})),registerEditorCommand(new CommandCtor({id:"acceptSnippet",precondition:SnippetController2.InSnippetMode,handler:e=>e.finish()}));var __decorate$$=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$X=function(e,t){return function(i,o){t(i,o,e)}};let InlineCompletionsModel=class extends Disposable{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,o,n,r,s,a,l,c,d,u){let h;super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=o,this._debounceValue=n,this._suggestPreviewEnabled=r,this._suggestPreviewMode=s,this._inlineSuggestMode=a,this._enabled=l,this._instantiationService=c,this._commandService=d,this._languageConfigurationService=u,this._source=this._register(this._instantiationService.createInstance(InlineCompletionsSource,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=observableValue(this,!1),this._forceUpdateExplicitlySignal=observableSignal(this),this._selectedInlineCompletionId=observableValue(this,void 0),this._primaryPosition=derived(this,e=>this._positions.read(e)[0]??new Position$1(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([VersionIdChangeReason.Redo,VersionIdChangeReason.Undo,VersionIdChangeReason.AcceptWord]),this._fetchInlineCompletionsPromise=derivedHandleChanges({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:InlineCompletionTriggerKind$1.Automatic}),handleChange:(e,t)=>(e.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(e.change))?t.preserveCurrentCompletion=!0:e.didChange(this._forceUpdateExplicitlySignal)&&(t.inlineCompletionTriggerKind=InlineCompletionTriggerKind$1.Explicit),!0)},(e,t)=>{this._forceUpdateExplicitlySignal.read(e);if(!(this._enabled.read(e)&&this.selectedSuggestItem.read(e)||this._isActive.read(e)))return void this._source.cancelUpdate();this._textModelVersionId.read(e);const i=this._source.suggestWidgetInlineCompletions.get(),o=this.selectedSuggestItem.read(e);if(i&&!o){const e=this._source.inlineCompletions.get();transaction(t=>{(!e||i.request.versionId>e.request.versionId)&&this._source.inlineCompletions.set(i.clone(),t),this._source.clearSuggestWidgetInlineCompletions(t)})}const n=this._primaryPosition.read(e),r={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:o?.toSelectedSuggestionInfo()},s=this.selectedInlineCompletion.get(),a=t.preserveCurrentCompletion||s?.forwardStable?s:void 0;return this._source.fetch(n,r,a)}),this._filteredInlineCompletionItems=derivedOpts({owner:this,equalsFn:itemsEquals()},e=>{const t=this._source.inlineCompletions.read(e);if(!t)return[];const i=this._primaryPosition.read(e),o=t.inlineCompletions.filter(t=>t.isVisible(this.textModel,i,e));return o}),this.selectedInlineCompletionIndex=derived(this,e=>{const t=this._selectedInlineCompletionId.read(e),i=this._filteredInlineCompletionItems.read(e),o=void 0===this._selectedInlineCompletionId?-1:i.findIndex(e=>e.semanticId===t);return-1===o?(this._selectedInlineCompletionId.set(void 0,void 0),0):o}),this.selectedInlineCompletion=derived(this,e=>this._filteredInlineCompletionItems.read(e)[this.selectedInlineCompletionIndex.read(e)]),this.activeCommands=derivedOpts({owner:this,equalsFn:itemsEquals()},e=>this.selectedInlineCompletion.read(e)?.inlineCompletion.source.inlineCompletions.commands??[]),this.lastTriggerKind=this._source.inlineCompletions.map(this,e=>e?.request.context.triggerKind),this.inlineCompletionsCount=derived(this,e=>this.lastTriggerKind.read(e)===InlineCompletionTriggerKind$1.Explicit?this._filteredInlineCompletionItems.read(e).length:void 0),this.state=derivedOpts({owner:this,equalsFn:(e,t)=>e&&t?ghostTextsOrReplacementsEqual(e.ghostTexts,t.ghostTexts)&&e.inlineCompletion===t.inlineCompletion&&e.suggestItem===t.suggestItem:e===t},e=>{const t=this.textModel,i=this.selectedSuggestItem.read(e);if(i){const o=singleTextRemoveCommonPrefix(i.toSingleTextEdit(),t),n=this._computeAugmentation(o,e);if(!this._suggestPreviewEnabled.read(e)&&!n)return;const r=n?.edit??o,s=n?n.edit.text.length-o.text.length:0,a=this._suggestPreviewMode.read(e),l=this._positions.read(e),c=[r,...getSecondaryEdits(this.textModel,l,r)],d=c.map((e,i)=>computeGhostText(e,t,a,l[i],s)).filter(isDefined);return{edits:c,primaryGhostText:d[0]??new GhostText(r.range.endLineNumber,[]),ghostTexts:d,inlineCompletion:n?.completion,suggestItem:i}}{if(!this._isActive.read(e))return;const i=this.selectedInlineCompletion.read(e);if(!i)return;const o=i.toSingleTextEdit(e),n=this._inlineSuggestMode.read(e),r=this._positions.read(e),s=[o,...getSecondaryEdits(this.textModel,r,o)],a=s.map((e,i)=>computeGhostText(e,t,n,r[i],0)).filter(isDefined);if(!a[0])return;return{edits:s,primaryGhostText:a[0],ghostTexts:a,inlineCompletion:i,suggestItem:void 0}}}),this.ghostTexts=derivedOpts({owner:this,equalsFn:ghostTextsOrReplacementsEqual},e=>{const t=this.state.read(e);if(t)return t.ghostTexts}),this.primaryGhostText=derivedOpts({owner:this,equalsFn:ghostTextOrReplacementEquals},e=>{const t=this.state.read(e);if(t)return t?.primaryGhostText}),this._register(recomputeInitiallyAndOnChange(this._fetchInlineCompletionsPromise)),this._register(autorun(e=>{const t=this.state.read(e),i=t?.inlineCompletion;if(i?.semanticId!==h?.semanticId&&(h=i,i)){const e=i.inlineCompletion,t=e.source;t.provider.handleItemDidShow?.(t.inlineCompletions,e.sourceInlineCompletion,e.insertText)}}))}_getReason(e){return e?.isUndoing?VersionIdChangeReason.Undo:e?.isRedoing?VersionIdChangeReason.Redo:this.isAcceptingPartially?VersionIdChangeReason.AcceptWord:VersionIdChangeReason.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){subtransaction(e,e=>{this._isActive.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)}),await this._fetchInlineCompletionsPromise.get()}stop(e){subtransaction(e,e=>{this._isActive.set(!1,e),this._source.clear(e)})}_computeAugmentation(e,t){const i=this.textModel,o=this._source.suggestWidgetInlineCompletions.read(t);return mapFindFirst(o?o.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(isDefined),o=>{let n=o.toSingleTextEdit(t);return n=singleTextRemoveCommonPrefix(n,i,Range$2.fromPositions(n.range.getStartPosition(),e.range.getEndPosition())),singleTextEditAugments(n,e)?{completion:o,edit:n}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].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(e){if(e.getModel()!==this.textModel)throw new BugIndicatingError;const t=this.state.get();if(!t||t.primaryGhostText.isEmpty()||!t.inlineCompletion)return;const i=t.inlineCompletion.toInlineCompletion(void 0);if(i.command&&i.source.addRef(),e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[EditOperation.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),SnippetController2.get(e)?.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const o=t.edits,n=getEndPositionsAfterApplying(o).map(e=>Selection$1.fromPositions(e));e.executeEdits("inlineSuggestion.accept",[...o.map(e=>EditOperation.replace(e.range,e.text)),...i.additionalTextEdits]),e.setSelections(n,"inlineCompletionAccept")}this.stop(),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,onUnexpectedExternalError),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(e,t)=>{const i=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),o=this._languageConfigurationService.getLanguageConfiguration(i),n=new RegExp(o.wordDefinition.source,o.wordDefinition.flags.replace("g","")),r=t.match(n);let s=0;s=r&&void 0!==r.index?0===r.index?r[0].length:r.index:t.length;const a=/\s+/g.exec(t);return a&&void 0!==a.index&&a.index+a[0].length{const i=t.match(/\n/);return i&&void 0!==i.index?i.index+1:t.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new BugIndicatingError;const o=this.state.get();if(!o||o.primaryGhostText.isEmpty()||!o.inlineCompletion)return;const n=o.primaryGhostText,r=o.inlineCompletion.toInlineCompletion(void 0);if(r.snippetInfo||r.filterText!==r.insertText)return void(await this.accept(e));const s=n.parts[0],a=new Position$1(n.lineNumber,s.column),l=s.text,c=t(a,l);if(c===l.length&&1===n.parts.length)return void this.accept(e);const d=l.substring(0,c),u=this._positions.get(),h=u[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const t=Range$2.fromPositions(h,a),i=e.getModel().getValueInRange(t)+d,o=new SingleTextEdit(t,i),n=[o,...getSecondaryEdits(this.textModel,u,o)],r=getEndPositionsAfterApplying(n).map(e=>Selection$1.fromPositions(e));e.executeEdits("inlineSuggestion.accept",n.map(e=>EditOperation.replace(e.range,e.text))),e.setSelections(r,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const t=Range$2.fromPositions(r.range.getStartPosition(),TextLength.ofText(d).addToPosition(a)),o=e.getModel().getValueInRange(t,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,o.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){const t=singleTextRemoveCommonPrefix(e.toSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;const o=i.completion.inlineCompletion;o.source.provider.handlePartialAccept?.(o.source.inlineCompletions,o.sourceInlineCompletion,t.text.length,{kind:2})}};var VersionIdChangeReason;function getSecondaryEdits(e,t,i){if(1===t.length)return[];const o=t[0],n=t.slice(1),r=i.range.getStartPosition(),s=i.range.getEndPosition(),a=e.getValueInRange(Range$2.fromPositions(o,s)),l=subtractPositions(o,r);if(l.lineNumber<1)return onUnexpectedError(new BugIndicatingError(`positionWithinTextEdit line number should be bigger than 0.\n\t\t\tInvalid subtraction between ${o.toString()} and ${r.toString()}`)),[];const c=substringPos(i.text,l);return n.map(t=>{const i=addPositions(subtractPositions(t,r),s),o=e.getValueInRange(Range$2.fromPositions(t,i)),n=commonPrefixLength(a,o),l=Range$2.fromPositions(t,t.delta(0,n));return new SingleTextEdit(l,c)})}function substringPos(e,t){let i="";const o=splitLinesIncludeSeparators(e);for(let n=t.lineNumber-1;ne.range,Range$2.compareRangesUsingStarts)),i=new TextEdit(t.apply(e)).getNewRanges();return t.inverse().apply(i).map(e=>e.getEndPosition())}InlineCompletionsModel=__decorate$$([__param$X(9,IInstantiationService),__param$X(10,ICommandService),__param$X(11,ILanguageConfigurationService)],InlineCompletionsModel),function(e){e[e.Undo=0]="Undo",e[e.Redo=1]="Redo",e[e.AcceptWord=2]="AcceptWord",e[e.Other=3]="Other"}(VersionIdChangeReason||(VersionIdChangeReason={}));var __decorate$_=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$W=function(e,t){return function(i,o){t(i,o,e)}},SuggestMemoryService_1;class Memory{constructor(e){this.name=e}select(e,t,i){if(0===i.length)return 0;const o=i[0].score[0];for(let n=0;na&&o.type===i[l].completion.kind&&o.insertText===i[l].completion.insertText&&(a=o.touch,s=l),i[l].completion.preselect&&-1===r)return l}return-1!==s?s:-1!==r?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(const[t,i]of e)i.touch=0,i.type="number"==typeof i.type?i.type:CompletionItemKinds.fromString(i.type),this._cache.set(t,i);this._seq=this._cache.size}}class PrefixMemory extends Memory{constructor(){super("recentlyUsedByPrefix"),this._trie=TernarySearchTree.forStrings(),this._seq=0}memorize(e,t,i){const{word:o}=e.getWordUntilPosition(t),n=`${e.getLanguageId()}/${o}`;this._trie.set(n,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:o}=e.getWordUntilPosition(t);if(!o)return super.select(e,t,i);const n=`${e.getLanguageId()}/${o}`;let r=this._trie.get(n);if(r||(r=this._trie.findSubstr(n)),r)for(let s=0;se.push([i,t])),e.sort((e,t)=>-(e[1].touch-t[1].touch)).forEach((e,t)=>e[1].touch=t),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type="number"==typeof i.type?i.type:CompletionItemKinds.fromString(i.type),this._trie.set(t,i)}}}let SuggestMemoryService=class{static{SuggestMemoryService_1=this}static{this._strategyCtors=new Map([["recentlyUsedByPrefix",PrefixMemory],["recentlyUsed",LRUMemory],["first",NoMemory]])}static{this._storagePrefix="suggest/memories"}constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new DisposableStore,this._persistSoon=new RunOnceScheduler(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(e=>{e.reason===WillSaveStateReason.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(t,i){const o=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:t.getLanguageIdAtPosition(i.lineNumber,i.column),resource:t.uri});if(this._strategy?.name!==o){this._saveState();const t=SuggestMemoryService_1._strategyCtors.get(o)||NoMemory;this._strategy=new t;try{const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=this._storageService.get(`${SuggestMemoryService_1._storagePrefix}/${o}`,e);t&&this._strategy.fromJSON(JSON.parse(t))}catch(e){}}return this._strategy}_saveState(){if(this._strategy){const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=JSON.stringify(this._strategy);this._storageService.store(`${SuggestMemoryService_1._storagePrefix}/${this._strategy.name}`,t,e,1)}}};SuggestMemoryService=SuggestMemoryService_1=__decorate$_([__param$W(0,IStorageService),__param$W(1,IConfigurationService)],SuggestMemoryService);const ISuggestMemoryService=createDecorator("ISuggestMemories");registerSingleton(ISuggestMemoryService,SuggestMemoryService,1);var __decorate$Z=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$V=function(e,t){return function(i,o){t(i,o,e)}},WordContextKey_1;let WordContextKey=class{static{WordContextKey_1=this}static{this.AtEnd=new RawContextKey("atEndOfWord",!1)}constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=WordContextKey_1.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(e=>e.hasChanged(124)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){const e="on"===this._editor.getOption(124);if(this._enabled!==e)if(this._enabled=e,this._enabled){const e=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const e=this._editor.getModel(),t=this._editor.getSelection(),i=e.getWordAtPosition(t.getStartPosition());i?this._ckAtEnd.set(i.endColumn===t.getStartPosition().column):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};WordContextKey=WordContextKey_1=__decorate$Z([__param$V(1,IContextKeyService)],WordContextKey);var __decorate$Y=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$U=function(e,t){return function(i,o){t(i,o,e)}},SuggestAlternatives_1;let SuggestAlternatives=class{static{SuggestAlternatives_1=this}static{this.OtherSuggestions=new RawContextKey("hasOtherSuggestions",!1)}constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=SuggestAlternatives_1.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(0===e.items.length)return void this.reset();SuggestAlternatives_1._moveIndex(!0,e,t)!==t?(this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(e,t,i){let o=i;for(let n=t.items.length;n>0&&(o=(o+t.items.length+(e?1:-1))%t.items.length,o!==i)&&t.items[o].completion.additionalTextEdits;n--);return o}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=SuggestAlternatives_1._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};SuggestAlternatives=SuggestAlternatives_1=__decorate$Y([__param$U(1,IContextKeyService)],SuggestAlternatives);class CommitCharacterController{constructor(e,t,i,o){this._disposables=new DisposableStore,this._disposables.add(i.onDidSuggest(e=>{0===e.completionModel.items.length&&this.reset()})),this._disposables.add(i.onDidCancel(e=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(n=>{if(this._active&&!t.isFrozen()&&0!==i.state){const t=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&o(this._active.item)}}))}_onItem(e){if(!e||!isNonEmptyArray(e.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===e.item)return;const t=new CharacterSet;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class BracketSelectionRangeProvider{async provideSelectionRanges(e,t){const i=[];for(const o of t){const t=[];i.push(t);const n=new Map;await new Promise(t=>BracketSelectionRangeProvider._bracketsRightYield(t,0,e,o,n)),await new Promise(i=>BracketSelectionRangeProvider._bracketsLeftYield(i,0,e,o,n,t))}return i}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(e,t,i,o,n){const r=new Map,s=Date.now();for(;;){if(t>=BracketSelectionRangeProvider._maxRounds){e();break}if(!o){e();break}const a=i.bracketPairs.findNextBracket(o);if(!a){e();break}if(Date.now()-s>BracketSelectionRangeProvider._maxDuration){setTimeout(()=>BracketSelectionRangeProvider._bracketsRightYield(e,t+1,i,o,n));break}if(a.bracketInfo.isOpeningBracket){const e=a.bracketInfo.bracketText,t=r.has(e)?r.get(e):0;r.set(e,t+1)}else{const e=a.bracketInfo.getOpeningBrackets()[0].bracketText;let t=r.has(e)?r.get(e):0;if(t-=1,r.set(e,Math.max(0,t)),t<0){let t=n.get(e);t||(t=new LinkedList,n.set(e,t)),t.push(a.range)}}o=a.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,o,n,r){const s=new Map,a=Date.now();for(;;){if(t>=BracketSelectionRangeProvider._maxRounds&&0===n.size){e();break}if(!o){e();break}const l=i.bracketPairs.findPrevBracket(o);if(!l){e();break}if(Date.now()-a>BracketSelectionRangeProvider._maxDuration){setTimeout(()=>BracketSelectionRangeProvider._bracketsLeftYield(e,t+1,i,o,n,r));break}if(l.bracketInfo.isOpeningBracket){const e=l.bracketInfo.bracketText;let t=s.has(e)?s.get(e):0;if(t-=1,s.set(e,Math.max(0,t)),t<0){const t=n.get(e);if(t){const o=t.shift();0===t.size&&n.delete(e);const s=Range$2.fromPositions(l.range.getEndPosition(),o.getStartPosition()),a=Range$2.fromPositions(l.range.getStartPosition(),o.getEndPosition());r.push({range:s}),r.push({range:a}),BracketSelectionRangeProvider._addBracketLeading(i,a,r)}}}else{const e=l.bracketInfo.getOpeningBrackets()[0].bracketText,t=s.has(e)?s.get(e):0;s.set(e,t+1)}o=l.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const o=t.startLineNumber,n=e.getLineFirstNonWhitespaceColumn(o);0!==n&&n!==t.startColumn&&(i.push({range:Range$2.fromPositions(new Position$1(o,n),t.getEndPosition())}),i.push({range:Range$2.fromPositions(new Position$1(o,1),t.getEndPosition())}));const r=o-1;if(r>0){const o=e.getLineFirstNonWhitespaceColumn(r);o===t.startColumn&&o!==e.getLineLastNonWhitespaceColumn(r)&&(i.push({range:Range$2.fromPositions(new Position$1(r,o),t.getEndPosition())}),i.push({range:Range$2.fromPositions(new Position$1(r,1),t.getEndPosition())}))}}}class WordDistance{static{this.None=new class extends WordDistance{distance(){return 0}}}static async create(e,t){if(!t.getOption(119).localityBonus)return WordDistance.None;if(!t.hasModel())return WordDistance.None;const i=t.getModel(),o=t.getPosition();if(!e.canComputeWordRanges(i.uri))return WordDistance.None;const[n]=await(new BracketSelectionRangeProvider).provideSelectionRanges(i,[o]);if(0===n.length)return WordDistance.None;const r=await e.computeWordRanges(i.uri,n[0].range);if(!r)return WordDistance.None;const s=i.getWordUntilPosition(o);return delete r[s.word],new class extends WordDistance{distance(e,i){if(!o.equals(t.getPosition()))return 0;if(17===i.kind)return 2<<20;const s="string"==typeof i.label?i.label:i.label.label,a=r[s];if(isFalsyOrEmpty(a))return 2<<20;const l=binarySearch(a,Range$2.fromPositions(e),Range$2.compareRangesUsingStarts),c=l>=0?a[l]:a[Math.max(0,~l-1)];let d=n.length;for(const t of n){if(!Range$2.containsRange(t.range,c))break;d-=1}return d}}}}let LineContext$1=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class CompletionModel{constructor(e,t,i,o,n,r,s=FuzzyScoreOptions.default,a=void 0){this.clipboardText=a,this._snippetCompareFn=CompletionModel._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=o,this._options=n,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=s,"top"===r?this._snippetCompareFn=CompletionModel._compareCompletionItemsSnippetsUp:"bottom"===r&&(this._snippetCompareFn=CompletionModel._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let o="",n="";const r=1===this._refilterKind?this._items:this._filteredItems,s=[],a=!this._options.filterGraceful||r.length>2e3?fuzzyScore:fuzzyScoreGracefulAggressive;for(let l=0;l=h)c.score=FuzzyScore.Default;else if("string"==typeof c.completion.filterText){const t=a(o,n,e,c.completion.filterText,c.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;0===compareIgnoreCase(c.completion.filterText,c.textLabel)?c.score=t:(c.score=anyScore(o,n,e,c.textLabel,c.labelLow,0),c.score[0]=t[0])}else{const t=a(o,n,e,c.textLabel,c.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;c.score=t}}c.idx=l,c.distance=this._wordDistance.distance(c.position,c.completion),s.push(c),e.push(c.textLabel.length)}this._filteredItems=s.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?quickSelect(e.length-.85,e,(e,t)=>e-t):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return CompletionModel._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return CompletionModel._compareCompletionItems(e,t)}}var __decorate$X=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$T=function(e,t){return function(i,o){t(i,o,e)}},SuggestModel_1;class LineContext{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const o=t.getWordAtPosition(i);return!!o&&((o.endColumn===i.column||o.startColumn+1===i.column)&&!!isNaN(Number(o.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function canShowQuickSuggest(e,t,i){if(!Boolean(t.getContextKeyValue(InlineCompletionContextKeys.inlineSuggestionVisible.key)))return!0;const o=t.getContextKeyValue(InlineCompletionContextKeys.suppressSuggestions.key);return void 0!==o?!o:!e.getOption(62).suppressSuggestions}function canShowSuggestOnTriggerCharacters(e,t,i){if(!Boolean(t.getContextKeyValue("inlineSuggestionVisible")))return!0;const o=t.getContextKeyValue(InlineCompletionContextKeys.suppressSuggestions.key);return void 0!==o?!o:!e.getOption(62).suppressSuggestions}let SuggestModel=SuggestModel_1=class{constructor(e,t,i,o,n,r,s,a,l){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=o,this._logService=n,this._contextKeyService=r,this._configurationService=s,this._languageFeaturesService=a,this._envService=l,this._toDispose=new DisposableStore,this._triggerCharacterListener=new DisposableStore,this._triggerQuickSuggest=new TimeoutTimer,this._triggerState=void 0,this._completionDisposables=new DisposableStore,this._onDidCancel=new Emitter$1,this._onDidTrigger=new Emitter$1,this._onDidSuggest=new Emitter$1,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,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 c=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{c=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{c=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(e=>{c||this._onCursorChange(e)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{c||void 0===this._triggerState||this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){dispose(this._triggerCharacterListener),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 e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const t of i.triggerCharacters||[]){let o=e.get(t);o||(o=new Set,e.set(t,o)),o.add(i)}const t=t=>{if(!canShowSuggestOnTriggerCharacters(this._editor,this._contextKeyService,this._configurationService))return;if(LineContext.shouldAutoTrigger(this._editor))return;if(!t){const e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let i="";isLowSurrogate(t.charCodeAt(t.length-1))?isHighSurrogate(t.charCodeAt(t.length-2))&&(i=t.substr(t.length-2)):i=t.charAt(t.length-1);const o=e.get(i);if(o){const e=new Map;if(this._completionModel)for(const[t,i]of this._completionModel.getItemsByProvider())o.has(t)||e.set(t,i);this.trigger({auto:!0,triggerKind:1,triggerCharacter:i,retrigger:Boolean(this._completionModel),clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:o,providerItemsToReuse:e}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){void 0!==this._triggerState&&(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:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||0!==e.reason&&3!==e.reason||"keyboard"!==e.source&&"deleteLeft"!==e.source?this.cancel():void 0===this._triggerState&&0===e.reason?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===e.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){QuickSuggestionsOptions.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&SnippetController2.get(this._editor)?.isInSnippet()||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(void 0!==this._triggerState)return;if(!LineContext.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const e=this._editor.getModel(),t=this._editor.getPosition(),i=this._editor.getOption(90);if(!QuickSuggestionsOptions.isAllOff(i)){if(!QuickSuggestionsOptions.isAllOn(i)){e.tokenization.tokenizeIfCheap(t.lineNumber);const o=e.tokenization.getLineTokens(t.lineNumber),n=o.getStandardTokenType(o.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("on"!==QuickSuggestionsOptions.valueFor(i,n))return}canShowQuickSuggest(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){assertType(this._editor.hasModel()),assertType(void 0!==this._triggerState);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new LineContext(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new LineContext(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=i;let o={triggerKind:e.triggerKind??0};e.triggerCharacter&&(o={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new CancellationTokenSource$1;let n=1;switch(this._editor.getOption(113)){case"top":n=0;break;case"bottom":n=2}const{itemKind:r,showDeprecated:s}=SuggestModel_1.createSuggestFilter(this._editor),a=new CompletionOptions(n,e.completionOptions?.kindFilter??r,e.completionOptions?.providerFilter,e.completionOptions?.providerItemsToReuse,s),l=WordDistance.create(this._editorWorkerService,this._editor),c=provideSuggestionItems(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),a,o,this._requestToken.token);Promise.all([c,l]).then(async([t,i])=>{if(this._requestToken?.dispose(),!this._editor.hasModel())return;let o=e?.clipboardText;if(!o&&t.needsClipboard&&(o=await this._clipboardService.readText()),void 0===this._triggerState)return;const n=this._editor.getModel(),r=new LineContext(n,this._editor.getPosition(),e),s={...FuzzyScoreOptions.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new CompletionModel(t.items,this._context.column,{leadingLineContent:r.leadingLineContent,characterCountDelta:r.column-this._context.column},i,this._editor.getOption(119),this._editor.getOption(113),s,o),this._completionDisposables.add(t.disposable),this._onNewContext(r),this._reportDurationsTelemetry(t.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const e of t.items)e.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${e.provider._debugDisplayName}`,e.completion)}).catch(onUnexpectedError)}_reportDurationsTelemetry(e){this._telemetryGate++%230==0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;"none"===e.getOption(113)&&t.add(27);const i=e.getOption(119);return i.showMethods||t.add(0),i.showFunctions||t.add(1),i.showConstructors||t.add(2),i.showFields||t.add(3),i.showVariables||t.add(4),i.showClasses||t.add(5),i.showStructs||t.add(6),i.showInterfaces||t.add(7),i.showModules||t.add(8),i.showProperties||t.add(9),i.showEvents||t.add(10),i.showOperators||t.add(11),i.showUnits||t.add(12),i.showValues||t.add(13),i.showConstants||t.add(14),i.showEnums||t.add(15),i.showEnumMembers||t.add(16),i.showKeywords||t.add(17),i.showWords||t.add(18),i.showColors||t.add(19),i.showFiles||t.add(20),i.showReferences||t.add(21),i.showColors||t.add(22),i.showFolders||t.add(23),i.showTypeParameters||t.add(24),i.showSnippets||t.add(27),i.showUsers||t.add(25),i.showIssues||t.add(26),{itemKind:t,showDeprecated:i.showDeprecated}}_onNewContext(e){if(this._context)if(e.lineNumber===this._context.lineNumber)if(getLeadingWhitespace(e.leadingLineContent)===getLeadingWhitespace(this._context.leadingLineContent)){if(e.columnthis._context.leadingWord.startColumn){if(LineContext.shouldAutoTrigger(this._editor)&&this._context){const e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==e.leadingWord.word.length){const e=new Map,t=new Set;for(const[i,o]of this._completionModel.getItemsByProvider())o.length>0&&o[0].container.incomplete?t.add(i):e.set(i,o);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){const o=LineContext.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(o&&this._context.leadingWord.endColumn0,i&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}else this.cancel();else this.cancel()}};SuggestModel=SuggestModel_1=__decorate$X([__param$T(1,IEditorWorkerService),__param$T(2,IClipboardService),__param$T(3,ITelemetryService),__param$T(4,ILogService),__param$T(5,IContextKeyService),__param$T(6,IConfigurationService),__param$T(7,ILanguageFeaturesService),__param$T(8,IEnvironmentService)],SuggestModel);class OvertypingCapturer{static{this._maxSelectionLength=51200}constructor(e,t){this._disposables=new DisposableStore,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const t=e.getSelections(),i=t.length;let o=!1;for(let e=0;eOvertypingCapturer._maxSelectionLength)return;this._lastOvertyped[e]={value:n.getValueInRange(i),multiline:i.startLineNumber!==i.endLineNumber}}})),this._disposables.add(t.onDidTrigger(e=>{this._locked=!0})),this._disposables.add(t.onDidCancel(e=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$S=function(e,t){return function(i,o){t(i,o,e)}};let SuggestWidgetStatus=class{constructor(e,t,i,o,n){this._menuId=t,this._menuService=o,this._contextKeyService=n,this._menuDisposables=new DisposableStore,this.element=append$2(e,$$f(".suggest-status-bar"));const r=e=>e instanceof MenuItemAction?i.createInstance(TextOnlyMenuEntryActionViewItem,e,{useComma:!0}):void 0;this._leftActions=new ActionBar(this.element,{actionViewItemProvider:r}),this._rightActions=new ActionBar(this.element,{actionViewItemProvider:r}),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 e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const t=[],i=[];for(const[o,n]of e.getActions())"left"===o?t.push(...n):i.push(...n);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(i)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};SuggestWidgetStatus=__decorate$W([__param$S(2,IInstantiationService),__param$S(3,IMenuService),__param$S(4,IContextKeyService)],SuggestWidgetStatus);var __decorate$V=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$R=function(e,t){return function(i,o){t(i,o,e)}};function canExpandCompletionItem(e){return!!e&&Boolean(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}let SuggestDetailsWidget=class{constructor(e,t){this._editor=e,this._onDidClose=new Emitter$1,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Emitter$1,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new DisposableStore,this._renderDisposeable=new DisposableStore,this._borderWidth=1,this._size=new Dimension(330,0),this.domNode=$$f(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(MarkdownRenderer,{editor:e}),this._body=$$f(".body"),this._scrollbar=new DomScrollableElement(this._body,{alwaysConsumeMouseWheel:!0}),append$2(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=append$2(this._body,$$f(".header")),this._close=append$2(this._header,$$f("span"+ThemeIcon.asCSSSelector(Codicon.close))),this._close.title=localize("details.close","Close"),this._type=append$2(this._header,$$f("p.type")),this._docs=append$2(this._body,$$f("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),o=e.get(120)||t.fontSize,n=e.get(121)||t.lineHeight,r=t.fontWeight,s=`${o}px`,a=`${n}px`;this.domNode.style.fontSize=s,this.domNode.style.lineHeight=""+n/o,this.domNode.style.fontWeight=r,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=a,this._close.style.width=a}getLayoutInfo(){const e=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,t=this._borderWidth;return{lineHeight:e,borderWidth:t,borderHeight:2*t,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=localize("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(e,t){this._renderDisposeable.clear();let{detail:i,documentation:o}=e.completion;if(t){let t="";t+=`score: ${e.score[0]}\n`,t+=`prefix: ${e.word??"(no prefix)"}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}\n`,t+=`commit_chars: ${e.completion.commitCharacters?.join("")}\n`,o=(new MarkdownString).appendCodeblock("empty",t),i=`Provider: ${e.provider._debugDisplayName}`}if(t||canExpandCompletionItem(e)){if(this.domNode.classList.remove("no-docs","no-type"),i){const e=i.length>1e5?`${i.substr(0,1e5)}…`:i;this._type.textContent=e,this._type.title=e,show(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(e))}else clearNode(this._type),this._type.title="",hide$2(this._type),this.domNode.classList.add("no-type");if(clearNode(this._docs),"string"==typeof o)this._docs.classList.remove("markdown-docs"),this._docs.textContent=o;else if(o){this._docs.classList.add("markdown-docs"),clearNode(this._docs);const e=this._markdownRenderer.render(o);this._docs.appendChild(e.element),this._renderDisposeable.add(e),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=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new Dimension(e,t);Dimension.equals(i,this._size)||(this._size=i,size(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};SuggestDetailsWidget=__decorate$V([__param$R(1,IInstantiationService)],SuggestDetailsWidget);class SuggestDetailsOverlay{constructor(e,t){let i,o;this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new DisposableStore,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new ResizableHTMLElement,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n=0,r=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,o=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(e=>{if(i&&o){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(r=o.width-e.dimension.width,t=!0),e.north&&(n=o.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:i.top+n,left:i.left+r})}e.done&&(i=void 0,o=void 0,n=0,r=0,this._userSize=e.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(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){const o=getClientArea(this.getDomNode().ownerDocument.body),n=this.widget.getLayoutInfo(),r=new Dimension(220,2*n.lineHeight),s=e.top,a=function(){const i=o.width-(e.left+e.width+n.borderWidth+n.horizontalPadding),a=-n.borderWidth+e.left+e.width,l=new Dimension(i,o.height-e.top-n.borderHeight-n.verticalPadding),c=l.with(void 0,e.top+e.height-n.borderHeight-n.verticalPadding);return{top:s,left:a,fit:i-t.width,maxSizeTop:l,maxSizeBottom:c,minSize:r.with(Math.min(i,r.width))}}(),l=function(){const i=e.left-n.borderWidth-n.horizontalPadding,a=Math.max(n.horizontalPadding,e.left-t.width-n.borderWidth),l=new Dimension(i,o.height-e.top-n.borderHeight-n.verticalPadding),c=l.with(void 0,e.top+e.height-n.borderHeight-n.verticalPadding);return{top:s,left:a,fit:i-t.width,maxSizeTop:l,maxSizeBottom:c,minSize:r.with(Math.min(i,r.width))}}(),c=function(){const i=e.left,s=-n.borderWidth+e.top+e.height,a=new Dimension(e.width-n.borderHeight,o.height-e.top-e.height-n.verticalPadding);return{top:s,left:i,fit:a.height-t.height,maxSizeBottom:a,maxSizeTop:a,minSize:r.with(a.width)}}(),d=[a,l,c],u=d.find(e=>e.fit>=0)??d.sort((e,t)=>t.fit-e.fit)[0],h=e.top+e.height-n.borderHeight;let p,g=t.height;const m=Math.max(u.maxSizeTop.height,u.maxSizeBottom.height);let f;g>m&&(g=m),i?g<=u.maxSizeTop.height?(p=!0,f=u.maxSizeTop):(p=!1,f=u.maxSizeBottom):g<=u.maxSizeBottom.height?(p=!1,f=u.maxSizeBottom):(p=!0,f=u.maxSizeTop);let{top:v,left:b}=u;!p&&g>e.height&&(v=h-g);const _=this._editor.getDomNode();if(_){const e=_.getBoundingClientRect();v-=e.top,b-=e.left}this._applyTopLeft({left:b,top:v}),this._resizable.enableSashes(!p,u===a,p,u!==a),this._resizable.minSize=u.minSize,this._resizable.maxSize=f,this._resizable.layout(g,Math.min(f.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var FileKind;!function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(FileKind||(FileKind={}));const fileIconDirectoryRegex=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function getIconClasses(e,t,i,o,n){if(ThemeIcon.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(URI.isUri(n))return[];const r=o===FileKind.ROOT_FOLDER?["rootfolder-icon"]:o===FileKind.FOLDER?["folder-icon"]:["file-icon"];if(i){let n;if(i.scheme===Schemas.data){n=DataUri.parseMetaData(i).get(DataUri.META_DATA_LABEL)}else{const e=i.path.match(fileIconDirectoryRegex);e?(n=cssEscape(e[2].toLowerCase()),e[1]&&r.push(`${cssEscape(e[1].toLowerCase())}-name-dir-icon`)):n=cssEscape(i.authority.toLowerCase())}if(o===FileKind.ROOT_FOLDER)r.push(`${n}-root-name-folder-icon`);else if(o===FileKind.FOLDER)r.push(`${n}-name-folder-icon`);else{if(n){if(r.push(`${n}-name-file-icon`),r.push("name-file-icon"),n.length<=255){const e=n.split(".");for(let t=1;t=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$Q=function(e,t){return function(i,o){t(i,o,e)}};function getAriaId(e){return`suggest-aria-id:${e}`}const suggestMoreInfoIcon=registerIcon("suggest-more-info",Codicon.chevronRight,localize("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),_completionItemColor=new class e{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(`^${e._regexRelaxed.source}$`,"i")}extract(t,i){if(t.textLabel.match(e._regexStrict))return i[0]=t.textLabel,!0;if(t.completion.detail&&t.completion.detail.match(e._regexStrict))return i[0]=t.completion.detail,!0;if(t.completion.documentation){const o="string"==typeof t.completion.documentation?t.completion.documentation:t.completion.documentation.value,n=e._regexRelaxed.exec(o);if(n&&(0===n.index||n.index+n[0].length===o.length))return i[0]=n[0],!0}return!1}};let ItemRenderer=class{constructor(e,t,i,o){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=o,this._onDidToggleDetails=new Emitter$1,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new DisposableStore,i=e;i.classList.add("show-file-icons");const o=append$2(e,$$f(".icon")),n=append$2(o,$$f("span.colorspan")),r=append$2(e,$$f(".contents")),s=append$2(r,$$f(".main")),a=append$2(s,$$f(".icon-label.codicon")),l=append$2(s,$$f("span.left")),c=append$2(s,$$f("span.right")),d=new IconLabel(l,{supportHighlights:!0,supportIcons:!0});t.add(d);const u=append$2(l,$$f("span.signature-label")),h=append$2(l,$$f("span.qualifier-label")),p=append$2(c,$$f("span.details-label")),g=append$2(c,$$f("span.readMore"+ThemeIcon.asCSSSelector(suggestMoreInfoIcon)));g.title=localize("readMore","Read More");return{root:i,left:l,right:c,icon:o,colorspan:n,iconLabel:d,iconContainer:a,parametersLabel:u,qualifierLabel:h,detailsLabel:p,readMore:g,disposables:t,configureFont:()=>{const e=this._editor.getOptions(),t=e.get(50),n=t.getMassagedFontFamily(),r=t.fontFeatureSettings,a=e.get(120)||t.fontSize,l=e.get(121)||t.lineHeight,c=t.fontWeight,d=`${a}px`,u=`${l}px`,h=`${t.letterSpacing}px`;i.style.fontSize=d,i.style.fontWeight=c,i.style.letterSpacing=h,s.style.fontFamily=n,s.style.fontFeatureSettings=r,s.style.lineHeight=u,o.style.height=u,o.style.width=u,g.style.height=u,g.style.width=u}}}renderElement(e,t,i){i.configureFont();const{completion:o}=e;i.root.id=getAriaId(t),i.colorspan.style.backgroundColor="";const n={labelEscapeNewLines:!0,matches:createMatches(e.score)},r=[];if(19===o.kind&&_completionItemColor.extract(e,r))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=r[0];else if(20===o.kind&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const t=getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:e.textLabel}),FileKind.FILE),r=getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:o.detail}),FileKind.FILE);n.extraClasses=t.length>r.length?t:r}else 23===o.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",n.extraClasses=[getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:e.textLabel}),FileKind.FOLDER),getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:o.detail}),FileKind.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...ThemeIcon.asClassNameArray(CompletionItemKinds.toIcon(o.kind))));o.tags&&o.tags.indexOf(1)>=0&&(n.extraClasses=(n.extraClasses||[]).concat(["deprecated"]),n.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,n),"string"==typeof o.label?(i.parametersLabel.textContent="",i.detailsLabel.textContent=stripNewLines(o.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=stripNewLines(o.label.detail||""),i.detailsLabel.textContent=stripNewLines(o.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?show(i.detailsLabel):hide$2(i.detailsLabel),canExpandCompletionItem(e)?(i.right.classList.add("can-expand-details"),show(i.readMore),i.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},i.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),hide$2(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};function stripNewLines(e){return e.replace(/\r\n|\r|\n/g,"")}ItemRenderer=__decorate$U([__param$Q(1,IModelService),__param$Q(2,ILanguageService),__param$Q(3,IThemeService)],ItemRenderer);var __decorate$T=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$P=function(e,t){return function(i,o){t(i,o,e)}},SuggestWidget_1;registerColor("editorSuggestWidget.background",editorWidgetBackground,localize("editorSuggestWidgetBackground","Background color of the suggest widget.")),registerColor("editorSuggestWidget.border",editorWidgetBorder,localize("editorSuggestWidgetBorder","Border color of the suggest widget."));const editorSuggestWidgetForeground=registerColor("editorSuggestWidget.foreground",editorForeground,localize("editorSuggestWidgetForeground","Foreground color of the suggest widget."));registerColor("editorSuggestWidget.selectedForeground",quickInputListFocusForeground,localize("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget.")),registerColor("editorSuggestWidget.selectedIconForeground",quickInputListFocusIconForeground,localize("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const editorSuggestWidgetSelectedBackground=registerColor("editorSuggestWidget.selectedBackground",quickInputListFocusBackground,localize("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));registerColor("editorSuggestWidget.highlightForeground",listHighlightForeground,localize("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),registerColor("editorSuggestWidget.focusHighlightForeground",listFocusHighlightForeground,localize("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused.")),registerColor("editorSuggestWidgetStatus.foreground",transparent(editorSuggestWidgetForeground,.5),localize("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class PersistedWidgetSize{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof EmbeddedCodeEditorWidget}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(Dimension.is(t))return Dimension.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let SuggestWidget=class{static{SuggestWidget_1=this}static{this.LOADING_MESSAGE=localize("suggestWidget.loading","Loading...")}static{this.NO_SUGGESTIONS_MESSAGE=localize("suggestWidget.noSuggestions","No suggestions.")}constructor(e,t,i,o,n){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new MutableDisposable,this._pendingShowDetails=new MutableDisposable,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new TimeoutTimer,this._disposables=new DisposableStore,this._onDidSelect=new PauseableEmitter,this._onDidFocus=new PauseableEmitter,this._onDidHide=new Emitter$1,this._onDidShow=new Emitter$1,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Emitter$1,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new ResizableHTMLElement,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new SuggestContentWidget(this,e),this._persistedSize=new PersistedWidgetSize(t,e);class r{constructor(e,t,i=!1,o=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=i,this.persistWidth=o}}let s;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),s=new r(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(e=>{if(this._resize(e.dimension.width,e.dimension.height),s&&(s.persistHeight=s.persistHeight||!!e.north||!!e.south,s.persistWidth=s.persistWidth||!!e.east||!!e.west),e.done){if(s){const{itemHeight:e,defaultSize:t}=this.getLayoutInfo(),i=Math.round(e/2);let{width:o,height:n}=this.element.size;(!s.persistHeight||Math.abs(s.currentSize.height-n)<=i)&&(n=s.persistedSize?.height??t.height),(!s.persistWidth||Math.abs(s.currentSize.width-o)<=i)&&(o=s.persistedSize?.width??t.width),this._persistedSize.store(new Dimension(o,n))}this._contentWidget.unlockPreference(),s=void 0}})),this._messageElement=append$2(this.element.domNode,$$f(".message")),this._listElement=append$2(this.element.domNode,$$f(".tree"));const a=this._disposables.add(n.createInstance(SuggestDetailsWidget,this.editor));a.onDidClose(this.toggleDetails,this,this._disposables),this._details=new SuggestDetailsOverlay(a,this.editor);const l=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);l();const c=n.createInstance(ItemRenderer,this.editor);this._disposables.add(c),this._disposables.add(c.onDidToggleDetails(()=>this.toggleDetails())),this._list=new List("SuggestWidget",this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>"suggestion"},[c],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>localize("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:e=>{let t=e.textLabel;if("string"!=typeof e.completion.label){const{detail:i,description:o}=e.completion.label;i&&o?t=localize("label.full","{0} {1}, {2}",t,i,o):i?t=localize("label.detail","{0} {1}",t,i):o&&(t=localize("label.desc","{0}, {1}",t,o))}if(!e.isResolved||!this._isDetailsVisible())return t;const{documentation:i,detail:o}=e.completion;return localize("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",t,format$1("{0}{1}",o||"",i?"string"==typeof i?i:i.value:""))}}}),this._list.style(getListStyles({listInactiveFocusBackground:editorSuggestWidgetSelectedBackground,listInactiveFocusOutline:activeContrastBorder})),this._status=n.createInstance(SuggestWidgetStatus,this.element.domNode,suggestWidgetStatusbarMenu);const d=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);d(),this._disposables.add(o.onDidColorThemeChange(e=>this._onThemeChange(e))),this._onThemeChange(o.getColorTheme()),this._disposables.add(this._list.onMouseDown(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onTap(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onDidChangeSelection(e=>this._onListSelection(e))),this._disposables.add(this._list.onDidChangeFocus(e=>this._onListFocus(e))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(e=>{e.hasChanged(119)&&(d(),l()),this._completionModel&&(e.hasChanged(50)||e.hasChanged(120)||e.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Context$1.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Context$1.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Context$1.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Context$1.HasFocusedSuggestion.bindTo(i),this._disposables.add(addStandardDisposableListener(this._details.widget.domNode,"keydown",e=>{this._onDetailsKeydown.fire(e)})),this._disposables.add(this.editor.onMouseDown(e=>this._onEditorMouseDown(e)))}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(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=isHighContrast(e.type)?2:1}_onListFocus(e){if(this._ignoreFocusEvents)return;if(!e.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const t=e.elements[0],i=e.indexes[0];t!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(i),this._currentSuggestionDetails=createCancelablePromise(async e=>{const i=disposableTimeout(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),o=e.onCancellationRequested(()=>i.dispose());try{return await t.resolve(e)}finally{i.dispose(),o.dispose()}}),this._currentSuggestionDetails.then(()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:getAriaId(i)}))}).catch(onUnexpectedError)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",4===e),this.element.domNode.classList.remove("message"),e){case 0:hide$2(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=SuggestWidget_1.LOADING_MESSAGE,hide$2(this._listElement,this._status.element),show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,status(SuggestWidget_1.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=SuggestWidget_1.NO_SUGGESTIONS_MESSAGE,hide$2(this._listElement,this._status.element),show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,status(SuggestWidget_1.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:hide$2(this._messageElement),show(this._listElement,this._status.element),this._show();break;case 5:hide$2(this._messageElement),show(this._listElement,this._status.element),this._details.show(),this._show()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=disposableTimeout(()=>this._setState(1),t)))}showSuggestions(e,t,i,o,n){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout?.dispose(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&2!==this._state&&0!==this._state)return void this._setState(4);const r=this._completionModel.items.length,s=0===r;if(this._ctxSuggestWidgetMultipleSuggestions.set(r>1),s)return this._setState(o?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(n?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=runAtThisOrScheduleAtNextAnimationFrame(getWindow$2(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):!canExpandCompletionItem(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=runAtThisOrScheduleAtNextAnimationFrame(getWindow$2(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),e?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 e=this._persistedSize.restore(),t=Math.ceil(4.3*this.getLayoutInfo().itemHeight);e&&e.heightr&&(n=r);const s=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:n,a=i.statusBarHeight+this._list.contentHeight+i.borderHeight,l=i.itemHeight+i.statusBarHeight,c=getDomNodePagePosition(this.editor.getDomNode()),d=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),u=c.top+d.top+d.height,h=Math.min(t.height-u-i.verticalPadding,a),p=c.top+d.top-i.verticalPadding,g=Math.min(p,a);let m=Math.min(Math.max(g,h)+i.borderHeight,a);o===this._cappedHeight?.capped&&(o=this._cappedHeight.wanted),om&&(o=m);const f=150;o>h||this._forceRenderingAbove&&p>f?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),m=g):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),m=h),this.element.preferredSize=new Dimension(s,i.defaultSize.height),this.element.maxSize=new Dimension(r,m),this.element.minSize=new Dimension(220,l),this._cappedHeight=o===a?{wanted:this._cappedHeight?.wanted??e.height,capped:o}:void 0}this._resize(n,o)}_resize(e,t){const{width:i,height:o}=this.element.maxSize;e=Math.min(i,e),t=Math.min(o,t);const{statusBarHeight:n}=this.getLayoutInfo();this._list.layout(t-n,e),this._listElement.style.height=t-n+"px",this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===this._contentWidget.getPosition()?.preference[0])}getLayoutInfo(){const e=this.editor.getOption(50),t=clamp(this.editor.getOption(121)||e.lineHeight,8,1e3),i=this.editor.getOption(119).showStatusBar&&2!==this._state&&1!==this._state?t:0,o=this._details.widget.borderWidth,n=2*o;return{itemHeight:t,statusBarHeight:i,borderWidth:o,borderHeight:n,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Dimension(430,i+12*t+n)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};SuggestWidget=SuggestWidget_1=__decorate$T([__param$P(1,IStorageService),__param$P(2,IContextKeyService),__param$P(3,IThemeService),__param$P(4,IInstantiationService)],SuggestWidget);class SuggestContentWidget{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return!this._hidden&&this._position&&this._preference?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:o}=this._widget.getLayoutInfo();return new Dimension(t+2*i+o,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var __decorate$S=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$O=function(e,t){return function(i,o){t(i,o,e)}},SuggestController_1;class LineSuffix{constructor(e,t){this._model=e,this._position=t,this._decorationOptions=ModelDecorationOptions.register({description:"suggest-line-suffix",stickiness:1});if(e.getLineMaxColumn(t.lineNumber)!==t.column){const i=e.getOffsetAt(t),o=e.getPositionAt(i+1);e.changeDecorations(e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(Range$2.fromPositions(t,o),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let SuggestController=class{static{SuggestController_1=this}static{this.ID="editor.contrib.suggestController"}static get(e){return e.getContribution(SuggestController_1.ID)}constructor(e,t,i,o,n,r,s){this._memoryService=t,this._commandService=i,this._contextKeyService=o,this._instantiationService=n,this._logService=r,this._telemetryService=s,this._lineSuffix=new MutableDisposable,this._toDispose=new DisposableStore,this._selectors=new PriorityRegistry(e=>e.priority),this._onWillInsertSuggestItem=new Emitter$1,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=n.createInstance(SuggestModel,this.editor),this._selectors.register({priority:0,select:(e,t,i)=>this._memoryService.select(e,t,i)});const a=Context$1.InsertMode.bindTo(o);a.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>a.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new WindowIdleValue(getWindow$2(e.getDomNode()),()=>{const e=this._instantiationService.createInstance(SuggestWidget,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect(e=>this._insertSuggestion(e,0),this));const t=new CommitCharacterController(this.editor,e,this.model,e=>this._insertSuggestion(e,2));this._toDispose.add(t);const i=Context$1.MakesTextEdit.bindTo(this._contextKeyService),o=Context$1.HasInsertAndReplaceRange.bindTo(this._contextKeyService),n=Context$1.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(toDisposable(()=>{i.reset(),o.reset(),n.reset()})),this._toDispose.add(e.onDidFocus(({item:e})=>{const t=this.editor.getPosition(),r=e.editStart.column,s=t.column;let a=!0;if(!("smart"!==this.editor.getOption(1)||2!==this.model.state||e.completion.additionalTextEdits||4&e.completion.insertTextRules||s-r!==e.completion.insertText.length)){a=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:r,endLineNumber:t.lineNumber,endColumn:s})!==e.completion.insertText}i.set(a),o.set(!Position$1.equals(e.editInsertEnd,e.editReplaceEnd)),n.set(Boolean(e.provider.resolveCompletionItem)||Boolean(e.completion.documentation)||e.completion.detail!==e.completion.label)})),this._toDispose.add(e.onDetailsKeyDown(e=>{e.toKeyCodeChord().equals(new KeyCodeChord(!0,!1,!1,!1,33))||isMacintosh&&e.toKeyCodeChord().equals(new KeyCodeChord(!1,!1,!1,!0,33))?e.stopPropagation():e.toKeyCodeChord().isModifierKey()||this.editor.focus()})),e})),this._overtypingCapturer=this._toDispose.add(new WindowIdleValue(getWindow$2(e.getDomNode()),()=>this._toDispose.add(new OvertypingCapturer(this.editor,this.model)))),this._alternatives=this._toDispose.add(new WindowIdleValue(getWindow$2(e.getDomNode()),()=>this._toDispose.add(new SuggestAlternatives(this.editor,this._contextKeyService)))),this._toDispose.add(n.createInstance(WordContextKey,e)),this._toDispose.add(this.model.onDidTrigger(e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new LineSuffix(this.editor.getModel(),e.position)})),this._toDispose.add(this.model.onDidSuggest(e=>{if(e.triggerOptions.shy)return;let t=-1;for(const o of this._selectors.itemsOrderedByPriorityDesc)if(t=o.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),-1!==t)break;if(-1===t&&(t=0),0===this.model.state)return;let i=!1;if(e.triggerOptions.auto){const t=this.editor.getOption(119);"never"===t.selectionMode||"always"===t.selectionMode?i="never"===t.selectionMode:"whenTriggerCharacter"===t.selectionMode?i=1!==e.triggerOptions.triggerKind:"whenQuickSuggestion"===t.selectionMode&&(i=1===e.triggerOptions.triggerKind&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.triggerOptions.auto,i)})),this._toDispose.add(this.model.onDidCancel(e=>{e.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const l=Context$1.AcceptSuggestionsOnEnter.bindTo(o),c=()=>{const e=this.editor.getOption(1);l.set("on"===e||"smart"===e)};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>c())),c()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const i=SnippetController2.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const o=this.editor.getModel(),n=o.getAlternativeVersionId(),{item:r}=e,s=[],a=new CancellationTokenSource$1;1&t||this.editor.pushUndoStop();const l=this.getOverwriteInfo(r,Boolean(8&t));this._memoryService.memorize(o,this.editor.getPosition(),r);const c=r.isResolved;let d=-1,u=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const e=StableEditorScrollState.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(e=>{let t=Range$2.lift(e.range);if(t.startLineNumber===r.position.lineNumber&&t.startColumn>r.position.column){const e=this.editor.getPosition().column-r.position.column,i=e,o=Range$2.spansMultipleLines(t)?0:e;t=new Range$2(t.startLineNumber,t.startColumn+i,t.endLineNumber,t.endColumn+o)}return EditOperation.replaceMove(t,e.text)})),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!c){const e=new StopWatch;let i;const n=o.onDidChangeContent(e=>{if(e.isFlush)return a.cancel(),void n.dispose();for(const t of e.changes){const e=Range$2.getEndPosition(t.range);i&&!Position$1.isBefore(e,i)||(i=e)}}),l=t;t|=2;let c=!1;const d=this.editor.onWillType(()=>{d.dispose(),c=!0,2&l||this.editor.pushUndoStop()});s.push(r.resolve(a.token).then(()=>{if(!r.completion.additionalTextEdits||a.token.isCancellationRequested)return;if(i&&r.completion.additionalTextEdits.some(e=>Position$1.isBefore(i,Range$2.getStartPosition(e.range))))return!1;c&&this.editor.pushUndoStop();const e=StableEditorScrollState.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(e=>EditOperation.replaceMove(Range$2.lift(e.range),e.text))),e.restoreRelativeVerticalPositionOfCursor(this.editor),!c&&2&l||this.editor.pushUndoStop(),!0}).then(t=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",e.elapsed(),t),u=!0===t?1:!1===t?0:-2}).finally(()=>{n.dispose(),d.dispose()}))}let{insertText:h}=r.completion;if(4&r.completion.insertTextRules||(h=SnippetParser.escape(h)),this.model.cancel(),i.insert(h,{overwriteBefore:l.overwriteBefore,overwriteAfter:l.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&r.completion.insertTextRules),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&t||this.editor.pushUndoStop(),r.completion.command)if(r.completion.command.id===TriggerSuggestAction.id)this.model.trigger({auto:!0,retrigger:!0});else{const e=new StopWatch;s.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(e=>{r.completion.extensionId?onUnexpectedExternalError(e):onUnexpectedError(e)}).finally(()=>{d=e.elapsed()}))}4&t&&this._alternatives.value.set(e,e=>{for(a.cancel();o.canUndo();){n!==o.getAlternativeVersionId()&&o.undo(),this._insertSuggestion(e,3|(8&t?8:0));break}}),this._alertCompletionItem(r),Promise.all(s).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,o,c,d,u,e.index,e.model.items),this.model.clear(),a.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,o,n,r,s){if(0===Math.floor(100*Math.random()))return;const a=new Map;for(let d=0;d1?l[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:e.extensionId?.value??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:hash$3(basename(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:extname(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:o,additionalEditsAsync:n,index:r,firstIndex:c})}getOverwriteInfo(e,t){assertType(this.editor.hasModel());let i="replace"===this.editor.getOption(119).insertMode;t&&(i=!i);const o=e.position.column-e.editStart.column,n=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column;return{overwriteBefore:o+(this.editor.getPosition().column-e.position.column),overwriteAfter:n+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(e){if(isNonEmptyArray(e.completion.additionalTextEdits)){alert(localize("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length))}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},o=e=>{if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;const t=this.editor.getPosition(),i=e.editStart.column,o=t.column;if(o-i!==e.completion.insertText.length)return!0;return this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:i,endLineNumber:t.lineNumber,endColumn:o})!==e.completion.insertText};Event$1.once(this.model.onDidTrigger)(e=>{const t=[];Event$1.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{dispose(t),i()},void 0,t),this.model.onDidSuggest(({completionModel:e})=>{if(dispose(t),0===e.items.length)return void i();const n=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),r=e.items[n];o(r)?(this.editor.pushUndoStop(),this._insertSuggestion({index:n,item:r,model:e},7)):i()},void 0,t)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let o=0;e&&(o|=4),t&&(o|=8),this._insertSuggestion(i,o)}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(e){return this._selectors.register(e)}};SuggestController=SuggestController_1=__decorate$S([__param$O(1,ISuggestMemoryService),__param$O(2,ICommandService),__param$O(3,IContextKeyService),__param$O(4,IInstantiationService),__param$O(5,ILogService),__param$O(6,ITelemetryService)],SuggestController);class PriorityRegistry{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(-1!==this._items.indexOf(e))throw new Error("Value is already registered");return this._items.push(e),this._items.sort((e,t)=>this.prioritySelector(t)-this.prioritySelector(e)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class TriggerSuggestAction extends EditorAction{static{this.id="editor.action.triggerSuggest"}constructor(){super({id:TriggerSuggestAction.id,label:localize("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCompletionItemProvider,Context$1.Visible.toNegated()),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const o=SuggestController.get(t);if(!o)return;let n;i&&"object"==typeof i&&!0===i.auto&&(n=!0),o.triggerSuggest(void 0,n,void 0)}}registerEditorContribution(SuggestController.ID,SuggestController,2),registerEditorAction(TriggerSuggestAction);const weight$2=190,SuggestCommand=EditorCommand.bindToContribution(SuggestController.get);registerEditorCommand(new SuggestCommand({id:"acceptSelectedSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,Context$1.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:ContextKeyExpr.and(Context$1.Visible,EditorContextKeys.textInputFocus),weight:weight$2},{primary:3,kbExpr:ContextKeyExpr.and(Context$1.Visible,EditorContextKeys.textInputFocus,Context$1.AcceptSuggestionsOnEnter,Context$1.MakesTextEdit),weight:weight$2}],menuOpts:[{menuId:suggestWidgetStatusbarMenu,title:localize("accept.insert","Insert"),group:"left",order:1,when:Context$1.HasInsertAndReplaceRange.toNegated()},{menuId:suggestWidgetStatusbarMenu,title:localize("accept.insert","Insert"),group:"left",order:1,when:ContextKeyExpr.and(Context$1.HasInsertAndReplaceRange,Context$1.InsertMode.isEqualTo("insert"))},{menuId:suggestWidgetStatusbarMenu,title:localize("accept.replace","Replace"),group:"left",order:1,when:ContextKeyExpr.and(Context$1.HasInsertAndReplaceRange,Context$1.InsertMode.isEqualTo("replace"))}]})),registerEditorCommand(new SuggestCommand({id:"acceptAlternativeSelectedSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,EditorContextKeys.textInputFocus,Context$1.HasFocusedSuggestion),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:suggestWidgetStatusbarMenu,group:"left",order:2,when:ContextKeyExpr.and(Context$1.HasInsertAndReplaceRange,Context$1.InsertMode.isEqualTo("insert")),title:localize("accept.replace","Replace")},{menuId:suggestWidgetStatusbarMenu,group:"left",order:2,when:ContextKeyExpr.and(Context$1.HasInsertAndReplaceRange,Context$1.InsertMode.isEqualTo("replace")),title:localize("accept.insert","Insert")}]})),CommandsRegistry.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),registerEditorCommand(new SuggestCommand({id:"hideSuggestWidget",precondition:Context$1.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}})),registerEditorCommand(new SuggestCommand({id:"selectNextSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),registerEditorCommand(new SuggestCommand({id:"selectNextPageSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:12,secondary:[2060]}})),registerEditorCommand(new SuggestCommand({id:"selectLastSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),registerEditorCommand(new SuggestCommand({id:"selectPrevSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),registerEditorCommand(new SuggestCommand({id:"selectPrevPageSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:11,secondary:[2059]}})),registerEditorCommand(new SuggestCommand({id:"selectFirstSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),registerEditorCommand(new SuggestCommand({id:"focusSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,Context$1.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),registerEditorCommand(new SuggestCommand({id:"focusAndAcceptSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,Context$1.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),registerEditorCommand(new SuggestCommand({id:"toggleSuggestionDetails",precondition:ContextKeyExpr.and(Context$1.Visible,Context$1.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:suggestWidgetStatusbarMenu,group:"right",order:1,when:ContextKeyExpr.and(Context$1.DetailsVisible,Context$1.CanResolve),title:localize("detail.more","Show Less")},{menuId:suggestWidgetStatusbarMenu,group:"right",order:1,when:ContextKeyExpr.and(Context$1.DetailsVisible.toNegated(),Context$1.CanResolve),title:localize("detail.less","Show More")}]})),registerEditorCommand(new SuggestCommand({id:"toggleExplainMode",precondition:Context$1.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),registerEditorCommand(new SuggestCommand({id:"toggleSuggestionFocus",precondition:Context$1.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:2570,mac:{primary:778}}})),registerEditorCommand(new SuggestCommand({id:"insertBestCompletion",precondition:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.equals("config.editor.tabCompletion","on"),WordContextKey.AtEnd,Context$1.Visible.toNegated(),SuggestAlternatives.OtherSuggestions.toNegated(),SnippetController2.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest(isObject$6(t)?{fallback:"tab",...t}:{fallback:"tab"})},kbOpts:{weight:weight$2,primary:2}})),registerEditorCommand(new SuggestCommand({id:"insertNextSuggestion",precondition:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.equals("config.editor.tabCompletion","on"),SuggestAlternatives.OtherSuggestions,Context$1.Visible.toNegated(),SnippetController2.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:2}})),registerEditorCommand(new SuggestCommand({id:"insertPrevSuggestion",precondition:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.equals("config.editor.tabCompletion","on"),SuggestAlternatives.OtherSuggestions,Context$1.Visible.toNegated(),SnippetController2.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:1026}})),registerEditorAction(class extends EditorAction{constructor(){super({id:"editor.action.resetSuggestSize",label:localize("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(e,t){SuggestController.get(t)?.resetWidgetSize()}});class SuggestWidgetAdaptor extends Disposable{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new Emitter$1),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(e=>{e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(e=>{e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const o=SuggestController.get(this.editor);if(o){this._register(o.registerSelector({priority:100,select:(e,t,i)=>{const n=this.editor.getModel();if(!n)return-1;const r=this.suggestControllerPreselector(),s=r?singleTextRemoveCommonPrefix(r,n):void 0;if(!s)return-1;const a=Position$1.lift(t),l=i.map((e,t)=>{const i=singleTextRemoveCommonPrefix(SuggestItemInfo.fromSuggestion(o,n,a,e,this.isShiftKeyPressed).toSingleTextEdit(),n);return{index:t,valid:singleTextEditAugments(s,i),prefixLength:i.text.length,suggestItem:e}}).filter(e=>e&&e.valid&&e.prefixLength>0),c=findFirstMax(l,compareBy(e=>e.prefixLength,numberComparator));return c?c.index:-1}}));let e=!1;const t=()=>{e||(e=!0,this._register(o.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(o.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(o.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(Event$1.once(o.model.onDidTrigger)(e=>{t()})),this._register(o.onWillInsertSuggestItem(e=>{const t=this.editor.getPosition(),i=this.editor.getModel();if(!t||!i)return;const n=SuggestItemInfo.fromSuggestion(o,i,t,e.item,this.isShiftKeyPressed);this.onWillAccept(n)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();this._isActive===e&&suggestItemInfoEquals(this._currentSuggestItemInfo,t)||(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=SuggestController.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),o=this.editor.getModel();return t&&i&&o?SuggestItemInfo.fromSuggestion(e,o,i,t.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const e=SuggestController.get(this.editor);e?.stopForceRenderingAbove()}forceRenderingAbove(){const e=SuggestController.get(this.editor);e?.forceRenderingAbove()}}class SuggestItemInfo{static fromSuggestion(e,t,i,o,n){let{insertText:r}=o.completion,s=!1;if(4&o.completion.insertTextRules){const e=(new SnippetParser).parse(r);e.children.length<100&&SnippetSession.adjustWhitespace(t,i,!0,e),r=e.toString(),s=!0}const a=e.getOverwriteInfo(o,n);return new SuggestItemInfo(Range$2.fromPositions(i.delta(0,-a.overwriteBefore),i.delta(0,Math.max(a.overwriteAfter,0))),r,o.completion.kind,s)}constructor(e,t,i,o){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=o}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new SelectedSuggestionInfo(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new SingleTextEdit(this.range,this.insertText)}}function suggestItemInfoEquals(e,t){return e===t||!(!e||!t)&&e.equals(t)}var __decorate$R=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$N=function(e,t){return function(i,o){t(i,o,e)}},InlineCompletionsController_1;let InlineCompletionsController=class extends Disposable{static{InlineCompletionsController_1=this}static{this.ID="editor.contrib.inlineCompletionsController"}static get(e){return e.getContribution(InlineCompletionsController_1.ID)}constructor(e,t,i,o,n,r,s,a,l,c){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=o,this._commandService=n,this._debounceService=r,this._languageFeaturesService=s,this._accessibilitySignalService=a,this._keybindingService=l,this._accessibilityService=c,this._editorObs=observableCodeEditor(this.editor),this._positions=derived(this,e=>this._editorObs.selections.read(e)?.map(e=>e.getEndPosition())??[new Position$1(1,1)]),this._suggestWidgetAdaptor=this._register(new SuggestWidgetAdaptor(this.editor,()=>(this._editorObs.forceUpdate(),this.model.get()?.selectedInlineCompletion.get()?.toSingleTextEdit(void 0)),e=>this._editorObs.forceUpdate(t=>{this.model.get()?.handleSuggestAccepted(e)}))),this._suggestWidgetSelectedItem=observableFromEvent(this,e=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(t=>e(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=observableFromEvent(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=observableFromEvent(this,this._contextKeyService.onDidChangeContext,()=>!0===this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")),this._enabled=derived(this,e=>this._enabledInConfig.read(e)&&(!this._isScreenReaderEnabled.read(e)||!this._editorDictationInProgress.read(e))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model=derivedDisposable(this,e=>{if(this._editorObs.isReadonly.read(e))return;const t=this._editorObs.model.read(e);if(!t)return;return this._instantiationService.createInstance(InlineCompletionsModel,t,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled)}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=derived(this,e=>{const t=this.model.read(e);return t?.ghostTexts.read(e)??[]}),this._stablizedGhostTexts=convertItemsToStableObservables(this._ghostTexts,this._store),this._ghostTextWidgets=mapObservableArrayCached(this,this._stablizedGhostTexts,(e,t)=>t.add(this._instantiationService.createInstance(GhostTextView,this.editor,{ghostText:e,minReservedLineCount:constObservable(0),targetTextModel:this.model.map(e=>e?.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=observableSignal(this),this._fontFamily=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new InlineCompletionContextKeys(this._contextKeyService,this.model)),this._register(reactToChange(this._editorObs.onDidType,(e,t)=>{this._enabled.get()&&this.model.get()?.trigger()})),this._register(this._commandService.onDidExecuteCommand(t=>{new Set([CoreEditingCommands.Tab.id,CoreEditingCommands.DeleteLeft.id,CoreEditingCommands.DeleteRight.id,inlineSuggestCommitId,"acceptSelectedSuggestion"]).has(t.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(e=>{this.model.get()?.trigger(e)})})),this._register(reactToChange(this._editorObs.selections,(e,t)=>{t.some(e=>3===e.reason||"api"===e.source)&&this.model.get()?.stop()})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||InlineSuggestionHintsContentWidget.dropDownVisible||transaction(e=>{this.model.get()?.stop(e)})})),this._register(autorun(e=>{const t=this.model.read(e)?.state.read(e);t?.suggestItem?t.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(toDisposable(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const d=derivedObservableWithCache(this,(e,t)=>{const i=this.model.read(e),o=i?.state.read(e);return this._suggestWidgetSelectedItem.get()?t:o?.inlineCompletion?.semanticId});this._register(reactToChangeWithStore(derived(e=>(this._playAccessibilitySignal.read(e),d.read(e),{})),async(e,t,i)=>{const o=this.model.get(),n=o?.state.get();if(!n||!o)return;const r=o.textModel.getLineContent(n.primaryGhostText.lineNumber);await timeout(50,cancelOnDispose(i)),await waitForState(this._suggestWidgetSelectedItem,isUndefined$4,()=>!1,cancelOnDispose(i)),await this._accessibilitySignalService.playSignal(AccessibilitySignal.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(n.primaryGhostText.renderForScreenReader(r))})),this._register(new InlineCompletionsHintsWidget(this.editor,this.model,this._instantiationService)),this._register(createStyleSheetFromObservable(derived(e=>{const t=this._fontFamily.read(e);return""===t||"default"===t?"":`\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .ghost-text {\n\tfont-family: ${t};\n}`}))),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.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(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let o;!t&&i&&this.editor.getOption(150)&&(o=localize("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),alert(o?e+", "+o:e)}shouldShowHoverAt(e){const t=this.model.get()?.primaryGhostText.get();return!!t&&t.parts.some(i=>e.containsPosition(new Position$1(t.lineNumber,i.column)))}shouldShowHoverAtViewZone(e){return this._ghostTextWidgets.get()[0]?.ownsViewZone(e)??!1}};function convertItemsToStableObservables(e,t){const i=observableValue("result",[]),o=[];return t.add(autorun(t=>{const n=e.read(t);transaction(e=>{if(n.length!==o.length){o.length=n.length;for(let e=0;et.set(n[i],e))})})),i}InlineCompletionsController=InlineCompletionsController_1=__decorate$R([__param$N(1,IInstantiationService),__param$N(2,IContextKeyService),__param$N(3,IConfigurationService),__param$N(4,ICommandService),__param$N(5,ILanguageFeatureDebounceService),__param$N(6,ILanguageFeaturesService),__param$N(7,IAccessibilitySignalService),__param$N(8,IKeybindingService),__param$N(9,IAccessibilityService)],InlineCompletionsController);class ShowNextInlineSuggestionAction extends EditorAction{static{this.ID=showNextInlineSuggestionActionId}constructor(){super({id:ShowNextInlineSuggestionAction.ID,label:localize("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){const i=InlineCompletionsController.get(t);i?.model.get()?.next()}}class ShowPreviousInlineSuggestionAction extends EditorAction{static{this.ID=showPreviousInlineSuggestionActionId}constructor(){super({id:ShowPreviousInlineSuggestionAction.ID,label:localize("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){const i=InlineCompletionsController.get(t);i?.model.get()?.previous()}}class TriggerInlineSuggestionAction extends EditorAction{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:localize("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:EditorContextKeys.writable})}async run(e,t){const i=InlineCompletionsController.get(t);await asyncTransaction(async e=>{await(i?.model.get()?.triggerExplicitly(e)),i?.playAccessibilitySignal(e)})}}class AcceptNextWordOfInlineCompletion extends EditorAction{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:localize("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible)},menuOpts:[{menuId:MenuId.InlineSuggestionToolbar,title:localize("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){const i=InlineCompletionsController.get(t);await(i?.model.get()?.acceptNextWord(i.editor))}}class AcceptNextLineOfInlineCompletion extends EditorAction{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:localize("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:MenuId.InlineSuggestionToolbar,title:localize("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){const i=InlineCompletionsController.get(t);await(i?.model.get()?.acceptNextLine(i.editor))}}class AcceptInlineCompletion extends EditorAction{constructor(){super({id:inlineSuggestCommitId,label:localize("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:InlineCompletionContextKeys.inlineSuggestionVisible,menuOpts:[{menuId:MenuId.InlineSuggestionToolbar,title:localize("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ContextKeyExpr.and(InlineCompletionContextKeys.inlineSuggestionVisible,EditorContextKeys.tabMovesFocus.toNegated(),InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize,Context$1.Visible.toNegated(),EditorContextKeys.hoverFocused.toNegated())}})}async run(e,t){const i=InlineCompletionsController.get(t);i&&(i.model.get()?.accept(i.editor),i.editor.focus())}}class HideInlineCompletion extends EditorAction{static{this.ID="editor.action.inlineSuggest.hide"}constructor(){super({id:HideInlineCompletion.ID,label:localize("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:InlineCompletionContextKeys.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=InlineCompletionsController.get(t);transaction(e=>{i?.model.get()?.stop(e)})}}class ToggleAlwaysShowInlineSuggestionToolbar extends Action2{static{this.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar"}constructor(){super({id:ToggleAlwaysShowInlineSuggestionToolbar.ID,title:localize("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:MenuId.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ContextKeyExpr.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(IConfigurationService),o="always"===i.getValue("editor.inlineSuggest.showToolbar")?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",o)}}var __decorate$Q=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$M=function(e,t){return function(i,o){t(i,o,e)}};class InlineCompletionsHover{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let InlineCompletionsHoverParticipant=class{constructor(e,t,i,o,n,r){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=o,this._instantiationService=n,this._telemetryService=r,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=InlineCompletionsController.get(this._editor);if(!t)return null;const i=e.target;if(8===i.type){const o=i.detail;if(t.shouldShowHoverAtViewZone(o.viewZoneId))return new HoverForeignElementAnchor(1e3,this,Range$2.fromPositions(this._editor.getModel().validatePosition(o.positionBefore||o.position)),e.event.posx,e.event.posy,!1)}if(7===i.type&&t.shouldShowHoverAt(i.range))return new HoverForeignElementAnchor(1e3,this,i.range,e.event.posx,e.event.posy,!1);if(6===i.type){if(i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range))return new HoverForeignElementAnchor(1e3,this,i.range,e.event.posx,e.event.posy,!1)}return null}computeSync(e,t){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const i=InlineCompletionsController.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new InlineCompletionsHover(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new DisposableStore,o=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,o));const n=o.controller.model.get(),r=this._instantiationService.createInstance(InlineSuggestionHintsContentWidget,this._editor,!1,constObservable(null),n.selectedInlineCompletionIndex,n.inlineCompletionsCount,n.activeCommands),s=r.getDomNode();e.fragment.appendChild(s),n.triggerExplicitly(),i.add(r);return new RenderedHoverParts([{hoverPart:o,hoverElement:s,dispose(){i.dispose()}}])}renderScreenReaderText(e,t){const i=new DisposableStore,o=$$f,n=o("div.hover-row.markdown-hover"),r=append$2(n,o("div.hover-contents",{"aria-live":"assertive"})),s=i.add(new MarkdownRenderer({editor:this._editor},this._languageService,this._openerService));return i.add(autorun(o=>{const n=t.controller.model.read(o)?.primaryGhostText.read(o);if(n){const t=this._editor.getModel().getLineContent(n.lineNumber);(t=>{i.add(s.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const o=localize("inlineSuggestionFollows","Suggestion:"),n=i.add(s.render((new MarkdownString).appendText(o).appendCodeblock("text",t)));r.replaceChildren(n.element)})(n.renderForScreenReader(t))}else reset(r)})),e.fragment.appendChild(n),i}};InlineCompletionsHoverParticipant=__decorate$Q([__param$M(1,ILanguageService),__param$M(2,IOpenerService),__param$M(3,IAccessibilityService),__param$M(4,IInstantiationService),__param$M(5,ITelemetryService)],InlineCompletionsHoverParticipant);class InlineCompletionsAccessibleView{}const AccessibleViewRegistry=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{const t=this._implementations.indexOf(e);-1!==t&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}};registerEditorContribution(InlineCompletionsController.ID,InlineCompletionsController,3),registerEditorAction(TriggerInlineSuggestionAction),registerEditorAction(ShowNextInlineSuggestionAction),registerEditorAction(ShowPreviousInlineSuggestionAction),registerEditorAction(AcceptNextWordOfInlineCompletion),registerEditorAction(AcceptNextLineOfInlineCompletion),registerEditorAction(AcceptInlineCompletion),registerEditorAction(HideInlineCompletion),registerAction2(ToggleAlwaysShowInlineSuggestionToolbar),HoverParticipantRegistry.register(InlineCompletionsHoverParticipant),AccessibleViewRegistry.register(new InlineCompletionsAccessibleView);var __decorate$P=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$L=function(e,t){return function(i,o){t(i,o,e)}},GotoDefinitionAtPositionEditorContribution_1;let GotoDefinitionAtPositionEditorContribution=class{static{GotoDefinitionAtPositionEditorContribution_1=this}static{this.ID="editor.contrib.gotodefinitionatposition"}static{this.MAX_SOURCE_PREVIEW_LINES=8}constructor(e,t,i,o){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=o,this.toUnhook=new DisposableStore,this.toUnhookForKeyboard=new DisposableStore,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const n=new ClickLinkGesture(e);this.toUnhook.add(n),this.toUnhook.add(n.onMouseMoveOrRelevantKeyDown(([e,t])=>{this.startFindDefinitionFromMouse(e,t??void 0)})),this.toUnhook.add(n.onExecute(e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).catch(e=>{onUnexpectedError(e)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(n.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(GotoDefinitionAtPositionEditorContribution_1.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(9===e.target.type&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordAtPosition=null,void this.removeLinkDecorations();const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){this.toUnhookForKeyboard.clear();const t=e?this.editor.getModel()?.getWordAtPosition(e):null;if(!t)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;const i=new EditorState$1(this.editor,15);let o;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=createCancelablePromise(t=>this.findDefinition(e,t));try{o=await this.previousPromise}catch(error){return void onUnexpectedError(error)}if(!o||!o.length||!i.validate(this.editor))return void this.removeLinkDecorations();const n=o[0].originSelectionRange?Range$2.lift(o[0].originSelectionRange):new Range$2(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(o.length>1){let e=n;for(const{originSelectionRange:t}of o)t&&(e=Range$2.plusRange(e,t));this.addDecoration(e,(new MarkdownString).appendText(localize("multipleResults","Click to show {0} definitions.",o.length)))}else{const e=o[0];if(!e.uri)return;this.textModelResolverService.createModelReference(e.uri).then(t=>{if(!t.object||!t.object.textEditorModel)return void t.dispose();const{object:{textEditorModel:i}}=t,{startLineNumber:o}=e.range;if(o<1||o>i.getLineCount())return void t.dispose();const r=this.getPreviewValue(i,o,e),s=this.languageService.guessLanguageIdByFilepathOrFirstLine(i.uri);this.addDecoration(n,r?(new MarkdownString).appendCodeblock(s||"",r):void 0),t.dispose()})}}getPreviewValue(e,t,i){let o=i.range;o.endLineNumber-o.startLineNumber>=GotoDefinitionAtPositionEditorContribution_1.MAX_SOURCE_PREVIEW_LINES&&(o=this.getPreviewRangeBasedOnIndentation(e,t));return this.stripIndentationFromPreviewRange(e,t,o)}stripIndentationFromPreviewRange(e,t,i){let o=e.getLineFirstNonWhitespaceColumn(t);for(let n=t+1;n{const i=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(e);return new DefinitionAction({openToSide:t,openInPeek:i,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e)})}isInPeekEditor(e){const t=e.get(IContextKeyService);return PeekContext.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};GotoDefinitionAtPositionEditorContribution=GotoDefinitionAtPositionEditorContribution_1=__decorate$P([__param$L(1,ITextModelService),__param$L(2,ILanguageService),__param$L(3,ILanguageFeaturesService)],GotoDefinitionAtPositionEditorContribution),registerEditorContribution(GotoDefinitionAtPositionEditorContribution.ID,GotoDefinitionAtPositionEditorContribution,2);var __decorate$O=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$K=function(e,t){return function(i,o){t(i,o,e)}};class MarkerCoordinate{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let MarkerList=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._dispoables=new DisposableStore,this._markers=[],this._nextIdx=-1,URI.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);const o=this._configService.getValue("problems.sortOrder"),n=(e,t)=>{let i=compare(e.resource.toString(),t.resource.toString());return 0===i&&(i="position"===o?Range$2.compareRangesUsingStarts(e,t)||MarkerSeverity$1.compare(e.severity,t.severity):MarkerSeverity$1.compare(e.severity,t.severity)||Range$2.compareRangesUsingStarts(e,t)),i},r=()=>{this._markers=this._markerService.read({resource:URI.isUri(e)?e:void 0,severities:MarkerSeverity$1.Error|MarkerSeverity$1.Warning|MarkerSeverity$1.Info}),"function"==typeof e&&(this._markers=this._markers.filter(e=>this._resourceFilter(e.resource))),this._markers.sort(n)};r(),this._dispoables.add(t.onMarkerChanged(e=>{this._resourceFilter&&!e.some(e=>this._resourceFilter(e))||(r(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e||!(!this._resourceFilter||!e)&&this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new MarkerCoordinate(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let o=!1,n=this._markers.findIndex(t=>t.resource.toString()===e.uri.toString());n<0&&(n=binarySearch(this._markers,{resource:e.uri},(e,t)=>compare(e.resource.toString(),t.resource.toString())),n<0&&(n=~n));for(let r=n;rt.resource.toString()===e.toString());if(!(i<0))for(;i=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$J=function(e,t){return function(i,o){t(i,o,e)}},MarkerNavigationWidget_1;class MessageWidget{constructor(e,t,i,o,n){this._openerService=o,this._labelService=n,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new DisposableStore,this._editor=t;const r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(addStandardDisposableListener(this._relatedBlock,"click",e=>{e.preventDefault();const t=this._relatedDiagnostics.get(e.target);t&&i(t)})),this._scrollable=new ScrollableElement(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(e=>{r.style.left=`-${e.scrollLeft}px`,r.style.top=`-${e.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){dispose(this._disposables)}update(e){const{source:t,message:i,relatedInformation:o,code:n}=e;let r=(t?.length||0)+2;n&&(r+="string"==typeof n?n.length:n.value.length);const s=splitLines(i);this._lines=s.length,this._longestLineLength=0;for(const u of s)this._longestLineLength=Math.max(u.length+r,this._longestLineLength);clearNode(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let a=this._messageBlock;for(const u of s)a=document.createElement("div"),a.innerText=u,""===u&&(a.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(a);if(t||n){const e=document.createElement("span");if(e.classList.add("details"),a.appendChild(e),t){const i=document.createElement("span");i.innerText=t,i.classList.add("source"),e.appendChild(i)}if(n)if("string"==typeof n){const t=document.createElement("span");t.innerText=`(${n})`,t.classList.add("code"),e.appendChild(t)}else{this._codeLink=$$f("a.code-link"),this._codeLink.setAttribute("href",`${n.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(n.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()};append$2(this._codeLink,$$f("span")).innerText=n.value,e.appendChild(this._codeLink)}}if(clearNode(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),isNonEmptyArray(o)){const e=this._relatedBlock.appendChild(document.createElement("div"));e.style.paddingTop=`${Math.floor(.66*this._editor.getOption(67))}px`,this._lines+=1;for(const t of o){const i=document.createElement("div"),o=document.createElement("a");o.classList.add("filename"),o.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,o.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(o,t);const n=document.createElement("span");n.innerText=t.message,i.appendChild(o),i.appendChild(n),this._lines+=1,e.appendChild(i)}}const l=this._editor.getOption(50),c=Math.ceil(l.typicalFullwidthCharacterWidth*this._longestLineLength*.75),d=l.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:c,scrollHeight:d})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case MarkerSeverity$1.Error:t=localize("Error","Error");break;case MarkerSeverity$1.Warning:t=localize("Warning","Warning");break;case MarkerSeverity$1.Info:t=localize("Info","Info");break;case MarkerSeverity$1.Hint:t=localize("Hint","Hint")}let i=localize("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const o=this._editor.getModel();if(o&&e.startLineNumber<=o.getLineCount()&&e.startLineNumber>=1){i=`${o.getLineContent(e.startLineNumber)}, ${i}`}return i}}let MarkerNavigationWidget=class extends PeekViewWidget{static{MarkerNavigationWidget_1=this}static{this.TitleMenu=new MenuId("gotoErrorTitleMenu")}constructor(e,t,i,o,n,r,s){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},n),this._themeService=t,this._openerService=i,this._menuService=o,this._contextKeyService=r,this._labelService=s,this._callOnDispose=new DisposableStore,this._onDidSelectRelatedInformation=new Emitter$1,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=MarkerSeverity$1.Warning,this._backgroundColor=Color$1.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(editorMarkerNavigationBackground);let t=editorMarkerNavigationError,i=editorMarkerNavigationErrorHeader;this._severity===MarkerSeverity$1.Warning?(t=editorMarkerNavigationWarning,i=editorMarkerNavigationWarningHeader):this._severity===MarkerSeverity$1.Info&&(t=editorMarkerNavigationInfo,i=editorMarkerNavigationInfoHeader);const o=e.getColor(t),n=e.getColor(i);this.style({arrowColor:o,frameColor:o,headerBackgroundColor:n,primaryHeadingColor:e.getColor(peekViewTitleForeground),secondaryHeadingColor:e.getColor(peekViewTitleInfoForeground)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(e=>this.editor.focus()));const t=[];createAndFillInActionBarActions(this._menuService.getMenuActions(MarkerNavigationWidget_1.TitleMenu,this._contextKeyService),t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=append$2(e,$$f(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new MessageWidget(this._container,this.editor,e=>this._onDidSelectRelatedInformation.fire(e),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const o=Range$2.lift(e),n=this.editor.getPosition(),r=n&&o.containsPosition(n)?n:o.getStartPosition();super.show(r,this.computeRequiredHeight());const s=this.editor.getModel();if(s){const e=i>1?localize("problems","{0} of {1} problems",t,i):localize("change","{0} of {1} problem",t,i);this.setTitle(basename(s.uri),e)}this._icon.className=`codicon ${SeverityIcon.className(MarkerSeverity$1.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(r,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};MarkerNavigationWidget=MarkerNavigationWidget_1=__decorate$N([__param$J(1,IThemeService),__param$J(2,IOpenerService),__param$J(3,IMenuService),__param$J(4,IInstantiationService),__param$J(5,IContextKeyService),__param$J(6,ILabelService)],MarkerNavigationWidget);const errorDefault=oneOf(editorErrorForeground,editorErrorBorder),warningDefault=oneOf(editorWarningForeground,editorWarningBorder),infoDefault=oneOf(editorInfoForeground,editorInfoBorder),editorMarkerNavigationError=registerColor("editorMarkerNavigationError.background",{dark:errorDefault,light:errorDefault,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorMarkerNavigationError","Editor marker navigation widget error color.")),editorMarkerNavigationErrorHeader=registerColor("editorMarkerNavigationError.headerBackground",{dark:transparent(editorMarkerNavigationError,.1),light:transparent(editorMarkerNavigationError,.1),hcDark:null,hcLight:null},localize("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),editorMarkerNavigationWarning=registerColor("editorMarkerNavigationWarning.background",{dark:warningDefault,light:warningDefault,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),editorMarkerNavigationWarningHeader=registerColor("editorMarkerNavigationWarning.headerBackground",{dark:transparent(editorMarkerNavigationWarning,.1),light:transparent(editorMarkerNavigationWarning,.1),hcDark:"#0C141F",hcLight:transparent(editorMarkerNavigationWarning,.2)},localize("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),editorMarkerNavigationInfo=registerColor("editorMarkerNavigationInfo.background",{dark:infoDefault,light:infoDefault,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),editorMarkerNavigationInfoHeader=registerColor("editorMarkerNavigationInfo.headerBackground",{dark:transparent(editorMarkerNavigationInfo,.1),light:transparent(editorMarkerNavigationInfo,.1),hcDark:null,hcLight:null},localize("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),editorMarkerNavigationBackground=registerColor("editorMarkerNavigation.background",editorBackground,localize("editorMarkerNavigationBackground","Editor marker navigation widget background."));var __decorate$M=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$I=function(e,t){return function(i,o){t(i,o,e)}},MarkerController_1;let MarkerController=class{static{MarkerController_1=this}static{this.ID="editor.contrib.markerController"}static get(e){return e.getContribution(MarkerController_1.ID)}constructor(e,t,i,o,n){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=o,this._instantiationService=n,this._sessionDispoables=new DisposableStore,this._editor=e,this._widgetVisible=CONTEXT_MARKERS_NAVIGATION_VISIBLE.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(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(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(e=>{this._model?.selected&&Range$2.containsPosition(this._model?.selected.marker,e.position)||this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:Range$2.lift(e).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new Position$1(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){if(this._editor.hasModel()){const i=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(i.move(e,this._editor.getModel(),this._editor.getPosition()),!i.selected)return;if(i.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const o=await this._editorService.openCodeEditor({resource:i.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:i.selected.marker}},this._editor);o&&(MarkerController_1.get(o)?.close(),MarkerController_1.get(o)?.nagivate(e,t))}else this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}}};MarkerController=MarkerController_1=__decorate$M([__param$I(1,IMarkerNavigationService),__param$I(2,IContextKeyService),__param$I(3,ICodeEditorService),__param$I(4,IInstantiationService)],MarkerController);class MarkerNavigationAction extends EditorAction{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){t.hasModel()&&MarkerController.get(t)?.nagivate(this._next,this._multiFile)}}class NextMarkerAction extends MarkerNavigationAction{static{this.ID="editor.action.marker.next"}static{this.LABEL=localize("markerAction.next.label","Go to Next Problem (Error, Warning, Info)")}constructor(){super(!0,!1,{id:NextMarkerAction.ID,label:NextMarkerAction.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:578,weight:100},menuOpts:{menuId:MarkerNavigationWidget.TitleMenu,title:NextMarkerAction.LABEL,icon:registerIcon("marker-navigation-next",Codicon.arrowDown,localize("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}class PrevMarkerAction extends MarkerNavigationAction{static{this.ID="editor.action.marker.prev"}static{this.LABEL=localize("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)")}constructor(){super(!1,!1,{id:PrevMarkerAction.ID,label:PrevMarkerAction.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:1602,weight:100},menuOpts:{menuId:MarkerNavigationWidget.TitleMenu,title:PrevMarkerAction.LABEL,icon:registerIcon("marker-navigation-previous",Codicon.arrowUp,localize("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}class NextMarkerInFilesAction extends MarkerNavigationAction{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:localize("markerAction.nextInFiles.label","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:MenuId.MenubarGoMenu,title:localize({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class PrevMarkerInFilesAction extends MarkerNavigationAction{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:localize("markerAction.previousInFiles.label","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:MenuId.MenubarGoMenu,title:localize({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}registerEditorContribution(MarkerController.ID,MarkerController,4),registerEditorAction(NextMarkerAction),registerEditorAction(PrevMarkerAction),registerEditorAction(NextMarkerInFilesAction),registerEditorAction(PrevMarkerInFilesAction);const CONTEXT_MARKERS_NAVIGATION_VISIBLE=new RawContextKey("markersNavigationVisible",!1),MarkerCommand=EditorCommand.bindToContribution(MarkerController.get);var HoverFocusBehavior;registerEditorCommand(new MarkerCommand({id:"closeMarkersNavigation",precondition:CONTEXT_MARKERS_NAVIGATION_VISIBLE,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:EditorContextKeys.focus,primary:9,secondary:[1033]}})),function(e){e.NoAutoFocus="noAutoFocus",e.FocusIfVisible="focusIfVisible",e.AutoFocusImmediately="autoFocusImmediately"}(HoverFocusBehavior||(HoverFocusBehavior={}));class ShowOrFocusHoverAction extends EditorAction{constructor(){super({id:SHOW_OR_FOCUS_HOVER_ACTION_ID,label:localize({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:localize2("showOrFocusHoverDescription","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:[HoverFocusBehavior.NoAutoFocus,HoverFocusBehavior.FocusIfVisible,HoverFocusBehavior.AutoFocusImmediately],enumDescriptions:[localize("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),localize("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),localize("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:HoverFocusBehavior.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const o=ContentHoverController.get(t);if(!o)return;const n=i?.focus;let r=HoverFocusBehavior.FocusIfVisible;Object.values(HoverFocusBehavior).includes(n)?r=n:"boolean"==typeof n&&n&&(r=HoverFocusBehavior.AutoFocusImmediately);const s=e=>{const i=t.getPosition(),n=new Range$2(i.lineNumber,i.column,i.lineNumber,i.column);o.showContentHover(n,1,1,e)},a=2===t.getOption(2);o.isHoverVisible?r!==HoverFocusBehavior.NoAutoFocus?o.focus():s(a):s(a||r===HoverFocusBehavior.AutoFocusImmediately)}}class ShowDefinitionPreviewHoverAction extends EditorAction{constructor(){super({id:SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID,label:localize({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:localize2("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=ContentHoverController.get(t);if(!i)return;const o=t.getPosition();if(!o)return;const n=new Range$2(o.lineNumber,o.column,o.lineNumber,o.column),r=GotoDefinitionAtPositionEditorContribution.get(t);if(!r)return;r.startFindDefinitionFromCursor(o).then(()=>{i.showContentHover(n,1,1,!0)})}}class ScrollUpHoverAction extends EditorAction{constructor(){super({id:SCROLL_UP_HOVER_ACTION_ID,label:localize({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:16,weight:100},metadata:{description:localize2("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.scrollUp()}}class ScrollDownHoverAction extends EditorAction{constructor(){super({id:SCROLL_DOWN_HOVER_ACTION_ID,label:localize({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:18,weight:100},metadata:{description:localize2("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.scrollDown()}}class ScrollLeftHoverAction extends EditorAction{constructor(){super({id:SCROLL_LEFT_HOVER_ACTION_ID,label:localize({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:15,weight:100},metadata:{description:localize2("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.scrollLeft()}}class ScrollRightHoverAction extends EditorAction{constructor(){super({id:SCROLL_RIGHT_HOVER_ACTION_ID,label:localize({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:17,weight:100},metadata:{description:localize2("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.scrollRight()}}class PageUpHoverAction extends EditorAction{constructor(){super({id:PAGE_UP_HOVER_ACTION_ID,label:localize({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:localize2("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.pageUp()}}class PageDownHoverAction extends EditorAction{constructor(){super({id:PAGE_DOWN_HOVER_ACTION_ID,label:localize({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:localize2("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.pageDown()}}class GoToTopHoverAction extends EditorAction{constructor(){super({id:GO_TO_TOP_HOVER_ACTION_ID,label:localize({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:localize2("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.goToTop()}}class GoToBottomHoverAction extends EditorAction{constructor(){super({id:GO_TO_BOTTOM_HOVER_ACTION_ID,label:localize({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:localize2("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=ContentHoverController.get(t);i&&i.goToBottom()}}class IncreaseHoverVerbosityLevel extends EditorAction{constructor(){super({id:INCREASE_HOVER_VERBOSITY_ACTION_ID,label:INCREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:"Increase Hover Verbosity Level",precondition:EditorContextKeys.hoverVisible})}run(e,t,i){const o=ContentHoverController.get(t);if(!o)return;const n=void 0!==i?.index?i.index:o.focusedHoverPartIndex();o.updateHoverVerbosityLevel(HoverVerbosityAction$1.Increase,n,i?.focus)}}class DecreaseHoverVerbosityLevel extends EditorAction{constructor(){super({id:DECREASE_HOVER_VERBOSITY_ACTION_ID,label:DECREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:"Decrease Hover Verbosity Level",precondition:EditorContextKeys.hoverVisible})}run(e,t,i){const o=ContentHoverController.get(t);if(!o)return;const n=void 0!==i?.index?i.index:o.focusedHoverPartIndex();ContentHoverController.get(t)?.updateHoverVerbosityLevel(HoverVerbosityAction$1.Decrease,n,i?.focus)}}var __decorate$L=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$H=function(e,t){return function(i,o){t(i,o,e)}};const $$3=$$f;class MarkerHover{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const markerCodeActionTrigger={type:1,filter:{include:CodeActionKind.QuickFix},triggerAction:CodeActionTriggerSource.QuickFixHover};let MarkerHoverParticipant=class{constructor(e,t,i,o){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=o,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),o=e.range.startLineNumber,n=i.getLineMaxColumn(o),r=[];for(const s of t){const t=s.range.startLineNumber===o?s.range.startColumn:1,a=s.range.endLineNumber===o?s.range.endColumn:n,l=this._markerDecorationsService.getMarker(i.uri,s);if(!l)continue;const c=new Range$2(e.range.startLineNumber,t,e.range.startLineNumber,a);r.push(new MarkerHover(this,c,l))}return r}renderHoverParts(e,t){if(!t.length)return new RenderedHoverParts([]);const i=new DisposableStore,o=[];t.forEach(t=>{const i=this._renderMarkerHover(t);e.fragment.appendChild(i.hoverElement),o.push(i)});const n=1===t.length?t[0]:t.sort((e,t)=>MarkerSeverity$1.compare(e.marker.severity,t.marker.severity))[0];return this.renderMarkerStatusbar(e,n,i),new RenderedHoverParts(o)}_renderMarkerHover(e){const t=new DisposableStore,i=$$3("div.hover-row"),o=append$2(i,$$3("div.marker.hover-contents")),{source:n,message:r,code:s,relatedInformation:a}=e.marker;this._editor.applyFontInfo(o);const l=append$2(o,$$3("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=r,n||s)if(s&&"string"!=typeof s){const e=$$3("span");if(n){append$2(e,$$3("span")).innerText=n}const i=append$2(e,$$3("a.code-link"));i.setAttribute("href",s.target.toString()),t.add(addDisposableListener(i,"click",e=>{this._openerService.open(s.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()}));append$2(i,$$3("span")).innerText=s.value;const r=append$2(o,e);r.style.opacity="0.6",r.style.paddingLeft="6px"}else{const e=append$2(o,$$3("span"));e.style.opacity="0.6",e.style.paddingLeft="6px",e.innerText=n&&s?`${n}(${s})`:n||`(${s})`}if(isNonEmptyArray(a))for(const{message:c,resource:d,startLineNumber:u,startColumn:h}of a){const e=append$2(o,$$3("div"));e.style.marginTop="8px";const i=append$2(e,$$3("a"));i.innerText=`${basename(d)}(${u}, ${h}): `,i.style.cursor="pointer",t.add(addDisposableListener(i,"click",e=>{if(e.stopPropagation(),e.preventDefault(),this._openerService){const e={selection:{startLineNumber:u,startColumn:h}};this._openerService.open(d,{fromUserGesture:!0,editorOptions:e}).catch(onUnexpectedError)}}));const n=append$2(e,$$3("span"));n.innerText=c,this._editor.applyFontInfo(n)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===MarkerSeverity$1.Error||t.marker.severity===MarkerSeverity$1.Warning||t.marker.severity===MarkerSeverity$1.Info){const i=MarkerController.get(this._editor);i&&e.statusBar.addAction({label:localize("view problem","View Problem"),commandId:NextMarkerAction.ID,run:()=>{e.hide(),i.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const o=e.statusBar.append($$3("div"));this.recentMarkerCodeActionsInfo&&(IMarkerData.makeKey(this.recentMarkerCodeActionsInfo.marker)===IMarkerData.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(o.textContent=localize("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const n=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Disposable.None:disposableTimeout(()=>o.textContent=localize("checkingForQuickFixes","Checking for quick fixes..."),200,i);o.textContent||(o.textContent=String.fromCharCode(160));const r=this.getCodeActions(t.marker);i.add(toDisposable(()=>r.cancel())),r.then(r=>{if(n.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:r.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return r.dispose(),void(o.textContent=localize("noQuickFixes","No quick fixes available"));o.style.display="none";let s=!1;i.add(toDisposable(()=>{s||r.dispose()})),e.statusBar.addAction({label:localize("quick fixes","Quick Fix..."),commandId:quickFixCommandId,run:t=>{s=!0;const i=CodeActionController.get(this._editor),o=getDomNodePagePosition(t);e.hide(),i?.showCodeActions(markerCodeActionTrigger,r,{x:o.left,y:o.top,width:o.width,height:o.height})}})},onUnexpectedError)}}getCodeActions(e){return createCancelablePromise(t=>getCodeActions(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Range$2(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),markerCodeActionTrigger,Progress$1.None,t))}};MarkerHoverParticipant=__decorate$L([__param$H(1,IMarkerDecorationsService),__param$H(2,IOpenerService),__param$H(3,ILanguageFeaturesService)],MarkerHoverParticipant);class MarginHoverComputer{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=GlyphMarginLane.Center}computeSync(){const e=e=>({value:e}),t=this._editor.getLineDecorations(this._lineNumber),i=[],o="lineNo"===this._laneOrLine;if(!t)return i;for(const n of t){const t=n.options.glyphMargin?.position??GlyphMarginLane.Center;if(!o&&t!==this._laneOrLine)continue;const r=o?n.options.lineNumberHoverMessage:n.options.glyphMarginHoverMessage;r&&!isEmptyMarkdownString(r)&&i.push(...asArray(r).map(e))}return i}}var __decorate$K=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$G=function(e,t){return function(i,o){t(i,o,e)}},MarginHoverWidget_1;const $$2=$$f;let MarginHoverWidget=class extends Disposable{static{MarginHoverWidget_1=this}static{this.ID="editor.contrib.modesGlyphHoverWidget"}constructor(e,t,i){super(),this._renderDisposeables=this._register(new DisposableStore),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new HoverWidget$1),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new MarkdownRenderer({editor:this._editor},t,i)),this._computer=new MarginHoverComputer(this._editor),this._hoverOperation=this._register(new HoverOperation(this._editor,this._computer)),this._register(this._hoverOperation.onResult(e=>{this._withResult(e.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(50)&&this._updateFont()})),this._register(addStandardDisposableListener(this._hover.containerDomNode,"mouseleave",e=>{this._onMouseLeave(e)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return MarginHoverWidget_1.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(e=>this._editor.applyFontInfo(e))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){const t=e.target;return 2===t.type&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):3===t.type&&(this._startShowingAt(t.position.lineNumber,"lineNo"),!0)}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const o of t){const e=$$2("div.hover-row.markdown-hover"),t=append$2(e,$$2("div.hover-contents")),n=this._renderDisposeables.add(this._markdownRenderer.render(o.value));t.appendChild(n.element),i.appendChild(e)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),o=this._editor.getScrollTop(),n=this._editor.getOption(67),r=i-o-(this._hover.containerDomNode.clientHeight-n)/2,s=t.glyphMarginLeft+t.glyphMarginWidth+("lineNo"===this._computer.lane?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${s}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(r),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!isMousePositionWithinElement(t,e.x,e.y))&&this.hide()}};MarginHoverWidget=MarginHoverWidget_1=__decorate$K([__param$G(1,ILanguageService),__param$G(2,IOpenerService)],MarginHoverWidget);var __decorate$J=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$F=function(e,t){return function(i,o){t(i,o,e)}};let MarginHoverController=class extends Disposable{static{this.ID="editor.contrib.marginHover"}constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new DisposableStore,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new RunOnceScheduler(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))):(this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))),this._listenersStore.add(this._editor.onMouseLeave(e=>this._onEditorMouseLeave(e))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(e=>this._onEditorScrollChanged(e)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0;this._isMouseOnMarginHoverWidget(e)||this._hideWidgets()}_isMouseOnMarginHoverWidget(e){const t=this._glyphWidget?.getDomNode();return!!t&&isMousePositionWithinElement(t,e.event.posx,e.event.posy)}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;this._cancelScheduler();this._isMouseOnMarginHoverWidget(e)||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=this._isMouseOnMarginHoverWidget(e);return t&&i}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;this._mouseMoveEvent=e;this._shouldNotRecomputeCurrentHoverWidget(e)?this._reactToEditorMouseMoveRunner.cancel():this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){if(!e)return;this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){this._editor.hasModel()&&5!==e.keyCode&&6!==e.keyCode&&57!==e.keyCode&&4!==e.keyCode&&this._hideWidgets()}_hideWidgets(){this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(MarginHoverWidget,this._editor)),this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}};MarginHoverController=__decorate$J([__param$F(1,IInstantiationService)],MarginHoverController);class HoverAccessibleView{}class HoverAccessibilityHelp{}class ExtHoverAccessibleView{}function getSpaceCnt(e,t){let i=0;for(let o=0;oo-1)return[];const{tabSize:s,indentSize:a,insertSpaces:l}=e.getOptions(),c=(e,t)=>(t=t||1,ShiftCommand.shiftIndent(e,e.length+t,s,a,l)),d=(e,t)=>(t=t||1,ShiftCommand.unshiftIndent(e,e.length+t,s,a,l)),u=[];let h=getLeadingWhitespace(e.getLineContent(i)),p=h;r.shouldIncrease(i)?(p=c(p),h=c(h)):r.shouldIndentNextLine(i)&&(p=c(p));for(let g=++i;g<=o;g++){if(doesLineStartWithString(e,g))continue;const t=getLeadingWhitespace(e.getLineContent(g)),i=p;r.shouldDecrease(g,i)&&(p=d(p),h=d(h)),t!==p&&u.push(EditOperation.replaceMove(new Selection$1(g,1,g,t.length+1),normalizeIndentation(p,a,l))),r.shouldIgnore(g)||(r.shouldIncrease(g,i)?(h=c(h),p=h):p=r.shouldIndentNextLine(g,i)?c(p):h)}return u}function doesLineStartWithString(e,t){if(!e.tokenization.isCheapToTokenize(t))return!1;return 2===e.tokenization.getLineTokens(t).getStandardTokenType(0)}registerEditorContribution(ContentHoverController.ID,ContentHoverController,2),registerEditorContribution(MarginHoverController.ID,MarginHoverController,2),registerEditorAction(ShowOrFocusHoverAction),registerEditorAction(ShowDefinitionPreviewHoverAction),registerEditorAction(ScrollUpHoverAction),registerEditorAction(ScrollDownHoverAction),registerEditorAction(ScrollLeftHoverAction),registerEditorAction(ScrollRightHoverAction),registerEditorAction(PageUpHoverAction),registerEditorAction(PageDownHoverAction),registerEditorAction(GoToTopHoverAction),registerEditorAction(GoToBottomHoverAction),registerEditorAction(IncreaseHoverVerbosityLevel),registerEditorAction(DecreaseHoverVerbosityLevel),HoverParticipantRegistry.register(MarkdownHoverParticipant),HoverParticipantRegistry.register(MarkerHoverParticipant),registerThemingParticipant((e,t)=>{const i=e.getColor(editorHoverBorder);i&&(t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${i.transparent(.5)}; }`))}),AccessibleViewRegistry.register(new HoverAccessibleView),AccessibleViewRegistry.register(new HoverAccessibilityHelp),AccessibleViewRegistry.register(new ExtHoverAccessibleView);var __decorate$I=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$E=function(e,t){return function(i,o){t(i,o,e)}};class IndentationToSpacesAction extends EditorAction{static{this.ID="editor.action.indentationToSpaces"}constructor(){super({id:IndentationToSpacesAction.ID,label:localize("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:EditorContextKeys.writable,metadata:{description:localize2("indentationToSpacesDescription","Convert the tab indentation to spaces.")}})}run(e,t){const i=t.getModel();if(!i)return;const o=i.getOptions(),n=t.getSelection();if(!n)return;const r=new IndentationToSpacesCommand(n,o.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}class IndentationToTabsAction extends EditorAction{static{this.ID="editor.action.indentationToTabs"}constructor(){super({id:IndentationToTabsAction.ID,label:localize("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:EditorContextKeys.writable,metadata:{description:localize2("indentationToTabsDescription","Convert the spaces indentation to tabs.")}})}run(e,t){const i=t.getModel();if(!i)return;const o=i.getOptions(),n=t.getSelection();if(!n)return;const r=new IndentationToTabsCommand(n,o.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}class ChangeIndentationSizeAction extends EditorAction{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(IQuickInputService),o=e.get(IModelService),n=t.getModel();if(!n)return;const r=o.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget),s=n.getOptions(),a=[1,2,3,4,5,6,7,8].map(e=>({id:e.toString(),label:e.toString(),description:e===r.tabSize&&e===s.tabSize?localize("configuredTabSize","Configured Tab Size"):e===r.tabSize?localize("defaultTabSize","Default Tab Size"):e===s.tabSize?localize("currentTabSize","Current Tab Size"):void 0})),l=Math.min(n.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(a,{placeHolder:localize({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:a[l]}).then(e=>{if(e&&n&&!n.isDisposed()){const t=parseInt(e.label,10);this.displaySizeOnly?n.updateOptions({tabSize:t}):n.updateOptions({tabSize:t,indentSize:t,insertSpaces:this.insertSpaces})}})},50)}}class IndentUsingTabs extends ChangeIndentationSizeAction{static{this.ID="editor.action.indentUsingTabs"}constructor(){super(!1,!1,{id:IndentUsingTabs.ID,label:localize("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:localize2("indentUsingTabsDescription","Use indentation with tabs.")}})}}class IndentUsingSpaces extends ChangeIndentationSizeAction{static{this.ID="editor.action.indentUsingSpaces"}constructor(){super(!0,!1,{id:IndentUsingSpaces.ID,label:localize("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:localize2("indentUsingSpacesDescription","Use indentation with spaces.")}})}}class ChangeTabDisplaySize extends ChangeIndentationSizeAction{static{this.ID="editor.action.changeTabDisplaySize"}constructor(){super(!0,!0,{id:ChangeTabDisplaySize.ID,label:localize("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:localize2("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}}class DetectIndentation extends EditorAction{static{this.ID="editor.action.detectIndentation"}constructor(){super({id:DetectIndentation.ID,label:localize("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:localize2("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(IModelService),o=t.getModel();if(!o)return;const n=i.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget);o.detectIndentation(n.insertSpaces,n.tabSize)}}class ReindentLinesAction extends EditorAction{constructor(){super({id:"editor.action.reindentlines",label:localize("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:EditorContextKeys.writable,metadata:{description:localize2("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(ILanguageConfigurationService),o=t.getModel();if(!o)return;const n=getReindentEditOperations(o,i,1,o.getLineCount());n.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,n),t.pushUndoStop())}}class ReindentSelectedLinesAction extends EditorAction{constructor(){super({id:"editor.action.reindentselectedlines",label:localize("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:EditorContextKeys.writable,metadata:{description:localize2("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(ILanguageConfigurationService),o=t.getModel();if(!o)return;const n=t.getSelections();if(null===n)return;const r=[];for(const s of n){let e=s.startLineNumber,t=s.endLineNumber;if(e!==t&&1===s.endColumn&&t--,1===e){if(e===t)continue}else e--;const n=getReindentEditOperations(o,i,e,t);r.push(...n)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class AutoIndentOnPasteCommand{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&"string"==typeof i.text&&this._edits.push(i)}getEditOperations(e,t){for(const o of this._edits)t.addEditOperation(Range$2.lift(o.range),o.text);let i=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let AutoIndentOnPaste=class{static{this.ID="editor.contrib.autoIndentOnPaste"}constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new DisposableStore,this.callOnModel=new DisposableStore,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.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:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(null===t||t.length>1)return;const i=this.editor.getModel();if(!i)return;if(this.rangeContainsOnlyWhitespaceCharacters(i,e))return;if(isStartOrEndInString(i,e))return;if(!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const o=this.editor.getOption(12),{tabSize:n,indentSize:r,insertSpaces:s}=i.getOptions(),a=[],l={shiftIndent:e=>ShiftCommand.shiftIndent(e,e.length+1,n,r,s),unshiftIndent:e=>ShiftCommand.unshiftIndent(e,e.length+1,n,r,s)};let c=e.startLineNumber;for(;c<=e.endLineNumber&&this.shouldIgnoreLine(i,c);)c++;if(c>e.endLineNumber)return;let d=i.getLineContent(c);if(!/\S/.test(d.substring(0,e.startColumn-1))){const e=getGoodIndentForLine(o,i,i.getLanguageId(),c,l,this._languageConfigurationService);if(null!==e){const t=getLeadingWhitespace(d),o=getSpaceCnt(e,n);if(o!==getSpaceCnt(t,n)){const e=generateIndent(o,n,s);a.push({range:new Range$2(c,1,c,t.length+1),text:e}),d=e+d.substring(t.length)}else{const e=getIndentMetadata(i,c,this._languageConfigurationService);if(0===e||8===e)return}}}const u=c;for(;ci.tokenization.getLineTokens(e),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(e,t)=>i.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===u?d:i.getLineContent(e)},i.getLanguageId(),c+1,l,this._languageConfigurationService);if(null!==t){const o=getSpaceCnt(t,n),r=getSpaceCnt(getLeadingWhitespace(i.getLineContent(c+1)),n);if(o!==r){const t=o-r;for(let o=c+1;o<=e.endLineNumber;o++){const e=getLeadingWhitespace(i.getLineContent(o)),r=generateIndent(getSpaceCnt(e,n)+t,n,s);r!==e&&a.push({range:new Range$2(o,1,o,e.length+1),text:r})}}}}if(a.length>0){this.editor.pushUndoStop();const e=new AutoIndentOnPasteCommand(a,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",e),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){const i=e=>0===e.trim().length;let o=!0;if(t.startLineNumber===t.endLineNumber){o=i(e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1))}else for(let n=t.startLineNumber;n<=t.endLineNumber;n++){const r=e.getLineContent(n);if(n===t.startLineNumber){o=i(r.substring(t.startColumn-1))}else if(n===t.endLineNumber){o=i(r.substring(0,t.endColumn-1))}else o=0===e.getLineFirstNonWhitespaceColumn(n);if(!o)break}return o}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(0===i)return!0;const o=e.tokenization.getLineTokens(t);if(o.getCount()>0){const e=o.findTokenIndexAtOffset(i);if(e>=0&&1===o.getStandardTokenType(e))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function isStartOrEndInString(e,t){const i=t=>2===getStandardTokenTypeAtPosition(e,t);return i(t.getStartPosition())||i(t.getEndPosition())}function getIndentationEditOperations(e,t,i,o){if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;let n="";for(let s=0;s=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$D=function(e,t){return function(i,o){t(i,o,e)}},InPlaceReplaceController_1;let InPlaceReplaceController=class{static{InPlaceReplaceController_1=this}static{this.ID="editor.contrib.inPlaceReplaceController"}static get(e){return e.getContribution(InPlaceReplaceController_1.ID)}static{this.DECORATION=ModelDecorationOptions.register({description:"in-place-replace",className:"valueSetReplacement"})}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){this.currentRequest?.cancel();const i=this.editor.getSelection(),o=this.editor.getModel();if(!o||!i)return;let n=i;if(n.startLineNumber!==n.endLineNumber)return;const r=new EditorState$1(this.editor,5),s=o.uri;return this.editorWorkerService.canNavigateValueSet(s)?(this.currentRequest=createCancelablePromise(e=>this.editorWorkerService.navigateValueSet(s,n,t)),this.currentRequest.then(t=>{if(!t||!t.range||!t.value)return;if(!r.validate(this.editor))return;const i=Range$2.lift(t.range);let o=t.range;const s=t.value.length-(n.endColumn-n.startColumn);o={startLineNumber:o.startLineNumber,startColumn:o.startColumn,endLineNumber:o.endLineNumber,endColumn:o.startColumn+t.value.length},s>1&&(n=new Selection$1(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn+s-1));const a=new InPlaceReplaceCommand(i,n,t.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,a),this.editor.pushUndoStop(),this.decorations.set([{range:o,options:InPlaceReplaceController_1.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=timeout(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(onUnexpectedError)}).catch(onUnexpectedError)):Promise.resolve(void 0)}};InPlaceReplaceController=InPlaceReplaceController_1=__decorate$H([__param$D(1,IEditorWorkerService)],InPlaceReplaceController);class InPlaceReplaceUp extends EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.up",label:localize("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=InPlaceReplaceController.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class InPlaceReplaceDown extends EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.down",label:localize("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=InPlaceReplaceController.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}registerEditorContribution(InPlaceReplaceController.ID,InPlaceReplaceController,4),registerEditorAction(InPlaceReplaceUp),registerEditorAction(InPlaceReplaceDown);class ExpandLineSelectionAction extends EditorAction{constructor(){super({id:"expandLineSelection",label:localize("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:EditorContextKeys.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const o=t._getViewModel();o.model.pushStackElement(),o.setCursorStates(i.source,3,CursorMoveCommands.expandLineSelection(o,o.getCursorStates())),o.revealAllCursors(i.source,!0)}}registerEditorAction(ExpandLineSelectionAction);class TrimTrailingWhitespaceCommand{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=trimTrailingWhitespace(e,this._cursors,this._trimInRegexesAndStrings);for(let o=0,n=i.length;oe.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber);for(let a=t.length-2;a>=0;a--)t[a].lineNumber===t[a+1].lineNumber&&t.splice(a,1);const o=[];let n=0,r=0;const s=t.length;for(let a=1,l=e.getLineCount();a<=l;a++){const l=e.getLineContent(a),c=l.length+1;let d=0;if(r=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$C=function(e,t){return function(i,o){t(i,o,e)}};let MoveLinesCommand=class{constructor(e,t,i,o){this._languageConfigurationService=o,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),o=(t,i)=>e.getLanguageIdAtPosition(t,i),n=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===n)return void(this._selectionId=t.trackSelection(this._selection));if(!this._isMovingDown&&1===this._selection.startLineNumber)return void(this._selectionId=t.trackSelection(this._selection));this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumbert===r.startLineNumber?e.tokenization.getLineTokens(n):e.tokenization.getLineTokens(t),getLanguageId:i,getLanguageIdAtPosition:o},getLineContent:t=>t===r.startLineNumber?e.getLineContent(n):e.getLineContent(t)},u=getGoodIndentForLine(this._autoIndent,t,e.getLanguageIdAtPosition(n,1),r.startLineNumber,c,this._languageConfigurationService);if(null!==u){const t=getLeadingWhitespace(e.getLineContent(n)),i=getSpaceCnt(u,s);if(i!==getSpaceCnt(t,s)){const e=generateIndent(i,s,l);d=e+this.trimStart(a)}}}t.addEditOperation(new Range$2(r.startLineNumber,1,r.startLineNumber,1),d+"\n");const h=this.matchEnterRuleMovingDown(e,c,s,r.startLineNumber,n,d);if(null!==h)0!==h&&this.getIndentEditsOfMovingBlock(e,t,r,s,l,h);else{const a={tokenization:{getLineTokens:t=>t===r.startLineNumber?e.tokenization.getLineTokens(n):t>=r.startLineNumber+1&&t<=r.endLineNumber+1?e.tokenization.getLineTokens(t-1):e.tokenization.getLineTokens(t),getLanguageId:i,getLanguageIdAtPosition:o},getLineContent:t=>t===r.startLineNumber?d:t>=r.startLineNumber+1&&t<=r.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)},u=getGoodIndentForLine(this._autoIndent,a,e.getLanguageIdAtPosition(n,1),r.startLineNumber+1,c,this._languageConfigurationService);if(null!==u){const i=getLeadingWhitespace(e.getLineContent(r.startLineNumber)),o=getSpaceCnt(u,s),n=getSpaceCnt(i,s);if(o!==n){const i=o-n;this.getIndentEditsOfMovingBlock(e,t,r,s,l,i)}}}}else t.addEditOperation(new Range$2(r.startLineNumber,1,r.startLineNumber,1),d+"\n")}else if(n=r.startLineNumber-1,a=e.getLineContent(n),t.addEditOperation(new Range$2(n,1,n+1,1),null),t.addEditOperation(new Range$2(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),"\n"+a),this.shouldAutoIndent(e,r)){const a={tokenization:{getLineTokens:t=>t===n?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(t),getLanguageId:i,getLanguageIdAtPosition:o},getLineContent:t=>t===n?e.getLineContent(r.startLineNumber):e.getLineContent(t)},d=this.matchEnterRule(e,c,s,r.startLineNumber,r.startLineNumber-2);if(null!==d)0!==d&&this.getIndentEditsOfMovingBlock(e,t,r,s,l,d);else{const i=getGoodIndentForLine(this._autoIndent,a,e.getLanguageIdAtPosition(r.startLineNumber,1),n,c,this._languageConfigurationService);if(null!==i){const o=getLeadingWhitespace(e.getLineContent(r.startLineNumber)),n=getSpaceCnt(i,s),a=getSpaceCnt(o,s);if(n!==a){const i=n-a;this.getIndentEditsOfMovingBlock(e,t,r,s,l,i)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:o=>ShiftCommand.shiftIndent(o,o.length+1,e,t,i),unshiftIndent:o=>ShiftCommand.unshiftIndent(o,o.length+1,e,t,i)}}parseEnterResult(e,t,i,o,n){if(n){let r=n.indentation;n.indentAction===IndentAction.None||n.indentAction===IndentAction.Indent?r=n.indentation+n.appendText:n.indentAction===IndentAction.IndentOutdent?r=n.indentation:n.indentAction===IndentAction.Outdent&&(r=t.unshiftIndent(n.indentation)+n.appendText);const s=e.getLineContent(o);if(this.trimStart(s).indexOf(this.trimStart(r))>=0){const n=getLeadingWhitespace(e.getLineContent(o));let s=getLeadingWhitespace(r);const a=getIndentMetadata(e,o,this._languageConfigurationService);null!==a&&2&a&&(s=t.unshiftIndent(s));return getSpaceCnt(s,i)-getSpaceCnt(n,i)}}return null}matchEnterRuleMovingDown(e,t,i,o,n,r){if(lastNonWhitespaceIndex(r)>=0){const r=e.getLineMaxColumn(n),s=getEnterAction(this._autoIndent,e,new Range$2(n,r,n,r),this._languageConfigurationService);return this.parseEnterResult(e,t,i,o,s)}{let n=o-1;for(;n>=1;){if(lastNonWhitespaceIndex(e.getLineContent(n))>=0)break;n--}if(n<1||o>e.getLineCount())return null;const r=e.getLineMaxColumn(n),s=getEnterAction(this._autoIndent,e,new Range$2(n,r,n,r),this._languageConfigurationService);return this.parseEnterResult(e,t,i,o,s)}}matchEnterRule(e,t,i,o,n,r){let s=n;for(;s>=1;){let t;t=s===n&&void 0!==r?r:e.getLineContent(s);if(lastNonWhitespaceIndex(t)>=0)break;s--}if(s<1||o>e.getLineCount())return null;const a=e.getLineMaxColumn(s),l=getEnterAction(this._autoIndent,e,new Range$2(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,o,l)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4)return!1;if(!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1);return i===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport}getIndentEditsOfMovingBlock(e,t,i,o,n,r){for(let s=i.startLineNumber;s<=i.endLineNumber;s++){const a=getLeadingWhitespace(e.getLineContent(s)),l=generateIndent(getSpaceCnt(a,o)+r,o,n);l!==a&&(t.addEditOperation(new Range$2(s,1,s,a.length+1),l),s===i.endLineNumber&&i.endColumn<=a.length+1&&""===l&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=n)return null;const r=[];for(let a=o;a<=n;a++)r.push(e.getLineContent(a));let s=r.slice(0);return s.sort(SortLinesCommand.getCollator().compare),!0===i&&(s=s.reverse()),{startLineNumber:o,endLineNumber:n,before:r,after:s}}function sortLines(e,t,i){const o=getSortData(e,t,i);return o?EditOperation.replace(new Range$2(o.startLineNumber,1,o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),o.after.join("\n")):null}class AbstractCopyLinesAction extends EditorAction{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((e,t)=>({selection:e,index:t,ignore:!1}));i.sort((e,t)=>Range$2.compareRangesUsingStarts(e.selection,t.selection));let o=i[0];for(let r=1;rnew Position$1(e.positionLineNumber,e.positionColumn)));const n=t.getSelection();if(null===n)return;const r=e.get(IConfigurationService),s=t.getModel(),a=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:s?.getLanguageId(),resource:s?.uri}),l=new TrimTrailingWhitespaceCommand(n,o,a);t.pushUndoStop(),t.executeCommands(this.id,[l]),t.pushUndoStop()}}class DeleteLinesAction extends EditorAction{constructor(){super({id:"editor.action.deleteLines",label:localize("lines.delete","Delete Line"),alias:"Delete Line",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),o=t.getModel();if(1===o.getLineCount()&&1===o.getLineMaxColumn(1))return;let n=0;const r=[],s=[];for(let a=0,l=i.length;a1&&(t-=1,c=o.getLineMaxColumn(t)),r.push(EditOperation.replace(new Selection$1(t,c,l,d),"")),s.push(new Selection$1(t-n,e.positionColumn,t-n,e.positionColumn)),n+=e.endLineNumber-e.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,s),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(e=>{let t=e.endLineNumber;return e.startLineNumbere.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber);const i=[];let o=t[0];for(let n=1;n=t[n].startLineNumber?o.endLineNumber=t[n].endLineNumber:(i.push(o),o=t[n]);return i.push(o),i}}class IndentLinesAction extends EditorAction{constructor(){super({id:"editor.action.indentLines",label:localize("lines.indent","Indent Line"),alias:"Indent Line",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,TypeOperations.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class OutdentLinesAction extends EditorAction{constructor(){super({id:"editor.action.outdentLines",label:localize("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2140,weight:100}})}run(e,t){CoreEditingCommands.Outdent.runEditorCommand(e,t,null)}}class InsertLineBeforeAction extends EditorAction{constructor(){super({id:"editor.action.insertLineBefore",label:localize("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,EnterOperation.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class InsertLineAfterAction extends EditorAction{constructor(){super({id:"editor.action.insertLineAfter",label:localize("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,EnterOperation.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class AbstractDeleteAllToBoundaryAction extends EditorAction{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),o=this._getRangesToDelete(t),n=[];for(let a=0,l=o.length-1;aEditOperation.replace(e,""));t.pushUndoStop(),t.executeEdits(this.id,s,r),t.pushUndoStop()}}class DeleteAllLeftAction extends AbstractDeleteAllToBoundaryAction{constructor(){super({id:"deleteAllLeft",label:localize("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const o=[];let n=0;return t.forEach(t=>{let r;if(1===t.endColumn&&n>0){const e=t.startLineNumber-n;r=new Selection$1(e,t.startColumn,e,t.startColumn)}else r=new Selection$1(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);n+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?i=r:o.push(r)}),i&&o.unshift(i),o}_getRangesToDelete(e){const t=e.getSelections();if(null===t)return[];let i=t;const o=e.getModel();return null===o?[]:(i.sort(Range$2.compareRangesUsingStarts),i=i.map(e=>{if(e.isEmpty()){if(1===e.startColumn){const t=Math.max(1,e.startLineNumber-1),i=1===e.startLineNumber?1:o.getLineLength(t)+1;return new Range$2(t,i,e.startLineNumber,1)}return new Range$2(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new Range$2(e.startLineNumber,1,e.endLineNumber,e.endColumn)}),i)}}class DeleteAllRightAction extends AbstractDeleteAllToBoundaryAction{constructor(){super({id:"deleteAllRight",label:localize("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const o=[];for(let n=0,r=t.length,s=0;n{if(e.isEmpty()){const i=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===i?new Range$2(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new Range$2(e.startLineNumber,e.startColumn,e.startLineNumber,i)}return e});return o.sort(Range$2.compareRangesUsingStarts),o}}class JoinLinesAction extends EditorAction{constructor(){super({id:"editor.action.joinLines",label:localize("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(null===i)return;let o=t.getSelection();if(null===o)return;i.sort(Range$2.compareRangesUsingStarts);const n=[],r=i.reduce((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(o.equalsSelection(e)&&(o=t),t):t.startLineNumber>e.endLineNumber+1?(n.push(e),t):new Selection$1(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(n.push(e),t):new Selection$1(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn));n.push(r);const s=t.getModel();if(null===s)return;const a=[],l=[];let c=o,d=0;for(let u=0,h=n.length;u=1){let i=!0;""===m&&(i=!1),!i||" "!==m.charAt(m.length-1)&&"\t"!==m.charAt(m.length-1)||(i=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g," "));const o=e.substr(t-1);m+=(i?" ":"")+o,p=i?o.length+1:o.length}else p=0}const f=new Range$2(t,i,r,h);if(!f.isEmpty()){let i;e.isEmpty()?(a.push(EditOperation.replace(f,m)),i=new Selection$1(f.startLineNumber-d,m.length-p+1,t-d,m.length-p+1)):e.startLineNumber===e.endLineNumber?(a.push(EditOperation.replace(f,m)),i=new Selection$1(e.startLineNumber-d,e.startColumn,e.endLineNumber-d,e.endColumn)):(a.push(EditOperation.replace(f,m)),i=new Selection$1(e.startLineNumber-d,e.startColumn,e.startLineNumber-d,m.length-g)),null!==Range$2.intersectRanges(f,o)?c=i:l.push(i)}d+=f.endLineNumber-f.startLineNumber}l.unshift(c),t.pushUndoStop(),t.executeEdits(this.id,a,l),t.pushUndoStop()}}class TransposeAction extends EditorAction{constructor(){super({id:"editor.action.transpose",label:localize("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:EditorContextKeys.writable})}run(e,t){const i=t.getSelections();if(null===i)return;const o=t.getModel();if(null===o)return;const n=[];for(let r=0,s=i.length;r=s){if(t.lineNumber===o.getLineCount())continue;const e=new Range$2(t.lineNumber,Math.max(1,t.column-1),t.lineNumber+1,1),i=o.getValueInRange(e).split("").reverse().join("");n.push(new ReplaceCommand(new Selection$1(t.lineNumber,Math.max(1,t.column-1),t.lineNumber+1,1),i))}else{const e=new Range$2(t.lineNumber,Math.max(1,t.column-1),t.lineNumber,t.column+1),i=o.getValueInRange(e).split("").reverse().join("");n.push(new ReplaceCommandThatPreservesSelection(e,i,new Selection$1(t.lineNumber,t.column+1,t.lineNumber,t.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class AbstractCaseAction extends EditorAction{run(e,t){const i=t.getSelections();if(null===i)return;const o=t.getModel();if(null===o)return;const n=t.getOption(132),r=[];for(const s of i)if(s.isEmpty()){const e=s.getStartPosition(),i=t.getConfiguredWordAtPosition(e);if(!i)continue;const a=new Range$2(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),l=o.getValueInRange(a);r.push(EditOperation.replace(a,this._modifyText(l,n)))}else{const e=o.getValueInRange(s);r.push(EditOperation.replace(s,this._modifyText(e,n)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class UpperCaseAction extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToUppercase",label:localize("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:EditorContextKeys.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class LowerCaseAction extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToLowercase",label:localize("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:EditorContextKeys.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class BackwardsCompatibleRegExp{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(e){}}return this._actual}isSupported(){return null!==this.get()}}class TitleCaseAction extends AbstractCaseAction{static{this.titleBoundary=new BackwardsCompatibleRegExp("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu")}constructor(){super({id:"editor.action.transformToTitlecase",label:localize("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=TitleCaseAction.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,e=>e.toLocaleUpperCase()):e}}class SnakeCaseAction extends AbstractCaseAction{static{this.caseBoundary=new BackwardsCompatibleRegExp("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new BackwardsCompatibleRegExp("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu")}constructor(){super({id:"editor.action.transformToSnakecase",label:localize("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=SnakeCaseAction.caseBoundary.get(),o=SnakeCaseAction.singleLetters.get();return i&&o?e.replace(i,"$1_$2").replace(o,"$1_$2$3").toLocaleLowerCase():e}}class CamelCaseAction extends AbstractCaseAction{static{this.wordBoundary=new BackwardsCompatibleRegExp("[_\\s-]","gm")}constructor(){super({id:"editor.action.transformToCamelcase",label:localize("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=CamelCaseAction.wordBoundary.get();if(!i)return e;const o=e.split(i);return o.shift()+o.map(e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1)).join("")}}class PascalCaseAction extends AbstractCaseAction{static{this.wordBoundary=new BackwardsCompatibleRegExp("[_\\s-]","gm")}static{this.wordBoundaryToMaintain=new BackwardsCompatibleRegExp("(?<=\\.)","gm")}constructor(){super({id:"editor.action.transformToPascalcase",label:localize("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=PascalCaseAction.wordBoundary.get(),o=PascalCaseAction.wordBoundaryToMaintain.get();if(!i||!o)return e;return e.split(o).map(e=>e.split(i)).flat().map(e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1)).join("")}}class KebabCaseAction extends AbstractCaseAction{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(e=>e.isSupported())}static{this.caseBoundary=new BackwardsCompatibleRegExp("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new BackwardsCompatibleRegExp("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu")}static{this.underscoreBoundary=new BackwardsCompatibleRegExp("(\\S)(_)(\\S)","gm")}constructor(){super({id:"editor.action.transformToKebabcase",label:localize("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=KebabCaseAction.caseBoundary.get(),o=KebabCaseAction.singleLetters.get(),n=KebabCaseAction.underscoreBoundary.get();return i&&o&&n?e.replace(n,"$1-$3").replace(i,"$1-$2").replace(o,"$1-$2").toLocaleLowerCase():e}}registerEditorAction(CopyLinesUpAction),registerEditorAction(CopyLinesDownAction),registerEditorAction(DuplicateSelectionAction),registerEditorAction(MoveLinesUpAction),registerEditorAction(MoveLinesDownAction),registerEditorAction(SortLinesAscendingAction),registerEditorAction(SortLinesDescendingAction),registerEditorAction(DeleteDuplicateLinesAction),registerEditorAction(TrimTrailingWhitespaceAction),registerEditorAction(DeleteLinesAction),registerEditorAction(IndentLinesAction),registerEditorAction(OutdentLinesAction),registerEditorAction(InsertLineBeforeAction),registerEditorAction(InsertLineAfterAction),registerEditorAction(DeleteAllLeftAction),registerEditorAction(DeleteAllRightAction),registerEditorAction(JoinLinesAction),registerEditorAction(TransposeAction),registerEditorAction(UpperCaseAction),registerEditorAction(LowerCaseAction),SnakeCaseAction.caseBoundary.isSupported()&&SnakeCaseAction.singleLetters.isSupported()&®isterEditorAction(SnakeCaseAction),CamelCaseAction.wordBoundary.isSupported()&®isterEditorAction(CamelCaseAction),PascalCaseAction.wordBoundary.isSupported()&®isterEditorAction(PascalCaseAction),TitleCaseAction.titleBoundary.isSupported()&®isterEditorAction(TitleCaseAction),KebabCaseAction.isSupported()&®isterEditorAction(KebabCaseAction);var __decorate$F=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$B=function(e,t){return function(i,o){t(i,o,e)}},LinkedEditingContribution_1;const CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=new RawContextKey("LinkedEditingInputVisible",!1),DECORATION_CLASS_NAME="linked-editing-decoration";let LinkedEditingContribution=class extends Disposable{static{LinkedEditingContribution_1=this}static{this.ID="editor.contrib.linkedEditing"}static{this.DECORATION=ModelDecorationOptions.register({description:"linked-editing",stickiness:0,className:DECORATION_CLASS_NAME})}static get(e){return e.getContribution(LinkedEditingContribution_1.ID)}constructor(e,t,i,o,n){super(),this.languageConfigurationService=o,this._syncRangesToken=0,this._localToDispose=this._register(new DisposableStore),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE.bindTo(t),this._debounceInformation=n.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new 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(e=>{(e.hasChanged(70)||e.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(e){const t=this._editor.getModel(),i=null!==t&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(t);if(i===this._enabled&&!e)return;if(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||null===t)return;this._localToDispose.add(Event$1.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const o=new Delayer(this._debounceInformation.get(t)),n=()=>{this._rangeUpdateTriggerPromise=o.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Delayer(0),s=e=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(e))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{n()})),this._localToDispose.add(this._editor.onDidChangeModelContent(e=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&e.changes.every(e=>t.intersectRanges(e.range)))return void s(this._syncRangesToken)}n()})),this._localToDispose.add({dispose:()=>{o.dispose(),r.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||0===this._currentDecorations.length)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const o=t.getValueInRange(i);if(this._currentWordPattern){const e=o.match(this._currentWordPattern);if((e?e[0].length:0)!==o.length)return this.clearRanges()}const n=[];for(let r=1,s=this._currentDecorations.length;r1)return void this.clearRanges();const i=this._editor.getModel(),o=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===o){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const e=this._currentDecorations.getRange(0);if(e&&e.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=o;const n=this._currentRequestCts=new CancellationTokenSource$1;try{const e=new StopWatch(!1),r=await getLinkedEditingRanges(this._providers,i,t,n.token);if(this._debounceInformation.update(i,e.elapsed()),n!==this._currentRequestCts)return;if(this._currentRequestCts=null,o!==i.getVersionId())return;let s=[];r?.ranges&&(s=r.ranges),this._currentWordPattern=r?.wordPattern||this._languageWordPattern;let a=!1;for(let i=0,o=s.length;i({range:e,options:LinkedEditingContribution_1.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(l),this._syncRangesToken++}catch(r){isCancellationError(r)||onUnexpectedError(r),this._currentRequestCts!==n&&this._currentRequestCts||this.clearRanges()}}};LinkedEditingContribution=LinkedEditingContribution_1=__decorate$F([__param$B(1,IContextKeyService),__param$B(2,ILanguageFeaturesService),__param$B(3,ILanguageConfigurationService),__param$B(4,ILanguageFeatureDebounceService)],LinkedEditingContribution);class LinkedEditingAction extends EditorAction{constructor(){super({id:"editor.action.linkedEditing",label:localize("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(ICodeEditorService),[o,n]=Array.isArray(t)&&t||[void 0,void 0];return URI.isUri(o)&&Position$1.isIPosition(n)?i.openCodeEditor({resource:o},i.getActiveCodeEditor()).then(e=>{e&&(e.setPosition(n),e.invokeWithinContext(t=>(this.reportTelemetry(t,e),this.run(t,e))))},onUnexpectedError):super.runCommand(e,t)}run(e,t){const i=LinkedEditingContribution.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const LinkedEditingCommand=EditorCommand.bindToContribution(LinkedEditingContribution.get);function getLinkedEditingRanges(t,i,o,n){return first(t.ordered(i).map(t=>async()=>{try{return await t.provideLinkedEditingRanges(i,o,n)}catch(e){return void onUnexpectedExternalError(e)}}),e=>!!e&&isNonEmptyArray(e?.ranges))}registerEditorCommand(new LinkedEditingCommand({id:"cancelLinkedEditingInput",precondition:CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE,handler:e=>e.clearRanges(),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:199,primary:9,secondary:[1033]}})),registerColor("editor.linkedEditingBackground",{dark:Color$1.fromHex("#f00").transparent(.3),light:Color$1.fromHex("#f00").transparent(.3),hcDark:Color$1.fromHex("#f00").transparent(.3),hcLight:Color$1.white},localize("editorLinkedEditingBackground","Background color when the editor auto renames on type.")),registerModelAndPositionCommand("_executeLinkedEditingProvider",(e,t,i)=>{const{linkedEditingRangeProvider:o}=e.get(ILanguageFeaturesService);return getLinkedEditingRanges(o,t,i,CancellationToken.None)}),registerEditorContribution(LinkedEditingContribution.ID,LinkedEditingContribution,1),registerEditorAction(LinkedEditingAction);let Link$2=class{constructor(e,t){this._link=e,this._provider=t}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(e){return this._link.url?this._link.url:"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}};class LinksList{constructor(e){this._disposables=new DisposableStore;let t=[];for(const[i,o]of e){const e=i.links.map(e=>new Link$2(e,o));t=LinksList._union(t,e),isDisposable(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let o,n,r,s;for(o=0,r=0,n=e.length,s=t.length;oPromise.resolve(e.provideLinks(t,i)).then(t=>{t&&(o[n]=[t,e])},onUnexpectedExternalError));return Promise.all(n).then(()=>{const e=new LinksList(coalesce(o));return i.isCancellationRequested?(e.dispose(),new LinksList([])):e})}CommandsRegistry.registerCommand("_executeLinkProvider",async(e,...t)=>{let[i,o]=t;assertType(i instanceof URI),"number"!=typeof o&&(o=0);const{linkProvider:n}=e.get(ILanguageFeaturesService),r=e.get(IModelService).getModel(i);if(!r)return[];const s=await getLinks(n,r,CancellationToken.None);if(!s)return[];for(let l=0;l=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$A=function(e,t){return function(i,o){t(i,o,e)}},LinkDetector_1;let LinkDetector=class extends Disposable{static{LinkDetector_1=this}static{this.ID="editor.linkDetector"}static get(e){return e.getContribution(LinkDetector_1.ID)}constructor(e,t,i,o,n){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=o,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=n.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new RunOnceScheduler(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new ClickLinkGesture(e));this._register(r.onMouseMoveOrRelevantKeyDown(([e,t])=>{this._onEditorMouseMove(e,t)})),this._register(r.onExecute(e=>{this.onEditorMouseUp(e)})),this._register(r.onCancel(e=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(e=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(e=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(e=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(e=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=createCancelablePromise(t=>getLinks(this.providers,e,t));try{const t=new StopWatch(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){onUnexpectedError(t)}finally{this.computePromise=null}}}updateDecorations(e){const t="altKey"===this.editor.getOption(78),i=[],o=Object.keys(this.currentOccurrences);for(const r of o){const e=this.currentOccurrences[r];i.push(e.decorationId)}const n=[];if(e)for(const r of e)n.push(LinkOccurrence.decoration(r,t));this.editor.changeDecorations(t=>{const o=t.deltaDecorations(i,n);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let i=0,n=o.length;i{t.activate(e,i),this.activeLinkDecorationId=t.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e="altKey"===this.editor.getOption(78);if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:o}=e;o.resolve(CancellationToken.None).then(e=>{if("string"==typeof e&&this.editor.hasModel()){const t=this.editor.getModel().uri;if(t.scheme===Schemas.file&&e.startsWith(`${Schemas.file}:`)){const i=URI.parse(e);if(i.scheme===Schemas.file){const o=originalFSPath(i);let n=null;o.startsWith("/./")||o.startsWith("\\.\\")?n=`.${o.substr(1)}`:(o.startsWith("//./")||o.startsWith("\\\\.\\"))&&(n=`.${o.substr(2)}`),n&&(e=joinPath(t,n))}}}return this.openerService.open(e,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},e=>{const t=e instanceof Error?e.message:e;"invalid"===t?this.notificationService.warn(localize("invalid.url","Failed to open this link because it is not well-formed: {0}",o.url.toString())):"missing"===t?this.notificationService.warn(localize("missing.url","Failed to open this link because its target is missing.")):onUnexpectedError(e)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const e=this.currentOccurrences[i.id];if(e)return e}return null}isEnabled(e,t){return Boolean(6===e.target.type&&(e.hasTriggerModifier||t&&t.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()}};LinkDetector=LinkDetector_1=__decorate$E([__param$A(1,IOpenerService),__param$A(2,INotificationService),__param$A(3,ILanguageFeaturesService),__param$A(4,ILanguageFeatureDebounceService)],LinkDetector);const decoration$1={general:ModelDecorationOptions.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:ModelDecorationOptions.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class LinkOccurrence{static decoration(e,t){return{range:e.range,options:LinkOccurrence._getOptions(e,t,!1)}}static _getOptions(e,t,i){const o={...i?decoration$1.active:decoration$1.general};return o.hoverMessage=getHoverMessage(e,t),o}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,LinkOccurrence._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,LinkOccurrence._getOptions(this.link,t,!1))}}function getHoverMessage(e,t){const i=e.url&&/^command:/i.test(e.url.toString()),o=e.tooltip?e.tooltip:i?localize("links.navigate.executeCmd","Execute command"):localize("links.navigate.follow","Follow link"),n=t?isMacintosh?localize("links.navigate.kb.meta.mac","cmd + click"):localize("links.navigate.kb.meta","ctrl + click"):isMacintosh?localize("links.navigate.kb.alt.mac","option + click"):localize("links.navigate.kb.alt","alt + click");if(e.url){let t="";if(/^command:/i.test(e.url.toString())){const i=e.url.toString().match(/^command:([^?#]+)/);if(i){t=localize("tooltip.explanation","Execute command {0}",i[1])}}return new MarkdownString("",!0).appendLink(e.url.toString(!0).replace(/ /g,"%20"),o,t).appendMarkdown(` (${n})`)}return(new MarkdownString).appendText(`${o} (${n})`)}class OpenLinkAction extends EditorAction{constructor(){super({id:"editor.action.openLink",label:localize("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=LinkDetector.get(t);if(!i)return;if(!t.hasModel())return;const o=t.getSelections();for(const n of o){const e=i.getLinkOccurrence(n.getEndPosition());e&&i.openLinkOccurrence(e,!1)}}}registerEditorContribution(LinkDetector.ID,LinkDetector,1),registerEditorAction(OpenLinkAction);class LongLinesHelper extends Disposable{static{this.ID="editor.contrib.longLinesHelper"}constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(e=>{const t=this._editor.getOption(118);t>=0&&6===e.target.type&&e.target.position.column>=t&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}}registerEditorContribution(LongLinesHelper.ID,LongLinesHelper,2);const wordHighlightBackground=registerColor("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},localize("wordHighlight","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);registerColor("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},localize("wordHighlightStrong","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),registerColor("editor.wordHighlightTextBackground",wordHighlightBackground,localize("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const wordHighlightBorder=registerColor("editor.wordHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));registerColor("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),registerColor("editor.wordHighlightTextBorder",wordHighlightBorder,localize("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const overviewRulerWordHighlightForeground=registerColor("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",localize("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerWordHighlightStrongForeground=registerColor("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",localize("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerWordHighlightTextForeground=registerColor("editorOverviewRuler.wordHighlightTextForeground",overviewRulerSelectionHighlightForeground,localize("overviewRulerWordHighlightTextForeground","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),_WRITE_OPTIONS=ModelDecorationOptions.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:themeColorFromId(overviewRulerWordHighlightStrongForeground),position:OverviewRulerLane.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:1}}),_TEXT_OPTIONS=ModelDecorationOptions.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:themeColorFromId(overviewRulerWordHighlightTextForeground),position:OverviewRulerLane.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:1}}),_SELECTION_HIGHLIGHT_OPTIONS=ModelDecorationOptions.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:themeColorFromId(overviewRulerSelectionHighlightForeground),position:OverviewRulerLane.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:1}}),_SELECTION_HIGHLIGHT_OPTIONS_NO_OVERVIEW=ModelDecorationOptions.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),_REGULAR_OPTIONS=ModelDecorationOptions.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:themeColorFromId(overviewRulerWordHighlightForeground),position:OverviewRulerLane.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:1}});function getHighlightDecorationOptions(e){return e===DocumentHighlightKind$1.Write?_WRITE_OPTIONS:e===DocumentHighlightKind$1.Text?_TEXT_OPTIONS:_REGULAR_OPTIONS}function getSelectionHighlightDecorationOptions(e){return e?_SELECTION_HIGHLIGHT_OPTIONS_NO_OVERVIEW:_SELECTION_HIGHLIGHT_OPTIONS}registerThemingParticipant((e,t)=>{const i=e.getColor(editorSelectionHighlight);i&&t.addRule(`.monaco-editor .selectionHighlight { background-color: ${i.transparent(.5)}; }`)});var __decorate$D=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$z=function(e,t){return function(i,o){t(i,o,e)}},SelectionHighlighter_1;function announceCursorChange(e,t){const i=t.filter(t=>!e.find(e=>e.equals(t)));if(i.length>=1){const e=i.map(e=>`line ${e.viewState.position.lineNumber} column ${e.viewState.position.column}`).join(", ");status(1===i.length?localize("cursorAdded","Cursor added: {0}",e):localize("cursorsAdded","Cursors added: {0}",e))}}class InsertCursorAbove extends EditorAction{constructor(){super({id:"editor.action.insertCursorAbove",label:localize("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let o=!0;i&&!1===i.logicalLine&&(o=!1);const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const r=n.getCursorStates();n.setCursorStates(i.source,3,CursorMoveCommands.addCursorUp(n,r,o)),n.revealTopMostCursor(i.source),announceCursorChange(r,n.getCursorStates())}}class InsertCursorBelow extends EditorAction{constructor(){super({id:"editor.action.insertCursorBelow",label:localize("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let o=!0;i&&!1===i.logicalLine&&(o=!1);const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const r=n.getCursorStates();n.setCursorStates(i.source,3,CursorMoveCommands.addCursorDown(n,r,o)),n.revealBottomMostCursor(i.source),announceCursorChange(r,n.getCursorStates())}}class InsertCursorAtEndOfEachLineSelected extends EditorAction{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:localize("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let o=e.startLineNumber;o1&&i.push(new Selection$1(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),o=t.getSelections(),n=t._getViewModel(),r=n.getCursorStates(),s=[];o.forEach(e=>this.getCursorsForSelection(e,i,s)),s.length>0&&t.setSelections(s),announceCursorChange(r,n.getCursorStates())}}class InsertCursorAtEndOfLineSelected extends EditorAction{constructor(){super({id:"editor.action.addCursorsToBottom",label:localize("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),o=t.getModel().getLineCount(),n=[];for(let a=i[0].startLineNumber;a<=o;a++)n.push(new Selection$1(a,i[0].startColumn,a,i[0].endColumn));const r=t._getViewModel(),s=r.getCursorStates();n.length>0&&t.setSelections(n),announceCursorChange(s,r.getCursorStates())}}class InsertCursorAtTopOfLineSelected extends EditorAction{constructor(){super({id:"editor.action.addCursorsToTop",label:localize("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),o=[];for(let s=i[0].startLineNumber;s>=1;s--)o.push(new Selection$1(s,i[0].startColumn,s,i[0].endColumn));const n=t._getViewModel(),r=n.getCursorStates();o.length>0&&t.setSelections(o),announceCursorChange(r,n.getCursorStates())}}class MultiCursorSessionResult{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class MultiCursorSession{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new MultiCursorSession(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let o,n,r=!1;const s=e.getSelections();1===s.length&&s[0].isEmpty()?(r=!0,o=!0,n=!0):(o=i.wholeWord,n=i.matchCase);const a=e.getSelection();let l,c=null;if(a.isEmpty()){const t=e.getConfiguredWordAtPosition(a.getStartPosition());if(!t)return null;l=t.word,c=new Selection$1(a.startLineNumber,t.startColumn,a.startLineNumber,t.endColumn)}else l=e.getModel().getValueInRange(a).replace(/\r\n/g,"\n");return new MultiCursorSession(e,t,r,l,o,n,c)}constructor(e,t,i,o,n,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=o,this.wholeWord=n,this.matchCase=r,this.currentMatch=s}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new Selection$1(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new Selection$1(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}class MultiCursorSelectionController extends Disposable{static{this.ID="editor.contrib.multiCursorController"}static get(e){return e.getContribution(MultiCursorSelectionController.ID)}constructor(e){super(),this._sessionDispose=this._register(new DisposableStore),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=MultiCursorSession.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(e=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(e=>{(e.matchCase||e.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new Selection$1(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const i=e.getState().matchCase;if(!modelRangesContainSameText(this._editor.getModel(),t,i)){const e=this._editor.getModel(),i=[];for(let o=0,n=t.length;o0&&i.isRegex){const e=this._editor.getModel();t=i.searchScope?e.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):e.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const e=this._editor.getSelection();for(let i=0,o=t.length;inew Selection$1(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)))}}}class MultiCursorSelectionControllerAction extends EditorAction{run(e,t){const i=MultiCursorSelectionController.get(t);if(!i)return;const o=t._getViewModel();if(o){const n=o.getCursorStates(),r=CommonFindController.get(t);if(r)this._run(i,r);else{const o=e.get(IInstantiationService).createInstance(CommonFindController,t);this._run(i,o),o.dispose()}announceCursorChange(n,o.getCursorStates())}}}class AddSelectionToNextFindMatchAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:localize("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2082,weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class AddSelectionToPreviousFindMatchAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:localize("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class MoveSelectionToNextFindMatchAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:localize("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:KeyChord(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class MoveSelectionToPreviousFindMatchAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:localize("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class SelectHighlightsAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.selectHighlights",label:localize("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:3114,weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class CompatChangeAll extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.changeAll",label:localize("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.editorTextFocus),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class SelectionHighlighterState{constructor(e,t,i,o,n){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=o,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,n&&this._model===n._model&&this._searchText===n._searchText&&this._matchCase===n._matchCase&&this._wordSeparators===n._wordSeparators&&this._modelVersionId===n._modelVersionId&&(this._cachedFindMatches=n._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(Range$2.compareRangesUsingStarts)),this._cachedFindMatches}}let SelectionHighlighter=class extends Disposable{static{SelectionHighlighter_1=this}static{this.ID="editor.contrib.selectionHighlighter"}constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new RunOnceScheduler(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(t=>{this._isEnabled=e.getOption(109)})),this._register(e.onDidChangeCursorSelection(e=>{this._isEnabled&&(e.selection.isEmpty()?3===e.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(e=>{this._setState(null)})),this._register(e.onDidChangeModelContent(e=>{this._isEnabled&&this.updateSoon.schedule()}));const i=CommonFindController.get(e);i&&this._register(i.getState().onFindReplaceStateChange(e=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(SelectionHighlighter_1._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t)return null;if(!i.hasModel())return null;const o=i.getSelection();if(o.startLineNumber!==o.endLineNumber)return null;const n=MultiCursorSelectionController.get(i);if(!n)return null;const r=CommonFindController.get(i);if(!r)return null;let s=n.getSession(r);if(!s){const e=i.getSelections();if(e.length>1){const t=r.getState().matchCase;if(!modelRangesContainSameText(i.getModel(),e,t))return null}s=MultiCursorSession.create(i,r)}if(!s)return null;if(s.currentMatch)return null;if(/^[ \t]+$/.test(s.searchText))return null;if(s.searchText.length>200)return null;const a=r.getState(),l=a.matchCase;if(a.isRevealed){let e=a.searchString;l||(e=e.toLowerCase());let t=s.searchText;if(l||(t=t.toLowerCase()),e===t&&s.matchCase===a.matchCase&&s.wholeWord===a.wholeWord&&!a.isRegex)return null}return new SelectionHighlighterState(i.getModel(),s.searchText,s.matchCase,s.wholeWord?i.getOption(132):null,e)}_setState(e){if(this.state=e,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),o=this.editor.getSelections();o.sort(Range$2.compareRangesUsingStarts);const n=[];for(let l=0,c=0,d=i.length,u=o.length;l=u)n.push(e),l++;else{const t=Range$2.compareRangesUsingStarts(e,o[c]);t<0?(!o[c].isEmpty()&&Range$2.areIntersecting(e,o[c])||n.push(e),l++):(t>0||l++,c++)}}const r="off"!==this.editor.getOption(81),s=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,a=n.map(e=>({range:e,options:getSelectionHighlightDecorationOptions(s)}));this._decorations.set(a)}dispose(){this._setState(null),super.dispose()}};function modelRangesContainSameText(e,t,i){const o=getValueInRange(e,t[0],!i);for(let n=1,r=t.length;n=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$y=function(e,t){return function(i,o){t(i,o,e)}};const INLINE_EDIT_DESCRIPTION="inline-edit";let GhostTextWidget=class extends Disposable{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=observableValue(this,!1),this.currentTextModel=observableFromEvent(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=derived(this,e=>{if(this.isDisposed.read(e))return;const t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;const i=this.model.ghostText.read(e);if(!i)return;let o=this.model.range?.read(e);o&&o.startLineNumber===o.endLineNumber&&o.startColumn===o.endColumn&&(o=void 0);const n=(!o||o.startLineNumber===o.endLineNumber)&&1===i.parts.length&&1===i.parts[0].lines.length,r=1===i.parts.length&&i.parts[0].lines.every(e=>0===e.length),s=[],a=[];function l(e,t){if(a.length>0){const i=a[a.length-1];t&&i.decorations.push(new LineDecoration(i.content.length+1,i.content.length+1+e[0].length,t,0)),i.content+=e[0],e=e.slice(1)}for(const i of e)a.push({content:i,decorations:t?[new LineDecoration(1,i.length+1,t,0)]:[]})}const c=t.getLineContent(i.lineNumber);let d,u=0;if(!r&&(n||!o)){for(const e of i.parts){let t=e.lines;o&&!n&&(l(t,INLINE_EDIT_DESCRIPTION),t=[]),void 0===d?(s.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):l([c.substring(u,e.column-1)],void 0),t.length>0&&(l(t,INLINE_EDIT_DESCRIPTION),void 0===d&&e.column<=c.length&&(d=e.column)),u=e.column-1}void 0!==d&&l([c.substring(u)],void 0)}const h=void 0!==d?new ColumnRange(d,c.length+1):void 0,p=n||!o?i.lineNumber:o.endLineNumber-1;return{inlineTexts:s,additionalLines:a,hiddenRange:h,lineNumber:p,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t,range:o,isSingleLine:n,isPureRemove:r}}),this.decorations=derived(this,e=>{const t=this.uiState.read(e);if(!t)return[];const i=[];if(t.hiddenRange&&i.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),t.range){const e=[];if(t.isSingleLine)e.push(t.range);else if(!t.isPureRemove){const i=t.range.endLineNumber-t.range.startLineNumber;for(let o=0;o{this.isDisposed.set(!0,void 0)})),this._register(applyObservableDecorations(this.editor,this.decorations))}};GhostTextWidget=__decorate$C([__param$y(2,ILanguageService)],GhostTextWidget);var __decorate$B=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$x=function(e,t){return function(i,o){t(i,o,e)}},InlineEditHintsContentWidget_1;let InlineEditHintsWidget=class extends Disposable{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>"always"===this.editor.getOption(63).showToolbar),this.sessionPosition=void 0,this.position=derived(this,e=>{const t=this.model.read(e)?.model.ghostText.read(e);if(!this.alwaysShowToolbar.read(e)||!t||0===t.parts.length)return this.sessionPosition=void 0,null;const i=t.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==t.lineNumber&&(this.sessionPosition=void 0);const o=new Position$1(t.lineNumber,Math.min(i,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=o,o}),this._register(autorunWithStore((t,i)=>{if(!this.model.read(t)||!this.alwaysShowToolbar.read(t))return;const o=i.add(this.instantiationService.createInstance(InlineEditHintsContentWidget,this.editor,!0,this.position));e.addContentWidget(o),i.add(toDisposable(()=>e.removeContentWidget(o)))}))}};InlineEditHintsWidget=__decorate$B([__param$x(2,IInstantiationService)],InlineEditHintsWidget);let InlineEditHintsContentWidget=class extends Disposable{static{InlineEditHintsContentWidget_1=this}static{this._dropDownVisible=!1}static{this.id=0}constructor(e,t,i,o,n,r){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=n,this._menuService=r,this.id="InlineEditHintsContentWidget"+InlineEditHintsContentWidget_1.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=h$1("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[h$1("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(MenuId.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(o.createInstance(CustomizedMenuWorkbenchToolBar,this.nodes.toolBar,this.editor,MenuId.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof MenuItemAction)return o.createInstance(StatusBarViewItem,e,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(e=>{InlineEditHintsContentWidget_1._dropDownVisible=e})),this._register(autorun(e=>{this._position.read(e),this.editor.layoutContentWidget(this)})),this._register(autorun(e=>{const t=[];for(const[i,o]of this.inlineCompletionsActionsMenus.getActions())for(const e of o)e instanceof MenuItemAction&&t.push(e);t.length>0&&t.unshift(new Separator),this.toolBar.setAdditionalSecondaryActions(t)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};InlineEditHintsContentWidget=InlineEditHintsContentWidget_1=__decorate$B([__param$x(3,IInstantiationService),__param$x(4,IContextKeyService),__param$x(5,IMenuService)],InlineEditHintsContentWidget);class StatusBarViewItem extends MenuEntryActionViewItem{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=h$1("div.keybinding").root;this._register(new KeybindingLabel(t,OS,{disableTitle:!0,...unthemedKeybindingLabelOptions})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let CustomizedMenuWorkbenchToolBar=class extends WorkbenchToolBar{constructor(e,t,i,o,n,r,s,a,l,c){super(e,{resetMenu:i,...o},n,r,s,a,l,c),this.editor=t,this.menuId=i,this.options2=o,this.menuService=n,this.contextKeyService=r,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 e=[],t=[];createAndFillInActionBarActions(this.menu,this.options2?.menuOptions,{primary:e,secondary:t},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){equals$2(this.additionalActions,e,(e,t)=>e===t)||(this.additionalActions=e,this.updateToolbar())}};CustomizedMenuWorkbenchToolBar=__decorate$B([__param$x(4,IMenuService),__param$x(5,IContextKeyService),__param$x(6,IContextMenuService),__param$x(7,IKeybindingService),__param$x(8,ICommandService),__param$x(9,ITelemetryService)],CustomizedMenuWorkbenchToolBar);var __decorate$A=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$w=function(e,t){return function(i,o){t(i,o,e)}},InlineEditSideBySideWidget_1,InlineEditSideBySideContentWidget_1;function*range$1(e,t,i=1){void 0===t&&([t,e]=[e,0]);for(let o=e;oe.replace(new RegExp("^"+t),"")),shift:i}}let InlineEditSideBySideWidget=class extends Disposable{static{InlineEditSideBySideWidget_1=this}static{this._modelId=0}static _createUniqueUri(){return URI.from({scheme:"inline-edit-widget",path:(new Date).toString()+String(InlineEditSideBySideWidget_1._modelId++)})}constructor(e,t,i,o,n){super(),this._editor=e,this._model=t,this._instantiationService=i,this._diffProviderFactoryService=o,this._modelService=n,this._position=derived(this,e=>{const t=this._model.read(e);if(!t||0===t.text.length)return null;if(t.range.startLineNumber===t.range.endLineNumber&&(t.range.startColumn!==t.range.endColumn||1!==t.range.startColumn))return null;const i=this._editor.getModel();if(!i)return null;const o=Array.from(range$1(t.range.startLineNumber,t.range.endLineNumber+1)),n=o.map(e=>i.getLineLastNonWhitespaceColumn(e)),r=Math.max(...n),s=o[n.indexOf(r)],a=new Position$1(s,r);return{top:t.range.startLineNumber,left:a}}),this._text=derived(this,e=>{const t=this._model.read(e);if(!t)return{text:"",shift:0};const i=removeIndentation(t.text.split("\n"));return{text:i.text.join("\n"),shift:i.shift}}),this._originalModel=derivedDisposable(()=>this._modelService.createModel("",null,InlineEditSideBySideWidget_1._createUniqueUri())).keepObserved(this._store),this._modifiedModel=derivedDisposable(()=>this._modelService.createModel("",null,InlineEditSideBySideWidget_1._createUniqueUri())).keepObserved(this._store),this._diff=derived(this,e=>this._diffPromise.read(e)?.promiseResult.read(e)?.data),this._diffPromise=derived(this,e=>{const t=this._model.read(e);if(!t)return;const i=this._editor.getModel();if(!i)return;const o=removeIndentation(i.getValueInRange(t.range).split("\n")).text.join("\n"),n=removeIndentation(t.text.split("\n")).text.join("\n");this._originalModel.get().setValue(o),this._modifiedModel.get().setValue(n);const r=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ObservablePromise.fromFn(async()=>{const e=await r.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},CancellationToken.None);if(!e.identical)return e.changes})}),this._register(autorunWithStore((t,i)=>{if(!this._model.read(t))return;if(null===this._position.get())return;const o=i.add(this._instantiationService.createInstance(InlineEditSideBySideContentWidget,this._editor,this._position,this._text.map(e=>e.text),this._text.map(e=>e.shift),this._diff));e.addOverlayWidget(o),i.add(toDisposable(()=>e.removeOverlayWidget(o)))}))}};InlineEditSideBySideWidget=InlineEditSideBySideWidget_1=__decorate$A([__param$w(2,IInstantiationService),__param$w(3,IDiffProviderFactoryService),__param$w(4,IModelService)],InlineEditSideBySideWidget);let InlineEditSideBySideContentWidget=class extends Disposable{static{InlineEditSideBySideContentWidget_1=this}static{this.id=0}constructor(e,t,i,o,n,r){super(),this._editor=e,this._position=t,this._text=i,this._shift=o,this._diff=n,this._instantiationService=r,this.id="InlineEditSideBySideContentWidget"+InlineEditSideBySideContentWidget_1.id++,this.allowEditorOverflow=!1,this._nodes=$$f("div.inlineEditSideBySide",void 0),this._scrollChanged=observableSignalFromEvent("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(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=observableCodeEditor(this._previewEditor),this._editorObs=observableCodeEditor(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(TextModel,"",this._editor.getModel()?.getLanguageId()??PLAINTEXT_LANGUAGE_ID,TextModel.DEFAULT_CREATION_OPTIONS,null)),this._setText=derived(e=>{const t=this._text.read(e);t&&this._previewTextModel.setValue(t)}).recomputeInitiallyAndOnChange(this._store),this._decorations=derived(this,e=>{this._setText.read(e);const t=this._position.read(e);if(!t)return{org:[],mod:[]};const i=this._diff.read(e);if(!i)return{org:[],mod:[]};const o=[],n=[];if(1===i.length&&i[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const r=this._shift.get(),s=e=>new Range$2(e.startLineNumber+t.top-1,e.startColumn+r,e.endLineNumber+t.top-1,e.endColumn+r);for(const a of i)if(a.original.isEmpty||o.push({range:s(a.original.toInclusiveRange()),options:diffLineDeleteDecorationBackgroundWithIndicator}),a.modified.isEmpty||n.push({range:a.modified.toInclusiveRange(),options:diffLineAddDecorationBackgroundWithIndicator}),a.modified.isEmpty||a.original.isEmpty)a.original.isEmpty||o.push({range:s(a.original.toInclusiveRange()),options:diffWholeLineDeleteDecoration}),a.modified.isEmpty||n.push({range:a.modified.toInclusiveRange(),options:diffWholeLineAddDecoration});else for(const e of a.innerChanges||[])a.original.contains(e.originalRange.startLineNumber)&&o.push({range:s(e.originalRange),options:e.originalRange.isEmpty()?diffDeleteDecorationEmpty:diffDeleteDecoration}),a.modified.contains(e.modifiedRange.startLineNumber)&&n.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()?diffAddDecorationEmpty:diffAddDecoration});return{org:o,mod:n}}),this._originalDecorations=derived(this,e=>this._decorations.read(e).org),this._modifiedDecorations=derived(this,e=>this._decorations.read(e).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(autorun(e=>{const t=this._previewEditorObs.contentWidth.read(e),i=this._text.read(e).split("\n").length-1,o=this._editor.getOption(67)*i;t<=0||this._previewEditor.layout({height:o,width:t})})),this._register(autorun(e=>{this._position.read(e),this._editor.layoutOverlayWidget(this)})),this._register(autorun(e=>{this._scrollChanged.read(e);this._position.read(e)&&this._editor.layoutOverlayWidget(this)}))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const e=this._position.get();if(!e)return null;const t=this._editor.getLayoutInfo(),i=this._editor.getScrolledVisiblePosition(new Position$1(e.top,1));if(!i)return null;const o=i.top-1,n=this._editor.getOffsetForColumn(e.left.lineNumber,e.left.column);return{preference:{left:t.contentLeft+n+10,top:o}}}};InlineEditSideBySideContentWidget=InlineEditSideBySideContentWidget_1=__decorate$A([__param$w(5,IInstantiationService)],InlineEditSideBySideContentWidget);var __decorate$z=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$v=function(e,t){return function(i,o){t(i,o,e)}},InlineEditController_1;let InlineEditController=class extends Disposable{static{InlineEditController_1=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(e){return e.getContribution(InlineEditController_1.ID)}constructor(e,t,i,o,n,r,s,a){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=o,this._commandService=n,this._configurationService=r,this._diffProviderFactoryService=s,this._modelService=a,this._isVisibleContext=InlineEditController_1.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=InlineEditController_1.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=observableValue(this,void 0),this._currentWidget=derivedDisposable(this._currentEdit,e=>{const t=this._currentEdit.read(e);if(!t)return;const i=t.range.endLineNumber,o=t.range.endColumn,n=!t.text.endsWith("\n")||t.range.startLineNumber===t.range.endLineNumber&&t.range.startColumn===t.range.endColumn?t.text:t.text.slice(0,-1),r=new GhostText(i,[new GhostTextPart(o,n,!1)]),s=t.range.startLineNumber===t.range.endLineNumber&&1===r.parts.length&&1===r.parts[0].lines.length,a=""===t.text;if(!s&&!a)return;return this.instantiationService.createInstance(GhostTextWidget,this.editor,{ghostText:constObservable(r),minReservedLineCount:constObservable(0),targetTextModel:constObservable(this.editor.getModel()??void 0),range:constObservable(t.range)})}),this._isAccepting=observableValue(this,!1),this._enabled=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=observableFromEvent(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const l=observableSignalFromEvent("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(autorun(t=>{this._enabled.read(t)&&(l.read(t),this._isAccepting.read(t)||this.getInlineEdit(e,!0))}));const c=observableFromEvent(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(autorun(e=>{if(!this._enabled.read(e))return;const t=c.read(e);t&&this.checkCursorPosition(t)})),this._register(autorun(t=>{const i=this._currentEdit.read(t);if(this._isCursorAtInlineEditContext.set(!1),!i)return void this._isVisibleContext.set(!1);this._isVisibleContext.set(!0);const o=e.getPosition();o&&this.checkCursorPosition(o)}));const d=observableSignalFromEvent("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(autorun(async t=>{this._enabled.read(t)&&(d.read(t),this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur||(this._currentRequestCts?.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const u=observableSignalFromEvent("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(autorun(t=>{this._enabled.read(t)&&(u.read(t),this.getInlineEdit(e,!0))}));const h=this._register(createStyleSheet2());this._register(autorun(e=>{const t=this._fontFamily.read(e);h.setStyle(""===t||"default"===t?"":`\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .inline-edit {\n\tfont-family: ${t};\n}`)})),this._register(new InlineEditHintsWidget(this.editor,this._currentWidget,this.instantiationService)),this._register(new InlineEditSideBySideWidget(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(e){if(!this._currentEdit)return void this._isCursorAtInlineEditContext.set(!1);const t=this._currentEdit.get();t?this._isCursorAtInlineEditContext.set(Range$2.containsPosition(t.range,e)):this._isCursorAtInlineEditContext.set(!1)}validateInlineEdit(e,t){if(t.text.includes("\n")&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(1!==t.range.startColumn)return!1;const i=t.range.endLineNumber;if(t.range.endColumn!==(e.getModel()?.getLineLength(i)??0)+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const o=i.getVersionId(),n=this.languageFeaturesService.inlineEditProvider.all(i);if(0===n.length)return;const r=n[0];this._currentRequestCts=new CancellationTokenSource$1;const s=this._currentRequestCts.token,a=t?InlineEditTriggerKind$1.Automatic:InlineEditTriggerKind$1.Invoke;if(t&&await wait(50,s),s.isCancellationRequested||i.isDisposed()||i.getVersionId()!==o)return;const l=await r.provideInlineEdit(i,{triggerKind:a},s);return l&&!s.isCancellationRequested&&!i.isDisposed()&&i.getVersionId()===o&&this.validateInlineEdit(e,l)?l:void 0}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,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 e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith("\n")&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[EditOperation.replace(Range$2.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,onUnexpectedExternalError),this.freeEdit(e),transaction(e=>{this._currentEdit.set(void 0,e),this._isAccepting.set(!1,e)})}jumpToCurrent(){this._jumpBackPosition=this.editor.getSelection()?.getStartPosition();const e=this._currentEdit.get();if(!e)return;const t=Position$1.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){const t=this._currentEdit.get();t&&t?.rejected&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,onUnexpectedExternalError),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);0!==i.length&&i[0].freeInlineEdit(e)}};function wait(e,t){return new Promise(i=>{let o;const n=setTimeout(()=>{o&&o.dispose(),i()},e);t&&(o=t.onCancellationRequested(()=>{clearTimeout(n),o&&o.dispose(),i()}))})}InlineEditController=InlineEditController_1=__decorate$z([__param$v(1,IInstantiationService),__param$v(2,IContextKeyService),__param$v(3,ILanguageFeaturesService),__param$v(4,ICommandService),__param$v(5,IConfigurationService),__param$v(6,IDiffProviderFactoryService),__param$v(7,IModelService)],InlineEditController);let AcceptInlineEdit$1=class extends EditorAction{constructor(){super({id:inlineEditAcceptId$1,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.inlineEditVisibleContext,InlineEditController.cursorAtInlineEditContext)}],menuOpts:[{menuId:MenuId.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=InlineEditController.get(t);await(i?.accept())}};class TriggerInlineEdit extends EditorAction{constructor(){const e=ContextKeyExpr.and(EditorContextKeys.writable,ContextKeyExpr.not(InlineEditController.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=InlineEditController.get(t);i?.trigger()}}class JumpToInlineEdit extends EditorAction{constructor(){const e=ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.inlineEditVisibleContext,ContextKeyExpr.not(InlineEditController.cursorAtInlineEditKey));super({id:inlineEditJumpToId,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:MenuId.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=InlineEditController.get(t);i?.jumpToCurrent()}}class JumpBackInlineEdit extends EditorAction{constructor(){const e=ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.cursorAtInlineEditContext);super({id:inlineEditJumpBackId,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:MenuId.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=InlineEditController.get(t);i?.jumpBack()}}class RejectInlineEdit extends EditorAction{constructor(){const e=ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.inlineEditVisibleContext);super({id:inlineEditRejectId,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:MenuId.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=InlineEditController.get(t);await(i?.clear())}}registerEditorAction(AcceptInlineEdit$1),registerEditorAction(RejectInlineEdit),registerEditorAction(JumpToInlineEdit),registerEditorAction(JumpBackInlineEdit),registerEditorAction(TriggerInlineEdit),registerEditorContribution(InlineEditController.ID,InlineEditController,3);const inlineEditAcceptId="editor.action.inlineEdits.accept",showPreviousInlineEditActionId="editor.action.inlineEdits.showPrevious",showNextInlineEditActionId="editor.action.inlineEdits.showNext",inlineEditVisible=new RawContextKey("inlineEditsVisible",!1,localize("inlineEditsVisible","Whether an inline edit is visible")),isPinnedContextKey=new RawContextKey("inlineEditsIsPinned",!1,localize("isPinned","Whether an inline edit is visible"));class PlaceholderTextContribution extends Disposable{static{this.ID="editor.contrib.placeholderText"}constructor(e){super(),this._editor=e,this._editorObs=observableCodeEditor(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=derivedOpts({owner:this,equalsFn:structuralEquals},e=>{const t=this._placeholderText.read(e);if(t&&this._editorObs.valueIsEmpty.read(e))return{placeholder:t}}),this._shouldViewBeAlive=isOrWasTrue(this,e=>void 0!==this._state.read(e)?.placeholder),this._view=derivedWithStore((e,t)=>{if(!this._shouldViewBeAlive.read(e))return;const i=h$1("div.editorPlaceholder");t.add(autorun(e=>{const t=this._state.read(e),o=void 0!==t?.placeholder;i.root.style.display=o?"block":"none",i.root.innerText=t?.placeholder??""})),t.add(autorun(e=>{const t=this._editorObs.layoutInfo.read(e);i.root.style.left=`${t.contentLeft}px`,i.root.style.width=t.contentWidth-t.verticalScrollbarWidth+"px",i.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),t.add(autorun(e=>{i.root.style.fontFamily=this._editorObs.getOption(49).read(e),i.root.style.fontSize=this._editorObs.getOption(52).read(e)+"px",i.root.style.lineHeight=this._editorObs.getOption(67).read(e)+"px"})),t.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:constObservable(0),position:constObservable(null),domNode:i.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}}function isOrWasTrue(e,t){return derivedObservableWithCache(e,(e,i)=>!0===i||t(e))}var __decorate$y=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$u=function(e,t){return function(i,o){t(i,o,e)}};class InlineEdit{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let InlineEditsWidget=class extends Disposable{constructor(e,t,i,o){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=o,this._editorObs=observableCodeEditor(this._editor),this._elements=h$1("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[h$1("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[h$1("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),h$1("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),h$1("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),svgElem("svg",{style:{overflow:"visible",pointerEvents:"none"}},[svgElem("defs",[svgElem("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[svgElem("stop",{offset:"0%",class:"gradient-stop"}),svgElem("stop",{offset:"100%",class:"gradient-stop"})])]),svgElem("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(TextModel,"",PLAINTEXT_LANGUAGE_ID,TextModel.DEFAULT_CREATION_OPTIONS,null)),this._setText=derived(e=>{const t=this._edit.read(e);t&&this._previewTextModel.setValue(t.newLines.join("\n"))}).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(TextModel,"",PLAINTEXT_LANGUAGE_ID,TextModel.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(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:DEFAULT_FONT_FAMILY},{contributions:EditorExtensionsRegistry.getSomeEditorContributions([SuggestController.ID,PlaceholderTextContribution.ID,ContextMenuController.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(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=observableCodeEditor(this._previewEditor),this._decorations=derived(this,e=>{this._setText.read(e);const t=this._edit.read(e)?.changes;if(!t)return[];const i=[],o=[];if(1===t.length&&t[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const n of t)if(n.original.isEmpty||i.push({range:n.original.toInclusiveRange(),options:diffLineDeleteDecorationBackgroundWithIndicator}),n.modified.isEmpty||o.push({range:n.modified.toInclusiveRange(),options:diffLineAddDecorationBackgroundWithIndicator}),n.modified.isEmpty||n.original.isEmpty)n.original.isEmpty||i.push({range:n.original.toInclusiveRange(),options:diffWholeLineDeleteDecoration}),n.modified.isEmpty||o.push({range:n.modified.toInclusiveRange(),options:diffWholeLineAddDecoration});else for(const e of n.innerChanges||[])n.original.contains(e.originalRange.startLineNumber)&&i.push({range:e.originalRange,options:e.originalRange.isEmpty()?diffDeleteDecorationEmpty:diffDeleteDecoration}),n.modified.contains(e.modifiedRange.startLineNumber)&&o.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()?diffAddDecorationEmpty:diffAddDecoration});return o}),this._layout1=derived(this,e=>{const t=this._editor.getModel(),i=this._edit.read(e);if(!i)return null;const o=i.range;let n=0;for(let r=o.startLineNumber;r{const t=this._edit.read(e);if(!t)return null;const i=t.range,o=this._editorObs.scrollLeft.read(e),n=this._layout1.read(e).left+20-o,r=this._editor.getTopForLineNumber(i.startLineNumber)-this._editorObs.scrollTop.read(e),s=this._editor.getTopForLineNumber(i.endLineNumberExclusive)-this._editorObs.scrollTop.read(e),a=new Point(n,r),l=new Point(n,s),c=s-r,d=this._editor.getOption(67)*t.newLines.length,u=c-d;return{topCode:a,bottomCode:l,codeHeight:c,topEdit:new Point(n+50,r+u/2),bottomEdit:new Point(n+50,s-u/2),editHeight:d}});const n=derived(this,e=>void 0!==this._edit.read(e)||void 0!==this._userPrompt.read(e));this._register(applyStyle(this._elements.root,{display:derived(this,e=>n.read(e)?"block":"none")})),this._register(appendRemoveOnDispose(this._editor.getDomNode(),this._elements.root)),this._register(observableCodeEditor(e).createOverlayWidget({domNode:this._elements.root,position:constObservable(null),allowEditorOverflow:!1,minContentWidthInPx:derived(e=>{const t=this._layout1.read(e)?.left;if(void 0===t)return 0;return t+this._previewEditorObs.contentWidth.read(e)})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(autorun(e=>{const t=this._layout.read(e);if(!t)return;const{topCode:i,bottomCode:o,topEdit:n,bottomEdit:r,editHeight:s}=t,a=(new PathBuilder).moveTo(i).lineTo(i.deltaX(10)).curveTo(i.deltaX(50),n.deltaX(-40),n.deltaX(-0)).lineTo(n).lineTo(r).lineTo(r.deltaX(-0)).curveTo(r.deltaX(-40),o.deltaX(50),o.deltaX(10)).lineTo(o).build();this._elements.path.setAttribute("d",a),this._elements.editorContainer.style.top=`${n.y}px`,this._elements.editorContainer.style.left=`${n.x}px`,this._elements.editorContainer.style.height=`${s}px`;const l=this._previewEditorObs.contentWidth.read(e);this._previewEditor.layout({height:s,width:l})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(createTwoWaySync(mapSettableObservable(this._userPrompt,e=>e??"",e=>e),observableCodeEditor(this._promptEditor).value)),this._register(autorun(e=>{const t=observableCodeEditor(this._promptEditor).isFocused.read(e);this._elements.root.classList.toggle("focused",t)}))}};function mapSettableObservable(e,t,i){return derivedWithSetter(void 0,i=>t(e.read(i)),(t,o)=>e.set(i(t),o))}InlineEditsWidget=__decorate$y([__param$u(3,IInstantiationService)],InlineEditsWidget);class Point{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Point(this.x+e,this.y)}}class PathBuilder{constructor(){this._data=""}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}curveTo(e,t,i){return this._data+=`C ${e.x} ${e.y} ${t.x} ${t.y} ${i.x} ${i.y} `,this}build(){return this._data}}function createTwoWaySync(e,t){const i=new DisposableStore;return i.add(autorun(i=>{const o=e.read(i);t.set(o,void 0)})),i.add(autorun(i=>{const o=t.read(i);e.set(o,void 0)})),i}var __decorate$x=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$t=function(e,t){return function(i,o){t(i,o,e)}},InlineEditsModel_1;let InlineEditsModel=class extends Disposable{static{InlineEditsModel_1=this}static{this._modelId=0}static _createUniqueUri(){return URI.from({scheme:"inline-edits",path:(new Date).toString()+String(InlineEditsModel_1._modelId++)})}constructor(e,t,i,o,n,r,s){super(),this.textModel=e,this._textModelVersionId=t,this._selection=i,this._debounceValue=o,this.languageFeaturesService=n,this._diffProviderFactoryService=r,this._modelService=s,this._forceUpdateExplicitlySignal=observableSignal(this),this._selectedInlineCompletionId=observableValue(this,void 0),this._isActive=observableValue(this,!1),this._originalModel=derivedDisposable(()=>this._modelService.createModel("",null,InlineEditsModel_1._createUniqueUri())).keepObserved(this._store),this._modifiedModel=derivedDisposable(()=>this._modelService.createModel("",null,InlineEditsModel_1._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new TrackedRange(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(e=>!!e),this.userPrompt=observableValue(this,void 0),this.inlineEdit=derived(this,e=>this._inlineEdit.read(e)?.promiseResult.read(e)?.data),this._inlineEdit=derived(this,e=>{const t=this.selectedInlineEdit.read(e);if(!t)return;const i=t.inlineCompletion.range;if(""===t.inlineCompletion.insertText.trim())return;let o=t.inlineCompletion.insertText.split(/\r\n|\r|\n/);function n(e){const t=e[0].match(/^\s*/)?.[0]??"";return e.map(e=>e.replace(new RegExp("^"+t),""))}o=n(o);let r=this.textModel.getValueInRange(i).split(/\r\n|\r|\n/);r=n(r),this._originalModel.get().setValue(r.join("\n")),this._modifiedModel.get().setValue(o.join("\n"));const s=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ObservablePromise.fromFn(async()=>{const e=await s.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},CancellationToken.None);if(!e.identical)return new InlineEdit(LineRange$1.fromRangeInclusive(i),n(o),e.changes)})}),this._fetchStore=this._register(new DisposableStore),this._inlineEditsFetchResult=disposableObservableValue(this,void 0),this._inlineEdits=derivedOpts({owner:this,equalsFn:structuralEquals},e=>this._inlineEditsFetchResult.read(e)?.completions.map(e=>new InlineEditData(e))??[]),this._fetchInlineEditsPromise=derivedHandleChanges({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:InlineCompletionTriggerKind$1.Automatic}),handleChange:(e,t)=>(e.didChange(this._forceUpdateExplicitlySignal)&&(t.inlineCompletionTriggerKind=InlineCompletionTriggerKind$1.Explicit),!0)},async(e,t)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(e),this._textModelVersionId.read(e);const i=this._pinnedRange.range.read(e)??function(e,t){return t(e)}(this._selection.read(e),e=>e.isEmpty()?void 0:e);if(!i)return this._inlineEditsFetchResult.set(void 0,void 0),void this.userPrompt.set(void 0,void 0);const o={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(e)},n=cancelOnDispose(this._fetchStore);await timeout(200,n);const r=await provideInlineCompletions(this.languageFeaturesService.inlineCompletionsProvider,i,this.textModel,o,n);n.isCancellationRequested||this._inlineEditsFetchResult.set(r,void 0)}),this._filteredInlineEditItems=derivedOpts({owner:this,equalsFn:itemsEquals()},e=>this._inlineEdits.read(e)),this.selectedInlineCompletionIndex=derived(this,e=>{const t=this._selectedInlineCompletionId.read(e),i=this._filteredInlineEditItems.read(e),o=void 0===this._selectedInlineCompletionId?-1:i.findIndex(e=>e.semanticId===t);return-1===o?(this._selectedInlineCompletionId.set(void 0,void 0),0):o}),this.selectedInlineEdit=derived(this,e=>this._filteredInlineEditItems.read(e)[this.selectedInlineCompletionIndex.read(e)]),this._register(recomputeInitiallyAndOnChange(this._fetchInlineEditsPromise))}async triggerExplicitly(e){subtransaction(e,e=>{this._isActive.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)}),await this._fetchInlineEditsPromise.get()}stop(e){subtransaction(e,e=>{this.userPrompt.set(void 0,e),this._isActive.set(!1,e),this._inlineEditsFetchResult.set(void 0,e),this._pinnedRange.setRange(void 0,e)})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineEditItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].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(e){if(e.getModel()!==this.textModel)throw new BugIndicatingError;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}};InlineEditsModel=InlineEditsModel_1=__decorate$x([__param$t(4,ILanguageFeaturesService),__param$t(5,IDiffProviderFactoryService),__param$t(6,IModelService)],InlineEditsModel);class InlineEditData{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class TrackedRange extends Disposable{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=observableValue(this,[]),this.range=derived(this,e=>{this._versionId.read(e);const t=this._decorations.read(e)[0];return t?this._textModel.getDecorationRange(t)??null:null}),this._register(toDisposable(()=>{this._textModel.deltaDecorations(this._decorations.get(),[])}))}setRange(e,t){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),e?[{range:e,options:{description:"trackedRange"}}]:[]),t)}}var __decorate$w=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$s=function(e,t){return function(i,o){t(i,o,e)}},InlineEditsController_1;let InlineEditsController=class extends Disposable{static{InlineEditsController_1=this}static{this.ID="editor.contrib.inlineEditsController"}static get(e){return e.getContribution(InlineEditsController_1.ID)}constructor(e,t,i,o,n,r){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._debounceService=o,this._languageFeaturesService=n,this._configurationService=r,this._enabled=observableConfigValue("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=observableCodeEditor(this.editor),this._selection=derived(this,e=>this._editorObs.cursorSelection.read(e)??new Selection$1(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=derivedDisposable(this,e=>{if(!this._enabled.read(e))return;if(this._editorObs.isReadonly.read(e))return;const t=this._editorObs.model.read(e);if(!t)return;return this._instantiationService.createInstance(readHotReloadableExport(InlineEditsModel,e),t,this._editorObs.versionId,this._selection,this._debounceValue)}),this._hadInlineEdit=derivedObservableWithCache(this,(e,t)=>t||void 0!==this.model.read(e)?.inlineEdit.read(e)),this._widget=derivedDisposable(this,e=>{if(this._hadInlineEdit.read(e))return this._instantiationService.createInstance(readHotReloadableExport(InlineEditsWidget,e),this.editor,this.model.map((e,t)=>e?.inlineEdit.read(t)),flattenSettableObservable(e=>this.model.read(e)?.userPrompt??observableValue("empty","")))}),this._register(bindContextKey(inlineEditVisible,this._contextKeyService,e=>!!this.model.read(e)?.inlineEdit.read(e))),this._register(bindContextKey(isPinnedContextKey,this._contextKeyService,e=>!!this.model.read(e)?.isPinned.read(e))),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}};function flattenSettableObservable(e){return derivedWithSetter(void 0,t=>e(t).read(t),(t,i)=>{e(void 0).set(t,i)})}function labelAndAlias(e){return{label:e.value,alias:e.original}}InlineEditsController=InlineEditsController_1=__decorate$w([__param$s(1,IInstantiationService),__param$s(2,IContextKeyService),__param$s(3,ILanguageFeatureDebounceService),__param$s(4,ILanguageFeaturesService),__param$s(5,IConfigurationService)],InlineEditsController);class ShowNextInlineEditAction extends EditorAction{static{this.ID=showNextInlineEditActionId}constructor(){super({id:ShowNextInlineEditAction.ID,...labelAndAlias(localize2("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:ContextKeyExpr.and(EditorContextKeys.writable,inlineEditVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){const i=InlineEditsController.get(t);i?.model.get()?.next()}}class ShowPreviousInlineEditAction extends EditorAction{static{this.ID=showPreviousInlineEditActionId}constructor(){super({id:ShowPreviousInlineEditAction.ID,...labelAndAlias(localize2("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:ContextKeyExpr.and(EditorContextKeys.writable,inlineEditVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){const i=InlineEditsController.get(t);i?.model.get()?.previous()}}class TriggerInlineEditAction extends EditorAction{constructor(){super({id:"editor.action.inlineEdits.trigger",...labelAndAlias(localize2("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:EditorContextKeys.writable})}async run(e,t){const i=InlineEditsController.get(t);await asyncTransaction(async e=>{await(i?.model.get()?.triggerExplicitly(e))})}}class AcceptInlineEdit extends EditorAction{constructor(){super({id:inlineEditAcceptId,...labelAndAlias(localize2("action.inlineEdits.accept","Accept Inline Edit")),precondition:inlineEditVisible,menuOpts:{menuId:MenuId.InlineEditsActions,title:localize("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Codicon.check},kbOpts:{primary:2058,weight:2e4,kbExpr:inlineEditVisible}})}async run(e,t){t instanceof EmbeddedCodeEditorWidget&&(t=t.getParentEditor());const i=InlineEditsController.get(t);i&&(i.model.get()?.accept(i.editor),i.editor.focus())}}class HideInlineEdit extends EditorAction{static{this.ID="editor.action.inlineEdits.hide"}constructor(){super({id:HideInlineEdit.ID,...labelAndAlias(localize2("action.inlineEdits.hide","Hide Inline Edit")),precondition:inlineEditVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=InlineEditsController.get(t);transaction(e=>{i?.model.get()?.stop(e)})}}registerEditorContribution(InlineEditsController.ID,InlineEditsController,3),registerEditorAction(TriggerInlineEditAction),registerEditorAction(ShowNextInlineEditAction),registerEditorAction(ShowPreviousInlineEditAction),registerEditorAction(AcceptInlineEdit),registerEditorAction(HideInlineEdit);const Context={Visible:new RawContextKey("parameterHintsVisible",!1),MultipleSignatures:new RawContextKey("parameterHintsMultipleSignatures",!1)};async function provideSignatureHelp(e,t,i,o,n){const r=e.ordered(t);for(const a of r)try{const e=await a.provideSignatureHelp(t,i,n,o);if(e)return e}catch(s){onUnexpectedExternalError(s)}}var ParameterHintState;CommandsRegistry.registerCommand("_executeSignatureHelpProvider",async(e,...t)=>{const[i,o,n]=t;assertType(URI.isUri(i)),assertType(Position$1.isIPosition(o)),assertType("string"==typeof n||!n);const r=e.get(ILanguageFeaturesService),s=await e.get(ITextModelService).createModelReference(i);try{const e=await provideSignatureHelp(r.signatureHelpProvider,s.object.textEditorModel,Position$1.lift(o),{triggerKind:SignatureHelpTriggerKind$1.Invoke,isRetrigger:!1,triggerCharacter:n},CancellationToken.None);if(!e)return;return setTimeout(()=>e.dispose(),0),e.value}finally{s.dispose()}}),function(e){e.Default={type:0};e.Pending=class{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}};e.Active=class{constructor(e){this.hints=e,this.type=1}}}(ParameterHintState||(ParameterHintState={}));class ParameterHintsModel extends Disposable{static{this.DEFAULT_DELAY=120}constructor(e,t,i=ParameterHintsModel.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Emitter$1),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=ParameterHintState.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new MutableDisposable),this.triggerChars=new CharacterSet,this.retriggerChars=new CharacterSet,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Delayer(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(e=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(e=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(e=>this.onCursorChange(e))),this._register(this.editor.onDidChangeModelContent(e=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(e=>this.onDidType(e))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){2===this._state.type&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=ParameterHintState.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const o=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(o),t).catch(onUnexpectedError)}next(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,o=this.editor.getOption(86).cycle;!(e<2||i)||o?this.updateActiveSignature(i&&o?0:t+1):this.cancel()}previous(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=0===t,o=this.editor.getOption(86).cycle;!(e<2||i)||o?this.updateActiveSignature(i&&o?e-1:t-1):this.cancel()}updateActiveSignature(e){1===this.state.type&&(this.state=new ParameterHintState.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=1===this.state.type||2===this.state.type,i=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const o=this._pendingTriggers.reduce(mergeTriggerContexts);this._pendingTriggers=[];const n={triggerKind:o.triggerKind,triggerCharacter:o.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const r=this.editor.getModel(),s=this.editor.getPosition();this.state=new ParameterHintState.Pending(createCancelablePromise(e=>provideSignatureHelp(this.providers,r,s,n,e)),i);try{const t=await this.state.request;return e!==this.triggerId?(t?.dispose(),!1):t&&t.value.signatures&&0!==t.value.signatures.length?(this.state=new ParameterHintState.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(t?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(error){return e===this.triggerId&&(this.state=ParameterHintState.Default),onUnexpectedError(error),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const e of t.signatureHelpTriggerCharacters||[])if(e.length){const t=e.charCodeAt(0);this.triggerChars.add(t),this.retriggerChars.add(t)}for(const e of t.signatureHelpRetriggerCharacters||[])e.length&&this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:SignatureHelpTriggerKind$1.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){"mouse"===e.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:SignatureHelpTriggerKind$1.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:SignatureHelpTriggerKind$1.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function mergeTriggerContexts(e,t){switch(t.triggerKind){case SignatureHelpTriggerKind$1.Invoke:return t;case SignatureHelpTriggerKind$1.ContentChange:return e;case SignatureHelpTriggerKind$1.TriggerCharacter:default:return t}}var __decorate$v=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$r=function(e,t){return function(i,o){t(i,o,e)}},ParameterHintsWidget_1;const $$1=$$f,parameterHintsNextIcon=registerIcon("parameter-hints-next",Codicon.chevronDown,localize("parameterHintsNextIcon","Icon for show next parameter hint.")),parameterHintsPreviousIcon=registerIcon("parameter-hints-previous",Codicon.chevronUp,localize("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let ParameterHintsWidget=class extends Disposable{static{ParameterHintsWidget_1=this}static{this.ID="editor.widget.parameterHintsWidget"}constructor(e,t,i,o,n,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new DisposableStore),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new MarkdownRenderer({editor:e},n,o)),this.keyVisible=Context.Visible.bindTo(i),this.keyMultipleSignatures=Context.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=$$1(".editor-widget.parameter-hints-widget"),t=append$2(e,$$1(".phwrapper"));t.tabIndex=-1;const i=append$2(t,$$1(".controls")),o=append$2(i,$$1(".button"+ThemeIcon.asCSSSelector(parameterHintsPreviousIcon))),n=append$2(i,$$1(".overloads")),r=append$2(i,$$1(".button"+ThemeIcon.asCSSSelector(parameterHintsNextIcon)));this._register(addDisposableListener(o,"click",e=>{EventHelper$1.stop(e),this.previous()})),this._register(addDisposableListener(r,"click",e=>{EventHelper$1.stop(e),this.next()}));const s=$$1(".body"),a=new DomScrollableElement(s,{alwaysConsumeMouseWheel:!0});this._register(a),t.appendChild(a.getDomNode());const l=append$2(s,$$1(".signature")),c=append$2(s,$$1(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:l,overloads:n,docs:c,scrollbar:a},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(e=>{this.visible&&this.editor.layoutContentWidget(this)}));const d=()=>{if(!this.domNodes)return;const e=this.editor.getOption(50),t=this.domNodes.element;t.style.fontSize=`${e.fontSize}px`,t.style.lineHeight=""+e.lineHeight/e.fontSize,t.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",e.fontFamily),t.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",EDITOR_FONT_DEFAULTS.fontFamily)};d(),this._register(Event$1.chain(this.editor.onDidChangeConfiguration.bind(this.editor),e=>e.filter(e=>e.hasChanged(50)))(d)),this._register(this.editor.onDidLayoutChange(e=>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(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const o=append$2(this.domNodes.signature,$$1(".code")),n=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(n)this.renderParameters(o,i,r);else{append$2(o,$$1("span")).textContent=i.label}const s=i.parameters[r];if(s?.documentation){const e=$$1("span.documentation");if("string"==typeof s.documentation)e.textContent=s.documentation;else{const t=this.renderMarkdownDocs(s.documentation);e.appendChild(t.element)}append$2(this.domNodes.docs,$$1("p",{},e))}if(void 0===i.documentation);else if("string"==typeof i.documentation)append$2(this.domNodes.docs,$$1("p",{},i.documentation));else{const e=this.renderMarkdownDocs(i.documentation);append$2(this.domNodes.docs,e.element)}const a=this.hasDocs(i,s);if(this.domNodes.signature.classList.toggle("has-docs",a),this.domNodes.docs.classList.toggle("empty",!a),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,s){let e="";const t=i.parameters[r];e=Array.isArray(t.label)?i.label.substring(t.label[0],t.label[1]):t.label,t.documentation&&(e+="string"==typeof t.documentation?`, ${t.documentation}`:`, ${t.documentation.value}`),i.documentation&&(e+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==e&&(alert(localize("hint","{0}, hint",e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new StopWatch,i=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));i.element.classList.add("markdown-docs");const o=t.elapsed();return o>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:o}),i}hasDocs(e,t){return!!(t&&"string"==typeof t.documentation&&assertIsDefined(t.documentation).length>0)||(!!(t&&"object"==typeof t.documentation&&assertIsDefined(t.documentation).value.length>0)||(!!(e.documentation&&"string"==typeof e.documentation&&assertIsDefined(e.documentation).length>0)||!!(e.documentation&&"object"==typeof e.documentation&&assertIsDefined(e.documentation.value).length>0)))}renderParameters(e,t,i){const[o,n]=this.getParameterLabelOffsets(t,i),r=document.createElement("span");r.textContent=t.label.substring(0,o);const s=document.createElement("span");s.textContent=t.label.substring(o,n),s.className="parameter active";const a=document.createElement("span");a.textContent=t.label.substring(n),append$2(e,r,s,a)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const t=new RegExp(`(\\W|^)${escapeRegExpCharacters(i.label)}(?=\\W|$)`,"g");t.test(e.label);const o=t.lastIndex-i.label.length;return o>=0?[o,t.lastIndex]:[0,0]}return[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return ParameterHintsWidget_1.ID}updateMaxHeight(){if(!this.domNodes)return;const e=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=e;const t=this.domNodes.element.getElementsByClassName("phwrapper");t.length&&(t[0].style.maxHeight=e)}};ParameterHintsWidget=ParameterHintsWidget_1=__decorate$v([__param$r(2,IContextKeyService),__param$r(3,IOpenerService),__param$r(4,ILanguageService),__param$r(5,ITelemetryService)],ParameterHintsWidget),registerColor("editorHoverWidget.highlightForeground",listHighlightForeground,localize("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var __decorate$u=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$q=function(e,t){return function(i,o){t(i,o,e)}},ParameterHintsController_1;let ParameterHintsController=class extends Disposable{static{ParameterHintsController_1=this}static{this.ID="editor.controller.parameterHints"}static get(e){return e.getContribution(ParameterHintsController_1.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new ParameterHintsModel(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(e=>{e?(this.widget.value.show(),this.widget.value.render(e)):this.widget.rawValue?.hide()})),this.widget=new Lazy(()=>this._register(t.createInstance(ParameterHintsWidget,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(e){this.model.trigger(e,0)}};ParameterHintsController=ParameterHintsController_1=__decorate$u([__param$q(1,IInstantiationService),__param$q(2,ILanguageFeaturesService)],ParameterHintsController);class TriggerParameterHintsAction extends EditorAction{constructor(){super({id:"editor.action.triggerParameterHints",label:localize("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:EditorContextKeys.hasSignatureHelpProvider,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=ParameterHintsController.get(t);i?.trigger({triggerKind:SignatureHelpTriggerKind$1.Invoke})}}registerEditorContribution(ParameterHintsController.ID,ParameterHintsController,2),registerEditorAction(TriggerParameterHintsAction);const weight$1=175,ParameterHintsCommand=EditorCommand.bindToContribution(ParameterHintsController.get);registerEditorCommand(new ParameterHintsCommand({id:"closeParameterHints",precondition:Context.Visible,handler:e=>e.cancel(),kbOpts:{weight:weight$1,kbExpr:EditorContextKeys.focus,primary:9,secondary:[1033]}})),registerEditorCommand(new ParameterHintsCommand({id:"showPrevParameterHint",precondition:ContextKeyExpr.and(Context.Visible,Context.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:weight$1,kbExpr:EditorContextKeys.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),registerEditorCommand(new ParameterHintsCommand({id:"showNextParameterHint",precondition:ContextKeyExpr.and(Context.Visible,Context.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:weight$1,kbExpr:EditorContextKeys.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var __decorate$t=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$p=function(e,t){return function(i,o){t(i,o,e)}};class BaseClass{constructor(e){this.instantiationService=e}init(...e){}}function createWrapper$1(e,t){return class extends t{constructor(){super(...arguments),this._autorun=void 0}init(...t){this._autorun=autorunWithStore((i,o)=>{const n=readHotReloadableExport(e(),i);o.add(this.instantiationService.createInstance(n,...t))})}dispose(){this._autorun?.dispose()}}}function wrapInReloadableClass1(e){return isHotReloadEnabled()?createWrapper$1(e,BaseClass1):e()}let BaseClass1=class extends BaseClass{constructor(e,t){super(t),this.init(e)}};BaseClass1=__decorate$t([__param$p(1,IInstantiationService)],BaseClass1),registerEditorContribution(PlaceholderTextContribution.ID,wrapInReloadableClass1(()=>PlaceholderTextContribution),0),registerColor("editor.placeholder.foreground",ghostTextForeground,localize("placeholderForeground","Foreground color of the placeholder text in the editor."));var __decorate$s=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$o=function(e,t){return function(i,o){t(i,o,e)}};const CONTEXT_RENAME_INPUT_VISIBLE=new RawContextKey("renameInputVisible",!1,localize("renameInputVisible","Whether the rename input widget is visible"));new RawContextKey("renameInputFocused",!1,localize("renameInputFocused","Whether the rename input widget is focused"));let RenameWidget=class{constructor(e,t,i,o,n,r){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=o,this._logService=r,this.allowEditorOverflow=!0,this._disposables=new DisposableStore,this._visibleContextKey=CONTEXT_RENAME_INPUT_VISIBLE.bindTo(n),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new StopWatch,this._inputWithButton=new InputWithButton,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.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 RenameCandidateListView(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{void 0!==this._renameCandidateListView?.focusedCandidate&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),!1===this._renameCandidateProvidersCts?.token.isCancellationRequested&&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(e){if(!this._domNode)return;const t=e.getColor(widgetShadow),i=e.getColor(widgetBorder);this._domNode.style.backgroundColor=String(e.getColor(editorWidgetBackground)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(inputForeground)??"");const o=e.getColor(inputBorder);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(inputBackground)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(inputBackground)??""),this._inputWithButton.domNode.style.borderWidth=o?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=o?"solid":"none",this._inputWithButton.domNode.style.borderColor=o?.toString()??"none"}_updateFont(){if(void 0===this._domNode)return;assertType(void 0!==this._label,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return.8*e}getPosition(){if(!this._visible)return null;if(!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=getClientArea(this.getDomNode().ownerDocument.body),t=getDomNodePagePosition(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const o=this._editor.getOption(67),{totalHeight:n}=RenameCandidateView.getLayoutInfo({lineHeight:o}),r=this._nPxAvailableBelow>6*n?[2,1]:[1,2];return{position:this._position,preference:r}}beforeRender(){const[e,t]=this._acceptKeybindings;return this._label.innerText=localize({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",this._keybindingService.lookupKeybinding(e)?.getLabel(),this._keybindingService.lookupKeybinding(t)?.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(null===e)return void this.cancelInput(!0,"afterRender (because position is null)");if(!this._editor.hasModel()||!this._editor.getDomNode())return;assertType(this._renameCandidateListView),assertType(void 0!==this._nPxAvailableAbove),assertType(void 0!==this._nPxAvailableBelow);const t=getTotalHeight(this._inputWithButton.domNode),i=getTotalHeight(this._label);let o;o=2===e?this._nPxAvailableBelow:this._nPxAvailableAbove,this._renameCandidateListView.layout({height:o-i-t,width:getTotalWidth(this._inputWithButton.domNode)})}acceptInput(e){this._trace("invoking acceptInput"),this._currentAcceptInput?.(e)}cancelInput(e,t){this._currentCancelInput?.(e)}focusNextRenameSuggestion(){this._renameCandidateListView?.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){this._renameCandidateListView?.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,o,n){const{start:r,end:s}=this._getSelection(e,t);this._renameCts=n;const a=new DisposableStore;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,void 0===o?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=o,this._requestRenameCandidates(t,!1),a.add(addDisposableListener(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),a.add(addDisposableListener(this._inputWithButton.button,EventType$1.KEY_DOWN,e=>{const i=new StandardKeyboardEvent(e);(i.equals(3)||i.equals(10))&&(i.stopPropagation(),i.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Position$1(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",r.toString()),this._inputWithButton.input.setAttribute("selectionEnd",s.toString()),this._inputWithButton.input.size=Math.max(1.1*(e.endColumn-e.startColumn),20),this._beforeFirstInputFieldEditSW.reset(),a.add(toDisposable(()=>{this._renameCts=void 0,n.dispose(!0)})),a.add(toDisposable(()=>{void 0!==this._renameCandidateProvidersCts&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),a.add(toDisposable(()=>this._candidates.clear()));const l=new DeferredPromise;return l.p.finally(()=>{a.dispose(),this._hide()}),this._currentCancelInput=e=>(this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),l.complete(e),!0),this._currentAcceptInput=e=>{this._trace("invoking _currentAcceptInput"),assertType(void 0!==this._renameCandidateListView);const o=this._renameCandidateListView.nCandidates;let n,r;const s=this._renameCandidateListView.focusedCandidate;void 0!==s?(this._trace("using new name from renameSuggestion"),n=s,r={k:"renameSuggestion"}):(this._trace("using new name from inputField"),n=this._inputWithButton.input.value,r=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),n!==t&&0!==n.trim().length?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),l.complete({newName:n,wantsPreview:i&&e,stats:{source:r,nRenameSuggestions:o,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})):this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)")},a.add(n.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),a.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),"editor.onDidBlurEditorWidget"))),this._show(),l.p}_requestRenameCandidates(e,t){if(void 0!==this._requestRenameCandidatesOnce&&(void 0!==this._renameCandidateProvidersCts&&this._renameCandidateProvidersCts.dispose(!0),assertType(this._renameCts),"stop"!==this._inputWithButton.buttonState)){this._renameCandidateProvidersCts=new CancellationTokenSource$1;const i=t?NewSymbolNameTriggerKind$1.Invoke:NewSymbolNameTriggerKind$1.Automatic,o=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(0===o.length)return void this._inputWithButton.setSparkleButton();t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(o,e,this._renameCts.token)}}_getSelection(e,t){assertType(this._editor.hasModel());const i=this._editor.getSelection();let o=0,n=t.length;return Range$2.isEmpty(i)||Range$2.spansMultipleLines(i)||!Range$2.containsRange(e,i)||(o=Math.max(0,i.startColumn-e.startColumn),n=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:o,end:n}}_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(e,t,i){const o=(...e)=>this._trace("_updateRenameCandidates",...e);o("start");const n=await raceCancellation(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),void 0===n)return void o("returning early - received updateRenameCandidates results - undefined");const r=n.flatMap(e=>"fulfilled"===e.status&&isDefined(e.value)?e.value:[]);o(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const s=distinct(r,e=>e.newSymbolName);o(`distinct candidates - ${s.length} candidates.`);const a=s.filter(({newSymbolName:e})=>e.trim().length>0&&e!==this._inputWithButton.input.value&&e!==t&&!this._candidates.has(e));o(`valid distinct candidates - ${r.length} candidates.`),a.forEach(e=>this._candidates.add(e.newSymbolName)),a.length<1?o("returning early - no valid distinct candidates"):(o("setting candidates"),this._renameCandidateListView.setCandidates(a),o("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 e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};RenameWidget=__decorate$s([__param$o(2,IThemeService),__param$o(3,IKeybindingService),__param$o(4,IContextKeyService),__param$o(5,ILogService)],RenameWidget);class RenameCandidateListView{constructor(e,t){this._disposables=new DisposableStore,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=RenameCandidateListView._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(e=>{1===e.elements.length&&t.onFocusChange(e.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(e=>{1===e.elements.length&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(e=>{this._listWidget.setFocus([])})),this._listWidget.style(getListStyles({listInactiveFocusForeground:quickInputListFocusForeground,listInactiveFocusBackground:quickInputListFocusBackground}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(this._listWidget.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,status(localize("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.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(0===this._listWidget.length)return;const e=this._listWidget.getSelectedElements()[0];if(void 0!==e)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];return void 0!==t?t.newSymbolName:void 0}focusNext(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();if(0===e.length)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}focusPrevious(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();if(0===e.length){this._listWidget.focusLast();const e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}if(0===e[0])return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=RenameCandidateView.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,7*this._candidateViewHeight)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(e=>e.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const o=new class{getTemplateId(e){return"candidate"}getHeight(e){return t}},n=new class{constructor(){this.templateId="candidate"}renderTemplate(e){return new RenameCandidateView(e,i)}renderElement(e,t,i){i.populate(e)}disposeTemplate(e){e.dispose()}};return new List("NewSymbolNameCandidates",e,o,[n],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class InputWithButton{constructor(){this._onDidInputChange=new Emitter$1,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new 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",localize("renameAriaLabel","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=localize("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=localize("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(addDisposableListener(this.input,EventType$1.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(addDisposableListener(this.input,EventType$1.KEY_DOWN,e=>{const t=new StandardKeyboardEvent(e);15!==t.keyCode&&17!==t.keyCode||this._onDidInputChange.fire()})),this._disposables.add(addDisposableListener(this.input,EventType$1.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(addDisposableListener(this.input,EventType$1.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(addDisposableListener(this.input,EventType$1.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return assertType(this._inputNode),this._inputNode}get button(){return assertType(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState="sparkle",this._sparkleIcon??=renderIcon(Codicon.sparkle),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??=renderIcon(Codicon.primitiveSquare),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 RenameCandidateView{static{this._PADDING=2}constructor(e,t){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=`${t.lineHeight}px`,this._domNode.style.padding=`${RenameCandidateView._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=.8*t.lineHeight+"px",this._domNode.appendChild(i),this._icon=renderIcon(Codicon.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),applyFontInfo(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){const t=!!e.tags?.includes(NewSymbolNameTag$1.AIGenerated);this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+2*RenameCandidateView._PADDING}}dispose(){}}var __decorate$r=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$n=function(e,t){return function(i,o){t(i,o,e)}},RenameController_1;class RenameSkeleton{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join("\n"):void 0}:{range:Range$2.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join("\n"):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,o){const n=this._providers[t];if(!n)return{edits:[],rejectReason:i.join("\n")};const r=await n.provideRenameEdits(this.model,this.position,e,o);return r?r.rejectReason?this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),o):r:this._provideRenameEdits(e,t+1,i.concat(localize("no result","No result.")),o)}}async function rename(e,t,i,o){const n=new RenameSkeleton(t,i,e),r=await n.resolveRenameLocation(CancellationToken.None);return r?.rejectReason?{edits:[],rejectReason:r.rejectReason}:n.provideRenameEdits(o,CancellationToken.None)}let RenameController=class{static{RenameController_1=this}static{this.ID="editor.contrib.renameController"}static get(e){return e.getContribution(RenameController_1.ID)}constructor(e,t,i,o,n,r,s,a,l){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=o,this._progressService=n,this._logService=r,this._configService=s,this._languageFeaturesService=a,this._telemetryService=l,this._disposableStore=new DisposableStore,this._cts=new CancellationTokenSource$1,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(RenameWidget,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){const t=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new CancellationTokenSource$1,!this.editor.hasModel())return void t("editor has no model");const i=this.editor.getPosition(),o=new RenameSkeleton(this.editor.getModel(),i,this._languageFeaturesService.renameProvider);if(!o.hasProvider())return void t("skeleton has no provider");const n=new EditorStateCancellationTokenSource(this.editor,5,void 0,this._cts.token);let r;try{t("resolving rename location");const e=o.resolveRenameLocation(n.token);this._progressService.showWhile(e,250),r=await e,t("resolved rename location")}catch(e){return void(e instanceof CancellationError?t("resolve rename location cancelled",JSON.stringify(e,null,"\t")):(t("resolve rename location failed",e instanceof Error?e:JSON.stringify(e,null,"\t")),("string"==typeof e||isMarkdownString(e))&&MessageController.get(this.editor)?.showMessage(e||localize("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),i)))}finally{n.dispose()}if(!r)return void t("returning early - no loc");if(r.rejectReason)return t(`returning early - rejected with reason: ${r.rejectReason}`,r.rejectReason),void MessageController.get(this.editor)?.showMessage(r.rejectReason,i);if(n.token.isCancellationRequested)return void t("returning early - cts1 cancelled");const s=new EditorStateCancellationTokenSource(this.editor,5,r.range,this._cts.token),a=this.editor.getModel(),l=this._languageFeaturesService.newSymbolNamesProvider.all(a),c=await Promise.all(l.map(async e=>[e,await e.supportsAutomaticNewSymbolNamesTriggerKind??!1]));t("creating rename input field and awaiting its result");const d=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),u=await this._renameWidget.getInput(r.range,r.text,d,l.length>0?(e,t)=>{let i=c.slice();return e===NewSymbolNameTriggerKind$1.Automatic&&(i=i.filter(([e,t])=>t)),i.map(([i])=>i.provideNewSymbolNames(a,r.range,e,t))}:void 0,s);if(t("received response from rename input field"),l.length>0&&this._reportTelemetry(l.length,a.getLanguageId(),u),"boolean"==typeof u)return t(`returning early - rename input field response - ${u}`),u&&this.editor.focus(),void s.dispose();this.editor.focus(),t("requesting rename edits");const h=raceCancellation(o.provideRenameEdits(u.newName,s.token),s.token).then(async e=>{if(e)if(this.editor.hasModel()){if(e.rejectReason)return t(`returning early - rejected with reason: ${e.rejectReason}`),void this._notificationService.info(e.rejectReason);this.editor.setSelection(Range$2.fromPositions(this.editor.getSelection().getPosition())),t("applying edits"),this._bulkEditService.apply(e,{editor:this.editor,showPreview:u.wantsPreview,label:localize("label","Renaming '{0}' to '{1}'",r?.text,u.newName),code:"undoredo.rename",quotableLabel:localize("quotableLabel","Renaming {0} to {1}",r?.text,u.newName),respectAutoSaveConfig:!0}).then(e=>{t("edits applied"),e.ariaSummary&&alert(localize("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",r.text,u.newName,e.ariaSummary))}).catch(e=>{t(`error when applying edits ${JSON.stringify(e,null,"\t")}`),this._notificationService.error(localize("rename.failedApply","Rename failed to apply edits")),this._logService.error(e)})}else t("returning early - no model after rename edits are provided");else t("returning early - no rename edits result")},e=>{t("error when providing rename edits",JSON.stringify(e,null,"\t")),this._notificationService.error(localize("rename.failed","Rename failed to compute edits")),this._logService.error(e)}).finally(()=>{s.dispose()});return t("returning rename operation"),this._progressService.showWhile(h,250),h}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const o="boolean"==typeof i?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",o)}};RenameController=RenameController_1=__decorate$r([__param$n(1,IInstantiationService),__param$n(2,INotificationService),__param$n(3,IBulkEditService),__param$n(4,IEditorProgressService),__param$n(5,ILogService),__param$n(6,ITextResourceConfigurationService),__param$n(7,ILanguageFeaturesService),__param$n(8,ITelemetryService)],RenameController);class RenameAction extends EditorAction{constructor(){super({id:"editor.action.rename",label:localize("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(ICodeEditorService),[o,n]=Array.isArray(t)&&t||[void 0,void 0];return URI.isUri(o)&&Position$1.isIPosition(n)?i.openCodeEditor({resource:o},i.getActiveCodeEditor()).then(e=>{e&&(e.setPosition(n),e.invokeWithinContext(t=>(this.reportTelemetry(t,e),this.run(t,e))))},onUnexpectedError):super.runCommand(e,t)}run(e,t){const i=e.get(ILogService),o=RenameController.get(t);return o?(i.trace("[RenameAction] got controller, running..."),o.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}registerEditorContribution(RenameController.ID,RenameController,4),registerEditorAction(RenameAction);const RenameCommand=EditorCommand.bindToContribution(RenameController.get);registerEditorCommand(new RenameCommand({id:"acceptRenameInput",precondition:CONTEXT_RENAME_INPUT_VISIBLE,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,ContextKeyExpr.not("isComposing")),primary:3}})),registerEditorCommand(new RenameCommand({id:"acceptRenameInputWithPreview",precondition:ContextKeyExpr.and(CONTEXT_RENAME_INPUT_VISIBLE,ContextKeyExpr.has("config.editor.rename.enablePreview")),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,ContextKeyExpr.not("isComposing")),primary:2051}})),registerEditorCommand(new RenameCommand({id:"cancelRenameInput",precondition:CONTEXT_RENAME_INPUT_VISIBLE,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:EditorContextKeys.focus,primary:9,secondary:[1033]}})),registerAction2(class extends Action2{constructor(){super({id:"focusNextRenameSuggestion",title:{...localize2("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:CONTEXT_RENAME_INPUT_VISIBLE,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(ICodeEditorService).getFocusedCodeEditor();if(!t)return;const i=RenameController.get(t);i&&i.focusNextRenameSuggestion()}}),registerAction2(class extends Action2{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...localize2("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:CONTEXT_RENAME_INPUT_VISIBLE,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(ICodeEditorService).getFocusedCodeEditor();if(!t)return;const i=RenameController.get(t);i&&i.focusPreviousRenameSuggestion()}}),registerModelAndPositionCommand("_executeDocumentRenameProvider",function(e,t,i,...o){const[n]=o;assertType("string"==typeof n);const{renameProvider:r}=e.get(ILanguageFeaturesService);return rename(r,t,i,n)}),registerModelAndPositionCommand("_executePrepareRename",async function(e,t,i){const{renameProvider:o}=e.get(ILanguageFeaturesService),n=new RenameSkeleton(t,i,o),r=await n.resolveRenameLocation(CancellationToken.None);if(r?.rejectReason)throw new Error(r.rejectReason);return r}),Registry.as(Extensions$6.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:localize("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var __decorate$q=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$m=function(e,t){return function(i,o){t(i,o,e)}};let SectionHeaderDetector=class extends Disposable{static{this.ID="editor.sectionHeaderDetector"}constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(t=>{const i=this.editor.getModel()?.getLanguageId();i&&t.affects(i)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(t=>{this.options&&!t.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(e=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(e=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new RunOnceScheduler(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,o=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;return i||o?.markers?{foldingRules:o,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}:void 0}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(i=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(i)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(e=>{if(!e.shouldBeInComments)return!0;const i=t.validateRange(e.range),o=t.tokenization.getLineTokens(i.startLineNumber),n=o.findTokenIndexAtOffset(i.startColumn-1),r=o.getStandardTokenType(n);return o.getLanguageId(n)===t.getLanguageId()&&1===r}));const i=Object.values(this.currentOccurrences).map(e=>e.decorationId),o=e.map(e=>decoration(e));this.editor.changeDecorations(t=>{const n=t.deltaDecorations(i,o);this.currentOccurrences={};for(let i=0,o=n.length;i0?i[0]:[]}async function getDocumentSemanticTokens(e,t,i,o,n){const r=getDocumentSemanticTokensProviders(e,t),s=await Promise.all(r.map(async e=>{let r,s=null;try{r=await e.provideDocumentSemanticTokens(t,e===i?o:null,n)}catch(a){s=a,r=null}return r&&(isSemanticTokens(r)||isSemanticTokensEdits(r))||(r=null),new DocumentSemanticTokensResult(e,r,s)}));for(const a of s){if(a.error)throw a.error;if(a.tokens)return a}return s.length>0?s[0]:null}function _getDocumentSemanticTokensProviderHighestGroup(e,t){const i=e.orderedGroups(t);return i.length>0?i[0]:null}class DocumentRangeSemanticTokensResult{constructor(e,t){this.provider=e,this.tokens=t}}function hasDocumentRangeSemanticTokensProvider(e,t){return e.has(t)}function getDocumentRangeSemanticTokensProviders(e,t){const i=e.orderedGroups(t);return i.length>0?i[0]:[]}async function getDocumentRangeSemanticTokens(e,t,i,o){const n=getDocumentRangeSemanticTokensProviders(e,t),r=await Promise.all(n.map(async e=>{let n;try{n=await e.provideDocumentRangeSemanticTokens(t,i,o)}catch(r){onUnexpectedExternalError(r),n=null}return n&&isSemanticTokens(n)||(n=null),new DocumentRangeSemanticTokensResult(e,n)}));for(const s of r)if(s.tokens)return s;return r.length>0?r[0]:null}CommandsRegistry.registerCommand("_provideDocumentSemanticTokensLegend",async(e,...t)=>{const[i]=t;assertType(i instanceof URI);const o=e.get(IModelService).getModel(i);if(!o)return;const{documentSemanticTokensProvider:n}=e.get(ILanguageFeaturesService),r=_getDocumentSemanticTokensProviderHighestGroup(n,o);return r?r[0].getLegend():e.get(ICommandService).executeCommand("_provideDocumentRangeSemanticTokensLegend",i)}),CommandsRegistry.registerCommand("_provideDocumentSemanticTokens",async(e,...t)=>{const[i]=t;assertType(i instanceof URI);const o=e.get(IModelService).getModel(i);if(!o)return;const{documentSemanticTokensProvider:n}=e.get(ILanguageFeaturesService);if(!hasDocumentSemanticTokensProvider(n,o))return e.get(ICommandService).executeCommand("_provideDocumentRangeSemanticTokens",i,o.getFullModelRange());const r=await getDocumentSemanticTokens(n,o,null,null,CancellationToken.None);if(!r)return;const{provider:s,tokens:a}=r;if(!a||!isSemanticTokens(a))return;const l=encodeSemanticTokensDto({id:0,type:"full",data:a.data});return a.resultId&&s.releaseDocumentSemanticTokens(a.resultId),l}),CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(e,...t)=>{const[i,o]=t;assertType(i instanceof URI);const n=e.get(IModelService).getModel(i);if(!n)return;const{documentRangeSemanticTokensProvider:r}=e.get(ILanguageFeaturesService),s=getDocumentRangeSemanticTokensProviders(r,n);if(0===s.length)return;if(1===s.length)return s[0].getLegend();if(!o||!Range$2.isIRange(o))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),s[0].getLegend();const a=await getDocumentRangeSemanticTokens(r,n,Range$2.lift(o),CancellationToken.None);return a?a.provider.getLegend():void 0}),CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokens",async(e,...t)=>{const[i,o]=t;assertType(i instanceof URI),assertType(Range$2.isIRange(o));const n=e.get(IModelService).getModel(i);if(!n)return;const{documentRangeSemanticTokensProvider:r}=e.get(ILanguageFeaturesService),s=await getDocumentRangeSemanticTokens(r,n,Range$2.lift(o),CancellationToken.None);return s&&s.tokens?encodeSemanticTokensDto({id:0,type:"full",data:s.tokens.data}):void 0});const SEMANTIC_HIGHLIGHTING_SETTING_ID="editor.semanticHighlighting";function isSemanticColoringEnabled(e,t,i){const o=i.getValue(SEMANTIC_HIGHLIGHTING_SETTING_ID,{overrideIdentifier:e.getLanguageId(),resource:e.uri})?.enabled;return"boolean"==typeof o?o:t.getColorTheme().semanticHighlighting}var __decorate$p=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$l=function(e,t){return function(i,o){t(i,o,e)}},ModelSemanticColoring_1;let DocumentSemanticTokensFeature=class extends Disposable{constructor(e,t,i,o,n,r){super(),this._watchers=Object.create(null);const s=t=>{this._watchers[t.uri.toString()]=new ModelSemanticColoring(t,e,i,n,r)},a=(e,t)=>{t.dispose(),delete this._watchers[e.uri.toString()]},l=()=>{for(const e of t.getModels()){const t=this._watchers[e.uri.toString()];isSemanticColoringEnabled(e,i,o)?t||s(e):t&&a(e,t)}};t.getModels().forEach(e=>{isSemanticColoringEnabled(e,i,o)&&s(e)}),this._register(t.onModelAdded(e=>{isSemanticColoringEnabled(e,i,o)&&s(e)})),this._register(t.onModelRemoved(e=>{const t=this._watchers[e.uri.toString()];t&&a(e,t)})),this._register(o.onDidChangeConfiguration(e=>{e.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)&&l()})),this._register(i.onDidColorThemeChange(l))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};DocumentSemanticTokensFeature=__decorate$p([__param$l(0,ISemanticTokensStylingService),__param$l(1,IModelService),__param$l(2,IThemeService),__param$l(3,IConfigurationService),__param$l(4,ILanguageFeatureDebounceService),__param$l(5,ILanguageFeaturesService)],DocumentSemanticTokensFeature);let ModelSemanticColoring=class extends Disposable{static{ModelSemanticColoring_1=this}static{this.REQUEST_MIN_DELAY=300}static{this.REQUEST_MAX_DELAY=2e3}constructor(e,t,i,o,n){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=n.documentSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentSemanticTokens",{min:ModelSemanticColoring_1.REQUEST_MIN_DELAY,max:ModelSemanticColoring_1.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new RunOnceScheduler(()=>this._fetchDocumentSemanticTokensNow(),ModelSemanticColoring_1.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 r=()=>{dispose(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const t of this._provider.all(e))"function"==typeof t.onDidChange&&this._documentProvidersChangeListeners.push(t.onDidChange(()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)}))};r(),this._register(this._provider.onDidChange(()=>{r(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(e=>{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),dispose(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!hasDocumentSemanticTokensProvider(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const e=new CancellationTokenSource$1,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,o=getDocumentSemanticTokens(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const n=[],r=this._model.onDidChangeContent(e=>{n.push(e)}),s=new StopWatch(!1);o.then(e=>{if(this._debounceInformation.update(this._model,s.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),e){const{provider:t,tokens:i}=e,o=this._semanticTokensStylingService.getStyling(t);this._setDocumentSemanticTokens(t,i||null,o,n)}else this._setDocumentSemanticTokens(null,null,null,n)},e=>{e&&(isCancellationError(e)||"string"==typeof e.message&&-1!==e.message.indexOf("busy"))||onUnexpectedError(e),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(n.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,o,n){n=Math.min(n,i.length-o,e.length-t);for(let r=0;r{(o.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)e&&t&&e.releaseDocumentSemanticTokens(t.resultId);else if(e&&i){if(!t)return this._model.tokenization.setSemanticTokens(null,!0),void r();if(isSemanticTokensEdits(t)){if(!n)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===t.edits.length)t={resultId:t.resultId,data:n.data};else{let e=0;for(const i of t.edits)e+=(i.data?i.data.length:0)-i.deleteCount;const o=n.data,r=new Uint32Array(o.length+e);let s=o.length,a=r.length;for(let l=t.edits.length-1;l>=0;l--){const e=t.edits[l];if(e.start>o.length)return i.warnInvalidEditStart(n.resultId,t.resultId,l,e.start,o.length),void this._model.tokenization.setSemanticTokens(null,!0);const c=s-(e.start+e.deleteCount);c>0&&(ModelSemanticColoring_1._copy(o,s-c,r,a-c,c),a-=c),e.data&&(ModelSemanticColoring_1._copy(e.data,0,r,a-e.data.length,e.data.length),a-=e.data.length),s=e.start}s>0&&ModelSemanticColoring_1._copy(o,0,r,0,s),t={resultId:t.resultId,data:r}}}if(isSemanticTokens(t)){this._currentDocumentResponse=new SemanticTokensResponse(e,t.resultId,t.data);const n=toMultilineTokens2(t,i,this._model.getLanguageId());if(o.length>0)for(const e of o)for(const t of n)for(const i of e.changes)t.applyEdit(i.range,i.text);this._model.tokenization.setSemanticTokens(n,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}else this._model.tokenization.setSemanticTokens(null,!1)}};ModelSemanticColoring=ModelSemanticColoring_1=__decorate$p([__param$l(1,ISemanticTokensStylingService),__param$l(2,IThemeService),__param$l(3,ILanguageFeatureDebounceService),__param$l(4,ILanguageFeaturesService)],ModelSemanticColoring);class SemanticTokensResponse{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}registerEditorFeature(DocumentSemanticTokensFeature);var __decorate$o=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$k=function(e,t){return function(i,o){t(i,o,e)}};let ViewportSemanticTokensContribution=class extends Disposable{static{this.ID="editor.contrib.viewportSemanticTokens"}constructor(e,t,i,o,n,r){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=o,this._editor=e,this._provider=r.documentRangeSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new RunOnceScheduler(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const s=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{s()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),s()})),this._register(this._editor.onDidChangeModelContent(e=>{this._cancelAll(),s()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),s()})),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)&&(this._cancelAll(),s())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),s()})),s()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;tthis._requestRange(e,t)))}_requestRange(e,t){const i=e.getVersionId(),o=createCancelablePromise(i=>Promise.resolve(getDocumentRangeSemanticTokens(this._provider,e,t,i))),n=new StopWatch(!1);return o.then(o=>{if(this._debounceInformation.update(e,n.elapsed()),!o||!o.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:r,tokens:s}=o,a=this._semanticTokensStylingService.getStyling(r);e.tokenization.setPartialSemanticTokens(t,toMultilineTokens2(s,a,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(o),()=>this._removeOutstandingRequest(o)),o}};ViewportSemanticTokensContribution=__decorate$o([__param$k(1,ISemanticTokensStylingService),__param$k(2,IThemeService),__param$k(3,IConfigurationService),__param$k(4,ILanguageFeatureDebounceService),__param$k(5,ILanguageFeaturesService)],ViewportSemanticTokensContribution),registerEditorContribution(ViewportSemanticTokensContribution.ID,ViewportSemanticTokensContribution,1);class WordSelectionRangeProvider{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const o of t){const t=[];i.push(t),this.selectSubwords&&this._addInWordRanges(t,e,o),this._addWordRanges(t,e,o),this._addWhitespaceLine(t,e,o),t.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const o=t.getWordAtPosition(i);if(!o)return;const{word:n,startColumn:r}=o,s=i.column-r;let a=s,l=s,c=0;for(;a>=0;a--){const e=n.charCodeAt(a);if(a!==s&&(95===e||45===e))break;if(isLowerAsciiLetter(e)&&isUpperAsciiLetter(c))break;c=e}for(a+=1;l0&&0===t.getLineFirstNonWhitespaceColumn(i.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(i.lineNumber)&&e.push({range:new Range$2(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var __decorate$n=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$j=function(e,t){return function(i,o){t(i,o,e)}},SmartSelectController_1;class SelectionRanges{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new SelectionRanges(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let SmartSelectController=class{static{SmartSelectController_1=this}static{this.ID="editor.contrib.smartSelectController"}static get(e){return e.getContribution(SmartSelectController_1.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await provideSelectionRanges(this._languageFeaturesService.selectionRangeProvider,i,t.map(e=>e.getPosition()),this._editor.getOption(114),CancellationToken.None).then(e=>{if(isNonEmptyArray(e)&&e.length===t.length&&this._editor.hasModel()&&equals$2(this._editor.getSelections(),t,(e,t)=>e.equalsSelection(t))){for(let i=0;ie.containsPosition(t[i].getStartPosition())&&e.containsPosition(t[i].getEndPosition())),e[i].unshift(t[i]);this._state=e.map(e=>new SelectionRanges(0,e)),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(t=>t.mov(e));const o=this._state.map(e=>Selection$1.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(o)}finally{this._ignoreSelection=!1}}};SmartSelectController=SmartSelectController_1=__decorate$n([__param$j(1,ILanguageFeaturesService)],SmartSelectController);class AbstractSmartSelect extends EditorAction{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=SmartSelectController.get(t);i&&await i.run(this._forward)}}class GrowSelectionAction extends AbstractSmartSelect{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:localize("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"1_basic",title:localize({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}CommandsRegistry.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class ShrinkSelectionAction extends AbstractSmartSelect{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:localize("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"1_basic",title:localize({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}async function provideSelectionRanges(e,t,i,o,n){const r=e.all(t).concat(new WordSelectionRangeProvider(o.selectSubwords));1===r.length&&r.unshift(new BracketSelectionRangeProvider);const s=[],a=[];for(const l of r)s.push(Promise.resolve(l.provideSelectionRanges(t,i,n)).then(e=>{if(isNonEmptyArray(e)&&e.length===i.length)for(let t=0;t{if(0===e.length)return[];e.sort((e,t)=>Position$1.isBefore(e.getStartPosition(),t.getStartPosition())?1:Position$1.isBefore(t.getStartPosition(),e.getStartPosition())||Position$1.isBefore(e.getEndPosition(),t.getEndPosition())?-1:Position$1.isBefore(t.getEndPosition(),e.getEndPosition())?1:0);const i=[];let n;for(const t of e)(!n||Range$2.containsRange(t,n)&&!Range$2.equalsRange(t,n))&&(i.push(t),n=t);if(!o.selectLeadingAndTrailingWhitespace)return i;const r=[i[0]];for(let o=1;oe}),STICKY_INDEX_ATTR="data-sticky-line-index",STICKY_IS_LINE_ATTR="data-sticky-is-line",STICKY_IS_LINE_NUMBER_ATTR="data-sticky-is-line-number",STICKY_IS_FOLDING_ICON_ATTR="data-sticky-is-folding-icon";class StickyScrollWidget extends Disposable{constructor(e){super(),this._editor=e,this._foldingIconStore=new 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",e instanceof EmbeddedCodeEditorWidget),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(116)&&t(),e.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(e=>{e.scrollLeftChanged&&t(),e.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(e=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(void 0===i&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const o=this._isWidgetHeightZero(e),n=o?void 0:e,r=o?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(n,t,r),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const t=[...e.startLineNumbers];null!==e.showEndForLine&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=t}else this._lastLineRelativePosition=0,this._lineNumbers=[];return 0===t}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(void 0!==t)return t;const i=this._previousState,o=e.startLineNumbers.findIndex(e=>!i.startLineNumbers.includes(e));return-1===o?0:o}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",this._editor.getScrollWidth()-e.verticalScrollbarWidth+"px"),this._rootDomNode.style.width=e.width-e.verticalScrollbarWidth+"px"}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;te.scrollWidth))+o.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(111)&&(this._foldingIconStore.add(addDisposableListener(this._lineNumbersDomNode,EventType$1.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(addDisposableListener(this._lineNumbersDomNode,EventType$1.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,o){const n=this._editor._getViewModel();if(!n)return;const r=n.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(t,1)).lineNumber,s=n.getViewLineRenderingData(r),a=this._editor.getOption(68);let l;try{l=LineDecoration.filter(s.inlineDecorations,r,s.minColumn,s.maxColumn)}catch(_){l=[]}const c=new RenderLineInput(!0,!0,s.content,s.continuesWithWrappedLine,s.isBasicASCII,s.containsRTL,0,s.tokens,l,s.tabSize,s.startVisibleColumn,1,1,1,500,"none",!0,!0,null),d=new StringBuilder(2e3),u=renderViewLine(c,d);let h;h=_ttPolicy?_ttPolicy.createHTML(d.build()):d.build();const p=document.createElement("span");p.setAttribute(STICKY_INDEX_ATTR,String(e)),p.setAttribute(STICKY_IS_LINE_ATTR,""),p.setAttribute("role","listitem"),p.tabIndex=0,p.className="sticky-line-content",p.classList.add(`stickyLine${t}`),p.style.lineHeight=`${this._lineHeight}px`,p.innerHTML=h;const g=document.createElement("span");g.setAttribute(STICKY_INDEX_ATTR,String(e)),g.setAttribute(STICKY_IS_LINE_NUMBER_ATTR,""),g.className="sticky-line-number",g.style.lineHeight=`${this._lineHeight}px`;const m=o.contentLeft;g.style.width=`${m}px`;const f=document.createElement("span");1===a.renderType||3===a.renderType&&t%10==0?f.innerText=t.toString():2===a.renderType&&(f.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),f.className="sticky-line-number-inner",f.style.lineHeight=`${this._lineHeight}px`,f.style.width=`${o.lineNumbersWidth}px`,f.style.paddingLeft=`${o.lineNumbersLeft}px`,g.appendChild(f);const v=this._renderFoldingIconForLine(i,t);v&&g.appendChild(v.domNode),this._editor.applyFontInfo(p),this._editor.applyFontInfo(f),g.style.lineHeight=`${this._lineHeight}px`,p.style.lineHeight=`${this._lineHeight}px`,g.style.height=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`;const b=new RenderedStickyLine(e,t,p,g,v,u.characterMapping,p.scrollWidth);return this._updateTopAndZIndexOfStickyLine(b)}_updateTopAndZIndexOfStickyLine(e){const t=e.index,i=e.lineDomNode,o=e.lineNumberDomNode,n=t===this._lineNumbers.length-1;i.style.zIndex=n?"0":"1",o.style.zIndex=n?"0":"1";const r=`${t*this._lineHeight+this._lastLineRelativePosition+(e.foldingIcon?.isCollapsed?1:0)}px`,s=t*this._lineHeight+"px";return i.style.top=n?r:s,o.style.top=n?r:s,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||"never"===i)return;const o=e.regions,n=o.findRange(t),r=o.getStartLineNumber(n);if(!(t===r))return;const s=o.isCollapsed(n),a=new StickyFoldingIcon(s,r,o.getEndLineNumber(n),this._lineHeight);return a.setVisible(!!this._isOnGlyphMargin||(s||"always"===i)),a.domNode.setAttribute(STICKY_IS_FOLDING_ICON_ATTR,""),a}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=getColumnOfNodeOffset(t.characterMapping,e,0);return new Position$1(t.lineNumber,i)}getLineNumberFromChildDomNode(e){return this._getRenderedStickyLineFromChildDomNode(e)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return null===t||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,STICKY_INDEX_ATTR);return t?parseInt(t,10):null}isInStickyLine(e){return void 0!==this._getAttributeValue(e,STICKY_IS_LINE_ATTR)}isInFoldingIconDomNode(e){return void 0!==this._getAttributeValue(e,STICKY_IS_FOLDING_ICON_ATTR)}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(null!==i)return i;e=e.parentElement}}}class RenderedStickyLine{constructor(e,t,i,o,n,r,s){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=o,this.foldingIcon=n,this.characterMapping=r,this.scrollWidth=s}}class StickyFoldingIcon{constructor(e,t,i,o){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=o,this.domNode=document.createElement("div"),this.domNode.style.width=`${o}px`,this.domNode.style.height=`${o}px`,this.domNode.className=ThemeIcon.asClassName(e?foldingCollapsedIcon:foldingExpandedIcon)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class StickyRange{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class StickyElement{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class StickyModel{constructor(e,t,i,o){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=o}}var __decorate$m=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$i=function(e,t){return function(i,o){t(i,o,e)}},ModelProvider,Status;!function(e){e.OUTLINE_MODEL="outlineModel",e.FOLDING_PROVIDER_MODEL="foldingProviderModel",e.INDENTATION_MODEL="indentationModel"}(ModelProvider||(ModelProvider={})),function(e){e[e.VALID=0]="VALID",e[e.INVALID=1]="INVALID",e[e.CANCELED=2]="CANCELED"}(Status||(Status={}));let StickyModelProvider=class extends Disposable{constructor(e,t,i,o){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Delayer(300)),this._updateOperation=this._register(new DisposableStore),this._editor.getOption(116).defaultModel){case ModelProvider.OUTLINE_MODEL:this._modelProviders.push(new StickyModelFromCandidateOutlineProvider(this._editor,o));case ModelProvider.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new StickyModelFromCandidateSyntaxFoldingProvider(this._editor,t,o));case ModelProvider.INDENTATION_MODEL:this._modelProviders.push(new StickyModelFromCandidateIndentationFoldingProvider(this._editor,i))}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:o}=t.computeStickyModel(e);this._modelPromise=o;const n=await i;if(this._modelPromise!==o)return null;switch(n){case Status.CANCELED:return this._updateOperation.clear(),null;case Status.VALID:return t.stickyModel}}return null}).catch(e=>(onUnexpectedError(e),null))}};StickyModelProvider=__decorate$m([__param$i(2,IInstantiationService),__param$i(3,ILanguageFeaturesService)],StickyModelProvider);class StickyModelCandidateProvider extends Disposable{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Status.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=createCancelablePromise(e=>this.createModelFromProvider(e));return{statusPromise:t.then(t=>this.isModelValid(t)?e.isCancellationRequested?Status.CANCELED:(this._stickyModel=this.createStickyModel(e,t),Status.VALID):this._invalid()).then(void 0,e=>(onUnexpectedError(e),Status.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let StickyModelFromCandidateOutlineProvider=class extends StickyModelCandidateProvider{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return OutlineModel.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){const{stickyOutlineElement:i,providerID:o}=this._stickyModelFromOutlineModel(t,this._stickyModel?.outlineProviderId),n=this._editor.getModel();return new StickyModel(n.uri,n.getVersionId(),i,o)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Iterable.first(e.children.values())instanceof OutlineGroup){const o=Iterable.find(e.children.values(),e=>e.id===t);if(o)i=o.children;else{let o,n="",r=-1;for(const[t,i]of e.children.entries()){const e=this._findSumOfRangesOfGroup(i);e>r&&(o=i,r=e,n=i.id)}t=n,i=o.children}}else i=e.children;const o=[],n=Array.from(i.values()).sort((e,t)=>{const i=new StickyRange(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),o=new StickyRange(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber);return this._comparator(i,o)});for(const r of n)o.push(this._stickyModelFromOutlineElement(r,r.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new StickyElement(void 0,o,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const n of e.children.values())if(n.symbol.selectionRange.startLineNumber!==n.symbol.range.endLineNumber)if(n.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(n,n.symbol.selectionRange.startLineNumber));else for(const e of n.children.values())i.push(this._stickyModelFromOutlineElement(e,n.symbol.selectionRange.startLineNumber));i.sort((e,t)=>this._comparator(e.range,t.range));const o=new StickyRange(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new StickyElement(o,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof OutlineElement?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};StickyModelFromCandidateOutlineProvider=__decorate$m([__param$i(1,ILanguageFeaturesService)],StickyModelFromCandidateOutlineProvider);class StickyModelFromCandidateFoldingProvider extends StickyModelCandidateProvider{constructor(e){super(e),this._foldingLimitReporter=new RangesLimitReporter(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),o=this._editor.getModel();return new StickyModel(o.uri,o.getVersionId(),i,void 0)}isModelValid(e){return null!==e}_fromFoldingRegions(e){const t=e.length,i=[],o=new StickyElement(void 0,[],void 0);for(let n=0;n0&&(this.provider=this._register(new SyntaxRangeProvider(e.getModel(),o,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return void 0!==this.provider}async createModelFromProvider(e){return this.provider?.compute(e)??null}};StickyModelFromCandidateSyntaxFoldingProvider=__decorate$m([__param$i(2,ILanguageFeaturesService)],StickyModelFromCandidateSyntaxFoldingProvider);var __decorate$l=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$h=function(e,t){return function(i,o){t(i,o,e)}};class StickyLineCandidate{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let StickyLineCandidateProvider=class extends Disposable{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new Emitter$1),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new DisposableStore),this._updateSoon=this._register(new RunOnceScheduler(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(e=>{e.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(toDisposable(()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){this._stickyModelProvider?.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new StickyModelProvider(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new CancellationTokenSource$1,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return-1===e?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,o,n){if(0===t.children.length)return;let r=n;const s=[];for(let c=0;ce-t)),l=this.updateIndex(binarySearch(s,e.startLineNumber+o,(e,t)=>e-t));for(let c=a;c<=l;c++){const s=t.children[c];if(!s)return;if(s.range){const t=s.range.startLineNumber,n=s.range.endLineNumber;e.startLineNumber<=n+1&&t-1<=e.endLineNumber&&t!==r&&(r=t,i.push(new StickyLineCandidate(t,n-1,o+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,s,i,o+1,t))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,s,i,o,n)}}getCandidateStickyLinesIntersecting(e){if(!this._model?.element)return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=this._editor._getViewModel()?.getHiddenAreas();if(i)for(const o of i)t=t.filter(e=>!(e.startLineNumber>=o.startLineNumber&&e.endLineNumber<=o.endLineNumber+1));return t}};StickyLineCandidateProvider=__decorate$l([__param$h(1,ILanguageFeaturesService),__param$h(2,ILanguageConfigurationService)],StickyLineCandidateProvider);var __decorate$k=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$g=function(e,t){return function(i,o){t(i,o,e)}},StickyScrollController_1;let StickyScrollController=class extends Disposable{static{StickyScrollController_1=this}static{this.ID="store.contrib.stickyScrollController"}constructor(e,t,i,o,n,r,s){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=o,this._contextKeyService=s,this._sessionStore=new 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 StickyScrollWidget(this._editor),this._stickyLineCandidateProvider=new StickyLineCandidateProvider(this._editor,i,n),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=StickyScrollWidgetState.Empty,this._onDidResize(),this._readConfiguration();const a=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(e=>{this._readConfigurationChange(e)})),this._register(addDisposableListener(a,EventType$1.CONTEXT_MENU,async e=>{this._onContextMenu(getWindow$2(a),e)})),this._stickyScrollFocusedContextKey=EditorContextKeys.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=EditorContextKeys.stickyScrollVisible.bindTo(this._contextKeyService);const l=this._register(trackFocus(a));this._register(l.onDidBlur(e=>{!1===this._positionRevealed&&0===a.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(l.onDidFocus(e=>{this.focus()})),this._registerMouseListeners(),this._register(addDisposableListener(a,EventType$1.MOUSE_DOWN,e=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(StickyScrollController_1.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new 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(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(Range$2.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new DisposableStore),t=this._register(new ClickLinkGesture(this._editor,{extractLineNumberFromMouseEvent:e=>{const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);return t?t.lineNumber:0}})),i=e=>{if(!this._editor.hasModel())return null;if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return null;const t=e.target.element;if(!t||t.innerText!==t.innerHTML)return null;const i=this._stickyScrollWidget.getEditorPositionFromNode(t);return i?{range:new Range$2(i.lineNumber,i.column,i.lineNumber,i.column+t.innerText.length),textElement:t}:null},o=this._stickyScrollWidget.getDomNode();this._register(addStandardDisposableListener(o,EventType$1.CLICK,e=>{if(e.ctrlKey||e.altKey||e.metaKey)return;if(!e.leftButton)return;if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t)return;const i=new Position$1(this._endLineNumbers[t],1);return void this._revealLineInCenterIfOutsideViewport(i)}if(this._stickyScrollWidget.isInFoldingIconDomNode(e.target)){const t=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);return void this._toggleFoldingRegionForLine(t)}if(!this._stickyScrollWidget.isInStickyLine(e.target))return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target);if(!t){const i=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);if(null===i)return;t=new Position$1(i,1)}this._revealPosition(t)})),this._register(addStandardDisposableListener(o,EventType$1.MOUSE_MOVE,e=>{if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t||null!==this._showEndForLine&&this._showEndForLine===t)return;return this._showEndForLine=t,void this._renderStickyScroll()}void 0!==this._showEndForLine&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(addDisposableListener(o,EventType$1.MOUSE_LEAVE,e=>{void 0!==this._showEndForLine&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([t,o])=>{const n=i(t);if(!n||!t.hasTriggerModifier||!this._editor.hasModel())return void e.clear();const{range:r,textElement:s}=n;if(r.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===s.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=r,e.clear();const a=new CancellationTokenSource$1;let l;e.add(toDisposable(()=>a.dispose(!0))),getDefinitionsAtPosition(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Position$1(r.startLineNumber,r.startColumn+1),!1,a.token).then(t=>{if(!a.token.isCancellationRequested)if(0!==t.length){this._candidateDefinitionsLength=t.length;const i=s;l!==i?(e.clear(),l=i,l.style.textDecoration="underline",e.add(toDisposable(()=>{l.style.textDecoration="none"}))):l||(l=i,l.style.textDecoration="underline",e.add(toDisposable(()=>{l.style.textDecoration="none"})))}else e.clear()})})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async e=>{if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return;const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);t&&this._editor.hasModel()&&this._stickyRangeProjectedOnEditor&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t.lineNumber,column:1})),this._instaService.invokeFunction(goToDefinitionWithLocation,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))}))}_onContextMenu(e,t){const i=new StandardMouseEvent(e,t);this._contextMenuService.showContextMenu({menuId:MenuId.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||null===e)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t?.foldingIcon;if(!i)return;toggleCollapseState(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const o=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(o),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(!1===e.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(e=>this._onTokensChange(e))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);2===this._editor.getOption(68).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const t of e.ranges)if(i>=t.fromLineNumber&&i<=t.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const e=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(.25*e)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization())return void this._resetState();const i=this._updateAndGetMinRebuildFromLine(e),o=this._stickyLineCandidateProvider.getVersionId();if(void 0===o||o===t.getVersionId())if(this._focused)if(-1===this._focusedStickyElementIndex)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const e=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];if(await this._updateState(i),0===this._stickyScrollWidget.lineNumberCount)this._focusedStickyElementIndex=-1;else{this._stickyScrollWidget.lineNumbers.includes(e)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}}else await this._updateState(i)}_updateAndGetMinRebuildFromLine(e){if(void 0!==e){const t=void 0!==this._minRebuildFromLine?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){this._minRebuildFromLine=void 0,this._foldingModel=await(FoldingController.get(this._editor)?.getFoldingModel())??void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=StickyScrollWidgetState.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let o=0;const n=[],r=[],s=this._editor.getVisibleRanges();if(0!==s.length){const a=new StickyRange(s[0].startLineNumber,s[s.length-1].endLineNumber),l=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(a);for(const s of l){const a=s.startLineNumber,l=s.endLineNumber,c=s.nestingDepth;if(l-a>0){const s=(c-1)*e,d=c*e,u=this._editor.getBottomForLineNumber(a)-i,h=this._editor.getTopForLineNumber(l)-i,p=this._editor.getBottomForLineNumber(l)-i;if(s>h&&s<=p){n.push(a),r.push(l+1),o=p-d;break}if(d>u&&d<=p&&(n.push(a),r.push(l+1)),n.length===t)break}}}return this._endLineNumbers=r,new StickyScrollWidgetState(n,r,o,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};StickyScrollController=StickyScrollController_1=__decorate$k([__param$g(1,IContextMenuService),__param$g(2,ILanguageFeaturesService),__param$g(3,IInstantiationService),__param$g(4,ILanguageConfigurationService),__param$g(5,ILanguageFeatureDebounceService),__param$g(6,IContextKeyService)],StickyScrollController);class ToggleStickyScroll extends Action2{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...localize2("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:localize({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:localize2("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:Categories.View,toggled:{condition:ContextKeyExpr.equals("config.editor.stickyScroll.enabled",!0),title:localize("stickyScroll","Sticky Scroll"),mnemonicTitle:localize({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:MenuId.CommandPalette},{id:MenuId.MenubarAppearanceMenu,group:"4_editor",order:3},{id:MenuId.StickyScrollContext}]})}async run(e){const t=e.get(IConfigurationService),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const weight=100;class FocusStickyScroll extends EditorAction2{constructor(){super({id:"editor.action.focusStickyScroll",title:{...localize2("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:localize({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:ContextKeyExpr.and(ContextKeyExpr.has("config.editor.stickyScroll.enabled"),EditorContextKeys.stickyScrollVisible),menu:[{id:MenuId.CommandPalette}]})}runEditorCommand(e,t){StickyScrollController.get(t)?.focus()}}class SelectNextStickyScrollLine extends EditorAction2{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:localize2("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:weight,primary:18}})}runEditorCommand(e,t){StickyScrollController.get(t)?.focusNext()}}class SelectPreviousStickyScrollLine extends EditorAction2{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:localize2("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:weight,primary:16}})}runEditorCommand(e,t){StickyScrollController.get(t)?.focusPrevious()}}class GoToStickyScrollLine extends EditorAction2{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:localize2("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:weight,primary:3}})}runEditorCommand(e,t){StickyScrollController.get(t)?.goToFocused()}}class SelectEditor extends EditorAction2{constructor(){super({id:"editor.action.selectEditor",title:localize2("selectEditor.title","Select Editor"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:weight,primary:9}})}runEditorCommand(e,t){StickyScrollController.get(t)?.selectEditor()}}registerEditorContribution(StickyScrollController.ID,StickyScrollController,1),registerAction2(ToggleStickyScroll),registerAction2(FocusStickyScroll),registerAction2(SelectPreviousStickyScrollLine),registerAction2(SelectNextStickyScrollLine),registerAction2(GoToStickyScrollLine),registerAction2(SelectEditor);var __decorate$j=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$f=function(e,t){return function(i,o){t(i,o,e)}};class SuggestInlineCompletion{constructor(e,t,i,o,n,r){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=o,this.command=n,this.completion=r}}let InlineCompletionResults=class extends RefCountedDisposable{constructor(e,t,i,o,n,r){super(n.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=o,this._suggestMemoryService=r}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn=0&&s.resolve(CancellationToken.None)}return e}};InlineCompletionResults=__decorate$j([__param$f(5,ISuggestMemoryService)],InlineCompletionResults);let SuggestInlineCompletions=class extends Disposable{constructor(e,t,i,o){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=o,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,o){if(i.selectedSuggestionInfo)return;let n;for(const h of this._editorService.listCodeEditors())if(h.getModel()===e){n=h;break}if(!n)return;const r=n.getOption(90);if(QuickSuggestionsOptions.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const s=e.tokenization.getLineTokens(t.lineNumber),a=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("inline"!==QuickSuggestionsOptions.valueFor(r,a))return;let l,c,d=e.getWordAtPosition(t);if(d?.word||(l=this._getTriggerCharacterInfo(e,t)),!d?.word&&!l)return;if(d||(d=e.getWordUntilPosition(t)),d.endColumn!==t.column)return;const u=e.getValueInRange(new Range$2(t.lineNumber,1,t.lineNumber,t.column));if(!l&&this._lastResult?.canBeReused(e,t.lineNumber,d)){const e=new LineContext$1(u,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=e,this._lastResult.acquire(),c=this._lastResult}else{const i=await provideSuggestionItems(this._languageFeatureService.completionProvider,e,t,new CompletionOptions(void 0,SuggestModel.createSuggestFilter(n).itemKind,l?.providers),l&&{triggerKind:1,triggerCharacter:l.ch},o);let r;i.needsClipboard&&(r=await this._clipboardService.readText());const s=new CompletionModel(i.items,t.column,new LineContext$1(u,0),WordDistance.None,n.getOption(119),n.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},r);c=new InlineCompletionResults(e,t.lineNumber,d,s,i,this._suggestMemoryService)}return this._lastResult=c,c}handleItemDidShow(e,t){t.completion.resolve(CancellationToken.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){const i=e.getValueInRange(Range$2.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),o=new Set;for(const n of this._languageFeatureService.completionProvider.all(e))n.triggerCharacters?.includes(i)&&o.add(n);if(0!==o.size)return{providers:o,ch:i}}};SuggestInlineCompletions=__decorate$j([__param$f(0,ILanguageFeaturesService),__param$f(1,IClipboardService),__param$f(2,ISuggestMemoryService),__param$f(3,ICodeEditorService)],SuggestInlineCompletions),registerEditorFeature(SuggestInlineCompletions);class ForceRetokenizeAction extends EditorAction{constructor(){super({id:"editor.action.forceRetokenize",label:localize("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const o=new StopWatch;i.tokenization.forceTokenization(i.getLineCount()),o.stop(),console.log(`tokenization took ${o.elapsed()}`)}}registerEditorAction(ForceRetokenizeAction);class ToggleTabFocusModeAction extends Action2{static{this.ID="editor.action.toggleTabFocusMode"}constructor(){super({id:ToggleTabFocusModeAction.ID,title:localize2({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:localize2("tabMovesFocusDescriptions","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 e=!TabFocus.getTabFocusMode();TabFocus.setTabFocusMode(e),alert(e?localize("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"):localize("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}registerAction2(ToggleTabFocusModeAction);var __decorate$i=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$e=function(e,t){return function(i,o){t(i,o,e)}};let Link$1=class extends Disposable{get enabled(){return this._enabled}set enabled(e){e?(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=e}constructor(e,t,i={},o,n){super(),this._link=t,this._hoverService=o,this._enabled=!0,this.el=append$2(e,$$f("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??getDefaultHoverDelegate("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new DomEmitter(this.el,"click")),s=this._register(new DomEmitter(this.el,"keypress")),a=Event$1.chain(s.event,e=>e.map(e=>new StandardKeyboardEvent(e)).filter(e=>3===e.keyCode)),l=this._register(new DomEmitter(this.el,EventType.Tap)).event;this._register(Gesture.addTarget(this.el));const c=Event$1.any(r.event,a,l);this._register(c(e=>{this.enabled&&(EventHelper$1.stop(e,!0),i?.opener?i.opener(this._link.href):n.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Link$1=__decorate$i([__param$e(3,IHoverService),__param$e(4,IOpenerService)],Link$1);var __decorate$h=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$d=function(e,t){return function(i,o){t(i,o,e)}};const BANNER_ELEMENT_HEIGHT=26;let BannerController=class extends Disposable{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Banner))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{this.hide(),e.onClose?.()}}),this._editor.setBanner(this.banner.element,BANNER_ELEMENT_HEIGHT)}};BannerController=__decorate$h([__param$d(1,IInstantiationService)],BannerController);let Banner=class extends Disposable{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(MarkdownRenderer,{}),this.element=$$f("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){return e.ariaLabel?e.ariaLabel:"string"==typeof e.message?e.message:void 0}getBannerMessage(e){if("string"==typeof e){const t=$$f("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){clearNode(this.element)}show(e){clearNode(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=append$2(this.element,$$f("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild($$f(`div${ThemeIcon.asCSSSelector(e.icon)}`));const o=append$2(this.element,$$f("div.message-container"));if(o.setAttribute("aria-hidden","true"),o.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=append$2(this.element,$$f("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Link$1,this.messageActionsContainer,{...r,tabIndex:-1},{}));const n=append$2(this.element,$$f("div.action-container"));this.actionBar=this._register(new ActionBar(n)),this.actionBar.push(this._register(new Action("banner.close","Close Banner",ThemeIcon.asClassName(widgetClose),!0,()=>{"function"==typeof e.onClose&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Banner=__decorate$h([__param$d(0,IInstantiationService)],Banner);var __decorate$g=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$c=function(e,t){return function(i,o){t(i,o,e)}};const warningIcon=registerIcon("extensions-warning-message",Codicon.warning,localize("warningIcon","Icon shown with a warning message in the extensions editor."));let UnicodeHighlighter=class extends Disposable{static{this.ID="editor.contrib.unicodeHighlighter"}constructor(e,t,i,o){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=e=>{if(e&&e.hasMore){if(this._bannerClosed)return;const t=Math.max(e.ambiguousCharacterCount,e.nonBasicAsciiCharacterCount,e.invisibleCharacterCount);let i;if(e.nonBasicAsciiCharacterCount>=t)i={message:localize("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new DisableHighlightingOfNonBasicAsciiCharactersAction};else if(e.ambiguousCharacterCount>=t)i={message:localize("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new DisableHighlightingOfAmbiguousCharactersAction};else{if(!(e.invisibleCharacterCount>=t))throw new Error("Unreachable");i={message:localize("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new DisableHighlightingOfInvisibleCharactersAction}}this._bannerController.show({id:"unicodeHighlightBanner",message:i.message,icon:warningIcon,actions:[{label:i.command.shortLabel,href:`command:${i.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(o.createInstance(BannerController,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(126),this._register(i.onDidChangeTrust(e=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(126)&&(this._options=e.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 e=resolveOptions$1(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(e=>!1===e))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(e=>e.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(e=>{if("_os"===e){return(new Intl.NumberFormat).resolvedOptions().locale}return"_vscode"===e?language:e})};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new DocumentUnicodeHighlighter(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new ViewportUnicodeHighlighter(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};function resolveOptions$1(e,t){return{nonBasicASCII:t.nonBasicASCII===inUntrustedWorkspace?!e:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments===inUntrustedWorkspace?!e:t.includeComments,includeStrings:t.includeStrings===inUntrustedWorkspace?!e:t.includeStrings,allowedCharacters:t.allowedCharacters,allowedLocales:t.allowedLocales}}UnicodeHighlighter=__decorate$g([__param$c(1,IEditorWorkerService),__param$c(2,IWorkspaceTrustManagementService),__param$c(3,IInstantiationService)],UnicodeHighlighter);let DocumentUnicodeHighlighter=class extends Disposable{constructor(e,t,i,o){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=o,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new 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())return void this._decorations.clear();const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const e of t.ranges)i.push({range:e,options:Decorations.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!isModelDecorationVisible(t,e))return null;return{reason:computeReason(t.getValueInRange(e.range),this._options),inComment:isModelDecorationInComment(t,e),inString:isModelDecorationInString(t,e)}}};DocumentUnicodeHighlighter=__decorate$g([__param$c(3,IEditorWorkerService)],DocumentUnicodeHighlighter);class ViewportUnicodeHighlighter extends Disposable{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new 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())return void this._decorations.clear();const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const o of e){const e=UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model,this._options,o);for(const t of e.ranges)i.ranges.push(t);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||e.hasMore}if(!i.hasMore)for(const o of i.ranges)t.push({range:o,options:Decorations.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return isModelDecorationVisible(t,e)?{reason:computeReason(i,this._options),inComment:isModelDecorationInComment(t,e),inString:isModelDecorationInString(t,e)}:null}}const configureUnicodeHighlightOptionsStr=localize("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let UnicodeHighlighterHoverParticipant=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),o=this._editor.getContribution(UnicodeHighlighter.ID);if(!o)return[];const n=[],r=new Set;let s=300;for(const a of t){const e=o.getDecorationInfo(a);if(!e)continue;const t=i.getValueInRange(a.range).codePointAt(0),l=formatCodePointMarkdown(t);let c;switch(e.reason.kind){case 0:c=isBasicASCII(e.reason.confusableWith)?localize("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",l,formatCodePointMarkdown(e.reason.confusableWith.codePointAt(0))):localize("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",l,formatCodePointMarkdown(e.reason.confusableWith.codePointAt(0)));break;case 1:c=localize("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",l);break;case 2:c=localize("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",l)}if(r.has(c))continue;r.add(c);const d={codePoint:t,reason:e.reason,inComment:e.inComment,inString:e.inString},u=localize("unicodeHighlight.adjustSettings","Adjust settings"),h=`command:${ShowExcludeOptions.ID}?${encodeURIComponent(JSON.stringify(d))}`,p=new MarkdownString("",!0).appendMarkdown(c).appendText(" ").appendLink(h,u,configureUnicodeHighlightOptionsStr);n.push(new MarkdownHover(this,a.range,[p],!1,s++))}return n}renderHoverParts(e,t){return renderMarkdownHovers(e,t,this._editor,this._languageService,this._openerService)}};function codePointToHex(e){return`U+${e.toString(16).padStart(4,"0")}`}function formatCodePointMarkdown(e){let t=`\`${codePointToHex(e)}\``;return InvisibleCharacters.isInvisibleCharacter(e)||(t+=` "${renderCodePointAsInlineCode(e)}"`),t}function renderCodePointAsInlineCode(e){return 96===e?"`` ` ``":"`"+String.fromCodePoint(e)+"`"}function computeReason(e,t){return UnicodeTextModelHighlighter.computeUnicodeHighlightReason(e,t)}UnicodeHighlighterHoverParticipant=__decorate$g([__param$c(1,ILanguageService),__param$c(2,IOpenerService)],UnicodeHighlighterHoverParticipant);class Decorations{constructor(){this.map=new Map}static{this.instance=new Decorations}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let o=this.map.get(i);return o||(o=ModelDecorationOptions.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,o)),o}}class DisableHighlightingInCommentsAction extends EditorAction{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const o=e?.get(IConfigurationService);o&&this.runAction(o)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.includeComments,!1,2)}}class DisableHighlightingInStringsAction extends EditorAction{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const o=e?.get(IConfigurationService);o&&this.runAction(o)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.includeStrings,!1,2)}}class DisableHighlightingOfAmbiguousCharactersAction extends EditorAction{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters"}constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const o=e?.get(IConfigurationService);o&&this.runAction(o)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.ambiguousCharacters,!1,2)}}class DisableHighlightingOfInvisibleCharactersAction extends EditorAction{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters"}constructor(){super({id:DisableHighlightingOfInvisibleCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const o=e?.get(IConfigurationService);o&&this.runAction(o)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.invisibleCharacters,!1,2)}}class DisableHighlightingOfNonBasicAsciiCharactersAction extends EditorAction{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters"}constructor(){super({id:DisableHighlightingOfNonBasicAsciiCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const o=e?.get(IConfigurationService);o&&this.runAction(o)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.nonBasicASCII,!1,2)}}class ShowExcludeOptions extends EditorAction{static{this.ID="editor.action.unicodeHighlight.showExcludeOptions"}constructor(){super({id:ShowExcludeOptions.ID,label:localize("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:o,reason:n,inString:r,inComment:s}=i,a=String.fromCodePoint(o),l=e.get(IQuickInputService),c=e.get(IConfigurationService);const d=[];if(0===n.kind)for(const h of n.notAmbiguousInLocales)d.push({label:localize("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',h),run:async()=>{excludeLocaleFromBeingHighlighted(c,[h])}});if(d.push({label:function(e){return InvisibleCharacters.isInvisibleCharacter(e)?localize("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",codePointToHex(e)):localize("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${codePointToHex(e)} "${a}"`)}(o),run:()=>excludeCharFromBeingHighlighted(c,[o])}),s){const e=new DisableHighlightingInCommentsAction;d.push({label:e.label,run:async()=>e.runAction(c)})}else if(r){const e=new DisableHighlightingInStringsAction;d.push({label:e.label,run:async()=>e.runAction(c)})}if(0===n.kind){const e=new DisableHighlightingOfAmbiguousCharactersAction;d.push({label:e.label,run:async()=>e.runAction(c)})}else if(1===n.kind){const e=new DisableHighlightingOfInvisibleCharactersAction;d.push({label:e.label,run:async()=>e.runAction(c)})}else if(2===n.kind){const e=new DisableHighlightingOfNonBasicAsciiCharactersAction;d.push({label:e.label,run:async()=>e.runAction(c)})}else expectNever(n);const u=await l.pick(d,{title:configureUnicodeHighlightOptionsStr});u&&await u.run()}}async function excludeCharFromBeingHighlighted(e,t){const i=e.getValue(unicodeHighlightConfigKeys.allowedCharacters);let o;o="object"==typeof i&&i?i:{};for(const n of t)o[String.fromCodePoint(n)]=!0;await e.updateValue(unicodeHighlightConfigKeys.allowedCharacters,o,2)}async function excludeLocaleFromBeingHighlighted(e,t){const i=e.inspect(unicodeHighlightConfigKeys.allowedLocales).user?.value;let o;o="object"==typeof i&&i?Object.assign({},i):{};for(const n of t)o[n]=!0;await e.updateValue(unicodeHighlightConfigKeys.allowedLocales,o,2)}function expectNever(e){throw new Error(`Unexpected value: ${e}`)}registerEditorAction(DisableHighlightingOfAmbiguousCharactersAction),registerEditorAction(DisableHighlightingOfInvisibleCharactersAction),registerEditorAction(DisableHighlightingOfNonBasicAsciiCharactersAction),registerEditorAction(ShowExcludeOptions),registerEditorContribution(UnicodeHighlighter.ID,UnicodeHighlighter,1),HoverParticipantRegistry.register(UnicodeHighlighterHoverParticipant);var __decorate$f=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$b=function(e,t){return function(i,o){t(i,o,e)}};const ignoreUnusualLineTerminators="ignoreUnusualLineTerminators";function writeIgnoreState(e,t,i){e.setModelProperty(t.uri,ignoreUnusualLineTerminators,i)}function readIgnoreState(e,t){return e.getModelProperty(t.uri,ignoreUnusualLineTerminators)}let UnusualLineTerminatorsDetector=class extends Disposable{static{this.ID="editor.contrib.unusualLineTerminatorsDetector"}constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(e=>{e.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators())return;if(!0===readIgnoreState(this._codeEditorService,e))return;if(this._editor.getOption(92))return;if("auto"===this._config)return void e.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let t;try{this._isPresentingDialog=!0,t=await this._dialogService.confirm({title:localize("unusualLineTerminators.title","Unusual Line Terminators"),message:localize("unusualLineTerminators.message","Detected unusual line terminators"),detail:localize("unusualLineTerminators.detail","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`.",basename(e.uri)),primaryButton:localize({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:localize("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}t.confirmed?e.removeUnusualLineTerminators(this._editor.getSelections()):writeIgnoreState(this._codeEditorService,e,!0)}};UnusualLineTerminatorsDetector=__decorate$f([__param$b(1,IDialogService),__param$b(2,ICodeEditorService)],UnusualLineTerminatorsDetector),registerEditorContribution(UnusualLineTerminatorsDetector.ID,UnusualLineTerminatorsDetector,1);var __decorate$e=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$a=function(e,t){return function(i,o){t(i,o,e)}};class TextualDocumentHighlightProvider{constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const o=[],n=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!n)return Promise.resolve(o);if(e.isDisposed())return;return e.findMatches(n.word,!0,!1,!0,USUAL_WORD_SEPARATORS,!1).map(e=>({range:e.range,kind:DocumentHighlightKind$1.Text}))}provideMultiDocumentHighlights(e,t,i,o){const n=new ResourceMap,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(n);for(const s of[e,...i]){if(s.isDisposed())continue;const e=s.findMatches(r.word,!0,!1,!0,USUAL_WORD_SEPARATORS,!1).map(e=>({range:e.range,kind:DocumentHighlightKind$1.Text}));e&&n.set(s.uri,e)}return n}}let TextualMultiDocumentHighlightFeature=class extends Disposable{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new TextualDocumentHighlightProvider)),this._register(e.multiDocumentHighlightProvider.register("*",new TextualDocumentHighlightProvider))}};TextualMultiDocumentHighlightFeature=__decorate$e([__param$a(0,ILanguageFeaturesService)],TextualMultiDocumentHighlightFeature);var __decorate$d=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$9=function(e,t){return function(i,o){t(i,o,e)}},WordHighlighter_1,WordHighlighterContribution_1;const ctxHasWordHighlights=new RawContextKey("hasWordHighlights",!1);function getOccurrencesAtPosition(e,t,i,o){return first(e.ordered(t).map(e=>()=>Promise.resolve(e.provideDocumentHighlights(t,i,o)).then(void 0,onUnexpectedExternalError)),e=>null!=e).then(e=>{if(e){const i=new ResourceMap;return i.set(t.uri,e),i}return new ResourceMap})}function getOccurrencesAcrossMultipleModels(e,t,i,o,n,r){return first(e.ordered(t).map(e=>()=>{const o=r.filter(e=>shouldSynchronizeModel(e)).filter(t=>score(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(e.provideMultiDocumentHighlights(t,i,o,n)).then(void 0,onUnexpectedExternalError)}),e=>null!=e)}class OccurenceAtPositionRequest{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=createCancelablePromise(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new Range$2(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const o=t.startLineNumber,n=t.startColumn,r=t.endColumn,s=this._getCurrentWordRange(e,t);let a=Boolean(this._wordRange&&this._wordRange.equalsRange(s));for(let l=0,c=i.length;!a&&l=r&&(a=!0)}return a}cancel(){this.result.cancel()}}class SemanticOccurenceAtPositionRequest extends OccurenceAtPositionRequest{constructor(e,t,i,o){super(e,t,i),this._providers=o}_compute(e,t,i,o){return getOccurrencesAtPosition(this._providers,e,t.getPosition(),o).then(e=>e||new ResourceMap)}}class MultiModelOccurenceRequest extends OccurenceAtPositionRequest{constructor(e,t,i,o,n){super(e,t,i),this._providers=o,this._otherModels=n}_compute(e,t,i,o){return getOccurrencesAcrossMultipleModels(this._providers,e,t.getPosition(),i,o,this._otherModels).then(e=>e||new ResourceMap)}}function computeOccurencesAtPosition(e,t,i,o,n){return new SemanticOccurenceAtPositionRequest(t,i,n,e)}function computeOccurencesMultiModel(e,t,i,o,n,r){return new MultiModelOccurenceRequest(t,i,n,e,r)}registerModelAndPositionCommand("_executeDocumentHighlights",async(e,t,i)=>{const o=e.get(ILanguageFeaturesService),n=await getOccurrencesAtPosition(o.documentHighlightProvider,t,i,CancellationToken.None);return n?.get(t.uri)});let WordHighlighter=class{static{WordHighlighter_1=this}static{this.storedDecorationIDs=new ResourceMap}static{this.query=null}constructor(e,t,i,o,n){this.toUnhook=new DisposableStore,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new ResourceMap,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Delayer(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=n,this._hasWordHighlights=ctxHasWordHighlights.bindTo(o),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(e=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this.runDelayer.trigger(()=>{this._onPositionChanged(e)})})),this.toUnhook.add(e.onDidFocusEditorText(e=>{"off"!==this.occurrencesHighlight&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(e.onDidChangeModelContent(e=>{matchesScheme(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():WordHighlighter_1.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(e=>{const t=this.editor.getOption(81);if(this.occurrencesHighlight!==t)switch(this.occurrencesHighlight=t,t){case"off":this._stopAll();break;case"singleFile":this._stopAll(WordHighlighter_1.query?.modelInfo?.model);break;case"multiFile":WordHighlighter_1.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",t)}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,WordHighlighter_1.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(Range$2.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),t=e.findIndex(e=>e.containsPosition(this.editor.getPosition())),i=(t+1)%e.length,o=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o);const t=this._getWord();if(t){alert(`${this.editor.getModel().getLineContent(o.startLineNumber)}, ${i+1} of ${e.length} for '${t.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),t=e.findIndex(e=>e.containsPosition(this.editor.getPosition())),i=(t-1+e.length)%e.length,o=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o);const t=this._getWord();if(t){alert(`${this.editor.getModel().getLineContent(o.startLineNumber)}, ${i+1} of ${e.length} for '${t.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=WordHighlighter_1.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),WordHighlighter_1.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const o of t){if(!o.hasModel()||isEqual$1(o.getModel().uri,e?.uri))continue;const t=WordHighlighter_1.storedDecorationIDs.get(o.getModel().uri);if(!t)continue;o.removeDecorations(t),i.push(o.getModel().uri);const n=WordHighlighterContribution.get(o);n?.wordHighlighter&&(n.wordHighlighter.decorations.length>0&&(n.wordHighlighter.decorations.clear(),n.wordHighlighter.workerRequest=null,n.wordHighlighter._hasWordHighlights.set(!1)))}for(const o of i)WordHighlighter_1.storedDecorationIDs.delete(o)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==Schemas.vscodeNotebookCell&&WordHighlighter_1.query?.modelInfo?.model.uri.scheme!==Schemas.vscodeNotebookCell?(WordHighlighter_1.query=null,this._run()):WordHighlighter_1.query?.modelInfo&&(WordHighlighter_1.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){"off"!==this.occurrencesHighlight&&(3===e.reason||this.editor.getModel()?.uri.scheme===Schemas.vscodeNotebookCell)?this._run():this._stopAll()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===Schemas.vscodeNotebookCell){const t=[],i=this.codeEditorService.listCodeEditors();for(const o of i){const i=o.getModel();i&&i!==e&&i.uri.scheme===Schemas.vscodeNotebookCell&&t.push(i)}return t}const t=[],i=this.codeEditorService.listCodeEditors();for(const o of i){if(!isDiffEditor(o))continue;const i=o.getModel();i&&(e===i.modified&&t.push(i.modified))}if(t.length)return t;if("singleFile"===this.occurrencesHighlight)return[];for(const o of i){const i=o.getModel();i&&i!==e&&t.push(i)}return t}_run(e){let t;if(this.editor.hasTextFocus()){const e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber)return WordHighlighter_1.query=null,void this._stopAll();const i=e.startColumn,o=e.endColumn,n=this._getWord();if(!n||n.startColumn>i||n.endColumn{t===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations())},onUnexpectedError)}}computeWithModel(e,t,i,o){return o.length?computeOccurencesMultiModel(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),o):computeOccurencesAtPosition(this.providers,e,t,i,this.editor.getOption(132))}_beginRenderDecorations(){const e=(new Date).getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const t of e){const e=WordHighlighterContribution.get(t);if(!e)continue;const i=[],o=t.getModel()?.uri;if(o&&this.workerRequestValue.has(o)){const n=WordHighlighter_1.storedDecorationIDs.get(o),r=this.workerRequestValue.get(o);if(r)for(const e of r)e.range&&i.push({range:e.range,options:getHighlightDecorationOptions(e.kind)});let s=[];t.changeDecorations(e=>{s=e.deltaDecorations(n??[],i)}),WordHighlighter_1.storedDecorationIDs=WordHighlighter_1.storedDecorationIDs.set(o,s),i.length>0&&(e.wordHighlighter?.decorations.set(i),e.wordHighlighter?._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}};WordHighlighter=WordHighlighter_1=__decorate$d([__param$9(4,ICodeEditorService)],WordHighlighter);let WordHighlighterContribution=class extends Disposable{static{WordHighlighterContribution_1=this}static{this.ID="editor.contrib.wordHighlighter"}static get(e){return e.getContribution(WordHighlighterContribution_1.ID)}constructor(e,t,i,o){super(),this._wordHighlighter=null;const n=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new WordHighlighter(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,o))};this._register(e.onDidChangeModel(e=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),n()})),n()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};WordHighlighterContribution=WordHighlighterContribution_1=__decorate$d([__param$9(1,IContextKeyService),__param$9(2,ILanguageFeaturesService),__param$9(3,ICodeEditorService)],WordHighlighterContribution);class WordHighlightNavigationAction extends EditorAction{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=WordHighlighterContribution.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class NextWordHighlightAction extends WordHighlightNavigationAction{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:localize("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:ctxHasWordHighlights,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:65,weight:100}})}}class PrevWordHighlightAction extends WordHighlightNavigationAction{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:localize("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:ctxHasWordHighlights,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1089,weight:100}})}}class TriggerWordHighlightAction extends EditorAction{constructor(){super({id:"editor.action.wordHighlight.trigger",label:localize("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const o=WordHighlighterContribution.get(t);o&&o.restoreViewState(!0)}}registerEditorContribution(WordHighlighterContribution.ID,WordHighlighterContribution,0),registerEditorAction(NextWordHighlightAction),registerEditorAction(PrevWordHighlightAction),registerEditorAction(TriggerWordHighlightAction),registerEditorFeature(TextualMultiDocumentHighlightFeature);class MoveWordCommand extends EditorCommand{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const o=getMapForWordSeparators(t.getOption(132),t.getOption(131)),n=t.getModel(),r=t.getSelections(),s=r.length>1,a=r.map(e=>{const t=new Position$1(e.positionLineNumber,e.positionColumn),i=this._move(o,n,t,this._wordNavigationType,s);return this._moveTo(e,i,this._inSelectionMode)});if(n.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,a.map(e=>CursorState$1.fromModelSelection(e))),1===a.length){const e=new Position$1(a[0].positionLineNumber,a[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,i){return i?new Selection$1(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Selection$1(t.lineNumber,t.column,t.lineNumber,t.column)}}class WordLeftCommand extends MoveWordCommand{_move(e,t,i,o,n){return WordOperations.moveWordLeft(e,t,i,o,n)}}class WordRightCommand extends MoveWordCommand{_move(e,t,i,o,n){return WordOperations.moveWordRight(e,t,i,o)}}class CursorWordStartLeft extends WordLeftCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class CursorWordEndLeft extends WordLeftCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class CursorWordLeft extends WordLeftCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext)?.negate()),primary:2063,mac:{primary:527},weight:100}})}}class CursorWordStartLeftSelect extends WordLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class CursorWordEndLeftSelect extends WordLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class CursorWordLeftSelect extends WordLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class CursorWordAccessibilityLeft extends WordLeftCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,o,n){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,o,n)}}class CursorWordAccessibilityLeftSelect extends WordLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,o,n){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,o,n)}}class CursorWordStartRight extends WordRightCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class CursorWordEndRight extends WordRightCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext)?.negate()),primary:2065,mac:{primary:529},weight:100}})}}class CursorWordRight extends WordRightCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class CursorWordStartRightSelect extends WordRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class CursorWordEndRightSelect extends WordRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class CursorWordRightSelect extends WordRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class CursorWordAccessibilityRight extends WordRightCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,o,n){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,o,n)}}class CursorWordAccessibilityRightSelect extends WordRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,o,n){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,o,n)}}class DeleteWordCommand extends EditorCommand{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const o=e.get(ILanguageConfigurationService);if(!t.hasModel())return;const n=getMapForWordSeparators(t.getOption(132),t.getOption(131)),r=t.getModel(),s=t.getSelections(),a=t.getOption(6),l=t.getOption(11),c=o.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),d=t._getViewModel(),u=s.map(e=>{const i=this._delete({wordSeparators:n,model:r,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:a,autoClosingQuotes:l,autoClosingPairs:c,autoClosedCharacters:d.getCursorAutoClosedCharacters()},this._wordNavigationType);return new ReplaceCommand(i,"")});t.pushUndoStop(),t.executeCommands(this.id,u),t.pushUndoStop()}}class DeleteWordLeftCommand extends DeleteWordCommand{_delete(e,t){const i=WordOperations.deleteWordLeft(e,t);return i||new Range$2(1,1,1,1)}}class DeleteWordRightCommand extends DeleteWordCommand{_delete(e,t){const i=WordOperations.deleteWordRight(e,t);if(i)return i;const o=e.model.getLineCount(),n=e.model.getLineMaxColumn(o);return new Range$2(o,n,o,n)}}class DeleteWordStartLeft extends DeleteWordLeftCommand{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:EditorContextKeys.writable})}}class DeleteWordEndLeft extends DeleteWordLeftCommand{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:EditorContextKeys.writable})}}class DeleteWordLeft extends DeleteWordLeftCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class DeleteWordStartRight extends DeleteWordRightCommand{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:EditorContextKeys.writable})}}class DeleteWordEndRight extends DeleteWordRightCommand{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:EditorContextKeys.writable})}}class DeleteWordRight extends DeleteWordRightCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class DeleteInsideWord extends EditorAction{constructor(){super({id:"deleteInsideWord",precondition:EditorContextKeys.writable,label:localize("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const o=getMapForWordSeparators(t.getOption(132),t.getOption(131)),n=t.getModel(),r=t.getSelections().map(e=>{const t=WordOperations.deleteInsideWord(o,n,e);return new ReplaceCommand(t,"")});t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}}registerEditorCommand(new CursorWordStartLeft),registerEditorCommand(new CursorWordEndLeft),registerEditorCommand(new CursorWordLeft),registerEditorCommand(new CursorWordStartLeftSelect),registerEditorCommand(new CursorWordEndLeftSelect),registerEditorCommand(new CursorWordLeftSelect),registerEditorCommand(new CursorWordStartRight),registerEditorCommand(new CursorWordEndRight),registerEditorCommand(new CursorWordRight),registerEditorCommand(new CursorWordStartRightSelect),registerEditorCommand(new CursorWordEndRightSelect),registerEditorCommand(new CursorWordRightSelect),registerEditorCommand(new CursorWordAccessibilityLeft),registerEditorCommand(new CursorWordAccessibilityLeftSelect),registerEditorCommand(new CursorWordAccessibilityRight),registerEditorCommand(new CursorWordAccessibilityRightSelect),registerEditorCommand(new DeleteWordStartLeft),registerEditorCommand(new DeleteWordEndLeft),registerEditorCommand(new DeleteWordLeft),registerEditorCommand(new DeleteWordStartRight),registerEditorCommand(new DeleteWordEndRight),registerEditorCommand(new DeleteWordRight),registerEditorAction(DeleteInsideWord);class DeleteWordPartLeft extends DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=WordPartOperations.deleteWordPartLeft(e);return i||new Range$2(1,1,1,1)}}class DeleteWordPartRight extends DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=WordPartOperations.deleteWordPartRight(e);if(i)return i;const o=e.model.getLineCount(),n=e.model.getLineMaxColumn(o);return new Range$2(o,n,o,n)}}class WordPartLeftCommand extends MoveWordCommand{_move(e,t,i,o,n){return WordPartOperations.moveWordPartLeft(e,t,i,n)}}class CursorWordPartLeft extends WordPartLeftCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}CommandsRegistry.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class CursorWordPartLeftSelect extends WordPartLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}CommandsRegistry.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class WordPartRightCommand extends MoveWordCommand{_move(e,t,i,o,n){return WordPartOperations.moveWordPartRight(e,t,i)}}class CursorWordPartRight extends WordPartRightCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class CursorWordPartRightSelect extends WordPartRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}registerEditorCommand(new DeleteWordPartLeft),registerEditorCommand(new DeleteWordPartRight),registerEditorCommand(new CursorWordPartLeft),registerEditorCommand(new CursorWordPartLeftSelect),registerEditorCommand(new CursorWordPartRight),registerEditorCommand(new CursorWordPartRightSelect);class ReadOnlyMessageController extends Disposable{static{this.ID="editor.contrib.readOnlyMessageController"}constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=MessageController.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(t=this.editor.isSimpleWidget?new MarkdownString(localize("editor.simple.readonly","Cannot edit in read-only input")):new MarkdownString(localize("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}}registerEditorContribution(ReadOnlyMessageController.ID,ReadOnlyMessageController,2);var __decorate$c=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$8=function(e,t){return function(i,o){t(i,o,e)}};let DiffEditorBreadcrumbsSource=class extends Disposable{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=observableValue(this,void 0);const o=observableSignalFromEvent("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),n=observableSignalFromEvent("_textModel.onDidChangeContent",Event$1.debounce(e=>this._textModel.onDidChangeContent(e),()=>{},100));this._register(autorunWithStore(async(e,t)=>{o.read(e),n.read(e);const i=t.add(new DisposableCancellationTokenSource),r=await this._outlineModelService.getOrCreate(this._textModel,i.token);t.isDisposed||this._currentModel.set(r,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const o=i.asListOfDocumentSymbols().filter(t=>e.contains(t.range.startLineNumber)&&!e.contains(t.range.endLineNumber));return o.sort(reverseOrder(compareBy(e=>e.range.endLineNumber-e.range.startLineNumber,numberComparator))),o.map(e=>({name:e.name,kind:e.kind,startLineNumber:e.range.startLineNumber}))}};DiffEditorBreadcrumbsSource=__decorate$c([__param$8(1,ILanguageFeaturesService),__param$8(2,IOutlineModelService)],DiffEditorBreadcrumbsSource),HideUnchangedRegionsFeature.setBreadcrumbsSourceFactory((e,t)=>t.createInstance(DiffEditorBreadcrumbsSource,e));class IPadShowKeyboard extends Disposable{static{this.ID="editor.contrib.iPadShowKeyboard"}constructor(e){super(),this.editor=e,this.widget=null,isIOS$1&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new ShowKeyboardWidget(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}class ShowKeyboardWidget extends Disposable{static{this.ID="editor.contrib.ShowKeyboardWidget"}constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(addDisposableListener(this._domNode,"touchstart",e=>{this.editor.focus()})),this._register(addDisposableListener(this._domNode,"focus",e=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return ShowKeyboardWidget.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}registerEditorContribution(IPadShowKeyboard.ID,IPadShowKeyboard,3);var __decorate$b=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$7=function(e,t){return function(i,o){t(i,o,e)}},InspectTokensController_1;let InspectTokensController=class extends Disposable{static{InspectTokensController_1=this}static{this.ID="editor.contrib.inspectTokens"}static get(e){return e.getContribution(InspectTokensController_1.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(e=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(e=>this.stop())),this._register(TokenizationRegistry.onDidChange(e=>this.stop())),this._register(this._editor.onKeyUp(e=>9===e.keyCode&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new InspectTokensWidget(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};InspectTokensController=InspectTokensController_1=__decorate$b([__param$7(1,IStandaloneThemeService),__param$7(2,ILanguageService)],InspectTokensController);class InspectTokens extends EditorAction{constructor(){super({id:"editor.action.inspectTokens",label:InspectTokensNLS.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=InspectTokensController.get(t);i?.launch()}}function renderTokenText(e){let t="";for(let i=0,o=e.length;iNullState,tokenize:(e,i,o)=>nullTokenize(t,o),tokenizeEncoded:(e,t,i)=>nullTokenizeEncoded(o,i)}}class InspectTokensWidget extends Disposable{static{this._ID="editor.contrib.inspectTokensWidget"}constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=getSafeTokenizationSupport(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(e=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return InspectTokensWidget._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let a=t.tokens1.length-1;a>=0;a--){const o=t.tokens1[a];if(e.column-1>=o.offset){i=a;break}}let o=0;for(let a=t.tokens2.length>>>1;a>=0;a--)if(e.column-1>=t.tokens2[a<<1]){o=a;break}const n=this._model.getLineContent(e.lineNumber);let r="";if(i=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$6=function(e,t){return function(i,o){t(i,o,e)}},HelpQuickAccessProvider_1;let HelpQuickAccessProvider=class{static{HelpQuickAccessProvider_1=this}static{this.PREFIX="?"}constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Registry.as(Extensions$2.Quickaccess)}provide(e){const t=new DisposableStore;return t.add(e.onDidAccept(()=>{const[t]=e.selectedItems;t&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(e=>{const t=this.registry.getQuickAccessProvider(e.substr(HelpQuickAccessProvider_1.PREFIX.length));t&&t.prefix&&t.prefix!==HelpQuickAccessProvider_1.PREFIX&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(e=>e.prefix!==HelpQuickAccessProvider_1.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((e,t)=>e.prefix.localeCompare(t.prefix)).flatMap(e=>this.createPicks(e))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,o=i||"…";return{prefix:i,label:o,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:localize("helpPickAriaLabel","{0}, {1}",o,t.description),description:t.description}})}};HelpQuickAccessProvider=HelpQuickAccessProvider_1=__decorate$a([__param$6(0,IQuickInputService),__param$6(1,IKeybindingService)],HelpQuickAccessProvider),Registry.as(Extensions$2.Quickaccess).registerQuickAccessProvider({ctor:HelpQuickAccessProvider,prefix:"",helpEntries:[{description:QuickHelpNLS.helpQuickAccessActionLabel}]});class AbstractEditorNavigationQuickAccessProvider{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){const o=new DisposableStore;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const n=o.add(new MutableDisposable);return n.value=this.doProvide(e,t,i),o.add(this.onDidActiveTextEditorControlChange(()=>{n.value=void 0,n.value=this.doProvide(e,t)})),o}doProvide(e,t,i){const o=new DisposableStore,n=this.activeTextEditorControl;if(n&&this.canProvideWithTextEditor(n)){const r={editor:n},s=getCodeEditor(n);if(s){let e=n.saveViewState()??void 0;o.add(s.onDidChangeCursorPosition(()=>{e=n.saveViewState()??void 0})),r.restoreViewState=()=>{e&&n===this.activeTextEditorControl&&n.restoreViewState(e)},o.add(createSingleCallFunction(t.onCancellationRequested)(()=>r.restoreViewState?.()))}o.add(toDisposable(()=>this.clearDecorations(n))),o.add(this.provideWithTextEditor(r,e,t,i))}else o.add(this.provideWithoutTextEditor(e,t));return o}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&status(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){return isDiffEditor(e)?e.getModel()?.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(e=>{const i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),i.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const o=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:themeColorFromId(overviewRulerRangeHighlight),position:OverviewRulerLane.Full}}}],[n,r]=e.deltaDecorations(i,o);this.rangeHighlightDecorationId={rangeHighlightId:n,overviewRulerDecorationId:r}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(e=>{e.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigationQuickAccessProvider{static{this.PREFIX=":"}constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=localize("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Disposable.None}provideWithTextEditor(e,t,i){const o=e.editor,n=new DisposableStore;n.add(t.onDidAccept(i=>{const[n]=t.selectedItems;if(n){if(!this.isValidLineNumber(o,n.lineNumber))return;this.gotoLocation(e,{range:this.toRange(n.lineNumber,n.column),keyMods:t.keyMods,preserveFocus:i.inBackground}),i.inBackground||t.hide()}}));const r=()=>{const e=this.parsePosition(o,t.value.trim().substr(AbstractGotoLineQuickAccessProvider.PREFIX.length)),i=this.getPickLabel(o,e.lineNumber,e.column);if(t.items=[{lineNumber:e.lineNumber,column:e.column,label:i}],t.ariaLabel=i,!this.isValidLineNumber(o,e.lineNumber))return void this.clearDecorations(o);const n=this.toRange(e.lineNumber,e.column);o.revealRangeInCenter(n,0),this.addDecorations(o,n)};r(),n.add(t.onDidChangeValue(()=>r()));const s=getCodeEditor(o);if(s){2===s.getOptions().get(68).renderType&&(s.updateOptions({lineNumbers:"on"}),n.add(toDisposable(()=>s.updateOptions({lineNumbers:"relative"}))))}return n}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(e=>parseInt(e,10)).filter(e=>!isNaN(e)),o=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:o+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?localize("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):localize("gotoLineLabel","Go to line {0}.",t);const o=e.getPosition()||{lineNumber:1,column:1},n=this.lineCount(e);return n>1?localize("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",o.lineNumber,o.column,n):localize("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",o.lineNumber,o.column)}isValidLineNumber(e,t){return!(!t||"number"!=typeof t)&&(t>0&&t<=this.lineCount(e))}isValidColumn(e,t,i){if(!i||"number"!=typeof i)return!1;const o=this.getModel(e);if(!o)return!1;const n={lineNumber:t,column:i};return o.validatePosition(n).equals(n)}lineCount(e){return this.getModel(e)?.getLineCount()??0}}var __decorate$9=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$5=function(e,t){return function(i,o){t(i,o,e)}};let StandaloneGotoLineQuickAccessProvider=class extends AbstractGotoLineQuickAccessProvider{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=Event$1.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};StandaloneGotoLineQuickAccessProvider=__decorate$9([__param$5(0,ICodeEditorService)],StandaloneGotoLineQuickAccessProvider);let GotoLineAction$1=class e extends EditorAction{static{this.ID="editor.action.gotoLine"}constructor(){super({id:e.ID,label:GoToLineNLS.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(IQuickInputService).quickAccess.show(StandaloneGotoLineQuickAccessProvider.PREFIX)}};registerEditorAction(GotoLineAction$1),Registry.as(Extensions$2.Quickaccess).registerQuickAccessProvider({ctor:StandaloneGotoLineQuickAccessProvider,prefix:StandaloneGotoLineQuickAccessProvider.PREFIX,helpEntries:[{description:GoToLineNLS.gotoLineActionLabel,commandId:GotoLineAction$1.ID}]});const NO_SCORE2=[void 0,[]];function scoreFuzzy2(e,t,i=0,o=0){const n=t;return n.values&&n.values.length>1?doScoreFuzzy2Multiple(e,n.values,i,o):doScoreFuzzy2Single(e,t,i,o)}function doScoreFuzzy2Multiple(e,t,i,o){let n=0;const r=[];for(const s of t){const[t,a]=doScoreFuzzy2Single(e,s,i,o);if("number"!=typeof t)return NO_SCORE2;n+=t,r.push(...a)}return[n,normalizeMatches(r)]}function doScoreFuzzy2Single(e,t,i,o){const n=fuzzyScore(t.original,t.originalLowercase,i,e,e.toLowerCase(),o,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],createMatches(n)]:NO_SCORE2}function normalizeMatches(e){const t=e.sort((e,t)=>e.start-t.start),i=[];let o;for(const n of t)o&&matchOverlaps(o,n)?(o.start=Math.min(o.start,n.start),o.end=Math.max(o.end,n.end)):(o=n,i.push(n));return i}function matchOverlaps(e,t){return!(e.end=0,s=queryExpectsExactMatch(e);let a;const l=e.split(MULTIPLE_QUERY_VALUES_SEPARATOR);if(l.length>1)for(const c of l){const e=queryExpectsExactMatch(c),{pathNormalized:t,normalized:i,normalizedLowercase:o}=normalizeQuery$1(c);i&&(a||(a=[]),a.push({original:c,originalLowercase:c.toLowerCase(),pathNormalized:t,normalized:i,normalizedLowercase:o,expectContiguousMatch:e}))}return{original:e,originalLowercase:t,pathNormalized:i,normalized:o,normalizedLowercase:n,values:a,containsPathSeparator:r,expectContiguousMatch:s}}function normalizeQuery$1(e){let t;t=isWindows?e.replace(/\//g,sep):e.replace(/\\/g,sep);const i=stripWildcards(t).replace(/\s|"/g,"");return{pathNormalized:t,normalized:i,normalizedLowercase:i.toLowerCase()}}function pieceToQuery(e){return Array.isArray(e)?prepareQuery(e.map(e=>e.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR)):prepareQuery(e.original)}var __decorate$8=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$4=function(e,t){return function(i,o){t(i,o,e)}},AbstractGotoSymbolQuickAccessProvider_1;let AbstractGotoSymbolQuickAccessProvider=class extends AbstractEditorNavigationQuickAccessProvider{static{AbstractGotoSymbolQuickAccessProvider_1=this}static{this.PREFIX="@"}static{this.SCOPE_PREFIX=":"}static{this.PREFIX_BY_CATEGORY=`${this.PREFIX}${this.SCOPE_PREFIX}`}constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,localize("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Disposable.None}provideWithTextEditor(e,t,i,o){const n=e.editor,r=this.getModel(n);return r?this._languageFeaturesService.documentSymbolProvider.has(r)?this.doProvideWithEditorSymbols(e,r,t,i,o):this.doProvideWithoutEditorSymbols(e,r,t,i):Disposable.None}doProvideWithoutEditorSymbols(e,t,i,o){const n=new DisposableStore;return this.provideLabelPick(i,localize("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(t,n)&&!o.isCancellationRequested&&n.add(this.doProvideWithEditorSymbols(e,t,i,o))})(),n}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new DeferredPromise,o=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(o.dispose(),i.complete(!0))}));return t.add(toDisposable(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,o,n){const r=e.editor,s=new DisposableStore;s.add(i.onDidAccept(t=>{const[o]=i.selectedItems;o&&o.range&&(this.gotoLocation(e,{range:o.range.selection,keyMods:i.keyMods,preserveFocus:t.inBackground}),n?.handleAccept?.(o),t.inBackground||i.hide())})),s.add(i.onDidTriggerItemButton(({item:t})=>{t&&t.range&&(this.gotoLocation(e,{range:t.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const a=this.getDocumentSymbols(t,o);let l;const c=async e=>{l?.dispose(!0),i.busy=!1,l=new CancellationTokenSource$1(o),i.busy=!0;try{const n=prepareQuery(i.value.substr(AbstractGotoSymbolQuickAccessProvider_1.PREFIX.length).trim()),r=await this.doGetSymbolPicks(a,n,void 0,l.token,t);if(o.isCancellationRequested)return;if(r.length>0){if(i.items=r,e&&0===n.original.length){const t=findLast$1(r,t=>Boolean("separator"!==t.type&&t.range&&Range$2.containsPosition(t.range.decoration,e)));t&&(i.activeItems=[t])}}else n.original.length>0?this.provideLabelPick(i,localize("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,localize("noSymbolResults","No editor symbols"))}finally{o.isCancellationRequested||(i.busy=!1)}};return s.add(i.onDidChangeValue(()=>c(void 0))),c(r.getSelection()?.getPosition()),s.add(i.onDidChangeActive(()=>{const[e]=i.activeItems;e&&e.range&&(r.revealRangeInCenter(e.range.selection,0),this.addDecorations(r,e.range.decoration))})),s}async doGetSymbolPicks(e,t,i,o,n){const r=await e;if(o.isCancellationRequested)return[];const s=0===t.original.indexOf(AbstractGotoSymbolQuickAccessProvider_1.SCOPE_PREFIX),a=s?1:0;let l,c,d;t.values&&t.values.length>1?(l=pieceToQuery(t.values[0]),c=pieceToQuery(t.values.slice(1))):l=t;const u=this.options?.openSideBySideDirection?.();u&&(d=[{iconClass:"right"===u?ThemeIcon.asClassName(Codicon.splitHorizontal):ThemeIcon.asClassName(Codicon.splitVertical),tooltip:"right"===u?localize("openToSide","Open to the Side"):localize("openToBottom","Open to the Bottom")}]);const h=[];for(let m=0;ma){let E=!1;if(l!==t&&([y,C]=scoreFuzzy2(b,{...t,values:void 0},a,_),"number"==typeof y&&(E=!0)),"number"!=typeof y&&([y,C]=scoreFuzzy2(b,l,a,_),"number"!=typeof y))continue;if(!E&&c){if(S&&c.original.length>0&&([w,x]=scoreFuzzy2(S,c)),"number"!=typeof w)continue;"number"==typeof y&&(y+=w)}}const k=f.tags&&f.tags.indexOf(1)>=0;h.push({index:m,kind:f.kind,score:y,label:b,ariaLabel:getAriaLabelForSymbol(f.name,f.kind),description:S,highlights:k?void 0:{label:C,description:x},range:{selection:Range$2.collapseToStart(f.selectionRange),decoration:f.range},uri:n.uri,symbolName:v,strikethrough:k,buttons:d})}const p=h.sort((e,t)=>s?this.compareByKindAndScore(e,t):this.compareByScore(e,t));let g=[];if(s){let I,T,D=0;function L(){T&&"number"==typeof I&&D>0&&(T.label=format$1(NLS_SYMBOL_KIND_CACHE[I]||FALLBACK_NLS_SYMBOL_KIND,D))}for(const N of p)I!==N.kind?(L(),I=N.kind,D=1,T={type:"separator"},g.push(T)):D++,g.push(N);L()}else p.length>0&&(g=[{label:localize("symbols","symbols ({0})",h.length),type:"separator"},...p]);return g}compareByScore(e,t){if("number"!=typeof e.score&&"number"==typeof t.score)return 1;if("number"==typeof e.score&&"number"!=typeof t.score)return-1;if("number"==typeof e.score&&"number"==typeof t.score){if(e.score>t.score)return-1;if(e.scoret.index?1:0}compareByKindAndScore(e,t){const i=NLS_SYMBOL_KIND_CACHE[e.kind]||FALLBACK_NLS_SYMBOL_KIND,o=NLS_SYMBOL_KIND_CACHE[t.kind]||FALLBACK_NLS_SYMBOL_KIND,n=i.localeCompare(o);return 0===n?this.compareByScore(e,t):n}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}};AbstractGotoSymbolQuickAccessProvider=AbstractGotoSymbolQuickAccessProvider_1=__decorate$8([__param$4(0,ILanguageFeaturesService),__param$4(1,IOutlineModelService)],AbstractGotoSymbolQuickAccessProvider);const FALLBACK_NLS_SYMBOL_KIND=localize("property","properties ({0})"),NLS_SYMBOL_KIND_CACHE={5:localize("method","methods ({0})"),11:localize("function","functions ({0})"),8:localize("_constructor","constructors ({0})"),12:localize("variable","variables ({0})"),4:localize("class","classes ({0})"),22:localize("struct","structs ({0})"),23:localize("event","events ({0})"),24:localize("operator","operators ({0})"),10:localize("interface","interfaces ({0})"),2:localize("namespace","namespaces ({0})"),3:localize("package","packages ({0})"),25:localize("typeParameter","type parameters ({0})"),1:localize("modules","modules ({0})"),6:localize("property","properties ({0})"),9:localize("enum","enumerations ({0})"),21:localize("enumMember","enumeration members ({0})"),14:localize("string","strings ({0})"),0:localize("file","files ({0})"),17:localize("array","arrays ({0})"),15:localize("number","numbers ({0})"),16:localize("boolean","booleans ({0})"),18:localize("object","objects ({0})"),19:localize("key","keys ({0})"),7:localize("field","fields ({0})"),13:localize("constant","constants ({0})")};var __decorate$7=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$3=function(e,t){return function(i,o){t(i,o,e)}};let StandaloneGotoSymbolQuickAccessProvider=class extends AbstractGotoSymbolQuickAccessProvider{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=Event$1.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};StandaloneGotoSymbolQuickAccessProvider=__decorate$7([__param$3(0,ICodeEditorService),__param$3(1,ILanguageFeaturesService),__param$3(2,IOutlineModelService)],StandaloneGotoSymbolQuickAccessProvider);class GotoSymbolAction extends EditorAction{static{this.ID="editor.action.quickOutline"}constructor(){super({id:GotoSymbolAction.ID,label:QuickOutlineNLS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:EditorContextKeys.hasDocumentSymbolProvider,kbOpts:{kbExpr:EditorContextKeys.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(IQuickInputService).quickAccess.show(AbstractGotoSymbolQuickAccessProvider.PREFIX,{itemActivation:ItemActivation.NONE})}}function countMapFrom(e){const t=new Map;for(const i of e)t.set(i,(t.get(i)??0)+1);return t}registerEditorAction(GotoSymbolAction),Registry.as(Extensions$2.Quickaccess).registerQuickAccessProvider({ctor:StandaloneGotoSymbolQuickAccessProvider,prefix:AbstractGotoSymbolQuickAccessProvider.PREFIX,helpEntries:[{description:QuickOutlineNLS.quickOutlineActionLabel,prefix:AbstractGotoSymbolQuickAccessProvider.PREFIX,commandId:GotoSymbolAction.ID},{description:QuickOutlineNLS.quickOutlineByCategoryActionLabel,prefix:AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY}]});class TfIdfCalculator{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),o=new Map,n=[];for(const[r,s]of this.documents){if(t.isCancellationRequested)return[];for(const e of s.chunks){const t=this.computeSimilarityScore(e,i,o);t>0&&n.push({key:r,score:t})}}return n}static termFrequencies(e){return countMapFrom(TfIdfCalculator.splitTerms(e))}static*splitTerms(e){const t=e=>e.toLowerCase();for(const[i]of e.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield t(i);const e=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(e.length>1)for(const i of e)i.length>2&&/\p{Letter}{3,}/gu.test(i)&&(yield t(i))}}updateDocuments(e){for(const{key:t}of e)this.deleteDocument(t);for(const t of e){const e=[];for(const i of t.textChunks){const t=TfIdfCalculator.termFrequencies(i);for(const e of t.keys())this.chunkOccurrences.set(e,(this.chunkOccurrences.get(e)??0)+1);e.push({text:i,tf:t})}this.chunkCount+=e.length,this.documents.set(t.key,{chunks:e})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const e of t.chunks)for(const t of e.tf.keys()){const e=this.chunkOccurrences.get(t);if("number"==typeof e){const i=e-1;i<=0?this.chunkOccurrences.delete(t):this.chunkOccurrences.set(t,i)}}}}computeSimilarityScore(e,t,i){let o=0;for(const[n,r]of Object.entries(t)){const t=e.tf.get(n);if(!t)continue;let s=i.get(n);"number"!=typeof s&&(s=this.computeIdf(n),i.set(n,s));o+=t*s*r}return o}computeEmbedding(e){const t=TfIdfCalculator.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){const t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,o]of e){const e=this.computeIdf(i);e>0&&(t[i]=o*e)}return t}}function normalizeTfIdfScores(e){const t=e.slice(0);t.sort((e,t)=>t.score-e.score);const i=t[0]?.score??0;if(i>0)for(const o of t)o.score/=i;return t}var TriggerAction;function isPicksWithActive(e){const t=e;return Array.isArray(t.items)}function isFastAndSlowPicks(e){const t=e;return!!t.picks&&t.additionalPicks instanceof Promise}!function(e){e[e.NO_ACTION=0]="NO_ACTION",e[e.CLOSE_PICKER=1]="CLOSE_PICKER",e[e.REFRESH_PICKER=2]="REFRESH_PICKER",e[e.REMOVE_ITEM=3]="REMOVE_ITEM"}(TriggerAction||(TriggerAction={}));class PickerQuickAccessProvider extends Disposable{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){const o=new DisposableStore;let n;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const r=o.add(new MutableDisposable),s=async()=>{const o=r.value=new DisposableStore;n?.dispose(!0),e.busy=!1,n=new CancellationTokenSource$1(t);const s=n.token;let a=e.value.substring(this.prefix.length);this.options?.shouldSkipTrimPickFilter||(a=a.trim());const l=this._getPicks(a,o,s,i),c=(t,i)=>{let o,n;if(isPicksWithActive(t)?(o=t.items,n=t.active):o=t,0===o.length){if(i)return!1;(a.length>0||e.hideInput)&&this.options?.noResultsPick&&(o=isFunction$5(this.options.noResultsPick)?[this.options.noResultsPick(a)]:[this.options.noResultsPick])}return e.items=o,n&&(e.activeItems=[n]),!0},d=async t=>{let i=!1,o=!1;await Promise.all([(async()=>{"number"==typeof t.mergeDelay&&(await timeout(t.mergeDelay),s.isCancellationRequested)||o||(i=c(t.picks,!0))})(),(async()=>{e.busy=!0;try{const o=await t.additionalPicks;if(s.isCancellationRequested)return;let n,r,a,l;if(isPicksWithActive(t.picks)?(n=t.picks.items,r=t.picks.active):n=t.picks,isPicksWithActive(o)?(a=o.items,l=o.active):a=o,a.length>0||!i){let t;if(!r&&!l){const i=e.activeItems[0];i&&-1!==n.indexOf(i)&&(t=i)}c({items:[...n,...a],active:r||l||t})}}finally{s.isCancellationRequested||(e.busy=!1),o=!0}})()])};if(null===l);else if(isFastAndSlowPicks(l))await d(l);else if(l instanceof Promise){e.busy=!0;try{const e=await l;if(s.isCancellationRequested)return;isFastAndSlowPicks(e)?await d(e):c(e)}finally{s.isCancellationRequested||(e.busy=!1)}}else c(l)};o.add(e.onDidChangeValue(()=>s())),s(),o.add(e.onDidAccept(t=>{if(i?.handleAccept)return t.inBackground||e.hide(),void i.handleAccept?.(e.activeItems[0]);const[o]=e.selectedItems;"function"==typeof o?.accept&&(t.inBackground||e.hide(),o.accept(e.keyMods,t))}));const a=async(i,o)=>{if("function"!=typeof o.trigger)return;const n=o.buttons?.indexOf(i)??-1;if(n>=0){const i=o.trigger(n,e.keyMods),r="number"==typeof i?i:await i;if(t.isCancellationRequested)return;switch(r){case TriggerAction.NO_ACTION:break;case TriggerAction.CLOSE_PICKER:e.hide();break;case TriggerAction.REFRESH_PICKER:s();break;case TriggerAction.REMOVE_ITEM:{const t=e.items.indexOf(o);if(-1!==t){const i=e.items.slice(),o=i.splice(t,1),n=e.activeItems.filter(e=>e!==o[0]),r=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=i,n&&(e.activeItems=n),e.keepScrollPosition=r}break}}}};return o.add(e.onDidTriggerItemButton(({button:e,item:t})=>a(e,t))),o.add(e.onDidTriggerSeparatorButton(({button:e,separator:t})=>a(e,t))),o}}var __decorate$6=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$2=function(e,t){return function(i,o){t(i,o,e)}},AbstractCommandsQuickAccessProvider_1,CommandsHistory_1;let AbstractCommandsQuickAccessProvider=class extends PickerQuickAccessProvider{static{AbstractCommandsQuickAccessProvider_1=this}static{this.PREFIX=">"}static{this.TFIDF_THRESHOLD=.5}static{this.TFIDF_MAX_RESULTS=5}static{this.WORD_FILTER=or(matchesPrefix,matchesWords,matchesContiguousSubString)}constructor(e,t,i,o,n,r){super(AbstractCommandsQuickAccessProvider_1.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=o,this.telemetryService=n,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(CommandsHistory)),this.options=e}async _getPicks(e,t,i,o){const n=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=createSingleCallFunction(()=>{const t=new TfIdfCalculator;t.updateDocuments(n.map(e=>({key:e.commandId,textChunks:[this.getTfIdfChunk(e)]})));return normalizeTfIdfScores(t.calculateScores(e,i)).filter(e=>e.score>AbstractCommandsQuickAccessProvider_1.TFIDF_THRESHOLD).slice(0,AbstractCommandsQuickAccessProvider_1.TFIDF_MAX_RESULTS)}),s=[];for(const h of n){const t=AbstractCommandsQuickAccessProvider_1.WORD_FILTER(e,h.label)??void 0,o=h.commandAlias?AbstractCommandsQuickAccessProvider_1.WORD_FILTER(e,h.commandAlias)??void 0:void 0;if(t||o)h.highlights={label:t,detail:this.options.showAlias?o:void 0},s.push(h);else if(e===h.commandId)s.push(h);else if(e.length>=3){const e=r();if(i.isCancellationRequested)return[];const t=e.find(e=>e.key===h.commandId);t&&(h.tfIdfScore=t.score,s.push(h))}}const a=new Map;for(const h of s){const e=a.get(h.label);e?(h.description=h.commandId,e.description=e.commandId):a.set(h.label,h)}s.sort((e,t)=>{if(e.tfIdfScore&&t.tfIdfScore)return e.tfIdfScore===t.tfIdfScore?e.label.localeCompare(t.label):t.tfIdfScore-e.tfIdfScore;if(e.tfIdfScore)return 1;if(t.tfIdfScore)return-1;const i=this.commandsHistory.peek(e.commandId),o=this.commandsHistory.peek(t.commandId);if(i&&o)return i>o?-1:1;if(i)return-1;if(o)return 1;if(this.options.suggestedCommandIds){const i=this.options.suggestedCommandIds.has(e.commandId),o=this.options.suggestedCommandIds.has(t.commandId);if(i&&o)return 0;if(i)return-1;if(o)return 1}return e.label.localeCompare(t.label)});const l=[];let c=!1,d=!0,u=!!this.options.suggestedCommandIds;for(let h=0;h{const t=await this.getAdditionalCommandPicks(n,s,e,i);if(i.isCancellationRequested)return[];const r=t.map(e=>this.toCommandPick(e,o));return d&&"separator"!==r[0]?.type&&r.unshift({type:"separator",label:localize("suggested","similar commands")}),r})()}:l}toCommandPick(e,t){if("separator"===e.type)return e;const i=this.keybindingService.lookupKeybinding(e.commandId),o=i?localize("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:o,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:t?.from??"quick open"});try{e.args?.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(error){isCancellationError(error)||this.dialogService.error(localize("canNotRun","Command '{0}' resulted in an error",e.label),toErrorMessage(error))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let o=e;return t&&t!==e&&(o+=` - ${t}`),i&&i.value!==e&&(o+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),o}};AbstractCommandsQuickAccessProvider=AbstractCommandsQuickAccessProvider_1=__decorate$6([__param$2(1,IInstantiationService),__param$2(2,IKeybindingService),__param$2(3,ICommandService),__param$2(4,ITelemetryService),__param$2(5,IDialogService)],AbstractCommandsQuickAccessProvider);let CommandsHistory=class extends Disposable{static{CommandsHistory_1=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(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===WillSaveStateReason.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=CommandsHistory_1.getConfiguredCommandHistoryLength(this.configurationService),CommandsHistory_1.cache&&CommandsHistory_1.cache.limit!==this.configuredCommandsHistoryLength&&(CommandsHistory_1.cache.limit=this.configuredCommandsHistoryLength,CommandsHistory_1.hasChanges=!0))}load(){const e=this.storageService.get(CommandsHistory_1.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(error){this.logService.error(`[CommandsHistory] invalid data: ${error}`)}const i=CommandsHistory_1.cache=new LRUCache(this.configuredCommandsHistoryLength,1);if(t){let e;e=t.usesLRU?t.entries:t.entries.sort((e,t)=>e.value-t.value),e.forEach(e=>i.set(e.key,e.value))}CommandsHistory_1.counter=this.storageService.getNumber(CommandsHistory_1.PREF_KEY_COUNTER,0,CommandsHistory_1.counter)}push(e){CommandsHistory_1.cache&&(CommandsHistory_1.cache.set(e,CommandsHistory_1.counter++),CommandsHistory_1.hasChanges=!0)}peek(e){return CommandsHistory_1.cache?.peek(e)}saveState(){if(!CommandsHistory_1.cache)return;if(!CommandsHistory_1.hasChanges)return;const e={usesLRU:!0,entries:[]};CommandsHistory_1.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(CommandsHistory_1.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(CommandsHistory_1.PREF_KEY_COUNTER,CommandsHistory_1.counter,0,0),CommandsHistory_1.hasChanges=!1}static getConfiguredCommandHistoryLength(e){const t=e.getValue(),i=t.workbench?.commandPalette?.history;return"number"==typeof i?i:CommandsHistory_1.DEFAULT_COMMANDS_HISTORY_LENGTH}};CommandsHistory=CommandsHistory_1=__decorate$6([__param$2(0,IStorageService),__param$2(1,IConfigurationService),__param$2(2,ILogService)],CommandsHistory);class AbstractEditorCommandsQuickAccessProvider extends AbstractCommandsQuickAccessProvider{constructor(e,t,i,o,n,r){super(e,t,i,o,n,r)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const i of e.getSupportedActions()){let e;i.metadata?.description&&(e=isLocalizedString(i.metadata.description)?i.metadata.description:{original:i.metadata.description,value:i.metadata.description}),t.push({commandId:i.id,commandAlias:i.alias,commandDescription:e,label:stripIcons(i.label)||i.id})}return t}}var __decorate$5=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param$1=function(e,t){return function(i,o){t(i,o,e)}};let StandaloneCommandsQuickAccessProvider=class extends AbstractEditorCommandsQuickAccessProvider{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,o,n,r){super({showAlias:!1},e,i,o,n,r),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};StandaloneCommandsQuickAccessProvider=__decorate$5([__param$1(0,IInstantiationService),__param$1(1,ICodeEditorService),__param$1(2,IKeybindingService),__param$1(3,ICommandService),__param$1(4,ITelemetryService),__param$1(5,IDialogService)],StandaloneCommandsQuickAccessProvider);class GotoLineAction extends EditorAction{static{this.ID="editor.action.quickCommand"}constructor(){super({id:GotoLineAction.ID,label:QuickCommandNLS.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(IQuickInputService).quickAccess.show(StandaloneCommandsQuickAccessProvider.PREFIX)}}registerEditorAction(GotoLineAction),Registry.as(Extensions$2.Quickaccess).registerQuickAccessProvider({ctor:StandaloneCommandsQuickAccessProvider,prefix:StandaloneCommandsQuickAccessProvider.PREFIX,helpEntries:[{description:QuickCommandNLS.quickCommandHelp,commandId:GotoLineAction.ID}]});var __decorate$4=function(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param=function(e,t){return function(i,o){t(i,o,e)}};let StandaloneReferencesController=class extends ReferencesController{constructor(e,t,i,o,n,r,s){super(!0,e,t,i,o,n,r,s)}};StandaloneReferencesController=__decorate$4([__param(1,IContextKeyService),__param(2,ICodeEditorService),__param(3,INotificationService),__param(4,IInstantiationService),__param(5,IStorageService),__param(6,IConfigurationService)],StandaloneReferencesController),registerEditorContribution(ReferencesController.ID,StandaloneReferencesController,4);class ToggleHighContrast extends EditorAction{constructor(){super({id:"editor.action.toggleHighContrast",label:ToggleHighContrastNLS.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(IStandaloneThemeService),o=i.getColorTheme();isHighContrast(o.type)?(i.setTheme(this._originalThemeName||(isDark(o.type)?VS_DARK_THEME_NAME:VS_LIGHT_THEME_NAME)),this._originalThemeName=null):(i.setTheme(isDark(o.type)?HC_BLACK_THEME_NAME:HC_LIGHT_THEME_NAME),this._originalThemeName=o.themeName)}}registerEditorAction(ToggleHighContrast);const monaco=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:CancellationTokenSource,Emitter:Emitter,KeyCode:KeyCode,KeyMod:KeyMod,MarkerSeverity:MarkerSeverity,MarkerTag:MarkerTag,Position:Position,Range:Range,Selection:Selection,SelectionDirection:SelectionDirection,Token:Token,Uri:Uri,editor:editor,languages:languages},Symbol.toStringTag,{value:"Module"}));function WorkerWrapper$5(e){return new Worker("/tmagic-editor/playground/assets/editor.worker-BF8sMY45.js",{name:e?.name})}function WorkerWrapper$4(e){return new Worker("/tmagic-editor/playground/assets/css.worker-CffjfGaH.js",{name:e?.name})}function WorkerWrapper$3(e){return new Worker("/tmagic-editor/playground/assets/html.worker-BnkIKlUq.js",{name:e?.name})}function WorkerWrapper$2(e){return new Worker("/tmagic-editor/playground/assets/json.worker-BoBKUCni.js",{name:e?.name})}function WorkerWrapper$1(e){return new Worker("/tmagic-editor/playground/assets/ts.worker-58P_SjQh.js",{name:e?.name})}var top="top",bottom="bottom",right="right",left="left",auto="auto",basePlacements=[top,bottom,right,left],start="start",end="end",clippingParents="clippingParents",viewport="viewport",popper="popper",reference="reference",variationPlacements=basePlacements.reduce(function(e,t){return e.concat([t+"-"+start,t+"-"+end])},[]),placements=[].concat(basePlacements,[auto]).reduce(function(e,t){return e.concat([t,t+"-"+start,t+"-"+end])},[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function getNodeName(e){return e?(e.nodeName||"").toLowerCase():null}function getWindow$1(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function isElement$1(e){return e instanceof getWindow$1(e).Element||e instanceof Element}function isHTMLElement(e){return e instanceof getWindow$1(e).HTMLElement||e instanceof HTMLElement}function isShadowRoot(e){return"undefined"!=typeof ShadowRoot&&(e instanceof getWindow$1(e).ShadowRoot||e instanceof ShadowRoot)}function applyStyles(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var i=t.styles[e]||{},o=t.attributes[e]||{},n=t.elements[e];isHTMLElement(n)&&getNodeName(n)&&(Object.assign(n.style,i),Object.keys(o).forEach(function(e){var t=o[e];!1===t?n.removeAttribute(e):n.setAttribute(e,!0===t?"":t)}))})}function effect$2(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(e){var o=t.elements[e],n=t.attributes[e]||{},r=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:i[e]).reduce(function(e,t){return e[t]="",e},{});isHTMLElement(o)&&getNodeName(o)&&(Object.assign(o.style,r),Object.keys(n).forEach(function(e){o.removeAttribute(e)}))})}}const applyStyles$1={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect$2,requires:["computeStyles"]};function getBasePlacement(e){return e.split("-")[0]}var max=Math.max,min=Math.min,round=Math.round;function getUAString(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var o=e.getBoundingClientRect(),n=1,r=1;t&&isHTMLElement(e)&&(n=e.offsetWidth>0&&round(o.width)/e.offsetWidth||1,r=e.offsetHeight>0&&round(o.height)/e.offsetHeight||1);var s=(isElement$1(e)?getWindow$1(e):window).visualViewport,a=!isLayoutViewport()&&i,l=(o.left+(a&&s?s.offsetLeft:0))/n,c=(o.top+(a&&s?s.offsetTop:0))/r,d=o.width/n,u=o.height/r;return{width:d,height:u,top:c,right:l+d,bottom:c+u,left:l,x:l,y:c}}function getLayoutRect(e){var t=getBoundingClientRect(e),i=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:o}}function contains(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&isShadowRoot(i)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function getComputedStyle$2(e){return getWindow$1(e).getComputedStyle(e)}function isTableElement(e){return["table","td","th"].indexOf(getNodeName(e))>=0}function getDocumentElement$1(e){return((isElement$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode(e){return"html"===getNodeName(e)?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement$1(e)}function getTrueOffsetParent(e){return isHTMLElement(e)&&"fixed"!==getComputedStyle$2(e).position?e.offsetParent:null}function getContainingBlock(e){var t=/firefox/i.test(getUAString());if(/Trident/i.test(getUAString())&&isHTMLElement(e)&&"fixed"===getComputedStyle$2(e).position)return null;var i=getParentNode(e);for(isShadowRoot(i)&&(i=i.host);isHTMLElement(i)&&["html","body"].indexOf(getNodeName(i))<0;){var o=getComputedStyle$2(i);if("none"!==o.transform||"none"!==o.perspective||"paint"===o.contain||-1!==["transform","perspective"].indexOf(o.willChange)||t&&"filter"===o.willChange||t&&o.filter&&"none"!==o.filter)return i;i=i.parentNode}return null}function getOffsetParent(e){for(var t=getWindow$1(e),i=getTrueOffsetParent(e);i&&isTableElement(i)&&"static"===getComputedStyle$2(i).position;)i=getTrueOffsetParent(i);return i&&("html"===getNodeName(i)||"body"===getNodeName(i)&&"static"===getComputedStyle$2(i).position)?t:i||getContainingBlock(e)||t}function getMainAxisFromPlacement(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function within(e,t,i){return max(e,min(t,i))}function withinMaxClamp(e,t,i){var o=within(e,t,i);return o>i?i:o}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(e){return Object.assign({},getFreshSideObject(),e)}function expandToHashMap(e,t){return t.reduce(function(t,i){return t[i]=e,t},{})}var toPaddingObject=function(e,t){return mergePaddingObject("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:expandToHashMap(e,basePlacements))};function arrow(e){var t,i=e.state,o=e.name,n=e.options,r=i.elements.arrow,s=i.modifiersData.popperOffsets,a=getBasePlacement(i.placement),l=getMainAxisFromPlacement(a),c=[left,right].indexOf(a)>=0?"height":"width";if(r&&s){var d=toPaddingObject(n.padding,i),u=getLayoutRect(r),h="y"===l?top:left,p="y"===l?bottom:right,g=i.rects.reference[c]+i.rects.reference[l]-s[l]-i.rects.popper[c],m=s[l]-i.rects.reference[l],f=getOffsetParent(r),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=g/2-m/2,_=d[h],y=v-u[c]-d[p],C=v/2-u[c]/2+b,w=within(_,C,y),x=l;i.modifiersData[o]=((t={})[x]=w,t.centerOffset=w-C,t)}}function effect$1(e){var t=e.state,i=e.options.element,o=void 0===i?"[data-popper-arrow]":i;null!=o&&("string"!=typeof o||(o=t.elements.popper.querySelector(o)))&&contains(t.elements.popper,o)&&(t.elements.arrow=o)}const arrow$1={name:"arrow",enabled:!0,phase:"main",fn:arrow,effect:effect$1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation(e){return e.split("-")[1]}var unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(e,t){var i=e.x,o=e.y,n=t.devicePixelRatio||1;return{x:round(i*n)/n||0,y:round(o*n)/n||0}}function mapToStyles(e){var t,i=e.popper,o=e.popperRect,n=e.placement,r=e.variation,s=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,u=e.isFixed,h=s.x,p=void 0===h?0:h,g=s.y,m=void 0===g?0:g,f="function"==typeof d?d({x:p,y:m}):{x:p,y:m};p=f.x,m=f.y;var v=s.hasOwnProperty("x"),b=s.hasOwnProperty("y"),_=left,y=top,C=window;if(c){var w=getOffsetParent(i),x="clientHeight",S="clientWidth";if(w===getWindow$1(i)&&"static"!==getComputedStyle$2(w=getDocumentElement$1(i)).position&&"absolute"===a&&(x="scrollHeight",S="scrollWidth"),n===top||(n===left||n===right)&&r===end)y=bottom,m-=(u&&w===C&&C.visualViewport?C.visualViewport.height:w[x])-o.height,m*=l?1:-1;if(n===left||(n===top||n===bottom)&&r===end)_=right,p-=(u&&w===C&&C.visualViewport?C.visualViewport.width:w[S])-o.width,p*=l?1:-1}var k,E=Object.assign({position:a},c&&unsetSides),I=!0===d?roundOffsetsByDPR({x:p,y:m},getWindow$1(i)):{x:p,y:m};return p=I.x,m=I.y,l?Object.assign({},E,((k={})[y]=b?"0":"",k[_]=v?"0":"",k.transform=(C.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",k)):Object.assign({},E,((t={})[y]=b?m+"px":"",t[_]=v?p+"px":"",t.transform="",t))}function computeStyles(e){var t=e.state,i=e.options,o=i.gpuAcceleration,n=void 0===o||o,r=i.adaptive,s=void 0===r||r,a=i.roundOffsets,l=void 0===a||a,c={placement:getBasePlacement(t.placement),variation:getVariation(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:n,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}};var passive={passive:!0};function effect(e){var t=e.state,i=e.instance,o=e.options,n=o.scroll,r=void 0===n||n,s=o.resize,a=void 0===s||s,l=getWindow$1(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&c.forEach(function(e){e.addEventListener("scroll",i.update,passive)}),a&&l.addEventListener("resize",i.update,passive),function(){r&&c.forEach(function(e){e.removeEventListener("scroll",i.update,passive)}),a&&l.removeEventListener("resize",i.update,passive)}}const eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect,data:{}};var hash$2={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,function(e){return hash$2[e]})}var hash$1={start:"end",end:"start"};function getOppositeVariationPlacement(e){return e.replace(/start|end/g,function(e){return hash$1[e]})}function getWindowScroll(e){var t=getWindow$1(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement$1(e)).left+getWindowScroll(e).scrollLeft}function getViewportRect(e,t){var i=getWindow$1(e),o=getDocumentElement$1(e),n=i.visualViewport,r=o.clientWidth,s=o.clientHeight,a=0,l=0;if(n){r=n.width,s=n.height;var c=isLayoutViewport();(c||!c&&"fixed"===t)&&(a=n.offsetLeft,l=n.offsetTop)}return{width:r,height:s,x:a+getWindowScrollBarX(e),y:l}}function getDocumentRect(e){var t,i=getDocumentElement$1(e),o=getWindowScroll(e),n=null==(t=e.ownerDocument)?void 0:t.body,r=max(i.scrollWidth,i.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),s=max(i.scrollHeight,i.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-o.scrollLeft+getWindowScrollBarX(e),l=-o.scrollTop;return"rtl"===getComputedStyle$2(n||i).direction&&(a+=max(i.clientWidth,n?n.clientWidth:0)-r),{width:r,height:s,x:a,y:l}}function isScrollParent(e){var t=getComputedStyle$2(e),i=t.overflow,o=t.overflowX,n=t.overflowY;return/auto|scroll|overlay|hidden/.test(i+n+o)}function getScrollParent$1(e){return["html","body","#document"].indexOf(getNodeName(e))>=0?e.ownerDocument.body:isHTMLElement(e)&&isScrollParent(e)?e:getScrollParent$1(getParentNode(e))}function listScrollParents(e,t){var i;void 0===t&&(t=[]);var o=getScrollParent$1(e),n=o===(null==(i=e.ownerDocument)?void 0:i.body),r=getWindow$1(o),s=n?[r].concat(r.visualViewport||[],isScrollParent(o)?o:[]):o,a=t.concat(s);return n?a:a.concat(listScrollParents(getParentNode(s)))}function rectToClientRect(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect(e,t){var i=getBoundingClientRect(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}function getClientRectFromMixedType(e,t,i){return t===viewport?rectToClientRect(getViewportRect(e,i)):isElement$1(t)?getInnerBoundingClientRect(t,i):rectToClientRect(getDocumentRect(getDocumentElement$1(e)))}function getClippingParents(e){var t=listScrollParents(getParentNode(e)),i=["absolute","fixed"].indexOf(getComputedStyle$2(e).position)>=0&&isHTMLElement(e)?getOffsetParent(e):e;return isElement$1(i)?t.filter(function(e){return isElement$1(e)&&contains(e,i)&&"body"!==getNodeName(e)}):[]}function getClippingRect(e,t,i,o){var n="clippingParents"===t?getClippingParents(e):[].concat(t),r=[].concat(n,[i]),s=r[0],a=r.reduce(function(t,i){var n=getClientRectFromMixedType(e,i,o);return t.top=max(n.top,t.top),t.right=min(n.right,t.right),t.bottom=min(n.bottom,t.bottom),t.left=max(n.left,t.left),t},getClientRectFromMixedType(e,s,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function computeOffsets(e){var t,i=e.reference,o=e.element,n=e.placement,r=n?getBasePlacement(n):null,s=n?getVariation(n):null,a=i.x+i.width/2-o.width/2,l=i.y+i.height/2-o.height/2;switch(r){case top:t={x:a,y:i.y-o.height};break;case bottom:t={x:a,y:i.y+i.height};break;case right:t={x:i.x+i.width,y:l};break;case left:t={x:i.x-o.width,y:l};break;default:t={x:i.x,y:i.y}}var c=r?getMainAxisFromPlacement(r):null;if(null!=c){var d="y"===c?"height":"width";switch(s){case start:t[c]=t[c]-(i[d]/2-o[d]/2);break;case end:t[c]=t[c]+(i[d]/2-o[d]/2)}}return t}function detectOverflow(e,t){void 0===t&&(t={});var i=t,o=i.placement,n=void 0===o?e.placement:o,r=i.strategy,s=void 0===r?e.strategy:r,a=i.boundary,l=void 0===a?clippingParents:a,c=i.rootBoundary,d=void 0===c?viewport:c,u=i.elementContext,h=void 0===u?popper:u,p=i.altBoundary,g=void 0!==p&&p,m=i.padding,f=void 0===m?0:m,v=mergePaddingObject("number"!=typeof f?f:expandToHashMap(f,basePlacements)),b=h===popper?reference:popper,_=e.rects.popper,y=e.elements[g?b:h],C=getClippingRect(isElement$1(y)?y:y.contextElement||getDocumentElement$1(e.elements.popper),l,d,s),w=getBoundingClientRect(e.elements.reference),x=computeOffsets({reference:w,element:_,placement:n}),S=rectToClientRect(Object.assign({},_,x)),k=h===popper?S:w,E={top:C.top-k.top+v.top,bottom:k.bottom-C.bottom+v.bottom,left:C.left-k.left+v.left,right:k.right-C.right+v.right},I=e.modifiersData.offset;if(h===popper&&I){var T=I[n];Object.keys(E).forEach(function(e){var t=[right,bottom].indexOf(e)>=0?1:-1,i=[top,bottom].indexOf(e)>=0?"y":"x";E[e]+=T[i]*t})}return E}function computeAutoPlacement(e,t){void 0===t&&(t={});var i=t,o=i.placement,n=i.boundary,r=i.rootBoundary,s=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?placements:l,d=getVariation(o),u=d?a?variationPlacements:variationPlacements.filter(function(e){return getVariation(e)===d}):basePlacements,h=u.filter(function(e){return c.indexOf(e)>=0});0===h.length&&(h=u);var p=h.reduce(function(t,i){return t[i]=detectOverflow(e,{placement:i,boundary:n,rootBoundary:r,padding:s})[getBasePlacement(i)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}function getExpandedFallbackPlacements(e){if(getBasePlacement(e)===auto)return[];var t=getOppositePlacement(e);return[getOppositeVariationPlacement(e),t,getOppositeVariationPlacement(t)]}function flip(e){var t=e.state,i=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var n=i.mainAxis,r=void 0===n||n,s=i.altAxis,a=void 0===s||s,l=i.fallbackPlacements,c=i.padding,d=i.boundary,u=i.rootBoundary,h=i.altBoundary,p=i.flipVariations,g=void 0===p||p,m=i.allowedAutoPlacements,f=t.options.placement,v=getBasePlacement(f),b=l||(v===f||!g?[getOppositePlacement(f)]:getExpandedFallbackPlacements(f)),_=[f].concat(b).reduce(function(e,i){return e.concat(getBasePlacement(i)===auto?computeAutoPlacement(t,{placement:i,boundary:d,rootBoundary:u,padding:c,flipVariations:g,allowedAutoPlacements:m}):i)},[]),y=t.rects.reference,C=t.rects.popper,w=new Map,x=!0,S=_[0],k=0;k<_.length;k++){var E=_[k],I=getBasePlacement(E),T=getVariation(E)===start,D=[top,bottom].indexOf(I)>=0,L=D?"width":"height",N=detectOverflow(t,{placement:E,boundary:d,rootBoundary:u,altBoundary:h,padding:c}),M=D?T?right:left:T?bottom:top;y[L]>C[L]&&(M=getOppositePlacement(M));var $=getOppositePlacement(M),R=[];if(r&&R.push(N[I]<=0),a&&R.push(N[M]<=0,N[$]<=0),R.every(function(e){return e})){S=E,x=!1;break}w.set(E,R)}if(x)for(var A=function(e){var t=_.find(function(t){var i=w.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return S=t,"break"},O=g?3:1;O>0;O--){if("break"===A(O))break}t.placement!==S&&(t.modifiersData[o]._skip=!0,t.placement=S,t.reset=!0)}}const flip$1={name:"flip",enabled:!0,phase:"main",fn:flip,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function isAnySideFullyClipped(e){return[top,right,bottom,left].some(function(t){return e[t]>=0})}function hide(e){var t=e.state,i=e.name,o=t.rects.reference,n=t.rects.popper,r=t.modifiersData.preventOverflow,s=detectOverflow(t,{elementContext:"reference"}),a=detectOverflow(t,{altBoundary:!0}),l=getSideOffsets(s,o),c=getSideOffsets(a,n,r),d=isAnySideFullyClipped(l),u=isAnySideFullyClipped(c);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":u})}const hide$1={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide};function distanceAndSkiddingToXY(e,t,i){var o=getBasePlacement(e),n=[left,top].indexOf(o)>=0?-1:1,r="function"==typeof i?i(Object.assign({},t,{placement:e})):i,s=r[0],a=r[1];return s=s||0,a=(a||0)*n,[left,right].indexOf(o)>=0?{x:a,y:s}:{x:s,y:a}}function offset(e){var t=e.state,i=e.options,o=e.name,n=i.offset,r=void 0===n?[0,0]:n,s=placements.reduce(function(e,i){return e[i]=distanceAndSkiddingToXY(i,t.rects,r),e},{}),a=s[t.placement],l=a.x,c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=s}const offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};function popperOffsets(e){var t=e.state,i=e.name;t.modifiersData[i]=computeOffsets({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}};function getAltAxis(e){return"x"===e?"y":"x"}function preventOverflow(e){var t=e.state,i=e.options,o=e.name,n=i.mainAxis,r=void 0===n||n,s=i.altAxis,a=void 0!==s&&s,l=i.boundary,c=i.rootBoundary,d=i.altBoundary,u=i.padding,h=i.tether,p=void 0===h||h,g=i.tetherOffset,m=void 0===g?0:g,f=detectOverflow(t,{boundary:l,rootBoundary:c,padding:u,altBoundary:d}),v=getBasePlacement(t.placement),b=getVariation(t.placement),_=!b,y=getMainAxisFromPlacement(v),C=getAltAxis(y),w=t.modifiersData.popperOffsets,x=t.rects.reference,S=t.rects.popper,k="function"==typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,E="number"==typeof k?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),I=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,T={x:0,y:0};if(w){if(r){var D,L="y"===y?top:left,N="y"===y?bottom:right,M="y"===y?"height":"width",$=w[y],R=$+f[L],A=$-f[N],O=p?-S[M]/2:0,P=b===start?x[M]:S[M],B=b===start?-S[M]:-x[M],F=t.elements.arrow,z=p&&F?getLayoutRect(F):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:getFreshSideObject(),H=V[L],W=V[N],K=within(0,x[M],z[M]),U=_?x[M]/2-O-K-H-E.mainAxis:P-K-H-E.mainAxis,j=_?-x[M]/2+O+K+W+E.mainAxis:B+K+W+E.mainAxis,G=t.elements.arrow&&getOffsetParent(t.elements.arrow),q=G?"y"===y?G.clientTop||0:G.clientLeft||0:0,Y=null!=(D=null==I?void 0:I[y])?D:0,X=$+j-Y,Q=within(p?min(R,$+U-Y-q):R,$,p?max(A,X):A);w[y]=Q,T[y]=Q-$}if(a){var Z,J="x"===y?top:left,ee="x"===y?bottom:right,te=w[C],ie="y"===C?"height":"width",oe=te+f[J],ne=te-f[ee],re=-1!==[top,left].indexOf(v),se=null!=(Z=null==I?void 0:I[C])?Z:0,ae=re?oe:te-x[ie]-S[ie]-se+E.altAxis,le=re?te+x[ie]+S[ie]-se-E.altAxis:ne,ce=p&&re?withinMaxClamp(ae,te,le):within(p?ae:oe,te,p?le:ne);w[C]=ce,T[C]=ce-te}t.modifiersData[o]=T}}const preventOverflow$1={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow,requiresIfExists:["offset"]};function getHTMLElementScroll(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll(e){return e!==getWindow$1(e)&&isHTMLElement(e)?getHTMLElementScroll(e):getWindowScroll(e)}function isElementScaled(e){var t=e.getBoundingClientRect(),i=round(t.width)/e.offsetWidth||1,o=round(t.height)/e.offsetHeight||1;return 1!==i||1!==o}function getCompositeRect(e,t,i){void 0===i&&(i=!1);var o=isHTMLElement(t),n=isHTMLElement(t)&&isElementScaled(t),r=getDocumentElement$1(t),s=getBoundingClientRect(e,n,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!i)&&(("body"!==getNodeName(t)||isScrollParent(r))&&(a=getNodeScroll(t)),isHTMLElement(t)?((l=getBoundingClientRect(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):r&&(l.x=getWindowScrollBarX(r))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function order(e){var t=new Map,i=new Set,o=[];function n(e){i.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!i.has(e)){var o=t.get(e);o&&n(o)}}),o.push(e)}return e.forEach(function(e){t.set(e.name,e)}),e.forEach(function(e){i.has(e.name)||n(e)}),o}function orderModifiers(e){var t=order(e);return modifierPhases.reduce(function(e,i){return e.concat(t.filter(function(e){return e.phase===i}))},[])}function debounce$1(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}function mergeByName(e){var t=e.reduce(function(e,t){var i=e[t.name];return e[t.name]=i?Object.assign({},i,t,{options:Object.assign({},i.options,t.options),data:Object.assign({},i.data,t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var e=arguments.length,t=new Array(e),i=0;i{$MAGIC_DESIGN=e},getDesignConfig=e=>$MAGIC_DESIGN[e],_sfc_main$H$2=defineComponent({name:"TMBadge",__name:"Badge",props:{value:{},type:{},max:{},isDot:{type:Boolean},hidden:{type:Boolean}},setup(e){const t=e,i=getDesignConfig("components")?.badge,o=i?.component||"el-badge",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-badge"},n.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$G$2=defineComponent({name:"TMButton",__name:"Button",props:{type:{},size:{},link:{type:Boolean},text:{type:Boolean},circle:{type:Boolean},icon:{}},emits:["click"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.button,n=o?.component||"el-button",r=computed$1(()=>o?.props(i)||i),s=t,a=(...e)=>{s("click",...e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-button"},r.value,{onClick:a}),createSlots({_:2},[e.$slots.default?{name:"default",fn:withCtx(()=>[renderSlot(e.$slots,"default")]),key:"0"}:void 0]),1040))}}),_sfc_main$F$2=defineComponent({name:"TMCard",__name:"Card",props:{bodyStyle:{},shadow:{},header:{}},setup(e){const t=e,i=getDesignConfig("components")?.card,o=i?.component||"el-card",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-card"},n.value),createSlots({_:2},[e.$slots.header?{name:"header",fn:withCtx(()=>[renderSlot(e.$slots,"header",{class:"header"})]),key:"0"}:void 0,e.$slots.default?{name:"default",fn:withCtx(()=>[renderSlot(e.$slots,"default")]),key:"1"}:void 0]),1040))}}),_sfc_main$E$2=defineComponent({name:"TMCascader",__name:"Cascader",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean},filterable:{type:Boolean},options:{},size:{},popperClass:{},props:{}},emits:["change","update:modelValue"],setup(e,{expose:t,emit:i}){const o=e,n=getDesignConfig("components")?.cascader,r=n?.component||"el-cascader",s=computed$1(()=>n?.props(o)||o),a=ref$1(),l=i,c=e=>{l("change",e)},d=e=>{l("update:modelValue",e)};return t({setQuery(e){a.value&&(a.value.query=e)},setPreviousQuery(e){a.value&&(a.value.previousQuery=e)}}),(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({ref_key:"cascader",ref:a,class:"tmagic-design-cascader"},s.value,{"onUpdate:modelValue":d,onChange:c}),null,16))}}),_sfc_main$D$2=defineComponent({name:"TMCheckbox",__name:"Checkbox",props:{modelValue:{type:[String,Number,Boolean]},value:{type:[String,Number,Boolean]},label:{},trueValue:{default:void 0},falseValue:{default:void 0},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.checkbox,n=o?.component||"el-checkbox",r=computed$1(()=>o?.props(i)||i),s=t,a=e=>{s("change",e)},l=e=>{s("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-checkbox"},r.value,{"onUpdate:modelValue":l,onChange:a}),createSlots({_:2},[e.$slots.default?{name:"default",fn:withCtx(()=>[renderSlot(e.$slots,"default")]),key:"0"}:void 0]),1040))}}),_sfc_main$C$2=defineComponent({name:"TMCheckboxGroup",__name:"CheckboxGroup",props:{modelValue:{},label:{},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.checkboxGroup,n=o?.component||"el-checkbox-group",r=computed$1(()=>o?.props(i)||i),s=t,a=e=>{s("change",e)},l=e=>{s("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-checkbox-group"},r.value,{onChange:a,"onUpdate:modelValue":l}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$B$2=defineComponent({name:"TMCol",__name:"Col",props:{span:{}},setup(e){const t=e,i=getDesignConfig("components")?.col,o=i?.component||"el-col",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-col"},n.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$A$2=defineComponent({name:"TMCollapse",__name:"Collapse",props:{modelValue:{},accordion:{type:Boolean}},emits:["change","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.collapse,n=o?.component||"el-collapse",r=computed$1(()=>o?.props(i)||i),s=t,a=e=>{s("change",e)},l=e=>{s("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-collapse"},r.value,{"onUpdate:modelValue":l,onChange:a}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$z$2=defineComponent({name:"TMCollapseItem",__name:"CollapseItem",props:{name:{},title:{},disabled:{type:Boolean}},emits:["change","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.collapseItem,n=o?.component||"el-collapse-item",r=computed$1(()=>o?.props(i)||i),s=t,a=e=>{s("change",e)},l=e=>{s("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-collapse-item"},r.value,{"onUpdate:modelValue":l,onChange:a}),{title:withCtx(()=>[renderSlot(e.$slots,"title")]),header:withCtx(()=>[renderSlot(e.$slots,"title")]),default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$y$2=defineComponent({name:"TMColorPicker",__name:"ColorPicker",props:{modelValue:{},disabled:{type:Boolean,default:!1},showAlpha:{type:Boolean,default:!1},size:{}},emits:["change","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.colorPicker,n=o?.component||"el-color-picker",r=computed$1(()=>o?.props(i)||i),s=t,a=e=>{s("change",e)},l=e=>{s("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-color-picker"},r.value,{onChange:a,"onUpdate:modelValue":l}),null,16))}}),_sfc_main$x$3=defineComponent({name:"TMDatePicker",__name:"DatePicker",props:{type:{default:"date"},modelValue:{},disabled:{type:Boolean},placeholder:{},rangeSeparator:{},startPlaceholder:{},endPlaceholder:{},format:{},dateFormat:{},timeFormat:{},valueFormat:{},unlinkPanels:{type:Boolean},defaultTime:{},size:{}},emits:["change","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.datePicker,n=o?.component||"el-date-picker",r=computed$1(()=>o?.props(i)||i),s=t,a=e=>{s("change",e)},l=e=>{s("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-date-picker"},r.value,{onChange:a,"onUpdate:modelValue":l}),null,16))}}),_sfc_main$w$3=defineComponent({name:"TMDialog",__name:"Dialog",props:{modelValue:{type:Boolean},appendToBody:{type:Boolean},beforeClose:{},title:{},width:{},fullscreen:{type:Boolean},closeOnClickModal:{type:Boolean},closeOnPressEscape:{type:Boolean},destroyOnClose:{type:Boolean}},emits:["close","update:modelValue"],setup(e,{emit:t}){const i=e,o=t,n=getDesignConfig("components")?.dialog,r=n?.component||"el-dialog",s=computed$1(()=>n?.props(i)||i),a=(...e)=>{o("close",...e)},l=e=>{o("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-dialog"},s.value,{onClose:a,"onUpdate:modelValue":l}),{footer:withCtx(()=>[renderSlot(e.$slots,"footer")]),default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$v$3=defineComponent({name:"TMDivider",__name:"Divider",props:{direction:{},borderStyle:{},contentPosition:{}},setup(e){const t=e,i=getDesignConfig("components")?.divider,o=i?.component||"el-divider",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-divider"},n.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$t$3=defineComponent({name:"TMDropdown",__name:"Dropdown",props:{type:{},size:{},maxHeight:{},splitButton:{type:Boolean},disable:{type:Boolean},placement:{},trigger:{},hideOnClick:{type:Boolean},showTimeout:{},role:{},tabindex:{},popperClass:{},popperOptions:{}},emits:["command"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.dropdown,n=o?.component||"el-dropdown",r=computed$1(()=>o?.props(i)||i),s=t,a=(...e)=>{s("command",...e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-dropdown"},r.value,{onCommand:a}),{dropdown:withCtx(()=>[renderSlot(e.$slots,"dropdown")]),default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$s$3=defineComponent({name:"TMDropdownItem",__name:"DropdownItem",props:{command:{},disabled:{type:Boolean},divided:{type:Boolean},icon:{}},setup(e){const t=e,i=getDesignConfig("components")?.dropdownItem,o=i?.component||"el-dropdown-item",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-dropdown-item"},n.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$r$3=defineComponent({name:"TMDropdownMenu",__name:"DropdownMenu",setup(e){const t=getDesignConfig("components")?.dropdownMenu,i=t?.component||"el-dropdown-menu";return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),{class:"tmagic-design-dropdown-menu"},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3}))}}),_sfc_main$q$3=defineComponent({name:"TMForm",__name:"Form",props:{model:{},labelWidth:{},disabled:{type:Boolean},inline:{type:Boolean},labelPosition:{}},setup(e,{expose:t}){const i=e,o=getDesignConfig("components")?.form,n=o?.component||"el-form",r=computed$1(()=>o?.props(i)||i),s=ref$1();return t({validate:()=>s.value?.validate(),resetFields:()=>"function"==typeof s.value?.resetFields?s.value?.resetFields():"function"==typeof s.value?.reset?s.value?.reset():void 0}),(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:["tmagic-design-form",{"tmagic-design-form-inline":e.inline}],ref_key:"form",ref:s},r.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16,["class"]))}}),_sfc_main$p$3=defineComponent({name:"TMFormItem",__name:"FormItem",props:{prop:{},labelWidth:{},rules:{}},setup(e){const t=e,i=getDesignConfig("components")?.formItem,o=i?.component||"el-form-item",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-form-item"},n.value),{label:withCtx(()=>[renderSlot(e.$slots,"label")]),default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$o$3=defineComponent({name:"TMIcon",__name:"Icon",props:{size:{}},setup(e){const t=getDesignConfig("components")?.icon,i=t?.component||"el-icon",o=e,n=computed$1(()=>t?.props(o)||o);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-icon"},n.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$n$3=defineComponent({name:"TMInput",__name:"Input",props:{modelValue:{},clearable:{type:Boolean},disabled:{type:Boolean},placeholder:{},rows:{},type:{},size:{}},emits:["change","input","update:modelValue"],setup(e,{expose:t,emit:i}){const o=e,n=getDesignConfig("components")?.input,r=n?.component||"el-input",s=computed$1(()=>n?.props(o)||o),a=i,l=ref$1(),c=(...e)=>{a("change",...e)},d=(...e)=>{a("input",...e)},u=(...e)=>{a("update:modelValue",...e)};return t({instance:l,getInput:()=>l.value.input,getTextarea:()=>l.value.textarea}),(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({ref_key:"instance",ref:l,class:"tmagic-design-input"},s.value,{onChange:c,onInput:d,"onUpdate:modelValue":u}),createSlots({_:2},[e.$slots.prepend?{name:"prepend",fn:withCtx(()=>[renderSlot(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.append?{name:"append",fn:withCtx(()=>[renderSlot(e.$slots,"append")]),key:"1"}:void 0,e.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(e.$slots,"prefix")]),key:"2"}:void 0,e.$slots.suffix?{name:"suffix",fn:withCtx(()=>[renderSlot(e.$slots,"suffix")]),key:"3"}:void 0]),1040))}}),_sfc_main$m$3=defineComponent({name:"TMInputNumber",__name:"InputNumber",props:{modelValue:{type:[String,Number,Boolean]},clearable:{type:Boolean},controlsPosition:{},disabled:{type:Boolean},placeholder:{},step:{},min:{},max:{},size:{}},emits:["change","input","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.inputNumber,n=o?.component||"el-input-number",r=computed$1(()=>o?.props(i)||i),s=t,a=(...e)=>{s("change",...e)},l=(...e)=>{s("input",...e)},c=(...e)=>{s("update:modelValue",...e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-input-number"},r.value,{onChange:a,onInput:l,"onUpdate:modelValue":c}),null,16))}}),_sfc_main$j$3=defineComponent({name:"TMPagination",__name:"Pagination",props:{layout:{},hideOnSinglePage:{type:Boolean},curPage:{},pageSizes:{},pagesize:{},total:{}},emits:["size-change","current-change"],setup(e,{emit:t}){const i=e,o=t,n=getDesignConfig("components")?.pagination,r=n?.component||"el-pagination",s=computed$1(()=>n?.props(i)||i),a=(...e)=>{o("size-change",...e)},l=(...e)=>{o("current-change",...e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-pagination"},s.value,{onSizeChange:a,onPageSizeChange:a,onCurrentChange:l}),null,16))}}),_hoisted_1$13=["tabindex"],_sfc_main$i$3=defineComponent({name:"TMPopper",inheritAttrs:!1,__name:"Popover",props:{placement:{},width:{},trigger:{default:"hover"},disabled:{type:Boolean,default:!1},visible:{type:Boolean,default:void 0},popperClass:{},tabindex:{default:0},destroyOnClose:{type:Boolean,default:!1}},setup(e){const t=e,i=ref$1(!1),o=watch(()=>t.visible,e=>{void 0!==e?i.value=e:nextTick(()=>{o()})},{immediate:!0}),n=computed$1(()=>{if(!t.width)return{};let{width:e}=t;return"number"==typeof e&&(e=`${e}px`),{width:e}}),r=ref$1(),s=ref$1(),a=shallowRef();onMounted(()=>{r.value=getCurrentInstance$1()?.proxy?.$el.nextElementSibling});const l=useZIndex$1();watch([r,s,i],([e,i,o])=>{g(),e&&i&&o&&(i.style.zIndex=`${l.nextZIndex()}`,a.value=createPopper(e,i,{placement:t.placement||"bottom",strategy:"absolute",modifiers:[{name:"offset",options:{offset:[0,10]}}]}))});const c=()=>{s.value?.focus()},d=()=>{t.disabled||(i.value=!i.value)},u=()=>{t.disabled||(h&&clearTimeout(h),i.value=!0)};let h=null;const p=()=>{t.disabled||(h&&clearTimeout(h),h=globalThis.setTimeout(()=>{i.value=!1,h=null},350))};"click"===t.trigger&&void 0===t.visible&&watch(r,(e,t)=>{e?.addEventListener("click",d),t?.removeEventListener("click",d)},{immediate:!0}),"hover"===t.trigger&&void 0===t.visible&&(watch(r,(e,t)=>{e?.addEventListener("mouseenter",u),t?.removeEventListener("mouseenter",u),e?.addEventListener("mouseleave",p),t?.removeEventListener("mouseleave",p)},{immediate:!0}),watch(s,(e,t)=>{e?.addEventListener("mouseenter",u),t?.removeEventListener("mouseenter",u),e?.addEventListener("mouseleave",p),t?.removeEventListener("mouseleave",p)}));const g=()=>{a.value&&(a.value.destroy(),a.value=void 0)};return onBeforeUnmount(()=>{g()}),(e,t)=>(openBlock(),createElementBlock(Fragment,null,[renderSlot(e.$slots,"reference"),(openBlock(),createBlock(Teleport$1,{to:"body"},[i.value||!e.destroyOnClose?withDirectives((openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["tmagic-design-popper",e.popperClass]),ref_key:"popperElementRef",ref:s,tabindex:e.tabindex,style:normalizeStyle(n.value),onMouseenterOnce:c},[renderSlot(e.$slots,"default"),t[0]||(t[0]=createBaseVNode("span",{class:"tmagic-design-popper-arrow","data-popper-arrow":""},null,-1))],46,_hoisted_1$13)),[[vShow,i.value]]):createCommentVNode("v-if",!0)]))],64))}}),_sfc_main$h$3=defineComponent({name:"TMRadio",__name:"Radio",props:{modelValue:{type:[String,Number,Boolean]},value:{type:[String,Number,Boolean]},label:{type:[String,Number,Boolean]}},setup(e){const t=e,i=getDesignConfig("components")?.radio,o=i?.component||"el-radio",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-radio"},n.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$g$3=defineComponent({name:"TMRadioButton",__name:"RadioButton",props:{value:{type:[String,Number,Boolean]},label:{type:[String,Number,Boolean]},disabled:{type:Boolean},name:{}},setup(e){const t=e,i=getDesignConfig("components")?.radioButton,o=i?.component||"el-radio-button",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-radio-button"},n.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$f$3=defineComponent({name:"TMRadioGroup",__name:"RadioGroup",props:{modelValue:{type:[String,Number,Boolean]},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.radioGroup,n=o?.component||"el-radio-group",r=computed$1(()=>o?.props(i)||i),s=t,a=e=>{s("change",e)},l=e=>{s("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-radio-group"},r.value,{onChange:a,"onUpdate:modelValue":l}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$e$3=defineComponent({name:"TMRow",__name:"Row",setup(e){const t=getDesignConfig("components")?.row.component||"el-row";return(e,i)=>(openBlock(),createBlock(resolveDynamicComponent(unref(t)),{class:"tmagic-design-row"},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3}))}}),_sfc_main$d$3=defineComponent({name:"TMScrollbar",__name:"Scrollbar",setup(e){const t=getDesignConfig("components")?.scrollbar,i=t?.component||"el-scrollbar";return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),{class:"tmagic-design-scrollbar"},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3}))}}),_sfc_main$c$3=defineComponent({name:"TMSelect",__name:"Select",props:{modelValue:{},clearable:{type:Boolean},filterable:{type:Boolean},popperClass:{},disabled:{type:Boolean},placeholder:{},remote:{type:Boolean},multiple:{type:Boolean},allowCreate:{type:Boolean},valueKey:{},remoteMethod:{},loading:{type:Boolean},size:{},onSearch:{}},emits:["change","update:modelValue","visibleHandler"],setup(e,{expose:t,emit:i}){const o=e,n=i,r=getDesignConfig("components")?.select,s=r?.component||"el-select",a=computed$1(()=>r?.props(o)||o),l=ref$1(),c=(...e)=>{n("change",...e)},d=(...e)=>{n("update:modelValue",...e)},u=(...e)=>{n("visibleHandler",...e)},h=ref$1(),p=watch(()=>l.value?.scrollbar?.wrap$||l.value?.scrollbar?.wrapRef||l.value?.scrollbarRef?.wrapRef,e=>{e&&(nextTick(()=>p()),h.value=e)},{immediate:!0});return t({scrollbarWrap:h,setQuery(e){l.value&&(l.value.query=e)},setPreviousQuery(e){l.value&&(l.value.previousQuery=e)},setSelectedLabel(e){l.value&&(l.value.selectedLabel=e)},setSelected(){if(l.value)return l.value.setSelected()}}),(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(s)),mergeProps({class:"tmagic-design-select",ref_key:"select",ref:l},a.value,{onChange:c,onVisibleChange:u,onPopupVisibleChange:u,"onUpdate:modelValue":d}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$b$3=defineComponent({name:"TMStep",__name:"Step",props:{title:{},active:{},props:{},status:{}},emits:["click"],setup(e,{emit:t}){const i=e,o=t,n=(...e)=>{o("click",...e)},r=getDesignConfig("components")?.step,s=r?.component||"el-step",a=computed$1(()=>r?.props(i)||i);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(s)),mergeProps({class:"tmagic-design-step"},a.value,{onClick:n}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$a$3=defineComponent({name:"TMSteps",__name:"Steps",props:{active:{},space:{}},setup(e){const t=e,i=getDesignConfig("components")?.steps,o=i?.component||"el-steps",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-steps"},n.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$9$3=defineComponent({name:"TMSwitch",__name:"Switch",props:{modelValue:{type:[String,Number,Boolean]},label:{},activeValue:{type:[String,Number,Boolean]},inactiveValue:{type:[String,Number,Boolean]},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.switch,n=o?.component||"el-switch",r=computed$1(()=>o?.props(i)||i),s=t,a=e=>{s("change",e)},l=e=>{s("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-switch"},r.value,{"onUpdate:modelValue":l,onChange:a}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$8$3=defineComponent({name:"TMTable",__name:"Table",props:{data:{default:()=>[]},border:{type:Boolean},maxHeight:{},defaultExpandAll:{type:Boolean}},emits:["select","sort-change","expand-change","cell-click"],setup(e,{expose:t,emit:i}){const o=e,n=getDesignConfig("components")?.table,r=n?.component||"el-table",s=computed$1(()=>n?.props(o)||o),a=i,l=ref$1(),c=(...e)=>{a("select",...e)},d=(...e)=>{a("sort-change",...e)},u=(...e)=>{a("expand-change",...e)},h=(...e)=>{a("cell-click",...e)};let p;return watchEffect(()=>{p=l.value?.$el}),t({instance:l,$el:p,clearSelection:(...e)=>l.value?.clearSelection(...e),toggleRowSelection:(...e)=>l.value?.toggleRowSelection(...e),toggleRowExpansion:(...e)=>l.value?.toggleRowExpansion(...e)}),(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-table",ref_key:"table",ref:l},s.value,{"row-class-name":"tmagic-design-table-row","cell-class-name":"tmagic-design-table-cell",onSelect:c,onSortChange:d,onExpandChange:u,onCellClick:h}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$7$3=defineComponent({name:"TMTableColumn",__name:"TableColumn",props:{label:{},align:{},fixed:{type:[String,Boolean]},width:{}},setup(e){const t=e,i=getDesignConfig("components")?.tableColumn,o=i?.component||"el-table-column",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),normalizeProps(guardReactiveProps(n.value)),{default:withCtx(({$index:t,row:i})=>[createCommentVNode(" eslint-disable-next-line vue/valid-attribute-name "),renderSlot(e.$slots,"default",{$index:t,row:i})]),_:3},16))}}),_sfc_main$6$3=defineComponent({name:"TMTabPane",__name:"TabPane",props:{name:{},label:{},lazy:{type:Boolean}},setup(e){const t=e,i=getDesignConfig("components")?.tabPane,o=i?.component||"el-tab-pane",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-tab-pane"},n.value),createSlots({default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:2},[e.$slots.label?{name:"label",fn:withCtx(()=>[renderSlot(e.$slots,"label")]),key:"0"}:void 0]),1040))}}),_sfc_main$5$4=defineComponent({name:"TMTabs",__name:"Tabs",props:{type:{},editable:{type:Boolean},tabPosition:{},modelValue:{}},emits:["tab-click","tab-add","tab-remove","update:model-value"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.tabs,n=o?.component||"el-tabs",r=computed$1(()=>o?.props(i)||i),s=t,a=(...e)=>{s("tab-click",...e)},l=(...e)=>{s("tab-add",...e)},c=(...e)=>{s("tab-remove",...e)},d=(...e)=>{s("update:model-value",...e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-tabs"},r.value,{onTabClick:a,onTabAdd:l,onTabRemove:c,"onUpdate:modelValue":d}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$4$4=defineComponent({name:"TMTag",__name:"Tag",props:{type:{},disableTransition:{type:Boolean}},setup(e){const t=e,i=getDesignConfig("components")?.tag,o=i?.component||"el-tag",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-tag"},n.value),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$3$4=defineComponent({name:"TMTimePicker",__name:"TimePicker",props:{modelValue:{},disabled:{type:Boolean},placeholder:{},size:{}},emits:["change","update:modelValue"],setup(e,{emit:t}){const i=e,o=getDesignConfig("components")?.timePicker,n=o?.component||"el-time-picker",r=computed$1(()=>o?.props(i)||i),s=t,a=e=>{s("change",e)},l=e=>{s("update:modelValue",e)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(n)),mergeProps({class:"tmagic-design-time-picker"},r.value,{onChange:a,"onUpdate:modelValue":l}),null,16))}}),_sfc_main$2$4=defineComponent({name:"TMTooltip",__name:"Tooltip",props:{placement:{},disabled:{type:Boolean},content:{},effect:{},transition:{},offset:{}},setup(e){const t=e,i=getDesignConfig("components")?.tooltip,o=i?.component||"el-tooltip",n=computed$1(()=>i?.props(t)||t);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)),mergeProps({class:"tmagic-design-tooltip"},n.value),{content:withCtx(()=>[renderSlot(e.$slots,"content")]),default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16))}}),_sfc_main$1M=defineComponent({name:"TMUpload",__name:"Upload",props:{action:{},autoUpload:{type:Boolean},disabled:{type:Boolean}},emits:["change"],setup(e,{expose:t,emit:i}){const o=e,n=i,r=(...e)=>{n("change",...e)},s=getDesignConfig("components")?.upload,a=s?.component||"el-upload",l=computed$1(()=>s?.props(o)||o),c=ref$1();return t({clearFiles:(...e)=>c.value?.clearFiles(...e)}),(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(a)),mergeProps({class:"tmagic-design-upload",ref_key:"upload",ref:c},l.value,{onChange:r}),null,16))}}),tMagicMessage={error:e=>{console.error(e)},success:e=>{console.log(e)},warning:e=>{console.warn(e)},info:e=>{console.info(e)},closeAll:e=>{}},tMagicMessageBox={alert:e=>{console.log(e)},confirm:e=>{console.log(e)},close:e=>{console.log(e)}},zIndex$1=ref$1(0),DEFAULT_INITIAL_Z_INDEX=2e3;let useZIndex$1=e=>{const t=e,i=computed$1(()=>unref(t)??DEFAULT_INITIAL_Z_INDEX),o=computed$1(()=>i.value+zIndex$1.value);return{initialZIndex:i,currentZIndex:o,nextZIndex:()=>(zIndex$1.value+=1,o.value)}};const index$4={install(e,t){t.message&&(tMagicMessage.error=t.message?.error,tMagicMessage.success=t.message?.success,tMagicMessage.warning=t.message?.warning,tMagicMessage.info=t.message?.info,tMagicMessage.closeAll=t.message?.closeAll),t.messageBox&&(tMagicMessageBox.alert=t.messageBox?.alert,tMagicMessageBox.confirm=t.messageBox?.confirm,tMagicMessageBox.prompt=t.messageBox?.prompt,tMagicMessageBox.close=t.messageBox?.close),t.loading&&!e.directive("loading")&&e.directive("loading",t.loading),t.useZIndex&&(useZIndex$1=t.useZIndex),e.config.globalProperties.$MAGIC_DESIGN=t,setDesignConfig(t)}};/*! Element Plus Icons Vue v2.3.2 */var _sfc_main6=defineComponent({name:"ArrowDown",__name:"arrow-down",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}),arrow_down_default=_sfc_main6,_sfc_main7=defineComponent({name:"ArrowLeftBold",__name:"arrow-left-bold",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0"})]))}),arrow_left_bold_default=_sfc_main7,_sfc_main8=defineComponent({name:"ArrowLeft",__name:"arrow-left",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}),arrow_left_default=_sfc_main8,_sfc_main9=defineComponent({name:"ArrowRightBold",__name:"arrow-right-bold",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0"})]))}),arrow_right_bold_default=_sfc_main9,_sfc_main10=defineComponent({name:"ArrowRight",__name:"arrow-right",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}),arrow_right_default=_sfc_main10,_sfc_main12=defineComponent({name:"ArrowUp",__name:"arrow-up",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}),arrow_up_default=_sfc_main12,_sfc_main14=defineComponent({name:"Back",__name:"back",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),createBaseVNode("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}),back_default=_sfc_main14,_sfc_main22=defineComponent({name:"Bottom",__name:"bottom",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}),bottom_default=_sfc_main22,_sfc_main29=defineComponent({name:"Calendar",__name:"calendar",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}),calendar_default=_sfc_main29,_sfc_main32=defineComponent({name:"CaretBottom",__name:"caret-bottom",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m192 384 320 384 320-384z"})]))}),caret_bottom_default=_sfc_main32,_sfc_main34=defineComponent({name:"CaretRight",__name:"caret-right",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}),caret_right_default=_sfc_main34,_sfc_main35=defineComponent({name:"CaretTop",__name:"caret-top",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}),caret_top_default=_sfc_main35,_sfc_main43=defineComponent({name:"Check",__name:"check",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}),check_default=_sfc_main43,_sfc_main49=defineComponent({name:"CircleCheck",__name:"circle-check",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),createBaseVNode("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}),circle_check_default=_sfc_main49,_sfc_main50=defineComponent({name:"CircleCloseFilled",__name:"circle-close-filled",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}),circle_close_filled_default=_sfc_main50,_sfc_main51=defineComponent({name:"CircleClose",__name:"circle-close",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),createBaseVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),circle_close_default=_sfc_main51,_sfc_main54=defineComponent({name:"Clock",__name:"clock",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),createBaseVNode("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),createBaseVNode("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}),clock_default=_sfc_main54,_sfc_main55=defineComponent({name:"CloseBold",__name:"close-bold",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496"})]))}),close_bold_default=_sfc_main55,_sfc_main56=defineComponent({name:"Close",__name:"close",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}),close_default=_sfc_main56,_sfc_main60=defineComponent({name:"Coin",__name:"coin",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264"}),createBaseVNode("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264"}),createBaseVNode("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224m0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160"})]))}),coin_default=_sfc_main60,_sfc_main66=defineComponent({name:"Connection",__name:"connection",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192z"}),createBaseVNode("path",{fill:"currentColor",d:"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.06 192.06 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192z"})]))}),connection_default=_sfc_main66,_sfc_main68=defineComponent({name:"CopyDocument",__name:"copy-document",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),createBaseVNode("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}),copy_document_default=_sfc_main68,_sfc_main72=defineComponent({name:"DArrowLeft",__name:"d-arrow-left",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672zm256 0a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672z"})]))}),d_arrow_left_default=_sfc_main72,_sfc_main73=defineComponent({name:"DArrowRight",__name:"d-arrow-right",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L764.736 512 452.864 192a30.59 30.59 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L508.736 512 196.864 192a30.59 30.59 0 0 1 0-42.688"})]))}),d_arrow_right_default=_sfc_main73,_sfc_main80=defineComponent({name:"Delete",__name:"delete",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}),delete_default=_sfc_main80,_sfc_main87=defineComponent({name:"DocumentCopy",__name:"document-copy",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 320v576h576V320zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32M960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32M256 672h320v64H256zm0-192h320v64H256z"})]))}),document_copy_default=_sfc_main87,_sfc_main90=defineComponent({name:"Document",__name:"document",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}),document_default=_sfc_main90,_sfc_main93=defineComponent({name:"EditPen",__name:"edit-pen",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64z"})]))}),edit_pen_default=_sfc_main93,_sfc_main94=defineComponent({name:"Edit",__name:"edit",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640z"}),createBaseVNode("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"})]))}),edit_default=_sfc_main94,_sfc_main101=defineComponent({name:"Files",__name:"files",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 384v448h768V384zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32m64-128h704v64H160zm96-128h512v64H256z"})]))}),files_default=_sfc_main101,_sfc_main111=defineComponent({name:"FolderOpened",__name:"folder-opened",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896"})]))}),folder_opened_default=_sfc_main111,_sfc_main118=defineComponent({name:"FullScreen",__name:"full-screen",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}),full_screen_default=_sfc_main118,_sfc_main125=defineComponent({name:"Goods",__name:"goods",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M320 288v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4h131.072a32 32 0 0 1 31.808 28.8l57.6 576a32 32 0 0 1-31.808 35.2H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320zm64 0h256v-22.336C640 189.248 582.272 128 512 128s-128 61.248-128 137.664v22.4zm-64 64H217.92l-51.2 512h690.56l-51.264-512H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0z"})]))}),goods_default=_sfc_main125,_sfc_main127=defineComponent({name:"Grid",__name:"grid",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M640 384v256H384V384zm64 0h192v256H704zm-64 512H384V704h256zm64 0V704h192v192zm-64-768v192H384V128zm64 0h192v192H704zM320 384v256H128V384zm0 512H128V704h192zm0-768v192H128V128z"})]))}),grid_default=_sfc_main127,_sfc_main133=defineComponent({name:"Hide",__name:"hide",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),createBaseVNode("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}),hide_default=_sfc_main133,_sfc_main143=defineComponent({name:"InfoFilled",__name:"info-filled",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}),info_filled_default=_sfc_main143,_sfc_main149=defineComponent({name:"List",__name:"list",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z"})]))}),list_default=_sfc_main149,_sfc_main150=defineComponent({name:"Loading",__name:"loading",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}),loading_default=_sfc_main150,_sfc_main162=defineComponent({name:"Memo",__name:"memo",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"}),createBaseVNode("path",{fill:"currentColor",d:"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01M192 896V128h96v768zm640 0H352V128h480z"}),createBaseVNode("path",{fill:"currentColor",d:"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32m0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"})]))}),memo_default=_sfc_main162,_sfc_main169=defineComponent({name:"Minus",__name:"minus",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}),minus_default=_sfc_main169,_sfc_main174=defineComponent({name:"MoreFilled",__name:"more-filled",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}),more_filled_default=_sfc_main174,_sfc_main195=defineComponent({name:"PictureFilled",__name:"picture-filled",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}),picture_filled_default=_sfc_main195,_sfc_main201=defineComponent({name:"Plus",__name:"plus",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}),plus_default=_sfc_main201,_sfc_main203=defineComponent({name:"Position",__name:"position",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992z"})]))}),position_default=_sfc_main203,_sfc_main221=defineComponent({name:"Right",__name:"right",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M754.752 480H160a32 32 0 1 0 0 64h594.752L521.344 777.344a32 32 0 0 0 45.312 45.312l288-288a32 32 0 0 0 0-45.312l-288-288a32 32 0 1 0-45.312 45.312z"})]))}),right_default=_sfc_main221,_sfc_main222=defineComponent({name:"ScaleToOriginal",__name:"scale-to-original",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}),scale_to_original_default=_sfc_main222,_sfc_main225=defineComponent({name:"Search",__name:"search",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}),search_default=_sfc_main225,_sfc_main249=defineComponent({name:"SuccessFilled",__name:"success-filled",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}),success_filled_default=_sfc_main249,_sfc_main250=defineComponent({name:"Sugar",__name:"sugar",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m801.728 349.184 4.48 4.48a128 128 0 0 1 0 180.992L534.656 806.144a128 128 0 0 1-181.056 0l-4.48-4.48-19.392 109.696a64 64 0 0 1-108.288 34.176L78.464 802.56a64 64 0 0 1 34.176-108.288l109.76-19.328-4.544-4.544a128 128 0 0 1 0-181.056l271.488-271.488a128 128 0 0 1 181.056 0l4.48 4.48 19.392-109.504a64 64 0 0 1 108.352-34.048l142.592 143.04a64 64 0 0 1-34.24 108.16zm-548.8 198.72h447.168v2.24l60.8-60.8a63.8 63.8 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64 64 0 0 0-10.24 13.248zm0 64q4.128 7.104 10.176 13.248l135.744 135.744a64 64 0 0 0 90.496 0L638.4 611.904zm490.048-230.976L625.152 263.104a64 64 0 0 0-90.496 0L416.768 380.928zM123.712 757.312l142.976 142.976 24.32-137.6a25.6 25.6 0 0 0-29.696-29.632zm633.6-633.344-24.32 137.472a25.6 25.6 0 0 0 29.632 29.632l137.28-24.064-142.656-143.04z"})]))}),sugar_default=_sfc_main250,_sfc_main256=defineComponent({name:"SwitchButton",__name:"switch-button",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M352 159.872V230.4a352 352 0 1 0 320 0v-70.528A416.128 416.128 0 0 1 512 960a416 416 0 0 1-160-800.128"}),createBaseVNode("path",{fill:"currentColor",d:"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32"})]))}),switch_button_default=_sfc_main256,_sfc_main260=defineComponent({name:"Ticket",__name:"ticket",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M640 832H64V640a128 128 0 1 0 0-256V192h576v160h64V192h256v192a128 128 0 1 0 0 256v192H704V672h-64zm0-416v192h64V416z"})]))}),ticket_default=_sfc_main260,_sfc_main261=defineComponent({name:"Tickets",__name:"tickets",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h192v64H320zm0 384h384v64H320z"})]))}),tickets_default=_sfc_main261,_sfc_main267=defineComponent({name:"Top",__name:"top",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}),top_default=_sfc_main267,_sfc_main283=defineComponent({name:"View",__name:"view",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}),view_default=_sfc_main283,_sfc_main287=defineComponent({name:"WarningFilled",__name:"warning-filled",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}),warning_filled_default=_sfc_main287,_sfc_main292=defineComponent({name:"ZoomIn",__name:"zoom-in",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}),zoom_in_default=_sfc_main292,_sfc_main293=defineComponent({name:"ZoomOut",__name:"zoom-out",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}),zoom_out_default=_sfc_main293,freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root$1=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root$1.Symbol,objectProto$h=Object.prototype,hasOwnProperty$g=objectProto$h.hasOwnProperty,nativeObjectToString$1=objectProto$h.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(t){var i=hasOwnProperty$g.call(t,symToStringTag$1),o=t[symToStringTag$1];try{t[symToStringTag$1]=void 0;var n=!0}catch(e){}var r=nativeObjectToString$1.call(t);return n&&(i?t[symToStringTag$1]=o:delete t[symToStringTag$1]),r}var objectProto$g=Object.prototype,nativeObjectToString=objectProto$g.toString;function objectToString$1(e){return nativeObjectToString.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return null==e?void 0===e?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(e)?getRawTag(e):objectToString$1(e)}function isObjectLike(e){return null!=e&&"object"==typeof e}var symbolTag$3="[object Symbol]";function isSymbol(e){return"symbol"==typeof e||isObjectLike(e)&&baseGetTag(e)==symbolTag$3}function arrayMap(e,t){for(var i=-1,o=null==e?0:e.length,n=Array(o);++i0){if(++t>=HOT_COUNT)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function constant(e){return function(){return e}}var defineProperty=function(){try{var t=getNative(Object,"defineProperty");return t({},"",{}),t}catch(e){}}(),baseSetToString=defineProperty?function(e,t){return defineProperty(e,"toString",{configurable:!0,enumerable:!1,value:constant(t),writable:!0})}:identity$1,setToString=shortOut(baseSetToString);function arrayEach(e,t){for(var i=-1,o=null==e?0:e.length;++i-1}var MAX_SAFE_INTEGER$1=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,t){var i=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER$1:t)&&("number"==i||"symbol"!=i&&reIsUint.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function isArrayLike$1(e){return null!=e&&isLength(e.length)&&!isFunction$4(e)}function isIterateeCall(e,t,i){if(!isObject$5(i))return!1;var o=typeof t;return!!("number"==o?isArrayLike$1(i)&&isIndex(t,i.length):"string"==o&&t in i)&&eq(i[t],e)}function createAssigner(e){return baseRest(function(t,i){var o=-1,n=i.length,r=n>1?i[n-1]:void 0,s=n>2?i[2]:void 0;for(r=e.length>3&&"function"==typeof r?(n--,r):void 0,s&&isIterateeCall(i[0],i[1],s)&&(r=n<3?void 0:r,n=1),t=Object(t);++o-1}function listCacheSet(e,t){var i=this.__data__,o=assocIndexOf(i,e);return o<0?(++this.size,i.push([e,t])):i[o][1]=t,this}function ListCache(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t0&&i(a)?t>1?baseFlatten(a,t-1,i,o,n):arrayPush(n,a):o||(n[n.length]=a)}return n}function flatten(e){return(null==e?0:e.length)?baseFlatten(e,1):[]}function flatRest(e){return setToString(overRest(e,void 0,flatten),e+"")}var getPrototype=overArg(Object.getPrototypeOf,Object),objectTag$3="[object Object]",funcProto=Function.prototype,objectProto$6=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$7=objectProto$6.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject$1(e){if(!isObjectLike(e)||baseGetTag(e)!=objectTag$3)return!1;var t=getPrototype(e);if(null===t)return!0;var i=hasOwnProperty$7.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&funcToString.call(i)==objectCtorString}function baseSlice(e,t,i){var o=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(i=i>n?n:i)<0&&(i+=n),n=t>i?0:i-t>>>0,t>>>=0;for(var r=Array(n);++oa))return!1;var c=r.get(e),d=r.get(t);if(c&&d)return c==t&&d==e;var u=-1,h=!0,p=i&COMPARE_UNORDERED_FLAG$3?new SetCache:void 0;for(r.set(e,t),r.set(t,e);++u=t||i<0||u&&e-c>=r}function m(){var e=now$1();if(g(e))return f(e);a=setTimeout(m,function(e){var i=t-(e-l);return u?nativeMin(i,r-(e-c)):i}(e))}function f(e){return a=void 0,h&&o?p(e):(o=n=void 0,s)}function v(){var e=now$1(),i=g(e);if(o=arguments,n=this,l=e,i){if(void 0===a)return function(e){return c=e,a=setTimeout(m,t),d?p(e):s}(l);if(u)return clearTimeout(a),a=setTimeout(m,t),p(l)}return void 0===a&&(a=setTimeout(m,t)),s}return t=toNumber(t)||0,isObject$5(i)&&(d=!!i.leading,r=(u="maxWait"in i)?nativeMax(toNumber(i.maxWait)||0,t):r,h="trailing"in i?!!i.trailing:h),v.cancel=function(){void 0!==a&&clearTimeout(a),c=0,o=l=n=a=void 0},v.flush=function(){return void 0===a?s:f(now$1())},v}function assignMergeValue(e,t,i){(void 0!==i&&!eq(e[t],i)||void 0===i&&!(t in e))&&baseAssignValue(e,t,i)}function isArrayLikeObject(e){return isObjectLike(e)&&isArrayLike$1(e)}function safeGet(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}function toPlainObject(e){return copyObject(e,keysIn(e))}function baseMergeDeep(e,t,i,o,n,r,s){var a=safeGet(e,i),l=safeGet(t,i),c=s.get(l);if(c)assignMergeValue(e,i,c);else{var d=r?r(a,l,i+"",e,t,s):void 0,u=void 0===d;if(u){var h=isArray$3(l),p=!h&&isBuffer(l),g=!h&&!p&&isTypedArray(l);d=l,h||p||g?isArray$3(a)?d=a:isArrayLikeObject(a)?d=copyArray(a):p?(u=!1,d=cloneBuffer(l,!0)):g?(u=!1,d=cloneTypedArray(l,!0)):d=[]:isPlainObject$1(l)||isArguments(l)?(d=a,isArguments(a)?d=toPlainObject(a):isObject$5(a)&&!isFunction$4(a)||(d=initCloneObject(l))):u=!1}u&&(s.set(l,d),n(d,l,o,r,s),s.delete(l)),assignMergeValue(e,i,d)}}function baseMerge(e,t,i,o,n){e!==t&&baseFor(t,function(r,s){if(n||(n=new Stack),isObject$5(r))baseMergeDeep(e,t,s,i,baseMerge,o,n);else{var a=o?o(safeGet(e,s),r,s+"",e,t,n):void 0;void 0===a&&(a=r),assignMergeValue(e,s,a)}},keysIn)}var mergeWith=createAssigner(function(e,t,i,o){baseMerge(e,t,i,o)});function last$2(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function findLastIndex$1(e,t,i){var o=null==e?0:e.length;if(!o)return-1;var n=o-1;return baseFindIndex(e,baseIteratee(t),n,!0)}function baseMap(e,t){var i=-1,o=isArrayLike$1(e)?Array(e.length):[];return baseEach(e,function(e,n,r){o[++i]=t(e,n,r)}),o}function map(e,t){return(isArray$3(e)?arrayMap:baseMap)(e,baseIteratee(t))}function flatMap(e,t){return baseFlatten(map(e,t),1)}var INFINITY$1=1/0;function flattenDeep(e){return(null==e?0:e.length)?baseFlatten(e,INFINITY$1):[]}function fromPairs(e){for(var t=-1,i=null==e?0:e.length,o={};++t1),t}),copyObject(e,getAllKeysIn(e),i),o&&(i=baseClone(i,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone));for(var n=t.length;n--;)baseUnset(i,t[n]);return i});function baseSet(e,t,i,o){if(!isObject$5(e))return e;for(var n=-1,r=(t=castPath(t,e)).length,s=r-1,a=e;null!=a&&++n=LARGE_ARRAY_SIZE){var c=createSet(e);if(c)return setToArray(c);s=!1,n=cacheHas,l=new SetCache}else l=a;e:for(;++o(e.CONTAINER="container",e.PAGE="page",e.ROOT="app",e.PAGE_FRAGMENT="page-fragment",e))(NodeType||{});const NODE_CONDS_KEY="displayConds",NODE_DISABLE_DATA_SOURCE_KEY="_tmagic_node_disabled_data_source",NODE_DISABLE_CODE_BLOCK_KEY="_tmagic_node_disabled_code_block";var ActionType=(e=>(e.COMP="comp",e.CODE="code",e.DATA_SOURCE="data-source",e))(ActionType||{}),HookType=(e=>(e.CODE="code",e))(HookType||{}),HookCodeType=(e=>(e.CODE="code",e.DATA_SOURCE_METHOD="data-source-method",e))(HookCodeType||{});const asyncLoadJs=(()=>{const e=new Map;return(t,i,o=globalThis.document)=>{let n=e.get(o);if(n||(n=new Map,e.set(o,n)),n.get(t))return n.get(t);const r=new Promise((e,n)=>{const r=o.createElement("script");r.type="text/javascript",i&&(r.crossOrigin=i),r.src=t,o.body.appendChild(r),r.onload=()=>{e()},r.onerror=()=>{n(new Error("加载失败"))},setTimeout(()=>{n(new Error("timeout"))},6e4)}).catch(e=>{throw n.delete(t),e});return n.set(t,r),n.get(t)}})(),addClassName=(e,t,i)=>{const o=t.querySelector(`.${i}`);o&&o!==e&&removeClassName(o,i),e.classList.contains(i)||e.classList.add(i)},removeClassName=(e,...t)=>{e.classList.remove(...t)},removeClassNameByClassName=(e,t)=>{const i=e.querySelector(`.${t}`);return i?.classList.remove(t),i},injectStyle$1=(e,t)=>{const i=e.createElement("style");return i.innerHTML=t,e.head.appendChild(i),i},createDiv=({className:e,cssText:t})=>{const i=globalThis.document.createElement("div");return i.className=e,i.style.cssText=t,i},getDocument$1=()=>globalThis.document,calcValueByFontsize=(e,t)=>{if(!e)return t;const{fontSize:i}=e.documentElement.style;if(i){const e=globalThis.parseFloat(i)/100;return Number((t/e).toFixed(2))}return t},dslDomRelateConfig={getIdFromEl:e=>e?.dataset?.tmagicId,getElById:(e,t)=>e?.querySelector(`[data-tmagic-id="${t}"]`),setIdToEl:(e,t)=>{e.dataset.tmagicId=`${t}`}},getIdFromEl=()=>dslDomRelateConfig.getIdFromEl,getElById=()=>dslDomRelateConfig.getElById,setIdToEl=()=>dslDomRelateConfig.setIdToEl,toLine=(e="")=>e.replace(/\B([A-Z])/g,"-$1").toLowerCase(),getNodePath=(e,t=[])=>{const i=[],o=function(e,t){if(!Array.isArray(t))return null;for(let n=0,r=t.length;n{const i={node:null,parent:null,page:null};if(!t)return i;if(e===t.id)return i.node=t,i;const o=getNodePath(e,t.items);return o.length?(o.unshift(t),i.node=o[o.length-1],i.parent=o[o.length-2],o.forEach(e=>{(isPage(e)||isPageFragment(e))&&(i.page=e)}),i):i},isObject$4=e=>"[object Object]"===Object.prototype.toString.call(e),isPop=e=>Boolean(e?.type?.toLowerCase().endsWith("pop")),isPage=e=>!!e&&Boolean(e.type?.toLowerCase()===NodeType.PAGE),isPageFragment=e=>!!e&&Boolean(e.type?.toLowerCase()===NodeType.PAGE_FRAGMENT),isNumber$3=e=>/^(-?\d+)(\.\d+)?$/.test(e),getHost=e=>e.match(/\/\/([^/]+)/)?.[1],isSameDomain=(e="",t=globalThis.location.host)=>!/^(http[s]?:)?\/\//.test(e)||getHost(e)===t,guid=(e=8)=>"x".repeat(e).replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),getKeysArray=e=>`${e}`.replace(/\[(\d+)\]/g,".$1").split("."),getValueByKeyPath=(e="",t={})=>(Array.isArray(e)?e:getKeysArray(e)).reduce((i,o)=>{if(isObject$4(i))return i[o];if(Array.isArray(i)&&/^\d*$/.test(`${o}`))return i[o];throw new Error(`${t}中不存在${e}`)},t),setValueByKeyPath=(e,t,i={})=>set(i,e,t),getNodes=(e,t=[])=>{const i=[],o=function(e,t){if(Array.isArray(t))for(const n of t){const t=e.findIndex(e=>`${e}`==`${n.id}`);t>-1&&(e.splice(t,1),i.push(n)),n.items&&o(e,n.items)}};return o(e,t),i},getDepKeys=(e={},t)=>Array.from(Object.values(e).reduce((e,i)=>((i[t]?.keys||[]).forEach(t=>e.add(t)),e),new Set)),getDepNodeIds=(e={})=>Array.from(Object.values(e).reduce((e,t)=>(Object.keys(t).forEach(t=>{e.add(t)}),e),new Set)),replaceChildNode=(e,t,i)=>{const o=getNodePath(e.id,t),n=o.pop();let r=o.pop();if(i&&(r=getNodePath(i,t).pop()),!n)return void console.warn(`未找到目标节点(${e.id})`);if(!r)return void console.warn(`未找到父节点(${e.id})`);const s=r.items?.findIndex(e=>e.id===n.id);r.items.splice(s,1,e)},DSL_NODE_KEY_COPY_PREFIX="__tmagic__",compiledNode=(t,i,o={},n)=>{let r=[];if(n){const e=o[n];r=e?.[i.id].keys||[]}else r=getDepKeys(o,i.id);return r.forEach(o=>{const n=getKeysArray(o),r=n.map((e,t)=>t{switch("string"==typeof t&&void 0===i&&(i=""),e){case"is":case"=":return t===i;case"not":case"!=":return t!==i;case">":return t>i;case">=":return t>=i;case"<":return t1&&t>=o[0]&&t<=o[1];case"not_between":return o.length<2||to[1];case"include":return t?.includes?.(i);case"not_include":return void 0===t||!t.includes?.(i)}return!1},getDefaultValueFromFields=t=>{const i={},o={string:void 0,object:{},array:[],boolean:void 0,number:void 0,null:null,any:void 0};return t.forEach(t=>{if(void 0===t.defaultValue)"object"!==t.type?t.type?i[t.name]=o[t.type]:i[t.name]=void 0:i[t.name]=t.fields?getDefaultValueFromFields(t.fields):o.object;else{if("array"===t.type&&!Array.isArray(t.defaultValue))return void(i[t.name]=o.array);if("object"===t.type&&!isObject$4(t.defaultValue)){if("string"==typeof t.defaultValue){try{i[t.name]=JSON.parse(t.defaultValue)}catch(e){i[t.name]=o.object,console.warn("defaultValue 解析失败",t.defaultValue,e)}return}return void(i[t.name]=o.object)}i[t.name]=cloneDeep(t.defaultValue)}}),i},DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX="ds-field::",DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX="ds-field-changed",getKeys$1=Object.keys,calculatePercentage=(e,t)=>e*(globalThis.parseFloat(t)/100),isPercentage$1=e=>/^(\d+)(\.\d+)?%$/.test(`${e}`),convertToNumber=(e,t=0)=>"number"==typeof e?e:"string"==typeof e&&isPercentage$1(e)?calculatePercentage(t,e):parseFloat(e),dataSourceTemplateRegExp=/\$\{([\s\S]+?)\}/g,traverseNode=(e,t,i=[],o=!1)=>{o||t(e,i),Array.isArray(e.items)&&e.items.length&&(i.push(e),e.items.forEach(e=>{traverseNode(e,t,[...i],o)})),o&&t(e,i)},isValueIncludeDataSource=e=>!("string"!=typeof e||!/\$\{([\s\S]+?)\}/.test(e))||(!(!Array.isArray(e)||!`${e[0]}`.startsWith(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX))||(!(!e?.isBindDataSource||!e.dataSourceId)||!(!e?.isBindDataSourceField||!e.dataSourceId)));var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dayjs_min$1={exports:{}},dayjs_min=dayjs_min$1.exports,hasRequiredDayjs_min;function requireDayjs_min(){return hasRequiredDayjs_min||(hasRequiredDayjs_min=1,function(e){e.exports=function(){var e=1e3,t=6e4,i=36e5,o="millisecond",n="second",r="minute",s="hour",a="day",l="week",c="month",d="quarter",u="year",h="date",p="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],i=e%100;return"["+e+(t[(i-20)%10]||t[i]||t[0])+"]"}},v=function(e,t,i){var o=String(e);return!o||o.length>=t?e:""+Array(t+1-o.length).join(i)+e},b={s:v,z:function(e){var t=-e.utcOffset(),i=Math.abs(t),o=Math.floor(i/60),n=i%60;return(t<=0?"+":"-")+v(o,2,"0")+":"+v(n,2,"0")},m:function e(t,i){if(t.date()1)return e(s[0])}else{var a=t.name;y[a]=t,n=a}return!o&&n&&(_=n),n||!o&&_},S=function(e,t){if(w(e))return e.clone();var i="object"==typeof t?t:{};return i.date=e,i.args=arguments,new E(i)},k=b;k.l=x,k.i=w,k.w=function(e,t){return S(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function f(e){this.$L=x(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[C]=!0}var v=f.prototype;return v.parse=function(e){this.$d=function(e){var t=e.date,i=e.utc;if(null===t)return new Date(NaN);if(k.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var o=t.match(g);if(o){var n=o[2]-1||0,r=(o[7]||"0").substring(0,3);return i?new Date(Date.UTC(o[1],n,o[3]||1,o[4]||0,o[5]||0,o[6]||0,r)):new Date(o[1],n,o[3]||1,o[4]||0,o[5]||0,o[6]||0,r)}}return new Date(t)}(e),this.init()},v.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},v.$utils=function(){return k},v.isValid=function(){return!(this.$d.toString()===p)},v.isSame=function(e,t){var i=S(e);return this.startOf(t)<=i&&i<=this.endOf(t)},v.isAfter=function(e,t){return S(e) * @author owenm * @license MIT */function ownKeys(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,o)}return i}function _objectSpread2(e){for(var t=1;t=0||(n[i]=e[i]);return n}function _objectWithoutProperties(e,t){if(null==e)return{};var i,o,n=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var version="1.15.6";function userAgent(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var IE11OrLess=userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Edge=userAgent(/Edge/i),FireFox=userAgent(/firefox/i),Safari=userAgent(/safari/i)&&!userAgent(/chrome/i)&&!userAgent(/android/i),IOS=userAgent(/iP(ad|od|hone)/i),ChromeForAndroid=userAgent(/chrome/i)&&userAgent(/android/i),captureMode={capture:!1,passive:!1};function on$1(e,t,i){e.addEventListener(t,i,!IE11OrLess&&captureMode)}function off(e,t,i){e.removeEventListener(t,i,!IE11OrLess&&captureMode)}function matches(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(_){return!1}return!1}}function getParentOrHost(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function closest(e,t,i,o){if(e){i=i||document;do{if(null!=t&&(">"===t[0]?e.parentNode===i&&matches(e,t):matches(e,t))||o&&e===i)return e;if(e===i)break}while(e=getParentOrHost(e))}return null}var R_SPACE=/\s+/g,_throttleTimeout;function toggleClass(e,t,i){if(e&&t)if(e.classList)e.classList[i?"add":"remove"](t);else{var o=(" "+e.className+" ").replace(R_SPACE," ").replace(" "+t+" "," ");e.className=(o+(i?" "+t:"")).replace(R_SPACE," ")}}function css$2(e,t,i){var o=e&&e.style;if(o){if(void 0===i)return document.defaultView&&document.defaultView.getComputedStyle?i=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(i=e.currentStyle),void 0===t?i:i[t];t in o||-1!==t.indexOf("webkit")||(t="-webkit-"+t),o[t]=i+("string"==typeof i?"":"px")}}function matrix(e,t){var i="";if("string"==typeof e)i=e;else do{var o=css$2(e,"transform");o&&"none"!==o&&(i=o+" "+i)}while(!t&&(e=e.parentNode));var n=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return n&&new n(i)}function find$3(e,t,i){if(e){var o=e.getElementsByTagName(t),n=0,r=o.length;if(i)for(;n=getRect$1(o)[i]))return o;if(o===getWindowScrollingElement())break;o=getParentAutoScrollElement(o,!1)}return!1}function getChild(e,t,i,o){for(var n=0,r=0,s=e.children;r2&&void 0!==arguments[2]?arguments[2]:{},o=i.evt,n=_objectWithoutProperties(i,_excluded);PluginManager.pluginEvent.bind(Sortable)(e,t,_objectSpread2({dragEl:dragEl,parentEl:parentEl,ghostEl:ghostEl,rootEl:rootEl,nextEl:nextEl,lastDownEl:lastDownEl,cloneEl:cloneEl,cloneHidden:cloneHidden,dragStarted:moved,putSortable:putSortable,activeSortable:Sortable.active,originalEvent:o,oldIndex:oldIndex,oldDraggableIndex:oldDraggableIndex,newIndex:newIndex,newDraggableIndex:newDraggableIndex,hideGhostForTarget:_hideGhostForTarget,unhideGhostForTarget:_unhideGhostForTarget,cloneNowHidden:function(){cloneHidden=!0},cloneNowShown:function(){cloneHidden=!1},dispatchSortableEvent:function(e){_dispatchEvent({sortable:t,name:e,originalEvent:o})}},n))};function _dispatchEvent(e){dispatchEvent(_objectSpread2({putSortable:putSortable,cloneEl:cloneEl,targetEl:dragEl,rootEl:rootEl,oldIndex:oldIndex,oldDraggableIndex:oldDraggableIndex,newIndex:newIndex,newDraggableIndex:newDraggableIndex},e))}var dragEl,parentEl,ghostEl,rootEl,nextEl,lastDownEl,cloneEl,cloneHidden,oldIndex,newIndex,oldDraggableIndex,newDraggableIndex,activeGroup,putSortable,awaitingDragStarted=!1,ignoreNextClick=!1,sortables=[],tapEvt,touchEvt,lastDx,lastDy,tapDistanceLeft,tapDistanceTop,moved,lastTarget,lastDirection,pastFirstInvertThresh=!1,isCircumstantialInvert=!1,targetMoveDistance,ghostRelativeParent,ghostRelativeParentInitialScroll=[],_silent=!1,savedInputChecked=[],documentExists="undefined"!=typeof document,PositionGhostAbsolutely=IOS,CSSFloatProperty=Edge||IE11OrLess?"cssFloat":"float",supportDraggable=documentExists&&!ChromeForAndroid&&!IOS&&"draggable"in document.createElement("div"),supportCssPointerEvents=function(){if(documentExists){if(IE11OrLess)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),_detectDirection=function(e,t){var i=css$2(e),o=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=getChild(e,0,t),r=getChild(e,1,t),s=n&&css$2(n),a=r&&css$2(r),l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+getRect$1(n).width,c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+getRect$1(r).width;if("flex"===i.display)return"column"===i.flexDirection||"column-reverse"===i.flexDirection?"vertical":"horizontal";if("grid"===i.display)return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(n&&s.float&&"none"!==s.float){var d="left"===s.float?"left":"right";return!r||"both"!==a.clear&&a.clear!==d?"horizontal":"vertical"}return n&&("block"===s.display||"flex"===s.display||"table"===s.display||"grid"===s.display||l>=o&&"none"===i[CSSFloatProperty]||r&&"none"===i[CSSFloatProperty]&&l+c>o)?"vertical":"horizontal"},_dragElInRowColumn=function(e,t,i){var o=i?e.left:e.top,n=i?e.right:e.bottom,r=i?e.width:e.height,s=i?t.left:t.top,a=i?t.right:t.bottom,l=i?t.width:t.height;return o===s||n===a||o+r/2===s+l/2},_detectNearestEmptySortable=function(e,t){var i;return sortables.some(function(o){var n=o[expando].options.emptyInsertThreshold;if(n&&!lastChild(o)){var r=getRect$1(o),s=e>=r.left-n&&e<=r.right+n,a=t>=r.top-n&&t<=r.bottom+n;return s&&a?i=o:void 0}}),i},_prepareGroup=function(e){function t(e,i){return function(o,n,r,s){var a=o.options.group.name&&n.options.group.name&&o.options.group.name===n.options.group.name;if(null==e&&(i||a))return!0;if(null==e||!1===e)return!1;if(i&&"clone"===e)return e;if("function"==typeof e)return t(e(o,n,r,s),i)(o,n,r,s);var l=(i?o:n).options.group.name;return!0===e||"string"==typeof e&&e===l||e.join&&e.indexOf(l)>-1}}var i={},o=e.group;o&&"object"==_typeof(o)||(o={name:o}),i.name=o.name,i.checkPull=t(o.pull,!0),i.checkPut=t(o.put),i.revertClone=o.revertClone,e.group=i},_hideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css$2(ghostEl,"display","none")},_unhideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css$2(ghostEl,"display","")};documentExists&&!ChromeForAndroid&&document.addEventListener("click",function(e){if(ignoreNextClick)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),ignoreNextClick=!1,!1},!0);var nearestEmptyInsertDetectEvent=function(e){if(dragEl){e=e.touches?e.touches[0]:e;var t=_detectNearestEmptySortable(e.clientX,e.clientY);if(t){var i={};for(var o in e)e.hasOwnProperty(o)&&(i[o]=e[o]);i.target=i.rootEl=t,i.preventDefault=void 0,i.stopPropagation=void 0,t[expando]._onDragOver(i)}}},_checkOutsideTargetEl=function(e){dragEl&&dragEl.parentNode[expando]._isOutsideThisEl(e.target)};function Sortable(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=_extends$1({},t),e[expando]=this;var i={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return _detectDirection(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Sortable.supportPointer&&"PointerEvent"in window&&(!Safari||IOS),emptyInsertThreshold:5};for(var o in PluginManager.initializePlugins(this,e,i),i)!(o in t)&&(t[o]=i[o]);for(var n in _prepareGroup(t),this)"_"===n.charAt(0)&&"function"==typeof this[n]&&(this[n]=this[n].bind(this));this.nativeDraggable=!t.forceFallback&&supportDraggable,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?on$1(e,"pointerdown",this._onTapStart):(on$1(e,"mousedown",this._onTapStart),on$1(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(on$1(e,"dragover",this),on$1(e,"dragenter",this)),sortables.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),_extends$1(this,AnimationStateManager())}function _globalDragOver(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move"),e.cancelable&&e.preventDefault()}function _onMove(e,t,i,o,n,r,s,a){var l,c,d=e[expando],u=d.options.onMove;return!window.CustomEvent||IE11OrLess||Edge?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=t,l.from=e,l.dragged=i,l.draggedRect=o,l.related=n||t,l.relatedRect=r||getRect$1(t),l.willInsertAfter=a,l.originalEvent=s,e.dispatchEvent(l),u&&(c=u.call(d,l,s)),c}function _disableDraggable(e){e.draggable=!1}function _unsilent(){_silent=!1}function _ghostIsFirst(e,t,i){var o=getRect$1(getChild(i.el,0,i.options,!0)),n=getChildContainingRectFromElement(i.el,i.options,ghostEl);return t?e.clientXn.right+10||e.clientY>o.bottom&&e.clientX>o.left:e.clientY>n.bottom+10||e.clientX>o.right&&e.clientY>o.top}function _getSwapDirection(e,t,i,o,n,r,s,a){var l=o?e.clientY:e.clientX,c=o?i.height:i.width,d=o?i.top:i.left,u=o?i.bottom:i.right,h=!1;if(!s)if(a&&targetMoveDistanced+c*r/2:lu-targetMoveDistance)return-lastDirection}else if(l>d+c*(1-n)/2&&lu-c*r/2)?l>d+c/2?1:-1:0}function _getInsertDirection(e){return index$3(dragEl)=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){dragEl&&_disableDraggable(dragEl),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;off(e,"mouseup",this._disableDelayedDrag),off(e,"touchend",this._disableDelayedDrag),off(e,"touchcancel",this._disableDelayedDrag),off(e,"pointerup",this._disableDelayedDrag),off(e,"pointercancel",this._disableDelayedDrag),off(e,"mousemove",this._delayedDragTouchMoveHandler),off(e,"touchmove",this._delayedDragTouchMoveHandler),off(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?on$1(document,"pointermove",this._onTouchMove):on$1(document,t?"touchmove":"mousemove",this._onTouchMove):(on$1(dragEl,"dragend",this),on$1(rootEl,"dragstart",this._onDragStart));try{document.selection?_nextTick(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(i){}},_dragStarted:function(e,t){if(awaitingDragStarted=!1,rootEl&&dragEl){pluginEvent("dragStarted",this,{evt:t}),this.nativeDraggable&&on$1(document,"dragover",_checkOutsideTargetEl);var i=this.options;!e&&toggleClass(dragEl,i.dragClass,!1),toggleClass(dragEl,i.ghostClass,!0),Sortable.active=this,e&&this._appendGhost(),_dispatchEvent({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(touchEvt){this._lastX=touchEvt.clientX,this._lastY=touchEvt.clientY,_hideGhostForTarget();for(var e=document.elementFromPoint(touchEvt.clientX,touchEvt.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(touchEvt.clientX,touchEvt.clientY))!==t;)t=e;if(dragEl.parentNode[expando]._isOutsideThisEl(e),t)do{if(t[expando]){if(t[expando]._onDragOver({clientX:touchEvt.clientX,clientY:touchEvt.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=getParentOrHost(t));_unhideGhostForTarget()}},_onTouchMove:function(e){if(tapEvt){var t=this.options,i=t.fallbackTolerance,o=t.fallbackOffset,n=e.touches?e.touches[0]:e,r=ghostEl&&matrix(ghostEl,!0),s=ghostEl&&r&&r.a,a=ghostEl&&r&&r.d,l=PositionGhostAbsolutely&&ghostRelativeParent&&getRelativeScrollOffset(ghostRelativeParent),c=(n.clientX-tapEvt.clientX+o.x)/(s||1)+(l?l[0]-ghostRelativeParentInitialScroll[0]:0)/(s||1),d=(n.clientY-tapEvt.clientY+o.y)/(a||1)+(l?l[1]-ghostRelativeParentInitialScroll[1]:0)/(a||1);if(!Sortable.active&&!awaitingDragStarted){if(i&&Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))=0&&(_dispatchEvent({rootEl:parentEl,name:"add",toEl:parentEl,fromEl:rootEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"remove",toEl:parentEl,originalEvent:e}),_dispatchEvent({rootEl:parentEl,name:"sort",toEl:parentEl,fromEl:rootEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:e})),putSortable&&putSortable.save()):newIndex!==oldIndex&&newIndex>=0&&(_dispatchEvent({sortable:this,name:"update",toEl:parentEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:e})),Sortable.active&&(null!=newIndex&&-1!==newIndex||(newIndex=oldIndex,newDraggableIndex=oldDraggableIndex),_dispatchEvent({sortable:this,name:"end",toEl:parentEl,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){pluginEvent("nulling",this),rootEl=dragEl=parentEl=ghostEl=nextEl=cloneEl=lastDownEl=cloneHidden=tapEvt=touchEvt=moved=newIndex=newDraggableIndex=oldIndex=oldDraggableIndex=lastTarget=lastDirection=putSortable=activeGroup=Sortable.dragged=Sortable.ghost=Sortable.clone=Sortable.active=null,savedInputChecked.forEach(function(e){e.checked=!0}),savedInputChecked.length=lastDx=lastDy=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":dragEl&&(this._onDragOver(e),_globalDragOver(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],i=this.el.children,o=0,n=i.length,r=this.options;oe,isTableSelect=e=>"string"==typeof e&&["table-select","tableSelect"].includes(e),asyncLoadConfig=(e,t,{asyncLoad:i,name:o,type:n})=>{"html"===n&&"object"==typeof i&&void 0!==o&&(i.name=o,e.asyncLoad="object"==typeof t.asyncLoad?t.asyncLoad:i)},isMultipleValue=e=>"string"==typeof e&&["checkbox-group","checkboxGroup","table","cascader","group-list","groupList"].includes(e),initItemsValue=(e,t,i,{items:o,name:n,extensible:r})=>{Array.isArray(i[n])?t[n]=i[n].map((i,r)=>createValues(e,o,i,t[n]?.[r])):(t[n]=createValues(e,o,i[n],t[n]),r&&(t[n]=Object.assign({},i[n],t[n])))},setValue=(e,t,i,o)=>{const{items:n,name:r,type:s,checkbox:a}=o;(isMultipleValue(s)||"tab"===s&&o.dynamic)&&(t[r]=i[r]||[]),n?initItemsValue(e,t,i,o):t[r]=getDefaultValue$1(e,o),"fieldset"===s&&a&&"object"==typeof t[r]&&(t[r].value="object"==typeof i[r]&&i[r].value||0)},initValueItem=function(e,t,i,o){const{items:n}=t,{names:r}=t,{type:s,name:a}=t;return isTableSelect(s)&&a?(o[a]=i[a]||"",o):(asyncLoadConfig(o,i,t),a&&!n&&void 0!==i[a]?(void 0===o[a]&&(o[a]="number"===s?Number(i[a]):"object"==typeof i[a]?cloneDeep(i[a]):i[a]),o):r?r.forEach(e=>o[e]=i[e]||""):a?(setValue(e,o,i,t),o):createValues(e,n,i,o))},createValues=function(e,t=[],i={},o={}){return Array.isArray(t)&&t.forEach(t=>{initValueItem(e,t,i,o)}),o},getDefaultValue$1=function(e,{defaultValue:t,type:i,filter:o,multiple:n}){return"function"==typeof t?t(e):"undefined"!==t?void 0!==t?t:"number"===i||"number"===o?0:!["switch","checkbox"].includes(i)&&(n||"number-range"===i?[]:""):void 0},filterFunction=(e,t,i)=>"function"==typeof t?t(e,{values:e?.initValues||{},model:i.model,parent:e?.parentValues||{},formValue:e?.values||i.model,prop:i.prop,config:i.config,index:i.index}):t,display$1=function(e,t,i){return"expand"===t?t:"function"==typeof t?filterFunction(e,t,i):!1!==t},getRules=function(e,t=[],i){return"object"!=typeof(t=cloneDeep(t))||Array.isArray(t)||(t=[t]),t.map(t=>{if("function"==typeof t.validator){const o=t.validator;t.validator=(t,n,r,s,a)=>o({rule:t,value:i.config.names?i.model:n,callback:r,source:s,options:a},{values:e?.initValues||{},model:i.model,parent:e?.parentValues||{},formValue:e?.values||i.model,prop:i.prop,config:i.config},e)}return t})},initValue=async(e,{initValues:t,config:i})=>{if(!Array.isArray(i))throw new Error("config应该为数组");let o=createValues(e,i,toRaw(t),{});const[n]=i;return n&&"function"==typeof n.onInitValue&&(o=await n.onInitValue(e,{formValue:o,initValue:t})),o||{}},datetimeFormatter=(e,t="-",i="YYYY-MM-DD HH:mm:ss")=>{if(e){let o;return["x","timestamp"].includes(i)?o=dayjs(e).valueOf():"string"==typeof e&&e.includes("Z")||e.constructor===Date?(dayjs.extend(utc),o=dayjs(e).utcOffset(8).format(i)):o=dayjs(e).format(i),"Invalid Date"!==o?o:t}return t},_hoisted_1$e$1=["data-tmagic-id","data-tmagic-form-item-prop"],_hoisted_2$7$1=["innerHTML","title"],_hoisted_3$5$1=["innerHTML"],_hoisted_4$3$1=["innerHTML"],_hoisted_5$3=["innerHTML"],_hoisted_6$2$1=["innerHTML","title"],_hoisted_7$1=["innerHTML"],_hoisted_8$1=["innerHTML"],_hoisted_9=["innerHTML"],_hoisted_10=["innerHTML","title"],_hoisted_11=["innerHTML"],_hoisted_12=["innerHTML"],_hoisted_13=["innerHTML"],_hoisted_14={key:5,style:{"text-align":"center"}},_sfc_main$x$2=defineComponent({name:"MFormContainer",__name:"Container",props:{model:{},lastValues:{default:()=>({})},config:{},prop:{default:""},disabled:{type:Boolean},labelWidth:{},expandMore:{type:Boolean,default:!1},stepActive:{},size:{default:"small"},isCompare:{type:Boolean,default:!1}},emits:["change","addDiffCount"],setup(t,{emit:i}){const o=t,n=i,r=inject("mForm"),s=ref$1(!1),a=computed$1(()=>o.config.name||""),l=computed$1(()=>{if(!o.isCompare)return!1;return!isEqual(a.value?o.model[a.value]:o.model,a.value?o.lastValues[a.value]:o.lastValues)}),c=computed$1(()=>o.config.items),d=computed$1(()=>{let e="";const{names:t}=o.config;if(t?.[0])[e]=t;else{if(!a.value)return o.prop;e=a.value}return void 0!==o.prop&&""!==o.prop?`${o.prop}.${e}`:`${e}`}),u=computed$1(()=>"component"===v.value&&o.config.component?o.config.component:`m-${c.value?"form":"fields"}-${v.value}`),h=computed$1(()=>o.disabled||filterFunction(r,o.config.disabled,o)),p=computed$1(()=>filterFunction(r,o.config.text,o)),g=computed$1(()=>filterFunction(r,o.config.tooltip,o)),m=computed$1(()=>filterFunction(r,o.config.extra,o)),f=computed$1(()=>getRules(r,o.config.rules,o)),v=computed$1(()=>{let{type:e}=o.config;return e=e&&filterFunction(r,e,o),"form"===e||"container"===e?"":e?.replace(/([A-Z])/g,"-$1").toLowerCase()||(c.value?"":"text")}),b=computed$1(()=>{const e=display$1(r,o.config.display,o);return"expand"===e?s.value:e}),_=computed$1(()=>o.config.labelWidth??o.labelWidth);watchEffect(()=>{s.value=o.expandMore}),watch(l,e=>{"hidden"!==v.value&&(c.value&&!p.value&&v.value&&b.value||b.value&&e&&v.value&&n("addDiffCount"))},{immediate:!0});const y=()=>s.value=!s.value,C=e=>e[r?.keyProps],w=()=>n("addDiffCount"),x=()=>{const e=typeof a.value;return("string"===e||"symbol"===e||"number"===e)&&(""!==a.value&&("number"!=typeof a.value||a.value>=0))},S=async function(t,i={}){const{filter:s,onChange:l,trim:c,dynamicKey:u}=o.config;let h=toRaw(t);const p=i.changeRecords||[],g=[...p];try{h=((e,t)=>"function"==typeof e?e(r,t,{model:o.model,values:r?.initValues,formValue:r?.values,prop:d.value,config:o.config}):"number"===e?+t:t)(s,t),"function"==typeof l&&(h=await l(r,h,{model:o.model,values:r?.initValues,formValue:r?.values,prop:d.value,config:o.config,changeRecords:g,setModel:(e,t)=>{setValueByKeyPath(e,t,o.model),o.config.name&&g.push({propPath:d.value.replace(`${o.config.name}`,e),value:t})}})??h),h=((e,t)=>{if("string"==typeof t&&e)return t.replace(/^\s*/,"").replace(/\s*$/,"")})(c,h)??h}catch(e){console.error(e)}let m=d.value;var f;f=i,void 0!==f?.modifyKey&&""!==f.modifyKey?(u?o.model[i.modifyKey]=h:x()&&(o.model[a.value][i.modifyKey]=h),m=m?`${m}.${i.modifyKey}`:i.modifyKey,delete i.modifyKey):!x()||o.model===h||t===h&&o.model[a.value]===h||(o.model[a.value]=h),0===p.length&&g.push({propPath:m,value:h}),n("change",o.model,{...i,changeRecords:g})};return(e,t)=>{const i=resolveComponent("m-fields-hidden"),o=resolveComponent("Container",!0);return e.config?(openBlock(),createElementBlock("div",{key:0,"data-tmagic-id":e.config.id,"data-tmagic-form-item-prop":d.value,style:normalizeStyle(e.config.tip?"display: flex;align-items: baseline;":""),class:normalizeClass(`m-form-container m-container-${v.value||""} ${e.config.className||""}`)},["hidden"===v.value?(openBlock(),createBlock(i,{key:0,model:e.model,config:e.config,name:e.config.name,disabled:h.value,prop:d.value},null,8,["model","config","name","disabled","prop"])):c.value&&!p.value&&v.value&&b.value?(openBlock(),createBlock(resolveDynamicComponent(u.value),{key:C(e.config),size:e.size,model:e.model,"last-values":e.lastValues,"is-compare":e.isCompare,config:e.config,disabled:h.value,name:a.value,prop:d.value,"step-active":e.stepActive,"expand-more":s.value,"label-width":_.value,onChange:S,onAddDiffCount:w},null,40,["size","model","last-values","is-compare","config","disabled","name","prop","step-active","expand-more","label-width"])):v.value&&b.value&&!l.value?(openBlock(),createElementBlock(Fragment,{key:2},[createVNode(unref(_sfc_main$p$3),{style:normalizeStyle(e.config.tip?"flex: 1":""),class:normalizeClass({"tmagic-form-hidden":"0"==`${_.value}`||!p.value}),prop:d.value,"label-width":_.value,"label-position":e.config.labelPosition,rules:f.value},{label:withCtx(()=>[createBaseVNode("span",{innerHTML:"checkbox"===v.value?"":p.value,title:e.config.labelTitle},null,8,_hoisted_2$7$1)]),default:withCtx(()=>[g.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:g.value},null,8,_hoisted_3$5$1)]),default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(u.value),{key:C(e.config),size:e.size,model:e.model,"last-values":e.lastValues,config:e.config,name:a.value,disabled:h.value,prop:d.value,onChange:S,onAddDiffCount:w},null,40,["size","model","last-values","config","name","disabled","prop"]))]),_:1})):(openBlock(),createBlock(resolveDynamicComponent(u.value),{key:C(e.config),size:e.size,model:e.model,"last-values":e.lastValues,config:e.config,name:a.value,disabled:h.value,prop:d.value,onChange:S,onAddDiffCount:w},null,40,["size","model","last-values","config","name","disabled","prop"])),m.value&&"table"!==v.value?(openBlock(),createElementBlock("div",{key:2,innerHTML:m.value,class:"m-form-tip"},null,8,_hoisted_4$3$1)):createCommentVNode("v-if",!0)]),_:1},8,["style","class","prop","label-width","label-position","rules"]),e.config.tip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:e.config.tip},null,8,_hoisted_5$3)]),default:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{style:{"line-height":"40px","margin-left":"5px"}},{default:withCtx(()=>[createVNode(unref(warning_filled_default))]),_:1})]),_:1})):createCommentVNode("v-if",!0)],64)):v.value&&b.value&&l.value?(openBlock(),createElementBlock(Fragment,{key:3},[createCommentVNode(" 对比 "),createCommentVNode(" 上次内容 "),createVNode(unref(_sfc_main$p$3),{style:normalizeStyle([e.config.tip?"flex: 1":"",{background:"#f7dadd"}]),class:normalizeClass({"tmagic-form-hidden":"0"==`${_.value}`||!p.value}),prop:d.value,"label-width":_.value,"label-position":e.config.labelPosition,rules:f.value},{label:withCtx(()=>[createBaseVNode("span",{innerHTML:"checkbox"===v.value?"":p.value,title:e.config.labelTitle},null,8,_hoisted_6$2$1)]),default:withCtx(()=>[g.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:g.value},null,8,_hoisted_7$1)]),default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(u.value),{key:C(e.config),size:e.size,model:e.lastValues,config:e.config,name:a.value,disabled:h.value,prop:d.value,onChange:S},null,40,["size","model","config","name","disabled","prop"]))]),_:1})):(openBlock(),createBlock(resolveDynamicComponent(u.value),{key:C(e.config),size:e.size,model:e.lastValues,config:e.config,name:a.value,disabled:h.value,prop:d.value,onChange:S},null,40,["size","model","config","name","disabled","prop"])),m.value?(openBlock(),createElementBlock("div",{key:2,innerHTML:m.value,class:"m-form-tip"},null,8,_hoisted_8$1)):createCommentVNode("v-if",!0)]),_:1},8,["style","class","prop","label-width","label-position","rules"]),e.config.tip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:e.config.tip},null,8,_hoisted_9)]),default:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{style:{"line-height":"40px","margin-left":"5px"}},{default:withCtx(()=>[createVNode(unref(warning_filled_default))]),_:1})]),_:1})):createCommentVNode("v-if",!0),createCommentVNode(" 当前内容 "),createVNode(unref(_sfc_main$p$3),{style:normalizeStyle([e.config.tip?"flex: 1":"",{background:"#def7da"}]),class:normalizeClass({"tmagic-form-hidden":"0"==`${_.value}`||!p.value}),prop:d.value,"label-width":_.value,"label-position":e.config.labelPosition,rules:f.value},{label:withCtx(()=>[createBaseVNode("span",{innerHTML:"checkbox"===v.value?"":p.value,title:e.config.labelTitle},null,8,_hoisted_10)]),default:withCtx(()=>[g.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:g.value},null,8,_hoisted_11)]),default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(u.value),{key:C(e.config),size:e.size,model:e.model,config:e.config,name:a.value,disabled:h.value,prop:d.value,onChange:S},null,40,["size","model","config","name","disabled","prop"]))]),_:1})):(openBlock(),createBlock(resolveDynamicComponent(u.value),{key:C(e.config),size:e.size,model:e.model,config:e.config,name:a.value,disabled:h.value,prop:d.value,onChange:S},null,40,["size","model","config","name","disabled","prop"])),m.value?(openBlock(),createElementBlock("div",{key:2,innerHTML:m.value,class:"m-form-tip"},null,8,_hoisted_12)):createCommentVNode("v-if",!0)]),_:1},8,["style","class","prop","label-width","label-position","rules"]),e.config.tip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:1,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:e.config.tip},null,8,_hoisted_13)]),default:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{style:{"line-height":"40px","margin-left":"5px"}},{default:withCtx(()=>[createVNode(unref(warning_filled_default))]),_:1})]),_:1})):createCommentVNode("v-if",!0)],64)):c.value&&b.value?(openBlock(),createElementBlock(Fragment,{key:4},[(x()?e.model[a.value]:e.model)?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(c.value,t=>(openBlock(),createBlock(o,{key:C(t),model:x()?e.model[a.value]:e.model,"last-values":x()?e.lastValues[a.value]||{}:e.lastValues,"is-compare":e.isCompare,config:t,size:e.size,disabled:h.value,"step-active":e.stepActive,"expand-more":s.value,"label-width":_.value,prop:d.value,onChange:S,onAddDiffCount:w},null,8,["model","last-values","is-compare","config","size","disabled","step-active","expand-more","label-width","prop"]))),128)):createCommentVNode("v-if",!0)],64)):createCommentVNode("v-if",!0),e.config.expand&&"fieldset"!==v.value?(openBlock(),createElementBlock("div",_hoisted_14,[createVNode(unref(_sfc_main$G$2),{type:"primary",size:"small",disabled:!1,link:"",onClick:y},{default:withCtx(()=>[createTextVNode(toDisplayString(s.value?"收起配置":"展开更多配置"),1)]),_:1})])):createCommentVNode("v-if",!0)],14,_hoisted_1$e$1)):createCommentVNode("v-if",!0)}}}),_hoisted_1$d$1=["innerHTML"],_hoisted_2$6$1=["innerHTML"],_hoisted_3$4$1={key:1},_hoisted_4$2$1=["innerHTML"],_hoisted_5$2$1=["innerHTML"],_hoisted_6$1$1={key:2,style:{display:"flex"}},_hoisted_7={style:{flex:"1"}},_hoisted_8=["src"],_sfc_main$w$2=defineComponent({name:"MFormFieldset",__name:"Fieldset",props:{labelWidth:{},prop:{default:""},size:{},model:{},lastValues:{default:()=>({})},isCompare:{type:Boolean,default:!1},config:{},rules:{default:{}},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(e,{emit:t}){const i=e,o=t,n=inject("mForm"),r=computed$1(()=>i.config.name||""),s=computed$1(()=>!i.config.expand||!r.value||i.model[r.value]?.value),a=computed$1(()=>i.config.items?i.config.labelWidth||i.labelWidth:i.config.labelWidth||i.labelWidth||(i.config.text?void 0:"0")),l=e=>{o("change",e,{modifyKey:"value"})},c=(e,t)=>o("change",e,t),d=(e,t)=>e[n?.keyProp||"__key"]??t,u=()=>o("addDiffCount");return(e,t)=>(r.value?e.model[r.value]:e.model)?(openBlock(),createElementBlock("fieldset",{key:0,class:"m-fieldset",style:normalizeStyle(s.value?"padding: 15px":"border: 0")},[r.value&&e.config.checkbox?(openBlock(),createBlock(resolveDynamicComponent(s.value?"legend":"div"),{key:0},{default:withCtx(()=>[createVNode(unref(_sfc_main$D$2),{modelValue:e.model[r.value].value,"onUpdate:modelValue":[t[0]||(t[0]=t=>e.model[r.value].value=t),l],prop:`${e.prop}${e.prop?".":""}${e.config.name}.value`,"true-value":1,"false-value":0},{default:withCtx(()=>[createBaseVNode("span",{innerHTML:e.config.legend},null,8,_hoisted_1$d$1),e.config.extra?(openBlock(),createElementBlock("span",{key:0,innerHTML:e.config.extra,class:"m-form-tip"},null,8,_hoisted_2$6$1)):createCommentVNode("v-if",!0)]),_:1},8,["modelValue","prop"])]),_:1})):(openBlock(),createElementBlock("legend",_hoisted_3$4$1,[createBaseVNode("span",{innerHTML:e.config.legend},null,8,_hoisted_4$2$1),e.config.extra?(openBlock(),createElementBlock("span",{key:0,innerHTML:e.config.extra,class:"m-form-tip"},null,8,_hoisted_5$2$1)):createCommentVNode("v-if",!0)])),e.config.schematic&&s.value?(openBlock(),createElementBlock("div",_hoisted_6$1$1,[createBaseVNode("div",_hoisted_7,[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.config.items,(i,o)=>(openBlock(),createBlock(_sfc_main$x$2,{key:d(i,o),model:r.value?e.model[r.value]:e.model,lastValues:r.value?e.lastValues[r.value]:e.lastValues,"is-compare":e.isCompare,rules:r.value?e.rules[r.value]:[],config:i,prop:e.prop,disabled:e.disabled,labelWidth:a.value,size:e.size,onChange:c,onAddDiffCount:t[1]||(t[1]=e=>u())},null,8,["model","lastValues","is-compare","rules","config","prop","disabled","labelWidth","size"]))),128))]),createBaseVNode("img",{class:"m-form-schematic",src:e.config.schematic},null,8,_hoisted_8)])):s.value?(openBlock(!0),createElementBlock(Fragment,{key:3},renderList(e.config.items,(i,o)=>(openBlock(),createBlock(_sfc_main$x$2,{key:d(i,o),model:r.value?e.model[r.value]:e.model,lastValues:r.value?e.lastValues[r.value]:e.lastValues,"is-compare":e.isCompare,rules:r.value?e.rules[r.value]:[],config:i,prop:e.prop,labelWidth:a.value,size:e.size,disabled:e.disabled,onChange:c,onAddDiffCount:t[2]||(t[2]=e=>u())},null,8,["model","lastValues","is-compare","rules","config","prop","labelWidth","size","disabled"]))),128)):createCommentVNode("v-if",!0)],4)):createCommentVNode("v-if",!0)}}),_hoisted_1$c$1={class:"m-fields-group-list-item"},_hoisted_2$5$1={style:{"text-align":"right","margin-top":"20px"}},_hoisted_3$3$1=["innerHTML"],_sfc_main$v$2=defineComponent({name:"MFormGroupListItem",__name:"GroupListItem",props:{model:{},lastValues:{},isCompare:{type:Boolean},groupModel:{},config:{},labelWidth:{},prop:{},size:{},index:{},disabled:{type:Boolean}},emits:["swap-item","remove-item","change","addDiffCount","copy-item"],setup(e,{emit:t}){const i=e,o=t,n=inject("mForm"),r=i.config.defaultExpandQuantity??7,s=ref$1(i.config.expandAll||r>i.index),a=computed$1(()=>({type:"row",span:i.config.span||24,items:i.config.items,labelWidth:i.config.labelWidth,[n?.keyProp||"__key"]:`${i.config[n?.keyProp||"__key"]}${String(i.index)}`})),l=computed$1(()=>{if(i.config.titleKey&&i.model[i.config.titleKey])return i.model[i.config.titleKey];if(i.config.title)return filterFunction(n,i.config.title,i);return`${i.config.titlePrefix||"组"} ${String(i.index+1)}`}),c=computed$1(()=>i.groupModel?.length||0),d=computed$1(()=>filterFunction(n,i.config.itemExtra,i)),u=()=>o("remove-item",i.index),h=(e,t)=>{o("change",i.model,t)},p=()=>{s.value=!s.value},g=computed$1(()=>{const e=i.config.delete;return!e||"function"!=typeof e||e(i.model,i.index,n?.values)}),m=(e=0)=>o("swap-item",i.index,i.index+e),f=computed$1(()=>{const{movable:e}=i.config;return void 0===e||("function"==typeof e?e(n,i.index||0,i.model,i.groupModel):e)}),v=computed$1(()=>filterFunction(n,i.config.copyable,i)),b=()=>{o("copy-item",i.index)},_=ref$1(!1),y=ref$1(1),C=()=>{_.value=!1,o("swap-item",i.index,y.value-1)};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$c$1,[createBaseVNode("div",null,[createVNode(unref(_sfc_main$G$2),{link:"",disabled:e.disabled,onClick:p},{default:withCtx(()=>[createVNode(unref(_sfc_main$o$3),null,{default:withCtx(()=>[s.value?(openBlock(),createBlock(unref(caret_bottom_default),{key:0})):(openBlock(),createBlock(unref(caret_right_default),{key:1}))]),_:1}),createTextVNode(toDisplayString(l.value),1)]),_:1},8,["disabled"]),withDirectives(createVNode(unref(_sfc_main$G$2),{type:"danger",size:"small",link:"",icon:unref(delete_default),disabled:e.disabled,onClick:u},null,8,["icon","disabled"]),[[vShow,g.value]]),v.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,link:"",size:"small",type:"primary",icon:unref(document_copy_default),disabled:e.disabled,onClick:b},{default:withCtx(()=>[...t[6]||(t[6]=[createTextVNode("复制",-1)])]),_:1},8,["icon","disabled"])):createCommentVNode("v-if",!0),f.value?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(_sfc_main$G$2),{link:"",size:"small",disabled:e.disabled,icon:unref(caret_top_default),onClick:t[0]||(t[0]=e=>m(-1))},{default:withCtx(()=>[...t[7]||(t[7]=[createTextVNode("上移",-1)])]),_:1},8,["disabled","icon"]),[[vShow,0!==e.index]]),withDirectives(createVNode(unref(_sfc_main$G$2),{link:"",size:"small",disabled:e.disabled,icon:unref(caret_bottom_default),onClick:t[1]||(t[1]=e=>m(1))},{default:withCtx(()=>[...t[8]||(t[8]=[createTextVNode("下移",-1)])]),_:1},8,["disabled","icon"]),[[vShow,e.index!==c.value-1]])],64)):createCommentVNode("v-if",!0),e.config.moveSpecifyLocation?(openBlock(),createBlock(unref(_sfc_main$i$3),{key:2,trigger:"click",placement:"top",width:"200",visible:_.value},{reference:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{link:"",size:"small",type:"primary",icon:unref(position_default),disabled:e.disabled,onClick:t[2]||(t[2]=e=>_.value=!0)},{default:withCtx(()=>[...t[9]||(t[9]=[createTextVNode("移动至",-1)])]),_:1},8,["icon","disabled"])]),default:withCtx(()=>[createBaseVNode("div",null,[createBaseVNode("div",null,[t[10]||(t[10]=createTextVNode(" 第",-1)),createVNode(unref(_sfc_main$m$3),{style:{margin:"0 5px"},modelValue:y.value,"onUpdate:modelValue":t[3]||(t[3]=e=>y.value=e),size:"small",min:1,disabled:e.disabled},null,8,["modelValue","disabled"]),t[11]||(t[11]=createTextVNode("行 ",-1))]),createBaseVNode("div",_hoisted_2$5$1,[createVNode(unref(_sfc_main$G$2),{size:"small",text:"",onClick:t[4]||(t[4]=e=>_.value=!1)},{default:withCtx(()=>[...t[12]||(t[12]=[createTextVNode("取消",-1)])]),_:1}),createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",onClick:C},{default:withCtx(()=>[...t[13]||(t[13]=[createTextVNode("确认",-1)])]),_:1})])])]),_:1},8,["visible"])):createCommentVNode("v-if",!0),d.value?(openBlock(),createElementBlock("span",{key:3,innerHTML:d.value,class:"m-form-tip"},null,8,_hoisted_3$3$1)):createCommentVNode("v-if",!0)]),s.value?(openBlock(),createBlock(_sfc_main$x$2,{key:0,config:a.value,model:e.model,lastValues:e.lastValues,"is-compare":e.isCompare,labelWidth:e.labelWidth,prop:`${e.prop}${e.prop?".":""}${String(e.index)}`,size:e.size,disabled:e.disabled,onChange:h,onAddDiffCount:t[5]||(t[5]=e=>o("addDiffCount"))},null,8,["config","model","lastValues","is-compare","labelWidth","prop","size","disabled"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$b$1={class:"m-fields-group-list"},_hoisted_2$4$1=["innerHTML"],_hoisted_3$2$1={key:1,class:"el-table__empty-block"},_sfc_main$u$2=defineComponent({name:"MFormGroupList",__name:"GroupList",props:{model:{},lastValues:{},isCompare:{type:Boolean},config:{},name:{},labelWidth:{},prop:{},size:{},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(e,{emit:t}){const i=e,o=t,n=inject("mForm"),r=computed$1(()=>!!i.name&&("function"==typeof i.config.addable?i.config.addable(n,{model:i.model[i.name],formValue:n?.values,prop:i.prop,config:i.config}):void 0===i.config.addable||i.config.addable)),s=(e,t)=>{o("change",i.model,t)},a=async()=>{if(!i.name)return!1;let e={};"function"==typeof i.config.defaultAdd?e=await i.config.defaultAdd(n,{model:i.model[i.name],formValue:n?.values,prop:i.prop,config:i.config}):i.config.defaultAdd&&(e=i.config.defaultAdd);const t=await initValue(n,{config:i.config.items,initValues:e});i.model[i.name].push(t),o("change",i.model[i.name],{changeRecords:[{propPath:`${i.prop}.${i.model[i.name].length-1}`,value:t}]})},l=e=>{if(!i.name)return!1;i.model[i.name].splice(e,1),o("change",i.model[i.name])},c=e=>{i.model[i.name].push(cloneDeep(i.model[i.name][e]))},d=(e,t)=>{if(!i.name)return!1;const{length:n}=i.model[i.name],[r]=i.model[i.name].splice(e,1);i.model[i.name].splice(Math.min(Math.max(t,0),n-1),0,r),o("change",i.model[i.name])},u=()=>{i.config.type="table",i.config.groupItems=i.config.items,i.config.items=i.config.tableItems||i.config.items.map(e=>({...e,label:e.label||e.text,text:null}))},h=(e,t)=>e?.[t]||{};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$b$1,[e.config.extra?(openBlock(),createElementBlock("div",{key:0,innerHTML:e.config.extra,style:{color:"rgba(0, 0, 0, 0.45)"}},null,8,_hoisted_2$4$1)):createCommentVNode("v-if",!0),e.model[e.name]&&e.model[e.name].length?(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(e.model[e.name],(i,n)=>(openBlock(),createBlock(_sfc_main$v$2,{key:n,model:i,lastValues:h(e.lastValues[e.name],n),"is-compare":e.isCompare,config:e.config,prop:e.prop,index:n,"label-width":e.labelWidth,size:e.size,disabled:e.disabled,"group-model":e.model[e.name],onRemoveItem:l,onCopyItem:c,onSwapItem:d,onChange:s,onAddDiffCount:t[0]||(t[0]=e=>o("addDiffCount"))},null,8,["model","lastValues","is-compare","config","prop","index","label-width","size","disabled","group-model"]))),128)):(openBlock(),createElementBlock("div",_hoisted_3$2$1,[...t[1]||(t[1]=[createBaseVNode("span",{class:"el-table__empty-text"},"暂无数据",-1)])])),r.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:3,type:"primary",size:e.config.enableToggleMode?"small":"default",disabled:e.disabled,onClick:a},{default:withCtx(()=>[...t[2]||(t[2]=[createTextVNode("新增",-1)])]),_:1},8,["size","disabled"])):createCommentVNode("v-if",!0),e.config.enableToggleMode?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:4,icon:unref(grid_default),size:"small",onClick:u},{default:withCtx(()=>[...t[3]||(t[3]=[createTextVNode("切换为表格",-1)])]),_:1},8,["icon"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$a$1={style:{width:"100%",display:"flex","align-items":"center"}},_hoisted_2$3$1=["innerHTML"],_hoisted_3$1$1={key:0,style:{display:"flex"}},_hoisted_4$1$1={style:{flex:"1"}},_hoisted_5$1$1=["src"],_sfc_main$t$2=defineComponent({name:"MFormPanel",__name:"Panel",props:{model:{},lastValues:{},isCompare:{type:Boolean},config:{},name:{},labelWidth:{},prop:{},size:{},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(e,{emit:t}){const i=e,o=t,n=inject("mForm"),r=ref$1(!1!==i.config.expand),s=computed$1(()=>i.config.items),a=(e,t)=>{o("change",i.model,t)},l=()=>o("addDiffCount");return(e,t)=>s.value&&s.value.length?(openBlock(),createBlock(unref(_sfc_main$F$2),{key:0,class:"box-card m-form-panel","body-style":{display:r.value?"block":"none"}},{header:withCtx(()=>[createBaseVNode("div",_hoisted_1$a$1,[createVNode(unref(_sfc_main$G$2),{style:{padding:"0"},link:"",icon:r.value?unref(caret_bottom_default):unref(caret_right_default),onClick:t[0]||(t[0]=e=>r.value=!r.value)},null,8,["icon"]),e.config&&e.config.extra?(openBlock(),createElementBlock("span",{key:0,innerHTML:e.config.extra,class:"m-form-tip"},null,8,_hoisted_2$3$1)):createCommentVNode("v-if",!0),renderSlot(e.$slots,"header",{},()=>{return[createTextVNode(toDisplayString((t=e.config.title,filterFunction(n,t,i))),1)];var t})])]),default:withCtx(()=>[createBaseVNode("div",null,[renderSlot(e.$slots,"default"),e.config.schematic?(openBlock(),createElementBlock("div",_hoisted_3$1$1,[createBaseVNode("div",_hoisted_4$1$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(s.value,(i,o)=>(openBlock(),createBlock(_sfc_main$x$2,{key:i[unref(n)?.keyProp||"__key"]??o,config:i,model:e.name?e.model[e.name]:e.model,lastValues:e.name?e.lastValues[e.name]:e.lastValues,"is-compare":e.isCompare,prop:e.prop,size:e.size,disabled:e.disabled,"label-width":e.config.labelWidth||e.labelWidth,onChange:a,onAddDiffCount:t[1]||(t[1]=e=>l())},null,8,["config","model","lastValues","is-compare","prop","size","disabled","label-width"]))),128))]),createBaseVNode("img",{class:"m-form-schematic",src:e.config.schematic},null,8,_hoisted_5$1$1)])):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(s.value,(i,o)=>(openBlock(),createBlock(_sfc_main$x$2,{key:i[unref(n)?.keyProp||"__key"]??o,config:i,model:e.name?e.model[e.name]:e.model,lastValues:e.name?e.lastValues[e.name]:e.lastValues,"is-compare":e.isCompare,prop:e.prop,size:e.size,disabled:e.disabled,"label-width":e.config.labelWidth||e.labelWidth,onChange:a,onAddDiffCount:t[2]||(t[2]=e=>l())},null,8,["config","model","lastValues","is-compare","prop","size","disabled","label-width"]))),128))])]),_:3},8,["body-style"])):createCommentVNode("v-if",!0)}}),_sfc_main$s$2=defineComponent({name:"MFormCol",__name:"Col",props:{model:{},lastValues:{},isCompare:{type:Boolean},config:{},labelWidth:{},expandMore:{type:Boolean},span:{},size:{},prop:{},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(e,{emit:t}){const i=e,o=t,n=inject("mForm"),r=computed$1(()=>display$1(n,i.config.display,i)),s=(e,t)=>o("change",e,t),a=()=>o("addDiffCount");return(e,t)=>withDirectives((openBlock(),createBlock(unref(_sfc_main$B$2),{span:e.span},{default:withCtx(()=>[createVNode(_sfc_main$x$2,{model:e.model,lastValues:e.lastValues,"is-compare":e.isCompare,config:e.config,prop:e.prop,"label-width":e.config.labelWidth||e.labelWidth,"expand-more":e.expandMore,size:e.size,disabled:e.disabled,onChange:s,onAddDiffCount:a},null,8,["model","lastValues","is-compare","config","prop","label-width","expand-more","size","disabled"])]),_:1},8,["span"])),[[vShow,r.value&&"hidden"!==e.config.type]])}}),_sfc_main$r$2=defineComponent({name:"MFormRow",__name:"Row",props:{model:{},lastValues:{},isCompare:{type:Boolean},config:{},name:{},labelWidth:{},prop:{},size:{},expandMore:{type:Boolean},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(e,{emit:t}){const i=e,o=t,n=inject("mForm"),r=(e,t)=>{o("change",i.name?i.model[i.name]:i.model,t)},s=()=>o("addDiffCount");return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$e$3),{gutter:10},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.config.items,(t,i)=>(openBlock(),createBlock(_sfc_main$s$2,{key:t[unref(n)?.keyProp||"__key"]??i,span:t.span||e.config.span||24/e.config.items.length,config:t,labelWidth:e.config.labelWidth||e.labelWidth,expandMore:e.expandMore,model:e.name?e.model[e.name]:e.model,lastValues:e.name?e.lastValues[e.name]:e.lastValues,"is-compare":e.isCompare,prop:e.prop,size:e.size,disabled:e.disabled,onChange:r,onAddDiffCount:s},null,8,["span","config","labelWidth","expandMore","model","lastValues","is-compare","prop","size","disabled"]))),128))]),_:1}))}}),_sfc_main$q$2=defineComponent({name:"MFormStep",__name:"Step",props:{model:{},name:{},lastValues:{},isCompare:{type:Boolean},config:{},stepActive:{default:1},labelWidth:{},size:{},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(e,{emit:t}){const i=e,o=t,n=inject("mForm"),r=ref$1(1);watchEffect(()=>{r.value=i.stepActive});const s=(e,t)=>{o("change",i.model,t)};return(e,t)=>(openBlock(),createElementBlock("div",null,[createVNode(unref(_sfc_main$a$3),{active:r.value,"align-center":"",space:e.config.space},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.config.items,(e,t)=>(openBlock(),createBlock(unref(_sfc_main$b$3),{key:e.__key,title:e.title,active:r.value,onClick:e=>(e=>{r.value=e+1,n?.$emit("update:stepActive",r.value)})(t)},null,8,["title","active","onClick"]))),128))]),_:1},8,["active","space"]),(openBlock(!0),createElementBlock(Fragment,null,renderList(e.config.items,(i,a)=>(openBlock(),createElementBlock(Fragment,null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(i.items,l=>(openBlock(),createElementBlock(Fragment,null,[l?withDirectives((openBlock(),createBlock(_sfc_main$x$2,{key:l[unref(n)?.keyProp||"__key"],config:l,model:i.name?e.model[i.name]:e.model,lastValues:i.name?e.lastValues[i.name]:e.lastValues,"is-compare":e.isCompare,prop:`${i.name}`,size:e.size,disabled:e.disabled,"label-width":e.config.labelWidth||e.labelWidth,onChange:s,onAddDiffCount:t[0]||(t[0]=e=>o("addDiffCount"))},null,8,["config","model","lastValues","is-compare","prop","size","disabled","label-width"])),[[vShow,r.value-1===a]]):createCommentVNode("v-if",!0)],64))),256))],64))),256))]))}}),_hoisted_1$9$1={class:"m-fields-table-wrap"},_hoisted_2$2$2=["innerHTML"],_hoisted_3$a=["innerHTML"],_hoisted_4$8={style:{display:"flex","justify-content":"space-between",margin:"10px 0"}},_hoisted_5$4={style:{display:"flex"}},_hoisted_6$3={key:1,class:"bottom",style:{"text-align":"right"}},_sfc_main$p$2=defineComponent({name:"MFormTable",__name:"Table",props:{model:{},lastValues:{default:()=>({})},isCompare:{type:Boolean,default:!1},config:{},name:{},prop:{default:""},labelWidth:{},sort:{type:Boolean},disabled:{type:Boolean},sortKey:{default:""},text:{},size:{},enableToggleMode:{type:Boolean,default:!0},showIndex:{type:Boolean,default:!0}},emits:["change","select","addDiffCount"],setup(e,{expose:t,emit:i}){const o=e,n=i;let r=null;const s=inject("mForm"),{nextZIndex:a}=useZIndex$1(),l=ref$1(),c=ref$1(),d=ref$1(),u=ref$1(10),h=ref$1(0),p=ref$1(1),g=ref$1(!1),m=computed$1(()=>o.name||o.config.name||""),f=(e=[])=>e.filter((e,t)=>t>=h.value*u.value&&t+1<=(h.value+1)*u.value),v=computed$1(()=>f(o.model[m.value])),b=computed$1(()=>o.config.pagination?v.value:o.model[m.value]),_=computed$1(()=>o.config.pagination?f(o.lastValues[m.value]):o.lastValues[m.value]||[]),y=({prop:e,order:t})=>{"ascending"===t?o.model[m.value]=o.model[m.value].sort((t,i)=>t[e]-i[e]):"descending"===t&&(o.model[m.value]=o.model[m.value].sort((t,i)=>i[e]-t[e]))},C=(e,t)=>{if(o.model[m.value].splice(e,0,o.model[m.value].splice(t,1)[0]),o.sortKey)for(let i=o.model[m.value].length-1,n=0;i>=0;i--,n++)o.model[m.value][n][o.sortKey]=i;s?.$emit("field-change",o.prop,o.model[m.value])};let w;const x=async e=>{if(o.config.max&&o.model[m.value].length>=o.config.max)return void tMagicMessage.error(`最多新增配置不能超过${o.config.max}条`);if("function"==typeof o.config.beforeAddRow){if(!o.config.beforeAddRow(s,{model:o.model[m.value],formValue:s?.values,prop:o.prop}))return}const t=o.config.items,i=o.config.enum||[];let r=[];const{length:a}=o.model[m.value],l=o.config.key||"id";let c={};if(i.length){if(a>=i.length)return;r=i.filter(e=>{let t=0;for(;t0&&(c=r[0])}else Array.isArray(e)?t.forEach((t,i)=>{t.name&&(c[t.name]=e[i])}):("function"==typeof o.config.defaultAdd?c=await o.config.defaultAdd(s,{model:o.model[m.value],formValue:s?.values}):o.config.defaultAdd&&(c=o.config.defaultAdd),c=await initValue(s,{config:t,initValues:c}));o.sortKey&&a&&(c[o.sortKey]=o.model[m.value][a-1][o.sortKey]-1),o.model[m.value].push(c),n("change",o.model[m.value],{changeRecords:[{propPath:`${o.prop}.${o.model[m.value].length-1}`,value:c}]})};onMounted(()=>{o.config.defautSort?y(o.config.defautSort):o.config.defaultSort&&y(o.config.defaultSort),o.sort&&o.sortKey&&o.model[m.value].sort((e,t)=>t[o.sortKey]-e[o.sortKey])}),watchEffect(()=>{o.config.dropSort&&(()=>{w?.destroy();const e=l.value?.instance.$el,t=e?.querySelector(".el-table__body > tbody");t&&(w=Sortable.create(t,{draggable:".tmagic-design-table-row",filter:"input",preventOnFilter:!1,direction:"vertical",onEnd:({newIndex:e,oldIndex:t})=>{void 0!==e&&void 0!==t&&(C(e,t),n("change",o.model[m.value]),s?.$emit("field-change",o.prop,o.model[m.value]))}}))})()});const S=computed$1(()=>!o.model[m.value].length||("function"==typeof o.config.addable?o.config.addable(s,{model:o.model[m.value],formValue:s?.values,prop:o.prop}):void 0===o.config.addable||o.config.addable)),k=computed$1(()=>"function"==typeof o.config.selection?o.config.selection(s,{model:o.model[m.value]}):o.config.selection),E=computed$1(()=>"function"==typeof o.config.importable?o.config.importable(s,{formValue:s?.values,model:o.model[m.value]}):void 0!==o.config.importable&&o.config.importable),I=(e,t)=>"function"==typeof e?e(s,{values:s?.initValues,model:o.model,formValue:s?s.values:o.model,prop:o.prop,index:t}):e,T=(e,t)=>{"string"==typeof o.config.selection&&"single"===o.config.selection&&(l.value?.clearSelection(),l.value?.toggleRowSelection(t,!0)),n("select",e,t),"function"==typeof o.config.onSelect&&o.config.onSelect(s,{selection:e,row:t,config:o.config})},D=(e,t)=>{const i=cloneDeep(e);return"function"==typeof e.itemsFunction&&(i.items=e.itemsFunction(t)),delete i.display,i},L=e=>{const t=o.config.delete;return!t||"function"!=typeof t||t(o.model[m.value],e,s?.values)},N=e=>{const t=o.config.copyable;return!t||"function"!=typeof t||t(s,{values:s?.initValues||{},model:o.model,parent:s?.parentValues||{},formValue:s?.values||o.model,prop:o.prop,config:o.config,index:e})},M=async e=>{if(!e?.raw)return!1;globalThis.XLSX||await asyncLoadJs("https://cdn.bootcdn.net/ajax/libs/xlsx/0.17.0/xlsx.full.min.js");const t=new FileReader;return t.onload=()=>{const e=t.result,i=globalThis.XLSX.read(e,{type:"array"});i.SheetNames.forEach(e=>{const t=globalThis.XLSX.utils.sheet_to_json(i.Sheets[e],{header:1});t?.[0]&&t.forEach(e=>{x(e)}),setTimeout(()=>{c.value?.clearFiles()},300)})},t.readAsArrayBuffer(e.raw),!1},$=e=>{u.value=e},R=e=>{h.value=e-1},A=()=>{o.config.type="groupList",o.config.enableToggleMode=!0,o.config.tableItems=o.config.items,o.config.items=o.config.groupItems||o.config.items.map(e=>{const t=e.text||e.label,i=(e=>{if(!e)return"0px";const t=e.match(/[^\x00-\xff]/g)?.length||0,i=e.length-t;return`${Math.max(8*i+20*t,80)}px`})(t);return{...e,text:t,labelWidth:i,span:e.span||12}})},O=()=>{d.value&&(g.value?(d.value.classList.remove("fixed"),g.value=!1):(d.value.classList.add("fixed"),d.value.style.zIndex=`${a()}`,g.value=!0))},P=e=>{const{prop:t}=toRefs(o);return`${t.value}${t.value?".":""}${e+1+h.value*u.value-1}`},B=(e,t)=>{n("change",o.model,t)};return t({toggleRowSelection:(e,t)=>{l.value?.toggleRowSelection.call(l.value,e,t)}}),(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$9$1,[(openBlock(),createBlock(Teleport$1,{to:"body",disabled:!g.value},[createBaseVNode("div",{ref_key:"mTable",ref:d,class:normalizeClass(["m-fields-table",{"m-fields-table-item-extra":e.config.itemExtra}])},[e.config.extra?(openBlock(),createElementBlock("span",{key:0,style:{color:"rgba(0, 0, 0, 0.45)"},innerHTML:e.config.extra},null,8,_hoisted_2$2$2)):createCommentVNode("v-if",!0),createVNode(unref(_sfc_main$2$4),{content:"拖拽可排序",placement:"left-start",disabled:!0!==e.config.dropSort},{default:withCtx(()=>[e.model[m.value]?(openBlock(),createBlock(unref(_sfc_main$8$3),{ref_key:"tMagicTable",ref:l,style:{width:"100%"},"row-key":e.config.rowKey||"id",data:b.value,lastData:_.value,border:e.config.border,"max-height":e.config.maxHeight,"default-expand-all":!0,key:p.value,onSelect:T,onSortChange:y},{default:withCtx(()=>[e.config.itemExtra&&!e.config.dropSort?(openBlock(),createBlock(unref(_sfc_main$7$3),{key:0,fixed:"left",width:"30",type:"expand"},{default:withCtx(t=>[createBaseVNode("span",{innerHTML:I(e.config.itemExtra,t.$index),class:"m-form-tip"},null,8,_hoisted_3$a)]),_:1})):createCommentVNode("v-if",!0),createVNode(unref(_sfc_main$7$3),{label:"操作",width:e.config.operateColWidth||100,align:"center",fixed:!1===e.config.fixed?void 0:"left"},{default:withCtx(t=>[renderSlot(e.$slots,"operateCol",{scope:t}),withDirectives(createVNode(unref(_sfc_main$G$2),{size:"small",type:"danger",link:"",title:"删除",icon:unref(delete_default),onClick:e=>(e=>{o.disabled||(o.model[m.value].splice(e,1),n("change",o.model[m.value]))})(t.$index+1+h.value*u.value-1)},null,8,["icon","onClick"]),[[vShow,L(t.$index+1+h.value*u.value-1)]]),N(t.$index+1+h.value*u.value-1)?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,link:"",size:"small",type:"primary",title:"复制",icon:unref(document_copy_default),disabled:e.disabled,onClick:e=>(e=>{o.model[m.value].push(cloneDeep(o.model[m.value][e]))})(t.$index+1+h.value*u.value-1)},null,8,["icon","disabled","onClick"])):createCommentVNode("v-if",!0)]),_:3},8,["width","fixed"]),e.sort&&e.model[m.value]&&e.model[m.value].length>1?(openBlock(),createBlock(unref(_sfc_main$7$3),{key:1,label:"排序",width:"60"},{default:withCtx(t=>[t.$index+1+h.value*u.value-1!=0?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,content:"点击上移,双击置顶",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{plain:"",size:"small",type:"primary",icon:unref(arrow_up_default),disabled:e.disabled,link:"",onClick:e=>(e=>{r&&clearTimeout(r),r=setTimeout(()=>{C(e,e-1),r=void 0},300)})(t.$index+1+h.value*u.value-1),onDblclick:e=>(e=>{r&&clearTimeout(r);const t=e;for(let i=0;i[createVNode(unref(_sfc_main$G$2),{plain:"",size:"small",type:"primary",icon:unref(arrow_down_default),disabled:e.disabled,link:"",onClick:e=>(e=>{r&&clearTimeout(r),r=setTimeout(()=>{C(e,e+1),r=void 0},300)})(t.$index+1+h.value*u.value-1),onDblclick:e=>(e=>{r&&clearTimeout(r);const t=o.model[m.value].length-1-e;for(let i=0;i[createTextVNode(toDisplayString(e.$index+1+h.value*u.value),1)]),_:1})):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(e.config.items,(i,r)=>{return openBlock(),createElementBlock(Fragment,null,["hidden"!==i.type&&(a=i.display,display$1(s,a,o))?(openBlock(),createBlock(unref(_sfc_main$7$3),{prop:i.name,width:i.width,label:i.label,sortable:i.sortable,"sort-orders":["ascending","descending"],key:i[unref(s)?.keyProp||"__key"]??r,"class-name":!0===e.config.dropSort?"el-table__column--dropable":""},{default:withCtx(o=>[o.$index>-1?(openBlock(),createBlock(_sfc_main$x$2,{key:0,labelWidth:"0",disabled:e.disabled,prop:P(o.$index),rules:i.rules,config:D(i,o.row),model:o.row,lastValues:_.value[o.$index],"is-compare":e.isCompare,size:e.size,onChange:B,onAddDiffCount:t[0]||(t[0]=e=>n("addDiffCount"))},null,8,["disabled","prop","rules","config","model","lastValues","is-compare","size"])):createCommentVNode("v-if",!0)]),_:2},1032,["prop","width","label","sortable","class-name"])):createCommentVNode("v-if",!0)],64);var a}),256))]),_:3},8,["row-key","data","lastData","border","max-height"])):createCommentVNode("v-if",!0)]),_:3},8,["disabled"]),renderSlot(e.$slots,"default"),createBaseVNode("div",_hoisted_4$8,[S.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,size:"small",type:"primary",disabled:e.disabled,plain:"",onClick:t[1]||(t[1]=e=>x())},{default:withCtx(()=>[...t[3]||(t[3]=[createTextVNode("新增一行",-1)])]),_:1},8,["disabled"])):createCommentVNode("v-if",!0),createBaseVNode("div",_hoisted_5$4,[e.enableToggleMode&&!1!==e.config.enableToggleMode&&!g.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,icon:unref(grid_default),size:"small",type:"primary",onClick:A},{default:withCtx(()=>[...t[4]||(t[4]=[createTextVNode("展开配置",-1)])]),_:1},8,["icon"])):createCommentVNode("v-if",!0),!1!==e.config.enableFullscreen?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:1,icon:unref(full_screen_default),size:"small",type:"primary",onClick:O},{default:withCtx(()=>[createTextVNode(toDisplayString(g.value?"退出全屏":"全屏编辑"),1)]),_:1},8,["icon"])):createCommentVNode("v-if",!0),E.value?(openBlock(),createBlock(unref(_sfc_main$1M),{key:2,style:{display:"inline-block"},ref_key:"excelBtn",ref:c,action:"/noop",disabled:e.disabled,"on-change":M,"auto-upload":!1},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{size:"small",type:"success",disabled:e.disabled,plain:""},{default:withCtx(()=>[...t[5]||(t[5]=[createTextVNode("导入EXCEL",-1)])]),_:1},8,["disabled"])]),_:1},8,["disabled"])):createCommentVNode("v-if",!0),E.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:3,size:"small",type:"warning",disabled:e.disabled,plain:"",onClick:t[2]||(t[2]=e=>(()=>{const e=o.model[m.value].length;o.model[m.value].splice(0,e),s?.$emit("field-change",o.prop,o.model[m.value])})())},{default:withCtx(()=>[...t[6]||(t[6]=[createTextVNode("清空",-1)])]),_:1},8,["disabled"])):createCommentVNode("v-if",!0)])]),e.config.pagination?(openBlock(),createElementBlock("div",_hoisted_6$3,[createVNode(unref(_sfc_main$j$3),{layout:"total, sizes, prev, pager, next, jumper","hide-on-single-page":e.model[m.value].length({})},isCompare:{type:Boolean,default:!1},config:{},name:{},size:{},labelWidth:{},prop:{},expandMore:{type:Boolean},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(e,{emit:t}){const i=getDesignConfig("components")?.tabPane,o=getDesignConfig("components")?.tabs,n=(e,t,i)=>{const{config:o,model:n,prop:r}=i;t.name=t.paneName,"function"==typeof o.onTabClick&&o.onTabClick(e,t,{model:n,formValue:e?.values,prop:r,config:o});const s=o.items.find(e=>t.name===e.status);s&&"function"==typeof s.onTabClick&&s.onTabClick(e,t,{model:n,formValue:e?.values,prop:r,config:o})},r=e,s=t,a=inject("mForm"),l=ref$1(((e,t)=>{const{config:i,model:o,prop:n}=t,{active:r}=i;return"function"==typeof r?r(e,{model:o,formValue:e?.values,prop:n}):0>=t.config.items.length?"0":void 0!==r?r:"0"})(a,r)),c=ref$1({}),d=computed$1(()=>{if(r.config.dynamic){if(!r.config.name)throw new Error("dynamic tab 必须配置name");return r.model[r.config.name]||[]}return r.config.items.filter(e=>display$1(a,e.display,r))}),u=e=>filterFunction(a,e,r);watchEffect(()=>{"function"==typeof r.config.activeChange&&r.config.activeChange(a,l.value,{model:r.model,prop:r.prop})});const h=e=>r.config.dynamic?r.config.items:e.items,p=e=>n(a,e,r),g=async()=>{if(!r.name)throw new Error("dynamic tab 必须配置name");if("function"==typeof r.config.onTabAdd)r.config.onTabAdd(a,{model:r.model,prop:r.prop,config:r.config}),s("change",r.model);else{const e=await initValue(a,{config:r.config.items,initValues:{}});e.title=`标签${d.value.length+1}`,r.model[r.name].push(e),s("change",r.model[r.name],{changeRecords:[{propPath:`${r.prop}.${r.model[r.name].length-1}`,value:e}]})}a?.$emit("field-change",r.prop,r.model[r.name])},m=e=>{if(!r.name)throw new Error("dynamic tab 必须配置name");"function"==typeof r.config.onTabRemove?r.config.onTabRemove(a,e,{model:r.model,prop:r.prop,config:r.config}):(r.model[r.name].splice(+e,1),(e=r.model[r.name].length)&&(l.value=(+l.value-1).toString(),n(a,{name:l.value},r))),s("change",r.model),a?.$emit("field-change",r.prop,r.model[r.name])},f=(e,t)=>{s("change",r.model,t)};return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(o)?.component||"el-tabs"),mergeProps({modelValue:l.value,"onUpdate:modelValue":t[0]||(t[0]=e=>l.value=e)},unref(o)?.props({type:e.config.tabType,editable:e.config.editable||!1,tabPosition:e.config.tabPosition||"top"})||{},{class:"tmagic-design-tabs "+(e.config.dynamic?"magic-form-dynamic-tab":"magic-form-tab"),onTabClick:p,onTabAdd:g,onTabRemove:m}),{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(d.value,(t,o)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)?.component||"el-tab-pane"),mergeProps({key:t[unref(a)?.keyProp||"__key"]??o},{ref_for:!0},unref(i)?.props({name:u(t.status)||o.toString(),lazy:t.lazy||!1})||{}),{label:withCtx(()=>[createBaseVNode("span",null,[createTextVNode(toDisplayString(u(t.title)),1),createVNode(unref(_sfc_main$H$2),{hidden:!c.value[o],value:c.value[o],class:"diff-count-badge"},null,8,["hidden","value"])])]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(h(t),i=>(openBlock(),createBlock(_sfc_main$x$2,{key:i[unref(a)?.keyProp||"__key"],config:i,disabled:e.disabled,model:e.config.dynamic?(e.name?e.model[e.name]:e.model)[o]:t.name?(e.name?e.model[e.name]:e.model)[t.name]:e.name?e.model[e.name]:e.model,"last-values":unref(isEmpty$3)(e.lastValues)?{}:e.config.dynamic?(e.name?e.lastValues[e.name]:e.lastValues)[o]:t.name?(e.name?e.lastValues[e.name]:e.lastValues)[t.name]:e.name?e.lastValues[e.name]:e.lastValues,"is-compare":e.isCompare,prop:e.config.dynamic?`${e.prop}${e.prop?".":""}${String(o)}`:e.prop,size:e.size,"label-width":t.labelWidth||e.labelWidth,"expand-more":e.expandMore,onChange:f,onAddDiffCount:e=>(e=>{c.value[e]?c.value[e]+=1:c.value[e]=1,s("addDiffCount")})(o)},null,8,["config","disabled","model","last-values","is-compare","prop","size","label-width","expand-more","onAddDiffCount"]))),128))]),_:2},1040))),128))]),_:1},16,["modelValue","class"]))}});let $MAGIC_FORM={};const setConfig=e=>{$MAGIC_FORM=e},getConfig=e=>$MAGIC_FORM[e],useAddField=e=>{if(!e)return;const t=inject("mForm"),i=getCurrentInstance$1();watch(()=>i?.proxy,i=>{i?t?.setField(e,i):t?.deleteField(e)},{immediate:!0})},_sfc_main$n$2=defineComponent({name:"MFormCascader",__name:"Cascader",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t,n=inject("mForm");useAddField(i.prop);const r=getConfig("request"),s=ref$1(),a=ref$1([]),l=ref$1(null),c=computed$1(()=>filterFunction(n,i.config.checkStrictly,i)),d=computed$1(()=>filterFunction(n,i.config.valueSeparator,i)),u=computed$1({get:()=>"string"==typeof i.model[i.name]&&d.value?i.model[i.name].split(d.value):i.model[i.name],set(e){let t=e;d.value&&(t=e.join(d.value)),i.model[i.name]=t}});"function"==typeof i.config.options&&i.model&&n?watchEffect(()=>{"function"==typeof i.config.options&&Promise.resolve(i.config.options(n,{model:i.model,prop:i.prop,formValue:n?.values})).then(e=>{a.value=e})}):!i.config.options?.length||i.config.remote?Promise.resolve(async function(){const{config:e}=i,{option:t}=e;if(!t)return;let{body:o}=t;const s={url:t.url,cache:t.cache,timeout:t.timeout,data:{}};o&&n&&("function"==typeof o&&i.model&&n&&(o=o(n,{model:i.model,formValue:n.values,formValues:n.values,config:i.config})),s.data=o);const c=await r(s);l.value=c[t.root],l.value&&"function"==typeof t?.item&&(a.value=t.item(c[t.root]))}()):Array.isArray(i.config.options)&&watchEffect(()=>{a.value=i.config.options});const h=()=>{s.value&&(s.value.setQuery(""),s.value.setPreviousQuery(null),o("change",i.model[i.name]))};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$E$2),{modelValue:u.value,"onUpdate:modelValue":t[0]||(t[0]=e=>u.value=e),ref_key:"tMagicCascader",ref:s,style:{width:"100%"},clearable:"",filterable:"",size:e.size,placeholder:e.config.placeholder,disabled:e.disabled,options:a.value,"popper-class":e.config.popperClass,props:{multiple:e.config.multiple??!1,emitPath:e.config.emitPath??!0,checkStrictly:c.value??!1},onChange:h},null,8,["modelValue","size","placeholder","disabled","options","popper-class","props"]))}}),_sfc_main$m$2=defineComponent({name:"MFormCheckbox",__name:"Checkbox",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const n=computed$1(()=>void 0!==i.config.activeValue?i.config.activeValue:"number"===i.config.filter?1:void 0),r=computed$1(()=>void 0!==i.config.inactiveValue?i.config.inactiveValue:"number"===i.config.filter?0:void 0),s=e=>{o("change",e)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$D$2),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),size:e.size,trueValue:n.value,falseValue:r.value,disabled:e.disabled,onChange:s},{default:withCtx(()=>[createTextVNode(toDisplayString(e.config.text),1)]),_:1},8,["modelValue","size","trueValue","falseValue","disabled"]))}}),_sfc_main$l$2=defineComponent({name:"MFormCheckGroup",__name:"CheckboxGroup",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop),i.model&&!i.model[i.name]&&(i.model[i.name]=[]);const n=e=>{o("change",e)},r=inject("mForm"),s=computed$1(()=>Array.isArray(i.config.options)?i.config.options:"function"==typeof i.config.options&&filterFunction(r,i.config.options,i)||[]);return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$C$2),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),size:e.size,disabled:e.disabled,onChange:n},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(s.value,e=>(openBlock(),createBlock(unref(_sfc_main$D$2),{value:e.value,key:e.value,disabled:e.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(e.text),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","size","disabled"]))}}),_sfc_main$k$2=defineComponent({name:"MFormColorPicker",__name:"ColorPicker",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=t;useAddField(e.prop);const o=e=>i("change",e);return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$y$2),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),size:e.size,disabled:e.disabled,showAlpha:!0,onChange:o},null,8,["modelValue","size","disabled"]))}}),_sfc_main$j$2=defineComponent({name:"MFormDate",__name:"Date",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop),i.model[i.name]=datetimeFormatter(i.model[i.name],"",i.config.valueFormat||"YYYY/MM/DD");const n=e=>{o("change",e)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$x$3),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),type:"date",size:e.size,placeholder:e.config.placeholder,disabled:e.disabled,format:e.config.format||"YYYY/MM/DD","value-format":e.config.valueFormat||"YYYY/MM/DD",onChange:n},null,8,["modelValue","size","placeholder","disabled","format","value-format"]))}}),_sfc_main$i$2=defineComponent({name:"MFormDateRange",__name:"Daterange",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const{names:n}=i.config,r=ref$1([]);void 0!==i.model&&(n?.length?watch([()=>i.model[n[0]],()=>i.model[n[1]]],([e,t],[o,n])=>{r.value||(r.value=[]);const s=`${i.config.dateFormat||"YYYY/MM/DD"} ${i.config.timeFormat||"HH:mm:ss"}`;e&&t||(r.value=[]),e!==o&&(r.value[0]=datetimeFormatter(e,"",s)),t!==n&&(r.value[1]=datetimeFormatter(t,"",s))},{immediate:!0}):i.name&&i.model[i.name]&&watch(()=>i.model[i.name],(e,t)=>{const o=`${i.config.dateFormat||"YYYY/MM/DD"} ${i.config.timeFormat||"HH:mm:ss"}`;e!==t&&(r.value=e.map(e=>e?datetimeFormatter(e,"",o):void 0))},{immediate:!0}));const s=e=>{const t=e||[];i.name?o("change",t):(n?.length&&(e=>{n?.forEach((t,o)=>{i.model&&(Array.isArray(e)?i.model[t]=e[o]:i.model[t]=void 0)})})(t),o("change",i.model))};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$x$3),{modelValue:r.value,"onUpdate:modelValue":t[0]||(t[0]=e=>r.value=e),type:"datetimerange","range-separator":"-","start-placeholder":"开始日期","end-placeholder":"结束日期",size:e.size,"unlink-panels":!0,disabled:e.disabled,"default-time":e.config.defaultTime,"value-format":e.config.valueFormat||"YYYY/MM/DD HH:mm:ss","date-format":e.config.dateFormat||"YYYY/MM/DD","time-format":e.config.timeFormat||"HH:mm:ss",onChange:s},null,8,["modelValue","size","disabled","default-time","value-format","date-format","time-format"]))}}),_sfc_main$h$2=defineComponent({name:"MFormDateTime",__name:"DateTime",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const n=i.model?.[i.name]?.toString();i.model&&(i.model[i.name]=n&&"Invalid Date"!==n?datetimeFormatter(i.model[i.name],"",i.config.valueFormat||"YYYY/MM/DD HH:mm:ss"):"");const r=e=>{o("change",e)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$x$3),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),"popper-class":"magic-datetime-picker-popper",type:"datetime",size:e.size,placeholder:e.config.placeholder,disabled:e.disabled,format:e.config.format||"YYYY/MM/DD HH:mm:ss","value-format":e.config.valueFormat||"YYYY/MM/DD HH:mm:ss","default-time":e.config.defaultTime,onChange:r},null,8,["modelValue","size","placeholder","disabled","format","value-format","default-time"]))}}),_hoisted_1$8$1={key:0},_sfc_main$g$2=defineComponent({name:"MFormDisplay",__name:"Display",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},setup(e){const t=e;return t.config.initValue&&t.model&&(t.model[t.name]=t.config.initValue),useAddField(t.prop),(e,t)=>e.model?(openBlock(),createElementBlock("span",_hoisted_1$8$1,toDisplayString(e.model[e.name]),1)):createCommentVNode("v-if",!0)}}),_hoisted_1$7$1={class:"m-fields-dynamic-field"},_sfc_main$f$2=defineComponent({name:"MFormDynamicField",__name:"DynamicField",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const n=getConfig("request"),r=reactive$1({value:{}}),s=reactive$1({value:{}}),a=watch(()=>i.model?.[i.config.dynamicKey],e=>{""!==e&&(async()=>{if("function"!=typeof i.config.returnFields||!i.model)return;const e=await i.config.returnFields(i.config,i.model,n);r.value={},s.value={},e.forEach(e=>{if("object"!=typeof e||void 0===e.name)return;let t=i.model?.[e.name]||"";t||void 0===e.defaultValue||(t=e.defaultValue,o("change",t,{modifyKey:e.name})),r.value[e.name]=t,s.value[e.name]=e.label||""})})()},{immediate:!0});onBeforeUnmount(()=>{"function"==typeof a&&a()});return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$7$1,[createVNode(unref(_sfc_main$q$3),{size:"small"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(Object.keys(r.value),e=>(openBlock(),createBlock(unref(_sfc_main$p$3),{key:e,label:s.value[e]},{default:withCtx(()=>[createVNode(unref(_sfc_main$n$3),{modelValue:r.value[e],"onUpdate:modelValue":t=>r.value[e]=t,placeholder:s.value[e],onChange:t=>(e=>{o("change",r.value[e],{modifyKey:e})})(e)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])]),_:2},1032,["label"]))),128))]),_:1})]))}}),_sfc_main$e$2=defineComponent({name:"MFormHidden",__name:"Hidden",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},setup:e=>(useAddField(e.prop),(e,t)=>e.model?withDirectives((openBlock(),createElementBlock("input",{key:0,"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),type:"hidden"},null,512)),[[vModelText,e.model[e.name]]]):createCommentVNode("v-if",!0))}),_sfc_main$d$2=defineComponent({name:"MForm",__name:"Form",props:{config:{default:()=>[]},initValues:{default:()=>({})},lastValues:{default:()=>({})},isCompare:{type:Boolean,default:!1},parentValues:{default:()=>({})},labelWidth:{default:"200px"},disabled:{type:Boolean,default:!1},height:{default:"auto"},stepActive:{default:1},size:{},inline:{type:Boolean,default:!1},labelPosition:{default:"right"},keyProp:{default:"__key"},popperClass:{},preventSubmitDefault:{type:Boolean},extendState:{}},emits:["change","error","field-input","field-change","update:stepActive"],setup(e,{expose:t,emit:i}){const o=e,n=i,r=ref$1(),s=ref$1(!1),a=ref$1({}),l=ref$1({}),c=new Map,d=getConfig("request"),u=reactive$1({keyProp:o.keyProp,popperClass:o.popperClass,config:o.config,initValues:o.initValues,isCompare:o.isCompare,lastValues:o.lastValues,parentValues:o.parentValues,values:a,lastValuesProcessed:l,$emit:n,fields:c,setField:(e,t)=>c.set(e,t),getField:e=>c.get(e),deleteField:e=>c.delete(e),$messageBox:tMagicMessageBox,$message:tMagicMessage,post:e=>{if(d)return d({method:"POST",...e})}});watchEffect(async()=>{if(u.initValues=o.initValues,u.lastValues=o.lastValues,u.isCompare=o.isCompare,u.config=o.config,u.keyProp=o.keyProp,u.popperClass=o.popperClass,u.parentValues=o.parentValues,"function"==typeof o.extendState){const e=await o.extendState(u)||{};Object.entries(e).forEach(([e,t])=>{u[e]=t})}}),provide("mForm",u);const h=shallowRef([]);watch([()=>o.config,()=>o.initValues],([e],[t])=>{h.value=[],isEqual(toRaw(e),toRaw(t))||(s.value=!1),initValue(u,{initValues:o.initValues,config:o.config}).then(e=>{a.value=e,s.value=!o.isCompare}),o.isCompare&&initValue(u,{initValues:o.lastValues,config:o.config}).then(e=>{l.value=e,s.value=!0})},{immediate:!0});const p=(e,t)=>{t.changeRecords?.length&&h.value.push(...t.changeRecords),n("change",a.value,t)},g=e=>{o.preventSubmitDefault&&e.preventDefault()};return t({values:a,lastValuesProcessed:l,formState:u,initialized:s,changeRecords:h,changeHandler:p,resetForm:()=>{r.value?.resetFields(),h.value=[]},submitForm:async e=>{try{return await(r.value?.validate()),e?a.value:cloneDeep(toRaw(a.value))}catch(t){n("error",t);const e=[];throw Object.entries(t).forEach(([,t])=>{t.forEach(({field:t,message:i})=>{t&&i&&e.push(`${t} -> ${i}`),t&&!i&&e.push(`${t} -> 出现错误`),!t&&i&&e.push(`${i}`)})}),new Error(e.join("
    "))}}}),(e,t)=>(openBlock(),createBlock(unref(_sfc_main$q$3),{class:"m-form",ref_key:"tMagicForm",ref:r,model:a.value,"label-width":e.labelWidth,style:normalizeStyle(`height: ${e.height}`),inline:e.inline,"label-position":e.labelPosition,onSubmit:g},{default:withCtx(()=>[s.value&&Array.isArray(e.config)?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(e.config,(t,i)=>(openBlock(),createBlock(_sfc_main$x$2,{disabled:e.disabled,key:t[e.keyProp]??i,config:t,model:a.value,"last-values":l.value,"is-compare":e.isCompare,"label-width":t.labelWidth||e.labelWidth,"step-active":e.stepActive,size:e.size,onChange:p},null,8,["disabled","config","model","last-values","is-compare","label-width","step-active","size"]))),128)):createCommentVNode("v-if",!0)]),_:1},8,["model","label-width","style","inline","label-position"]))}}),_hoisted_1$6$1={style:{"min-height":"1px"}},_sfc_main$c$2=defineComponent({name:"MFormDialog",__name:"FormDialog",props:{config:{default:()=>[]},values:{default:()=>({})},parentValues:{},width:{},labelWidth:{},fullscreen:{type:Boolean},disabled:{type:Boolean},title:{},inline:{type:Boolean},labelPosition:{},zIndex:{},size:{},confirmText:{default:"确定"},preventSubmitDefault:{type:Boolean}},emits:["close","submit","error","change"],setup(t,{expose:i,emit:o}){const n=t,r=o,s=ref$1(),a=ref$1(!1),l=ref$1(!1),c=ref$1(1),d=ref$1(document.body.clientHeight-194+"px"),u=computed$1(()=>{const{length:e}=n.config;for(let t=0;t{const{length:e}=n.config;for(let t=0;t{c.value=1,r("close")},g=async()=>{try{const e=await(s.value?.submitForm());r("submit",e,{changeRecords:s.value?.changeRecords})}catch(e){r("error",e)}},m=()=>{c.value-=1},f=()=>{c.value+=1},v=(e,t)=>{r("change",e,t)},b=()=>{a.value=!1},_=()=>{b()};return i({form:s,saveFetch:l,dialogVisible:a,cancel:_,save:g,show:()=>{a.value=!0},hide:b}),(e,t)=>(openBlock(),createBlock(unref(_sfc_main$w$3),{modelValue:a.value,"onUpdate:modelValue":t[1]||(t[1]=e=>a.value=e),class:"m-form-dialog",top:"20px","append-to-body":"",title:e.title,width:e.width,zIndex:e.zIndex,fullscreen:e.fullscreen,"close-on-click-modal":!1,onClose:p},{footer:withCtx(()=>[createVNode(unref(_sfc_main$e$3),{class:"dialog-footer"},{default:withCtx(()=>[createVNode(unref(_sfc_main$B$2),{span:12,style:{"text-align":"left"}},{default:withCtx(()=>[createBaseVNode("div",_hoisted_1$6$1,[renderSlot(e.$slots,"left")])]),_:3}),createVNode(unref(_sfc_main$B$2),{span:12},{default:withCtx(()=>[renderSlot(e.$slots,"footer",{},()=>[createVNode(unref(_sfc_main$G$2),{onClick:_,size:"small"},{default:withCtx(()=>[...t[2]||(t[2]=[createTextVNode("取 消",-1)])]),_:1}),h.value&&c.value>1?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,type:"info",size:"small",onClick:m},{default:withCtx(()=>[...t[3]||(t[3]=[createTextVNode("上一步",-1)])]),_:1})):createCommentVNode("v-if",!0),h.value&&u.value>c.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:1,type:"info",size:"small",onClick:f},{default:withCtx(()=>[...t[4]||(t[4]=[createTextVNode("下一步",-1)])]),_:1})):(openBlock(),createBlock(unref(_sfc_main$G$2),{key:2,type:"primary",size:"small",disabled:e.disabled,loading:l.value,onClick:g},{default:withCtx(()=>[createTextVNode(toDisplayString(e.confirmText),1)]),_:1},8,["disabled","loading"]))])]),_:3})]),_:3})]),default:withCtx(()=>[a.value?(openBlock(),createElementBlock("div",{key:0,class:"m-dialog-body",style:normalizeStyle(`max-height: ${d.value}; overflow-y: auto; overflow-x: hidden;`)},[createVNode(_sfc_main$d$2,{modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=e=>c.value=e),ref_key:"form",ref:s,size:e.size,disabled:e.disabled,config:e.config,"init-values":e.values,"parent-values":e.parentValues,"label-width":e.labelWidth,"label-position":e.labelPosition,inline:e.inline,"prevent-submit-default":e.preventSubmitDefault,onChange:v},null,8,["modelValue","size","disabled","config","init-values","parent-values","label-width","label-position","inline","prevent-submit-default"]),renderSlot(e.$slots,"default")],4)):createCommentVNode("v-if",!0)]),_:3},8,["modelValue","title","width","zIndex","fullscreen"]))}}),_hoisted_1$5$1=["href"],_hoisted_2$1$2={key:2,class:"m-fields-link"},_sfc_main$b$2=defineComponent({name:"MFormLink",__name:"Link",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const n=ref$1({}),r=ref$1(),s=inject("mForm"),a=computed$1(()=>"function"==typeof i.config.href&&i.model?i.config.href(i.model):i.config.href||i.model?.[i.name]),l=computed$1(()=>"function"==typeof i.config.form?i.config.form(s,{model:i.model||{},values:i.values||{}}):i.config.form),c=computed$1(()=>"function"==typeof i.config.displayText?i.config.displayText(s,{model:i.model||{}}):i.config.displayText?i.config.displayText:"跳转"),d=()=>{n.value=i.model?.[i.name]||{},r.value&&(r.value.dialogVisible=!0)},u=e=>{i.model&&(i.model[i.name]=e,n.value=e,o("change",i.model[i.name])),r.value&&(r.value.dialogVisible=!1)};return(e,t)=>e.config.href&&!e.disabled?(openBlock(),createElementBlock("a",{key:0,target:"_blank",href:a.value,style:normalizeStyle(e.config.css||{})},toDisplayString(c.value),13,_hoisted_1$5$1)):e.config.href&&e.disabled?(openBlock(),createElementBlock("span",{key:1,style:normalizeStyle(e.config.disabledCss||{})},toDisplayString(c.value),5)):(openBlock(),createElementBlock("div",_hoisted_2$1$2,[createVNode(unref(_sfc_main$G$2),{link:"",type:"primary",onClick:d},{default:withCtx(()=>[...t[0]||(t[0]=[createTextVNode("点击编辑",-1)])]),_:1}),createVNode(_sfc_main$c$2,{ref_key:"editor",ref:r,title:e.config.formTitle||"编辑扩展配置",width:e.config.formWidth,values:n.value,config:l.value,parentValues:e.values,fullscreen:e.config.fullscreen,onSubmit:u},null,8,["title","width","values","config","parentValues","fullscreen"])]))}}),_sfc_main$a$2=defineComponent({name:"MFormNumber",__name:"Number",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change","input"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const n=inject("mForm"),r=e=>{o("change",e)},s=e=>{o("input",e),n?.$emit("field-input",i.prop,e)};return(e,t)=>e.model?(openBlock(),createBlock(unref(_sfc_main$m$3),{key:0,modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),clearable:"","controls-position":"right",size:e.size,max:e.config.max,min:e.config.min,step:e.config.step,placeholder:e.config.placeholder,disabled:e.disabled,onChange:r,onInput:s},null,8,["modelValue","size","max","min","step","placeholder","disabled"])):createCommentVNode("v-if",!0)}}),_hoisted_1$4$1={class:"m-fields-number-range"},_sfc_main$9$2=defineComponent({name:"MFormNumberRange",__name:"NumberRange",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop),Array.isArray(i.model[i.name])||(i.model[i.name]=[]);const n=e=>{o("change",[Number(e),i.model[i.name][1]])},r=e=>{o("change",[i.model[i.name][0],Number(e)])};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$4$1,[createVNode(unref(_sfc_main$n$3),{modelValue:e.model[e.name][0],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name][0]=t),clearable:"",size:e.size,disabled:e.disabled,onChange:n},null,8,["modelValue","size","disabled"]),t[2]||(t[2]=createBaseVNode("span",{class:"split-tag"},"-",-1)),createVNode(unref(_sfc_main$n$3),{modelValue:e.model[e.name][1],"onUpdate:modelValue":t[1]||(t[1]=t=>e.model[e.name][1]=t),clearable:"",size:e.size,disabled:e.disabled,onChange:r},null,8,["modelValue","size","disabled"])]))}}),_hoisted_1$3$2={key:1},_sfc_main$8$2=defineComponent({name:"MFormRadioGroup",__name:"RadioGroup",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=computed$1(()=>"button"===i.config.childType?_sfc_main$g$3:_sfc_main$h$3),n=t,r=e=>{var t;i.model[i.name]=i.model[i.name]===e?"":e,t=i.model[i.name],n("change",t)};return useAddField(i.prop),(e,t)=>e.model?(openBlock(),createBlock(unref(_sfc_main$f$3),{key:0,modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),size:e.size,disabled:e.disabled},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.config.options,e=>(openBlock(),createBlock(resolveDynamicComponent(o.value),{value:e.value,key:`${e.value}`,onClick:withModifiers(t=>r(e.value),["prevent"])},{default:withCtx(()=>[e.tooltip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,placement:"top-start",content:e.tooltip},{default:withCtx(()=>[createBaseVNode("div",null,[e.icon?(openBlock(),createBlock(unref(_sfc_main$o$3),{key:0,size:"16"},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.icon)))]),_:2},1024)):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(e.text),1)])]),_:2},1032,["content"])):(openBlock(),createElementBlock("div",_hoisted_1$3$2,[e.icon?(openBlock(),createBlock(unref(_sfc_main$o$3),{key:0,size:"16"},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.icon)))]),_:2},1024)):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(e.text),1)]))]),_:2},1032,["value","onClick"]))),128))]),_:1},8,["modelValue","size","disabled"])):createCommentVNode("v-if",!0)}}),_hoisted_1$2$3={key:2},_sfc_main$7$2=defineComponent({name:"MFormSelect",__name:"Select",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{expose:t,emit:i}){const o=e,n=i,r=getDesignConfig("components")?.option,s=getDesignConfig("components")?.optionGroup;if(!o.model)throw new Error("不能没有model");useAddField(o.prop);const a=ref$1(),l=inject("mForm"),c=ref$1([]),d=ref$1([]),u=ref$1(!1),h=ref$1(!1),p=ref$1(0),g=ref$1(0),m=ref$1(20),f=ref$1(""),v=ref$1([]),b=ref$1(!0),_=(e,t)=>{if("object"==typeof t){const i=o.config.valueKey||"value";return t[i]===e[i]}return e===t},y=e=>{const{option:t={text:"text",value:"value"}}=o.config,{text:i="text",value:n="value"}=t;return e.map(e=>({text:"function"==typeof i?i(e):e[i],value:"function"==typeof n?n(e):e[n]}))},C=async()=>{if(!o.model)return[];if(d.value.length)return d.value;u.value=!0;let e=[];const{option:t}=o.config;if(!t)return[];const{root:i="",totalKey:n="total"}=t;let{body:r={},url:s}=t;"function"==typeof s&&(s=await s(l,{model:o.model,formValue:l?.values}));let a={method:t.method||"POST",url:s,cache:t.cache,timeout:t.timeout,mode:t.mode,headers:t.headers||{},json:t.json||!1};"function"==typeof r&&(r=r(l,{model:o.model,formValue:l?.values,formValues:l?.values,config:o.config})),r.query=f.value,r.pgSize=m.value,r.pgIndex=g.value,a.data=r;const h=getConfig("request");"function"==typeof t.beforeRequest&&(a=await t.beforeRequest(l,a,{model:o.model,formValue:l?.values,formValues:l?.values,prop:o.prop,config:o.config})),"jsonp"===t.method?.toLocaleLowerCase()&&(a.jsonpCallback=t.jsonpCallback||"callback");let b=await h(a);"function"==typeof t.afterRequest&&(b=await t.afterRequest(l,b,{model:o.model,formValue:l?.values,formValues:l?.values,config:o.config,prop:o.prop,postOptions:a}));const _=getValueByKeyPath(i,b),C=globalThis.parseInt(getValueByKeyPath(n,b),10);C>0&&(p.value=C),v.value=v.value.concat(_),_&&("function"==typeof t.item?e=t.item(_):_.map&&(e=y(_))),u.value=!1;const w=[];return o.config.multiple&&o.model[o.name]&&c.value.forEach(t=>{const i=o.model?.[o.name].includes(t.value);i&&!e.find(e=>e.value===t.value)&&w.push(t)}),0===g.value?w.concat(e):c.value.concat(e)},w=async()=>{if(!o.model)return[];const{option:e}=o.config;if(!e)return[];const{root:t="",initRoot:i=""}=e;let{initBody:n={}}=e,r=[],s=e.initUrl;if(!s)return(async()=>{if(!o.model)return[];const e=o.model[o.name],{config:t}=o;return d.value=await C(),b.value=!1,t.group?t.multiple&&e.findIndex?d.value.filter(t=>t.options.findIndex(t=>e.find(e=>_(t.value,e))>-1)>-1):d.value.filter(t=>t.options.findIndex(t=>_(t.value,e))>-1):t.multiple&&e.findIndex?d.value.filter(t=>e.findIndex(e=>_(t.value,e))>-1):d.value.filter(t=>_(t.value,e))})();"function"==typeof s&&(s=await s(l,{model:o.model,formValue:l?.values})),"function"==typeof n&&(n=n(l,{model:o.model,formValue:l?.values,formValues:l?.values,config:o.config}));let a={method:e.method||"POST",url:s,data:{id:o.model[o.name],...n},mode:e.mode,headers:e.headers||{},json:e.json||!1};"function"==typeof e.beforeInitRequest&&(a=await e.beforeInitRequest(l,a,{model:o.model,formValue:l?.values,formValues:l?.values,config:o.config,prop:o.prop})),"jsonp"===e.method?.toLocaleLowerCase()&&(a.jsonpCallback=e.jsonpCallback||"callback");const c=getConfig("request");let u=await c(a);"function"==typeof e.afterRequest&&(u=await e.afterRequest(l,u,{model:o.model,formValue:l?.values,formValues:l?.values,config:o.config,prop:o.prop,postOptions:a}));let h=getValueByKeyPath(i||t,u);return h&&(Array.isArray(h)||(h=[h]),"function"==typeof e.item?r=e.item(h):h.map&&(r=y(h))),r},x=e=>{c.value=e};if("function"==typeof o.config.options?watchEffect(()=>{"function"==typeof o.config.options&&Promise.resolve(o.config.options(l,{model:o.model,prop:o.prop,formValues:l?.values,formValue:l?.values,config:o.config})).then(e=>{x(e)})}):Array.isArray(o.config.options)?watchEffect(()=>{x(o.config.options)}):o.config.option&&onBeforeMount(()=>{if(!o.model)return;const e=o.model[o.name];(Array.isArray(e)?e.length:void 0!==e)&&w().then(e=>{x(e)})}),o.config.remote){const e=watch(()=>a.value?.scrollbarWrap,t=>{t&&(nextTick(()=>e()),t.addEventListener("scroll",async e=>{const t=e.currentTarget;h.value||t.scrollHeight-t.clientHeight-t.scrollTop>1||p.value<=c.value.length||(h.value=!0,g.value+=1,x(await C()),h.value=!1)}))},{immediate:!0})}const S=l?.popperClass,k=e=>{n("change",e)},E=async e=>{e&&o.config.remote&&(f.value&&a.value?(a.value.setQuery(f.value),a.value.setPreviousQuery(f.value),a.value.setSelectedLabel(f.value)):c.value.length<=(o.config.multiple?o.model?.[o.name].length:1)&&x(await C()))},I=async e=>{d.value.length||(f.value=e,g.value=0,x(await C()),o.config.multiple&&setTimeout(()=>{a.value?.setSelected()},0))};return t({options:c,setOptions:x}),(e,t)=>{const i=resolveDirective("loading");return e.model?withDirectives((openBlock(),createBlock(unref(_sfc_main$c$3),{key:0,modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),class:"m-select",ref_key:"tMagicSelect",ref:a,clearable:void 0===e.config.clearable||e.config.clearable,filterable:void 0===e.config.filterable||e.config.filterable,"popper-class":`m-select-popper ${unref(S)}`,size:e.size,remote:b.value,placeholder:e.config.placeholder,multiple:e.config.multiple,"value-key":e.config.valueKey||"value","allow-create":e.config.allowCreate,disabled:e.disabled,"remote-method":e.config.remote&&I,onChange:k,onVisibleChange:E},{default:withCtx(()=>[e.config.group?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(c.value,(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(s)?.component||"el-option-group"),mergeProps({key:t},{ref_for:!0},unref(s)?.props({label:e.label,disabled:e.disabled})||{label:e.label,disabled:e.disabled}),{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.options,(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)?.component||"el-option"),mergeProps({key:t},{ref_for:!0},unref(r)?.props({label:e.label||e.text,value:e.value,disabled:e.disabled})||{label:e.label||e.text,value:e.value,disabled:e.disabled}),null,16))),128))]),_:2},1040))),128)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(c.value,t=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)?.component||"el-option"),mergeProps({class:"tmagic-design-option",key:e.config.valueKey?t.value[e.config.valueKey]:t.value},{ref_for:!0},unref(r)?.props({label:t.text,value:t.value,disabled:t.disabled})||{label:t.text,value:t.value,disabled:t.disabled}),null,16))),128)),h.value?withDirectives((openBlock(),createElementBlock("div",_hoisted_1$2$3,null,512)),[[i,!0]]):createCommentVNode("v-if",!0)]),_:1},8,["modelValue","clearable","filterable","popper-class","size","remote","placeholder","multiple","value-key","allow-create","disabled","remote-method"])),[[i,u.value]]):createCommentVNode("v-if",!0)}}}),_sfc_main$6$2=defineComponent({name:"MFormSwitch",__name:"Switch",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const n=e=>{o("change",e)},r=computed$1(()=>void 0!==i.config.activeValue?i.config.activeValue:"number"!==i.config.filter||1),s=computed$1(()=>void 0!==i.config.inactiveValue?i.config.inactiveValue:"number"===i.config.filter&&0);return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$9$3),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),size:e.size,activeValue:r.value,inactiveValue:s.value,disabled:e.disabled,onChange:n},null,8,["modelValue","size","activeValue","inactiveValue","disabled"]))}}),_hoisted_1$1$3={style:{width:"100%"}},_hoisted_2$q={style:{display:"flex","justify-content":"flex-end"}},_sfc_main$5$3=defineComponent({name:"MFormText",__name:"Text",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change","input"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const n=inject("mForm"),r=computed$1(()=>"string"==typeof i.config.append?{text:i.config.append,type:"button",handler:void 0}:!(!i.config.append||"object"!=typeof i.config.append)&&(0!==i.config.append.value&&i.config.append)),s=ref$1(!1),a=()=>{o("change",i.model[i.name].trim()||""),s.value=!1},l=debounce(e=>{"string"!=typeof e||i.config.trim||(s.value=e.trim()!==e)},300),c=e=>{o("change",e)},d=e=>{l(e),o("input",e),n?.$emit("field-input",i.prop,e)},u=()=>{r.value&&"function"==typeof r.value.handler&&r.value.handler(n,{model:i.model,values:n?.values})},h=ref$1(),p=ref$1(),g=shallowRef();watch(h,e=>{m(),p.value?.$el&&e&&(g.value=createPopper(p.value.$el,e,{placement:i.config.tooltip?"top":"bottom",strategy:"absolute",modifiers:[{name:"offset",options:{offset:[0,10]}}]}))});const m=()=>{g.value&&(g.value.destroy(),g.value=void 0)};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$1$3,[createVNode(unref(_sfc_main$n$3),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),ref_key:"input",ref:p,clearable:"",size:e.size,placeholder:e.config.placeholder,disabled:e.disabled,onChange:c,onInput:d,onKeyup:t[1]||(t[1]=e=>(e=>{if(!i.model)return;if(!i.name)return;const t="ArrowUp"===e.key,n="ArrowDown"===e.key;if(!t&&!n)return;const r=i.model[i.name];let s,a;if(isNumber$3(r)?s=+r:r.replace(/^([0-9.]+)([a-z%]+)$/,(e,t,i)=>{s=+t,a=i}),void 0===s)return;const l=navigator.platform.match("Mac")?e.metaKey:e.ctrlKey,c=e.shiftKey,d=e.altKey;t?l?s+=100:d?s=(1e4*s+1e3)/1e4:s+=c?10:1:n&&(l?s-=100:d?s=(1e4*s-1e3)/1e4:s-=c?10:1),i.model[i.name]=`${s}${a||""}`,o("change",i.model[i.name])})(e))},createSlots({_:2},[r.value?{name:"append",fn:withCtx(()=>["button"===r.value.type?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,style:{color:"#409eff"},size:e.size,onClick:withModifiers(u,["prevent"])},{default:withCtx(()=>[createTextVNode(toDisplayString(r.value.text),1)]),_:1},8,["size"])):createCommentVNode("v-if",!0)]),key:"0"}:void 0]),1032,["modelValue","size","placeholder","disabled"]),(openBlock(),createBlock(Teleport$1,{to:"body"},[s.value?(openBlock(),createElementBlock("div",{key:0,class:"tmagic-form-text-popper m-form-item__content",ref_key:"popoverEl",ref:h},[t[5]||(t[5]=createBaseVNode("div",{class:"m-form-validate__warning"},"输入内容前后有空格,是否移除空格?",-1)),createBaseVNode("div",_hoisted_2$q,[createVNode(unref(_sfc_main$G$2),{link:"",size:"small",onClick:t[2]||(t[2]=e=>s.value=!1)},{default:withCtx(()=>[...t[3]||(t[3]=[createTextVNode("保持原样",-1)])]),_:1}),createVNode(unref(_sfc_main$G$2),{type:"primary",size:"small",onClick:a},{default:withCtx(()=>[...t[4]||(t[4]=[createTextVNode("移除空格",-1)])]),_:1})]),t[6]||(t[6]=createBaseVNode("span",{class:"tmagic-form-text-popper-arrow","data-popper-arrow":""},null,-1))],512)):createCommentVNode("v-if",!0)]))]))}}),_sfc_main$4$3=defineComponent({name:"MFormTextarea",__name:"Textarea",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change","input"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const n=inject("mForm"),r=e=>{o("change",e)},s=e=>{o("input",e),n?.$emit("field-input",i.prop,e)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$n$3),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),type:"textarea",size:e.size,clearable:"",placeholder:e.config.placeholder,disabled:e.disabled,onChange:r,onInput:s},null,8,["modelValue","size","placeholder","disabled"]))}}),_sfc_main$3$3=defineComponent({name:"MFormTime",__name:"Time",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=t;useAddField(e.prop);const o=e=>{i("change",e)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$3$4),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),"value-format":e.config.valueFormat||"HH:mm:ss",format:e.config.format||"HH:mm:ss",size:e.size,placeholder:e.config.placeholder,disabled:e.disabled,onChange:o},null,8,["modelValue","value-format","format","size","placeholder","disabled"]))}}),_sfc_main$2$3=defineComponent({name:"MFormTimeRange",__name:"Timerange",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t;useAddField(i.prop);const{names:n}=i.config,r=ref$1([]);void 0!==i.model&&n?.length&&watch([()=>i.model[n[0]],()=>i.model[n[1]]],([e,t],[i,o])=>{r.value||(r.value=[]),e&&t||(r.value=[]),e!==i&&(r.value[0]=e),t!==o&&(r.value[1]=t)},{immediate:!0});const s=e=>{const t=e||[];n?.length&&(e=>{n?.forEach((t,o)=>{i.model&&(Array.isArray(e)?i.model[t]=e[o]:i.model[t]=void 0)})})(t),o("change",t)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$3$4),{modelValue:r.value,"onUpdate:modelValue":t[0]||(t[0]=e=>r.value=e),"is-range":"","range-separator":"-","start-placeholder":"开始时间","end-placeholder":"结束时间",size:e.size,"unlink-panels":!0,disabled:e.disabled,"default-time":e.config.defaultTime,onChange:s},null,8,["modelValue","size","disabled","default-time"]))}}),footerHeight=60,_sfc_main$1L=defineComponent({name:"MFormBox",__name:"FormBox",props:{config:{default:()=>[]},values:{default:()=>({})},parentValues:{},width:{},height:{},labelWidth:{},disabled:{type:Boolean},size:{},confirmText:{default:"确定"},inline:{type:Boolean},labelPosition:{},preventSubmitDefault:{type:Boolean}},emits:["change","submit","error"],setup(t,{expose:i,emit:o}){const n=t,r=o,s=computed$1(()=>{const e={};return"number"==typeof n.width&&(e.width=`${n.width}px`),"number"==typeof n.height&&(e.height=`${n.height}px`),e}),a=ref$1(),l=ref$1(!1),c=ref$1(0);watchEffect(()=>{n.height&&(c.value=n.height-footerHeight)});const d=async()=>{try{const e=await(a.value?.submitForm());r("submit",e,{changeRecords:a.value?.changeRecords})}catch(e){r("error",e)}},u=(e,t)=>{r("change",e,t)};return i({form:a,saveFetch:l,show:()=>{},hide:()=>{}}),(e,t)=>(openBlock(),createElementBlock("div",{class:"m-form-box",style:normalizeStyle(s.value)},[createBaseVNode("div",{class:"m-box-body",style:normalizeStyle(c.value?{height:`${c.value}px`}:{})},[createVNode(unref(_sfc_main$d$3),null,{default:withCtx(()=>[createVNode(_sfc_main$d$2,{ref_key:"form",ref:a,size:e.size,disabled:e.disabled,config:e.config,"init-values":e.values,"parent-values":e.parentValues,"label-width":e.labelWidth,"label-position":e.labelPosition,inline:e.inline,"prevent-submit-default":e.preventSubmitDefault,onChange:u},null,8,["size","disabled","config","init-values","parent-values","label-width","label-position","inline","prevent-submit-default"]),renderSlot(e.$slots,"default")]),_:3})],4),createBaseVNode("div",{class:"dialog-footer",style:normalizeStyle(`height: ${footerHeight}px`)},[createBaseVNode("div",null,[renderSlot(e.$slots,"left")]),createBaseVNode("div",null,[renderSlot(e.$slots,"footer",{},()=>[createVNode(unref(_sfc_main$G$2),{type:"primary",size:e.size,disabled:e.disabled,loading:l.value,onClick:d},{default:withCtx(()=>[createTextVNode(toDisplayString(e.confirmText),1)]),_:1},8,["size","disabled","loading"])])])],4)],4))}}),createForm=e=>e,defaultInstallOpt$1={},index$2={install(e,t={}){const i=Object.assign(defaultInstallOpt$1,t);e.config.globalProperties.$MAGIC_FORM=i,setConfig(i),e.component("m-form",_sfc_main$d$2),e.component("m-form-dialog",_sfc_main$c$2),e.component("m-form-container",_sfc_main$x$2),e.component("m-form-fieldset",_sfc_main$w$2),e.component("m-form-group-list",_sfc_main$u$2),e.component("m-form-panel",_sfc_main$t$2),e.component("m-form-row",_sfc_main$r$2),e.component("m-form-step",_sfc_main$q$2),e.component("m-form-table",_sfc_main$p$2),e.component("m-form-tab",_sfc_main$o$2),e.component("m-fields-text",_sfc_main$5$3),e.component("m-fields-img-upload",_sfc_main$5$3),e.component("m-fields-number",_sfc_main$a$2),e.component("m-fields-number-range",_sfc_main$9$2),e.component("m-fields-textarea",_sfc_main$4$3),e.component("m-fields-hidden",_sfc_main$e$2),e.component("m-fields-date",_sfc_main$j$2),e.component("m-fields-datetime",_sfc_main$h$2),e.component("m-fields-daterange",_sfc_main$i$2),e.component("m-fields-timerange",_sfc_main$2$3),e.component("m-fields-time",_sfc_main$3$3),e.component("m-fields-checkbox",_sfc_main$m$2),e.component("m-fields-switch",_sfc_main$6$2),e.component("m-fields-color-picker",_sfc_main$k$2),e.component("m-fields-checkbox-group",_sfc_main$l$2),e.component("m-fields-radio-group",_sfc_main$8$2),e.component("m-fields-display",_sfc_main$g$2),e.component("m-fields-link",_sfc_main$b$2),e.component("m-fields-select",_sfc_main$7$2),e.component("m-fields-cascader",_sfc_main$n$2),e.component("m-fields-dynamic-field",_sfc_main$f$2)}},_hoisted_1$2$2=["innerHTML"],_sfc_main$5$2=defineComponent({name:"MTableActionsColumn",__name:"ActionsColumn",props:{columns:{default:()=>[]},config:{default:()=>({})},rowkeyName:{default:"c_id"},editState:{default:()=>[]}},emits:["after-action"],setup(e,{emit:t}){const i=e,o=t;return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$7$3),{label:e.config.label,width:e.config.width,fixed:e.config.fixed},{default:withCtx(n=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.config.actions,(t,o)=>(openBlock(),createBlock(unref(_sfc_main$2$4),{placement:t.tooltipPlacement||"top",key:o,disabled:!Boolean(t.tooltip),content:t.tooltip},{default:withCtx(()=>{return[withDirectives(createVNode(unref(_sfc_main$G$2),{class:"action-btn",link:"",size:"small",type:t.buttonType||"primary",icon:t.icon,onClick:e=>(async(e,t,o)=>{await(e.before?.(t,o)),"edit"===e.type?i.editState[o]=t:await(e.handler?.(t,o)),e.after?.(t,o)})(t,n.row,n.$index)},{default:withCtx(()=>{return[createBaseVNode("span",{innerHTML:(e=t.text,i=n.row,"function"==typeof e?e(i):e)},null,8,_hoisted_1$2$2)];var e,i}),_:2},1032,["type","icon","onClick"]),[[vShow,(o=t.display,r=n.row,("function"!=typeof o||o(r))&&!e.editState[n.$index])]])];var o,r}),_:2},1032,["placement","disabled","content"]))),128)),withDirectives(createVNode(unref(_sfc_main$G$2),{class:"action-btn",link:"",type:"primary",size:"small",onClick:t=>(async(e,t)=>{const n=t.actions?.find(e=>"edit"===e.type)?.action;if(!n)return;const r={},s=i.editState[e];i.columns.filter(e=>e.type).forEach(e=>{r[e.prop]=s[e.prop]});const a=await n({data:r});a?0===a.ret?(tMagicMessage.success("保存成功"),i.editState[e]=void 0,o("after-action")):tMagicMessage.error(a.msg||"保存失败"):(i.editState[e]=void 0,o("after-action"))})(n.$index,e.config)},{default:withCtx(()=>[...t[0]||(t[0]=[createTextVNode("保存",-1)])]),_:2},1032,["onClick"]),[[vShow,e.editState[n.$index]]]),withDirectives(createVNode(unref(_sfc_main$G$2),{class:"action-btn",link:"",type:"primary",size:"small",onClick:t=>e.editState[n.$index]=void 0},{default:withCtx(()=>[...t[1]||(t[1]=[createTextVNode("取消",-1)])]),_:2},1032,["onClick"]),[[vShow,e.editState[n.$index]]])]),_:1},8,["label","width","fixed"]))}}),_sfc_main$4$2=defineComponent({name:"MTableColumn",__name:"ComponentColumn",props:{config:{default:()=>({})}},setup(e){const t=e,i=(e,i)=>"function"==typeof t.config.props?t.config.props(e,i)||{}:t.config.props||{},o=(e,i)=>"function"==typeof t.config.listeners?t.config.listeners(e,i)||{}:t.config.listeners||{};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$7$3),{"show-overflow-tooltip":"",label:e.config.label,width:e.config.width,fixed:e.config.fixed,sortable:e.config.sortable,prop:e.config.prop},{default:withCtx(t=>[(openBlock(),createBlock(resolveDynamicComponent(e.config.component),mergeProps(i(t.row,t.$index),toHandlers(o(t.row,t.$index))),null,16))]),_:1},8,["label","width","fixed","sortable","prop"]))}}),_hoisted_1$1$2=["innerHTML"],_sfc_main$3$2=defineComponent({name:"MTableExpandColumn",__name:"ExpandColumn",props:{config:{default:()=>({})}},setup(e){const t=e;return(e,i)=>(openBlock(),createElementBlock(Fragment,null,[createCommentVNode(" @ts-nocheck "),createVNode(unref(_sfc_main$7$3),{type:"expand",width:e.config.width,fixed:e.config.fixed},{default:withCtx(i=>{return[e.config.table?(openBlock(),createBlock(_sfc_main$1K,{key:0,"show-header":!1,columns:e.config.table,data:e.config.prop&&i.row[e.config.prop]||[]},null,8,["columns","data"])):createCommentVNode("v-if",!0),e.config.form?(openBlock(),createBlock(unref(_sfc_main$d$2),{key:1,config:e.config.form,"init-values":e.config.values||e.config.prop&&i.row[e.config.prop]||{}},null,8,["config","init-values"])):createCommentVNode("v-if",!0),e.config.expandContent?(openBlock(),createElementBlock("div",{key:2,innerHTML:e.config.expandContent(i.row,e.config.prop)},null,8,_hoisted_1$1$2)):createCommentVNode("v-if",!0),e.config.component?(openBlock(),createBlock(resolveDynamicComponent(e.config.component),normalizeProps(mergeProps({key:3},(o=i.row,"function"==typeof t.config.props?t.config.props(o)||{}:t.config.props||{}))),null,16)):createCommentVNode("v-if",!0)];var o}),_:1},8,["width","fixed"])],2112))}}),formatter$1=(t,i,o)=>{if(!t.prop)return"";if(!t.formatter)return i[t.prop];"datetime"===t.formatter&&(t.formatter=e=>datetimeFormatter(e));try{return t.formatter(i[t.prop],i,o)}catch(e){return console.error("Formatter error:",e),i[t.prop]}},_sfc_main$2$2=defineComponent({name:"MTablePopoverColumn",__name:"PopoverColumn",props:{config:{default:()=>({})}},setup:e=>(e,t)=>(openBlock(),createElementBlock(Fragment,null,[createCommentVNode(" @ts-nocheck "),createVNode(unref(_sfc_main$7$3),{label:e.config.label,width:e.config.width,fixed:e.config.fixed},{default:withCtx(t=>[e.config.popover?(openBlock(),createBlock(unref(_sfc_main$i$3),{key:0,placement:e.config.popover.placement,width:e.config.popover.width,trigger:e.config.popover.trigger,"destroy-on-close":e.config.popover.destroyOnClose??!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{link:"",type:"primary"},{default:withCtx(()=>[createTextVNode(toDisplayString(e.config.text||unref(formatter$1)(e.config,t.row,{index:t.$index})),1)]),_:2},1024)]),default:withCtx(()=>[e.config.popover.tableEmbed?(openBlock(),createBlock(_sfc_main$1K,{key:0,"show-header":e.config.showHeader,columns:e.config.table,data:e.config.prop&&t.row[e.config.prop]||[]},null,8,["show-header","columns","data"])):createCommentVNode("v-if",!0)]),_:2},1032,["placement","width","trigger","destroy-on-close"])):createCommentVNode("v-if",!0)]),_:1},8,["label","width","fixed"])],2112))}),_hoisted_1$12={key:0},_hoisted_2$p=["innerHTML"],_hoisted_3$9=["href"],_hoisted_4$7=["src"],_hoisted_5$2=["href"],_hoisted_6$2=["innerHTML"],_sfc_main$1$2=defineComponent({name:"MTableColumn",__name:"TextColumn",props:{config:{default:()=>({})},editState:{default:()=>({})}},setup:e=>(e,t)=>{const i=resolveComponent("m-form-container"),o=resolveComponent("el-tooltip");return openBlock(),createBlock(unref(_sfc_main$7$3),{"show-overflow-tooltip":"",label:e.config.label,width:e.config.width,fixed:e.config.fixed,sortable:e.config.sortable,prop:e.config.prop},{default:withCtx(t=>["index"===e.config.type?(openBlock(),createElementBlock("div",_hoisted_1$12,toDisplayString(e.config.pageIndex&&e.config.pageSize?e.config.pageIndex*e.config.pageSize+t.$index+1:t.$index+1),1)):e.config.type&&e.editState[t.$index]?(openBlock(),createBlock(unref(_sfc_main$q$3),{key:1,"label-width":"0",model:e.editState[t.$index]},{default:withCtx(()=>[createVNode(i,{prop:e.config.prop,rules:e.config.rules,config:e.config,name:e.config.prop,model:e.editState[t.$index]},null,8,["prop","rules","config","name","model"])]),_:2},1032,["model"])):"actionLink"===e.config.action&&e.config.prop?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:2,link:"",type:"primary",onClick:i=>e.config.handler?.(t.row)},{default:withCtx(()=>[createBaseVNode("span",{innerHTML:unref(formatter$1)(e.config,t.row,{index:t.$index})},null,8,_hoisted_2$p)]),_:2},1032,["onClick"])):"img"===e.config.action&&e.config.prop?(openBlock(),createElementBlock("a",{key:3,target:"_blank",href:t.row[e.config.prop]},[createBaseVNode("img",{src:t.row[e.config.prop],height:"50"},null,8,_hoisted_4$7)],8,_hoisted_3$9)):"link"===e.config.action&&e.config.prop?(openBlock(),createElementBlock("a",{key:4,target:"_blank",href:t.row[e.config.prop],class:"keep-all"},toDisplayString(t.row[e.config.prop]),9,_hoisted_5$2)):"tip"===e.config.action?(openBlock(),createBlock(o,{key:5,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",null,toDisplayString(unref(formatter$1)(e.config,t.row,{index:t.$index})),1)]),default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{link:"",type:"primary"},{default:withCtx(()=>[createTextVNode(toDisplayString(e.config.buttonText||"扩展配置"),1)]),_:1})]),_:2},1024)):"tag"===e.config.action&&e.config.prop?(openBlock(),createBlock(unref(_sfc_main$4$4),{key:6,type:"function"==typeof e.config.type?e.config.type(t.row[e.config.prop],t.row):e.config.type,"close-transition":""},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(formatter$1)(e.config,t.row,{index:t.$index})),1)]),_:2},1032,["type"])):(openBlock(),createElementBlock("div",{key:7,innerHTML:unref(formatter$1)(e.config,t.row,{index:t.$index})},null,8,_hoisted_6$2))]),_:1},8,["label","width","fixed","sortable","prop"])}}),_sfc_main$1K=defineComponent({name:"MTable",__name:"Table",props:{data:{},columns:{default:()=>[]},spanMethod:{},loading:{type:Boolean,default:!1},bodyHeight:{},showHeader:{type:Boolean,default:!0},emptyText:{},defaultExpandAll:{type:Boolean,default:!1},rowkeyName:{},border:{type:Boolean,default:!1}},emits:["sort-change","after-action","select","select-all","selection-change","expand-change","cell-click"],setup(e,{expose:t,emit:i}){const o=e,n=i,r=ref$1(),s=ref$1([]),a=getDesignConfig("components")?.tableColumn,l=computed$1(()=>{const e=o.columns.filter(e=>e.selection);return e.length?e[0]:null}),c=computed$1(()=>l.value?o.data||[]:cloneDeep(o.data)||[]),d=computed$1(()=>void 0===o.border||o.border),u=e=>{n("sort-change",e)},h=(e,t)=>{const i=l.value;i&&(i.selection,n("select",e,t))},p=e=>{n("select-all",e)},g=e=>{n("selection-change",e)},m=(...e)=>{n("cell-click",...e)},f=(...e)=>{n("expand-change",...e)},v=e=>"function"==typeof o.spanMethod?o.spanMethod(e):()=>({rowspan:0,colspan:0});return t({toggleRowSelection:(e,t)=>{r.value?.toggleRowSelection(e,t)},toggleRowExpansion:(e,t)=>{r.value?.toggleRowExpansion(e,t)},clearSelection:()=>{r.value?.clearSelection()}}),(e,t)=>{const i=resolveDirective("loading");return withDirectives((openBlock(),createBlock(unref(_sfc_main$8$3),{"tooltip-effect":"dark","tooltip-options":{popperOptions:{strategy:"absolute"}},class:"m-table",ref_key:"tMagicTable",ref:r,data:c.value,"show-header":e.showHeader,"max-height":e.bodyHeight,"default-expand-all":e.defaultExpandAll,border:d.value,"row-key":e.rowkeyName||"id","tree-props":{children:"children"},"empty-text":e.emptyText||"暂无数据","span-method":v,onSortChange:u,onSelect:h,onSelectAll:p,onSelectionChange:g,onCellClick:m,onExpandChange:f},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.columns,(i,o)=>(openBlock(),createElementBlock(Fragment,null,["expand"===i.type?(openBlock(),createBlock(_sfc_main$3$2,{config:i,key:o},null,8,["config"])):"component"===i.type?(openBlock(),createBlock(_sfc_main$4$2,{config:i,key:o},null,8,["config"])):i.selection?(openBlock(),createBlock(resolveDynamicComponent(unref(a)?.component||"el-table-column"),{width:"40",type:"selection",key:o,selectable:i.selectable},null,8,["selectable"])):i.actions?(openBlock(),createBlock(_sfc_main$5$2,{columns:e.columns,config:i,"rowkey-name":e.rowkeyName,"edit-state":s.value,key:o,onAfterAction:t[0]||(t[0]=t=>e.$emit("after-action"))},null,8,["columns","config","rowkey-name","edit-state"])):"popover"===i.type?(openBlock(),createBlock(_sfc_main$2$2,{key:o,config:i},null,8,["config"])):(openBlock(),createBlock(_sfc_main$1$2,{key:o,config:i,"edit-state":s.value},null,8,["config","edit-state"]))],64))),256))]),_:1},8,["data","show-header","max-height","default-expand-all","border","row-key","empty-text"])),[[i,e.loading]])}}}),index$1={install(e){e.component("m-table",_sfc_main$1K)}};var browser={exports:{}},safeBuffer={exports:{}},buffer={},base64Js={},hasRequiredBase64Js;function requireBase64Js(){if(hasRequiredBase64Js)return base64Js;hasRequiredBase64Js=1,base64Js.byteLength=function(e){var t=r(e),i=t[0],o=t[1];return 3*(i+o)/4-o},base64Js.toByteArray=function(e){var o,n,s=r(e),a=s[0],l=s[1],c=new i(function(e,t,i){return 3*(t+i)/4-i}(0,a,l)),d=0,u=l>0?a-4:a;for(n=0;n>16&255,c[d++]=o>>8&255,c[d++]=255&o;2===l&&(o=t[e.charCodeAt(n)]<<2|t[e.charCodeAt(n+1)]>>4,c[d++]=255&o);1===l&&(o=t[e.charCodeAt(n)]<<10|t[e.charCodeAt(n+1)]<<4|t[e.charCodeAt(n+2)]>>2,c[d++]=o>>8&255,c[d++]=255&o);return c},base64Js.fromByteArray=function(t){for(var i,o=t.length,n=o%3,r=[],s=16383,l=0,c=o-n;lc?c:l+s));1===n?(i=t[o-1],r.push(e[i>>2]+e[i<<4&63]+"==")):2===n&&(i=(t[o-2]<<8)+t[o-1],r.push(e[i>>10]+e[i>>4&63]+e[i<<2&63]+"="));return r.join("")};for(var e=[],t=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0;n<64;++n)e[n]=o[n],t[o.charCodeAt(n)]=n;function r(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=e.indexOf("=");return-1===i&&(i=t),[i,i===t?0:4-i%4]}function s(t){return e[t>>18&63]+e[t>>12&63]+e[t>>6&63]+e[63&t]}function a(e,t,i){for(var o,n=[],r=t;r */function requireIeee754(){return hasRequiredIeee754||(hasRequiredIeee754=1,ieee754.read=function(e,t,i,o,n){var r,s,a=8*n-o-1,l=(1<>1,d=-7,u=i?n-1:0,h=i?-1:1,p=e[t+u];for(u+=h,r=p&(1<<-d)-1,p>>=-d,d+=a;d>0;r=256*r+e[t+u],u+=h,d-=8);for(s=r&(1<<-d)-1,r>>=-d,d+=o;d>0;s=256*s+e[t+u],u+=h,d-=8);if(0===r)r=1-c;else{if(r===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,o),r-=c}return(p?-1:1)*s*Math.pow(2,r-o)},ieee754.write=function(e,t,i,o,n,r){var s,a,l,c=8*r-n-1,d=(1<>1,h=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,p=o?0:r-1,g=o?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=d):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+u>=1?h/l:h*Math.pow(2,1-u))*l>=2&&(s++,l/=2),s+u>=d?(a=0,s=d):s+u>=1?(a=(t*l-1)*Math.pow(2,n),s+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,n),s=0));n>=8;e[i+p]=255&a,p+=g,a/=256,n-=8);for(s=s<0;e[i+p]=255&s,p+=g,s/=256,c-=8);e[i+p-g]|=128*m}),ieee754} /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */function requireBuffer(){return hasRequiredBuffer||(hasRequiredBuffer=1,function(t){var i=requireBase64Js(),o=requireIeee754(),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=a,t.SlowBuffer=function(e){+e!=e&&(e=0);return a.alloc(+e)},t.INSPECT_MAX_BYTES=50;var r=2147483647;function s(e){if(e>r)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,a.prototype),t}function a(e,t,i){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return d(e)}return l(e,t,i)}function l(e,t,i){if("string"==typeof e)return function(e,t){"string"==typeof t&&""!==t||(t="utf8");if(!a.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var i=0|g(e,t),o=s(i),n=o.write(e,t);n!==i&&(o=o.slice(0,n));return o}(e,t);if(ArrayBuffer.isView(e))return function(e){if(z(e,Uint8Array)){var t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return u(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(z(e,ArrayBuffer)||e&&z(e.buffer,ArrayBuffer))return h(e,t,i);if("undefined"!=typeof SharedArrayBuffer&&(z(e,SharedArrayBuffer)||e&&z(e.buffer,SharedArrayBuffer)))return h(e,t,i);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var o=e.valueOf&&e.valueOf();if(null!=o&&o!==e)return a.from(o,t,i);var n=function(e){if(a.isBuffer(e)){var t=0|p(e.length),i=s(t);return 0===i.length||e.copy(i,0,0,t),i}if(void 0!==e.length)return"number"!=typeof e.length||V(e.length)?s(0):u(e);if("Buffer"===e.type&&Array.isArray(e.data))return u(e.data)}(e);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return a.from(e[Symbol.toPrimitive]("string"),t,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function d(e){return c(e),s(e<0?0:0|p(e))}function u(e){for(var t=e.length<0?0:0|p(e.length),i=s(t),o=0;o=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|e}function g(e,t){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||z(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var i=e.length,o=arguments.length>2&&!0===arguments[2];if(!o&&0===i)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return P(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return B(e).length;default:if(n)return o?-1:P(e).length;t=(""+t).toLowerCase(),n=!0}}function m(e,t,i){var o=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return D(this,t,i);case"utf8":case"utf-8":return k(this,t,i);case"ascii":return I(this,t,i);case"latin1":case"binary":return T(this,t,i);case"base64":return S(this,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,i);default:if(o)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),o=!0}}function f(e,t,i){var o=e[t];e[t]=e[i],e[i]=o}function v(e,t,i,o,n){if(0===e.length)return-1;if("string"==typeof i?(o=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),V(i=+i)&&(i=n?0:e.length-1),i<0&&(i=e.length+i),i>=e.length){if(n)return-1;i=e.length-1}else if(i<0){if(!n)return-1;i=0}if("string"==typeof t&&(t=a.from(t,o)),a.isBuffer(t))return 0===t.length?-1:b(e,t,i,o,n);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,i):Uint8Array.prototype.lastIndexOf.call(e,t,i):b(e,[t],i,o,n);throw new TypeError("val must be string, number or Buffer")}function b(e,t,i,o,n){var r,s=1,a=e.length,l=t.length;if(void 0!==o&&("ucs2"===(o=String(o).toLowerCase())||"ucs-2"===o||"utf16le"===o||"utf-16le"===o)){if(e.length<2||t.length<2)return-1;s=2,a/=2,l/=2,i/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(n){var d=-1;for(r=i;ra&&(i=a-l),r=i;r>=0;r--){for(var u=!0,h=0;hn&&(o=n):o=n;var r=t.length;o>r/2&&(o=r/2);for(var s=0;s>8,n=i%256,r.push(n),r.push(o);return r}(t,e.length-i),e,i,o)}function S(e,t,o){return 0===t&&o===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,o))}function k(e,t,i){i=Math.min(e.length,i);for(var o=[],n=t;n239?4:c>223?3:c>191?2:1;if(n+u<=i)switch(u){case 1:c<128&&(d=c);break;case 2:128==(192&(r=e[n+1]))&&(l=(31&c)<<6|63&r)>127&&(d=l);break;case 3:r=e[n+1],s=e[n+2],128==(192&r)&&128==(192&s)&&(l=(15&c)<<12|(63&r)<<6|63&s)>2047&&(l<55296||l>57343)&&(d=l);break;case 4:r=e[n+1],s=e[n+2],a=e[n+3],128==(192&r)&&128==(192&s)&&128==(192&a)&&(l=(15&c)<<18|(63&r)<<12|(63&s)<<6|63&a)>65535&&l<1114112&&(d=l)}null===d?(d=65533,u=1):d>65535&&(d-=65536,o.push(d>>>10&1023|55296),d=56320|1023&d),o.push(d),n+=u}return function(e){var t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);var i="",o=0;for(;oo.length?a.from(r).copy(o,n):Uint8Array.prototype.set.call(o,r,n);else{if(!a.isBuffer(r))throw new TypeError('"list" argument must be an Array of Buffers');r.copy(o,n)}n+=r.length}return o},a.byteLength=g,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;ti&&(e+=" ... "),""},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(e,t,i,o,n){if(z(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===i&&(i=e?e.length:0),void 0===o&&(o=0),void 0===n&&(n=this.length),t<0||i>e.length||o<0||n>this.length)throw new RangeError("out of range index");if(o>=n&&t>=i)return 0;if(o>=n)return-1;if(t>=i)return 1;if(this===e)return 0;for(var r=(n>>>=0)-(o>>>=0),s=(i>>>=0)-(t>>>=0),l=Math.min(r,s),c=this.slice(o,n),d=e.slice(t,i),u=0;u>>=0,isFinite(i)?(i>>>=0,void 0===o&&(o="utf8")):(o=i,i=void 0)}var n=this.length-t;if((void 0===i||i>n)&&(i=n),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");o||(o="utf8");for(var r=!1;;)switch(o){case"hex":return _(this,e,t,i);case"utf8":case"utf-8":return y(this,e,t,i);case"ascii":case"latin1":case"binary":return C(this,e,t,i);case"base64":return w(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,i);default:if(r)throw new TypeError("Unknown encoding: "+o);o=(""+o).toLowerCase(),r=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var E=4096;function I(e,t,i){var o="";i=Math.min(e.length,i);for(var n=t;no)&&(i=o);for(var n="",r=t;ri)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,i,o,n,r){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||te.length)throw new RangeError("Index out of range")}function $(e,t,i,o,n,r){if(i+o>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function R(e,t,i,n,r){return t=+t,i>>>=0,r||$(e,0,i,4),o.write(e,t,i,n,23,4),i+4}function A(e,t,i,n,r){return t=+t,i>>>=0,r||$(e,0,i,8),o.write(e,t,i,n,52,8),i+8}a.prototype.slice=function(e,t){var i=this.length;(e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t>>=0,t>>>=0,i||N(e,t,this.length);for(var o=this[e],n=1,r=0;++r>>=0,t>>>=0,i||N(e,t,this.length);for(var o=this[e+--t],n=1;t>0&&(n*=256);)o+=this[e+--t]*n;return o},a.prototype.readUint8=a.prototype.readUInt8=function(e,t){return e>>>=0,t||N(e,1,this.length),this[e]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(e,t){return e>>>=0,t||N(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(e,t){return e>>>=0,t||N(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(e,t){return e>>>=0,t||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(e,t){return e>>>=0,t||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,i){e>>>=0,t>>>=0,i||N(e,t,this.length);for(var o=this[e],n=1,r=0;++r=(n*=128)&&(o-=Math.pow(2,8*t)),o},a.prototype.readIntBE=function(e,t,i){e>>>=0,t>>>=0,i||N(e,t,this.length);for(var o=t,n=1,r=this[e+--o];o>0&&(n*=256);)r+=this[e+--o]*n;return r>=(n*=128)&&(r-=Math.pow(2,8*t)),r},a.prototype.readInt8=function(e,t){return e>>>=0,t||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){e>>>=0,t||N(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},a.prototype.readInt16BE=function(e,t){e>>>=0,t||N(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},a.prototype.readInt32LE=function(e,t){return e>>>=0,t||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return e>>>=0,t||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return e>>>=0,t||N(e,4,this.length),o.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return e>>>=0,t||N(e,4,this.length),o.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return e>>>=0,t||N(e,8,this.length),o.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return e>>>=0,t||N(e,8,this.length),o.read(this,e,!1,52,8)},a.prototype.writeUintLE=a.prototype.writeUIntLE=function(e,t,i,o){(e=+e,t>>>=0,i>>>=0,o)||M(this,e,t,i,Math.pow(2,8*i)-1,0);var n=1,r=0;for(this[t]=255&e;++r>>=0,i>>>=0,o)||M(this,e,t,i,Math.pow(2,8*i)-1,0);var n=i-1,r=1;for(this[t+n]=255&e;--n>=0&&(r*=256);)this[t+n]=e/r&255;return t+i},a.prototype.writeUint8=a.prototype.writeUInt8=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,1,255,0),this[t]=255&e,t+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeIntLE=function(e,t,i,o){if(e=+e,t>>>=0,!o){var n=Math.pow(2,8*i-1);M(this,e,t,i,n-1,-n)}var r=0,s=1,a=0;for(this[t]=255&e;++r>>=0,!o){var n=Math.pow(2,8*i-1);M(this,e,t,i,n-1,-n)}var r=i-1,s=1,a=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===a&&0!==this[t+r+1]&&(a=1),this[t+r]=(e/s|0)-a&255;return t+i},a.prototype.writeInt8=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeInt16BE=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeInt32LE=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},a.prototype.writeInt32BE=function(e,t,i){return e=+e,t>>>=0,i||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeFloatLE=function(e,t,i){return R(this,e,t,!0,i)},a.prototype.writeFloatBE=function(e,t,i){return R(this,e,t,!1,i)},a.prototype.writeDoubleLE=function(e,t,i){return A(this,e,t,!0,i)},a.prototype.writeDoubleBE=function(e,t,i){return A(this,e,t,!1,i)},a.prototype.copy=function(e,t,i,o){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(i||(i=0),o||0===o||(o=this.length),t>=e.length&&(t=e.length),t||(t=0),o>0&&o=this.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length),e.length-t>>=0,i=void 0===i?this.length:i>>>0,e||(e=0),"number"==typeof e)for(r=t;r55295&&i<57344){if(!n){if(i>56319){(t-=3)>-1&&r.push(239,191,189);continue}if(s+1===o){(t-=3)>-1&&r.push(239,191,189);continue}n=i;continue}if(i<56320){(t-=3)>-1&&r.push(239,191,189),n=i;continue}i=65536+(n-55296<<10|i-56320)}else n&&(t-=3)>-1&&r.push(239,191,189);if(n=null,i<128){if((t-=1)<0)break;r.push(i)}else if(i<2048){if((t-=2)<0)break;r.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;r.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;r.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return r}function B(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(O,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,i,o){for(var n=0;n=t.length||n>=e.length);++n)t[n+i]=e[n];return n}function z(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}var H=function(){for(var e="0123456789abcdef",t=new Array(256),i=0;i<16;++i)for(var o=16*i,n=0;n<16;++n)t[o+n]=e[i]+e[n];return t}()}(buffer)),buffer}/*! safe-buffer. MIT License. Feross Aboukhadijeh */function requireSafeBuffer(){return hasRequiredSafeBuffer||(hasRequiredSafeBuffer=1,function(e,t){var i=requireBuffer(),o=i.Buffer;function n(e,t){for(var i in e)t[i]=e[i]}function r(e,t,i){return o(e,t,i)}o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow?e.exports=i:(n(i,t),t.Buffer=r),r.prototype=Object.create(o.prototype),n(o,r),r.from=function(e,t,i){if("number"==typeof e)throw new TypeError("Argument must not be a number");return o(e,t,i)},r.alloc=function(e,t,i){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=o(e);return void 0!==t?"string"==typeof i?n.fill(t,i):n.fill(t):n.fill(0),n},r.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return o(e)},r.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}}(safeBuffer,safeBuffer.exports)),safeBuffer.exports}function requireBrowser(){if(hasRequiredBrowser)return browser.exports;hasRequiredBrowser=1;var e=65536,t=4294967295;var i=requireSafeBuffer().Buffer,o=commonjsGlobal.crypto||commonjsGlobal.msCrypto;return o&&o.getRandomValues?browser.exports=function(n,r){if(n>t)throw new RangeError("requested too many random bytes");var s=i.allocUnsafe(n);if(n>0)if(n>e)for(var a=0;a.*?/,s=/[<>\/\u2028\u2029]/g,a=["*","async"],l={"<":"\\u003C",">":"\\u003E","/":"\\u002F","\u2028":"\\u2028","\u2029":"\\u2029"};function c(e){return l[e]}return serializeJavascript=function e(l,d){d||(d={}),"number"!=typeof d&&"string"!=typeof d||(d={space:d});var u,h=[],p=[],g=[],m=[],f=[],v=[],b=[],_=[],y=[],C=[];return d.ignoreFunction&&"function"==typeof l&&(l=void 0),void 0===l?String(l):(u=d.isJSON&&!d.space?JSON.stringify(l):JSON.stringify(l,d.isJSON?null:function(e,i){if(d.ignoreFunction&&function(e){var t=[];for(var i in e)"function"==typeof e[i]&&t.push(i);for(var o=0;o0});return s.filter(function(e){return-1===a.indexOf(e)}).length>0?(s.indexOf("async")>-1?"async ":"")+"function"+(s.join("").indexOf("*")>-1?"*":"")+t.substr(i):t}(h[l])})))},serializeJavascript}var serializeJavascriptExports=requireSerializeJavascript();const serialize=getDefaultExportFromCjs(serializeJavascriptExports);function isNumber$1$1(e){return e>47&&e<58}function isAlpha$1(e,t,i){return i=i||90,(e&=-33)>=(t=t||65)&&e<=i}function isAlphaNumericWord(e){return isNumber$1$1(e)||isAlphaWord(e)}function isAlphaWord(e){return 95===e||isAlpha$1(e)}function isUmlaut(e){return 196===e||214==e||220===e||228===e||246===e||252===e}function isWhiteSpace$3(e){return 32===e||9===e||160===e}function isSpace(e){return isWhiteSpace$3(e)||10===e||13===e}function isQuote$2(e){return 39===e||34===e}class Scanner{constructor(e,t,i){null==i&&"string"==typeof e&&(i=e.length),this.string=e,this.pos=this.start=t||0,this.end=i||0}eof(){return this.pos>=this.end}limit(e,t){return new Scanner(this.string,e,t)}peek(){return this.string.charCodeAt(this.pos)}next(){if(this.pos1&&(n.multiple=!0),i.jsx&&text$1(e)?(n.value=getText(e),n.expression=!0):n.value=literal$1$1(e)?slice(e):void 0,n}}function attribute(e){if(quoted(e))return{value:slice(e)};if(literal$1$1(e,!0)){const t=slice(e);let i;return consume$2(e,isEquals)&&(quoted(e)||literal$1$1(e,!0))&&(i=slice(e)),{name:t,value:i}}}function repeater$1(e){return isRepeater(peek$3(e))?e.tokens[e.pos++]:void 0}function quoted(e){const t=e.pos,i=peek$3(e);if(isQuote$1(i)){for(e.pos++;readable$1(e);)if(isQuote$1(next(e),i.single))return e.start=t,!0;throw error$1(e,"Unclosed quote",i)}return!1}function literal$1$1(e,t){const i=e.pos,o={attribute:0,expression:0,group:0};for(;readable$1(e);){const i=peek$3(e);if(o.expression)isBracket$2(i,"expression")&&(o[i.context]+=i.open?1:-1);else{if(isQuote$1(i)||isOperator$1(i)||isWhiteSpace$2(i)||isRepeater(i))break;if(isBracket$2(i)){if(!t)break;if(i.open)o[i.context]++;else{if(!o[i.context])break;o[i.context]--}}}e.pos++}return i!==e.pos&&(e.start=i,!0)}function elementName(e,t){const i=e.pos;if(t.jsx&&consume$2(e,isCapitalizedLiteral))for(;readable$1(e);){const{pos:t}=e;if(!consume$2(e,isClassNameOperator)||!consume$2(e,isCapitalizedLiteral)){e.pos=t;break}}for(;readable$1(e)&&consume$2(e,isElementName$1););return e.pos!==i&&(e.start=i,!0)}function text$1(e){const t=e.pos;if(consume$2(e,isTextStart)){let i=0;for(;readable$1(e);){const t=next(e);if(isBracket$2(t,"expression"))if(t.open)i++;else{if(!i)break;i--}}return e.start=t,!0}return!1}function getText(e){let t=e.start,i=e.pos;return isBracket$2(e.tokens[t],"expression",!0)&&t++,isBracket$2(e.tokens[i-1],"expression",!1)&&i--,slice(e,t,i)}function isBracket$2(e,t,i){return Boolean(e&&"Bracket"===e.type&&(!t||e.context===t)&&(null==i||e.open===i))}function isOperator$1(e,t){return Boolean(e&&"Operator"===e.type&&(!t||e.operator===t))}function isQuote$1(e,t){return Boolean(e&&"Quote"===e.type&&(null==t||e.single===t))}function isWhiteSpace$2(e){return Boolean(e&&"WhiteSpace"===e.type)}function isEquals(e){return isOperator$1(e,"equal")}function isRepeater(e){return Boolean(e&&"Repeater"===e.type)}function isLiteral$2(e){return"Literal"===e.type}function isCapitalizedLiteral(e){if(isLiteral$2(e)){const t=e.value.charCodeAt(0);return t>=65&&t<=90}return!1}function isElementName$1(e){return"Literal"===e.type||"RepeaterNumber"===e.type||"RepeaterPlaceholder"===e.type}function isClassNameOperator(e){return isOperator$1(e,"class")}function isAttributeSetStart(e){return isBracket$2(e,"attribute",!0)}function isAttributeSetEnd(e){return isBracket$2(e,"attribute",!1)}function isTextStart(e){return isBracket$2(e,"expression",!0)}function isGroupStart(e){return isBracket$2(e,"group",!0)}function createLiteral$1(e){return{type:"Literal",value:e}}function isEmpty$2(e){return!e.name&&!e.value&&!e.attributes}function isChildOperator(e){return isOperator$1(e,"child")}function isSiblingOperator$1(e){return isOperator$1(e,"sibling")}function isClimbOperator(e){return isOperator$1(e,"climb")}function isCloseOperator(e){return isOperator$1(e,"close")}var Chars$3;function escaped(e){return!!e.eat(Chars$3.Escape)&&(e.start=e.pos,e.eof()||e.pos++,!0)}function tokenize$1(e){const t=new Scanner(e),i=[],o={group:0,attribute:0,expression:0,quote:0};let n,r=0;for(;!t.eof();){if(r=t.peek(),n=getToken$1(t,o),!n)throw t.error("Unexpected character");i.push(n),"Quote"===n.type?o.quote=r===o.quote?0:r:"Bracket"===n.type&&(o[n.context]+=n.open?1:-1)}return i}function getToken$1(e,t){return field$2(e,t)||repeaterPlaceholder(e)||repeaterNumber(e)||repeater(e)||whiteSpace$1(e)||literal$2(e,t)||operator$1(e)||quote(e)||bracket$1(e)}function literal$2(e,t){const i=e.pos,o=t.expression;let n="";for(;!e.eof();){if(escaped(e)){n+=e.current();continue}const i=e.peek();if(i===Chars$3.Slash&&!t.quote&&!t.expression&&!t.attribute){const t=e.string.charCodeAt(e.pos-1),i=e.string.charCodeAt(e.pos+1);if(isNumber$1$1(t)&&isNumber$1$1(i)){n+=e.string[e.pos++];continue}}if(i===t.quote||i===Chars$3.Dollar||isAllowedOperator(i,t))break;if(o){if(i===Chars$3.CurlyBracketOpen)t.expression++;else if(i===Chars$3.CurlyBracketClose){if(!(t.expression>o))break;t.expression--}}else if(!t.quote){if(!t.attribute&&!isElementName(i))break;if(isAllowedSpace(i,t)||isAllowedRepeater(i,t)||isQuote$2(i)||bracketType(i))break}n+=e.string[e.pos++]}if(i!==e.pos)return e.start=i,{type:"Literal",value:n,start:i,end:e.pos}}function whiteSpace$1(e){const t=e.pos;if(e.eatWhile(isSpace))return{type:"WhiteSpace",start:t,end:e.pos,value:e.substring(t,e.pos)}}function quote(e){const t=e.peek();if(isQuote$2(t))return{type:"Quote",single:t===Chars$3.SingleQuote,start:e.pos++,end:e.pos}}function bracket$1(e){const t=e.peek(),i=bracketType(t);if(i)return{type:"Bracket",open:isOpenBracket$2(t),context:i,start:e.pos++,end:e.pos}}function operator$1(e){const t=operatorType$1(e.peek());if(t)return{type:"Operator",operator:t,start:e.pos++,end:e.pos}}function repeater(e){const t=e.pos;if(e.eat(Chars$3.Asterisk)){e.start=e.pos;let i=1,o=!1;return e.eatWhile(isNumber$1$1)?i=Number(e.current()):o=!0,{type:"Repeater",count:i,value:0,implicit:o,start:t,end:e.pos}}}function repeaterPlaceholder(e){const t=e.pos;if(e.eat(Chars$3.Dollar)&&e.eat(Chars$3.Hash))return{type:"RepeaterPlaceholder",value:void 0,start:t,end:e.pos};e.pos=t}function repeaterNumber(e){const t=e.pos;if(e.eatWhile(Chars$3.Dollar)){const i=e.pos-t;let o=!1,n=1,r=0;if(e.eat(Chars$3.At)){for(;e.eat(Chars$3.Climb);)r++;o=e.eat(Chars$3.Dash),e.start=e.pos,e.eatWhile(isNumber$1$1)&&(n=Number(e.current()))}return e.start=t,{type:"RepeaterNumber",size:i,reverse:o,base:n,parent:r,start:t,end:e.pos}}}function field$2(e,t){const i=e.pos;if((t.expression||t.attribute)&&e.eat(Chars$3.Dollar)&&e.eat(Chars$3.CurlyBracketOpen)){let t;e.start=e.pos;let o="";if(e.eatWhile(isNumber$1$1)?(t=Number(e.current()),o=e.eat(Chars$3.Colon)?consumePlaceholder$2(e):""):isAlpha$1(e.peek())&&(o=consumePlaceholder$2(e)),e.eat(Chars$3.CurlyBracketClose))return{type:"Field",index:t,name:o,start:i,end:e.pos};throw e.error("Expecting }")}e.pos=i}function consumePlaceholder$2(e){const t=[];for(e.start=e.pos;!e.eof();)if(e.eat(Chars$3.CurlyBracketOpen))t.push(e.pos);else if(e.eat(Chars$3.CurlyBracketClose)){if(!t.length){e.pos--;break}t.pop()}else e.pos++;if(t.length)throw e.pos=t.pop(),e.error("Expecting }");return e.current()}function isAllowedOperator(e,t){const i=operatorType$1(e);return!(!i||t.quote||t.expression)&&(!t.attribute||"equal"===i)}function isAllowedSpace(e,t){return isSpace(e)&&!t.expression}function isAllowedRepeater(e,t){return e===Chars$3.Asterisk&&!t.attribute&&!t.expression}function bracketType(e){return e===Chars$3.RoundBracketOpen||e===Chars$3.RoundBracketClose?"group":e===Chars$3.SquareBracketOpen||e===Chars$3.SquareBracketClose?"attribute":e===Chars$3.CurlyBracketOpen||e===Chars$3.CurlyBracketClose?"expression":void 0}function operatorType$1(e){return(e===Chars$3.Child?"child":e===Chars$3.Sibling&&"sibling")||e===Chars$3.Climb&&"climb"||e===Chars$3.Dot&&"class"||e===Chars$3.Hash&&"id"||e===Chars$3.Slash&&"close"||e===Chars$3.Equals&&"equal"||void 0}function isOpenBracket$2(e){return e===Chars$3.CurlyBracketOpen||e===Chars$3.SquareBracketOpen||e===Chars$3.RoundBracketOpen}function isElementName(e){return isAlphaNumericWord(e)||isUmlaut(e)||e===Chars$3.Dash||e===Chars$3.Colon||e===Chars$3.Excl}!function(e){e[e.CurlyBracketOpen=123]="CurlyBracketOpen",e[e.CurlyBracketClose=125]="CurlyBracketClose",e[e.Escape=92]="Escape",e[e.Equals=61]="Equals",e[e.SquareBracketOpen=91]="SquareBracketOpen",e[e.SquareBracketClose=93]="SquareBracketClose",e[e.Asterisk=42]="Asterisk",e[e.Hash=35]="Hash",e[e.Dollar=36]="Dollar",e[e.Dash=45]="Dash",e[e.Dot=46]="Dot",e[e.Slash=47]="Slash",e[e.Colon=58]="Colon",e[e.Excl=33]="Excl",e[e.At=64]="At",e[e.Underscore=95]="Underscore",e[e.RoundBracketOpen=40]="RoundBracketOpen",e[e.RoundBracketClose=41]="RoundBracketClose",e[e.Sibling=43]="Sibling",e[e.Child=62]="Child",e[e.Climb=94]="Climb",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote"}(Chars$3||(Chars$3={}));const operators={child:">",class:".",climb:"^",id:"#",equal:"=",close:"/",sibling:"+"},tokenVisitor={Literal:e=>e.value,Quote:e=>e.single?"'":'"',Bracket:e=>"attribute"===e.context?e.open?"[":"]":"expression"===e.context?e.open?"{":"}":e.open?"(":"}",Operator:e=>operators[e.operator],Field:(e,t)=>null!=e.index?e.name?`\${${e.index}:${e.name}}`:`\${${e.index}`:e.name?t.getVariable(e.name):"",RepeaterPlaceholder(e,t){let i;for(let o=t.repeaters.length-1;o>=0;o--)if(t.repeaters[o].implicit){i=t.repeaters[o];break}return t.inserted=!0,t.getText(i&&i.value)},RepeaterNumber(e,t){let i=1;const o=t.repeaters.length-1,n=t.repeaters[o];if(n&&(i=e.reverse?e.base+n.count-n.value-1:e.base+n.value,e.parent)){const r=Math.max(0,o-e.parent);if(r!==o){const e=t.repeaters[r];i+=n.count*e.value}}let r=String(i);for(;r.lengthe.value};function stringify$1(e,t){if(!tokenVisitor[e.type])throw new Error(`Unknown token ${e.type}`);return tokenVisitor[e.type](e,t)}const urlRegex=/^((https?:|ftp:|file:)?\/\/|(www|ftp)\.)[^ ]*$/,emailRegex=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,5}$/;function convert(e,t={}){let i,o=!1;t.text&&(i=Array.isArray(t.text)?t.text.filter(e=>e.trim()):t.text);const n={type:"Abbreviation",children:convertGroup(e,{inserted:!1,repeaters:[],text:t.text,cleanText:i,repeatGuard:t.maxRepeat||Number.POSITIVE_INFINITY,getText(e){var n;let r;if(o=!0,Array.isArray(t.text)){if(void 0!==e&&e>=0&&e"href"===e.name);n?n.value||(n.value=[o]):(e.attributes||(e.attributes=[]),e.attributes.push({name:"href",value:[o],valueType:"doubleQuote"}))}function attachRepeater(e,t){for(const i of e)i.repeat||(i.repeat=Object.assign({},t));return e}function parseAbbreviation(e,t){try{return convert(abbreviation("string"==typeof e?tokenize$1(e):e,t),t)}catch(i){throw i instanceof ScannerError&&"string"==typeof e&&(i.message+=`\n${e}\n${"-".repeat(i.pos)}^`),i}}var OperatorType,Chars$2;function tokenize(e,t){let i,o=0;const n=new Scanner(e),r=[];for(;!n.eof();){if(i=getToken(n,0===o&&!t),!i)throw n.error("Unexpected character");if("Bracket"===i.type&&(!o&&i.open&&mergeTokens(n,r),o+=i.open?1:-1,o<0))throw n.error("Unexpected bracket",i.start);r.push(i),shouldConsumeDashAfter(i)&&(i=operator(n))&&r.push(i)}return r}function getToken(e,t){return field$1(e)||customProperty(e)||numberValue(e)||colorValue(e)||stringValue(e)||bracket(e)||operator(e)||whiteSpace(e)||literal$1(e,t)}function field$1(e){const t=e.pos;if(e.eat(Chars$2.Dollar)&&e.eat(Chars$2.CurlyBracketOpen)){let i;e.start=e.pos;let o="";if(e.eatWhile(isNumber$1$1)?(i=Number(e.current()),o=e.eat(Chars$2.Colon)?consumePlaceholder$1(e):""):isAlpha$1(e.peek())&&(o=consumePlaceholder$1(e)),e.eat(Chars$2.CurlyBracketClose))return{type:"Field",index:i,name:o,start:t,end:e.pos};throw e.error("Expecting }")}e.pos=t}function consumePlaceholder$1(e){const t=[];for(e.start=e.pos;!e.eof();)if(e.eat(Chars$2.CurlyBracketOpen))t.push(e.pos);else if(e.eat(Chars$2.CurlyBracketClose)){if(!t.length){e.pos--;break}t.pop()}else e.pos++;if(t.length)throw e.pos=t.pop(),e.error("Expecting }");return e.current()}function literal$1(e,t){const i=e.pos;if(e.eat(isIdentPrefix)?e.eatWhile(i?isKeyword:isLiteral$1):e.eat(isAlphaWord)?e.eatWhile(t?isLiteral$1:isKeyword):(e.eat(Chars$2.Dot),e.eatWhile(isLiteral$1)),i!==e.pos)return e.start=i,createLiteral(e,e.start=i)}function createLiteral(e,t=e.start,i=e.pos){return{type:"Literal",value:e.substring(t,i),start:t,end:i}}function numberValue(e){const t=e.pos;if(consumeNumber(e)){e.start=t;const i=e.current();return e.start=e.pos,e.eat(Chars$2.Percent)||e.eatWhile(isAlphaWord),{type:"NumberValue",value:Number(i),rawValue:i,unit:e.current(),start:t,end:e.pos}}}function stringValue(e){const t=e.peek(),i=e.pos;let o=!1;if(isQuote$2(t)){for(e.pos++;!e.eof();){if(e.eat(t)){o=!0;break}e.pos++}return e.start=i,{type:"StringValue",value:e.substring(i+1,e.pos-(o?1:0)),quote:t===Chars$2.SingleQuote?"single":"double",start:i,end:e.pos}}}function colorValue(e){const t=e.pos;if(e.eat(Chars$2.Hash)){const i=e.pos;let o="",n="";if(e.eatWhile(isHex)?(o=e.substring(i,e.pos),n=colorAlpha(e)):e.eat(Chars$2.Transparent)?(o="0",n=colorAlpha(e)||"0"):n=colorAlpha(e),o||n||e.eof()){const{r:i,g:r,b:s,a:a}=parseColor(o,n);return{type:"ColorValue",r:i,g:r,b:s,a:a,raw:e.substring(t+1,e.pos),start:t,end:e.pos}}return createLiteral(e,t)}e.pos=t}function colorAlpha(e){const t=e.pos;return e.eat(Chars$2.Dot)?(e.start=t,e.eatWhile(isNumber$1$1)?e.current():"1"):""}function whiteSpace(e){const t=e.pos;if(e.eatWhile(isSpace))return{type:"WhiteSpace",start:t,end:e.pos}}function customProperty(e){const t=e.pos;if(e.eat(Chars$2.Dash)&&e.eat(Chars$2.Dash))return e.start=t,e.eatWhile(isKeyword),{type:"CustomProperty",value:e.current(),start:t,end:e.pos};e.pos=t}function bracket(e){const t=e.peek();if(isBracket$1(t))return{type:"Bracket",open:t===Chars$2.RoundBracketOpen,start:e.pos++,end:e.pos}}function operator(e){const t=operatorType(e.peek());if(t)return{type:"Operator",operator:t,start:e.pos++,end:e.pos}}function consumeNumber(e){const t=e.pos;e.eat(Chars$2.Dash);const i=e.pos,o=e.eatWhile(isNumber$1$1),n=e.pos;if(e.eat(Chars$2.Dot)){const t=e.eatWhile(isNumber$1$1);o||t||(e.pos=n)}return e.pos===i&&(e.pos=t),e.pos!==t}function isIdentPrefix(e){return e===Chars$2.At||e===Chars$2.Dollar}function operatorType(e){return e===Chars$2.Sibling&&OperatorType.Sibling||e===Chars$2.Excl&&OperatorType.Important||e===Chars$2.Comma&&OperatorType.ArgumentDelimiter||e===Chars$2.Colon&&OperatorType.PropertyDelimiter||e===Chars$2.Dash&&OperatorType.ValueDelimiter||void 0}function isHex(e){return isNumber$1$1(e)||isAlpha$1(e,65,70)}function isKeyword(e){return isAlphaNumericWord(e)||e===Chars$2.Dash}function isBracket$1(e){return e===Chars$2.RoundBracketOpen||e===Chars$2.RoundBracketClose}function isLiteral$1(e){return isAlphaWord(e)||e===Chars$2.Percent||e===Chars$2.Slash}function parseColor(e,t){let i="0",o="0",n="0",r=Number(null!=t&&""!==t?t:1);if("t"===e)r=0;else switch(e.length){case 0:break;case 1:i=o=n=e+e;break;case 2:i=o=n=e;break;case 3:i=e[0]+e[0],o=e[1]+e[1],n=e[2]+e[2];break;default:i=(e+=e).slice(0,2),o=e.slice(2,4),n=e.slice(4,6)}return{r:parseInt(i,16),g:parseInt(o,16),b:parseInt(n,16),a:r}}function shouldConsumeDashAfter(e){return"ColorValue"===e.type||"NumberValue"===e.type&&!e.unit}function mergeTokens(e,t){let i=0,o=0;for(;t.length;){const e=last(t);if("Literal"!==e.type&&"NumberValue"!==e.type)break;i=e.start,o||(o=e.end),t.pop()}i!==o&&t.push(createLiteral(e,i,o))}function last(e){return e[e.length-1]}function tokenScanner(e){return{tokens:e,start:0,pos:0,size:e.length}}function peek$2(e){return e.tokens[e.pos]}function readable(e){return e.pos{t(e,o,i),o.push(e),e.children.forEach(n),o.pop()};e.children.forEach(n)}function find$1$1(e,t){for(let i=0;i{const s=e.name&&t.snippets[e.name];if(!s||i.includes(s))return null;let a;try{a=parseAbbreviation(s,t)}catch(l){return null==n||n(`Unable to parse "${s}" snippet`,l),null}i.push(s),walkResolve(a,r),i.pop();for(const t of a.children){if(e.attributes){const i=t.attributes||[],n=e.attributes||[];t.attributes=o?n.concat(i):i.concat(n)}mergeNodes(e,t)}return a};return walkResolve(e,r),e}function walkResolve(e,t,i){let o=[];for(const n of e.children){const e=t(n);if(e){o=o.concat(e.children);const i=findDeepest(e);isNode$1(i.node)&&(i.node.children=i.node.children.concat(walkResolve(n,t)))}else o.push(n),n.children=walkResolve(n,t)}return e.children=o}function mergeNodes(e,t){e.selfClosing&&(t.selfClosing=!0),null!=e.value&&(t.value=e.value),e.repeat&&(t.repeat=e.repeat)}!function(e){e.Sibling="+",e.Important="!",e.ArgumentDelimiter=",",e.ValueDelimiter="-",e.PropertyDelimiter=":"}(OperatorType||(OperatorType={})),function(e){e[e.Hash=35]="Hash",e[e.Dollar=36]="Dollar",e[e.Dash=45]="Dash",e[e.Dot=46]="Dot",e[e.Colon=58]="Colon",e[e.Comma=44]="Comma",e[e.Excl=33]="Excl",e[e.At=64]="At",e[e.Percent=37]="Percent",e[e.Underscore=95]="Underscore",e[e.RoundBracketOpen=40]="RoundBracketOpen",e[e.RoundBracketClose=41]="RoundBracketClose",e[e.CurlyBracketOpen=123]="CurlyBracketOpen",e[e.CurlyBracketClose=125]="CurlyBracketClose",e[e.Sibling=43]="Sibling",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Transparent=116]="Transparent",e[e.Slash=47]="Slash"}(Chars$2||(Chars$2={}));const expressionStart="{",expressionEnd="}";function createOutputStream(e,t=0){return{options:e,value:"",level:t,offset:0,line:0,column:0}}function push(e,t){_push(e,(0,e.options["output.text"])(t,e.offset,e.line,e.column))}function pushString(e,t){const i=splitByLines$1(t);for(let o=0,n=i.length-1;o<=n;o++)push(e,i[o]),o!==n&&pushNewline(e,!0)}function pushNewline(e,t){const i=e.options["output.baseIndent"];push(e,e.options["output.newline"]+i),e.line++,e.column=i.length,t&&pushIndent(e,!0===t?e.level:t)}function pushIndent(e,t=e.level){push(e,e.options["output.indent"].repeat(Math.max(t,0)))}function pushField(e,t,i){_push(e,(0,e.options["output.field"])(t,i,e.offset,e.line,e.column))}function tagName(e,t){return strCase(e,t.options["output.tagCase"])}function attrName(e,t){return strCase(e,t.options["output.attributeCase"])}function attrQuote(e,t,i){return"expression"===e.valueType?i?expressionStart:expressionEnd:"single"===t.options["output.attributeQuotes"]?"'":'"'}function isBooleanAttribute(e,t){return e.boolean||t.options["output.booleanAttributes"].includes((e.name||"").toLowerCase())}function selfClose(e){switch(e.options["output.selfClosingStyle"]){case"xhtml":return" /";case"xml":return"/";default:return""}}function isInline(e,t){return"string"==typeof e?t.options.inlineElements.includes(e.toLowerCase()):e.name?isInline(e.name,t):Boolean(e.value&&!e.attributes)}function splitByLines$1(e){return e.split(/\r\n|\r|\n/g)}function _push(e,t){e.value+=t,e.offset+=t.length,e.column+=t.length}function strCase(e,t){return t?"upper"===t?e.toUpperCase():e.toLowerCase():e}const elementMap={p:"span",ul:"li",ol:"li",table:"tr",tr:"td",tbody:"tr",thead:"tr",tfoot:"tr",colgroup:"col",select:"option",optgroup:"option",audio:"source",video:"source",object:"param",map:"area"};function implicitTag(e,t,i){!e.name&&e.attributes&&resolveImplicitTag(e,t,i)}function resolveImplicitTag(e,t,i){const o=getParentElement(t),n=i.context?i.context.name:"",r=lowercase(o?o.name:n);e.name=elementMap[r]||(isInline(r,i)?"span":"div")}function lowercase(e){return(e||"").toLowerCase()}function getParentElement(e){for(let t=e.length-1;t>=0;t--){const i=e[t];if(isNode$1(i))return i}}var latin={common:["lorem","ipsum","dolor","sit","amet","consectetur","adipisicing","elit"],words:["exercitationem","perferendis","perspiciatis","laborum","eveniet","sunt","iure","nam","nobis","eum","cum","officiis","excepturi","odio","consectetur","quasi","aut","quisquam","vel","eligendi","itaque","non","odit","tempore","quaerat","dignissimos","facilis","neque","nihil","expedita","vitae","vero","ipsum","nisi","animi","cumque","pariatur","velit","modi","natus","iusto","eaque","sequi","illo","sed","ex","et","voluptatibus","tempora","veritatis","ratione","assumenda","incidunt","nostrum","placeat","aliquid","fuga","provident","praesentium","rem","necessitatibus","suscipit","adipisci","quidem","possimus","voluptas","debitis","sint","accusantium","unde","sapiente","voluptate","qui","aspernatur","laudantium","soluta","amet","quo","aliquam","saepe","culpa","libero","ipsa","dicta","reiciendis","nesciunt","doloribus","autem","impedit","minima","maiores","repudiandae","ipsam","obcaecati","ullam","enim","totam","delectus","ducimus","quis","voluptates","dolores","molestiae","harum","dolorem","quia","voluptatem","molestias","magni","distinctio","omnis","illum","dolorum","voluptatum","ea","quas","quam","corporis","quae","blanditiis","atque","deserunt","laboriosam","earum","consequuntur","hic","cupiditate","quibusdam","accusamus","ut","rerum","error","minus","eius","ab","ad","nemo","fugit","officia","at","in","id","quos","reprehenderit","numquam","iste","fugiat","sit","inventore","beatae","repellendus","magnam","recusandae","quod","explicabo","doloremque","aperiam","consequatur","asperiores","commodi","optio","dolor","labore","temporibus","repellat","veniam","architecto","est","esse","mollitia","nulla","a","similique","eos","alias","dolore","tenetur","deleniti","porro","facere","maxime","corrupti"]},ru={common:["далеко-далеко","за","словесными","горами","в стране","гласных","и согласных","живут","рыбные","тексты"],words:["вдали","от всех","они","буквенных","домах","на берегу","семантика","большого","языкового","океана","маленький","ручеек","даль","журчит","по всей","обеспечивает","ее","всеми","необходимыми","правилами","эта","парадигматическая","страна","которой","жаренные","предложения","залетают","прямо","рот","даже","всемогущая","пунктуация","не","имеет","власти","над","рыбными","текстами","ведущими","безорфографичный","образ","жизни","однажды","одна","маленькая","строчка","рыбного","текста","имени","lorem","ipsum","решила","выйти","большой","мир","грамматики","великий","оксмокс","предупреждал","о","злых","запятых","диких","знаках","вопроса","коварных","точках","запятой","но","текст","дал","сбить","себя","толку","он","собрал","семь","своих","заглавных","букв","подпоясал","инициал","за","пояс","пустился","дорогу","взобравшись","первую","вершину","курсивных","гор","бросил","последний","взгляд","назад","силуэт","своего","родного","города","буквоград","заголовок","деревни","алфавит","подзаголовок","своего","переулка","грустный","реторический","вопрос","скатился","его","щеке","продолжил","свой","путь","дороге","встретил","рукопись","она","предупредила","моей","все","переписывается","несколько","раз","единственное","что","меня","осталось","это","приставка","возвращайся","ты","лучше","свою","безопасную","страну","послушавшись","рукописи","наш","продолжил","свой","путь","вскоре","ему","повстречался","коварный","составитель","рекламных","текстов","напоивший","языком","речью","заманивший","свое","агентство","которое","использовало","снова","снова","своих","проектах","если","переписали","то","живет","там","до","сих","пор"]},sp={common:["mujer","uno","dolor","más","de","poder","mismo","si"],words:["ejercicio","preferencia","perspicacia","laboral","paño","suntuoso","molde","namibia","planeador","mirar","demás","oficinista","excepción","odio","consecuencia","casi","auto","chicharra","velo","elixir","ataque","no","odio","temporal","cuórum","dignísimo","facilismo","letra","nihilista","expedición","alma","alveolar","aparte","león","animal","como","paria","belleza","modo","natividad","justo","ataque","séquito","pillo","sed","ex","y","voluminoso","temporalidad","verdades","racional","asunción","incidente","marejada","placenta","amanecer","fuga","previsor","presentación","lejos","necesariamente","sospechoso","adiposidad","quindío","pócima","voluble","débito","sintió","accesorio","falda","sapiencia","volutas","queso","permacultura","laudo","soluciones","entero","pan","litro","tonelada","culpa","libertario","mosca","dictado","reincidente","nascimiento","dolor","escolar","impedimento","mínima","mayores","repugnante","dulce","obcecado","montaña","enigma","total","deletéreo","décima","cábala","fotografía","dolores","molesto","olvido","paciencia","resiliencia","voluntad","molestias","magnífico","distinción","ovni","marejada","cerro","torre","y","abogada","manantial","corporal","agua","crepúsculo","ataque","desierto","laboriosamente","angustia","afortunado","alma","encefalograma","materialidad","cosas","o","renuncia","error","menos","conejo","abadía","analfabeto","remo","fugacidad","oficio","en","almácigo","vos","pan","represión","números","triste","refugiado","trote","inventor","corchea","repelente","magma","recusado","patrón","explícito","paloma","síndrome","inmune","autoinmune","comodidad","ley","vietnamita","demonio","tasmania","repeler","apéndice","arquitecto","columna","yugo","computador","mula","a","propósito","fantasía","alias","rayo","tenedor","deleznable","ventana","cara","anemia","corrupto"]};const vocabularies={ru:ru,sp:sp,latin:latin},reLorem=/^lorem([a-z]*)(\d*)(-\d*)?$/i;function lorem(e,t,i){let o;if(e.name&&(o=e.name.match(reLorem))){const n=vocabularies[o[1]]||vocabularies.latin,r=o[2]?Math.max(1,Number(o[2])):30,s=rand(r,o[3]?Math.max(r,Number(o[3].slice(1))):r),a=e.repeat||findRepeater(t);e.name=e.attributes=void 0,e.value=[paragraph(n,s,!a||0===a.value)],e.repeat&&t.length>1&&resolveImplicitTag(e,t,i)}}function rand(e,t){return Math.floor(Math.random()*(t-e)+e)}function sample(e,t){const i=e.length,o=Math.min(i,t),n=[];for(;n.length3&&t<=6?rand(0,1):t>6&&t<=12?rand(0,2):rand(1,4);for(let n,r=0;r=0;t--){const i=e[t];if("AbbreviationNode"===i.type&&i.repeat)return i.repeat}}function xsl(e){matchesName(e.name)&&e.attributes&&(e.children.length||e.value)&&(e.attributes=e.attributes.filter(isAllowed))}function isAllowed(e){return"select"!==e.name}function matchesName(e){return"xsl:variable"===e||"xsl:with-param"===e}const reElement=/^(-+)([a-z0-9]+[a-z0-9-]*)/i,reModifier=/^(_+)([a-z0-9]+[a-z0-9-_]*)/i,blockCandidates1=e=>/^[a-z]\-/i.test(e),blockCandidates2=e=>/^[a-z]/i.test(e);function bem(e,t,i){expandClassNames(e),expandShortNotation(e,t,i)}function expandClassNames(e){const t=getBEMData(e),i=[];for(const o of t.classNames){const e=o.indexOf("_");e>0&&!o.startsWith("-")?(i.push(o.slice(0,e)),i.push(o.slice(e))):i.push(o)}i.length&&(t.classNames=i.filter(uniqueClass),t.block=findBlockName(t.classNames),updateClass(e,t.classNames.join(" ")))}function expandShortNotation(e,t,i){const o=getBEMData(e),n=[],{options:r}=i,s=t.slice(1).concat(e);for(let l of o.classNames){let e,t="";const o=l;(e=l.match(reElement))&&(t=getBlockName(s,e[1].length,i.context)+r["bem.element"]+e[2],n.push(t),l=l.slice(e[0].length)),(e=l.match(reModifier))&&(t||(t=getBlockName(s,e[1].length),n.push(t)),n.push(`${t}${r["bem.modifier"]}${e[2]}`),l=l.slice(e[0].length)),l===o&&n.push(o)}const a=n.filter(uniqueClass);a.length&&updateClass(e,a.join(" "))}function getBEMData(e){if(!e._bem){let t="";if(e.attributes)for(const i of e.attributes)if("class"===i.name&&i.value){t=stringifyValue(i.value);break}e._bem=parseBEM(t)}return e._bem}function getBEMDataFromContext(e){return e._bem||(e._bem=parseBEM(e.attributes&&e.attributes.class||"")),e._bem}function parseBEM(e){const t=e?e.split(/\s+/):[];return{classNames:t,block:findBlockName(t)}}function getBlockName(e,t=0,i){let o=Math.max(e.length-t,0);do{const t=e[o];if(t){const e=getBEMData(t);if(e.block)return e.block}}while(0"input"===e.name||"textarea"===e.name);t&&(e.attributes&&(e.attributes=e.attributes.filter(e=>!("for"===e.name&&isEmptyAttribute(e)))),t.attributes&&(t.attributes=t.attributes.filter(e=>!("id"===e.name&&isEmptyAttribute(e)))))}}function isEmptyAttribute(e){if(!e.value)return!0;if(1===e.value.length){const t=e.value[0];if(t&&"string"!=typeof t&&!t.name)return!0}return!1}function walk(e,t,i){const o=(e,o,r)=>{const{parent:s,current:a}=i;i.parent=a,i.current=e,t(e,o,r,i,n),i.current=a,i.parent=s},n=(e,t,n)=>{i.ancestors.push(i.current),o(e,t,n),i.ancestors.pop()};e.children.forEach(o)}function createWalkState(e){return{current:null,parent:void 0,ancestors:[],config:e,field:1,out:createOutputStream(e.options)}}const caret=[{type:"Field",index:0,name:""}];function isSnippet(e){return!!e&&(!e.name&&!e.attributes)}function isInlineElement(e,t){return!!e&&isInline(e,t)}function isField(e){return"object"==typeof e&&"Field"===e.type}function pushTokens(e,t){const{out:i}=t;let o=-1;for(const n of e)"string"==typeof n?pushString(i,n):(pushField(i,t.field+n.index,n.name),n.index>o&&(o=n.index));-1!==o&&(t.field+=o+1)}function splitByLines(e){const t=[];let i=[];for(const o of e)if("string"==typeof o){const e=o.split(/\r\n?|\n/g);for(i.push(e.shift()||"");e.length;)t.push(i),i=[e.shift()||""]}else i.push(o);return i.length&&t.push(i),t}function shouldOutputAttribute(e){return!e.implied||"raw"!==e.valueType||!!e.value&&e.value.length>0}var TemplateChars;function template$1(e){const t=[],i={pos:0,text:e};let o,n=i.pos,r=i.pos;for(;i.pos=65&&e<=90}function isToken(e){return isTokenStart(e)||e>47&&e<58||e===TemplateChars.Underscore||e===TemplateChars.Dash}function createCommentState(e){const{options:t}=e;return{enabled:t["comment.enabled"],trigger:t["comment.trigger"],before:t["comment.before"]?template$1(t["comment.before"]):void 0,after:t["comment.after"]?template$1(t["comment.after"]):void 0}}function commentNodeBefore(e,t){shouldComment(e,t)&&t.comment.before&&output(e,t.comment.before,t)}function commentNodeAfter(e,t){shouldComment(e,t)&&t.comment.after&&output(e,t.comment.after,t)}function shouldComment(e,t){const{comment:i}=t;if(!(i.enabled&&i.trigger&&e.name&&e.attributes))return!1;for(const o of e.attributes)if(o.name&&i.trigger.includes(o.name))return!0;return!1}function output(e,t,i){const o={},{out:n}=i;for(const r of e.attributes)r.name&&r.value&&(o[r.name.toUpperCase()]=r.value);for(const r of t)"string"==typeof r?pushString(n,r):o[r.name]&&(pushString(n,r.before),pushTokens(o[r.name],i),pushString(n,r.after))}!function(e){e[e.Start=91]="Start",e[e.End=93]="End",e[e.Underscore=95]="Underscore",e[e.Dash=45]="Dash"}(TemplateChars||(TemplateChars={}));const htmlTagRegex=/^<([\w\-:]+)[\s>]/,reservedKeywords=new Set(["for","while","of","async","await","const","let","var","continue","break","debugger","do","export","import","in","instanceof","new","return","switch","this","throw","try","catch","typeof","void","with","yield"]);function html(e,t){const i=createWalkState(t);return i.comment=createCommentState(t),walk(e,element$1,i),i.out.value}function element$1(e,t,i,o,n){const{out:r,config:s}=o,a=shouldFormat$1(e,t,i,o),l=getIndent(o);if(r.level+=l,a&&pushNewline(r,!0),e.name){const t=tagName(e.name,s);if(commentNodeBefore(e,o),pushString(r,`<${t}`),e.attributes)for(const i of e.attributes)shouldOutputAttribute(i)&&pushAttribute(i,o);if(!e.selfClosing||e.children.length||e.value){if(pushString(r,">"),!pushSnippet(e,o,n)){if(e.value){const t=e.value.some(hasNewline)||startsWithBlockTag(e.value,s);t&&pushNewline(o.out,++r.level),pushTokens(e.value,o),t&&pushNewline(o.out,--r.level)}if(e.children.forEach(n),!e.value&&!e.children.length){const t=s.options["output.formatLeafNode"]||s.options["output.formatForce"].includes(e.name);t&&pushNewline(o.out,++r.level),pushTokens(caret,o),t&&pushNewline(o.out,--r.level)}}pushString(r,``),commentNodeAfter(e,o)}else pushString(r,`${selfClose(s)}>`)}else!pushSnippet(e,o,n)&&e.value&&(pushTokens(e.value,o),e.children.forEach(n));if(a&&t===i.length-1&&o.parent){const e=isSnippet(o.parent)?0:1;pushNewline(r,r.level-e)}r.level-=l}function pushAttribute(e,t){const{out:i,config:o}=t;if(e.name){const n=o.options["markup.attributes"],r=o.options["markup.valuePrefix"];let{name:s,value:a}=e,l=attrQuote(e,o,!0),c=attrQuote(e,o);n&&(s=getMultiValue(s,n,e.multiple)||s),s=attrName(s,o),o.options["jsx.enabled"]&&e.multiple&&(l=expressionStart,c=expressionEnd);const d=r?getMultiValue(e.name,r,e.multiple):null;if(d&&1===(null==a?void 0:a.length)&&"string"==typeof a[0]){const e=a[0];a=[isPropKey(e)?`${d}.${e}`:`${d}['${e}']`],o.options["jsx.enabled"]&&(l=expressionStart,c=expressionEnd)}isBooleanAttribute(e,o)&&!a?o.options["output.compactBoolean"]||(a=[s]):a||(a=caret),pushString(i," "+s),a?(pushString(i,"="+l),pushTokens(a,t),pushString(i,c)):"html"!==o.options["output.selfClosingStyle"]&&pushString(i,"="+l+c)}}function pushSnippet(e,t,i){if(e.value&&e.children.length){const o=e.value.findIndex(isField);if(-1!==o){pushTokens(e.value.slice(0,o),t);const n=t.out.line;let r=o+1;return e.children.forEach(i),t.out.line!==n&&"string"==typeof e.value[r]&&pushString(t.out,e.value[r++].trimLeft()),pushTokens(e.value.slice(r),t),!0}}return!1}function shouldFormat$1(e,t,i,o){const{config:n,parent:r}=o;if(!n.options["output.format"])return!1;if(0===t&&!r)return!1;if(r&&isSnippet(r)&&1===i.length)return!1;if(isSnippet(e)){if(isSnippet(i[t-1])||isSnippet(i[t+1])||e.value.some(hasNewline)||e.value.some(isField)&&e.children.length)return!0}if(isInline(e,n)){if(0===t){for(let e=0;e=n.options["output.inlineBreak"])return!0}for(let t=0,i=e.children.length;t"string"==typeof e?e.replace(/\s+/g,"."):e),t)}else pushString(t.out,"#"),pushTokens(i.value,t)}function pushSecondaryAttributes(e,t){if(e.length){const{out:i,config:o,options:n}=t;n.beforeAttribute&&pushString(i,n.beforeAttribute);for(let r=0;ri&&(i=o)}n.level++;for(let s=0;sn)return 0;const r=Math.min(o,n),s=Math.max(o,n);let a=1,l=1,c=s,d=0,u=0,h=!1,p=!1;for(;a>4).toString(16)}function toHex(e){return pad(e.toString(16),2)}function pad(e,t){for(;e.lengthe.snippet));for(let r=0;r0)}}function propertyValue(e,t,i){const o=i.options["stylesheet.json"],n=o?getSingleNumeric(e):null;if(!n||n.unit&&"px"!==n.unit){const n=getQuote(i);o&&push(t,n);for(let o=0;ot.toUpperCase())}function getQuote(e){return e.options["stylesheet.jsonDoubleQuotes"]?'"':"'"}const gradientName="lg";function parse$3(e,t){var i;const o=(null===(i=t.cache)||void 0===i?void 0:i.stylesheetSnippets)||convertSnippets(t.snippets),n=[];t.cache&&(t.cache.stylesheetSnippets=o),"string"==typeof e&&(e=parse$2(e,{value:isValueScope(t)}));const r=getSnippetsForScope(o,t);for(const s of e){const e=resolveNode(s,r,t);e&&n.push(e)}return n}function convertSnippets(e){const t=[];for(const i of Object.keys(e))t.push(createSnippet(i,e[i]));return nest(t)}function resolveNode(e,t,i){if(!resolveGradient(e,i)){const o=i.options["stylesheet.fuzzySearchMinScore"];if(isValueScope(i)){const n=i.context.name,r=t.find(e=>e.type===CSSSnippetType.Property&&e.property===n);resolveValueKeywords(e,i,r,o),e.snippet=r}else if(e.name){const n=findBestMatch(e.name,t,o,!0);if(e.snippet=n,n){const t=n.type===CSSSnippetType.Property?resolveAsProperty(e,n,i):resolveAsSnippet(e,n);if(t)e=t;else if(i.options["stylesheet.strictMatch"])return null}}}return(e.name||i.context)&&resolveNumericValue(e,i),e}function resolveGradient(e,t){let i=null;const o=1===e.value.length?e.value[0]:null;if(o&&1===o.value.length){const e=o.value[0];"FunctionCall"===e.type&&e.name===gradientName&&(i=e)}return!(!i&&e.name!==gradientName)&&(i=i?Object.assign(Object.assign({},i),{name:"linear-gradient"}):{type:"FunctionCall",name:"linear-gradient",arguments:[cssValue(field(0,""))]},t.context||(e.name="background-image"),e.value=[cssValue(i)],!0)}function resolveAsProperty(e,t,i){const o=getUnmatchedPart(e.name,t.key);if(o){if(e.value.length)return null;const n=resolveKeyword(o,i,t);if(!n)return null;e.value.push(cssValue(n))}if(e.name=t.property,e.value.length)resolveValueKeywords(e,i,t);else if(t.value.length){const o=t.value[0];e.value=1===t.value.length||o.some(hasField)?o:o.map(e=>wrapWithField(e,i))}return e}function resolveValueKeywords(e,t,i,o){for(const n of e.value){const e=[];for(const r of n.value)if("Literal"===r.type)e.push(resolveKeyword(r.value,t,i,o)||r);else if("FunctionCall"===r.type){const n=resolveKeyword(r.name,t,i,o);n&&"FunctionCall"===n.type?e.push(Object.assign(Object.assign({},n),{arguments:r.arguments.concat(n.arguments.slice(r.arguments.length))})):e.push(r)}else e.push(r);n.value=e}}function resolveAsSnippet(e,t){let i,o=0;const n=/\$\{(\d+)(:[^}]+)?\}/g,r=e.value[0],s=[];for(;i=n.exec(t.value);)o!==i.index&&s.push(literal(t.value.slice(o,i.index))),o=i.index+i[0].length,r&&r.value.length?s.push(r.value.shift()):s.push(field(Number(i[1]),i[2]?i[2].slice(1):""));const a=t.value.slice(o);return a&&s.push(literal(a)),e.name=void 0,e.value=[cssValue(...s)],e}function findBestMatch(e,t,i=0,o=!1){let n=null,r=0;for(const s of t){const t=scoreMatch(e,getScoringPart(s),o);if(1===t)return s;t&&t>=r&&(r=t,n=s)}return r>=i?n:null}function getScoringPart(e){return"string"==typeof e?e:e.key}function getUnmatchedPart(e,t){for(let i=0,o=0;ie.type===CSSSnippetType.Raw);if(t.context.name===CSSAbbreviationScope.Property)return e.filter(e=>e.type===CSSSnippetType.Property)}return e}var markupSnippets={a:"a[href]","a:blank":"a[href='http://${0}' target='_blank' rel='noopener noreferrer']","a:link":"a[href='http://${0}']","a:mail":"a[href='mailto:${0}']","a:tel":"a[href='tel:+${0}']",abbr:"abbr[title]","acr|acronym":"acronym[title]",base:"base[href]/",basefont:"basefont/",br:"br/",frame:"frame/",hr:"hr/",bdo:"bdo[dir]","bdo:r":"bdo[dir=rtl]","bdo:l":"bdo[dir=ltr]",col:"col/",link:"link[rel=stylesheet href]/","link:css":"link[href='${1:style}.css']","link:print":"link[href='${1:print}.css' media=print]","link:favicon":"link[rel='shortcut icon' type=image/x-icon href='${1:favicon.ico}']","link:mf|link:manifest":"link[rel='manifest' href='${1:manifest.json}']","link:touch":"link[rel=apple-touch-icon href='${1:favicon.png}']","link:rss":"link[rel=alternate type=application/rss+xml title=RSS href='${1:rss.xml}']","link:atom":"link[rel=alternate type=application/atom+xml title=Atom href='${1:atom.xml}']","link:im|link:import":"link[rel=import href='${1:component}.html']",meta:"meta/","meta:utf":"meta[http-equiv=Content-Type content='text/html;charset=UTF-8']","meta:vp":"meta[name=viewport content='width=${1:device-width}, initial-scale=${2:1.0}']","meta:compat":"meta[http-equiv=X-UA-Compatible content='${1:IE=7}']","meta:edge":"meta:compat[content='${1:ie=edge}']","meta:redirect":"meta[http-equiv=refresh content='0; url=${1:http://example.com}']","meta:refresh":"meta[http-equiv=refresh content='${1:5}']","meta:kw":"meta[name=keywords content]","meta:desc":"meta[name=description content]",style:"style",script:"script","script:src":"script[src]","script:module":"script[type=module src]",img:"img[src alt]/","img:s|img:srcset":"img[srcset src alt]","img:z|img:sizes":"img[sizes srcset src alt]",picture:"picture","src|source":"source/","src:sc|source:src":"source[src type]","src:s|source:srcset":"source[srcset]","src:t|source:type":"source[srcset type='${1:image/}']","src:z|source:sizes":"source[sizes srcset]","src:m|source:media":"source[media='(${1:min-width: })' srcset]","src:mt|source:media:type":"source:media[type='${2:image/}']","src:mz|source:media:sizes":"source:media[sizes srcset]","src:zt|source:sizes:type":"source[sizes srcset type='${1:image/}']",iframe:"iframe[src frameborder=0]",embed:"embed[src type]/",object:"object[data type]",param:"param[name value]/",map:"map[name]",area:"area[shape coords href alt]/","area:d":"area[shape=default]","area:c":"area[shape=circle]","area:r":"area[shape=rect]","area:p":"area[shape=poly]",form:"form[action]","form:get":"form[method=get]","form:post":"form[method=post]",label:"label[for]",input:"input[type=${1:text}]/",inp:"input[name=${1} id=${1}]","input:h|input:hidden":"input[type=hidden name]","input:t|input:text":"inp[type=text]","input:search":"inp[type=search]","input:email":"inp[type=email]","input:url":"inp[type=url]","input:p|input:password":"inp[type=password]","input:datetime":"inp[type=datetime]","input:date":"inp[type=date]","input:datetime-local":"inp[type=datetime-local]","input:month":"inp[type=month]","input:week":"inp[type=week]","input:time":"inp[type=time]","input:tel":"inp[type=tel]","input:number":"inp[type=number]","input:color":"inp[type=color]","input:c|input:checkbox":"inp[type=checkbox]","input:r|input:radio":"inp[type=radio]","input:range":"inp[type=range]","input:f|input:file":"inp[type=file]","input:s|input:submit":"input[type=submit value]","input:i|input:image":"input[type=image src alt]","input:b|input:btn|input:button":"input[type=button value]","input:reset":"input:button[type=reset]",isindex:"isindex/",select:"select[name=${1} id=${1}]","select:d|select:disabled":"select[disabled.]","opt|option":"option[value]",textarea:"textarea[name=${1} id=${1}]","tarea:c|textarea:cols":"textarea[name=${1} id=${1} cols=${2:30}]","tarea:r|textarea:rows":"textarea[name=${1} id=${1} rows=${3:10}]","tarea:cr|textarea:cols:rows":"textarea[name=${1} id=${1} cols=${2:30} rows=${3:10}]",marquee:"marquee[behavior direction]","menu:c|menu:context":"menu[type=context]","menu:t|menu:toolbar":"menu[type=toolbar]",video:"video[src]",audio:"audio[src]","html:xml":"html[xmlns=http://www.w3.org/1999/xhtml]",keygen:"keygen/",command:"command/","btn:s|button:s|button:submit":"button[type=submit]","btn:r|button:r|button:reset":"button[type=reset]","btn:b|button:b|button:button":"button[type=button]","btn:d|button:d|button:disabled":"button[disabled.]","fst:d|fset:d|fieldset:d|fieldset:disabled":"fieldset[disabled.]",bq:"blockquote",fig:"figure",figc:"figcaption",pic:"picture",ifr:"iframe",emb:"embed",obj:"object",cap:"caption",colg:"colgroup",fst:"fieldset",btn:"button",optg:"optgroup",tarea:"textarea",leg:"legend",sect:"section",art:"article",hdr:"header",ftr:"footer",adr:"address",dlg:"dialog",str:"strong",prog:"progress",mn:"main",tem:"template",fset:"fieldset",datal:"datalist",kg:"keygen",out:"output",det:"details",sum:"summary",cmd:"command",data:"data[value]",meter:"meter[value]",time:"time[datetime]","ri:d|ri:dpr":"img:s","ri:v|ri:viewport":"img:z","ri:a|ri:art":"pic>src:m+img","ri:t|ri:type":"pic>src:t+img","!!!":"{}",doc:"html[lang=${lang}]>(head>meta[charset=${charset}]+meta:vp+title{${1:Document}})+body","!|html:5":"!!!+doc",c:"{\x3c!-- ${0} --\x3e}","cc:ie":"{\x3c!--[if IE]>${0}\x3c!--\x3e${0}\x3c!--xsl:when+xsl:otherwise",xsl:"!!!+xsl:stylesheet[version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform]>{\n|}","!!!":'{}'},pugSnippets={"!!!":"{doctype html}"},variables={lang:"en",locale:"en-US",charset:"UTF-8",indentation:"\t",newline:"\n"};const defaultSyntaxes={markup:"html",stylesheet:"css"},defaultOptions$1={inlineElements:["a","abbr","acronym","applet","b","basefont","bdo","big","br","button","cite","code","del","dfn","em","font","i","iframe","img","input","ins","kbd","label","map","object","q","s","samp","select","small","span","strike","strong","sub","sup","textarea","tt","u","var"],"output.indent":"\t","output.baseIndent":"","output.newline":"\n","output.tagCase":"","output.attributeCase":"","output.attributeQuotes":"double","output.format":!0,"output.formatLeafNode":!1,"output.formatSkip":["html"],"output.formatForce":["body"],"output.inlineBreak":3,"output.compactBoolean":!1,"output.booleanAttributes":["contenteditable","seamless","async","autofocus","autoplay","checked","controls","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","novalidate","readonly","required","reversed","selected","typemustmatch"],"output.reverseAttributes":!1,"output.selfClosingStyle":"html","output.field":(e,t)=>t,"output.text":e=>e,"markup.href":!0,"comment.enabled":!1,"comment.trigger":["id","class"],"comment.before":"","comment.after":"\n\x3c!-- /[#ID][.CLASS] --\x3e","bem.enabled":!1,"bem.element":"__","bem.modifier":"_","jsx.enabled":!1,"stylesheet.keywords":["auto","inherit","unset","none"],"stylesheet.unitless":["z-index","line-height","opacity","font-weight","zoom","flex","flex-grow","flex-shrink"],"stylesheet.shortHex":!0,"stylesheet.between":": ","stylesheet.after":";","stylesheet.intUnit":"px","stylesheet.floatUnit":"em","stylesheet.unitAliases":{e:"em",p:"%",x:"ex",r:"rem"},"stylesheet.json":!1,"stylesheet.jsonDoubleQuotes":!1,"stylesheet.fuzzySearchMinScore":0,"stylesheet.strictMatch":!1},defaultConfig={type:"markup",syntax:"html",variables:variables,snippets:{},options:defaultOptions$1},syntaxConfig={markup:{snippets:parseSnippets(markupSnippets)},xhtml:{options:{"output.selfClosingStyle":"xhtml"}},xml:{options:{"output.selfClosingStyle":"xml"}},xsl:{snippets:parseSnippets(xslSnippets),options:{"output.selfClosingStyle":"xml"}},jsx:{options:{"jsx.enabled":!0,"markup.attributes":{class:"className","class*":"styleName",for:"htmlFor"},"markup.valuePrefix":{"class*":"styles"}}},vue:{options:{"markup.attributes":{"class*":":class"}}},svelte:{options:{"jsx.enabled":!0}},pug:{snippets:parseSnippets(pugSnippets)},stylesheet:{snippets:parseSnippets(stylesheetSnippets)},sass:{options:{"stylesheet.after":""}},stylus:{options:{"stylesheet.between":" ","stylesheet.after":""}}};function parseSnippets(e){const t={};return Object.keys(e).forEach(i=>{for(const o of i.split("|"))t[o]=e[i]}),t}function resolveConfig(e={},t={}){const i=e.type||"markup",o=e.syntax||defaultSyntaxes[i];return Object.assign(Object.assign(Object.assign({},defaultConfig),e),{type:i,syntax:o,variables:mergedData(i,o,"variables",e,t),snippets:mergedData(i,o,"snippets",e,t),options:mergedData(i,o,"options",e,t)})}function mergedData(e,t,i,o,n={}){const r=syntaxConfig[e],s=n[e],a=syntaxConfig[t],l=n[t];return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},defaultConfig[i]),r&&r[i]),a&&a[i]),s&&s[i]),l&&l[i]),o[i])}function backwardScanner(e,t=0){return{text:e,start:t,pos:e.length}}function sol(e){return e.pos===e.start}function peek(e,t=0){return e.text.charCodeAt(e.pos-1+t)}function previous(e){if(!sol(e))return e.text.charCodeAt(--e.pos)}function consume(e,t){if(sol(e))return!1;const i="function"==typeof t?t(peek(e)):t===peek(e);return i&&e.pos--,!!i}function consumeWhile(e,t){const i=e.pos;for(;consume(e,t););return e.pos=65&&e<=90}function isNumber$2(e){return e>47&&e<58}function isWhiteSpace(e){return e===Chars.Space||e===Chars.Tab}function isUnquotedValue(e){return!isNaN(e)&&e!==Chars.Equals&&!isWhiteSpace(e)&&!isQuote(e)}function isOpenBracket(e){return e===Brackets.CurlyL||e===Brackets.RoundL||e===Brackets.SquareL}function isCloseBracket(e){return e===Brackets.CurlyR||e===Brackets.RoundR||e===Brackets.SquareR}!function(e){e[e.Tab=9]="Tab",e[e.Space=32]="Space",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Colon=58]="Colon",e[e.Equals=61]="Equals",e[e.AngleLeft=60]="AngleLeft",e[e.AngleRight=62]="AngleRight"}(Chars||(Chars={}));const code=e=>e.charCodeAt(0),specialChars="#.*:$-_!@%^+>/".split("").map(code),defaultOptions={type:"markup",lookAhead:!0,prefix:""};function extractAbbreviation$1(e,t=e.length,i={}){const o=Object.assign(Object.assign({},defaultOptions),i);let n;t=Math.min(e.length,Math.max(0,null==t?e.length:t)),o.lookAhead&&(t=offsetPastAutoClosed(e,t,o));const r=getStartOffset(e,t,o.prefix||"");if(-1===r)return;const s=backwardScanner(e,r);s.pos=t;const a=[];for(;!sol(s);){if(n=peek(s),a.includes(Brackets.CurlyR)){if(n===Brackets.CurlyR){a.push(n),s.pos--;continue}if(n!==Brackets.CurlyL){s.pos--;continue}}if(isCloseBrace(n,o.type))a.push(n);else if(isOpenBrace(n,o.type)){if(a.pop()!==bracePairs[n])break}else{if(a.includes(Brackets.SquareR)||a.includes(Brackets.CurlyR)){s.pos--;continue}if(isHtml(s)||!isAbbreviation(n))break}s.pos--}if(!a.length&&s.pos!==t){const o=e.slice(s.pos,t).replace(/^[*+>^]+/,"");return{abbreviation:o,location:t-o.length,start:i.prefix?r-i.prefix.length:t-o.length,end:t}}}function offsetPastAutoClosed(e,t,i){for(isQuote(e.charCodeAt(t))&&t++;isCloseBrace(e.charCodeAt(t),i.type);)t++;return t}function getStartOffset(e,t,i){if(!i)return 0;const o=backwardScanner(e),n=i.split("").map(code);let r;for(o.pos=t;!sol(o);)if(!consumePair(o,Brackets.SquareR,Brackets.SquareL)&&!consumePair(o,Brackets.CurlyR,Brackets.CurlyL)){if(r=o.pos,consumeArray(o,n))return r;o.pos--}return-1}function consumePair(e,t,i){const o=e.pos;if(consume(e,t))for(;!sol(e);){if(consume(e,i))return!0;e.pos--}return e.pos=o,!1}function consumeArray(e,t){const i=e.pos;let o=!1;for(let n=t.length-1;n>=0&&!sol(e)&&consume(e,t[n]);n--)o=0===n;return o||(e.pos=i),o}function isAbbreviation(e){return e>64&&e<91||e>96&&e<123||e>47&&e<58||specialChars.includes(e)}function isOpenBrace(e,t){return e===Brackets.RoundL||"markup"===t&&(e===Brackets.SquareL||e===Brackets.CurlyL)}function isCloseBrace(e,t){return e===Brackets.RoundR||"markup"===t&&(e===Brackets.SquareR||e===Brackets.CurlyR)}function expandAbbreviation$1(e,t){const i=resolveConfig(t);return"stylesheet"===i.type?stylesheet(e,i):markup(e,i)}function markup(e,t){return stringify(parse$1(e,t),t)}function stylesheet(e,t){return css$1(parse$3(e,t),t)}const cssData={properties:["additive-symbols","align-content","align-items","justify-items","justify-self","justify-items","align-self","all","alt","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","behavior","block-size","border","border-block-end","border-block-start","border-block-end-color","border-block-start-color","border-block-end-style","border-block-start-style","border-block-end-width","border-block-start-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline-end","border-inline-start","border-inline-end-color","border-inline-start-color","border-inline-end-style","border-inline-start-style","border-inline-end-width","border-inline-start-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation-filters","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","columns","column-span","column-width","contain","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","enable-background","fallback","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","glyph-orientation-horizontal","glyph-orientation-vertical","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","height","hyphens","image-orientation","image-rendering","ime-mode","inline-size","isolation","justify-content","kerning","left","letter-spacing","lighting-color","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block-end","margin-block-start","margin-bottom","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marker","marker-end","marker-mid","marker-start","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","motion","motion-offset","motion-path","motion-rotation","-moz-animation","-moz-animation-delay","-moz-animation-direction","-moz-animation-duration","-moz-animation-iteration-count","-moz-animation-name","-moz-animation-play-state","-moz-animation-timing-function","-moz-appearance","-moz-backface-visibility","-moz-background-clip","-moz-background-inline-policy","-moz-background-origin","-moz-border-bottom-colors","-moz-border-image","-moz-border-left-colors","-moz-border-right-colors","-moz-border-top-colors","-moz-box-align","-moz-box-direction","-moz-box-flex","-moz-box-flexgroup","-moz-box-ordinal-group","-moz-box-orient","-moz-box-pack","-moz-box-sizing","-moz-column-count","-moz-column-gap","-moz-column-rule","-moz-column-rule-color","-moz-column-rule-style","-moz-column-rule-width","-moz-columns","-moz-column-width","-moz-font-feature-settings","-moz-hyphens","-moz-perspective","-moz-perspective-origin","-moz-text-align-last","-moz-text-decoration-color","-moz-text-decoration-line","-moz-text-decoration-style","-moz-text-size-adjust","-moz-transform","-moz-transform-origin","-moz-transition","-moz-transition-delay","-moz-transition-duration","-moz-transition-property","-moz-transition-timing-function","-moz-user-focus","-moz-user-select","-ms-accelerator","-ms-behavior","-ms-block-progression","-ms-content-zoom-chaining","-ms-content-zooming","-ms-content-zoom-limit","-ms-content-zoom-limit-max","-ms-content-zoom-limit-min","-ms-content-zoom-snap","-ms-content-zoom-snap-points","-ms-content-zoom-snap-type","-ms-filter","-ms-flex","-ms-flex-align","-ms-flex-direction","-ms-flex-flow","-ms-flex-item-align","-ms-flex-line-pack","-ms-flex-order","-ms-flex-pack","-ms-flex-wrap","-ms-flow-from","-ms-flow-into","-ms-grid-column","-ms-grid-column-align","-ms-grid-columns","-ms-grid-column-span","-ms-grid-layer","-ms-grid-row","-ms-grid-row-align","-ms-grid-rows","-ms-grid-row-span","-ms-high-contrast-adjust","-ms-hyphenate-limit-chars","-ms-hyphenate-limit-lines","-ms-hyphenate-limit-zone","-ms-hyphens","-ms-ime-mode","-ms-interpolation-mode","-ms-layout-grid","-ms-layout-grid-char","-ms-layout-grid-line","-ms-layout-grid-mode","-ms-layout-grid-type","-ms-line-break","-ms-overflow-style","-ms-perspective","-ms-perspective-origin","-ms-perspective-origin-x","-ms-perspective-origin-y","-ms-progress-appearance","-ms-scrollbar-3dlight-color","-ms-scrollbar-arrow-color","-ms-scrollbar-base-color","-ms-scrollbar-darkshadow-color","-ms-scrollbar-face-color","-ms-scrollbar-highlight-color","-ms-scrollbar-shadow-color","-ms-scrollbar-track-color","-ms-scroll-chaining","-ms-scroll-limit","-ms-scroll-limit-x-max","-ms-scroll-limit-x-min","-ms-scroll-limit-y-max","-ms-scroll-limit-y-min","-ms-scroll-rails","-ms-scroll-snap-points-x","-ms-scroll-snap-points-y","-ms-scroll-snap-type","-ms-scroll-snap-x","-ms-scroll-snap-y","-ms-scroll-translation","-ms-text-align-last","-ms-text-autospace","-ms-text-combine-horizontal","-ms-text-justify","-ms-text-kashida-space","-ms-text-overflow","-ms-text-size-adjust","-ms-text-underline-position","-ms-touch-action","-ms-touch-select","-ms-transform","-ms-transform-origin","-ms-transform-origin-x","-ms-transform-origin-y","-ms-transform-origin-z","-ms-user-select","-ms-word-break","-ms-word-wrap","-ms-wrap-flow","-ms-wrap-margin","-ms-wrap-through","-ms-writing-mode","-ms-zoom","-ms-zoom-animation","nav-down","nav-index","nav-left","nav-right","nav-up","negative","-o-animation","-o-animation-delay","-o-animation-direction","-o-animation-duration","-o-animation-fill-mode","-o-animation-iteration-count","-o-animation-name","-o-animation-play-state","-o-animation-timing-function","object-fit","object-position","-o-border-image","-o-object-fit","-o-object-position","opacity","order","orphans","-o-table-baseline","-o-tab-size","-o-text-overflow","-o-transform","-o-transform-origin","-o-transition","-o-transition-delay","-o-transition-duration","-o-transition-property","-o-transition-timing-function","offset-block-end","offset-block-start","offset-inline-end","offset-inline-start","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","pad","padding","padding-bottom","padding-block-end","padding-block-start","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","paint-order","perspective","perspective-origin","pointer-events","position","prefix","quotes","range","resize","right","ruby-align","ruby-overhang","ruby-position","ruby-span","scrollbar-3dlight-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-darkshadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","scroll-behavior","scroll-snap-coordinate","scroll-snap-destination","scroll-snap-points-x","scroll-snap-points-y","scroll-snap-type","shape-image-threshold","shape-margin","shape-outside","shape-rendering","size","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","suffix","system","symbols","table-layout","tab-size","text-align","text-align-last","text-anchor","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","unicode-range","user-select","vertical-align","visibility","-webkit-animation","-webkit-animation-delay","-webkit-animation-direction","-webkit-animation-duration","-webkit-animation-fill-mode","-webkit-animation-iteration-count","-webkit-animation-name","-webkit-animation-play-state","-webkit-animation-timing-function","-webkit-appearance","-webkit-backdrop-filter","-webkit-backface-visibility","-webkit-background-clip","-webkit-background-composite","-webkit-background-origin","-webkit-border-image","-webkit-box-align","-webkit-box-direction","-webkit-box-flex","-webkit-box-flex-group","-webkit-box-ordinal-group","-webkit-box-orient","-webkit-box-pack","-webkit-box-reflect","-webkit-box-sizing","-webkit-break-after","-webkit-break-before","-webkit-break-inside","-webkit-column-break-after","-webkit-column-break-before","-webkit-column-break-inside","-webkit-column-count","-webkit-column-gap","-webkit-column-rule","-webkit-column-rule-color","-webkit-column-rule-style","-webkit-column-rule-width","-webkit-columns","-webkit-column-span","-webkit-column-width","-webkit-filter","-webkit-flow-from","-webkit-flow-into","-webkit-font-feature-settings","-webkit-hyphens","-webkit-line-break","-webkit-margin-bottom-collapse","-webkit-margin-collapse","-webkit-margin-start","-webkit-margin-top-collapse","-webkit-mask-clip","-webkit-mask-image","-webkit-mask-origin","-webkit-mask-repeat","-webkit-mask-size","-webkit-nbsp-mode","-webkit-overflow-scrolling","-webkit-padding-start","-webkit-perspective","-webkit-perspective-origin","-webkit-region-fragment","-webkit-tap-highlight-color","-webkit-text-fill-color","-webkit-text-size-adjust","-webkit-text-stroke","-webkit-text-stroke-color","-webkit-text-stroke-width","-webkit-touch-callout","-webkit-transform","-webkit-transform-origin","-webkit-transform-origin-x","-webkit-transform-origin-y","-webkit-transform-origin-z","-webkit-transform-style","-webkit-transition","-webkit-transition-delay","-webkit-transition-duration","-webkit-transition-property","-webkit-transition-timing-function","-webkit-user-drag","-webkit-user-modify","-webkit-user-select","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","zoom"]},htmlData={tags:["body","head","html","address","blockquote","dd","div","section","article","aside","header","footer","nav","menu","dl","dt","fieldset","form","frame","frameset","h1","h2","h3","h4","h5","h6","iframe","noframes","object","ol","p","ul","applet","center","dir","hr","pre","a","abbr","acronym","area","b","base","basefont","bdo","big","br","button","caption","cite","code","col","colgroup","del","dfn","em","font","i","img","input","ins","isindex","kbd","label","legend","li","link","map","meta","noscript","optgroup","option","param","q","s","samp","script","select","small","span","strike","strong","style","sub","sup","table","tbody","td","textarea","tfoot","th","thead","title","tr","tt","u","var","canvas","main","figure","plaintext","figcaption","hgroup","details","summary"]},snippetKeyCache=new Map;let markupSnippetKeys;const stylesheetCustomSnippetsKeyCache=new Map,htmlAbbreviationStartRegex=/^[a-z,A-Z,!,(,[,#,\.\{]/,jsxAbbreviationStartRegex=/^[a-z,A-Z,!,(,[,#,\.]/,cssAbbreviationRegex=/^-?[a-z,A-Z,!,@,#]/,htmlAbbreviationRegex=/[a-z,A-Z\.]/,commonlyUsedTags=[...htmlData.tags,"lorem"],bemFilterSuffix="bem",filterDelimitor="|",trimFilterSuffix="t",commentFilterSuffix="c",maxFilters=3;function doComplete(t,i,o,n,r){var s;const a=isStyleSheet(n);if(!a){if(!snippetKeyCache.has(n)){const e=Object.assign(Object.assign({},getDefaultSnippets(n)),customSnippetsRegistry[n]);snippetKeyCache.set(n,Object.keys(e))}markupSnippetKeys=null!==(s=snippetKeyCache.get(n))&&void 0!==s?s:[]}const l={lookAhead:!a,type:getSyntaxType(n)},c=extractAbbreviation(t,i,o,l);if(!c)return;const{abbreviationRange:d,abbreviation:u,currentLineTillPosition:h,filter:p}=c;if(getCurrentWord(h)===u&&h.endsWith(`<${u}`)&&!a)return;const g=getExpandOptions(n,p);let m,f="",v=[];if(((i,o)=>{if(isAbbreviationValid(i,u)){try{f=expandAbbreviation$1(o,g),a&&"!important".startsWith(o)&&(f="!important")}catch(e){}f&&!isExpandedTextNoise(i,o,f,g.options)&&(m={kind:t.languages.CompletionItemKind.Property,label:u+(p?"|"+p.replace(",","|"):""),documentation:replaceTabStopsWithCursors(f),detail:"Emmet abbreviation",insertTextRules:t.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:d,insertText:escapeNonTabStopDollar(addFinalTabStop(f))},v=[m])}})(n,u),a){if(u.length>4&&cssData.properties.some(e=>e.startsWith(u)))return{suggestions:[],incomplete:!0};if(m&&f.length){m.range=d,m.insertText=escapeNonTabStopDollar(addFinalTabStop(f)),m.documentation=replaceTabStopsWithCursors(f),m.label=removeTabStops(f),m.filterText=u;const e=stylesheetCustomSnippetsKeyCache.has(n)?stylesheetCustomSnippetsKeyCache.get(n):stylesheetCustomSnippetsKeyCache.get("css");if(v=makeSnippetSuggestion(t,null!=e?e:[],u,u,d,g,"Emmet Custom Snippet",!1),!v.find(e=>e.insertText===(null==m?void 0:m.insertText))){const e=new RegExp(".*"+u.split("").map(e=>"$"===e||"+"===e?"\\"+e:e).join(".*")+".*","i");(/\d/.test(u)||e.test(m.label))&&v.push(m)}}}else{let e=u;const i=u.match(/(>|\+)([\w:-]+)$/);if(i&&3===i.length&&(e=i[2]),"xml"!==n){const i=makeSnippetSuggestion(t,commonlyUsedTags,e,u,d,g,"Emmet Abbreviation");v=v.concat(i)}{const i=makeSnippetSuggestion(t,markupSnippetKeys.filter(e=>!commonlyUsedTags.includes(e)),e,u,d,g,"Emmet Abbreviation");m&&i.length>0&&e!==u&&(m.sortText="0"+m.label,i.forEach(e=>{e.filterText=u,e.sortText="9"+u})),v=v.concat(i)}"html"===n&&v.length>=2&&u.includes(":")&&(null==m?void 0:m.insertText)===`<${u}>\${0}`&&(v=v.filter(e=>e.label!==u))}return v.length?{suggestions:v,incomplete:!0}:void 0}function makeSnippetSuggestion(t,i,o,n,r,s,a,l=!0){if(!o||!i)return[];const c=[];return i.forEach(i=>{if(!i.startsWith(o.toLowerCase())||l&&i===o.toLowerCase())return;const d=n+i.substr(o.length);let u;try{u=expandAbbreviation$1(d,s)}catch(e){}if(!u)return;const h={kind:t.languages.CompletionItemKind.Property,label:o+i.substr(o.length),documentation:replaceTabStopsWithCursors(u),detail:a,insertTextRules:t.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:r,insertText:escapeNonTabStopDollar(addFinalTabStop(u))};c.push(h)}),c}function getCurrentWord(e){if(e){const t=e.match(/[\w,:,-,\.]*$/);if(t)return t[0]}}function replaceTabStopsWithCursors(e){return e.replace(/([^\\])\$\{\d+\}/g,"$1|").replace(/\$\{\d+:([^\}]+)\}/g,"$1")}function removeTabStops(e){return e.replace(/([^\\])\$\{\d+\}/g,"$1").replace(/\$\{\d+:([^\}]+)\}/g,"$1")}function escapeNonTabStopDollar(e){return e?e.replace(/([^\\])(\$)([^\{])/g,"$1\\$2$3"):e}function addFinalTabStop(t){if(!t||!t.trim())return t;let i=-1,o=[],n=!1,r=!1,s=0;const a=t.length;try{for(;s=a||"}"!=t[s]&&":"!=t[s])continue;const c=t.substring(e,l);if(n="0"===c,n)break;let d=!1;if(":"==t[s++])for(;sNumber(i)?(i=Number(c),o=[{numberStart:e,numberEnd:l}],r=!d):Number(c)===i&&o.push({numberStart:e,numberEnd:l})}}catch(e){}if(r&&!n)for(let e=0;e`\${${e}${t?":"+t:""}}`;function isStyleSheet(e){return"css"===e}function getSyntaxType(e){return isStyleSheet(e)?"stylesheet":"markup"}function getDefaultSyntax(e){return isStyleSheet(e)?"css":"html"}function getDefaultSnippets(e){const t=resolveConfig({type:getSyntaxType(e),syntax:e});return"xml"===e?{}:t.snippets}function getFilters(e,t){let i;for(let o=0;o\+\*\^]|$)/.test(t)||/\(.*\)[>\+\*\^]/.test(t)||/\[[^\[\]\(\)]+=".*"\]/.test(t)||/[>\+\*\^]\(.*\)/.test(t))&&("jsx"===e?jsxAbbreviationStartRegex.test(t)&&htmlAbbreviationRegex.test(t):htmlAbbreviationStartRegex.test(t)&&htmlAbbreviationRegex.test(t))}function isExpandedTextNoise(e,t,i,o){var n,r;if(isStyleSheet(e)&&o){const e=null!==(n=o["stylesheet.between"])&&void 0!==n?n:": ",s=null!==(r=o["stylesheet.after"])&&void 0!==r?r:";";let a=t.indexOf(e[0],Math.max(t.length-e.length,0));a=a>=0?a:t.length;return i===`${t.substring(0,a)}${e}\${0}${s}`||i.replace(/\s/g,"")===t.replace(/\s/g,"")+s}if("xml"===e&&commonlyUsedTags.some(e=>e.startsWith(t.toLowerCase())))return!0;if(commonlyUsedTags.includes(t.toLowerCase())||markupSnippetKeys.includes(t))return!1;if(/[-,:]/.test(t)&&!/--|::/.test(t)&&!t.endsWith(":"))return!1;if("."===t)return!1;const s=t.match(/^([a-z,A-Z,\d]*)\.$/);return s?!s[1]||!htmlData.tags.includes(s[1]):("jsx"!==e||!/^([A-Z][A-Za-z0-9]*)+$/.test(t))&&i.toLowerCase()===`<${t.toLowerCase()}>\${1}`}function getExpandOptions(e,t){var i;const o=t?t.split(",").map(e=>e.trim()):[],n=o.includes("bem"),r=o.includes("c"),s={"output.formatSkip":["html"],"output.formatForce":["body"],"output.field":emmetSnippetField,"output.inlineBreak":0,"output.compactBoolean":!1,"output.reverseAttributes":!1,"markup.href":!0,"comment.enabled":r,"comment.trigger":["id","class"],"comment.before":"","comment.after":"\n\x3c!-- /[#ID][.CLASS] --\x3e","bem.enabled":n,"bem.element":"__","bem.modifier":"_","jsx.enabled":"jsx"===e,"stylesheet.shortHex":!0,"stylesheet.between":"stylus"===e?" ":": ","stylesheet.after":"sass"===e||"stylus"===e?"":";","stylesheet.intUnit":"px","stylesheet.floatUnit":"em","stylesheet.unitAliases":{e:"em",p:"%",x:"ex",r:"rem"},"stylesheet.fuzzySearchMinScore":.3,"output.format":!0,"output.selfClosingStyle":"html"},a=getSyntaxType(e),l=getDefaultSyntax(e);return{type:a,options:s,variables:{},snippets:"stylesheet"===a?null!==(i=customSnippetsRegistry[e])&&void 0!==i?i:customSnippetsRegistry[l]:customSnippetsRegistry[e],syntax:e,text:void 0,maxRepeat:1e3}}function isValidEmmetToken(e,t,i,o){const n=e[t],r=n.type;return"html"===i?""===r&&(0===t||"delimiter.html"===e[t-1].type)||"text.html.basic"===e[0].type:"css"===i?""===r||r==="tag."+o:"jsx"===i&&("mdx"===n.language&&""===r||!!t&&["identifier.js","type.identifier.js","identifier.ts","type.identifier.ts"].includes(r))}const tokenEnvCache=new WeakMap;function getTokenizationEnv(e){if(tokenEnvCache.has(e))return tokenEnvCache.get(e);let t=e._tokenization||e.tokenization._tokenization,i=null==t?void 0:t._tokenizationStateStore;if(!t||!i){const o=e.tokenization,n=o.grammarTokens||o._tokens;n?(t=n._defaultBackgroundTokenizer,i=t._tokenizerWithStateStore):(Object.values(o).some(e=>t=e.tokenizeViewport&&e),Object.values(t).some(e=>i=e.tokenizationSupport&&e))}const o=i.tokenizationSupport||t._tokenizationSupport,n={_stateStore:i,_support:o};return tokenEnvCache.set(e,n),n}function isValidLocationForEmmetAbbreviation(e,t,i,o){var n;const{column:r,lineNumber:s}=t,{_stateStore:a,_support:l}=getTokenizationEnv(e),c=(null===(n=a.getBeginState)||void 0===n?void 0:n.call(a,s-1).clone())||a.getStartState(s).clone(),d=l.tokenize(e.getLineContent(s),!0,c,0).tokens;let u=!1;for(let h=d.length-1;h>=0;h--)if(r-1>d[h].offset){u=isValidEmmetToken(d,h,i,o);break}return u}const LANGUAGE_MODES={html:["!",".","}",":","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],jade:["!",".","}",":","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],slim:["!",".","}",":","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],haml:["!",".","}",":","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],xml:[".","}","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],xsl:["!",".","}","*","$","/","]",">","0","1","2","3","4","5","6","7","8","9"],css:[":","!","-","0","1","2","3","4","5","6","7","8","9"],scss:[":","!","-","0","1","2","3","4","5","6","7","8","9"],sass:[":","!","0","1","2","3","4","5","6","7","8","9"],less:[":","!","-","0","1","2","3","4","5","6","7","8","9"],stylus:[":","!","0","1","2","3","4","5","6","7","8","9"],javascript:["!",".","}","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],typescript:["!",".","}","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"]},MAPPED_MODES={handlebars:"html",php:"html",twig:"html"};function registerProvider(e,t,i){if(!e)return void console.error("emmet-monaco-es: 'monaco' should be either declared on window or passed as first parameter");const o=t.map(t=>e.languages.registerCompletionItemProvider(t,{triggerCharacters:LANGUAGE_MODES[MAPPED_MODES[t]||t],provideCompletionItems:(o,n)=>isValidLocationForEmmetAbbreviation(o,n,i,t)?doComplete(e,o,n,i):void 0}));return()=>{o.forEach(e=>e.dispose())}}function emmetHTML(e=window.monaco,t=["html"]){return registerProvider(e,t,"html")}function emmetCSS(e=window.monaco,t=["css"]){return registerProvider(e,t,"css")}var events={exports:{}},hasRequiredEvents;function requireEvents(){if(hasRequiredEvents)return events.exports;hasRequiredEvents=1;var e,t="object"==typeof Reflect?Reflect:null,i=t&&"function"==typeof t.apply?t.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)};e=t&&"function"==typeof t.ownKeys?t.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var o=Number.isNaN||function(e){return e!=e};function n(){n.init.call(this)}events.exports=n,events.exports.once=function(e,t){return new Promise(function(i,o){function n(i){e.removeListener(t,r),o(i)}function r(){"function"==typeof e.removeListener&&e.removeListener("error",n),i([].slice.call(arguments))}g(e,t,r,{once:!0}),"error"!==t&&function(e,t,i){"function"==typeof e.on&&g(e,"error",t,i)}(e,n,{once:!0})})},n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var r=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function a(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function l(e,t,i,o){var n,r,l;if(s(i),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,i.listener?i.listener:i),r=e._events),l=r[t]),void 0===l)l=r[t]=i,++e._eventsCount;else if("function"==typeof l?l=r[t]=o?[i,l]:[l,i]:o?l.unshift(i):l.push(i),(n=a(e))>0&&l.length>n&&!l.warned){l.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+l.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=l.length,function(e){console&&console.warn&&console.warn(e)}(c)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,i){var o={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},n=c.bind(o);return n.listener=i,o.wrapFn=n,n}function u(e,t,i){var o=e._events;if(void 0===o)return[];var n=o[t];return void 0===n?[]:"function"==typeof n?i?[n.listener||n]:[n]:i?function(e){for(var t=new Array(e.length),i=0;i0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=r[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,d=p(l,c);for(o=0;o=0;r--)if(i[r]===t||i[r].listener===t){a=i[r].listener,n=r;break}if(n<0)return this;0===n?i.shift():function(e,t){for(;t+1=0;o--)this.removeListener(e,t[o]);return this},n.prototype.listeners=function(e){return u(this,e,!0)},n.prototype.rawListeners=function(e){return u(this,e,!1)},n.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},n.prototype.listenerCount=h,n.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]},events.exports}var eventsExports=requireEvents();const EventEmitter$3=getDefaultExportFromCjs(eventsExports); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */let cachedTextEncoder=new TextEncoder("utf-8");cachedTextEncoder.encodeInto;class ObservedData{}class SimpleObservedData extends ObservedData{data={};event=new eventsExports.EventEmitter;constructor(e){super(),this.data=e}update(e,t){t?setValueByKeyPath(t,e,this.data):this.data=e;const i={updateData:e,path:t??""};t&&this.event.emit(t,i),this.event.emit("",i)}on(e,t){this.event.on(e,t)}off(e,t){this.event.off(e,t)}getData(e){return e?getValueByKeyPath(e,this.data):this.data}destroy(){}}let DataSource$1=class extends EventEmitter$3{isInit=!1;app;mockData;#e="base";#t;#i;#o;#n=[];#r=[];constructor(e){super(),this.#t=e.schema.id,this.#i=e.schema,this.app=e.app,this.setFields(e.schema.fields),this.setMethods(e.schema.methods||[]);let t=e.initialData;const i=e.ObservedDataClass||SimpleObservedData;if("editor"===this.app.platform){const i=cloneDeep(e.schema.mocks||[]);this.mockData=i.find(e=>e.useInEditor)?.data||this.getDefaultData(),t=cloneDeep(this.mockData)}else if("boolean"==typeof e.useMock&&e.useMock){const i=cloneDeep(e.schema.mocks||[]);this.mockData=i.find(e=>e.enable)?.data,t=cloneDeep(this.mockData)||this.getDefaultData()}else{if(e.initialData)return this.#o=new i(e.initialData??{}),void(this.isInit=!0);t=this.getDefaultData()}this.#o=new i(t??{})}get id(){return this.#t}get type(){return this.#e}get schema(){return this.#i}get fields(){return this.#n}get methods(){return this.#r}setFields(e){this.#n=e}setMethods(e){this.#r=e}get data(){return this.#o.getData("")}setData(e,t){this.#o.update(e,t);const i={updateData:e,path:t};this.emit("change",i)}setValue(e,t){return this.setData(t,e)}onDataChange(e,t){this.#o.on(e,t)}offDataChange(e,t){this.#o.off(e,t)}getDefaultData(){return getDefaultValueFromFields(this.#n)}async init(){this.isInit=!0}destroy(){this.#n=[],this.removeAllListeners(),this.#o.destroy()}};const urlencoded=e=>Object.entries(e).reduce((e,[t,i])=>{let o=i;return"object"==typeof i&&(o=JSON.stringify(i)),void 0!==i?`${e}${e?"&":""}${globalThis.encodeURIComponent(t)}=${globalThis.encodeURIComponent(`${o}`)}`:e},""),webRequest=async e=>{const{url:t,method:i="GET",headers:o={},params:n={},data:r={},...s}=e,a=urlencoded(n);let l=JSON.stringify(r);o["Content-Type"]?.includes("application/x-www-form-urlencoded")&&(l=urlencoded(r));return(await globalThis.fetch(a?`${t}?${a}`:t,{method:i,headers:o,body:"GET"===i?void 0:l,...s})).json()};class HttpDataSource extends DataSource$1{isLoading=!1;error;httpOptions;#s;#a=[];#l=[];#e="http";constructor(e){const{options:t}=e.schema;super(e),this.httpOptions=t,"function"==typeof e.request?this.#s=e.request:"function"==typeof globalThis.fetch&&(this.#s=webRequest),this.methods.forEach(e=>{"function"==typeof e.content&&("beforeRequest"===e.timing&&this.#a.push(e.content),"afterRequest"===e.timing&&this.#l.push(e.content))})}get type(){return this.#e}async init(){this.schema.autoFetch&&await this.request(),super.init()}async request(e={}){this.isLoading=!0;const{url:t,params:i,data:o,headers:n,...r}=this.httpOptions;let s={url:"function"==typeof t?t({app:this.app,dataSource:this}):t,params:"function"==typeof i?i({app:this.app,dataSource:this}):i,data:"function"==typeof o?o({app:this.app,dataSource:this}):o,headers:"function"==typeof n?n({app:this.app,dataSource:this}):n,...r,...e};try{for(const e of this.#a)await e({options:s,params:{},dataSource:this,app:this.app});if("function"==typeof this.schema.beforeRequest&&(s=await this.schema.beforeRequest(s,{app:this.app,dataSource:this})),this.mockData)this.setData(this.mockData);else{let e=await(this.#s?.(s));for(const t of this.#l)await t({res:e,options:s,params:{},dataSource:this,app:this.app});if("function"==typeof this.schema.afterResponse&&(e=await this.schema.afterResponse(e,{app:this.app,dataSource:this,options:s})),this.schema.responseOptions?.dataPath){const t=getValueByKeyPath(this.schema.responseOptions.dataPath,e);this.setData(t)}else this.setData(e)}this.error=void 0}catch(error){this.error={msg:error.message},this.emit("error",error)}this.isLoading=!1}get(e){return this.request({...e,method:"GET"})}post(e){return this.request({...e,method:"POST"})}}const cache=new Map,getDeps=(e,t,i)=>{let o;if(i){const i=[];t.forEach(e=>{traverseNode(e,e=>{i.push(e.id)})}),o=`${e.id}:${i.join(":")}`}else o=`${e.id}:${t.map(e=>e.id).join(":")}`;if(cache.has(o))return cache.get(o);const n=new Watcher;n.addTarget(new Target({id:e.id,type:"data-source",isTarget:(t,i)=>!`${t}`.includes(DSL_NODE_KEY_COPY_PREFIX)&&isDataSourceTarget(e,t,i,!0)})),n.addTarget(new Target({id:e.id,type:"cond",isTarget:(t,i)=>isDataSourceCondTarget(e,t,i,!0)})),n.collect(t,{},!0);const{deps:r}=n.getTarget(e.id,"data-source"),{deps:s}=n.getTarget(e.id,"cond"),a={deps:r,condDeps:s};return cache.set(o,a),a},compiledCondition=(t,i)=>{let o=!0;for(const{op:n,value:r,range:s,field:a}of t){const[t,...l]=a,c=i[t];if(!c||!l.length)break;try{const e=getValueByKeyPath(l.join("."),c);if(!compiledCond(n,e,r,s)){o=!1;break}}catch(e){console.warn(e)}}return o},compliedConditions=(e,t)=>{if(!e[NODE_CONDS_KEY]||!Array.isArray(e[NODE_CONDS_KEY])||!e[NODE_CONDS_KEY].length)return!0;for(const{cond:i}of e[NODE_CONDS_KEY])if(i&&compiledCondition(i,t))return!0;return!1},updateNode=(e,t)=>{if(isPage(e)||isPageFragment(e)){const i=t.items?.findIndex(t=>t.id===e.id);t.items.splice(i,1,e)}else replaceChildNode(e,t.items)},createIteratorContentData=(e,t,i=[],o={})=>{const n={...o,[t]:{}};let r=cloneDeep(o[t]),s=n[t];return i.forEach((t,o)=>{Object.assign(s,r),o!==i.length-1?(Array.isArray(r[t])&&(r[t]={},s[t]={}),r=r[t],s=s[t]):s[t]=e}),n},compliedDataSourceField=(t,i)=>{const[o,...n]=t,r=o.indexOf(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX);if(r>-1){const s=i[o.substring(r+DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX.length)];if(!s)return t;try{return getValueByKeyPath(n.join("."),s)}catch(e){return t}}return t},template=(t,i)=>t.replace(dataSourceTemplateRegExp,(t,o)=>{try{return getValueByKeyPath(o,i)}catch(e){return t}}),compiledNodeField=(e,t)=>"string"==typeof e?template(e,t):e?.isBindDataSource&&e.dataSourceId?t[e.dataSourceId]:e?.isBindDataSourceField&&e.dataSourceId&&"string"==typeof e.template?template(e.template,t[e.dataSourceId]):Array.isArray(e)&&"string"==typeof e[0]?compliedDataSourceField(e,t):e,compliedIteratorItem=({compile:e,dsId:t,item:i,deps:o,condDeps:n,inEditor:r,ctxData:s})=>{const{items:a,...l}=i,c=cloneDeep(l);return n[l.id]?.keys.length&&!r&&(c.condResult=compliedConditions(l,s)),Array.isArray(a)&&a.length?c.items=a.map(i=>compliedIteratorItem({compile:e,dsId:t,item:i,deps:o,condDeps:n,inEditor:r,ctxData:s})):a&&(c.items=a),o[c.id]?.keys.length?compiledNode(e,c,{[t]:o},t):c};class DataSourceManager extends EventEmitter$3{static dataSourceClassMap=new Map([["base",DataSource$1],["http",HttpDataSource]]);static ObservedDataClass=SimpleObservedData;static waitInitSchemaList=new Map;static register(e,t){DataSourceManager.dataSourceClassMap.set(e,t),DataSourceManager.waitInitSchemaList?.forEach((t,i)=>{const o=t[e]||[];for(let e=o.shift();e;e=o.shift()){const t=i.addDataSource(e);t&&i.init(t)}})}static getDataSourceClass(e){return DataSourceManager.dataSourceClassMap.get(e)}static clearDataSourceClass(){DataSourceManager.dataSourceClassMap.clear(),DataSourceManager.dataSourceClassMap.set("base",DataSource$1),DataSourceManager.dataSourceClassMap.set("http",HttpDataSource)}static registerObservedData(e){DataSourceManager.ObservedDataClass=e}app;dataSourceMap=new Map;data={};initialData={};useMock=!1;constructor({app:e,useMock:t,initialData:i}){super(),DataSourceManager.waitInitSchemaList.set(this,{}),this.app=e,this.useMock=t,i&&(this.initialData=i,this.data={...i}),e.dsl?.dataSources?.forEach(e=>{this.addDataSource(e)}),this.isAllDataSourceRegistered()?this.callDsInit():this.on("registered-all",()=>{this.callDsInit()})}async init(e){if(!(e.isInit||this.app.jsEngine&&e.schema.disabledInitInJsEngine?.includes(this.app.jsEngine))){for(const t of e.methods){if("function"!=typeof t.content)return;"beforeInit"===t.timing&&await t.content({params:{},dataSource:e,app:this.app})}await e.init();for(const t of e.methods){if("function"!=typeof t.content)return;"afterInit"===t.timing&&await t.content({params:{},dataSource:e,app:this.app})}}}get(e){return this.dataSourceMap.get(e)}addDataSource(e){if(!e)return;const t=DataSourceManager.dataSourceClassMap.get(e.type);if(!t){let t=DataSourceManager.waitInitSchemaList.get(this);return t||(t={},DataSourceManager.waitInitSchemaList.set(this,t)),t[e.type]?t[e.type].push(e):t[e.type]=[e],void(this.data[e.id]=this.initialData[e.id]??getDefaultValueFromFields(e.fields))}const i=new t({app:this.app,schema:e,request:this.app.request,useMock:this.useMock,initialData:this.initialData[e.id],ObservedDataClass:DataSourceManager.ObservedDataClass});return this.dataSourceMap.set(e.id,i),this.data[i.id]=i.data,i.on("change",e=>{this.setData(i,e)}),this.isAllDataSourceRegistered()&&this.emit("registered-all"),i}setData(e,t){this.data[e.id]=e.data,this.emit("change",e.id,t)}removeDataSource(e){this.get(e)?.destroy(),delete this.data[e],this.dataSourceMap.delete(e)}updateSchema(e){for(const t of e){if(!this.get(t.id))return;this.removeDataSource(t.id)}for(const t of e){this.addDataSource(cloneDeep(t));const e=this.get(t.id);e&&this.init(e)}}compiledNode(e,t,i=!1){if(e[NODE_DISABLE_DATA_SOURCE_KEY])return e;const{items:o,...n}=e,r=cloneDeep(n);return o&&(r.items=Array.isArray(o)&&i?o.map(e=>this.compiledNode(e,t,i)):o),!1===n.condResult||!1===n.visible?r:compiledNode(e=>compiledNodeField(e,this.data),r,this.app.dsl?.dataSourceDeps||{},t)}compliedConds(e){return!!e[NODE_DISABLE_DATA_SOURCE_KEY]||compliedConditions(e,this.data)}compliedIteratorItemConds(e,t,i=[]){const[o,...n]=i,r=this.get(o);if(!r)return!0;const s=createIteratorContentData(e,r.id,n,this.data);return compliedConditions(t,s)}compliedIteratorItems(e,t,i=[]){const[o,...n]=i,r=this.get(o);if(!r)return t;const s="editor"===this.app.platform,a=createIteratorContentData(e,r.id,n,this.data),{deps:l={},condDeps:c={}}=getDeps(r.schema,t,s);return Object.keys(l).length||Object.keys(c).length?t.map(e=>compliedIteratorItem({compile:e=>compiledNodeField(e,a),dsId:r.id,item:e,deps:l,condDeps:c,inEditor:s,ctxData:a})):t}isAllDataSourceRegistered(){return!this.app.dsl?.dataSources?.length||this.dataSourceMap.size===this.app.dsl.dataSources.length}destroy(){this.removeAllListeners(),this.data={},this.initialData={},this.dataSourceMap.forEach(e=>{e.destroy()}),this.dataSourceMap.clear(),DataSourceManager.waitInitSchemaList.delete(this)}onDataChange(e,t,i){return this.get(e)?.onDataChange(t,i)}offDataChange(e,t,i){return this.get(e)?.offDataChange(t,i)}callDsInit(){const e=Array.from(this.dataSourceMap);"function"==typeof Promise.allSettled?Promise.allSettled(e.map(([,e])=>this.init(e))).then(t=>{const i={},o={};t.forEach((t,n)=>{const r=e[n][0];"fulfilled"===t.status?this.data[r]?i[r]=this.data[r]:delete i[r]:"rejected"===t.status&&(delete i[r],o[r]=t.reason)}),this.emit("init",i,o)}):Promise.all(e.map(([,e])=>this.init(e))).then(()=>{this.emit("init",this.data)}).catch(()=>{this.emit("init",this.data)})}}const createDataSourceManager=(e,t,i)=>{const{dsl:o,platform:n}=e;if(!o?.dataSources)return;const r=new DataSourceManager({app:e,useMock:t,initialData:i});return o.dataSources&&o.dataSourceCondDeps&&"editor"!==n&&getNodes(getDepNodeIds(o.dataSourceCondDeps),o.items).forEach(e=>{e.condResult=r.compliedConds(e),updateNode(e,o)}),o.dataSources&&o.dataSourceDeps&&getNodes(getDepNodeIds(o.dataSourceDeps),o.items).forEach(e=>{updateNode(r.compiledNode(e),o)}),"nodejs"===e.jsEngine||r.on("change",(t,i)=>{const n=o.dataSourceDeps?.[t]||{},s=o.dataSourceCondDeps?.[t]||{},a=union([...Object.keys(s),...Object.keys(n)]);for(const l of o.items)if("editor"===e.platform||isPage(l)&&l.id===e.page?.data.id||isPageFragment(l)){const o=getNodes(a,[l]).map(t=>{"editor"!==e.platform&&(t.condResult=r.compliedConds(t));const i=r.compiledNode(t);if("function"==typeof e.page?.setData){isPage(i)?e.page.setData(i):l.id!==e.page.data.id||e.page.instance||replaceChildNode(i,[e.page.data]),e.getNode(t.id)?.setData(i);for(const[,t]of e.pageFragments)t.data.id===i.id?t.setData(i):t.data.id===l.id&&(t.getNode(i.id)?.setData(i),t.instance||replaceChildNode(i,[t.data]))}return i});o.length&&r.emit("update-data",o,t,i,l.id)}}),r};var DepTargetType=(e=>(e.DEFAULT="default",e.CODE_BLOCK="code-block",e.DATA_SOURCE="data-source",e.DATA_SOURCE_METHOD="data-source-method",e.DATA_SOURCE_COND="data-source-cond",e))(DepTargetType||{});class Target{isTarget;id;name;type=DepTargetType.DEFAULT;deps={};isCollectByDefault;constructor(e){this.isTarget=e.isTarget,this.id=e.id,this.name=e.name,this.isCollectByDefault=e.isCollectByDefault??!0,e.type&&(this.type=e.type),e.initialDeps&&(this.deps=e.initialDeps)}updateDep({id:e,name:t,key:i,data:o}){const n=this.deps[e]||{name:t,keys:[]};n.name=t,n.data=o,this.deps[e]=n,-1===n.keys.indexOf(i)&&n.keys.push(i)}removeDep(e,t){if(void 0===e)return void Object.keys(this.deps).forEach(e=>{delete this.deps[e]});const i=this.deps[e];if(i)if(t){const o=i.keys.indexOf(t);i.keys.splice(o,1),0===i.keys.length&&delete this.deps[e]}else delete this.deps[e]}hasDep(e,t){const i=this.deps[e];return Boolean(i?.keys.find(e=>e===t))}destroy(){this.deps={}}}const createCodeBlockTarget=(e,t,i={})=>new Target({type:DepTargetType.CODE_BLOCK,id:e,initialDeps:i,name:t.name,isTarget:(t,i)=>{if(e===i)return!0;if(i?.hookType===HookType.CODE&&Array.isArray(i.hookData)){const t=i.hookData.findIndex(t=>t.codeId===e);return Boolean(t>-1)}return!1}}),isIncludeArrayField=(e,t)=>{let i=t;return e.some((t,o)=>{const n=i.find(({name:e})=>e===t);return i=n?.fields||[],n&&"array"===n.type&&/^(?!\d+$).*$/.test(`${e[o+1]}`)&&o{const o=e.match(dataSourceTemplateRegExp)||[];if(o.length<=0)return!1;const n=[],r=[];return o.forEach(e=>{const i=e.substring(2,e.length-1),o=getKeysArray(i),s=o.shift();s&&s===t.id&&(isIncludeArrayField(o,t.fields)?n.push(e):r.push(e))}),i?n.length>0:r.length>0},isSpecificDataSourceTemplate=(e,t)=>e?.isBindDataSourceField&&e.dataSourceId&&e.dataSourceId===t&&"string"==typeof e.template,isUseDataSourceField=(e,t)=>{if(!Array.isArray(e)||"string"!=typeof e[0])return!1;const[i]=e,o=i.indexOf(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX);if(-1===o)return!1;return i.substring(o+DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX.length)===t},isDataSourceTarget=(e,t,i,o=!1)=>{if(!i||!["string","object"].includes(typeof i))return!1;if(`${t}`.startsWith(NODE_CONDS_KEY))return!1;if("string"==typeof i)return isDataSourceTemplate(i,e,o);if(isObject$4(i)&&i?.isBindDataSource&&i.dataSourceId&&i.dataSourceId===e.id)return!0;if(isSpecificDataSourceTemplate(i,e.id))return!0;if(isUseDataSourceField(i,e.id)){const[,...t]=i,n=isIncludeArrayField(t,e.fields);return o?n:!n}return!1},isDataSourceCondTarget=(e,t,i,o=!1)=>{if(!Array.isArray(i)||!e)return!1;const[n,...r]=i;if(n!==e.id||!`${t}`.startsWith(NODE_CONDS_KEY))return!1;if(e.fields?.find(e=>e.name===r[0])){const t=isIncludeArrayField(r,e.fields);return o?t:!t}return!1},createDataSourceTarget=(e,t={})=>new Target({type:DepTargetType.DATA_SOURCE,id:e.id,initialDeps:t,isTarget:(t,i)=>isDataSourceTarget(e,t,i)}),createDataSourceCondTarget=(e,t={})=>new Target({type:DepTargetType.DATA_SOURCE_COND,id:e.id,initialDeps:t,isTarget:(t,i)=>isDataSourceCondTarget(e,t,i)}),createDataSourceMethodTarget=(e,t={})=>new Target({type:DepTargetType.DATA_SOURCE_METHOD,id:e.id,initialDeps:t,isTarget:(t,i)=>{if(!Array.isArray(i))return!1;const[o,n]=i;return!(!n||o!==e.id)&&(!!e.methods?.find(e=>e.name===n)||!e.fields?.find(e=>e.name===n))}}),traverseTarget=(e,t,i)=>{for(const o of Object.values(e))for(const e of Object.values(o))i&&e.type!==i||t(e)};class Watcher{targetsList={};childrenProp="items";idProp="id";nameProp="name";constructor(e){e?.initialTargets&&(this.targetsList=e.initialTargets),e?.childrenProp&&(this.childrenProp=e.childrenProp)}getTargetsList(){return this.targetsList}getTargets(e=DepTargetType.DEFAULT){return this.targetsList[e]||{}}addTarget(e){const t=this.getTargets(e.type)||{};this.targetsList[e.type]=t,t[e.id]=e}getTarget(e,t=DepTargetType.DEFAULT){return this.getTargets(t)[e]}hasTarget(e,t=DepTargetType.DEFAULT){return Boolean(this.getTarget(e,t))}hasSpecifiedTypeTarget(e=DepTargetType.DEFAULT){return Object.keys(this.getTargets(e)).length>0}removeTarget(e,t=DepTargetType.DEFAULT){const i=this.getTargets(t);i[e]&&(i[e].destroy(),delete i[e])}removeTargets(e=DepTargetType.DEFAULT){const t=this.targetsList[e];if(t){for(const e of Object.values(t))e.destroy();delete this.targetsList[e]}}clearTargets(){for(const e of Object.keys(this.targetsList))delete this.targetsList[e]}collect(e,t={},i=!1,o){this.collectByCallback(e,o,({node:e,target:o})=>{this.removeTargetDep(o,e),this.collectItem(e,o,t,i)})}collectByCallback(e,t,i){traverseTarget(this.targetsList,o=>{if(t||o.isCollectByDefault)for(const t of e)i({node:t,target:o})},t)}clear(e,t){let{targetsList:i}=this;t&&(i={[t]:this.getTargets(t)});const o=[];traverseTarget(i,t=>{if(e)for(const i of e)t.removeDep(i[this.idProp]),Array.isArray(i[this.childrenProp])&&i[this.childrenProp].length&&!o.includes(i[this.idProp])&&(o.push(i[this.idProp]),this.clear(i[this.childrenProp]));else t.removeDep()})}clearByType(e,t){this.clear(t,e)}collectItem(e,t,i={},o=!1){const n=[DepTargetType.DATA_SOURCE,DepTargetType.DATA_SOURCE_COND,DepTargetType.DATA_SOURCE_METHOD];if(e[NODE_DISABLE_DATA_SOURCE_KEY]&&n.includes(t.type))return;if(e[NODE_DISABLE_CODE_BLOCK_KEY]&&t.type===DepTargetType.CODE_BLOCK)return;const r=(n,s="")=>{const a=(n,a)=>{const l=n===this.childrenProp,c=s?`${s}.${n}`:n;if(t.isTarget(c,a))t.updateDep({id:e[this.idProp],name:`${e[this.nameProp]||e[this.idProp]}`,data:i,key:c});else if(!l&&Array.isArray(a))for(let e=0,t=a.length;e=0,this.isIpad=/(iPad).*OS\s([\d_]+)/.test(e),this.isIos=this.isIphone||this.isIpad,this.isAndroid=e.indexOf("Android")>=0,this.isAndroidPad=this.isAndroid&&e.indexOf("Mobile")<0,this.isMac=e.indexOf("Macintosh")>=0,this.isWin=e.indexOf("Windows")>=0,this.isMqq=/QQ\/([\d.]+)/.test(e),this.isWechat=e.indexOf("MicroMessenger")>=0&&e.indexOf("wxwork")<0,this.isOpenHarmony=e.includes("OpenHarmony"),this.isWeb=!(this.isIos||this.isAndroid||this.isOpenHarmony||/(WebOS|BlackBerry)/.test(e)),Object.entries(t).forEach(([e,t])=>{this[e]=t}))}}class FlowState{isAbort;constructor(){this.isAbort=!1}abort(){this.isAbort=!0}reset(){this.isAbort=!1}}class EventHelper extends eventsExports.EventEmitter{app;eventQueue=[];nodeEventList=new Map;dataSourceEventList=new Map;beforeEventHandler;afterEventHandler;constructor({app:e,beforeEventHandler:t,afterEventHandler:i}){super(),this.beforeEventHandler=t,this.afterEventHandler=i,this.app=e}destroy(){this.removeNodeEvents(),this.removeAllListeners(),this.nodeEventList.clear(),this.dataSourceEventList.clear()}bindNodeEvents(e){e.events?.forEach((t,i)=>{if(!t.name)return;let o=`${t.name}_${e.data.id}`;const n=t.name.split(".");n.length>1&&(o=`${n[1]}_${n[0]}`);let r=Symbol(o);e.eventKeys.has(o)?r=e.eventKeys.get(o):e.eventKeys.set(o,r);const s=(t,...o)=>{this.eventHandler(i,e,o)};this.nodeEventList.set(s,r),this.on(r,s)})}removeNodeEvents(){Array.from(this.nodeEventList.keys()).forEach(e=>{const t=this.nodeEventList.get(e);t&&this.off(t,e)}),this.nodeEventList.clear()}bindDataSourceEvents(e){this.removeDataSourceEvents(e),e.forEach(e=>{const t=this.dataSourceEventList.get(e.id)??new Map;(e.schema.events||[]).forEach(i=>{const[o,...n]=i.name?.split(".")||[];if(!o)return;const r=(...t)=>{this.eventHandler(i,e,t)};t.set(i.name,r),o===DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX?e?.onDataChange(n.join("."),r):e.on(o,r)}),this.dataSourceEventList.set(e.id,t)})}removeDataSourceEvents(e){this.dataSourceEventList.size&&(e.forEach(e=>{const t=this.dataSourceEventList.get(e.id);t&&Array.from(t.keys()).forEach(i=>{const[o,...n]=i.split(".");o===DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX?e.offDataChange(n.join("."),t.get(i)):e.off(o,t.get(i))})}),this.dataSourceEventList.clear())}getEventQueue(){return this.eventQueue}addEventToQueue(e){this.eventQueue.push(e)}async eventHandler(t,i,o){const n="number"==typeof t?i.events[t]:t;if("function"==typeof this.beforeEventHandler&&this.beforeEventHandler({eventConfig:n,source:i,args:o}),has(n,"actions")){const e=new FlowState,{actions:r}=n;for(let n=0;n1?e**2/o:e}resizeHandler=()=>{clearTimeout(this.tid),this.tid=setTimeout(()=>{this.refreshRem(),this.tid=void 0},300)};pageshowHandler=e=>{e.persisted&&this.resizeHandler()}}let Store$1=class{data;constructor({initialData:e={}}={}){this.data=e}set(e,t){this.data[e]=t}get(e){return this.data[e]}},Node$3=class extends eventsExports.EventEmitter{data;style;events=[];instance=null;page;parent;app;store;eventKeys=new Map;eventQueue=[];constructor(e){super(),this.store=new Store$1({initialData:e.app.nodeStoreInitialData?.()||{}}),this.page=e.page,this.parent=e.parent,this.app=e.app,this.setData(e.config),this.listenLifeSafe()}setData(t){this.data=t;const{events:i,style:o}=t;this.events=i||[],this.style=o||{};try{!this.instance||Object.isFrozen(this.instance)||!1===Object.getOwnPropertyDescriptor(this.instance,"config")?.writable||this.instance.__isVue||(this.instance.config=t)}catch(e){}this.emit("update-data",t)}addEventToQueue(e){this.eventQueue.push(e)}registerMethod(e){if(e){this.instance||(this.instance={});for(const[t,i]of Object.entries(e))"function"==typeof i&&(this.instance[t]=i)}}setInstance(e){this.instance=e}async runHookCode(e,t){if("function"==typeof this.data[e])return void(await this.data[e](this));const i=this.data[e];if(i?.hookType===HookType.CODE)for(const o of i.hookData){const{codeType:e=HookCodeType.CODE,codeId:i,params:n={}}=o;let r;const s={app:this.app,node:this,params:t||n};if(e===HookCodeType.CODE&&"string"==typeof i&&this.app.codeDsl?.[i])r=this.app.codeDsl[i].content;else if(e===HookCodeType.DATA_SOURCE_METHOD&&Array.isArray(i)&&i.length>1){const e=this.app.dataSourceManager?.get(i[0]);r=e?.methods.find(e=>e.name===i[1])?.content,s.dataSource=e}r&&"function"==typeof r&&await r(s)}}destroy(){this.eventQueue.length=0,this.instance=null,this.events=[],this.style={},this.removeAllListeners()}listenLifeSafe(){this.once("created",e=>{this.once("destroy",()=>{this.instance=null,!0!==this.data[NODE_DISABLE_CODE_BLOCK_KEY]&&this.runHookCode("destroy"),this.listenLifeSafe()}),e&&this.setInstance(e),!0!==this.data[NODE_DISABLE_CODE_BLOCK_KEY]&&this.runHookCode("created")}),this.once("mounted",e=>{(async()=>{e&&this.setInstance(e);for(let t=this.eventQueue.shift();t;t=this.eventQueue.shift())"function"==typeof e[t.method]&&await e[t.method](t.fromCpt,...t.args);if(this.app.eventHelper){for(const t of this.app.eventHelper.getEventQueue())for(const[,i]of this.app.pageFragments){const o=i.getNode(t.toId);o&&o===this&&("function"==typeof e[t.method]&&await e[t.method](t.fromCpt,...t.args),t.handled=!0)}this.app.eventHelper.eventQueue=this.app.eventHelper.getEventQueue().filter(e=>!e.handled)}!0!==this.data[NODE_DISABLE_CODE_BLOCK_KEY]&&this.runHookCode("mounted")})()})}};class IteratorContainer extends Node$3{nodes=[];setData(e){this.resetNodes(),super.setData(e)}resetNodes(){this.nodes?.forEach(e=>{e.forEach(e=>{e.destroy()})}),this.nodes=[]}initNode(e,t,i){if(i.has(e.id)&&i.get(e.id)?.destroy(),e.type&&this.app.iteratorContainerType.has(e.type)){const o=new IteratorContainer({config:e,parent:t,page:this.page,app:this.app});return i.set(e.id,o),void this.app.eventHelper?.bindNodeEvents(o)}const o=new Node$3({config:e,parent:t,page:this.page,app:this.app});if(this.app.eventHelper?.bindNodeEvents(o),i.set(e.id,o),e.type&&this.app.pageFragmentContainerType.has(e.type)&&e.pageFragmentId){const t=this.app.dsl?.items?.find(t=>t.id===e.pageFragmentId);t&&(e.items=[t])}e.items?.forEach(e=>{this.initNode(e,o,i)})}setNodes(e,t){const i=this.nodes[t]||new Map;e.forEach(e=>{this.initNode(e,this,i)}),this.nodes[t]=i}getNode(e,t){return this.nodes[t]?.get(e)}destroy(){super.destroy(),this.resetNodes()}}class Page extends Node$3{nodes=new Map;constructor(e){super(e),this.setNode(e.config.id,this),e.config.items.forEach(e=>{this.initNode(e,this)})}initNode(e,t){if(e.type&&this.app.iteratorContainerType.has(e.type))return void this.setNode(e.id,new IteratorContainer({config:e,parent:t,page:this,app:this.app}));const i=new(e.type&&App$1.nodeClassMap.get(e.type)||Node$3)({config:e,parent:t,page:this,app:this.app});if(this.setNode(e.id,i),e.type&&this.app.pageFragmentContainerType.has(e.type)&&e.pageFragmentId){const t=this.app.dsl?.items?.find(t=>t.id===e.pageFragmentId);t&&this.app.pageFragments.set(e.id,new Page({config:t,app:this.app}))}e.items?.forEach(e=>{this.initNode(e,i)})}getNode(e,{iteratorContainerId:t,iteratorIndex:i,pageFragmentContainerId:o}={}){if(this.nodes.has(e))return this.nodes.get(e);if(o)return this.app.pageFragments.get(o)?.getNode(e,{iteratorContainerId:t,iteratorIndex:i});if(Array.isArray(t)&&t.length&&Array.isArray(i)){let o=this.nodes.get(t[0]);for(let e=1,n=t.length;e{e!==this&&e.destroy()}),this.nodes.clear(),super.destroy()}}const style2Obj=e=>{if("string"!=typeof e)return e;const t={};return e.split(";").forEach(e=>{if(!e)return;const i=e.split(":");let o=i.shift(),n=i.join(":");o&&(o=o.replace(/^\s*/,"").replace(/\s*$/,""),n=n.replace(/^\s*/,"").replace(/\s*$/,""),o=o.split("-").map((e,t)=>t>0?`${e[0].toUpperCase()}${e.substr(1)}`:e).join(""),t[o]=n)}),t},fillBackgroundImage=e=>!e||/^url/.test(e)||/^linear-gradient/.test(e)?e:`url(${e})`,getTransform=(e,t)=>{if(!e)return[];const i=Object.entries(e).map(([e,i])=>i.trim()?("rotate"===e&&isNumber$3(i)&&(i=`${i}deg`),"hippy"!==t?`${e}(${i})`:{[e]:i}):"");if("hippy"===t)return i;const o=i.join(" ");return o.trim()?o:"none"},transformStyle=(e,t)=>{if(!e)return{};let i={};const o={};i="string"==typeof e?style2Obj(e):{...e};const n="hippy"===t,r=["zIndex","opacity","fontWeight"];return Object.entries(i).forEach(([e,i])=>{"scale"===e&&!o.transform&&n?o.transform=[{scale:i}]:"backgroundImage"!==e||n?"transform"===e&&"string"!=typeof i?o[e]=getTransform(i,t):!r.includes(e)&&i&&/^[-]?[0-9]*[.]?[0-9]*$/.test(i)?o[e]=n?i:i/100+"rem":o[e]=i:i&&(o[e]=fillBackgroundImage(i))}),o};let App$1=class t extends eventsExports.EventEmitter{static nodeClassMap=new Map;static registerNode(e,i){t.nodeClassMap.set(e,i)}env;dsl;codeDsl;dataSourceManager;page;pageFragments=new Map;useMock=!1;platform="mobile";jsEngine="browser";components=new Map;pageFragmentContainerType=new Set(["page-fragment-container"]);iteratorContainerType=new Set(["iterator-container"]);request;transformStyle;eventHelper;errorHandler;nodeStoreInitialData;flexible;constructor(e){if(super(),e.env?this.setEnv(e.env):this.setEnv(e.ua),this.errorHandler=e.errorHandler,this.codeDsl=e.config?.codeBlocks,e.platform&&(this.platform=e.platform),e.jsEngine&&(this.jsEngine=e.jsEngine),e.nodeStoreInitialData&&(this.nodeStoreInitialData=e.nodeStoreInitialData),e.pageFragmentContainerType){(Array.isArray(e.pageFragmentContainerType)?e.pageFragmentContainerType:[e.pageFragmentContainerType]).forEach(e=>{this.pageFragmentContainerType.add(e)})}if(e.iteratorContainerType){(Array.isArray(e.iteratorContainerType)?e.iteratorContainerType:[e.iteratorContainerType]).forEach(e=>{this.iteratorContainerType.add(e)})}"boolean"==typeof e.useMock&&(this.useMock=e.useMock),"browser"!==this.jsEngine||e.disabledFlexible||(this.flexible=new Flexible({designWidth:e.designWidth})),"editor"!==this.platform&&(this.eventHelper=new EventHelper({app:this,beforeEventHandler:e.beforeEventHandler,afterEventHandler:e.afterEventHandler})),this.transformStyle=e.transformStyle||(e=>transformStyle(e,this.jsEngine)),e.request&&(this.request=e.request),e.config&&this.setConfig(e.config,e.curPage,e.dataSourceManagerInitialData)}setEnv(e){this.env=e&&"string"!=typeof e?e:new Env(e)}setDesignWidth(e){this.flexible?.setDesignWidth(e)}setConfig(e,t,i){this.dsl=e,!t&&e.items.length&&(t=e.items[0].id),this.dataSourceManager&&this.dataSourceManager.destroy(),this.dataSourceManager=createDataSourceManager(this,this.useMock,i),this.codeDsl=e.codeBlocks;const o=t||this.page?.data?.id;if(super.emit("dsl-change",{dsl:e,curPage:o}),this.pageFragments.forEach(e=>{e.destroy()}),this.pageFragments.clear(),this.setPage(o),this.dataSourceManager){const e=Array.from(this.dataSourceManager.dataSourceMap.values());this.eventHelper?.bindDataSourceEvents(e)}}setPage(e){const t=this.dsl?.items.find(t=>`${t.id}`==`${e}`);if(!t)return this.deletePage(),void super.emit("page-change");if(this.page){if(t===this.page.data)return;this.page.destroy()}if(this.page=new Page({config:t,app:this}),this.eventHelper){this.eventHelper.removeNodeEvents();for(const[,e]of this.page.nodes)this.eventHelper.bindNodeEvents(e);for(const[,e]of this.pageFragments)for(const[,t]of e.nodes)this.eventHelper.bindNodeEvents(t)}super.emit("page-change",this.page)}deletePage(){this.page?.destroy(),this.eventHelper?.removeNodeEvents(),this.page=void 0}getPage(e){return e?this.page&&`${this.page.data.id}`==`${e}`?this.page:void 0:this.page}getNode(e,t){return this.page?.getNode(e,t)}registerComponent(e,t){this.components.set(e,t)}unregisterComponent(e){this.components.delete(e)}resolveComponent(e){return this.components.get(e)}emit(e,...t){const[i,...o]=t;return this.eventHelper&&i instanceof Node$3&&i.data?.id&&i.eventKeys.has(`${String(e)}_${i.data.id}`)?this.eventHelper?.emit(i.eventKeys.get(`${String(e)}_${i.data.id}`),i,...o):super.emit(e,...t)}async runCode(t,i,o,n){if(!t||isEmpty$3(this.codeDsl))return;const r=this.codeDsl?.[t]?.content;if("function"==typeof r)try{await r({app:this,params:i,eventParams:o,flowState:n})}catch(e){if(!this.errorHandler)throw e;this.errorHandler(e,void 0,{type:"run-code",codeId:t,params:i,eventParams:o,flowState:n})}}async runDataSourceMethod(t,i,o,n,r){if(!t||!i)return;const s=this.dataSourceManager?.get(t);if(s)try{const e=(s.methods||[]).find(e=>e.name===i);e&&"function"==typeof e.content?await e.content({app:this,params:o,dataSource:s,eventParams:n,flowState:r}):"function"==typeof s[i]&&await s[i]()}catch(e){if(!this.errorHandler)throw e;this.errorHandler(e,s,{type:"data-source-method",params:o,eventParams:n,flowState:r})}}destroy(){this.removeAllListeners(),this.page?.destroy(),this.page=void 0,this.pageFragments.forEach(e=>{e.destroy()}),this.pageFragments.clear(),this.flexible?.destroy(),this.flexible=void 0,this.eventHelper?.destroy(),this.dsl=void 0,this.dataSourceManager?.destroy(),this.dataSourceManager=void 0,this.codeDsl=void 0,this.components.clear(),this.nodeStoreInitialData=void 0}};function prefixNames(e){for(var t=[],i=1;i=0;--o)if(t(e[o],o,e))return o;return i}function findLast(e,t,i){var o=findLastIndex(e,t);return o>-1?e[o]:i}function find$1(e,t,i){var o=findIndex(e,t);return o>-1?e[o]:i}var requestAnimationFrame$1=function(){var e=now(),t=IS_WINDOW&&(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame);return t?t.bind(window):function(t){var i=now();return setTimeout(function(){t(i-e)},1e3/60)}}(),cancelAnimationFrame=function(){var e=IS_WINDOW&&(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame);return e?e.bind(window):function(e){clearTimeout(e)}}();function getKeys(e){return Object.keys(e)}function getValues(e){return getKeys(e).map(function(t){return e[t]})}function sortOrders(e,t){void 0===t&&(t=[]),e.sort(function(e,i){var o=t.indexOf(e),n=t.indexOf(i);return-1===n&&-1===o?0:-1===o?1:-1===n?-1:o-n})}function convertUnitSize(e,t){var i=splitUnit(e),o=i.value,n=i.unit;if(isObject$3(t)){var r=t[n];if(r){if(isFunction$3(r))return r(o);if(DEFAULT_UNIT_PRESETS[n])return DEFAULT_UNIT_PRESETS[n](o,r)}}else if("%"===n)return o*t/100;return DEFAULT_UNIT_PRESETS[n]?DEFAULT_UNIT_PRESETS[n](o):o}function between(e,t,i){return Math.max(t,Math.min(e,i))}function checkBoundSize(e,t,i,o){return void 0===o&&(o=e[0]/e[1]),[[throttle(t[0],TINY_NUM$1),throttle(t[0]/o,TINY_NUM$1)],[throttle(t[1]*o,TINY_NUM$1),throttle(t[1],TINY_NUM$1)]].filter(function(e){return e.every(function(e,o){var n=t[o],r=throttle(n,TINY_NUM$1);return i?e<=n||e<=r:e>=n||e>=r})})[0]||e}function calculateBoundSize(e,t,i,o){if(!o)return e.map(function(e,o){return between(e,t[o],i[o])});var n=e[0],r=e[1],s=!0===o?n/r:o,a=checkBoundSize(e,t,!1,s),l=a[0],c=a[1],d=checkBoundSize(e,i,!0,s),u=d[0],h=d[1];return nu||r>h)&&(n=u,r=h),[n,r]}function sum(e){for(var t=0,i=e.length-1;i>=0;--i)t+=e[i];return t}function average(e){for(var t=e.length,i=0,o=t-1;o>=0;--o)i+=e[o];return t?i/t:0}function getRad$1(e,t){var i=t[0]-e[0],o=t[1]-e[1],n=Math.atan2(o,i);return n>=0?n:n+2*Math.PI}function getCenterPoint(e){return[0,1].map(function(t){return average(e.map(function(e){return e[t]}))})}function getShapeDirection(e){var t=getCenterPoint(e),i=getRad$1(t,e[0]),o=getRad$1(t,e[1]);return io&&o-i<-Math.PI?1:-1}function getDist$2(e,t){return Math.sqrt(Math.pow((t?t[0]:0)-e[0],2)+Math.pow((t?t[1]:0)-e[1],2))}function throttle(e,t){if(!t)return e;var i=1/t;return Math.round(e/t)/i}function throttleArray(e,t){return e.forEach(function(i,o){e[o]=throttle(e[o],t)}),e}function counter(e){for(var t=[],i=0;is&&e.push(t),e},[]).forEach(function(i){renderProviders(i,i._ps,[i.o],e,t,!0)}),!1;r.o=i,r.ss(o);var c=r.ps;return isString$2(i)||(r.ps=i.props,r.ref=i.ref),setCurrentInstance(this),r.r(e,t,r.b?c:{},o),!0},t.md=function(){this.rr()},t.ss=function(){},t.ud=function(){this.rr()},t.rr=function(){var e=this,t=e.ref,i=e.fr;t&&t(i?i.current:e.b)},e}();function getCurrentInstance(){return Object.__CROACT_CURRENT_INSTNACE__}function getHooksIndex(){return hooksIndex}function setHooksInex(e){hooksIndex=e}function setCurrentInstance(e){return Object.__CROACT_CURRENT_INSTNACE__=e,hooksIndex=0,e}var Component$1=function(){function e(e,t){void 0===e&&(e={}),this.props=e,this.context=t,this.state={},this.$_timer=0,this.$_state={},this.$_subs=[],this.$_cs={}}var t=e.prototype;return t.render=function(){return null},t.shouldComponentUpdate=function(e,t){return this.props!==e||this.state!==t},t.setState=function(e,t,i){var o=this;o.$_timer||(o.$_state={}),clearTimeout(o.$_timer),o.$_timer=0,o.$_state=__assign$c(__assign$c({},o.$_state),e),i?o.$_setState(t,i):o.$_timer=window.setTimeout(function(){o.$_timer=0,o.$_setState(t,i)})},t.forceUpdate=function(e){this.setState({},e,!0)},t.componentDidMount=function(){},t.componentDidUpdate=function(e,t){},t.componentWillUnmount=function(){},t.$_setState=function(e,t){var i=[],o=this.$_p;renderProviders(o.c,[o],[o.o],i,o._cs,__assign$c(__assign$c({},this.state),this.$_state),t)&&(e&&i.push(e),executeHooks(i),setCurrentInstance(null))},e}(),PureComponent=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends$b(t,e),t.prototype.shouldComponentUpdate=function(e,t){return isDiff(this.props,e)||isDiff(this.state,t)},t}(Component$1);function createRef(e){var t=function(e){t.current=e};return t.current=e,t}function forwardRef(e){return e._fr=!0,e}function createComponent(e,t,i,o){var n,r;return(null===(n=null==e?void 0:e.prototype)||void 0===n?void 0:n.render)?r=new e(t,i):((r=new Component$1(t,i)).constructor=e,e._fr?(o.fr=createRef(),r.render=function(){return this.constructor(this.props,o.fr)}):r.render=renderFunctionComponent),r.$_p=o,r}var ComponentProvider=function(e){function t(t,i,o,n,r,s,a){void 0===a&&(a={});var l=e.call(this,t,i,o,n,r,s,fillProps(a,t.defaultProps))||this;return l.typ="comp",l._usefs=[],l._uefs=[],l._defs=[],l}__extends$b(t,e);var i=t.prototype;return i.s=function(e,t){var i=this.b;return!1!==i.shouldComponentUpdate(fillProps(e,this.t.defaultProps),t||i.state)},i.r=function(e,t,i){var o,n,r=this,s=r.t;r.ps=fillProps(r.ps,r.t.defaultProps);var a=r.ps,l=!r.b,c=s.contextType,d=r.b,u=null==c?void 0:c.get(r);r._cs=t,l?(d=createComponent(s,a,u,r),r.b=d):(d.props=a,d.context=u);var h=d.state;r._usefs=[],r._uefs=[];var p=d.render();0===(null===(n=null===(o=null==p?void 0:p.props)||void 0===o?void 0:o.children)||void 0===n?void 0:n.length)&&(p.props.children=r.ps.children);var g=__assign$c(__assign$c({},t),d.$_cs);renderProviders(r,r._ps,p?[p]:[],e,g),l?r._uefs.push(function(){null==c||c.register(r),d.componentDidMount()}):r._uefs.push(function(){d.componentDidUpdate(i,h)}),e.push(function(){r._usefs.forEach(function(e){e()}),l?r.md():r.ud(),r._defs=r._uefs.map(function(e){return e()})})},i.ss=function(e){var t=this.b;t&&e&&(t.state=e)},i.un=function(){var e,t=this;t._ps.forEach(function(e){e.un()}),null===(e=t.t.contextType)||void 0===e||e.unregister(t),clearTimeout(t.b.$_timer),t._defs.forEach(function(e){e&&e()}),t.b.componentWillUnmount()},t}(Provider);function diffAttributes(e,t,i){var o=diffObject(getAttributes(e),getAttributes(t)),n=o.added,r=o.removed,s=o.changed;for(var a in n)i.setAttribute(a,n[a]);for(var l in s)i.setAttribute(l,s[l][1]);for(var c in r)i.removeAttribute(c)}function diffEvents(e,t,i){var o=diffObject(e,t),n=o.added,r=o.removed;for(var s in r)i.e(s,!0);for(var a in n)i.e(a)}function diffObject(e,t){var i=getKeys(e),o=getKeys(t),n=diff$1(i,o,function(e){return e}),r={},s={},a={};return n.added.forEach(function(e){var i=o[e];r[i]=t[i]}),n.removed.forEach(function(t){var o=i[t];s[o]=e[o]}),n.maintained.forEach(function(o){var n=o[0],r=i[n],s=[e[r],t[r]];e[r]!==t[r]&&(a[r]=s)}),{added:r,removed:s,changed:a}}function diffStyle(e,t,i){var o=i.style,n=diffObject(e,t),r=n.added,s=n.removed,a=n.changed;for(var l in r){var c=decamelize(l,"-");o.setProperty(c,r[l])}for(var l in a){var d=decamelize(l,"-");o.setProperty(d,a[l][1])}for(var l in s){var u=decamelize(l,"-");o.removeProperty(u)}}function getNativeEventName(e){return e.replace(/^on/g,"").toLowerCase()}var ElementProvider=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.typ="elem",t._es={},t._svg=!1,t}__extends$b(t,e);var i=t.prototype;return i.e=function(e,t){var i=this,o=i._es,n=i.b,r=getNativeEventName(e);t?(removeEvent(n,r,o[e]),delete o[e]):(o[e]=function(t){var o,n;null===(n=(o=i.ps)[e])||void 0===n||n.call(o,t)},addEvent(n,r,o[e]))},i.s=function(e){return isDiff(this.ps,e)},i.r=function(e,t,i){var o,n=this,r=!n.b,s=n.ps;if(r){var a=findContainerNode(n.c),l=!1;l=!(!n._svg&&"svg"!==n.t)||a&&a.ownerSVGElement,n._svg=l;var c=null===(o=n._hyd)||void 0===o?void 0:o.splice(0,1)[0],d=n.t;if(c)n._hyd=[].slice.call(c.children||[]);else{var u=getDocument(a);c=l?u.createElementNS("http://www.w3.org/2000/svg",d):u.createElement(d)}n.b=c}renderProviders(n,n._ps,s.children,e,t);var h=n.b,p=splitProps(i),g=p[0],m=p[1],f=splitProps(s),v=f[0],b=f[1];return diffAttributes(g,v,h),diffEvents(m,b,n),diffStyle(i.style||{},s.style||{},h),e.push(function(){r?n.md():n.ud()}),!0},i.un=function(){var e=this,t=e._es,i=e.b;for(var o in t)removeEvent(i,o,t[o]);e._ps.forEach(function(e){e.un()}),e._es={},e._sel||removeNode(i)},t}(Provider);function findDOMNode(e){if(!e||isNode(e))return e;var t=e.$_p._ps;return t.length?findDOMNode(t[0].b):null}function findNodeProvider(e){if(e){if(e.b&&isNode(e.b))return e;var t=e._ps;return t.length?findNodeProvider(t[0]):null}}function createElement(e,t){for(var i=[],o=2;o0}function renderProvider(e,t,i,o){void 0===i&&(i=t.__CROACT__),void 0===o&&(o={});var n=!!i;i||(i=new ContainerProvider(t));var r=[];return renderProviders(i,i._ps,e?[e]:[],r,o,void 0,void 0),executeHooks(r),setCurrentInstance(null),n||(t.__CROACT__=i),i}function renderSelf(e,t,i){return!i&&e&&((i=new ContainerProvider(t.parentElement))._hyd=[t],i._sel=!0),renderProvider(e,t,i),i}function checkHookInfo(e){var t=getCurrentInstance(),i=t._hs||(t._hs=[]),o=getHooksIndex(),n=i[o];if(setHooksInex(o+1),n){if(!isDiff(n.deps,e.deps))return n.updated=!1,n;i[o]=e}else i.push(e);return e.value=e.func(),e.updated=!0,e}function useMemo(e,t){return checkHookInfo({func:e,deps:t}).value}function useRef(e){return useMemo(function(){return createRef(e)},[])}function useEffect(e,t,i){var o=getCurrentInstance(),n=checkHookInfo({func:function(){return e},deps:t}),r=i?o._usefs:o._uefs;n.updated?r.push(function(){return n.effect&&n.effect(),n.effect=e(),n.effect}):r.push(function(){return n.effect})}function useImperativeHandle(e,t,i){useEffect(function(){null==e||e(t())},i,!0)}function some(e,t){for(var i=e.length,o=0;o-1&&o.splice(n,1)}}else this._events[e]=[];else this._events={};return this},t.once=function(e,t){var i=this;return t&&this._addEvent(e,t,{once:!0}),new Promise(function(t){i._addEvent(e,t,{once:!0})})},t.emit=function(e,t){var i=this;void 0===t&&(t={});var o=this._events[e];if(!e||!o)return!0;var n=!1;return t.eventType=e,t.stop=function(){n=!0},t.currentTarget=this,__spreadArrays$3(o).forEach(function(o){o.listener(t),o.once&&i.off(e,o.listener)}),!n},t.trigger=function(e,t){return void 0===t&&(t={}),this.emit(e,t)},t._addEvent=function(e,t,i){var o=this._events;o[e]=o[e]||[],o[e].push(__assign$a({listener:t},i))},e}(),extendStatics$9=function(e,t){return extendStatics$9=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},extendStatics$9(e,t)}; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */function __extends$9(e,t){function i(){this.constructor=e}extendStatics$9(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var __assign$9=function(){return __assign$9=Object.assign||function(e){for(var t,i=1,o=arguments.length;io-r?(a[1]>s.top||oa[1])&&(l[1]=1),s.left>i-r?(a[0]>s.left||ia[0])&&(l[0]=1),!(!l[0]&&!l[1])&&this._continueDrag(__assign$9(__assign$9({},t),{direction:l,inputEvent:e,isDrag:!0}))}},i.checkScroll=function(e){var t=this;if(this._isWait)return!1;var i=e.prevScrollPos,o=void 0===i?this._prevScrollPos:i,n=e.direction,r=e.throttleTime,s=void 0===r?0:r,a=e.inputEvent,l=e.isDrag,c=this._getScrollPosition(n||[0,0],e),d=c[0]-o[0],u=c[1]-o[1],h=n||[d?Math.abs(d)/d:0,u?Math.abs(u)/u:0];return this._prevScrollPos=c,this._lock=!1,!(!d&&!u)&&(this.emit("move",{offsetX:h[0]?d:0,offsetY:h[1]?u:0,inputEvent:a}),s&&l&&(clearTimeout(this._timer),this._timer=window.setTimeout(function(){t._continueDrag(e)},s)),!0)},i.dragEnd=function(){this._flag=!1,this._lock=!1,clearTimeout(this._timer),this._unregisterScrollEvent()},i._getScrollPosition=function(e,t){var i=t.container,o=t.getScrollPosition;return(void 0===o?getDefaultScrollPosition$2:o)({container:getContainerElement$1(i),direction:e})},i._continueDrag=function(e){var t,i=this,o=e.container,n=e.direction,r=e.throttleTime,s=e.useScroll,a=e.isDrag,l=e.inputEvent;if(!(!this._flag||a&&this._isWait)){var c=now(),d=Math.max(r+this._prevTime-c,0);if(d>0)return clearTimeout(this._timer),this._timer=window.setTimeout(function(){i._continueDrag(e)},d),!1;this._prevTime=c;var u=this._getScrollPosition(n,e);this._prevScrollPos=u,a&&(this._isWait=!0),s||(this._lock=!0);var h={container:getContainerElement$1(o),direction:n,inputEvent:l};return null===(t=e.requestScroll)||void 0===t||t.call(e,h),this.emit("scroll",h),this._isWait=!1,s||this.checkScroll(__assign$9(__assign$9({},e),{prevScrollPos:u,direction:n,inputEvent:l}))}},i._registerScrollEvent=function(e){this._unregisterScrollEvent();var t=e.checkScrollEvent;if(t){var i=!0===t?checkDefaultScrollEvent:t,o=getContainerElement$1(e.container);!0!==t||o!==document.body&&o!==document.documentElement?this._unregister=i(o,this._onScroll):this._unregister=checkDefaultScrollEvent(window,this._onScroll)}},i._unregisterScrollEvent=function(){var e;null===(e=this._unregister)||void 0===e||e.call(this),this._unregister=null},t}(EventEmitter$2); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */function __spreadArrays$2(){for(var e=0,t=0,i=arguments.length;to))if("intersection"===i)++h;else{if("line"===i)return;if("point"===i){var s=find$1(r,function(e){return e[1]!==n}),a=p[t[0]],l=s[1]>n?1:-1;a?a!==l&&++h:p[t[0]]=l}}}),h%2==1}function getLinearConstants(e,t){var i=e[0],o=e[1],n=t[0]-i,r=t[1]-o;Math.abs(n)0)return[];o=[[a,s],[l,s]]}}else{var c=Math.max.apply(Math,i.map(function(e){return e[1][0]})),d=Math.min.apply(Math,i.map(function(e){return e[1][1]}));if(tinyThrottle(c-d)>0)return[];o=[[r,c],[r,d]]}}return o.length||(o=e.filter(function(e){var t=e[0],o=e[1];return i.every(function(e){return 0<=tinyThrottle(t-e[0][0])&&0<=tinyThrottle(e[0][1]-t)&&0<=tinyThrottle(o-e[1][0])&&0<=tinyThrottle(e[1][1]-o)})})),o.map(function(e){return[tinyThrottle(e[0]),tinyThrottle(e[1])]})}function convertLines(e){return __spreadArrays$2(e.slice(1),[e[0]]).map(function(t,i){return[e[i],t]})}function getOverlapPointInfos(e,t){var i=e.slice(),o=t.slice();-1===getShapeDirection(i)&&i.reverse(),-1===getShapeDirection(o)&&o.reverse();var n=convertLines(i),r=convertLines(o),s=n.map(function(e){return getLinearConstants(e[0],e[1])}),a=r.map(function(e){return getLinearConstants(e[0],e[1])}),l=[];s.forEach(function(e,t){var i=n[t],s=[];a.forEach(function(o,n){var a=getPointsOnLines(getIntersectionPointsByConstants(e,o),[i,r[n]]);s.push.apply(s,a.map(function(e){return{index1:t,index2:n,pos:e,type:"intersection"}}))}),s.sort(function(e,t){return getDist$2(i[0],e.pos)-getDist$2(i[0],t.pos)}),l.push.apply(l,s),isInside(i[1],o)&&l.push({index1:t,index2:-1,pos:i[1],type:"inside"})}),r.forEach(function(e,t){if(isInside(e[1],i)){var o=!1,n=findIndex(l,function(e){return e.index2===t?(o=!0,!1):!!o});-1===n&&(o=!1,n=findIndex(l,function(e){var i=e.index1,n=e.index2;return-1===i&&n+1===t?(o=!0,!1):!!o})),-1===n?l.push({index1:-1,index2:t,pos:e[1],type:"inside"}):l.splice(n,0,{index1:-1,index2:t,pos:e[1],type:"inside"})}});var c={};return l.filter(function(e){var t=e.pos,i=t[0]+"x"+t[1];return!c[i]&&(c[i]=!0,!0)})}function getOverlapPoints(e,t){return getOverlapPointInfos(e,t).map(function(e){return e.pos})}function getOverlapSize(e,t){return getAreaSize(getOverlapPoints(e,t))} /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */var extendStatics$8=function(e,t){return extendStatics$8=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},extendStatics$8(e,t)};function __extends$8(e,t){function i(){this.constructor=e}extendStatics$8(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var __assign$8=function(){return __assign$8=Object.assign||function(e){for(var t,i=1,o=arguments.length;i=0?n:n+2*Math.PI}function getRotatiion(e){return getRad([e[0].clientX,e[0].clientY],[e[1].clientX,e[1].clientY])/Math.PI*180}function isMultiTouch(e){return e.touches&&e.touches.length>=2}function getEventClients(e){return e?e.touches?getClients(e.touches):[getClient(e)]:[]}function isMouseEvent(e){return e&&(e.type.indexOf("mouse")>-1||"button"in e)}function getPosition(e,t,i){var o=i.length,n=getAverageClient(e,o),r=n.clientX,s=n.clientY,a=n.originalClientX,l=n.originalClientY,c=getAverageClient(t,o),d=c.clientX,u=c.clientY,h=getAverageClient(i,o);return{clientX:a,clientY:l,deltaX:r-d,deltaY:s-u,distX:r-h.clientX,distY:s-h.clientY}}function getDist$1(e){return Math.sqrt(Math.pow(e[0].clientX-e[1].clientX,2)+Math.pow(e[0].clientY-e[1].clientY,2))}function getClients(e){for(var t=Math.min(e.length,2),i=[],o=0;o=-1;if(!o.flag||!i){o._isDragAPI=!0;var n=o.options,r=n.container,s=n.pinchOutside,a=n.preventWheelClick,l=n.preventRightClick,c=n.preventDefault,d=n.checkInput,u=n.dragFocusedInput,h=n.preventClickEventOnDragStart,p=n.preventClickEventOnDrag,g=n.preventClickEventByCondition,m=o._useTouch,f=!o.flag;if(o._isSecondaryButton=3===e.which||2===e.button,a&&(2===e.which||1===e.button)||l&&(3===e.which||2===e.button))return o.stop(),!1;if(f){var v=o._window.document.activeElement,b=e.target;if(b){var _=b.tagName.toLowerCase(),y=INPUT_TAGNAMES.indexOf(_)>-1,C=b.isContentEditable;if(y||C){if(d||!u&&v===b)return!1;if(v&&(v===b||C&&v.isContentEditable&&v.contains(b))){if(!u)return!1;b.blur()}}else if((c||"touchstart"===e.type)&&v){var w=v.tagName.toLowerCase();(v.isContentEditable||INPUT_TAGNAMES.indexOf(w)>-1)&&v.blur()}(h||p||g)&&addEvent(o._window,"click",o._onClick,!0)}o.clientStores=[new ClientStore(getEventClients(e))],o._isIdle=!1,o.flag=!0,o.isDrag=!1,o._isTrusted=t,o._dragFlag=!0,o._prevInputEvent=e,o.data={},o.doubleFlag=now()-o.prevTime<200,o._isMouseEvent=isMouseEvent(e),!o._isMouseEvent&&o._preventMouseEvent&&o._allowMouseEvent(),!1===(o._preventMouseEvent||o.emit("dragStart",__assign$8(__assign$8({data:o.data,datas:o.data,inputEvent:e,isMouseEvent:o._isMouseEvent,isSecondaryButton:o._isSecondaryButton,isTrusted:t,isDouble:o.doubleFlag},o.getCurrentStore().getPosition()),{preventDefault:function(){e.preventDefault()},preventDrag:function(){o._dragFlag=!1}})))&&o.stop(),o._isMouseEvent&&o.flag&&c&&e.preventDefault()}if(!o.flag)return!1;var x=0;if(f?(o._attchDragEvent(),m&&s&&(x=setTimeout(function(){addEvent(r,"touchstart",o.onDragStart,{passive:!1})}))):m&&s&&removeEvent(r,"touchstart",o.onDragStart),o.flag&&isMultiTouch(e)){if(clearTimeout(x),f&&e.touches.length!==e.changedTouches.length)return;o.pinchFlag||o.onPinchStart(e)}}}},o.onDrag=function(e,t){if(o.flag){var i=o.options.preventDefault;!o._isMouseEvent&&i&&e.preventDefault(),o._prevInputEvent=e;var n=getEventClients(e),r=o.moveClients(n,e,!1);if(o._dragFlag){if(o.pinchFlag||r.deltaX||r.deltaY)if(!1===(o._preventMouseEvent||o.emit("drag",__assign$8(__assign$8({},r),{isScroll:!!t,inputEvent:e}))))return void o.stop();o.pinchFlag&&o.onPinch(e,n)}o.getCurrentStore().getPosition(n,!0)}},o.onDragEnd=function(e){if(o.flag){var t=o.options,i=t.pinchOutside,n=t.container,r=t.preventClickEventOnDrag,s=t.preventClickEventOnDragStart,a=t.preventClickEventByCondition,l=o.isDrag;(r||s||a)&&requestAnimationFrame(function(){o._allowClickEvent()}),a||s||!r||l||o._allowClickEvent(),o._useTouch&&i&&removeEvent(n,"touchstart",o.onDragStart),o.pinchFlag&&o.onPinchEnd(e);var c=(null==e?void 0:e.touches)?getEventClients(e):[];0!==c.length&&o.options.keepDragging?o._addStore(new ClientStore(c)):o.flag=!1;var d=o._getPosition(),u=now(),h=!l&&o.doubleFlag;o._prevInputEvent=null,o.prevTime=l||h?0:u,o.flag||(o._dettachDragEvent(),o._preventMouseEvent||o.emit("dragEnd",__assign$8({data:o.data,datas:o.data,isDouble:h,isDrag:l,isClick:!l,isMouseEvent:o._isMouseEvent,isSecondaryButton:o._isSecondaryButton,inputEvent:e,isTrusted:o._isTrusted},d)),o.clientStores=[],o._isMouseEvent||(o._preventMouseEvent=!0,clearTimeout(o._preventMouseEventId),o._preventMouseEventId=setTimeout(function(){o._preventMouseEvent=!1},200)),o._isIdle=!0)}},o.onBlur=function(){o.onDragEnd()},o._allowClickEvent=function(){removeEvent(o._window,"click",o._onClick,!0)},o._onClick=function(e){o._allowClickEvent(),o._allowMouseEvent();var t=o.options.preventClickEventByCondition;(null==t?void 0:t(e))||(e.stopPropagation(),e.preventDefault())},o._onContextMenu=function(e){o.options.preventRightClick?o.onDragEnd(e):e.preventDefault()},o._passCallback=function(){};var n=[].concat(t),r=n[0];o._window=isWindow(r)?r:getWindow(r),o.options=__assign$8({checkInput:!1,container:r&&!("document"in r)?getWindow(r):r,preventRightClick:!0,preventWheelClick:!0,preventClickEventOnDragStart:!1,preventClickEventOnDrag:!1,preventClickEventByCondition:null,preventDefault:!0,checkWindowBlur:!1,keepDragging:!1,pinchThreshold:0,events:["touch","mouse"]},i);var s=o.options,a=s.container,l=s.events,c=s.checkWindowBlur;if(o._useDrag=l.indexOf("drag")>-1,o._useTouch=l.indexOf("touch")>-1,o._useMouse=l.indexOf("mouse")>-1,o.targets=n,o._useDrag&&n.forEach(function(e){addEvent(e,"dragstart",o.onDragStart)}),o._useMouse&&(n.forEach(function(e){addEvent(e,"mousedown",o.onDragStart),addEvent(e,"mousemove",o._passCallback)}),addEvent(a,"contextmenu",o._onContextMenu)),c&&addEvent(getWindow(),"blur",o.onBlur),o._useTouch){var d={passive:!1};n.forEach(function(e){addEvent(e,"touchstart",o.onDragStart,d),addEvent(e,"touchmove",o._passCallback,d)})}return o}return __extends$8(t,e),t.prototype.stop=function(){this.isDrag=!1,this.data={},this.clientStores=[],this.pinchFlag=!1,this.doubleFlag=!1,this.prevTime=0,this.flag=!1,this._isIdle=!0,this._allowClickEvent(),this._dettachDragEvent(),this._isDragAPI=!1},t.prototype.getMovement=function(e){return this.getCurrentStore().getMovement(e)+this.clientStores.slice(1).reduce(function(e,t){return e+t.movement},0)},t.prototype.isDragging=function(){return this.isDrag},t.prototype.isIdle=function(){return this._isIdle},t.prototype.isFlag=function(){return this.flag},t.prototype.isPinchFlag=function(){return this.pinchFlag},t.prototype.isDoubleFlag=function(){return this.doubleFlag},t.prototype.isPinching=function(){return this.isPinch},t.prototype.scrollBy=function(e,t,i,o){void 0===o&&(o=!0),this.flag&&(this.clientStores[0].move(e,t),o&&this.onDrag(i,!0))},t.prototype.move=function(e,t){var i=e[0],o=e[1],n=this.getCurrentStore().prevClients;return this.moveClients(n.map(function(e){var t=e.clientX,n=e.clientY;return{clientX:t+i,clientY:n+o,originalClientX:t,originalClientY:n}}),t,!0)},t.prototype.triggerDragStart=function(e){this.onDragStart(e,!1)},t.prototype.setEventData=function(e){var t=this.data;for(var i in e)t[i]=e[i];return this},t.prototype.setEventDatas=function(e){return this.setEventData(e)},t.prototype.getCurrentEvent=function(e){return void 0===e&&(e=this._prevInputEvent),__assign$8(__assign$8({data:this.data,datas:this.data},this._getPosition()),{movement:this.getMovement(),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,inputEvent:e})},t.prototype.getEventData=function(){return this.data},t.prototype.getEventDatas=function(){return this.data},t.prototype.unset=function(){var e=this,t=this.targets,i=this.options.container;this.off(),removeEvent(this._window,"blur",this.onBlur),this._useDrag&&t.forEach(function(t){removeEvent(t,"dragstart",e.onDragStart)}),this._useMouse&&(t.forEach(function(t){removeEvent(t,"mousedown",e.onDragStart)}),removeEvent(i,"contextmenu",this._onContextMenu)),this._useTouch&&(t.forEach(function(t){removeEvent(t,"touchstart",e.onDragStart)}),removeEvent(i,"touchstart",this.onDragStart)),this._prevInputEvent=null,this._allowClickEvent(),this._dettachDragEvent()},t.prototype.onPinchStart=function(e){var t=this,i=this.options.pinchThreshold;if(!(this.isDrag&&this.getMovement()>i)){var o=new ClientStore(getEventClients(e));this.pinchFlag=!0,this._addStore(o),!1===this.emit("pinchStart",__assign$8(__assign$8({data:this.data,datas:this.data,angle:o.getAngle(),touches:this.getCurrentStore().getPositions()},o.getPosition()),{inputEvent:e,isTrusted:this._isTrusted,preventDefault:function(){e.preventDefault()},preventDrag:function(){t._dragFlag=!1}}))&&(this.pinchFlag=!1)}},t.prototype.onPinch=function(e,t){if(this.flag&&this.pinchFlag&&!(t.length<2)){var i=this.getCurrentStore();this.isPinch=!0,this.emit("pinch",__assign$8(__assign$8({data:this.data,datas:this.data,movement:this.getMovement(t),angle:i.getAngle(t),rotation:i.getRotation(t),touches:i.getPositions(t),scale:i.getScale(t),distance:i.getDistance(t)},i.getPosition(t)),{inputEvent:e,isTrusted:this._isTrusted}))}},t.prototype.onPinchEnd=function(e){if(this.pinchFlag){var t=this.isPinch;this.isPinch=!1,this.pinchFlag=!1;var i=this.getCurrentStore();this.emit("pinchEnd",__assign$8(__assign$8({data:this.data,datas:this.data,isPinch:t,touches:i.getPositions()},i.getPosition()),{inputEvent:e}))}},t.prototype.getCurrentStore=function(){return this.clientStores[0]},t.prototype.moveClients=function(e,t,i){var o=this._getPosition(e,i),n=this.isDrag;(o.deltaX||o.deltaY)&&(this.isDrag=!0);var r=!1;return!n&&this.isDrag&&(r=!0),__assign$8(__assign$8({data:this.data,datas:this.data},o),{movement:this.getMovement(e),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,isMouseEvent:this._isMouseEvent,isSecondaryButton:this._isSecondaryButton,inputEvent:t,isTrusted:this._isTrusted,isFirstDrag:r})},t.prototype._addStore=function(e){this.clientStores.splice(0,0,e)},t.prototype._getPosition=function(e,t){var i=this.getCurrentStore().getPosition(e,t),o=this.clientStores.slice(1).reduce(function(e,t){var i=t.getPosition();return e.distX+=i.distX,e.distY+=i.distY,e},i),n=o.distX,r=o.distY;return __assign$8(__assign$8({},i),{distX:n,distY:r})},t.prototype._attchDragEvent=function(){var e=this._window,t=this.options.container,i={passive:!1};this._isDragAPI&&(addEvent(t,"dragover",this.onDrag,i),addEvent(e,"dragend",this.onDragEnd)),this._useMouse&&(addEvent(t,"mousemove",this.onDrag),addEvent(e,"mouseup",this.onDragEnd)),this._useTouch&&(addEvent(t,"touchmove",this.onDrag,i),addEvent(e,"touchend",this.onDragEnd,i),addEvent(e,"touchcancel",this.onDragEnd,i))},t.prototype._dettachDragEvent=function(){var e=this._window,t=this.options.container;this._isDragAPI&&(removeEvent(t,"dragover",this.onDrag),removeEvent(e,"dragend",this.onDragEnd)),this._useMouse&&(removeEvent(t,"mousemove",this.onDrag),removeEvent(e,"mouseup",this.onDragEnd)),this._useTouch&&(removeEvent(t,"touchstart",this.onDragStart),removeEvent(t,"touchmove",this.onDrag),removeEvent(e,"touchend",this.onDragEnd),removeEvent(e,"touchcancel",this.onDragEnd))},t.prototype._allowMouseEvent=function(){this._preventMouseEvent=!1,clearTimeout(this._preventMouseEventId)},t}(EventEmitter$2);function hash(e){for(var t=5381,i=e.length;i;)t=33*t^e.charCodeAt(--i);return t>>>0}var stringHash=hash;function getHash(e){return stringHash(e).toString(36)}function getShadowRoot$1(e){if(e&&e.getRootNode){var t=e.getRootNode();if(11===t.nodeType)return t}}function replaceStyle(e,t,i){return i.original?t:t.replace(/([^};{\s}][^};{]*|^\s*){/gm,function(t,i){var o=i.trim();return(o?splitComma(o):[""]).map(function(t){var i=t.trim();return 0===i.indexOf("@")?i:i.indexOf(":global")>-1?i.replace(/\:global/g,""):i.indexOf(":host")>-1?"".concat(i.replace(/\:host/g,".".concat(e))):i?".".concat(e," ").concat(i):".".concat(e)}).join(", ")+" {"})}function injectStyle(e,t,i,o,n){var r=getDocument(o),s=r.createElement("style");return s.setAttribute("type","text/css"),s.setAttribute("data-styled-id",e),s.setAttribute("data-styled-count","1"),i.nonce&&s.setAttribute("nonce",i.nonce),s.innerHTML=replaceStyle(e,t,i),(n||r.head||r.body).appendChild(s),s}function styled$1(e){var t="rCS"+getHash(e);return{className:t,inject:function(i,o){void 0===o&&(o={});var n=getShadowRoot$1(i),r=(n||i.ownerDocument||document).querySelector('style[data-styled-id="'.concat(t,'"]'));if(r){var s=parseFloat(r.getAttribute("data-styled-count"))||0;r.setAttribute("data-styled-count","".concat(s+1))}else r=injectStyle(t,e,o,i,n);return{destroy:function(){var e,t=parseFloat(r.getAttribute("data-styled-count"))||0;t<=1?(r.remove?r.remove():null===(e=r.parentNode)||void 0===e||e.removeChild(r),r=null):r.setAttribute("data-styled-count","".concat(t-1))}}}}}var __assign$7=function(){return __assign$7=Object.assign||function(e){for(var t,i=1,o=arguments.length;i=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s}function __values$1(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],o=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read$1(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var o,n,r=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(error){n={error:error}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}return s}function __spreadArray$3(e,t,i){if(2===arguments.length)for(var o,n=0,r=t.length;n')}function getCursorCSS(e){var t=getSVGCursor(1,e),i=45*Math.round(e/45)%180,o="ns-resize";return 135===i?o="nwse-resize":45===i?o="nesw-resize":90===i&&(o="ew-resize"),"cursor:".concat(o,";cursor: url('").concat(t,"') 16 16, ").concat(o,";")}var agent=agent$1(),IS_WEBKIT=agent.browser.webkit,IS_WEBKIT605=IS_WEBKIT&&(navi="undefined"==typeof window?{userAgent:""}:window.navigator,res=/applewebkit\/([^\s]+)/g.exec(navi.userAgent.toLowerCase()),!!res&&parseFloat(res[1])<605),navi,res,browserName=agent.browser.name,browserVersion=parseInt(agent.browser.version,10),IS_CHROME="chrome"===browserName,IS_CHROMIUM=agent.browser.chromium,chromiumVersion=parseInt(agent.browser.chromiumVersion,10)||0,IS_CHROMIUM109=IS_CHROME&&browserVersion>=109||IS_CHROMIUM&&chromiumVersion>=109,IS_FIREFOX="firefox"===browserName,IS_SAFARI_ABOVE15=parseInt(agent.browser.webkitVersion,10)>=612||browserVersion>=15,PREFIX$1="moveable-",directionCSS=DIRECTIONS.map(function(e){var t="",i="",o="center",n="center",r="calc(var(--moveable-control-padding, 20) * -1px)";return e.indexOf("n")>-1&&(t="top: ".concat(r,";"),n="bottom"),e.indexOf("s")>-1&&(t="top: 0px;",n="top"),e.indexOf("w")>-1&&(i="left: ".concat(r,";"),o="right"),e.indexOf("e")>-1&&(i="left: 0px;",o="left"),'.around-control[data-direction*="'.concat(e,'"] {\n ').concat(i).concat(t,"\n transform-origin: ").concat(o," ").concat(n,";\n }")}).join("\n"),MOVEABLE_CSS="\n{\nposition: absolute;\nwidth: 1px;\nheight: 1px;\nleft: 0;\ntop: 0;\nz-index: 3000;\n--moveable-color: #4af;\n--zoom: 1;\n--zoompx: 1px;\n--moveable-line-padding: 0;\n--moveable-control-padding: 0;\nwill-change: transform;\noutline: 1px solid transparent;\n}\n.control-box {\nz-index: 0;\n}\n.line, .control {\nposition: absolute;\nleft: 0;\ntop: 0;\nwill-change: transform;\n}\n.control {\nwidth: 14px;\nheight: 14px;\nborder-radius: 50%;\nborder: 2px solid #fff;\nbox-sizing: border-box;\nbackground: #4af;\nbackground: var(--moveable-color);\nmargin-top: -7px;\nmargin-left: -7px;\nborder: 2px solid #fff;\nz-index: 10;\n}\n.around-control {\nposition: absolute;\nwill-change: transform;\nwidth: calc(var(--moveable-control-padding, 20) * 1px);\nheight: calc(var(--moveable-control-padding, 20) * 1px);\nleft: calc(var(--moveable-control-padding, 20) * -0.5px);\ntop: calc(var(--moveable-control-padding, 20) * -0.5px);\nbox-sizing: border-box;\nbackground: transparent;\nz-index: 8;\ncursor: alias;\ntransform-origin: center center;\n}\n".concat(directionCSS,"\n.padding {\nposition: absolute;\ntop: 0px;\nleft: 0px;\nwidth: 100px;\nheight: 100px;\ntransform-origin: 0 0;\n}\n.line {\nwidth: 1px;\nheight: 1px;\nbackground: #4af;\nbackground: var(--moveable-color);\ntransform-origin: 0px 50%;\n}\n.line.edge {\nz-index: 1;\nbackground: transparent;\n}\n.line.dashed {\nbox-sizing: border-box;\nbackground: transparent;\n}\n.line.dashed.horizontal {\nborder-top: 1px dashed #4af;\nborder-top-color: #4af;\nborder-top-color: var(--moveable-color);\n}\n.line.dashed.vertical {\nborder-left: 1px dashed #4af;\nborder-left-color: #4af;\nborder-left-color: var(--moveable-color);\n}\n.line.vertical {\ntransform: translateX(-50%);\n}\n.line.horizontal {\ntransform: translateY(-50%);\n}\n.line.vertical.bold {\nwidth: 2px;\n}\n.line.horizontal.bold {\nheight: 2px;\n}\n\n.control.origin {\nborder-color: #f55;\nbackground: #fff;\nwidth: 12px;\nheight: 12px;\nmargin-top: -6px;\nmargin-left: -6px;\npointer-events: none;\n}\n").concat([0,15,30,45,60,75,90,105,120,135,150,165].map(function(e){return'\n.direction[data-rotation="'.concat(e,'"], :global .view-control-rotation').concat(e," {\n").concat(getCursorCSS(e),"\n}\n")}).join("\n"),'\n\n.line.direction:before {\ncontent: "";\nposition: absolute;\nwidth: 100%;\nheight: calc(var(--moveable-line-padding, 0) * 1px);\nbottom: 0;\nleft: 0;\n}\n.group {\nz-index: -1;\n}\n.area {\nposition: absolute;\n}\n.area-pieces {\nposition: absolute;\ntop: 0;\nleft: 0;\ndisplay: none;\n}\n.area.avoid, .area.pass {\npointer-events: none;\n}\n.area.avoid+.area-pieces {\ndisplay: block;\n}\n.area-piece {\nposition: absolute;\n}\n\n').concat(IS_WEBKIT605?':global svg *:before {\ncontent:"";\ntransform-origin: inherit;\n}':"","\n"),NEARBY_POS=[[0,1,2],[1,0,3],[2,0,3],[3,1,2]],FLOAT_POINT_NUM=1e-4,TINY_NUM=1e-7,MIN_SCALE=1e-9,MAX_NUM=Math.pow(10,10),MIN_NUM=-MAX_NUM,DIRECTION_REGION_TO_DIRECTION={n:[0,-1],e:[1,0],s:[0,1],w:[-1,0],nw:[-1,-1],ne:[1,-1],sw:[-1,1],se:[1,1]},DIRECTION_INDEXES={n:[0,1],e:[1,3],s:[3,2],w:[2,0],nw:[0],ne:[1],sw:[2],se:[3]},DIRECTION_ROTATIONS={n:0,s:180,w:270,e:90,nw:315,ne:45,sw:225,se:135},MOVEABLE_METHODS=["isMoveableElement","updateRect","updateTarget","destroy","dragStart","isInside","hitTest","setState","getRect","request","isDragging","getManager","forceUpdate","waitToChangeTarget","updateSelectors","getTargets","stopDrag","getControlBoxElement","getMoveables","getDragElement"];function setCustomDrag(e,t,i,o,n,r){var s,a;void 0===r&&(r="draggable");var l=null!==(a=null===(s=t.gestos[r])||void 0===s?void 0:s.move(i,e.inputEvent))&&void 0!==a?a:{},c=l.originalDatas||l.datas,d=c[r]||(c[r]={});return __assign$6(__assign$6({},l),{isPinch:!!o,parentEvent:!0,datas:d,originalDatas:e.originalDatas})}var CustomGesto=function(){function e(e){var t;void 0===e&&(e="draggable"),this.ableName=e,this.prevX=0,this.prevY=0,this.startX=0,this.startY=0,this.isDrag=!1,this.isFlag=!1,this.datas={draggable:{}},this.datas=((t={})[e]={},t)}return e.prototype.dragStart=function(e,t){this.isDrag=!1,this.isFlag=!1;var i=t.originalDatas;return this.datas=i,i[this.ableName]||(i[this.ableName]={}),__assign$6(__assign$6({},this.move(e,t.inputEvent)),{type:"dragstart"})},e.prototype.drag=function(e,t){return this.move([e[0]-this.prevX,e[1]-this.prevY],t)},e.prototype.move=function(e,t){var i,o,n=!1;if(this.isFlag){var r=this.isDrag;i=this.prevX+e[0],o=this.prevY+e[1],(e[0]||e[1])&&(this.isDrag=!0),!r&&this.isDrag&&(n=!0)}else this.prevX=e[0],this.prevY=e[1],this.startX=e[0],this.startY=e[1],i=e[0],o=e[1],this.isFlag=!0;return this.prevX=i,this.prevY=o,{type:"drag",clientX:i,clientY:o,inputEvent:t,isFirstDrag:n,isDrag:this.isDrag,distX:i-this.startX,distY:o-this.startY,deltaX:e[0],deltaY:e[1],datas:this.datas[this.ableName],originalDatas:this.datas,parentEvent:!0,parentGesto:this}},e}();function calculateElementPosition(e,t,i,o){var n=16===e.length?4:3,r=__read$1(calculatePoses(e,i,o,n),4),s=__read$1(r[0],2),a=s[0],l=s[1],c=__read$1(r[1],2),d=c[0],u=c[1],h=__read$1(r[2],2),p=h[0],g=h[1],m=__read$1(r[3],2),f=m[0],v=m[1],b=__read$1(calculatePosition(e,t,n),2),_=b[0],y=b[1],C=Math.min(a,d,p,f),w=Math.min(l,u,g,v),x=Math.max(a,d,p,f);return a=a-C||0,{left:C,top:w,right:x,bottom:Math.max(l,u,g,v),origin:[_=_-C||0,y=y-w||0],pos1:[a,l=l-w||0],pos2:[d=d-C||0,u=u-w||0],pos3:[p=p-C||0,g=g-w||0],pos4:[f=f-C||0,v=v-w||0],direction:sign(e[0]*e[n+1])}}function calculatePointerDist(e,t){var i=t.clientX,o=t.clientY,n=t.datas,r=e.state,s=r.moveableClientRect,a=r.rootMatrix,l=r.is3d,c=r.pos1,d=__read$1(minus(calculateInversePosition(a,[i-s.left,o-s.top],l?4:3),c),2),u=__read$1(getDragDist({datas:n,distX:d[0],distY:d[1]}),2);return[u[0],u[1]]}function setDragStart(e,t){var i=t.datas,o=e.state,n=o.allMatrix,r=o.beforeMatrix,s=o.is3d,a=o.left,l=o.top,c=o.origin,d=o.offsetMatrix,u=o.targetMatrix,h=o.transformOrigin,p=s?4:3;i.is3d=s,i.matrix=n,i.targetMatrix=u,i.beforeMatrix=r,i.offsetMatrix=d,i.transformOrigin=h,i.inverseMatrix=invert(n,p),i.inverseBeforeMatrix=invert(r,p),i.absoluteOrigin=convertPositionMatrix(plus([a,l],c),p),i.startDragBeforeDist=calculate(i.inverseBeforeMatrix,i.absoluteOrigin,p),i.startDragDist=calculate(i.inverseMatrix,i.absoluteOrigin,p)}function getTransformDirection(e){return calculateElementPosition(e.datas.beforeTransform,[50,50],100,100).direction}function resolveTransformEvent(e,t,i){var o=t.datas,n=t.originalDatas.beforeRenderable,r=o.transformIndex,s=n.nextTransforms,a=s.length,l=n.nextTransformAppendedIndexes,c=-1;-1===r?("translate"===i?c=0:"rotate"===i&&(c=findIndex(s,function(e){return e.match(/scale\(/g)})),-1===c&&(c=s.length),o.transformIndex=c):c=find$1(l,function(e){return e.index===r&&e.functionName===i})?r:r+l.filter(function(e){return e.indexc&&(o.isAppendTransform=!0,n.nextTransformAppendedIndexes=__spreadArray$3(__spreadArray$3([],__read$1(l),!1),[{functionName:i,index:c,isAppend:!0}],!1))}function convertTransformFormat(e,t,i){return"".concat(e.beforeFunctionTexts.join(" ")," ").concat(e.isAppendTransform?i:t," ").concat(e.afterFunctionTexts.join(" "))}function getTransformDist(e){var t=e.datas,i=__read$1(getBeforeDragDist({datas:t,distX:e.distX,distY:e.distY}),2);return calculate(getTransfromMatrix(t,fromTranslation([i[0],i[1]],4)),convertPositionMatrix([0,0,0],4),4)}function getTransfromMatrix(e,t,i){var o=e.beforeTransform,n=e.afterTransform,r=e.beforeTransform2,s=e.afterTransform2,a=e.targetAllTransform,l=i?multiply(a,t,4):multiply(t,a,4),c=multiply(invert(i?r:o,4),l,4);return multiply(c,invert(i?s:n,4),4)}function getBeforeDragDist(e){var t=e.datas,i=e.distX,o=e.distY,n=t.inverseBeforeMatrix,r=t.is3d,s=t.startDragBeforeDist,a=r?4:3;return minus(calculate(n,plus(t.absoluteOrigin,[i,o]),a),s)}function getDragDist(e,t){var i=e.datas,o=e.distX,n=e.distY,r=i.inverseBeforeMatrix,s=i.inverseMatrix,a=i.is3d,l=i.startDragBeforeDist,c=i.startDragDist,d=a?4:3;return minus(calculate(t?r:s,plus(i.absoluteOrigin,[o,n]),d),t?l:c)}function getInverseDragDist(e,t){var i=e.datas,o=e.distX,n=e.distY;i.beforeMatrix;var r=i.matrix,s=i.is3d;i.startDragBeforeDist;var a=i.startDragDist,l=i.absoluteOrigin,c=s?4:3;return minus(calculate(r,plus(a,[o,n]),c),l)}function calculateTransformOrigin(e,t,i,o,n,r){return void 0===o&&(o=t),void 0===n&&(n=i),void 0===r&&(r=[0,0]),e?e.map(function(e,s){var a=splitUnit(e),l=a.value,c=a.unit,d=s?n:o,u=s?i:t;return"%"===e||isNaN(l)?u*(d?r[s]/d:0):"%"!==c?l:u*l/100}):r}function getPosIndexesByDirection(e){var t=[];return e[1]>=0&&(e[0]>=0&&t.push(3),e[0]<=0&&t.push(2)),e[1]<=0&&(e[0]>=0&&t.push(1),e[0]<=0&&t.push(0)),t}function getPosesByDirection(e,t){return getPosIndexesByDirection(t).map(function(t){return e[t]})}function getPosBySingleDirection(e,t){var i=(t+1)/2;return[dot$1(e[0][0],e[1][0],i,1-i),dot$1(e[0][1],e[1][1],i,1-i)]}function getPosByDirection(e,t){var i=getPosBySingleDirection([e[0],e[1]],t[0]),o=getPosBySingleDirection([e[2],e[3]],t[0]);return getPosBySingleDirection([i,o],t[1])}function getDist(e,t,i,o,n,r){var s=getPosByDirection(calculatePoses(t,i,o,n),r);return[e[0]-s[0],e[1]-s[1]]}function getNextMatrix(e,t,i,o){return multiply(e,getAbsoluteMatrix(t,o,i),o)}function getNextTransformMatrix(e,t,i,o){var n,r=e.transformOrigin,s=e.offsetMatrix,a=e.is3d?4:3;if(isString$2(i)){var l=t.beforeTransform,c=t.afterTransform;n=convertDimension(o?parseMat(i):multiply(multiply(l,parseMat([i]),4),c,4),4,a)}else n=i;return getNextMatrix(s,n,r,a)}function scaleMatrix(e,t){var i=e.transformOrigin,o=e.offsetMatrix,n=e.is3d,r=e.targetMatrix,s=n?4:3;return getNextMatrix(o,multiply(e.targetAllTransform||r,createScaleMatrix(t,s),s),i,s)}function fillTransformStartEvent(e,t){var i=getBeforeRenderableDatas(t);return{setTransform:function(o,n){void 0===n&&(n=-1),i.startTransforms=isArray$2(o)?o:splitSpace(o),setTransformIndex(e,t,n)},setTransformIndex:function(i){setTransformIndex(e,t,i)}}}function setDefaultTransformIndex(e,t,i){setTransformIndex(e,t,findIndex(getBeforeRenderableDatas(t).startTransforms,function(e){return 0===e.indexOf("".concat(i,"("))}))}function setTransformIndex(e,t,i){var o=getBeforeRenderableDatas(t),n=t.datas;if(n.transformIndex=i,-1!==i){var r=o.startTransforms[i];if(r){var s=e.state,a=parse([r],{"x%":function(e){return e/100*s.offsetWidth},"y%":function(e){return e/100*s.offsetHeight}});n.startValue=a[0].functionValue}}}function fillOriginalTransform(e,t){getBeforeRenderableDatas(e).nextTransforms=splitSpace(t)}function getBeforeRenderableDatas(e){return e.originalDatas.beforeRenderable}function getNextTransforms(e){return e.originalDatas.beforeRenderable.nextTransforms}function getNextTransformText(e){return(getNextTransforms(e)||[]).join(" ")}function getNextStyle(e){return getBeforeRenderableDatas(e).nextStyle}function fillTransformEvent(e,t,i,o,n){fillOriginalTransform(n,t);var r=Draggable.drag(e,setCustomDrag(n,e.state,i,o)),s=r?r.transform:t;return __assign$6(__assign$6({transform:t,drag:r},fillCSSObject({transform:s},n)),{afterTransform:s})}function getTranslateFixedPosition(e,t,i,o,n,r){return getDirectionOffset(e,i,o,getNextTransformMatrix(e.state,n,t,r))}function getTranslateDist(e,t,i,o,n,r,s){var a=getTranslateFixedPosition(e,t,i,n,r,s),l=e.state,c=l.left,d=l.top,u=e.props.groupable,h=u?c:0,p=u?d:0,g=minus(o,a);return minus(g,[h,p])}function getScaleDist(e,t,i,o,n,r,s){return getTranslateDist(e,t,i,o,n,r,s)}function getDirectionByPos(e,t,i){return[t?e[0]/(t/2)-1:0,i?e[1]/(i/2)-1:0]}function getDirectionOffset(e,t,i,o){void 0===o&&(o=e.state.allMatrix);var n=e.state,r=n.width,s=n.height,a=n.is3d?4:3;return calculatePosition(o,[r/2*(1+t[0])+i[0],s/2*(1+t[1])+i[1]],a)}function getRotateDist(e,t,i){var o=i.fixedDirection,n=i.fixedPosition,r=i.fixedOffset;return getTranslateDist(e,"rotate(".concat(t,"deg)"),o,n,r,i)}function getResizeDist(e,t,i,o,n,r){var s=e.props.groupable,a=e.state,l=a.transformOrigin,c=a.offsetMatrix,d=a.is3d,u=a.width,h=a.height,p=a.left,g=a.top,m=r.fixedDirection,f=d?4:3,v=s?p:0,b=s?g:0;return minus(getDist(o,getNextMatrix(c,r.nextTargetMatrix||a.targetMatrix,calculateTransformOrigin(n,t,i,u,h,l),f),t,i,f,m),[v,b])}function getAbsolutePosition$1(e,t){return getPosByDirection(getAbsolutePosesByState(e.state),t)}function getGestoData(e,t){var i,o=e.targetGesto,n=e.controlGesto;return(null==o?void 0:o.isFlag())&&(i=o.getEventData()[t]),!i&&(null==n?void 0:n.isFlag())&&(i=n.getEventData()[t]),i||{}}function getShadowRoot(e){if(e&&e.getRootNode){var t=e.getRootNode();if(11===t.nodeType)return t}}function getIndividualTransforms(e){var t=e("scale"),i=e("rotate"),o=e("translate"),n=[];return o&&"0px"!==o&&"none"!==o&&n.push("translate(".concat(o.split(/\s+/).join(","),")")),i&&"1"!==i&&"none"!==i&&n.push("rotate(".concat(i,")")),t&&"1"!==t&&"none"!==t&&n.push("scale(".concat(t.split(/\s+/).join(","),")")),n}function getMatrixStackInfo(e,t,i){for(var o,n,r,s=e,a=[],l=getDocumentElement(e)||getDocumentBody(e),c=!i&&e===t||e===l,d=c,u=!1,h=3,p=!1,g=getOffsetInfo(t,t,!0).offsetParent,m=1;s&&!d;){d=c;var f=getCachedStyle(s),v=f("position"),b=getElementTransform(s),_="fixed"===v,y=getIndividualTransforms(f),C=convertCSStoMatrix(getTransformMatrix(b)),w=void 0,x=!1,S=!1,k=0,E=0,I=0,T=0,D={hasTransform:!1,fixedContainer:null};_&&(p=!0,g=(D=getPositionFixedInfo(s)).fixedContainer);var L=C.length;u||16!==L&&!y.length||(u=!0,h=4,convert3DMatrixes(a),r&&(r=convertDimension(r,3,4))),u&&9===L&&(C=convertDimension(C,3,4));var N=getOffsetPosInfo(s,e),M=N.tagName,$=N.hasOffset,R=N.isSVG,A=N.origin,O=N.targetOrigin,P=__read$1(N.offset,2),B=P[0],F=P[1];"svg"===M&&!s.ownerSVGElement&&r&&(a.push({type:"target",target:s,matrix:getSVGMatrix(s,h)}),a.push({type:"offset",target:s,matrix:createIdentityMatrix(h)}));var z=parseFloat(f("zoom"))||1;if(_)w=D.fixedContainer,x=!0;else{var V=getOffsetInfo(s,t,!1,!0,f),H=V.offsetZoom;if(w=V.offsetParent,x=V.isEnd,S=V.isStatic,m*=H,(V.isCustomElement||1!==H)&&S)B-=w.offsetLeft,F-=w.offsetTop;else if(IS_FIREFOX||IS_CHROMIUM109){if(V.parentSlotElement){for(var W=w,K=0,U=0;W&&getShadowRoot(W);)K+=W.offsetLeft,U+=W.offsetTop,W=W.offsetParent;B-=K,F-=U}}}if(!IS_WEBKIT||IS_SAFARI_ABOVE15||!$||R||!S||"relative"!==v&&"static"!==v||(B-=w.offsetLeft,F-=w.offsetTop,c=c||x),_)$&&D.hasTransform&&(I=w.clientLeft,T=w.clientTop);else if($&&g!==w&&(k=w.clientLeft,E=w.clientTop),$&&w===l){var j=getBodyOffset(s,!1);B+=j[0],F+=j[1]}if(a.push({type:"target",target:s,matrix:getAbsoluteMatrix(C,h,A)}),y.length&&(a.push({type:"offset",target:s,matrix:createIdentityMatrix(h)}),a.push({type:"target",target:s,matrix:getAbsoluteMatrix(parseMat(y),h,A)})),$){var G=s===e,q=G?0:s.scrollLeft,Y=G?0:s.scrollTop;a.push({type:"offset",target:s,matrix:createOriginMatrix([B-q+k-I,F-Y+E-T],h)})}else a.push({type:"offset",target:s,origin:A});if(1!==z&&a.push({type:"zoom",target:s,matrix:getAbsoluteMatrix(createScaleMatrix([z,z],h),h,[0,0])}),r||(r=C),o||(o=A),n||(n=O),d||_)break;s=w,c=x,i&&s!==l||(d=c)}return r||(r=createIdentityMatrix(h)),o||(o=[0,0]),n||(n=[0,0]),{zoom:m,offsetContainer:g,matrixes:a,targetMatrix:r,transformOrigin:o,targetOrigin:n,is3d:u,hasFixed:p}}var cacheStyleMap=null,clientRectStyleMap=null,matrixContainerInfos=null;function setStoreCache(e){e?(window.Map&&(cacheStyleMap=new Map,clientRectStyleMap=new Map),matrixContainerInfos=[]):(cacheStyleMap=null,matrixContainerInfos=null,clientRectStyleMap=null)}function getCachedClientRect(e){var t=null==clientRectStyleMap?void 0:clientRectStyleMap.get(e);if(t)return t;var i=getClientRect(e,!0);return clientRectStyleMap&&clientRectStyleMap.set(e,i),i}function getCachedMatrixContainerInfo(e,t){if(matrixContainerInfos){var i=find$1(matrixContainerInfos,function(i){return i[0][0]==e&&i[0][1]==t});if(i)return i[1]}var o=getMatrixStackInfo(e,t,!0);return matrixContainerInfos&&matrixContainerInfos.push([[e,t],o]),o}function getCachedStyle(e){var t=null==cacheStyleMap?void 0:cacheStyleMap.get(e);if(!t){var i=getWindow(e).getComputedStyle(e);if(!cacheStyleMap)return function(e){return i[e]};t={style:i,cached:{}},cacheStyleMap.set(e,t)}var o=t.cached,n=t.style;return function(e){return e in o||(o[e]=n[e]),o[e]}}function fillChildEvents(e,t,i){var o=i.originalDatas;o.groupable=o.groupable||{};var n=o.groupable;n.childDatas=n.childDatas||[];var r=n.childDatas;return e.moveables.map(function(e,o){return r[o]=r[o]||{},r[o][t]=r[o][t]||{},__assign$6(__assign$6({},i),{isRequestChild:!0,datas:r[o][t],originalDatas:r[o]})})}function triggerChildGesto(e,t,i,o,n,r,s){var a=!!i.match(/Start$/g),l=!!i.match(/End$/g),c=n.isPinch,d=n.datas,u=fillChildEvents(e,t.name,n),h=e.moveables,p=[],g=u.map(function(e,n){var u=h[n],g=u.state,m=g.gestos,f=e;if(a)f=new CustomGesto(s).dragStart(o,e),p.push(f);else{if(m[s]||(m[s]=d.childGestos[n]),!m[s])return;f=setCustomDrag(e,g,o,c,r,s),p.push(f)}var v=t[i](u,__assign$6(__assign$6({},f),{parentFlag:!0}));return l&&(m[s]=null),v});return a&&(d.childGestos=h.map(function(e){return e.state.gestos[s]})),{eventParams:g,childEvents:p}}function triggerChildAbles(e,t,i,o,n,r){void 0===n&&(n=function(e,t){return t});var s=!!i.match(/End$/g),a=fillChildEvents(e,t.name,o),l=e.moveables;return a.map(function(e,o){var r,a=l[o];r=n(a,e);var c=t[i](a,__assign$6(__assign$6({},r),{parentFlag:!0}));return s&&(a.state.gestos={}),c})}function startChildDist(e,t,i,o){var n=i.fixedDirection,r=i.fixedPosition,s=getPosByDirection(o.datas.startPositions||getAbsolutePosesByState(t.state),n),a=__read$1(calculate(createRotateMatrix(-e.rotation/180*Math.PI,3),[s[0]-r[0],s[1]-r[1],1],3),2),l=a[0],c=a[1];return o.datas.originalX=l,o.datas.originalY=c,o}function renderDirectionControlsByInfos(e,t,i,o){var n=e.getState(),r=n.renderPoses,s=n.rotation,a=n.direction,l=getProps(e.props,t).zoom,c=absDegree(s/Math.PI*180),d={},u=e.renderState;u.renderDirectionMap||(u.renderDirectionMap={});var h=u.renderDirectionMap;i.forEach(function(e){var t=e.dir;d[t]=!0});var p=sign(a);return i.map(function(e){var i=e.data,n=e.classNames,a=e.dir,u=DIRECTION_INDEXES[a];if(!u||!d[a])return null;h[a]=!0;var g=(throttle(c,15)+p*DIRECTION_ROTATIONS[a]+720)%180,m={};return getKeys(i).forEach(function(e){m["data-".concat(e)]=i[e]}),o.createElement("div",__assign$6({className:prefix$1.apply(void 0,__spreadArray$3(["control","direction",a,t],__read$1(n),!1)),"data-rotation":g,"data-direction":a},m,{key:"direction-".concat(a),style:getControlTransform.apply(void 0,__spreadArray$3([s,l],__read$1(u.map(function(e){return r[e]})),!1))}))})}function renderDirectionControls(e,t,i,o){var n=getProps(e.props,i),r=n.renderDirections,s=void 0===r?t:r,a=n.displayAroundControls;if(!s)return[];var l=!0===s?DIRECTIONS:s;return __spreadArray$3(__spreadArray$3([],__read$1(a?renderAroundControls(e,o,i,l):[]),!1),__read$1(renderDirectionControlsByInfos(e,i,l.map(function(e){return{data:{},classNames:[],dir:e}}),o)),!1)}function renderLine(e,t,i,o,n,r){for(var s=[],a=6;a0,m=h>0,f={isBound:!1,offset:0,pos:0},v={isBound:!1,offset:0,pos:0};if(0===h&&0===p)return{vertical:f,horizontal:v};if(0===h)g?ad&&(v.pos=r,v.offset=d-r);else if(0===p)m?sc&&(f.pos=n,f.offset=c-n);else{var b=p/h,_=i[1]-b*c,y=0,C=0,w=!1;m&&s<=c?(y=b*s+_,C=s,w=!0):!m&&c<=n&&(y=b*n+_,C=n,w=!0),w&&(ya)&&(w=!1),w||(g&&a<=d?(C=((y=a)-_)/b,w=!0):!g&&d<=r&&(C=((y=r)-_)/b,w=!0)),w&&(f.isBound=!0,f.pos=C,f.offset=c-C,v.isBound=!0,v.pos=y,v.offset=d-y)}return{vertical:f,horizontal:v}}function checkBounds(e,t,i){var o=e[i?"left":"top"],n=e[i?"right":"bottom"],r=Math.min.apply(Math,__spreadArray$3([],__read$1(t),!1)),s=Math.max.apply(Math,__spreadArray$3([],__read$1(t),!1)),a=[];return o+1>r&&a.push({direction:"start",isBound:!0,offset:r-o,pos:o}),n-1.1||e[0]>t.right&&abs(e[0]-t.right)>.1||e[1].1||e[1]>t.bottom&&abs(e[1]-t.bottom)>.1})}function boundRotate(e,t,i){var o=getDistSize(e),n=Math.sqrt(o*o-t*t)||0;return[n,-n].sort(function(t,o){return abs(t-e[i?0:1])-abs(o-e[i?0:1])}).map(function(e){return getRad$1([0,0],i?[e,t]:[t,e])})}function checkRotateBounds(e,t,i,o,n){if(!e.props.bounds)return[];var r=n*Math.PI/180,s=getBounds(e),a=s.left,l=s.top,c=s.right,d=s.bottom,u=a-o[0],h=c-o[0],p=l-o[1],g=d-o[1],m={left:u,top:p,right:h,bottom:g};if(!isBoundRotate$1(i,m,0))return[];var f=[];return[[u,0],[h,0],[p,1],[g,1]].forEach(function(e){var o=__read$1(e,2),n=o[0],s=o[1];i.forEach(function(e){var i=getRad$1([0,0],e);f.push.apply(f,__spreadArray$3([],__read$1(boundRotate(e,n,s).map(function(e){return r+e-i}).filter(function(e){return!isBoundRotate$1(t,m,e)}).map(function(e){return throttle(180*e/Math.PI,TINY_NUM)})),!1))})}),f}var VERTICAL_NAMES=["left","right","center"],HORIZONTAL_NAMES=["top","bottom","middle"],SNAP_SKIP_NAMES_MAP={left:"start",right:"end",center:"center",top:"start",bottom:"end",middle:"center"},VERTICAL_NAMES_MAP={start:"left",end:"right",center:"center"},HORIZONTAL_NAMES_MAP={start:"top",end:"bottom",center:"middle"};function getInitialBounds(){return{left:!1,top:!1,right:!1,bottom:!1}}function hasGuidelines(e,t){var i=e.props,o=i.snappable,n=i.bounds,r=i.innerBounds,s=i.verticalGuidelines,a=i.horizontalGuidelines,l=i.snapGridWidth,c=i.snapGridHeight,d=e.state,u=d.guidelines,h=d.enableSnap;return!(!o||!h||t&&!0!==o&&o.indexOf(t)<0)&&!!(l||c||n||r||u&&u.length||s&&s.length||a&&a.length)}function getSnapDirections(e){return!1===e?{}:!0!==e&&e?e:{left:!0,right:!0,top:!0,bottom:!0}}function mapSnapDirectionPoses(e,t){var i=getSnapDirections(e),o={};for(var n in i)n in t&&i[n]&&(o[n]=t[n]);return o}function splitSnapDirectionPoses(e,t){var i=mapSnapDirectionPoses(e,t),o=HORIZONTAL_NAMES.filter(function(e){return e in i}),n=VERTICAL_NAMES.filter(function(e){return e in i});return{horizontalNames:o,verticalNames:n,horizontal:o.map(function(e){return i[e]}),vertical:n.map(function(e){return i[e]})}}function calculateContainerPos(e,t,i){var o=calculatePosition(e,[t.clientLeft,t.clientTop],i);return[t.left+o[0],t.top+o[1]]}function solveLineConstants(e){var t=__read$1(e,2),i=t[0],o=t[1],n=o[0]-i[0],r=o[1]-i[1];Math.abs(n)0,p=d>0;d=getTinyDist(d),u=getTinyDist(u);var g={isSnap:!1,offset:0,pos:0},m={isSnap:!1,offset:0,pos:0};if(0===d&&0===u)return{vertical:g,horizontal:m};var f=checkMoveableSnapPoses(e,d?[n]:[],u?[r]:[],[],[],void 0,void 0),v=f.vertical,b=f.horizontal;v.posInfos.filter(function(e){var t=e.pos;return p?t>=a:t<=a}),b.posInfos.filter(function(e){var t=e.pos;return h?t>=l:t<=l}),v.isSnap=v.posInfos.length>0,b.isSnap=b.posInfos.length>0;var _=getNearestSnapGuidelineInfo(v),y=_.isSnap,C=_.guideline,w=getNearestSnapGuidelineInfo(b),x=w.isSnap,S=w.guideline,k=x?S.pos[1]:0,E=y?C.pos[0]:0;if(0===d)x&&(m.isSnap=!0,m.pos=S.pos[1],m.offset=r-m.pos);else if(0===u)y&&(g.isSnap=!0,g.pos=E,g.offset=n-E);else{var I=u/d,T=i[1]-I*n,D=0,L=0,N=!1;y?(D=I*(L=E)+T,N=!0):x&&(L=((D=k)-T)/I,N=!0),N&&(g.isSnap=!0,g.pos=L,g.offset=n-L,m.isSnap=!0,m.pos=D,m.offset=r-D)}return{vertical:g,horizontal:m}}function getStringDirection(e){var t="";return-1===e||"top"===e||"left"===e?t="start":0===e||"center"===e||"middle"===e?t="center":1!==e&&"right"!==e&&"bottom"!==e||(t="end"),t}function checkSnaps(e,t,i,o){var n=splitSnapDirectionPoses(e.props.snapDirections,t),r=checkMoveableSnapPoses(e,n.vertical,n.horizontal,n.verticalNames.map(function(e){return getStringDirection(e)}),n.horizontalNames.map(function(e){return getStringDirection(e)}),i,o),s=getStringDirection(n.horizontalNames[r.horizontal.index]),a=getStringDirection(n.verticalNames[r.vertical.index]);return{vertical:__assign$6(__assign$6({},r.vertical),{direction:a}),horizontal:__assign$6(__assign$6({},r.horizontal),{direction:s})}}function getNearestSnapGuidelineInfo(e){var t=e.isSnap;if(!t)return{isSnap:!1,offset:0,dist:-1,pos:0,guideline:null};var i=e.posInfos[0],o=i.guidelineInfos[0],n=o.offset,r=o.dist,s=o.guideline;return{isSnap:t,offset:n,dist:r,pos:i.pos,guideline:s}}function checkSnap(e,t,i,o,n){var r,s;if(void 0===n&&(n=[]),!e||!e.length)return{isSnap:!1,index:-1,direction:"",posInfos:[]};var a="vertical"===t?0:1,l=i.map(function(i,r){var s=n[r]||"",l=e.map(function(e){var t=e.pos,o=i-t[a];return{offset:o,dist:abs(o),guideline:e,direction:s}}).filter(function(e){var i=e.guideline,n=e.dist;return!(i.type!==t||n>o)}).sort(function(e,t){return e.dist-t.dist});return{pos:i,index:r,guidelineInfos:l,direction:s}}).filter(function(e){return e.guidelineInfos.length>0}).sort(function(e,t){return e.guidelineInfos[0].dist-t.guidelineInfos[0].dist}),c=l.length>0;return{isSnap:c,index:c?l[0].index:-1,direction:null!==(s=null===(r=l[0])||void 0===r?void 0:r.direction)&&void 0!==s?s:"",posInfos:l}}function getSnapInfosByDirection(e,t,i,o,n){var r=[];i[0]&&i[1]?r=[i,[-i[0],i[1]],[i[0],-i[1]]]:i[0]||i[1]?e.props.keepRatio?r.push([-1,-1],[-1,1],[1,-1],[1,1],i):(r.push.apply(r,__spreadArray$3([],__read$1(getPosesByDirection([[-1,-1],[1,-1],[-1,-1],[1,1]],i)),!1)),r.length>1&&r.push([(r[0][0]+r[1][0])/2,(r[0][1]+r[1][1])/2])):[[-1,-1],[1,-1],[1,1],[-1,1]].forEach(function(e,t,i){var o=i[t+1]||i[0];r.push(e),r.push([(e[0]+o[0])/2,(e[1]+o[1])/2])});var s=r.map(function(e){return getPosByDirection(t,e)}),a=checkMoveableSnapPoses(e,s.map(function(e){return e[0]}),s.map(function(e){return e[1]}),r.map(function(e){return getStringDirection(e[0])}),r.map(function(e){return getStringDirection(e[1])}),o,n),l=getStringDirection(r.map(function(e){return e[0]})[a.vertical.index]),c=getStringDirection(r.map(function(e){return e[1]})[a.horizontal.index]);return{vertical:__assign$6(__assign$6({},a.vertical),{direction:l}),horizontal:__assign$6(__assign$6({},a.horizontal),{direction:c})}}function checkSnapBoundPriority(e,t){var i=abs(e.offset),o=abs(t.offset);return e.isBound&&t.isBound?o-i:e.isBound?-1:t.isBound?1:e.isSnap&&t.isSnap?o-i:e.isSnap?-1:t.isSnap||is||l>s,d=__read$1(getDragDist({datas:n,distX:r[0],distY:r[1]}),2);return{offset:[d[0],d[1]],isOutside:c}}function getSnapBound(e,t){return e.isBound?e.offset:t.isSnap?getNearestSnapGuidelineInfo(t).offset:0}function checkThrottleDragRotate(e,t,i,o,n){var r=__read$1(t,2),s=r[0],a=r[1],l=__read$1(i,2),c=l[0],d=l[1],u=__read$1(o,2),h=u[0],p=u[1],g=__read$1(n,2),m=g[0],f=g[1],v=-m,b=-f;if(e&&s&&a){v=0,b=0;var _=[];if(c&&d?_.push([0,f],[m,0]):c?_.push([m,0]):d?_.push([0,f]):h&&p?_.push([0,f],[m,0]):h?_.push([m,0]):p&&_.push([0,f]),_.length){_.sort(function(e,t){return getDistSize(minus([s,a],e))-getDistSize(minus([s,a],t))});var y=_[0];if(y[0]&&abs(s)>TINY_NUM$1)v=-y[0],b=a*abs(s+v)/abs(s)-a;else if(y[1]&&abs(a)>TINY_NUM$1){var C=a;b=-y[1],v=s*abs(a+b)/abs(C)-s}if(e&&d&&c)if(abs(v)>TINY_NUM$1&&abs(v)TINY_NUM$1&&abs(b)177,g=h>87&&h<93;return c.dist0&&(u||h)){var E=v.startDragRotate||0,I=throttle(E+180*getRad$1([0,0],[u,h])/Math.PI,y)-E,T=h*Math.abs(Math.cos((I-90)/180*Math.PI)),D=getDistSize([u*Math.abs(Math.cos(I/180*Math.PI)),T]);C=I*Math.PI/180,u=D*Math.cos(C),h=D*Math.sin(C)}if(!r&&!o&&!n){var L=__read$1(checkSnapBoundsDrag(e,u,h,y,!a&&l||s,i),2),N=L[0],M=L[1];w=N.isSnap,x=N.isBound,S=M.isSnap,k=M.isBound,u+=N.offset,h+=M.offset}var $=plus(getBeforeDragDist({datas:i,distX:u,distY:h}),f),R=plus(getTransformDist({datas:i,distX:u,distY:h}),f);throttleArray(R,TINY_NUM),throttleArray($,TINY_NUM),y||(w||x||(R[0]=throttle(R[0],_),$[0]=throttle($[0],_)),S||k||(R[1]=throttle(R[1],_),$[1]=throttle($[1],_)));var A=minus($,f),O=minus(R,f),P=minus(O,g),B=minus(A,m);i.prevDist=O,i.prevBeforeDist=A,i.passDelta=P,i.passDist=O;var F=i.left+A[0],z=i.top+A[1],V=i.right-A[0],H=i.bottom-A[1],W=convertTransformFormat(i,"translate(".concat(R[0],"px, ").concat(R[1],"px)"),"translate(".concat(O[0],"px, ").concat(O[1],"px)"));if(fillOriginalTransform(t,W),e.state.dragInfo.dist=o?[0,0]:O,o||b||!P.every(function(e){return!e})||!B.some(function(e){return!e})){var K=e.state,U=K.width,j=K.height,G=fillParams(e,t,__assign$6({transform:W,dist:O,delta:P,translate:R,beforeDist:A,beforeDelta:B,beforeTranslate:$,left:F,top:z,right:V,bottom:H,width:U,height:j,isPinch:r},fillCSSObject({transform:W},t)));return!o&&triggerEvent(e,"onDrag",G),G}}}},dragAfter:function(e,t){var i=t.datas,o=i.deltaOffset;return!(!o[0]&&!o[1])&&(i.deltaOffset=[0,0],this.drag(e,__assign$6(__assign$6({},t),{deltaOffset:o})))},dragEnd:function(e,t){var i=t.parentEvent,o=t.datas;if(e.state.dragInfo=null,o.isDrag){o.isDrag=!1;var n=fillEndParams(e,t,{});return!i&&triggerEvent(e,"onDragEnd",n),n}},dragGroupStart:function(e,t){var i,o,n=t.datas,r=t.clientX,s=t.clientY,a=this.dragStart(e,t);if(!a)return!1;var l=triggerChildGesto(e,this,"dragStart",[r||0,s||0],t,!1,"draggable"),c=l.childEvents,d=l.eventParams,u=triggerEvent(e,"onDragGroupStart",__assign$6(__assign$6({},a),{targets:e.props.targets,events:d}));n.isDrag=!1!==u;var h=null!==(o=null===(i=c[0])||void 0===i?void 0:i.datas.startValue)&&void 0!==o?o:[0,0];return n.throttleOffset=[h[0]%1,h[1]%1],!!n.isDrag&&a},dragGroup:function(e,t){if(t.datas.isDrag){var i=this.drag(e,__assign$6(__assign$6({},t),{parentThrottleDrag:e.props.throttleDrag})),o=triggerChildGesto(e,this,"drag",t.datas.passDelta,t,!1,"draggable").eventParams;if(i){var n=__assign$6({targets:e.props.targets,events:o},i);return triggerEvent(e,"onDragGroup",n),n}}},dragGroupEnd:function(e,t){var i=t.isDrag;if(t.datas.isDrag){this.dragEnd(e,t);var o=triggerChildGesto(e,this,"dragEnd",[0,0],t,!1,"draggable").eventParams;return triggerEvent(e,"onDragGroupEnd",fillEndParams(e,t,{targets:e.props.targets,events:o})),i}},request:function(e){var t={},i=e.getRect(),o=0,n=0,r=!1;return{isControl:!1,requestStart:function(e){return r=e.useSnap,{datas:t,useSnap:r}},request:function(e){return"x"in e?o=e.x-i.left:"deltaX"in e&&(o+=e.deltaX),"y"in e?n=e.y-i.top:"deltaY"in e&&(n+=e.deltaY),{datas:t,distX:o,distY:n,useSnap:r}},requestEnd:function(){return{datas:t,isDrag:!0,useSnap:r}}}},unset:function(e){e.state.gestos.draggable=null,e.state.dragInfo=null}};function getFixedDirectionInfo(e,t){return{fixedPosition:getPosByDirection(e,t),fixedDirection:t,fixedOffset:[0,0]}}function getOffsetFixedDirectionInfo(e,t){var i=e.allMatrix,o=e.is3d,n=e.width,r=e.height,s=o?4:3;return{fixedPosition:calculatePosition(i,[n/2*(1+t[0]),r/2*(1+t[1])],s),fixedDirection:t,fixedOffset:[0,0]}}function getOffsetFixedPositionInfo(e,t){var i=e.allMatrix,o=e.is3d,n=e.width,r=e.height,s=o?4:3,a=getDirectionByPos(t,n,r);return{fixedPosition:calculatePosition(i,t,s),fixedDirection:a,fixedOffset:[n?0:t[0],r?0:t[1]]}}var directionCondition$2=getDirectionCondition("resizable"),Resizable={name:"resizable",ableGroup:"size",canPinch:!0,props:["resizable","throttleResize","renderDirections","displayAroundControls","keepRatio","resizeFormat","keepRatioFinally","edge","checkResizableError"],events:["resizeStart","beforeResize","resize","resizeEnd","resizeGroupStart","beforeResizeGroup","resizeGroup","resizeGroupEnd"],render:getRenderDirections("resizable"),dragControlCondition:directionCondition$2,viewClassName:getDirectionViewClassName("resizable"),dragControlStart:function(e,t){var i,o=t.inputEvent,n=t.isPinch,r=t.isGroup,s=t.parentDirection,a=t.parentGesto,l=t.datas,c=t.parentFixedDirection,d=t.parentEvent,u=getTotalDirection(s,n,o,l),h=e.state,p=h.target,g=h.width,m=h.height,f=h.gestos;if(!u||!p)return!1;if(f.resizable)return!1;f.resizable=a||e.controlGesto,!n&&setDragStart(e,t),l.datas={},l.direction=u,l.startOffsetWidth=g,l.startOffsetHeight=m,l.prevWidth=0,l.prevHeight=0,l.minSize=[0,0],l.startWidth=h.inlineCSSWidth||h.cssWidth,l.startHeight=h.inlineCSSHeight||h.cssHeight,l.maxSize=[1/0,1/0],r||(l.minSize=[h.minOffsetWidth,h.minOffsetHeight],l.maxSize=[h.maxOffsetWidth,h.maxOffsetHeight]);var v=e.props.transformOrigin||"% %";function b(e){l.ratio=e&&isFinite(e)?e:0}function _(e){var t=getFixedDirectionInfo(l.startPositions,e);l.fixedDirection=t.fixedDirection,l.fixedPosition=t.fixedPosition,l.fixedOffset=t.fixedOffset}function y(t){var i=getOffsetFixedPositionInfo(e.state,t);l.fixedDirection=i.fixedDirection,l.fixedPosition=i.fixedPosition,l.fixedOffset=i.fixedOffset}function C(e){l.minSize=[convertUnitSize("".concat(e[0]),0)||0,convertUnitSize("".concat(e[1]),0)||0]}function w(e){var t=[e[0]||1/0,e[1]||1/0];isNumber$1(t[0])&&!isFinite(t[0])||(t[0]=convertUnitSize("".concat(t[0]),0)||1/0),isNumber$1(t[1])&&!isFinite(t[1])||(t[1]=convertUnitSize("".concat(t[1]),0)||1/0),l.maxSize=t}l.transformOrigin=isString$2(v)?v.split(" "):v,l.startOffsetMatrix=h.offsetMatrix,l.startTransformOrigin=h.transformOrigin,l.isWidth=null!==(i=null==t?void 0:t.parentIsWidth)&&void 0!==i?i:!u[0]&&!u[1]||u[0]||!u[1],l.startPositions=getAbsolutePosesByState(e.state),b(g/m),_(c||[-u[0],-u[1]]),l.setFixedDirection=_,l.setFixedPosition=y,l.setMin=C,l.setMax=w;var x=fillParams(e,t,{direction:u,startRatio:l.ratio,set:function(e){var t=__read$1(e,2),i=t[0],o=t[1];l.startWidth=i,l.startHeight=o},setMin:C,setMax:w,setRatio:b,setFixedDirection:_,setFixedPosition:y,setOrigin:function(e){l.transformOrigin=e},dragStart:Draggable.dragStart(e,(new CustomGesto).dragStart([0,0],t))}),S=d||triggerEvent(e,"onResizeStart",x);return l.startFixedDirection=l.fixedDirection,l.startFixedPosition=l.fixedPosition,!1!==S&&(l.isResize=!0,e.state.snapRenderInfo={request:t.isRequest,direction:u}),!!l.isResize&&x},dragControl:function(e,t){var i,o=t.datas,n=t.parentFlag,r=t.isPinch,s=t.parentKeepRatio,a=t.dragClient,l=t.parentDist,c=t.useSnap,d=t.isRequest,u=t.isGroup,h=t.parentEvent,p=t.resolveMatrix,g=o.isResize,m=o.transformOrigin,f=o.startWidth,v=o.startHeight,b=o.prevWidth,_=o.prevHeight,y=o.minSize,C=o.maxSize,w=o.ratio,x=o.startOffsetWidth,S=o.startOffsetHeight,k=o.isWidth;if(g){if(p){var E=e.state.is3d,I=o.startOffsetMatrix,T=o.startTransformOrigin,D=E?4:3,L=parseMat(getNextTransforms(t)),N=Math.sqrt(L.length);D!==N&&(L=convertDimension(L,N,D));var M=getNextMatrix(I,L,T,D),$=calculatePoses(M,x,S,D);o.startPositions=$,o.nextTargetMatrix=L,o.nextAllMatrix=M}var R=getProps(e.props,"resizable"),A=R.resizeFormat,O=R.throttleResize,P=void 0===O?n?0:1:O,B=R.parentMoveable,F=R.keepRatioFinally,z=o.direction,V=z,H=0,W=0;z[0]||z[1]||(V=[1,1]);var K=w&&(null!=s?s:R.keepRatio)||!1,U=__read$1(ne(),2),j=U[0],G=U[1];h||(o.setFixedDirection(o.fixedDirection),triggerEvent(e,"onBeforeResize",fillParams(e,t,{startFixedDirection:o.startFixedDirection,startFixedPosition:o.startFixedPosition,setFixedDirection:function(e){var t;return o.setFixedDirection(e),t=__read$1(ne(),2),j=t[0],G=t[1],[j,G]},setFixedPosition:function(e){var t;return o.setFixedPosition(e),t=__read$1(ne(),2),j=t[0],G=t[1],[j,G]},boundingWidth:j,boundingHeight:G,setSize:function(e){var t;t=__read$1(e,2),j=t[0],G=t[1]}},!0)));var q=a;a||(q=!n&&r?getAbsolutePosition$1(e,[0,0]):o.fixedPosition);var Y=[0,0];if(r||(Y=checkSnapResize(e,j,G,z,q,!c&&d,o)),l&&(!l[0]&&(Y[0]=0),!l[1]&&(Y[1]=0)),K){V[0]&&V[1]&&Y[0]&&Y[1]&&(abs(Y[0])>abs(Y[1])?Y[1]=0:Y[0]=0);var X=!Y[0]&&!Y[1];X&&re(),V[0]&&!V[1]||Y[0]&&!Y[1]||X&&k?(j+=Y[0],G=j/w):(!V[0]&&V[1]||!Y[0]&&Y[1]||X&&!k)&&(G+=Y[1],j=G*w)}else j+=Y[0],G+=Y[1],j=Math.max(0,j),G=Math.max(0,G);i=__read$1(calculateBoundSize([j,G],y,C,!!K&&w),2),j=i[0],G=i[1],re(),K&&(u||F)&&(k?G=j/w:j=G*w);var Q=[(H=j-x)-b,(W=G-S)-_];o.prevWidth=H,o.prevHeight=W;var Z=getResizeDist(e,j,G,q,m,o);if(B||!Q.every(function(e){return!e})||!Z.every(function(e){return!e})){var J=Draggable.drag(e,setCustomDrag(t,e.state,Z,!!r,!1,"draggable")),ee=J.transform,te=f+H,ie=v+W,oe=fillParams(e,t,__assign$6({width:te,height:ie,offsetWidth:Math.round(j),offsetHeight:Math.round(G),startRatio:w,boundingWidth:j,boundingHeight:G,direction:z,dist:[H,W],delta:Q,isPinch:!!r,drag:J},fillAfterTransform({style:{width:"".concat(te,"px"),height:"".concat(ie,"px")},transform:ee},J,t)));return!h&&triggerEvent(e,"onResize",oe),oe}}function ne(){var e=o.fixedDirection,i=getOffsetSizeDist(V,K,o,t);H=i.distWidth,W=i.distHeight;var n=V[0]-e[0]||K?Math.max(x+H,TINY_NUM):x,r=V[1]-e[1]||K?Math.max(S+W,TINY_NUM):S;return K&&x&&S&&(k?r=n/w:n=r*w),[n,r]}function re(){var e;A&&(e=__read$1(A([j,G]),2),j=e[0],G=e[1]),j=throttle(j,P),G=throttle(G,P)}},dragControlAfter:function(e,t){var i=t.datas,o=i.isResize,n=i.startOffsetWidth,r=i.startOffsetHeight,s=i.prevWidth,a=i.prevHeight;if(o&&!1!==e.props.checkResizableError){var l=e.state,c=l.width-(n+s),d=l.height-(r+a),u=abs(c)>3,h=abs(d)>3;return u&&(i.startWidth+=c,i.startOffsetWidth+=c,i.prevWidth+=c),h&&(i.startHeight+=d,i.startOffsetHeight+=d,i.prevHeight+=d),u||h?this.dragControl(e,t):void 0}},dragControlEnd:function(e,t){var i=t.datas,o=t.parentEvent;if(i.isResize){i.isResize=!1;var n=fillEndParams(e,t,{});return!o&&triggerEvent(e,"onResizeEnd",n),n}},dragGroupControlCondition:directionCondition$2,dragGroupControlStart:function(e,t){var i=t.datas,o=this.dragControlStart(e,__assign$6(__assign$6({},t),{isGroup:!0}));if(!o)return!1;var n=fillChildEvents(e,"resizable",t),r=i.startOffsetWidth,s=i.startOffsetHeight;function a(){var e=i.minSize;n.forEach(function(t){var i=t.datas,o=i.minSize,n=i.startOffsetWidth,a=i.startOffsetHeight,l=r*(n?o[0]/n:0),c=s*(a?o[1]/a:0);e[0]=Math.max(e[0],l),e[1]=Math.max(e[1],c)})}function l(){var e=i.maxSize;n.forEach(function(t){var i=t.datas,o=i.maxSize,n=i.startOffsetWidth,a=i.startOffsetHeight,l=r*(n?o[0]/n:0),c=s*(a?o[1]/a:0);e[0]=Math.min(e[0],l),e[1]=Math.min(e[1],c)})}var c=triggerChildAbles(e,this,"dragControlStart",t,function(t,o){return startChildDist(e,t,i,o)});a(),l();var d=function(t){o.setFixedDirection(t),c.forEach(function(o,r){o.setFixedDirection(t),startChildDist(e,o.moveable,i,n[r])})};i.setFixedDirection=d;var u=__assign$6(__assign$6({},o),{targets:e.props.targets,events:c.map(function(e){return __assign$6(__assign$6({},e),{setMin:function(t){e.setMin(t),a()},setMax:function(t){e.setMax(t),l()}})}),setFixedDirection:d,setMin:function(e){o.setMin(e),a()},setMax:function(e){o.setMax(e),l()}}),h=triggerEvent(e,"onResizeGroupStart",u);return i.isResize=!1!==h,!!i.isResize&&o},dragGroupControl:function(e,t){var i=t.datas;if(i.isResize){var o=getProps(e.props,"resizable");catchEvent(e,"onBeforeResize",function(i){triggerEvent(e,"onBeforeResizeGroup",fillParams(e,t,__assign$6(__assign$6({},i),{targets:o.targets}),!0))});var n=this.dragControl(e,__assign$6(__assign$6({},t),{isGroup:!0}));if(n){var r=n.boundingWidth,s=n.boundingHeight,a=n.dist,l=o.keepRatio,c=[r/(r-a[0]),s/(s-a[1])],d=i.fixedPosition,u=triggerChildAbles(e,this,"dragControl",t,function(t,i){var o=__read$1(calculate(createRotateMatrix(e.rotation/180*Math.PI,3),[i.datas.originalX*c[0],i.datas.originalY*c[1],1],3),2),n=o[0],r=o[1];return __assign$6(__assign$6({},i),{parentDist:null,parentScale:c,dragClient:plus(d,[n,r]),parentKeepRatio:l})}),h=__assign$6({targets:o.targets,events:u},n);return triggerEvent(e,"onResizeGroup",h),h}}},dragGroupControlEnd:function(e,t){var i=t.isDrag;if(t.datas.isResize){this.dragControlEnd(e,t);var o=triggerChildAbles(e,this,"dragControlEnd",t);return triggerEvent(e,"onResizeGroupEnd",fillEndParams(e,t,{targets:e.props.targets,events:o})),i}},request:function(e){var t={},i=0,o=0,n=!1,r=e.getRect();return{isControl:!0,requestStart:function(e){var i;return n=e.useSnap,{datas:t,parentDirection:e.direction||[1,1],parentIsWidth:null===(i=null==e?void 0:e.horizontal)||void 0===i||i,useSnap:n}},request:function(e){return"offsetWidth"in e?i=e.offsetWidth-r.offsetWidth:"deltaWidth"in e&&(i+=e.deltaWidth),"offsetHeight"in e?o=e.offsetHeight-r.offsetHeight:"deltaHeight"in e&&(o+=e.deltaHeight),{datas:t,parentDist:[i,o],parentKeepRatio:e.keepRatio,useSnap:n}},requestEnd:function(){return{datas:t,isDrag:!0,useSnap:n}}}},unset:function(e){e.state.gestos.resizable=null}};function setRotateStartInfo(e,t,i,o,n){var r=e.props.groupable,s=e.state,a=s.is3d?4:3,l=t.origin,c=calculatePosition(e.state.rootMatrix,minus([l[0],l[1]],r?[0,0]:[s.left,s.top]),a),d=plus([n.left,n.top],c);t.startAbsoluteOrigin=d,t.prevDeg=getRad$1(d,[i,o])/Math.PI*180,t.defaultDeg=t.prevDeg,t.prevSnapDeg=0,t.loop=0,t.startDist=getDist$2(d,[i,o])}function getAbsoluteDist(e,t,i){var o=i.defaultDeg,n=i.prevDeg,r=n%360,s=Math.floor(n/360);r<0&&(r+=360),r>e&&r>270&&e<90?++s:r270&&--s;var a=t*(360*s+e-o);return i.prevDeg=o+a,a}function getAbsoluteDistByClient(e,t,i,o){return getAbsoluteDist(getRad$1(o.startAbsoluteOrigin,[e,t])/Math.PI*180,i,o)}function getRotateInfo(e,t,i,o,n,r){var s=e.props.throttleRotate,a=void 0===s?0:s,l=i.prevSnapDeg,c=0,d=!1;if(r){var u=checkSnapRotate(e,t,o,n+o);d=u.isSnap,c=n+u.dist}d||(c=throttle(n+o,a));var h=c-n;return i.prevSnapDeg=h,[h-l,h,c]}function getRotationPositions(e,t,i){var o=__read$1(t,4),n=o[0],r=o[1],s=o[2],a=o[3];if("none"===e)return[];if(isArray$2(e))return e.map(function(e){return getRotationPositions(e,[n,r,s,a],i)[0]});var l=__read$1((e||"top").split("-"),2),c=l[0],d=l[1],u=[n,r];"left"===c?u=[s,n]:"right"===c?u=[r,a]:"bottom"===c&&(u=[a,s]);var h=[(u[0][0]+u[1][0])/2,(u[0][1]+u[1][1])/2],p=getRotationRad(u,i);if(d){var g="top"===d||"left"===d,m="bottom"===c||"left"===c;h=u[g&&!m||!g&&m?0:1]}return[[h,p]]}function dragControlCondition(e,t){if(t.isRequest)return"rotatable"===t.requestAble;var i=t.inputEvent.target;if(hasClass$1(i,prefix$1("rotation-control"))||e.props.rotateAroundControls&&hasClass$1(i,prefix$1("around-control"))||hasClass$1(i,prefix$1("control"))&&hasClass$1(i,prefix$1("rotatable")))return!0;var o=e.props.rotationTarget;return!!o&&getRefTargets(o,!0).some(function(e){return!!e&&(i===e||i.contains(e))})}var css=".rotation {\nposition: absolute;\nheight: 40px;\nwidth: 1px;\ntransform-origin: 50% 100%;\nheight: calc(40px * var(--zoom));\ntop: auto;\nleft: 0;\nbottom: 100%;\nwill-change: transform;\n}\n.rotation .rotation-line {\ndisplay: block;\nwidth: 100%;\nheight: 100%;\ntransform-origin: 50% 50%;\n}\n.rotation .rotation-control {\nborder-color: #4af;\nborder-color: var(--moveable-color);\nbackground:#fff;\ncursor: alias;\n}\n:global .view-rotation-dragging, .rotatable.direction.control {\ncursor: alias;\n}\n.rotatable.direction.control.move {\ncursor: move;\n}\n",Rotatable={name:"rotatable",canPinch:!0,props:["rotatable","rotationPosition","throttleRotate","renderDirections","rotationTarget","rotateAroundControls","edge","resolveAblesWithRotatable","displayAroundControls"],events:["rotateStart","beforeRotate","rotate","rotateEnd","rotateGroupStart","beforeRotateGroup","rotateGroup","rotateGroupEnd"],css:[css],viewClassName:function(e){return e.isDragging("rotatable")?prefix$1("view-rotation-dragging"):""},render:function(e,t){var i=getProps(e.props,"rotatable"),o=i.rotatable,n=i.rotationPosition,r=i.zoom,s=i.renderDirections,a=i.rotateAroundControls,l=i.resolveAblesWithRotatable,c=e.getState(),d=c.renderPoses,u=c.direction;if(!o)return null;var h=getRotationPositions(n,d,u),p=[];if(h.forEach(function(e,i){var o=__read$1(e,2),n=o[0],s=o[1];p.push(t.createElement("div",{key:"rotation".concat(i),className:prefix$1("rotation"),style:{transform:"translate(-50%) translate(".concat(n[0],"px, ").concat(n[1],"px) rotate(").concat(s,"rad)")}},t.createElement("div",{className:prefix$1("line rotation-line"),style:{transform:"scaleX(".concat(r,")")}}),t.createElement("div",{className:prefix$1("control rotation-control"),style:{transform:"translate(0.5px) scale(".concat(r,")")}})))}),s){var g=getKeys(l||{}),m={};g.forEach(function(e){l[e].forEach(function(t){m[t]=e})});var f=[];isArray$2(s)&&(f=s.map(function(e){var t=m[e];return{data:t?{resolve:t}:{},classNames:t?["move"]:[],dir:e}})),p.push.apply(p,__spreadArray$3([],__read$1(renderDirectionControlsByInfos(e,"rotatable",f,t)),!1))}return a&&p.push.apply(p,__spreadArray$3([],__read$1(renderAroundControls(e,t)),!1)),p},dragControlCondition:dragControlCondition,dragControlStart:function(e,t){var i,o,n=t.datas,r=t.clientX,s=t.clientY,a=t.parentRotate,l=t.parentFlag,c=t.isPinch,d=t.isRequest,u=e.state,h=u.target,p=u.left,g=u.top,m=u.direction,f=u.beforeDirection,v=u.targetTransform,b=u.moveableClientRect,_=u.offsetMatrix,y=u.targetMatrix,C=u.allMatrix,w=u.width,x=u.height;if(!d&&!h)return!1;var S=e.getRect();n.rect=S,n.transform=v,n.left=p,n.top=g;var k=function(t){var i=getOffsetFixedPositionInfo(e.state,t);n.fixedDirection=i.fixedDirection,n.fixedOffset=i.fixedOffset,n.fixedPosition=i.fixedPosition,O&&O.setFixedPosition(t)},E=function(t){var i=getOffsetFixedDirectionInfo(e.state,t);n.fixedDirection=i.fixedDirection,n.fixedOffset=i.fixedOffset,n.fixedPosition=i.fixedPosition,O&&O.setFixedDirection(t)},I=r,T=s;if(d||c||l){var D=a||0;n.beforeInfo={origin:S.beforeOrigin,prevDeg:D,defaultDeg:D,prevSnapDeg:0,startDist:0},n.afterInfo=__assign$6(__assign$6({},n.beforeInfo),{origin:S.origin}),n.absoluteInfo=__assign$6(__assign$6({},n.beforeInfo),{origin:S.origin,startValue:D})}else{var L=null===(o=t.inputEvent)||void 0===o?void 0:o.target;if(L){var N=L.getAttribute("data-direction")||"",M=DIRECTION_REGION_TO_DIRECTION[N];if(M){n.isControl=!0,n.isAroundControl=hasClass$1(L,prefix$1("around-control")),n.controlDirection=M;var $=L.getAttribute("data-resolve");$&&(n.resolveAble=$),i=__read$1(getPosByDirection(calculateMoveableClientPositions(u.rootMatrix,u.renderPoses,b),M),2),I=i[0],T=i[1]}}n.beforeInfo={origin:S.beforeOrigin},n.afterInfo={origin:S.origin},n.absoluteInfo={origin:S.origin,startValue:S.rotation};var R=k;k=function(t){var i=u.is3d?4:3,o=__read$1(plus(getOrigin(y,i),t),2),r=o[0],s=o[1],a=calculate(_,convertPositionMatrix([r,s],i)),l=calculate(C,convertPositionMatrix([t[0],t[1]],i));R(t);var c=u.posDelta;n.beforeInfo.origin=minus(a,c),n.afterInfo.origin=minus(l,c),n.absoluteInfo.origin=minus(l,c),setRotateStartInfo(e,n.beforeInfo,I,T,b),setRotateStartInfo(e,n.afterInfo,I,T,b),setRotateStartInfo(e,n.absoluteInfo,I,T,b)},E=function(e){var t=getPosByDirection([[0,0],[w,0],[0,x],[w,x]],e);k(t)}}n.startClientX=I,n.startClientY=T,n.direction=m,n.beforeDirection=f,n.startValue=0,n.datas={},setDefaultTransformIndex(e,t,"rotate");var A=!1,O=!1;n.isControl&&n.resolveAble&&("resizable"===n.resolveAble&&(O=Resizable.dragControlStart(e,__assign$6(__assign$6({},new CustomGesto("resizable").dragStart([0,0],t)),{parentPosition:n.controlPosition,parentFixedPosition:n.fixedPosition}))));O||(A=Draggable.dragStart(e,(new CustomGesto).dragStart([0,0],t))),k(getTotalOrigin(e));var P=fillParams(e,t,__assign$6(__assign$6({set:function(e){n.startValue=e*Math.PI/180},setFixedDirection:E,setFixedPosition:k},fillTransformStartEvent(e,t)),{dragStart:A,resizeStart:O})),B=triggerEvent(e,"onRotateStart",P);return n.isRotate=!1!==B,u.snapRenderInfo={request:t.isRequest},!!n.isRotate&&P},dragControl:function(e,t){var i,o,n,r=t.datas,s=t.clientDistX,a=t.clientDistY,l=t.parentRotate,c=t.parentFlag,d=t.isPinch,u=t.groupDelta,h=t.resolveMatrix,p=r.beforeDirection,g=r.beforeInfo,m=r.afterInfo,f=r.absoluteInfo,v=r.isRotate,b=r.startValue,_=r.rect,y=r.startClientX,C=r.startClientY;if(v){resolveTransformEvent(e,t,"rotate");var w,x,S,k,E,I,T,D,L,N=p*getTransformDirection(t),M=e.props.parentMoveable,$=180/Math.PI*b,R=f.startValue,A=!1,O=y+s,P=C+a;if(!c&&"parentDist"in t){var B=t.parentDist;x=B,E=B,D=B}else d||c?(x=getAbsoluteDist(l,p,g),E=getAbsoluteDist(l,N,m),D=getAbsoluteDist(l,N,f)):(x=getAbsoluteDistByClient(O,P,p,g),E=getAbsoluteDistByClient(O,P,N,m),D=getAbsoluteDistByClient(O,P,N,f),A=!0);if(triggerEvent(e,"onBeforeRotate",fillParams(e,t,{beforeRotation:S=$+x,rotation:I=$+E,absoluteRotation:L=R+D,setRotation:function(e){x=E=e-$,D=E}},!0)),w=(i=__read$1(getRotateInfo(e,_,g,x,$,A),3))[0],x=i[1],S=i[2],k=(o=__read$1(getRotateInfo(e,_,m,E,$,A),3))[0],E=o[1],I=o[2],T=(n=__read$1(getRotateInfo(e,_,f,D,R,A),3))[0],D=n[1],L=n[2],T||k||w||M||h){var F=convertTransformFormat(r,"rotate(".concat(I,"deg)"),"rotate(".concat(E,"deg)"));h&&(r.fixedPosition=getTranslateFixedPosition(e,r.targetAllTransform,r.fixedDirection,r.fixedOffset,r));var z=getRotateDist(e,E,r),V=minus(plus(u||[0,0],z),r.prevInverseDist||[0,0]);r.prevInverseDist=z,r.requestValue=null;var H=fillTransformEvent(e,F,V,d,t),W=H,K=getDist$2([O,P],f.startAbsoluteOrigin)-f.startDist,U=void 0;if("resizable"===r.resolveAble){var j=Resizable.dragControl(e,__assign$6(__assign$6({},setCustomDrag(t,e.state,[t.deltaX,t.deltaY],!!d,!1,"resizable")),{resolveMatrix:!0,parentDistance:K}));j&&(U=j,W=fillAfterTransform(W,j,t))}var G=fillParams(e,t,__assign$6(__assign$6({delta:k,dist:E,rotate:I,rotation:I,beforeDist:x,beforeDelta:w,beforeRotate:S,beforeRotation:S,absoluteDist:D,absoluteDelta:T,absoluteRotate:L,absoluteRotation:L,isPinch:!!d,resize:U},H),W));return triggerEvent(e,"onRotate",G),G}}},dragControlEnd:function(e,t){var i=t.datas;if(i.isRotate){i.isRotate=!1;var o=fillEndParams(e,t,{});return triggerEvent(e,"onRotateEnd",o),o}},dragGroupControlCondition:dragControlCondition,dragGroupControlStart:function(e,t){var i=t.datas,o=e.state,n=o.left,r=o.top,s=o.beforeOrigin,a=this.dragControlStart(e,t);if(!a)return!1;a.set(i.beforeDirection*e.rotation);var l=triggerChildAbles(e,this,"dragControlStart",t,function(e,t){var i=e.state,o=i.left,a=i.top,l=i.beforeOrigin,c=plus(minus([o,a],[n,r]),minus(l,s));return t.datas.startGroupClient=c,t.datas.groupClient=c,__assign$6(__assign$6({},t),{parentRotate:0})}),c=triggerEvent(e,"onRotateGroupStart",__assign$6(__assign$6({},a),{targets:e.props.targets,events:l}));return i.isRotate=!1!==c,!!i.isRotate&&a},dragGroupControl:function(e,t){var i=t.datas;if(i.isRotate){catchEvent(e,"onBeforeRotate",function(i){triggerEvent(e,"onBeforeRotateGroup",fillParams(e,t,__assign$6(__assign$6({},i),{targets:e.props.targets}),!0))});var o=this.dragControl(e,t);if(o){var n=i.beforeDirection,r=o.beforeDist,s=r/180*Math.PI,a=triggerChildAbles(e,this,"dragControl",t,function(e,t){var i=t.datas.startGroupClient,o=__read$1(t.datas.groupClient,2),a=o[0],l=o[1],c=__read$1(rotate(i,s*n),2),d=c[0],u=c[1],h=[d-a,u-l];return t.datas.groupClient=[d,u],__assign$6(__assign$6({},t),{parentRotate:r,groupDelta:h})});e.rotation=n*o.beforeRotation;var l=__assign$6({targets:e.props.targets,events:a,set:function(t){e.rotation=t},setGroupRotation:function(t){e.rotation=t}},o);return triggerEvent(e,"onRotateGroup",l),l}}},dragGroupControlEnd:function(e,t){var i=t.isDrag;if(t.datas.isRotate){this.dragControlEnd(e,t);var o=triggerChildAbles(e,this,"dragControlEnd",t);return triggerEvent(e,"onRotateGroupEnd",fillEndParams(e,t,{targets:e.props.targets,events:o})),i}},request:function(e){var t={},i=0,o=e.getRotation();return{isControl:!0,requestStart:function(){return{datas:t}},request:function(e){return"deltaRotate"in e?i+=e.deltaRotate:"rotate"in e&&(i=e.rotate-o),{datas:t,parentDist:i}},requestEnd:function(){return{datas:t,isDrag:!0}}}}};function renderGuideline(e,t){var i,o=e.direction,n=e.classNames,r=e.size,s=e.pos,a=e.zoom,l=e.key,c="horizontal"===o,d=c?"Y":"X";return t.createElement("div",{key:l,className:n.join(" "),style:(i={},i[c?"width":"height"]="".concat(r),i.transform="translate(".concat(s[0],", ").concat(s[1],") translate").concat(d,"(-50%) scale").concat(d,"(").concat(a,")"),i)})}function renderInnerGuideline(e,t){return renderGuideline(__assign$6(__assign$6({},e),{classNames:__spreadArray$3([prefix$1("line","guideline",e.direction)],__read$1(e.classNames),!1).filter(function(e){return e}),size:e.size||"".concat(e.sizeValue,"px"),pos:e.pos||e.posValue.map(function(e){return"".concat(throttle(e,.1),"px")})}),t)}function renderSnapPoses(e,t,i,o,n,r,s,a){var l=e.props.zoom;return i.map(function(e,i){var c=e.type,d=e.pos,u=[0,0];return u[s]=o,u[s?0:1]=-n+d,renderInnerGuideline({key:"".concat(t,"TargetGuideline").concat(i),classNames:[prefix$1("target","bold",c)],posValue:u,sizeValue:r,zoom:l,direction:t},a)})}function renderGuidelines(e,t,i,o,n,r){var s=e.props,a=s.zoom,l=s.isDisplayInnerSnapDigit,c="horizontal"===t?VERTICAL_NAMES_MAP:HORIZONTAL_NAMES_MAP,d=n[c.start],u=n[c.end];return i.filter(function(e){var t=e.hide,i=e.elementRect;if(t)return!1;if(l&&i){var o=i.rect;if(o[c.start]<=d&&u<=o[c.end])return!1}return!0}).map(function(e,i){var n=e.pos,s=e.size,l=e.element,c=e.className,d=[-o[0]+n[0],-o[1]+n[1]];return renderInnerGuideline({key:"".concat(t,"-default-guideline-").concat(i),classNames:l?[prefix$1("bold"),c]:[prefix$1("normal"),c],direction:t,posValue:d,sizeValue:s,zoom:a},r)})}function renderDigitLine(e,t,i,o,n,r,s,a){var l,c=e.props,d=c.snapDigit,u=void 0===d?0:d,h=c.isDisplaySnapDigit,p=void 0===h||h,g=c.snapDistFormat,m=void 0===g?function(e,t){return e}:g,f=c.zoom,v="horizontal"===t?"X":"Y",b="vertical"===t?"height":"width",_=Math.abs(n),y=p?parseFloat(_.toFixed(u)):0;return a.createElement("div",{key:"".concat(t,"-").concat(i,"-guideline-").concat(o),className:prefix$1("guideline-group",t),style:(l={left:"".concat(r[0],"px"),top:"".concat(r[1],"px")},l[b]="".concat(_,"px"),l)},renderInnerGuideline({direction:t,classNames:[prefix$1(i),s],size:"100%",posValue:[0,0],sizeValue:_,zoom:f},a),a.createElement("div",{className:prefix$1("size-value","gap"),style:{transform:"translate".concat(v,"(-50%) scale(").concat(f,")")}},y>0?m(y,t):""))}function groupByElementGuidelines(e,t,i,o){var n="vertical"===e?0:1,r="vertical"===e?1:0,s=n?VERTICAL_NAMES_MAP:HORIZONTAL_NAMES_MAP,a=i[s.start],l=i[s.end];return groupBy(t,function(e){return e.pos[n]}).map(function(t){var i=[],c=[];return t.forEach(function(t){var d,u,h=t.element,p=t.elementRect.rect;if(p[s.end]0){var l=[0,0];l[c]=i[c]+b[h.start]-g-r,l[d]=v,s.push(renderDigitLine(e,a,"dashed",s.length,r,l,t.className,n))}b=o}),b=o,u.forEach(function(t){var o=t.elementRect.rect,r=o[h.start]-b[h.end];if(r>0){var l=[0,0];l[c]=i[c]+b[h.end]-g,l[d]=v,s.push(renderDigitLine(e,a,"dashed",s.length,r,l,t.className,n))}b=o}),f.forEach(function(t){var o=t.elementRect.rect,r=g-o[h.start],l=o[h.end]-m,u=[0,0],p=[0,0];u[c]=i[c]-r,u[d]=v,p[c]=i[c]+m-g,p[d]=v,s.push(renderDigitLine(e,a,"dashed",s.length,r,u,t.className,n)),s.push(renderDigitLine(e,a,"dashed",s.length,l,p,t.className,n))})})}),s}function renderGapGuidelines(e,t,i,o,n){var r=[];return["horizontal","vertical"].forEach(function(s){var a=t.filter(function(e){return e.type===s}).slice(0,1),l="vertical"===s?0:1,c=l?0:1,d=l?HORIZONTAL_NAMES_MAP:VERTICAL_NAMES_MAP,u=l?VERTICAL_NAMES_MAP:HORIZONTAL_NAMES_MAP,h=o[d.start],p=o[d.end],g=o[u.start],m=o[u.end];a.forEach(function(t){var o=t.gap,s=t.gapRects,a=Math.max.apply(Math,__spreadArray$3([g],__read$1(s.map(function(e){return e.rect[u.start]})),!1)),f=Math.min.apply(Math,__spreadArray$3([m],__read$1(s.map(function(e){return e.rect[u.end]})),!1)),v=(a+f)/2;a!==f&&v!==(g+m)/2&&s.forEach(function(t){var s=t.rect,a=t.className,u=[i[0],i[1]];if(s[d.end]m||t[d.end]0}).sort(function(e,t){return v(e)-v(t)}),_=[];b.forEach(function(e){b.forEach(function(t){if(e!==t){var i=e.rect,o=t.rect,n=i[d.start],r=i[d.end],s=o[d.start];n>o[d.end]||s>r||_.push([e,t])}})}),_.forEach(function(e){var i=__read$1(e,2),o=i[0],l=i[1],d=o.rect,g=l.rect,m=d[s.start],v=d[s.end],b=g[s.start],_=g[s.end],y=f[s.start],C=0,w=0,x=!1,S=!1,k=!1;if(v<=u&&h<=b){if(S=!0,abs((w=v+(C=(b-v-(h-u))/2)+(h-u)/2)-p)>y)return}else if(vy)return}else{if(!(vy)return}C&&checkBetweenRects(t,g,n,r)&&(C>a||c.push({type:n,pos:"vertical"===n?[w,0]:[0,w],element:l.element,size:0,className:l.className,isStart:x,isCenter:S,isEnd:k,gap:C,hide:!0,gapRects:[o,l],direction:"",elementDirection:""}))})}),c}function startGridGroupGuidelines(e,t,i,o){var n,r,s=e.props,a=e.state,l=s.snapGridAll,c=s.snapGridWidth,d=void 0===c?0:c,u=s.snapGridHeight,h=void 0===u?0:u,p=a.snapRenderInfo,g=p&&((null===(n=p.direction)||void 0===n?void 0:n[0])||(null===(r=p.direction)||void 0===r?void 0:r[1])),m=e.moveables;if(l&&m&&g&&(d||h)){if(a.snapThresholdInfo)return;a.snapThresholdInfo={multiples:[1,1],offset:[0,0]};var f=e.getRect(),v=f.children,b=p.direction;if(v){var _=b.map(function(e,n){var r=0===n?{snapSize:d,posName:"left",sizeName:"width",clientOffset:o.left-t}:{snapSize:h,posName:"top",sizeName:"height",clientOffset:o.top-i},s=r.snapSize,a=r.posName,l=r.sizeName,c=r.clientOffset;if(!s)return{dir:e,multiple:1,snapSize:s,snapOffset:0};var u=f[l],p=f[a],g=flat$2(v.map(function(e){return[e[a]-p,e[l],u-e[l]-e[a]+p]})).filter(function(e){return e}).sort(function(e,t){return e-t}),m=g[0],b=g.map(function(e){return throttle(e/m,.1)*s}),_=1,y=throttle(u/m,.1);for(_=1;_<=10&&!b.every(function(e){return e*_%1==0});++_);var C=(1-e)/2,w=dot$1(p-c,p-c+u,C,1-C);return{multiple:y*_,dir:e,snapSize:s,snapOffset:Math.round(w/s)}}),y=_.map(function(e){return e.multiple||1});a.snapThresholdInfo.multiples=y,a.snapThresholdInfo.offset=_.map(function(e){return e.snapOffset}),_.forEach(function(e,t){e.snapSize})}}else a.snapThresholdInfo=null}function getGridGuidelines(e,t,i,o,n,r,s){void 0===o&&(o=0),void 0===n&&(n=0);var a=e.props,l=e.state,c=a.snapGridWidth,d=void 0===c?0:c,u=a.snapGridHeight,h=void 0===u?0:u,p=[],g=r.left,m=r.top,f=[0,0];startGridGroupGuidelines(e,o,n,r);var v=l.snapThresholdInfo,b=d,_=h;if(v&&(d*=v.multiples[0]||1,h*=v.multiples[1]||1,f=v.offset),h){for(var y=function(e){p.push({type:"horizontal",pos:[g,throttle(f[1]*_+e-n+m,.1)],className:prefix$1("grid-guideline"),size:t,hide:!s,direction:"",grid:!0})},C=0;C<=2*i;C+=h)y(C);for(C=-h;C>=-i;C-=h)y(C)}if(d){for(y=function(e){p.push({type:"vertical",pos:[throttle(f[0]*b+e-o+g,.1),m],className:prefix$1("grid-guideline"),size:i,hide:!s,direction:"",grid:!0})},C=0;C<=2*t;C+=d)y(C);for(C=-d;C>=-t;C-=d)y(C)}return p}function checkBetweenRects(e,t,i,o){return"horizontal"===i?abs(e.right-t.left)<=o||abs(e.left-t.right)<=o||e.left<=t.right&&t.left<=e.right:"vertical"!==i||(abs(e.bottom-t.top)<=o||abs(e.top-t.bottom)<=o||e.top<=t.bottom&&t.top<=e.bottom)}function getElementGuidelines(e){var t=e.state,i=e.props.elementGuidelines,o=void 0===i?[]:i;if(!o.length)return t.elementRects=[],[];var n=(t.elementRects||[]).filter(function(e){return!e.refresh}),r=o.map(function(e){return isObject$3(e)&&"element"in e?__assign$6(__assign$6({},e),{element:getRefTarget(e.element,!0)}):{element:getRefTarget(e,!0)}}).filter(function(e){return e.element}),s=diff(n.map(function(e){return e.element}),r.map(function(e){return e.element})),a=s.maintained,l=s.added,c=[];a.forEach(function(e){var t=__read$1(e,2),i=t[0],o=t[1];c[o]=n[i]}),getSnapElementRects(e,l.map(function(e){return r[e]})).map(function(e,t){c[l[t]]=e}),t.elementRects=c;var d=getSnapDirections(e.props.elementSnapDirections),u=[];return c.forEach(function(e){var t=e.element,i=e.top,o=void 0===i?d.top:i,n=e.left,r=void 0===n?d.left:n,s=e.right,a=void 0===s?d.right:s,l=e.bottom,c=void 0===l?d.bottom:l,h=e.center,p=void 0===h?d.center:h,g=e.middle,m=void 0===g?d.middle:g,f=e.className,v=e.rect,b=splitSnapDirectionPoses({top:o,right:a,left:r,bottom:c,center:p,middle:m},v),_=b.horizontal,y=b.vertical,C=b.horizontalNames,w=b.verticalNames,x=v.top,S=v.left,k=v.right-S,E=v.bottom-x,I=[k,E];y.forEach(function(i,o){u.push({type:"vertical",element:t,pos:[throttle(i,.1),x],size:E,sizes:I,className:f,elementRect:e,elementDirection:SNAP_SKIP_NAMES_MAP[w[o]]||w[o],direction:""})}),_.forEach(function(i,o){u.push({type:"horizontal",element:t,pos:[S,throttle(i,.1)],size:k,sizes:I,className:f,elementRect:e,elementDirection:SNAP_SKIP_NAMES_MAP[C[o]]||C[o],direction:""})})}),u}function getObjectGuidelines(e,t){return e?e.map(function(e){var i=isObject$3(e)?e:{pos:e},o=i.pos;return isNumber$1(o)?i:__assign$6(__assign$6({},i),{pos:convertUnitSize(o,t)})}):[]}function getDefaultGuidelines(e,t,i,o,n,r,s){void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s={left:0,top:0,right:0,bottom:0});var a=[],l=s.left,c=s.top,d=s.bottom,u=i+s.right-l,h=o+d-c;return getObjectGuidelines(e,h).forEach(function(e){a.push({type:"horizontal",pos:[l,throttle(e.pos-r+c,.1)],size:u,className:e.className,direction:""})}),getObjectGuidelines(t,u).forEach(function(e){a.push({type:"vertical",pos:[throttle(e.pos-n+l,.1),c],size:h,className:e.className,direction:""})}),a}function getSnapElementRects(e,t){if(!t.length)return[];var i=e.props.groupable,o=e.state,n=o.containerClientRect,r=o.rootMatrix,s=o.is3d,a=o.offsetDelta,l=s?4:3,c=__read$1(calculateContainerPos(r,n,l),2),d=c[0],u=c[1],h=i?0:a[0],p=i?0:a[1];return t.map(function(e){var t=e.element.getBoundingClientRect(),i=t.left-d-h,o=t.top-u-p,n=o+t.height,s=i+t.width,a=__read$1(calculateInversePosition(r,[i,o],l),2),c=a[0],g=a[1],m=__read$1(calculateInversePosition(r,[s,n],l),2),f=m[0],v=m[1];return __assign$6(__assign$6({},e),{rect:{left:c,right:f,top:g,bottom:v,center:(c+f)/2,middle:(g+v)/2}})})}function checkSnapInfo(e){var t=e.state,i=t.container,o=e.props.snapContainer||i;if(t.snapContainer===o&&t.guidelines&&t.guidelines.length)return!1;var n=t.containerClientRect,r={left:0,top:0,bottom:0,right:0};if(i!==o){var s=getRefTarget(o,!0);if(s){var a=getClientRect(s),l=getDragDistByState(t,[a.left-n.left,a.top-n.top]),c=getDragDistByState(t,[a.right-n.right,a.bottom-n.bottom]);r.left=throttle(l[0],1e-5),r.top=throttle(l[1],1e-5),r.right=throttle(c[0],1e-5),r.bottom=throttle(c[1],1e-5)}}return t.snapContainer=o,t.snapOffset=r,t.guidelines=getTotalGuidelines(e),t.enableSnap=!0,!0}function getNextFixedPoses(e,t,i,o,n,r){var s=calculatePoses(e,t,i,r?4:3);return getAbsolutePoses(s,minus(n,getPosByDirection(s,o)))}function normalized(e){return e?e/abs(e):0}function getSizeOffsetInfo(e,t,i,o,n,r){var s=getCheckSnapDirections(i,r.fixedDirection,o),a=getCheckInnerBoundLineInfos(e,t,i,o),l=__spreadArray$3(__spreadArray$3([],__read$1(getSnapBoundInfo(e,t,s,o,n,r)),!1),__read$1(getInnerBoundInfo(e,a,r)),!1),c=getNearOffsetInfo(l,0),d=getNearOffsetInfo(l,1);return{width:{isBound:c.isBound,offset:c.offset[0]},height:{isBound:d.isBound,offset:d.offset[1]}}}function recheckSizeByTwoDirection(e,t,i,o,n,r,s,a,l){var c=getPosByDirection(t,s),d=checkMoveableSnapBounds(e,a,{vertical:[c[0]],horizontal:[c[1]]}),u=d.horizontal.offset,h=d.vertical.offset;if(throttle(h,FLOAT_POINT_NUM)||throttle(u,FLOAT_POINT_NUM)){var p=__read$1(getDragDist({datas:l,distX:-h,distY:-u}),2),g=p[0],m=p[1];return[Math.min(n||1/0,i+s[0]*g)-i,Math.min(r||1/0,o+s[1]*m)-o]}return[0,0]}function checkSizeDist(e,t,i,o,n,r,s,a){for(var l=getAbsolutePosesByState(e.state),c=e.props.keepRatio,d=0,u=0,h=0;h<2;++h){var p=getSizeOffsetInfo(e,t(d,u),n,c,s,a),g=p.width,m=p.height,f=g.isBound,v=m.isBound,b=g.offset,_=m.offset;if(1===h&&(f||(b=0),v||(_=0)),0===h&&s&&!f&&!v)return[0,0];if(c){var y=abs(b)*(i?1/i:1),C=abs(_)*(o?1/o:1);(f&&v?y0;if(v)return{isSnap:v,dist:v?f[0]:i}}if((null==a?void 0:a.length)&&s){var b=a.slice().sort(function(e,t){return getMinDegreeDistance(e,o)-getMinDegreeDistance(t,o)}),_=b[0];if(getMinDegreeDistance(_,o)<=s)return{isSnap:!0,dist:i+bumpDegree(o,_)-o}}return{isSnap:!1,dist:i}}function checkSnapResize(e,t,i,o,n,r,s){if(!hasGuidelines(e,"resizable"))return[0,0];var a=s.fixedDirection,l=s.nextAllMatrix,c=e.state,d=c.allMatrix,u=c.is3d;return checkSizeDist(e,function(e,o){return getNextFixedPoses(l||d,t+e,i+o,a,n,u)},t,i,o,n,r,s)}function checkSnapScale(e,t,i,o,n){if(!hasGuidelines(e,"scalable"))return[0,0];var r=n.startOffsetWidth,s=n.startOffsetHeight,a=n.fixedPosition,l=n.fixedDirection,c=n.is3d,d=checkSizeDist(e,function(e,i){return getNextFixedPoses(scaleMatrix(n,plus(t,[e/r,i/s])),r,s,l,a,c)},r,s,i,a,o,n);return[d[0]/r,d[1]/s]}function startCheckSnapDrag(e,t){t.absolutePoses=getAbsolutePosesByState(e.state)}function getSnapGuidelines(e){var t=[];return e.forEach(function(e){e.guidelineInfos.forEach(function(i){var o=i.guideline;find$1(t,function(e){return e.guideline===o})||(o.direction="",t.push({guideline:o,posInfo:e}))})}),t.map(function(e){var t=e.guideline,i=e.posInfo;return __assign$6(__assign$6({},t),{direction:i.direction})})}function addBoundGuidelines(e,t,i,o,n,r){var s=checkBoundPoses(getBounds(e,r),t,i),a=s.vertical,l=s.horizontal,c=getInitialBounds();a.forEach(function(e){e.isBound&&("start"===e.direction&&(c.left=!0),"end"===e.direction&&(c.right=!0),o.push({type:"bounds",pos:e.pos}))}),l.forEach(function(e){e.isBound&&("start"===e.direction&&(c.top=!0),"end"===e.direction&&(c.bottom=!0),n.push({type:"bounds",pos:e.pos}))});var d=checkInnerBoundPoses(e),u=d.boundMap,h=d.vertical,p=d.horizontal;return h.forEach(function(e){findIndex(o,function(t){var i=t.type,o=t.pos;return"bounds"===i&&o===e})>=0||o.push({type:"bounds",pos:e})}),p.forEach(function(e){findIndex(n,function(t){var i=t.type,o=t.pos;return"bounds"===i&&o===e})>=0||n.push({type:"bounds",pos:e})}),{boundMap:c,innerBoundMap:u}}var directionCondition$1=getDirectionCondition("",["resizable","scalable"]),Snappable={name:"snappable",dragRelation:"strong",props:["snappable","snapContainer","snapDirections","elementSnapDirections","snapGap","snapGridWidth","snapGridHeight","isDisplaySnapDigit","isDisplayInnerSnapDigit","isDisplayGridGuidelines","snapDigit","snapThreshold","snapRenderThreshold","snapGridAll",NAME_snapRotationThreshold,NAME_snapRotationDegrees,NAME_snapHorizontalThreshold,NAME_snapVerticalThreshold,"horizontalGuidelines","verticalGuidelines","elementGuidelines","bounds","innerBounds","snapDistFormat","maxSnapElementGuidelineDistance","maxSnapElementGapDistance"],events:["snap","bound"],css:[":host {\n--bounds-color: #d66;\n}\n.guideline {\npointer-events: none;\nz-index: 2;\n}\n.guideline.bounds {\nbackground: #d66;\nbackground: var(--bounds-color);\n}\n.guideline-group {\nposition: absolute;\ntop: 0;\nleft: 0;\n}\n.guideline-group .size-value {\nposition: absolute;\ncolor: #f55;\nfont-size: 12px;\nfont-size: calc(12px * var(--zoom));\nfont-weight: bold;\n}\n.guideline-group.horizontal .size-value {\ntransform-origin: 50% 100%;\ntransform: translateX(-50%);\nleft: 50%;\nbottom: 5px;\nbottom: calc(2px + 3px * var(--zoom));\n}\n.guideline-group.vertical .size-value {\ntransform-origin: 0% 50%;\ntop: 50%;\ntransform: translateY(-50%);\nleft: 5px;\nleft: calc(2px + 3px * var(--zoom));\n}\n.guideline.gap {\nbackground: #f55;\n}\n.size-value.gap {\ncolor: #f55;\n}\n"],render:function(e,t){var i=e.state,o=i.top,n=i.left,r=i.pos1,s=i.pos2,a=i.pos3,l=i.pos4,c=i.snapRenderInfo,d=e.props.snapRenderThreshold,u=void 0===d?1:d;if(!c||!c.render||!hasGuidelines(e,""))return watchValue(e,"boundMap",getInitialBounds(),function(e){return JSON.stringify(e)}),watchValue(e,"innerBoundMap",getInitialBounds(),function(e){return JSON.stringify(e)}),[];i.guidelines=getTotalGuidelines(e);var h=Math.min(r[0],s[0],a[0],l[0]),p=Math.min(r[1],s[1],a[1],l[1]),g=c.externalPoses||[],m=getAbsolutePosesByState(e.state),f=[],v=[],b=[],_=[],y=[],C=getRect(m),w=C.width,x=C.height,S=C.top,k=C.left,E=C.bottom,I=C.right,T={left:k,right:I,top:S,bottom:E,center:(k+I)/2,middle:(S+E)/2},D=g.length>0,L=D?getRect(g):{};if(!c.request){if(c.direction&&y.push(getSnapInfosByDirection(e,m,c.direction,u,u)),c.snap){var N=getRect(m);c.center&&(N.middle=(N.top+N.bottom)/2,N.center=(N.left+N.right)/2),y.push(checkSnaps(e,N,u,u))}D&&(c.center&&(L.middle=(L.top+L.bottom)/2,L.center=(L.left+L.right)/2),y.push(checkSnaps(e,L,u,u))),y.forEach(function(e){var t=e.vertical.posInfos,i=e.horizontal.posInfos;f.push.apply(f,__spreadArray$3([],__read$1(t.filter(function(e){return e.guidelineInfos.some(function(e){return!e.guideline.hide})}).map(function(e){return{type:"snap",pos:e.pos}})),!1)),v.push.apply(v,__spreadArray$3([],__read$1(i.filter(function(e){return e.guidelineInfos.some(function(e){return!e.guideline.hide})}).map(function(e){return{type:"snap",pos:e.pos}})),!1)),b.push.apply(b,__spreadArray$3([],__read$1(getSnapGuidelines(t)),!1)),_.push.apply(_,__spreadArray$3([],__read$1(getSnapGuidelines(i)),!1))})}var M=addBoundGuidelines(e,[k,I],[S,E],f,v),$=M.boundMap,R=M.innerBoundMap;D&&addBoundGuidelines(e,[L.left,L.right],[L.top,L.bottom],f,v,c.externalBounds);var A=__spreadArray$3(__spreadArray$3([],__read$1(b),!1),__read$1(_),!1),O=A.filter(function(e){return e.element&&!e.gapRects}),P=A.filter(function(e){return e.gapRects}).sort(function(e,t){return e.gap-t.gap});triggerEvent(e,"onSnap",{guidelines:A.filter(function(e){return!e.element}),elements:O,gaps:P},!0);var B=watchValue(e,"boundMap",$,function(e){return JSON.stringify(e)},getInitialBounds()),F=watchValue(e,"innerBoundMap",R,function(e){return JSON.stringify(e)},getInitialBounds());return $!==B&&R!==F||triggerEvent(e,"onBound",{bounds:$,innerBounds:R},!0),__spreadArray$3(__spreadArray$3(__spreadArray$3(__spreadArray$3(__spreadArray$3(__spreadArray$3([],__read$1(renderDashedGuidelines(e,O,[h,p],T,t)),!1),__read$1(renderGapGuidelines(e,P,[h,p],T,t)),!1),__read$1(renderGuidelines(e,"horizontal",_,[n,o],T,t)),!1),__read$1(renderGuidelines(e,"vertical",b,[n,o],T,t)),!1),__read$1(renderSnapPoses(e,"horizontal",v,h,o,w,0,t)),!1),__read$1(renderSnapPoses(e,"vertical",f,p,n,x,1,t)),!1)},dragStart:function(e,t){e.state.snapRenderInfo={request:t.isRequest,snap:!0,center:!0},checkSnapInfo(e)},drag:function(e){var t=e.state;checkSnapInfo(e)||(t.guidelines=getTotalGuidelines(e)),t.snapRenderInfo&&(t.snapRenderInfo.render=!0)},pinchStart:function(e){this.unset(e)},dragEnd:function(e){this.unset(e)},dragControlCondition:function(e,t){return!(!directionCondition$1(e,t)&&!dragControlCondition(e,t))||(!t.isRequest&&t.inputEvent?hasClass$1(t.inputEvent.target,prefix$1("snap-control")):void 0)},dragControlStart:function(e){e.state.snapRenderInfo=null,checkSnapInfo(e)},dragControl:function(e){this.drag(e)},dragControlEnd:function(e){this.unset(e)},dragGroupStart:function(e,t){this.dragStart(e,t)},dragGroup:function(e){this.drag(e)},dragGroupEnd:function(e){this.unset(e)},dragGroupControlStart:function(e){e.state.snapRenderInfo=null,checkSnapInfo(e)},dragGroupControl:function(e){this.drag(e)},dragGroupControlEnd:function(e){this.unset(e)},unset:function(e){var t=e.state;t.enableSnap=!1,t.guidelines=[],t.snapRenderInfo=null,t.elementRects=[]}};function multiply2(e,t){return[e[0]*t[0],e[1]*t[1]]}function prefix$1(){for(var e=[],t=0;t9),"".concat(t?"matrix3d":"matrix","(").concat(convertMatrixtoCSS(e,!t).join(","),")")}function getSVGViewBox(e){var t=e.clientWidth,i=e.clientHeight;if(!e)return{x:0,y:0,width:0,height:0,clientWidth:t,clientHeight:i};var o=e.viewBox,n=o&&o.baseVal||{x:0,y:0,width:0,height:0};return{x:n.x,y:n.y,width:n.width||t,height:n.height||i,clientWidth:t,clientHeight:i}}function getSVGMatrix(e,t){var i,o=getSVGViewBox(e),n=o.width,r=o.height,s=o.clientWidth,a=o.clientHeight,l=s/n,c=a/r,d=e.preserveAspectRatio.baseVal,u=d.align,h=d.meetOrSlice,p=[0,0],g=[l,c],m=[0,0];if(1!==u){var f=(u-2)%3,v=Math.floor((u-2)/3);p[0]=n*f/2,p[1]=r*v/2;var b=2===h?Math.max(c,l):Math.min(l,c);g[0]=b,g[1]=b,m[0]=(s-n)/2*f,m[1]=(a-r)/2*v}var _=createScaleMatrix(g,t);return i=__read$1(m,2),_[t*(t-1)]=i[0],_[t*(t-1)+1]=i[1],getAbsoluteMatrix(_,t,p)}function getSVGGraphicsOffset(e,t,i){var o=e.tagName.toLowerCase();if(!e.getBBox||!i&&"g"===o)return[0,0,0,0];var n="fill-box"===getCachedStyle(e)("transform-box"),r=e.getBBox(),s=getSVGViewBox(e.ownerSVGElement),a=r.x,l=r.y;"foreignobject"!==o||a||l||(a=parseFloat(e.getAttribute("x"))||0,l=parseFloat(e.getAttribute("y"))||0);var c=a-s.x,d=l-s.y;return[c,d,n?t[0]:t[0]-c,n?t[1]:t[1]-d]}function calculatePosition(e,t,i){return calculate(e,convertPositionMatrix(t,i),i)}function calculatePoses(e,t,i,o){return[[0,0],[t,0],[0,i],[t,i]].map(function(t){return calculatePosition(e,t,o)})}function getRect(e){var t=e.map(function(e){return e[0]}),i=e.map(function(e){return e[1]}),o=Math.min.apply(Math,__spreadArray$3([],__read$1(t),!1)),n=Math.min.apply(Math,__spreadArray$3([],__read$1(i),!1)),r=Math.max.apply(Math,__spreadArray$3([],__read$1(t),!1)),s=Math.max.apply(Math,__spreadArray$3([],__read$1(i),!1));return{left:o,top:n,right:r,bottom:s,width:r-o,height:s-n}}function calculateRect(e,t,i,o){return getRect(calculatePoses(e,t,i,o))}function getSVGOffset(e,t,i,o,n){var r,s=e.target,a=e.origin,l=t.matrix,c=getSize(s),d=c.offsetWidth,u=c.offsetHeight,h=i.getBoundingClientRect(),p=[0,0];i===getDocumentBody(i)&&(p=getBodyOffset(s,!0));for(var g=s.getBoundingClientRect(),m=g.left-h.left+i.scrollLeft-(i.clientLeft||0)+p[0],f=g.top-h.top+i.scrollTop-(i.clientTop||0)+p[1],v=g.width,b=g.height,_=multiplies(o,n,l),y=calculateRect(_,d,u,o),C=y.left,w=y.top,x=y.width,S=y.height,k=calculatePosition(_,a,o),E=minus(k,[C,w]),I=[m+E[0]*v/x,f+E[1]*b/S],T=[0,0],D=0;++D<10;){var L=invert(n,o);r=__read$1(minus(calculatePosition(L,I,o),calculatePosition(L,k,o)),2),T[0]=r[0],T[1]=r[1];var N=calculateRect(multiplies(o,n,createOriginMatrix(T,o),l),d,u,o),M=N.left-m,$=N.top-f;if(abs(M)<2&&abs($)<2)break;I[0]-=M,I[1]-=$}return T.map(function(e){return Math.round(e)})}function calculateMoveableClientPositions(e,t,i){var o=16===e.length?4:3,n=t.map(function(t){return calculatePosition(e,t,o)}),r=i.left,s=i.top;return n.map(function(e){return[e[0]+r,e[1]+s]})}function getDistSize(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function getDiagonalSize(e,t){return getDistSize([t[0]-e[0],t[1]-e[1]])}function getLineStyle(e,t,i,o){void 0===i&&(i=1),void 0===o&&(o=getRad$1(e,t));var n=getDiagonalSize(e,t);return{transform:"translateY(-50%) translate(".concat(e[0],"px, ").concat(e[1],"px) rotate(").concat(o,"rad) scaleY(").concat(i,")"),width:"".concat(n,"px")}}function getControlTransform(e,t){for(var i=[],o=2;o0?e[0]:e[1],t>0?e[1]:e[0])}function resetClientRect(){return{left:0,top:0,width:0,height:0,right:0,bottom:0,clientLeft:0,clientTop:0,clientWidth:0,clientHeight:0,scrollWidth:0,scrollHeight:0}}function getExtendsRect(e,t){var i=e===getDocumentBody(e)||e===getDocumentElement(e),o={clientLeft:e.clientLeft,clientTop:e.clientTop,clientWidth:e.clientWidth,clientHeight:e.clientHeight,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,overflow:!1};return i&&(o.clientHeight=Math.max(t.height,o.clientHeight),o.scrollHeight=Math.max(t.height,o.scrollHeight)),o.overflow="visible"!==getCachedStyle(e)("overflow"),__assign$6(__assign$6({},t),o)}function getClientRectByPosition(e,t,i,o){var n=e.left,r=e.right,s=e.top,a=e.bottom,l=t.top,c=t.left,d={left:c+n,top:l+s,right:c+r,bottom:l+a,width:r-n,height:a-s};return i&&o?getExtendsRect(i,d):d}function getClientRect(e,t){var i=0,o=0,n=0,r=0;if(e){var s=e.getBoundingClientRect();i=s.left,o=s.top,n=s.width,r=s.height}var a={left:i,top:o,width:n,height:r,right:i+n,bottom:o+r};return e&&t?getExtendsRect(e,a):a}function getTotalOrigin(e){var t=e.props,i=t.groupable,o=t.svgOrigin,n=e.getState(),r=n.offsetWidth,s=n.offsetHeight,a=n.svg,l=n.transformOrigin;return!i&&a&&o?convertTransformOriginArray(o,r,s):l}function getTotalDirection(e,t,i,o){var n;if(e)n=e;else if(t)n=[0,0];else{n=getDirection(i.target,o)}return n}function getDirection(e,t){if(e){var i=e.getAttribute("data-rotation")||"",o=e.getAttribute("data-direction");if(t.deg=i,o){var n=[0,0];return o.indexOf("w")>-1&&(n[0]=-1),o.indexOf("e")>-1&&(n[0]=1),o.indexOf("n")>-1&&(n[1]=-1),o.indexOf("s")>-1&&(n[1]=1),n}}}function getAbsolutePoses(e,t){return[plus(t,e[0]),plus(t,e[1]),plus(t,e[2]),plus(t,e[3])]}function getAbsolutePosesByState(e){var t=e.left,i=e.top;return getAbsolutePoses([e.pos1,e.pos2,e.pos3,e.pos4],[t,i])}function unsetAbles(e,t){e[t?"controlAbles":"targetAbles"].forEach(function(t){t.unset&&t.unset(e)})}function unsetGesto(e,t){var i=t?"controlGesto":"targetGesto",o=e[i];!1===(null==o?void 0:o.isIdle())&&unsetAbles(e,t),null==o||o.unset(),e[i]=null}function fillCSSObject(e,t){if(t){var i=getBeforeRenderableDatas(t);i.nextStyle=__assign$6(__assign$6({},i.nextStyle),e)}return{style:e,cssText:getKeys(e).map(function(t){return"".concat(decamelize(t,"-"),": ").concat(e[t],";")}).join("")}}function fillAfterTransform(e,t,i){var o=t.afterTransform||t.transform;return __assign$6(__assign$6({},fillCSSObject(__assign$6(__assign$6(__assign$6({},e.style),t.style),{transform:o}),i)),{afterTransform:o,transform:e.transform})}function fillParams(e,t,i,o){var n=t.datas;n.datas||(n.datas={});var r=__assign$6(__assign$6({},i),{target:e.state.target,clientX:t.clientX,clientY:t.clientY,inputEvent:t.inputEvent,currentTarget:e,moveable:e,datas:n.datas,isRequest:t.isRequest,isRequestChild:t.isRequestChild,isFirstDrag:!!t.isFirstDrag,isTrusted:!1!==t.isTrusted,stopAble:function(){n.isEventStart=!1},stopDrag:function(){var e;null===(e=t.stop)||void 0===e||e.call(t)}});return n.isStartEvent?o||(n.lastEvent=r):n.isStartEvent=!0,r}function fillEndParams(e,t,i){var o=t.datas,n="isDrag"in i?i.isDrag:t.isDrag;return o.datas||(o.datas={}),__assign$6(__assign$6({isDrag:n},i),{moveable:e,target:e.state.target,clientX:t.clientX,clientY:t.clientY,inputEvent:t.inputEvent,currentTarget:e,lastEvent:o.lastEvent,isDouble:t.isDouble,datas:o.datas,isFirstDrag:!!t.isFirstDrag})}function catchEvent(e,t,i){e._emitter.on(t,i)}function triggerEvent(e,t,i,o,n){return e.triggerEvent(t,i,o,n)}function getComputedStyle$1(e,t){return getWindow(e).getComputedStyle(e,t)}function filterAbles(e,t,i){var o={},n={};return e.filter(function(e){var r=e.name;if(o[r]||!t.some(function(t){return e[t]}))return!1;if(!i&&e.ableGroup){if(n[e.ableGroup])return!1;n[e.ableGroup]=!0}return o[r]=!0,!0})}function equals(e,t){return e===t||null==e&&null==t}function selectValue(){for(var e=[],t=0;t=0?o:180-o)>=0?o:360+o}function getDragDistByState(e,t){var i=e.rootMatrix,o=e.is3d,n=invert(i,o?4:3);return o||(n=convertDimension(n,3,4)),n[12]=0,n[13]=0,n[14]=0,calculateMatrixDist(n,t)}function getSizeDistByDist(e,t,i,o,n){var r=__read$1(e,2),s=r[0],a=r[1],l=0,c=0;if(n&&s&&a){var d=getRad$1([0,0],t),u=getRad$1([0,0],o),h=getDistSize(t),p=Math.cos(d-u)*h;if(o[0])if(o[1]){var g=o[0]*s,m=o[1]*a,f=Math.atan2(g+t[0],m+t[1]),v=Math.atan2(g,m);f<0&&(f+=2*Math.PI),v<0&&(v+=2*Math.PI);var b=0;(b=abs(f-v)Math.PI/2*3?f-v:f-(v+=Math.PI))>2*Math.PI?b-=2*Math.PI:b>Math.PI?b=2*Math.PI-b:b<-Math.PI&&(b=-2*Math.PI-b);var _=getDistSize([g+t[0],m+t[1]])*Math.cos(b);l=_*Math.sin(v)-g,c=_*Math.cos(v)-m,o[0]<0&&(l*=-1),o[1]<0&&(c*=-1)}else c=(l=p)/i;else l=(c=p)*i}else l=o[0]*t[0],c=o[1]*t[1];return[l,c]}function getOffsetSizeDist(e,t,i,o){var n,r=i.ratio,s=i.startOffsetWidth,a=i.startOffsetHeight,l=0,c=0,d=o.distX,u=o.distY,h=o.pinchScale,p=o.parentDistance,g=o.parentDist,m=o.parentScale,f=i.fixedDirection,v=[0,1].map(function(t){return abs(e[t]-f[t])}),b=[0,1].map(function(e){var t=v[e];return 0!==t&&(t=2/t),t});if(g)l=g[0],c=g[1],t&&(l?c||(c=l/r):l=c*r);else if(isNumber$1(h))l=(h-1)*s,c=(h-1)*a;else if(m)l=(m[0]-1)*s,c=(m[1]-1)*a;else if(p){var _=s*v[0],y=a*v[1],C=getDistSize([_,y]);l=p/C*_*b[0],c=p/C*y*b[1]}else{var w=getDragDist({datas:i,distX:d,distY:u});w=b.map(function(e,t){return w[t]*e}),l=(n=__read$1(getSizeDistByDist([s,a],w,r,e,t),2))[0],c=n[1]}return{distWidth:l,distHeight:c}}function convertTransformUnit(e,t){if(t){if("left"===e)return{x:"0%",y:"50%"};if("top"===e)return{x:"50%",y:"50%"};if("center"===e)return{x:"50%",y:"50%"};if("right"===e)return{x:"100%",y:"50%"};if("bottom"===e)return{x:"50%",y:"100%"};var i=__read$1(e.split(" "),2),o=i[0],n=i[1],r=convertTransformUnit(o||""),s=convertTransformUnit(n||""),a=__assign$6(__assign$6({},r),s),l={x:"50%",y:"50%"};return a.x&&(l.x=a.x),a.y&&(l.y=a.y),a.value&&(a.x&&!a.y&&(l.y=a.value),!a.x&&a.y&&(l.x=a.value)),l}return"left"===e?{x:"0%"}:"right"===e?{x:"100%"}:"top"===e?{y:"0%"}:"bottom"===e?{y:"100%"}:e?"center"===e?{value:"50%"}:{value:e}:{}}function convertTransformOriginArray(e,t,i){var o=convertTransformUnit(e,!0),n=o.x,r=o.y;return[convertUnitSize(n,t)||0,convertUnitSize(r,i)||0]}function rotatePosesInfo(e,t,i){var o=e.map(function(e){return minus(e,t)}),n=o.map(function(e){return rotate(e,i)});return{prev:o,next:n,result:n.map(function(e){return plus(e,t)})}}function isDeepArrayEquals(e,t){return e.length===t.length&&e.every(function(e,i){var o=t[i],n=isArray$2(e),r=isArray$2(o);return n&&r?isDeepArrayEquals(e,o):!n&&!r&&e===o})}function watchValue(e,t,i,o,n){var r=e._store,s=r[t];if(!(t in r)){if(null==n)return r[t]=i,i;r[t]=n,s=n}return s===i||o(s)===o(i)?s:(r[t]=i,i)}function sign(e){return e>=0?1:-1}function abs(e){return Math.abs(e)}function countEach(e,t){return counter(e).map(function(e){return t(e)})}function getPaddingBox(e){return isNumber$1(e)?{top:e,left:e,right:e,bottom:e}:{left:e.left||0,top:e.top||0,right:e.right||0,bottom:e.bottom||0}}var Pinchable=makeAble("pinchable",{props:["pinchable"],events:["pinchStart","pinch","pinchEnd","pinchGroupStart","pinchGroup","pinchGroupEnd"],dragStart:function(){return!0},pinchStart:function(e,t){var i=t.datas,o=t.targets,n=t.angle,r=t.originalDatas,s=e.props,a=s.pinchable,l=s.ables;if(!a)return!1;var c="onPinch".concat(o?"Group":"","Start"),d="drag".concat(o?"Group":"","ControlStart"),u=(!0===a?e.controlAbles:l.filter(function(e){return a.indexOf(e.name)>-1})).filter(function(e){return e.canPinch&&e[d]}),h=fillParams(e,t,{});o&&(h.targets=o);var p=triggerEvent(e,c,h);i.isPinch=!1!==p,i.ables=u;var g=i.isPinch;return!!g&&(u.forEach(function(i){if(r[i.name]=r[i.name]||{},i[d]){var o=__assign$6(__assign$6({},t),{datas:r[i.name],parentRotate:n,isPinch:!0});i[d](e,o)}}),e.state.snapRenderInfo={request:t.isRequest,direction:[0,0]},g)},pinch:function(e,t){var i=t.datas,o=t.scale,n=t.distance,r=t.originalDatas,s=t.inputEvent,a=t.targets,l=t.angle;if(i.isPinch){var c=n*(1-1/o),d=fillParams(e,t,{});a&&(d.targets=a);var u="onPinch".concat(a?"Group":"");triggerEvent(e,u,d);var h=i.ables,p="drag".concat(a?"Group":"","Control");return h.forEach(function(i){i[p]&&i[p](e,__assign$6(__assign$6({},t),{datas:r[i.name],inputEvent:s,resolveMatrix:!0,pinchScale:o,parentDistance:c,parentRotate:l,isPinch:!0}))}),d}},pinchEnd:function(e,t){var i=t.datas,o=t.isPinch,n=t.inputEvent,r=t.targets,s=t.originalDatas;if(i.isPinch){var a="onPinch".concat(r?"Group":"","End"),l=fillEndParams(e,t,{isDrag:o});r&&(l.targets=r),triggerEvent(e,a,l);var c=i.ables,d="drag".concat(r?"Group":"","ControlEnd");return c.forEach(function(i){i[d]&&i[d](e,__assign$6(__assign$6({},t),{isDrag:o,datas:s[i.name],inputEvent:n,isPinch:!0}))}),o}},pinchGroupStart:function(e,t){return this.pinchStart(e,__assign$6(__assign$6({},t),{targets:e.props.targets}))},pinchGroup:function(e,t){return this.pinch(e,__assign$6(__assign$6({},t),{targets:e.props.targets}))},pinchGroupEnd:function(e,t){return this.pinchEnd(e,__assign$6(__assign$6({},t),{targets:e.props.targets}))}}),directionCondition=getDirectionCondition("scalable"),Scalable={name:"scalable",ableGroup:"size",canPinch:!0,props:["scalable","throttleScale","renderDirections","keepRatio","edge","displayAroundControls"],events:["scaleStart","beforeScale","scale","scaleEnd","scaleGroupStart","beforeScaleGroup","scaleGroup","scaleGroupEnd"],render:getRenderDirections("scalable"),dragControlCondition:directionCondition,viewClassName:getDirectionViewClassName("scalable"),dragControlStart:function(e,t){var i=t.datas,o=t.isPinch,n=t.inputEvent,r=getTotalDirection(t.parentDirection,o,n,i),s=e.state,a=s.width,l=s.height,c=s.targetTransform,d=s.target,u=s.pos1,h=s.pos2,p=s.pos4;if(!r||!d)return!1;o||setDragStart(e,t),i.datas={},i.transform=c,i.prevDist=[1,1],i.direction=r,i.startOffsetWidth=a,i.startOffsetHeight=l,i.startValue=[1,1];var g=!r[0]&&!r[1]||r[0]||!r[1];function m(e){i.ratio=e&&isFinite(e)?e:0}function f(e){var t=getFixedDirectionInfo(i.startPositions,e);i.fixedDirection=t.fixedDirection,i.fixedPosition=t.fixedPosition,i.fixedOffset=t.fixedOffset}setDefaultTransformIndex(e,t,"scale"),i.isWidth=g,i.startPositions=getAbsolutePosesByState(e.state),i.setFixedDirection=f,m(getDist$2(u,h)/getDist$2(h,p)),f([-r[0],-r[1]]);var v=function(e){i.minScaleSize=e},b=function(e){i.maxScaleSize=e};v([-1/0,-1/0]),b([1/0,1/0]);var _=fillParams(e,t,__assign$6(__assign$6({direction:r,set:function(e){i.startValue=e},setRatio:m,setFixedDirection:f,setMinScaleSize:v,setMaxScaleSize:b},fillTransformStartEvent(e,t)),{dragStart:Draggable.dragStart(e,(new CustomGesto).dragStart([0,0],t))})),y=triggerEvent(e,"onScaleStart",_);return i.startFixedDirection=i.fixedDirection,!1!==y&&(i.isScale=!0,e.state.snapRenderInfo={request:t.isRequest,direction:r}),!!i.isScale&&_},dragControl:function(e,t){resolveTransformEvent(e,t,"scale");var i=t.datas,o=t.parentKeepRatio,n=t.parentFlag,r=t.isPinch,s=t.dragClient,a=t.isRequest,l=t.useSnap,c=t.resolveMatrix,d=i.prevDist,u=i.direction,h=i.startOffsetWidth,p=i.startOffsetHeight,g=i.isScale,m=i.startValue,f=i.isWidth,v=i.ratio;if(!g)return!1;var b=e.props,_=b.throttleScale,y=b.parentMoveable,C=u;u[0]||u[1]||(C=[1,1]);var w=v&&(null!=o?o:b.keepRatio)||!1,x=e.state,S=[m[0],m[1]];function k(){var e=getOffsetSizeDist(C,w,i,t),o=e.distWidth,n=e.distHeight,r=h?(h+o)/h:1,s=p?(p+n)/p:1;m[0]||(S[0]=o/h),m[1]||(S[1]=n/p);var a=(C[0]||w?r:1)*S[0],l=(C[1]||w?s:1)*S[1];return 0===a&&(a=sign(d[0])*MIN_SCALE),0===l&&(l=sign(d[1])*MIN_SCALE),[a,l]}var E=k();if(!r&&e.props.groupable){var I=(x.snapRenderInfo||{}).direction;isArray$2(I)&&(I[0]||I[1])&&(x.snapRenderInfo={direction:u,request:t.isRequest})}triggerEvent(e,"onBeforeScale",fillParams(e,t,{scale:E,setFixedDirection:function(e){return i.setFixedDirection(e),E=k()},startFixedDirection:i.startFixedDirection,setScale:function(e){E=e}},!0));var T=[E[0]/S[0],E[1]/S[1]],D=s,L=[0,0],N=sign(T[0]*T[1]),M=!s&&!n&&r;if(M||c?D=getTranslateFixedPosition(e,i.targetAllTransform,[0,0],[0,0],i):s||(D=i.fixedPosition),r||(L=checkSnapScale(e,T,u,!l&&a,i)),w){C[0]&&C[1]&&L[0]&&L[1]&&(Math.abs(L[0]*h)>Math.abs(L[1]*p)?L[1]=0:L[0]=0);var $=!L[0]&&!L[1];if($&&(f?T[0]=throttle(T[0]*S[0],_)/S[0]:T[1]=throttle(T[1]*S[1],_)/S[1]),C[0]&&!C[1]||L[0]&&!L[1]||$&&f){T[0]+=L[0];var R=h*T[0]*S[0]/v;T[1]=sign(N*T[0])*abs(R/p/S[1])}else if(!C[0]&&C[1]||!L[0]&&L[1]||$&&!f){T[1]+=L[1];var A=p*T[1]*S[1]*v;T[0]=sign(N*T[1])*abs(A/h/S[0])}}else T[0]+=L[0],T[1]+=L[1],L[0]||(T[0]=throttle(T[0]*S[0],_)/S[0]),L[1]||(T[1]=throttle(T[1]*S[1],_)/S[1]);0===T[0]&&(T[0]=sign(d[0])*MIN_SCALE),0===T[1]&&(T[1]=sign(d[1])*MIN_SCALE),E=multiply2(T,[S[0],S[1]]);var O=[h,p],P=[h*E[0],p*E[1]];P=calculateBoundSize(P,i.minScaleSize,i.maxScaleSize,!!w&&v),E=countEach(2,function(e){return O[e]?P[e]/O[e]:P[e]}),T=countEach(2,function(e){return E[e]/S[e]});var B=countEach(2,function(e){return d[e]?T[e]/d[e]:T[e]}),F="scale(".concat(T.join(", "),")"),z="scale(".concat(E.join(", "),")"),V=convertTransformFormat(i,z,F),H=!m[0]||!m[1],W=getScaleDist(e,H?z:F,i.fixedDirection,D,i.fixedOffset,i,H),K=M?W:minus(W,i.prevInverseDist||[0,0]);if(i.prevDist=T,i.prevInverseDist=W,E[0]===d[0]&&E[1]===d[1]&&K.every(function(e){return!e})&&!y&&!M)return!1;var U=fillParams(e,t,__assign$6({offsetWidth:h,offsetHeight:p,direction:u,scale:E,dist:T,delta:B,isPinch:!!r},fillTransformEvent(e,V,K,r,t)));return triggerEvent(e,"onScale",U),U},dragControlEnd:function(e,t){var i=t.datas;if(!i.isScale)return!1;i.isScale=!1;var o=fillEndParams(e,t,{});return triggerEvent(e,"onScaleEnd",o),o},dragGroupControlCondition:directionCondition,dragGroupControlStart:function(e,t){var i=t.datas,o=this.dragControlStart(e,t);if(!o)return!1;var n=fillChildEvents(e,"resizable",t);i.moveableScale=e.scale;var r=triggerChildAbles(e,this,"dragControlStart",t,function(t,o){return startChildDist(e,t,i,o)}),s=function(t){o.setFixedDirection(t),r.forEach(function(o,r){o.setFixedDirection(t),startChildDist(e,o.moveable,i,n[r])})};i.setFixedDirection=s;var a=__assign$6(__assign$6({},o),{targets:e.props.targets,events:r,setFixedDirection:s}),l=triggerEvent(e,"onScaleGroupStart",a);return i.isScale=!1!==l,!!i.isScale&&a},dragGroupControl:function(e,t){var i=t.datas;if(i.isScale){catchEvent(e,"onBeforeScale",function(i){triggerEvent(e,"onBeforeScaleGroup",fillParams(e,t,__assign$6(__assign$6({},i),{targets:e.props.targets}),!0))});var o=this.dragControl(e,t);if(o){var n=o.dist,r=i.moveableScale;e.scale=[n[0]*r[0],n[1]*r[1]];var s=e.props.keepRatio,a=i.fixedPosition,l=triggerChildAbles(e,this,"dragControl",t,function(t,i){var o=__read$1(calculate(createRotateMatrix(e.rotation/180*Math.PI,3),[i.datas.originalX*n[0],i.datas.originalY*n[1],1],3),2),r=o[0],l=o[1];return __assign$6(__assign$6({},i),{parentDist:null,parentScale:n,parentKeepRatio:s,dragClient:plus(a,[r,l])})}),c=__assign$6({targets:e.props.targets,events:l},o);return triggerEvent(e,"onScaleGroup",c),c}}},dragGroupControlEnd:function(e,t){var i=t.isDrag;if(t.datas.isScale){this.dragControlEnd(e,t);var o=triggerChildAbles(e,this,"dragControlEnd",t);return triggerEvent(e,"onScaleGroupEnd",fillEndParams(e,t,{targets:e.props.targets,events:o})),i}},request:function(){var e={},t=0,i=0,o=!1;return{isControl:!0,requestStart:function(t){return o=t.useSnap,{datas:e,parentDirection:t.direction||[1,1],useSnap:o}},request:function(n){return t+=n.deltaWidth,i+=n.deltaHeight,{datas:e,parentDist:[t,i],parentKeepRatio:n.keepRatio,useSnap:o}},requestEnd:function(){return{datas:e,isDrag:!0,useSnap:o}}}}};function getMiddleLinePos(e,t){return e.map(function(e,i){return dot$1(e,t[i],1,2)})}function getTriangleRad(e,t,i){var o=getRad$1(e,t),n=getRad$1(e,i)-o;return n>=0?n:n+2*Math.PI}function isValidPos(e,t){var i=getTriangleRad(e[0],e[1],e[2]),o=getTriangleRad(t[0],t[1],t[2]),n=Math.PI;return!(i>=n&&o<=n||i<=n&&o>=n)}var Warpable={name:"warpable",ableGroup:"size",props:["warpable","renderDirections","edge","displayAroundControls"],events:["warpStart","warp","warpEnd"],viewClassName:getDirectionViewClassName("warpable"),render:function(e,t){var i=e.props,o=i.resizable,n=i.scalable,r=i.warpable,s=i.zoom;if(o||n||!r)return[];var a=e.state,l=a.pos1,c=a.pos2,d=a.pos3,u=a.pos4,h=getMiddleLinePos(l,c),p=getMiddleLinePos(c,l),g=getMiddleLinePos(l,d),m=getMiddleLinePos(d,l),f=getMiddleLinePos(d,u),v=getMiddleLinePos(u,d),b=getMiddleLinePos(c,u),_=getMiddleLinePos(u,c);return __spreadArray$3([t.createElement("div",{className:prefix$1("line"),key:"middeLine1",style:getLineStyle(h,f,s)}),t.createElement("div",{className:prefix$1("line"),key:"middeLine2",style:getLineStyle(p,v,s)}),t.createElement("div",{className:prefix$1("line"),key:"middeLine3",style:getLineStyle(g,b,s)}),t.createElement("div",{className:prefix$1("line"),key:"middeLine4",style:getLineStyle(m,_,s)})],__read$1(renderAllDirections(e,"warpable",t)),!1)},dragControlCondition:function(e,t){if(t.isRequest)return!1;var i=t.inputEvent.target;return hasClass$1(i,prefix$1("direction"))&&hasClass$1(i,prefix$1("warpable"))},dragControlStart:function(e,t){var i=t.datas,o=t.inputEvent,n=e.props.target,r=getDirection(o.target,i);if(!r||!n)return!1;var s=e.state,a=s.transformOrigin,l=s.is3d,c=s.targetTransform,d=s.targetMatrix,u=s.width,h=s.height,p=s.left,g=s.top;i.datas={},i.targetTransform=c,i.warpTargetMatrix=l?d:convertDimension(d,3,4),i.targetInverseMatrix=ignoreDimension(invert(i.warpTargetMatrix,4),3,4),i.direction=r,i.left=p,i.top=g,i.poses=[[0,0],[u,0],[0,h],[u,h]].map(function(e){return minus(e,a)}),i.nextPoses=i.poses.map(function(e){var t=__read$1(e,2),o=t[0],n=t[1];return calculate(i.warpTargetMatrix,[o,n,0,1],4)}),i.startValue=createIdentityMatrix(4),i.prevMatrix=createIdentityMatrix(4),i.absolutePoses=getAbsolutePosesByState(s),i.posIndexes=getPosIndexesByDirection(r),setDragStart(e,t),setDefaultTransformIndex(e,t,"matrix3d"),s.snapRenderInfo={request:t.isRequest,direction:r};var m=fillParams(e,t,__assign$6({set:function(e){i.startValue=e}},fillTransformStartEvent(e,t)));return!1!==triggerEvent(e,"onWarpStart",m)&&(i.isWarp=!0),i.isWarp},dragControl:function(e,t){var i=t.datas,o=t.isRequest,n=t.distX,r=t.distY,s=i.targetInverseMatrix,a=i.prevMatrix,l=i.isWarp,c=i.startValue,d=i.poses,u=i.posIndexes,h=i.absolutePoses;if(!l)return!1;if(resolveTransformEvent(e,t,"matrix3d"),hasGuidelines(e,"warpable")){var p=u.map(function(e){return h[e]});p.length>1&&p.push([(p[0][0]+p[1][0])/2,(p[0][1]+p[1][1])/2]);var g=checkMoveableSnapBounds(e,o,{horizontal:p.map(function(e){return e[1]+r}),vertical:p.map(function(e){return e[0]+n})}),m=g.horizontal,f=g.vertical;r-=m.offset,n-=f.offset}var v=getDragDist({datas:i,distX:n,distY:r},!0),b=i.nextPoses.slice();if(u.forEach(function(e){b[e]=plus(b[e],v)}),!NEARBY_POS.every(function(e){return isValidPos(e.map(function(e){return d[e]}),e.map(function(e){return b[e]}))}))return!1;var _=createWarpMatrix(d[0],d[2],d[1],d[3],b[0],b[2],b[1],b[3]);if(!_.length)return!1;var y=getTransfromMatrix(i,multiply(s,_,4),!0),C=multiply(invert(a,4),y,4);i.prevMatrix=y;var w=multiply(c,y,4),x=convertTransformFormat(i,"matrix3d(".concat(w.join(", "),")"),"matrix3d(".concat(y.join(", "),")"));return fillOriginalTransform(t,x),triggerEvent(e,"onWarp",fillParams(e,t,__assign$6({delta:C,matrix:w,dist:y,multiply:multiply,transform:x},fillCSSObject({transform:x},t)))),!0},dragControlEnd:function(e,t){var i=t.datas,o=t.isDrag;return!!i.isWarp&&(i.isWarp=!1,triggerEvent(e,"onWarpEnd",fillEndParams(e,t,{})),o)}},AREA_PIECES=prefix$1("area-pieces"),AREA_PIECE=prefix$1("area-piece"),AVOID=prefix$1("avoid"),VIEW_DRAGGING=prefix$1("view-dragging");function restoreStyle(e){var t=e.areaElement;if(t){var i=e.state,o=i.width,n=i.height;removeClass$1(t,AVOID),t.style.cssText+="left: 0px; top: 0px; width: ".concat(o,"px; height: ").concat(n,"px")}}function renderPieces(e){return e.createElement("div",{key:"area_pieces",className:AREA_PIECES},e.createElement("div",{className:AREA_PIECE}),e.createElement("div",{className:AREA_PIECE}),e.createElement("div",{className:AREA_PIECE}),e.createElement("div",{className:AREA_PIECE}))}var DragArea={name:"dragArea",props:["dragArea","passDragArea"],events:["click","clickGroup"],render:function(e,t){var i=e.props,o=i.target,n=i.dragArea,r=i.groupable,s=i.passDragArea,a=e.getState(),l=a.width,c=a.height,d=a.renderPoses,u=s?prefix$1("area","pass"):prefix$1("area");if(r)return[t.createElement("div",{key:"area",ref:ref(e,"areaElement"),className:u}),renderPieces(t)];if(!o||!n)return[];var h=createWarpMatrix([0,0],[l,0],[0,c],[l,c],d[0],d[1],d[2],d[3]),p=h.length?makeMatrixCSS(h,!0):"none";return[t.createElement("div",{key:"area",ref:ref(e,"areaElement"),className:u,style:{top:"0px",left:"0px",width:"".concat(l,"px"),height:"".concat(c,"px"),transformOrigin:"0 0",transform:p}}),renderPieces(t)]},dragStart:function(e,t){var i=t.datas,o=t.clientX,n=t.clientY;if(!t.inputEvent)return!1;i.isDragArea=!1;var r=e.areaElement,s=e.state,a=s.moveableClientRect,l=s.renderPoses,c=s.rootMatrix,d=s.is3d,u=a.left,h=a.top,p=getRect(l),g=p.left,m=p.top,f=p.width,v=p.height,b=__read$1(calculateInversePosition(c,[o-u,n-h],d?4:3),2),_=b[0],y=b[1],C=[{left:g,top:m,width:f,height:(y-=m)-10},{left:g,top:m,width:(_-=g)-10,height:v},{left:g,top:m+y+10,width:f,height:v-y-10},{left:g+_+10,top:m,width:f-_-10,height:v}],w=[].slice.call(r.nextElementSibling.children);C.forEach(function(e,t){w[t].style.cssText="left: ".concat(e.left,"px;top: ").concat(e.top,"px; width: ").concat(e.width,"px; height: ").concat(e.height,"px;")}),addClass$1(r,AVOID),s.disableNativeEvent=!0},drag:function(e,t){var i=t.datas,o=t.inputEvent;if(this.enableNativeEvent(e),!o)return!1;i.isDragArea||(i.isDragArea=!0,restoreStyle(e))},dragEnd:function(e,t){this.enableNativeEvent(e);var i=t.inputEvent,o=t.datas;if(!i)return!1;o.isDragArea||restoreStyle(e)},dragGroupStart:function(e,t){return this.dragStart(e,t)},dragGroup:function(e,t){return this.drag(e,t)},dragGroupEnd:function(e,t){return this.dragEnd(e,t)},unset:function(e){restoreStyle(e),e.state.disableNativeEvent=!1},enableNativeEvent:function(e){var t=e.state;t.disableNativeEvent&&requestAnimationFrame$1(function(){t.disableNativeEvent=!1})}},Origin=makeAble("origin",{props:["origin","svgOrigin"],render:function(e,t){var i,o=e.props,n=o.zoom,r=o.svgOrigin,s=o.groupable,a=e.getState(),l=a.beforeOrigin,c=a.rotation,d=a.svg,u=a.allMatrix,h=a.is3d,p=a.left,g=a.top,m=a.offsetWidth,f=a.offsetHeight;if(!s&&d&&r){var v=__read$1(convertTransformOriginArray(r,m,f),2);i=getControlTransform(c,n,minus(calculatePosition(u,[v[0],v[1]],h?4:3),[p,g]))}else i=getControlTransform(c,n,l);return[t.createElement("div",{className:prefix$1("control","origin"),style:i,key:"beforeOrigin"})]}});function getDefaultScrollPosition$1(e){var t=e.scrollContainer;return[t.scrollLeft,t.scrollTop]}var Scrollable={name:"scrollable",canPinch:!0,props:["scrollable","scrollContainer","scrollThreshold","scrollThrottleTime","getScrollPosition","scrollOptions"],events:["scroll","scrollGroup"],dragRelation:"strong",dragStart:function(e,t){var i=e.props,o=i.scrollContainer,n=void 0===o?e.getContainer():o,r=i.scrollOptions,s=new DragScroll$1,a=getRefTarget(n,!0);t.datas.dragScroll=s,e.state.dragScroll=s;var l=t.isControl?"controlGesto":"targetGesto",c=t.targets;s.on("scroll",function(i){var o=i.container,n=i.direction,r=fillParams(e,t,{scrollContainer:o,direction:n}),s=c?"onScrollGroup":"onScroll";c&&(r.targets=c),triggerEvent(e,s,r)}).on("move",function(t){var i=t.offsetX,o=t.offsetY,n=t.inputEvent;e[l].scrollBy(i,o,n.inputEvent,!1)}).on("scrollDrag",function(t){(0,t.next)(e[l].getCurrentEvent())}),s.dragStart(t,__assign$6({container:a},r))},checkScroll:function(e,t){var i=t.datas.dragScroll;if(i){var o=e.props,n=o.scrollContainer,r=void 0===n?e.getContainer():n,s=o.scrollThreshold,a=void 0===s?0:s,l=o.scrollThrottleTime,c=void 0===l?0:l,d=o.getScrollPosition,u=void 0===d?getDefaultScrollPosition$1:d,h=o.scrollOptions;return i.drag(t,__assign$6({container:r,threshold:a,throttleTime:c,getScrollPosition:function(e){return u({scrollContainer:e.container,direction:e.direction})}},h)),!0}},drag:function(e,t){return this.checkScroll(e,t)},dragEnd:function(e,t){t.datas.dragScroll.dragEnd(),t.datas.dragScroll=null},dragControlStart:function(e,t){return this.dragStart(e,__assign$6(__assign$6({},t),{isControl:!0}))},dragControl:function(e,t){return this.drag(e,t)},dragControlEnd:function(e,t){return this.dragEnd(e,t)},dragGroupStart:function(e,t){return this.dragStart(e,__assign$6(__assign$6({},t),{targets:e.props.targets}))},dragGroup:function(e,t){return this.drag(e,__assign$6(__assign$6({},t),{targets:e.props.targets}))},dragGroupEnd:function(e,t){return this.dragEnd(e,__assign$6(__assign$6({},t),{targets:e.props.targets}))},dragGroupControlStart:function(e,t){return this.dragStart(e,__assign$6(__assign$6({},t),{targets:e.props.targets,isControl:!0}))},dragGroupControl:function(e,t){return this.drag(e,__assign$6(__assign$6({},t),{targets:e.props.targets}))},dragGroupControEnd:function(e,t){return this.dragEnd(e,__assign$6(__assign$6({},t),{targets:e.props.targets}))},unset:function(e){var t,i=e.state;null===(t=i.dragScroll)||void 0===t||t.dragEnd(),i.dragScroll=null}},Default={name:"",props:["target","dragTargetSelf","dragTarget","dragContainer","container","warpSelf","rootContainer","useResizeObserver","useMutationObserver","zoom","dragFocusedInput","transformOrigin","ables","className","pinchThreshold","pinchOutside","triggerAblesSimultaneously","checkInput","cspNonce","translateZ","hideDefaultLines","props","flushSync","stopPropagation","preventClickEventOnDrag","preventClickDefault","viewContainer","persistData","useAccuratePosition","firstRenderState","linePadding","controlPadding","preventDefault","preventRightClick","preventWheelClick","requestStyles"],events:["changeTargets"]},Padding=makeAble("padding",{props:["padding"],render:function(e,t){var i=e.props;if(i.dragArea)return[];var o=getPaddingBox(i.padding||{}),n=o.left,r=o.top,s=o.right,a=o.bottom,l=e.getState(),c=l.renderPoses,d=[l.pos1,l.pos2,l.pos3,l.pos4],u=[];return n>0&&u.push([0,2]),r>0&&u.push([0,1]),s>0&&u.push([1,3]),a>0&&u.push([2,3]),u.map(function(e,i){var o=__read$1(e,2),n=o[0],r=o[1],s=createWarpMatrix([0,0],[100,0],[0,100],[100,100],d[n],d[r],c[n],c[r]);if(s.length)return t.createElement("div",{key:"padding".concat(i),className:prefix$1("padding"),style:{transform:makeMatrixCSS(s,!0)}})})}}),RADIUS_DIRECTIONS=["nw","ne","se","sw"];function calculateRatio(e,t){var i=e[0]+e[1],o=i>t?t/i:1;return e[0]*=o,e[1]=t-e[1]*o,e}var HORIZONTAL_RADIUS_ORDER=[1,2,5,6],VERTICAL_RADIUS_ORDER=[0,3,4,7],HORIZONTAL_RADIUS_DIRECTIONS=[1,-1,-1,1],VERTICAL_RADIUS_DIRECTIONS=[1,1,-1,-1];function getRadiusStyles(e,t,i,o,n,r,s,a){void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=i),void 0===a&&(a=o);var l=[],c=!1,d=e.filter(function(e){return!e.virtual}),u=d.map(function(e){var d=e.horizontal,u=e.vertical,h=e.pos;if(u&&!c&&(c=!0,l.push("/")),c){var p=Math.max(0,1===u?h[1]-r:a-h[1]);return l.push(convertCSSSize(p,o,t)),p}p=Math.max(0,1===d?h[0]-n:s-h[0]);return l.push(convertCSSSize(p,i,t)),p});return{radiusPoses:d,styles:l,raws:u}}function getRadiusRange(e){for(var t=[0,0],i=[0,0],o=e.length,n=0;n-1?e.slice(0,u):e).length,p=e.slice(0,h),g=e.slice(h+1),m=p.length,f=g.length,v=f>0,b=__read$1(p,4),_=b[0],y=void 0===_?"0px":_,C=b[1],w=void 0===C?y:C,x=b[2],S=void 0===x?y:x,k=b[3],E=void 0===k?w:k,I=__read$1(g,4),T=I[0],D=void 0===T?y:T,L=I[1],N=void 0===L?v?D:w:L,M=I[2],$=void 0===M?v?D:S:M,R=I[3],A=void 0===R?v?N:E:R,O=[y,w,S,E].map(function(e){return convertUnitSize(e,t)}),P=[D,N,$,A].map(function(e){return convertUnitSize(e,i)}),B=O.slice(),F=P.slice();a=__read$1(calculateRatio([B[0],B[1]],t),2),B[0]=a[0],B[1]=a[1],l=__read$1(calculateRatio([B[3],B[2]],t),2),B[3]=l[0],B[2]=l[1],c=__read$1(calculateRatio([F[0],F[3]],i),2),F[0]=c[0],F[3]=c[1],d=__read$1(calculateRatio([F[1],F[2]],i),2),F[1]=d[0],F[2]=d[1];var z=s?B:B.slice(0,Math.max(r[0],m)),V=s?F:F.slice(0,Math.max(r[1],f));return __spreadArray$3(__spreadArray$3([],__read$1(z.map(function(e,t){var r=RADIUS_DIRECTIONS[t];return{virtual:t>=m,horizontal:HORIZONTAL_RADIUS_DIRECTIONS[t],vertical:0,pos:[o+e,n+(-1===VERTICAL_RADIUS_DIRECTIONS[t]?i:0)],sub:!0,raw:O[t],direction:r}})),!1),__read$1(V.map(function(e,i){var r=RADIUS_DIRECTIONS[i];return{virtual:i>=f,horizontal:0,vertical:VERTICAL_RADIUS_DIRECTIONS[i],pos:[o+(-1===HORIZONTAL_RADIUS_DIRECTIONS[i]?t:0),n+e],sub:!0,raw:P[i],direction:r}})),!1)}function removeRadiusPos(e,t,i,o,n){void 0===n&&(n=t.length);var r=getRadiusRange(e.slice(o)),s=r.horizontalRange,a=r.verticalRange,l=i-o,c=0;if(0===l)c=n;else if(l>0&&l=a[0]))return;c=a[0]+a[1]-l}e.splice(i,c),t.splice(i,c)}function addRadiusPos(e,t,i,o,n,r,s,a,l,c,d){void 0===c&&(c=0),void 0===d&&(d=0);var u=getRadiusRange(e.slice(i)),h=u.horizontalRange,p=u.verticalRange;if(o>-1)for(var g=1===HORIZONTAL_RADIUS_DIRECTIONS[o]?r-c:a-r,m=h[1];m<=o;++m){var f=1===VERTICAL_RADIUS_DIRECTIONS[m]?d:l,v=0;if(o===m?v=r:0===m?v=c+g:-1===HORIZONTAL_RADIUS_DIRECTIONS[m]&&(v=a-(t[i][0]-c)),e.splice(i+m,0,{horizontal:HORIZONTAL_RADIUS_DIRECTIONS[m],vertical:0,pos:[v,f]}),t.splice(i+m,0,[v,f]),0===m)break}else if(n>-1){var b=1===VERTICAL_RADIUS_DIRECTIONS[n]?s-d:l-s;if(0===h[1]&&0===p[1]){var _=[c+b,d];e.push({horizontal:HORIZONTAL_RADIUS_DIRECTIONS[0],vertical:0,pos:_}),t.push(_)}var y=p[0];for(m=p[1];m<=n;++m){v=1===HORIZONTAL_RADIUS_DIRECTIONS[m]?c:a,f=0;if(n===m?f=s:0===m?f=d+b:1===VERTICAL_RADIUS_DIRECTIONS[m]?f=t[i+y][1]:-1===VERTICAL_RADIUS_DIRECTIONS[m]&&(f=l-(t[i+y][1]-d)),e.push({horizontal:0,vertical:VERTICAL_RADIUS_DIRECTIONS[m],pos:[v,f]}),t.push([v,f]),0===m)break}}}function splitRadiusPoses(e,t){return void 0===t&&(t=e.map(function(e){return e.raw})),{horizontals:e.map(function(e,i){return e.horizontal?t[i]:null}).filter(function(e){return null!=e}),verticals:e.map(function(e,i){return e.vertical?t[i]:null}).filter(function(e){return null!=e})}}var CLIP_DIRECTIONS=[[0,-1,"n"],[1,0,"e"]],CLIP_RECT_DIRECTIONS=[[-1,-1,"nw"],[0,-1,"n"],[1,-1,"ne"],[1,0,"e"],[1,1,"se"],[0,1,"s"],[-1,1,"sw"],[-1,0,"w"]];function getClipStyles(e,t,i){var o=e.props.clipRelative,n=e.state,r=n.width,s=n.height,a=t,l=a.type,c=a.poses,d="rect"===l,u="circle"===l;if("polygon"===l)return i.map(function(e){return"".concat(convertCSSSize(e[0],r,o)," ").concat(convertCSSSize(e[1],s,o))});if(d||"inset"===l){var h=i[1][1],p=i[3][0],g=i[7][0],m=i[5][1];if(d)return[h,p,m,g].map(function(e){return"".concat(e,"px")});var f=[h,r-p,s-m,g].map(function(e,t){return convertCSSSize(e,t%2?r:s,o)});if(i.length>8){var v=__read$1(minus(i[4],i[0]),2),b=v[0],_=v[1];f.push.apply(f,__spreadArray$3(["round"],__read$1(getRadiusStyles(c.slice(8).map(function(e,t){return __assign$6(__assign$6({},e),{pos:i[t]})}),o,b,_,g,h,p,m).styles),!1))}return f}if(u||"ellipse"===l){var y=i[0],C=convertCSSSize(abs(i[1][1]-y[1]),u?Math.sqrt((r*r+s*s)/2):s,o);return(f=u?[C]:[convertCSSSize(abs(i[2][0]-y[0]),r,o),C]).push("at",convertCSSSize(y[0],r,o),convertCSSSize(y[1],s,o)),f}}function getRectPoses(e,t,i,o){var n=[o,(o+t)/2,t],r=[e,(e+i)/2,i];return CLIP_RECT_DIRECTIONS.map(function(e){var t=__read$1(e,3),i=t[0],o=t[1],s=t[2],a=n[i+1],l=r[o+1];return{vertical:abs(o),horizontal:abs(i),direction:s,pos:[a,l]}})}function getControlSize(e){var t=[1/0,-1/0],i=[1/0,-1/0];return e.forEach(function(e){var o=e.pos;t[0]=Math.min(t[0],o[0]),t[1]=Math.max(t[1],o[0]),i[0]=Math.min(i[0],o[1]),i[1]=Math.max(i[1],o[1])}),[abs(t[1]-t[0]),abs(i[1]-i[0])]}function getClipPath(e,t,i,o,n){var r,s,a,l,c,d,u,h,p;if(e){var g=n;if(!g){var m=getCachedStyle(e),f=m("clipPath");g="none"!==f?f:m("clip")}if(g&&"none"!==g&&"auto"!==g||(g=o)){var v=splitBracket(g),b=v.prefix,_=void 0===b?g:b,y=v.value,C=void 0===y?"":y,w="circle"===_,x=" ";if("polygon"===_){x=",";var S=(L=splitComma(C||"0% 0%, 100% 0%, 100% 100%, 0% 100%")).map(function(e){var o=__read$1(e.split(" "),2),n=o[0],r=o[1];return{vertical:1,horizontal:1,pos:[convertUnitSize(n,t),convertUnitSize(r,i)]}}),k=getMinMaxs(S.map(function(e){return e.pos}));return{type:_,clipText:g,poses:S,splitter:x,left:k.minX,right:k.maxX,top:k.minY,bottom:k.maxY}}if(w||"ellipse"===_){var E="",I="",T=0,D=0,L=splitSpace(C);if(w){var N;N=void 0===(s=(r=__read$1(L,4))[0])?"50%":s,E=void 0===(a=r[2])?"50%":a,I=void 0===(l=r[3])?"50%":l,T=convertUnitSize(N,Math.sqrt((t*t+i*i)/2)),D=T}else{var M,$;M=void 0===(d=(c=__read$1(L,5))[0])?"50%":d,$=void 0===(u=c[1])?"50%":u,E=void 0===(h=c[3])?"50%":h,I=void 0===(p=c[4])?"50%":p,T=convertUnitSize(M,t),D=convertUnitSize($,i)}var R=[convertUnitSize(E,t),convertUnitSize(I,i)];S=__spreadArray$3([{vertical:1,horizontal:1,pos:R,direction:"nesw"}],__read$1(CLIP_DIRECTIONS.slice(0,w?1:2).map(function(e){return{vertical:abs(e[1]),horizontal:e[0],direction:e[2],sub:!0,pos:[R[0]+e[0]*T,R[1]+e[1]*D]}})),!1);return{type:_,clipText:g,radiusX:T,radiusY:D,left:R[0]-T,top:R[1]-D,right:R[0]+T,bottom:R[1]+D,poses:S,splitter:x}}if("inset"===_){var A=(L=splitSpace(C||"0 0 0 0")).indexOf("round"),O=(A>-1?L.slice(0,A):L).length,P=L.slice(O+1),B=__read$1(L.slice(0,O),4),F=B[0],z=B[1],V=void 0===z?F:z,H=B[2],W=void 0===H?F:H,K=B[3],U=void 0===K?V:K,j=__read$1([F,W].map(function(e){return convertUnitSize(e,i)}),2),G=j[0],q=j[1],Y=__read$1([U,V].map(function(e){return convertUnitSize(e,t)}),2),X=Y[0],Q=Y[1],Z=t-Q,J=i-q,ee=getRadiusValues(P,Z-X,J-G,X,G);return{type:"inset",clipText:g,poses:S=__spreadArray$3(__spreadArray$3([],__read$1(getRectPoses(G,Z,J,X)),!1),__read$1(ee),!1),top:G,left:X,right:Z,bottom:J,radius:P,splitter:x}}if("rect"===_){x=",";var te=__read$1((L=splitComma(C||"0px, ".concat(t,"px, ").concat(i,"px, 0px"))).map(function(e){return splitUnit(e).value}),4),ie=te[0];return{type:"rect",clipText:g,poses:S=getRectPoses(ie,Q=te[1],q=te[2],X=te[3]),top:ie,right:Q,bottom:q,left:X,values:L,splitter:x}}}}}function moveControlPos(e,t,i,o,n){var r=e[t],s=r.direction,a=r.sub,l=e.map(function(){return[0,0]}),c=s?s.split(""):[];if(o&&t<8){var d=c.filter(function(e){return"w"===e||"e"===e}),u=c.filter(function(e){return"n"===e||"s"===e}),h=d[0],p=u[0];l[t]=i;var g=__read$1(getControlSize(e),2),m=g[0],f=g[1],v=m&&f?m/f:0;if(v&&n){var b=e[(t+4)%8].pos,_=[0,0];s.indexOf("w")>-1?_[0]=-1:s.indexOf("e")>-1&&(_[0]=1),s.indexOf("n")>-1?_[1]=-1:s.indexOf("s")>-1&&(_[1]=1);var y=getSizeDistByDist([m,f],i,v,_,!0),C=m+y[0],w=f+y[1],x=b[1],S=b[1],k=b[0],E=b[0];-1===_[0]?k=E-C:1===_[0]?E=k+C:(k-=C/2,E+=C/2),-1===_[1]?x=S-w:S=1===_[1]?x+w:(x=S-w/2)+w;var I=getRectPoses(x,E,S,k);e.forEach(function(e,t){l[t][0]=I[t].pos[0]-e.pos[0],l[t][1]=I[t].pos[1]-e.pos[1]})}else e.forEach(function(e,t){var o=e.direction;o&&(o.indexOf(h)>-1&&(l[t][0]=i[0]),o.indexOf(p)>-1&&(l[t][1]=i[1]))}),h&&(l[1][0]=i[0]/2,l[5][0]=i[0]/2),p&&(l[3][1]=i[1]/2,l[7][1]=i[1]/2)}else s&&!a?c.forEach(function(t){var o="n"===t||"s"===t;e.forEach(function(e,n){var r=e.direction,s=e.horizontal,a=e.vertical;r&&-1!==r.indexOf(t)&&(l[n]=[o||!s?0:i[0],o&&a?i[1]:0])})}):l[t]=i;return l}function addClipPath(e,t){var i=__read$1(calculatePointerDist(e,t),2),o=i[0],n=i[1],r=t.datas,s=r.clipPath,a=r.clipIndex,l=s,c=l.type,d=l.poses,u=l.splitter,h=d.map(function(e){return e.pos});if("polygon"===c)h.splice(a,0,[o,n]);else{if("inset"!==c)return;var p=HORIZONTAL_RADIUS_ORDER.indexOf(a),g=VERTICAL_RADIUS_ORDER.indexOf(a),m=d.length;if(addRadiusPos(d,h,8,p,g,o,n,h[4][0],h[4][1],h[0][0],h[0][1]),m===d.length)return}var f=getClipStyles(e,s,h),v="".concat(c,"(").concat(f.join(u),")");triggerEvent(e,"onClip",fillParams(e,t,__assign$6({clipEventType:"added",clipType:c,poses:h,clipStyles:f,clipStyle:v,distX:0,distY:0},fillCSSObject({clipPath:v},t))))}function removeClipPath(e,t){var i=t.datas,o=i.clipPath,n=i.clipIndex,r=o,s=r.type,a=r.poses,l=r.splitter,c=a.map(function(e){return e.pos}),d=c.length;if("polygon"===s)a.splice(n,1),c.splice(n,1);else{if("inset"!==s)return;if(n<8)return;if(removeRadiusPos(a,c,n,8,d),d===a.length)return}var u=getClipStyles(e,o,c),h="".concat(s,"(").concat(u.join(l),")");triggerEvent(e,"onClip",fillParams(e,t,__assign$6({clipEventType:"removed",clipType:s,poses:c,clipStyles:u,clipStyle:h,distX:0,distY:0},fillCSSObject({clipPath:h},t))))}var Clippable={name:"clippable",props:["clippable","defaultClipPath","customClipPath","keepRatio","clipRelative","clipArea","dragWithClip","clipTargetBounds","clipVerticalGuidelines","clipHorizontalGuidelines","clipSnapThreshold"],events:["clipStart","clip","clipEnd"],css:[".control.clip-control {\nbackground: #6d6;\ncursor: pointer;\n}\n.control.clip-control.clip-radius {\nbackground: #d66;\n}\n.line.clip-line {\nbackground: #6e6;\ncursor: move;\nz-index: 1;\n}\n.clip-area {\nposition: absolute;\ntop: 0;\nleft: 0;\n}\n.clip-ellipse {\nposition: absolute;\ncursor: move;\nborder: 1px solid #6d6;\nborder: var(--zoompx) solid #6d6;\nborder-radius: 50%;\ntransform-origin: 0px 0px;\n}",":host {\n--bounds-color: #d66;\n}",".guideline {\npointer-events: none;\nz-index: 2;\n}",".line.guideline.bounds {\nbackground: #d66;\nbackground: var(--bounds-color);\n}"],render:function(e,t){var i=e.props,o=i.customClipPath,n=i.defaultClipPath,r=i.clipArea,s=i.zoom,a=i.groupable,l=e.getState(),c=l.target,d=l.width,u=l.height,h=l.allMatrix,p=l.is3d,g=l.left,m=l.top,f=l.pos1,v=l.pos2,b=l.pos3,_=l.pos4,y=l.clipPathState,C=l.snapBoundInfos,w=l.rotation;if(!c||a)return[];var x=getClipPath(c,d,u,n||"inset",y||o);if(!x)return[];var S=p?4:3,k=x.type,E=x.poses.map(function(e){var t=calculatePosition(h,e.pos,S);return[t[0]-g,t[1]-m]}),I=[],T=[],D="rect"===k,L="inset"===k,N="polygon"===k;if(D||L||N){var M=L?E.slice(0,8):E;T=M.map(function(e,i){var o=0===i?M[M.length-1]:M[i-1],n=getRad$1(o,e),r=getDiagonalSize(o,e);return t.createElement("div",{key:"clipLine".concat(i),className:prefix$1("line","clip-line","snap-control"),"data-clip-index":i,style:{width:"".concat(r,"px"),transform:"translate(".concat(o[0],"px, ").concat(o[1],"px) rotate(").concat(n,"rad) scaleY(").concat(s,")")}})})}if(I=E.map(function(e,i){return t.createElement("div",{key:"clipControl".concat(i),className:prefix$1("control","clip-control","snap-control"),"data-clip-index":i,style:{transform:"translate(".concat(e[0],"px, ").concat(e[1],"px) rotate(").concat(w,"rad) scale(").concat(s,")")}})}),L&&I.push.apply(I,__spreadArray$3([],__read$1(E.slice(8).map(function(e,i){return t.createElement("div",{key:"clipRadiusControl".concat(i),className:prefix$1("control","clip-control","clip-radius","snap-control"),"data-clip-index":8+i,style:{transform:"translate(".concat(e[0],"px, ").concat(e[1],"px) rotate(").concat(w,"rad) scale(").concat(s,")")}})})),!1)),"circle"===k||"ellipse"===k){var $=x.left,R=x.top,A=x.radiusX,O=x.radiusY,P=__read$1(minus(calculatePosition(h,[$,R],S),calculatePosition(h,[0,0],S)),2),B=P[0],F=P[1],z="none";if(!r){for(var V=Math.max(10,A/5,O/5),H=[],W=0;W<=V;++W){var K=2*Math.PI/V*W;H.push([A+(A-s)*Math.cos(K),O+(O-s)*Math.sin(K)])}H.push([A,-2]),H.push([-2,-2]),H.push([-2,2*O+2]),H.push([2*A+2,2*O+2]),H.push([2*A+2,-2]),H.push([A,-2]),z="polygon(".concat(H.map(function(e){return"".concat(e[0],"px ").concat(e[1],"px")}).join(", "),")")}I.push(t.createElement("div",{key:"clipEllipse",className:prefix$1("clip-ellipse","snap-control"),style:{width:"".concat(2*A,"px"),height:"".concat(2*O,"px"),clipPath:z,transform:"translate(".concat(-g+B,"px, ").concat(-m+F,"px) ").concat(makeMatrixCSS(h))}}))}if(r){var U=getRect(__spreadArray$3([f,v,b,_],__read$1(E),!1)),j=U.width,G=U.height,q=U.left,Y=U.top;if(N||D||L){H=L?E.slice(0,8):E;I.push(t.createElement("div",{key:"clipArea",className:prefix$1("clip-area","snap-control"),style:{width:"".concat(j,"px"),height:"".concat(G,"px"),transform:"translate(".concat(q,"px, ").concat(Y,"px)"),clipPath:"polygon(".concat(H.map(function(e){return"".concat(e[0]-q,"px ").concat(e[1]-Y,"px")}).join(", "),")")}}))}}return C&&["vertical","horizontal"].forEach(function(e){var i=C[e],o="horizontal"===e;i.isSnap&&T.push.apply(T,__spreadArray$3([],__read$1(i.snap.posInfos.map(function(i,n){var r=i.pos,a=minus(calculatePosition(h,o?[0,r]:[r,0],S),[g,m]),l=minus(calculatePosition(h,o?[d,r]:[r,u],S),[g,m]);return renderLine(t,"",a,l,s,"clip".concat(e,"snap").concat(n),"guideline")})),!1)),i.isBound&&T.push.apply(T,__spreadArray$3([],__read$1(i.bounds.map(function(i,n){var r=i.pos,a=minus(calculatePosition(h,o?[0,r]:[r,0],S),[g,m]),l=minus(calculatePosition(h,o?[d,r]:[r,u],S),[g,m]);return renderLine(t,"",a,l,s,"clip".concat(e,"bounds").concat(n),"guideline","bounds","bold")})),!1))}),__spreadArray$3(__spreadArray$3([],__read$1(I),!1),__read$1(T),!1)},dragControlCondition:function(e,t){return t.inputEvent&&(t.inputEvent.target.getAttribute("class")||"").indexOf("clip")>-1},dragStart:function(e,t){var i=e.props.dragWithClip;return!(void 0===i||i)&&this.dragControlStart(e,t)},drag:function(e,t){return this.dragControl(e,__assign$6(__assign$6({},t),{isDragTarget:!0}))},dragEnd:function(e,t){return this.dragControlEnd(e,t)},dragControlStart:function(e,t){var i=e.state,o=e.props,n=o.defaultClipPath,r=o.customClipPath,s=i.target,a=i.width,l=i.height,c=t.inputEvent?t.inputEvent.target:null,d=c&&c.getAttribute("class")||"",u=t.datas,h=getClipPath(s,a,l,n||"inset",r);if(!h)return!1;var p=h.clipText;return!1===triggerEvent(e,"onClipStart",fillParams(e,t,{clipType:h.type,clipStyle:p,poses:h.poses.map(function(e){return e.pos})}))?(u.isClipStart=!1,!1):(u.isControl=d&&d.indexOf("clip-control")>-1,u.isLine=d.indexOf("clip-line")>-1,u.isArea=d.indexOf("clip-area")>-1||d.indexOf("clip-ellipse")>-1,u.clipIndex=c?parseInt(c.getAttribute("data-clip-index"),10):-1,u.clipPath=h,u.isClipStart=!0,i.clipPathState=p,setDragStart(e,t),!0)},dragControl:function(e,t){var i,o,n,r=t.datas,s=t.originalDatas,a=t.isDragTarget;if(!r.isClipStart)return!1;var l=r,c=l.isControl,d=l.isLine,u=l.isArea,h=l.clipIndex,p=l.clipPath;if(!p)return!1;var g=getProps(e.props,"clippable"),m=g.keepRatio,f=0,v=0,b=s.draggable,_=getDragDist(t);a&&b?(i=__read$1(b.prevBeforeDist,2),f=i[0],v=i[1]):(o=__read$1(_,2),f=o[0],v=o[1]);var y=[f,v],C=e.state,w=C.width,x=C.height,S=!u&&!c&&!d,k=p.type,E=p.poses,I=p.splitter,T=E.map(function(e){return e.pos});S&&(f=-f,v=-v);var D=!c||"nesw"===E[h].direction,L="inset"===k||"rect"===k,N=E.map(function(){return[0,0]});if(c&&!D){var M=E[h],$=M.horizontal,R=M.vertical,A=[f*abs($),v*abs(R)];N=moveControlPos(E,h,A,L,m)}else D&&(N=T.map(function(){return[f,v]}));var O=T.map(function(e,t){return plus(e,N[t])}),P=__spreadArray$3([],__read$1(O),!1);C.snapBoundInfos=null;var B="circle"===p.type,F="ellipse"===p.type;if(B||F){var z=abs((ie=getRect(O)).bottom-ie.top),V=abs(F?ie.right-ie.left:z),H=O[0][1]+z,W=O[0][0]-V,K=O[0][0]+V;B&&(P.push([K,ie.bottom]),N.push([1,0])),P.push([ie.left,H]),N.push([0,1]),P.push([W,ie.bottom]),N.push([1,0])}var U=getDefaultGuidelines((g.clipHorizontalGuidelines||[]).map(function(e){return convertUnitSize("".concat(e),x)}),(g.clipVerticalGuidelines||[]).map(function(e){return convertUnitSize("".concat(e),w)}),w,x),j=[],G=[];if(B||F)j=[P[4][0],P[2][0]],G=[P[1][1],P[3][1]];else if(L){var q=[P[0],P[2],P[4],P[6]],Y=[N[0],N[2],N[4],N[6]];j=q.filter(function(e,t){return Y[t][0]}).map(function(e){return e[0]}),G=q.filter(function(e,t){return Y[t][1]}).map(function(e){return e[1]})}else j=P.filter(function(e,t){return N[t][0]}).map(function(e){return e[0]}),G=P.filter(function(e,t){return N[t][1]}).map(function(e){return e[1]});var X=[0,0],Q=checkSnapBounds(U,g.clipTargetBounds&&{left:0,top:0,right:w,bottom:x},j,G,5,5),Z=Q.horizontal,J=Q.vertical,ee=Z.offset,te=J.offset;if(Z.isBound&&(X[1]+=ee),J.isBound&&(X[0]+=te),(F||B)&&0===N[0][0]&&0===N[0][1]){var ie,oe=(ie=getRect(O)).bottom-ie.top,ne=F?ie.right-ie.left:oe;ne-=J.isBound?abs(te):0===J.snapIndex?-te:te,oe-=Z.isBound?abs(ee):0===Z.snapIndex?-ee:ee,B&&(ne=oe=checkSnapBoundPriority(J,Z)>0?oe:ne);var re=P[0];P[1][1]=re[1]-oe,P[2][0]=re[0]+ne,P[3][1]=re[1]+oe,P[4][0]=re[0]-ne}else if(L&&m&&c){var se=__read$1(getControlSize(E),2),ae=se[0],le=se[1],ce=ae&&le?ae/le:0,de=E[h].direction||"",ue=P[1][1];H=P[5][1],W=P[7][0],K=P[3][0];abs(ee)<=abs(te)?ee=sign(ee)*abs(te)/ce:te=sign(te)*abs(ee)*ce,de.indexOf("w")>-1?W-=te:de.indexOf("e")>-1?K-=te:(W+=te/2,K-=te/2),de.indexOf("n")>-1?ue-=ee:de.indexOf("s")>-1?H-=ee:(ue+=ee/2,H-=ee/2);var he=getRectPoses(ue,K,H,W);P.forEach(function(e,t){var i;i=__read$1(he[t].pos,2),e[0]=i[0],e[1]=i[1]})}else P.forEach(function(e,t){var i=N[t];i[0]&&(e[0]-=te),i[1]&&(e[1]-=ee)});var pe=getClipStyles(e,p,O),ge="".concat(k,"(").concat(pe.join(I),")");if(C.clipPathState=ge,B||F)j=[P[4][0],P[2][0]],G=[P[1][1],P[3][1]];else if(L){j=(q=[P[0],P[2],P[4],P[6]]).map(function(e){return e[0]}),G=q.map(function(e){return e[1]})}else j=P.map(function(e){return e[0]}),G=P.map(function(e){return e[1]});if(C.snapBoundInfos=checkSnapBounds(U,g.clipTargetBounds&&{left:0,top:0,right:w,bottom:x},j,G,1,1),b){var me=C.is3d,fe=C.allMatrix,ve=me?4:3,be=X;a&&(be=[y[0]+X[0]-_[0],y[1]+X[1]-_[1]]),b.deltaOffset=multiply(fe,[be[0],be[1],0,0],ve)}return triggerEvent(e,"onClip",fillParams(e,t,__assign$6({clipEventType:"changed",clipType:k,poses:O,clipStyle:ge,clipStyles:pe,distX:f,distY:v},fillCSSObject(((n={})["rect"===k?"clip":"clipPath"]=ge,n),t)))),!0},dragControlEnd:function(e,t){this.unset(e);var i=t.isDrag,o=t.datas,n=t.isDouble,r=o.isLine,s=o.isClipStart,a=o.isControl;return!!s&&(triggerEvent(e,"onClipEnd",fillEndParams(e,t,{})),n&&(a?removeClipPath(e,t):r&&addClipPath(e,t)),n||i)},unset:function(e){e.state.clipPathState="",e.state.snapBoundInfos=null}},OriginDraggable={name:"originDraggable",props:["originDraggable","originRelative"],events:["dragOriginStart","dragOrigin","dragOriginEnd"],css:[":host[data-able-origindraggable] .control.origin {\npointer-events: auto;\n}"],dragControlCondition:function(e,t){return t.isRequest?"originDraggable"===t.requestAble:hasClass$1(t.inputEvent.target,prefix$1("origin"))},dragControlStart:function(e,t){var i=t.datas;setDragStart(e,t);var o=fillParams(e,t,{dragStart:Draggable.dragStart(e,(new CustomGesto).dragStart([0,0],t))}),n=triggerEvent(e,"onDragOriginStart",o);return i.startOrigin=e.state.transformOrigin,i.startTargetOrigin=e.state.targetOrigin,i.prevOrigin=[0,0],i.isDragOrigin=!0,!1===n?(i.isDragOrigin=!1,!1):o},dragControl:function(e,t){var i=t.datas,o=t.isPinch,n=t.isRequest;if(!i.isDragOrigin)return!1;var r=__read$1(getDragDist(t),2),s=r[0],a=r[1],l=e.state,c=l.width,d=l.height,u=l.offsetMatrix,h=l.targetMatrix,p=l.is3d,g=e.props.originRelative,m=void 0===g||g,f=p?4:3,v=[s,a];if(n){var b=t.distOrigin;(b[0]||b[1])&&(v=b)}var _=plus(i.startOrigin,v),y=plus(i.startTargetOrigin,v),C=minus(v,i.prevOrigin),w=getNextMatrix(u,h,_,f),x=e.getRect(),S=getRect(calculatePoses(w,c,d,f)),k=[x.left-S.left,x.top-S.top];i.prevOrigin=v;var E=[convertCSSSize(y[0],c,m),convertCSSSize(y[1],d,m)].join(" "),I=Draggable.drag(e,setCustomDrag(t,e.state,k,!!o)),T=fillParams(e,t,__assign$6(__assign$6({width:c,height:d,origin:_,dist:v,delta:C,transformOrigin:E,drag:I},fillCSSObject({transformOrigin:E,transform:I.transform},t)),{afterTransform:I.transform}));return triggerEvent(e,"onDragOrigin",T),T},dragControlEnd:function(e,t){return!!t.datas.isDragOrigin&&(triggerEvent(e,"onDragOriginEnd",fillEndParams(e,t,{})),!0)},dragGroupControlCondition:function(e,t){return this.dragControlCondition(e,t)},dragGroupControlStart:function(e,t){return!!this.dragControlStart(e,t)},dragGroupControl:function(e,t){var i=this.dragControl(e,t);return!!i&&(e.transformOrigin=i.transformOrigin,!0)},request:function(e){var t={},i=e.getRect(),o=0,n=0,r=i.transformOrigin,s=[0,0];return{isControl:!0,requestStart:function(){return{datas:t}},request:function(e){return"deltaOrigin"in e?(s[0]+=e.deltaOrigin[0],s[1]+=e.deltaOrigin[1]):"origin"in e?(s[0]=e.origin[0]-r[0],s[1]=e.origin[1]-r[1]):("x"in e?o=e.x-i.left:"deltaX"in e&&(o+=e.deltaX),"y"in e?n=e.y-i.top:"deltaY"in e&&(n+=e.deltaY)),{datas:t,distX:o,distY:n,distOrigin:s}},requestEnd:function(){return{datas:t,isDrag:!0}}}}};function addBorderRadiusByLine(e,t,i,o){var n=e.filter(function(e){var t=e.virtual;return e.horizontal&&!t}).length,r=e.filter(function(e){var t=e.virtual;return e.vertical&&!t}).length,s=-1;if(0===t&&(0===n?s=0:1===n&&(s=1)),2===t&&(n<=2?s=2:n<=3&&(s=3)),3===t&&(0===r?s=4:r<4&&(s=7)),1===t&&(r<=1?s=5:r<=2&&(s=6)),-1!==s&&e[s].virtual){var a=e[s];addBorderRadius(e,s),s<4?a.pos[0]=i:a.pos[1]=o}}function addBorderRadius(e,t){t<4?e.slice(0,t+1).forEach(function(e){e.virtual=!1}):(e[0].virtual&&(e[0].virtual=!1),e.slice(4,t+1).forEach(function(e){e.virtual=!1}))}function removeBorderRadius(e,t){t<4?e.slice(t,4).forEach(function(e){e.virtual=!0}):e.slice(t).forEach(function(e){e.virtual=!0})}function getBorderRadius(e,t,i,o,n){void 0===o&&(o=[0,0]);return getRadiusValues(e&&"0px"!==e?splitSpace(e):[],t,i,0,0,o,n)}function triggerRoundEvent(e,t,i,o,n){var r=e.state,s=r.width,a=r.height,l=getRadiusStyles(n,e.props.roundRelative,s,a),c=l.raws,d=l.styles,u=splitRadiusPoses(l.radiusPoses,c),h=u.horizontals,p=u.verticals,g=d.join(" ");r.borderRadiusState=g;var m=fillParams(e,t,__assign$6({horizontals:h,verticals:p,borderRadius:g,width:s,height:a,delta:o,dist:i},fillCSSObject({borderRadius:g},t)));return triggerEvent(e,"onRound",m),m}function getStyleBorderRadius(e){var t,i,o=e.getState().style,n=o.borderRadius||"";if(!n&&e.props.groupable){var r=e.moveables[0],s=e.getTargets()[0];s&&((null==r?void 0:r.props.target)===s?(n=null!==(i=null===(t=e.moveables[0])||void 0===t?void 0:t.state.style.borderRadius)&&void 0!==i?i:"",o.borderRadius=n):(n=getComputedStyle$1(s).borderRadius,o.borderRadius=n))}return n}var Roundable={name:"roundable",props:["roundable","roundRelative","minRoundControls","maxRoundControls","roundClickable","roundPadding","isDisplayShadowRoundControls"],events:["roundStart","round","roundEnd","roundGroupStart","roundGroup","roundGroupEnd"],css:[".control.border-radius {\nbackground: #d66;\ncursor: pointer;\nz-index: 3;\n}",".control.border-radius.vertical {\nbackground: #d6d;\nz-index: 2;\n}",".control.border-radius.virtual {\nopacity: 0.5;\nz-index: 1;\n}",":host.round-line-clickable .line.direction {\ncursor: pointer;\n}"],className:function(e){var t=e.props.roundClickable;return!0===t||"line"===t?prefix$1("round-line-clickable"):""},requestStyle:function(){return["borderRadius"]},requestChildStyle:function(){return["borderRadius"]},render:function(e,t){var i=e.getState(),o=i.target,n=i.width,r=i.height,s=i.allMatrix,a=i.is3d,l=i.left,c=i.top,d=i.borderRadiusState,u=e.props,h=u.minRoundControls,p=void 0===h?[0,0]:h,g=u.maxRoundControls,m=void 0===g?[4,4]:g,f=u.zoom,v=u.roundPadding,b=void 0===v?0:v,_=u.isDisplayShadowRoundControls,y=u.groupable;if(!o)return null;var C=d||getStyleBorderRadius(e),w=a?4:3,x=getBorderRadius(C,n,r,p,!0);if(!x)return null;var S=0,k=0,E=y?[0,0]:[l,c];return x.map(function(e,i){var o=e.horizontal,n=e.vertical,r=e.direction||"",a=__spreadArray$3([],__read$1(e.pos),!1);k+=Math.abs(o),S+=Math.abs(n),o&&r.indexOf("n")>-1&&(a[1]-=b),n&&r.indexOf("w")>-1&&(a[0]-=b),o&&r.indexOf("s")>-1&&(a[1]+=b),n&&r.indexOf("e")>-1&&(a[0]+=b);var l=minus(calculatePosition(s,a,w),E),c=_&&"horizontal"!==_,d=e.vertical?S<=m[1]&&(c||!e.virtual):k<=m[0]&&(_||!e.virtual);return t.createElement("div",{key:"borderRadiusControl".concat(i),className:prefix$1("control","border-radius",e.vertical?"vertical":"",e.virtual?"virtual":""),"data-radius-index":i,style:{display:d?"block":"none",transform:"translate(".concat(l[0],"px, ").concat(l[1],"px) scale(").concat(f,")")}})})},dragControlCondition:function(e,t){if(!t.inputEvent||t.isRequest)return!1;var i=t.inputEvent.target.getAttribute("class")||"";return i.indexOf("border-radius")>-1||i.indexOf("moveable-line")>-1&&i.indexOf("moveable-direction")>-1},dragGroupControlCondition:function(e,t){return this.dragControlCondition(e,t)},dragControlStart:function(e,t){var i=t.inputEvent,o=t.datas,n=i.target,r=n.getAttribute("class")||"",s=r.indexOf("border-radius")>-1,a=r.indexOf("moveable-line")>-1&&r.indexOf("moveable-direction")>-1,l=s?parseInt(n.getAttribute("data-radius-index"),10):-1,c=-1;if(a){var d=n.getAttribute("data-line-key")||"";d&&(c=parseInt(d.replace(/render-line-/g,""),10),isNaN(c)&&(c=-1))}if(!s&&!a)return!1;var u=fillParams(e,t,{});if(!1===triggerEvent(e,"onRoundStart",u))return!1;o.lineIndex=c,o.controlIndex=l,o.isControl=s,o.isLine=a,setDragStart(e,t);var h=e.props,p=h.roundRelative,g=h.minRoundControls,m=void 0===g?[0,0]:g,f=e.state,v=f.width,b=f.height;o.isRound=!0,o.prevDist=[0,0];var _=getBorderRadius(getStyleBorderRadius(e)||"",v,b,m,!0)||[];return o.controlPoses=_,f.borderRadiusState=getRadiusStyles(_,p,v,b).styles.join(" "),u},dragControl:function(e,t){var i=t.datas,o=i.controlPoses;if(!i.isRound||!i.isControl||!o.length)return!1;var n=i.controlIndex,r=__read$1(getDragDist(t),2),s=r[0],a=r[1],l=[s,a],c=minus(l,i.prevDist),d=e.props.maxRoundControls,u=void 0===d?[4,4]:d,h=e.state,p=h.width,g=h.height,m=o[n],f=m.vertical,v=m.horizontal,b=o.map(function(e){var t=e.horizontal,i=e.vertical,o=[t*v*l[0],i*f*l[1]];if(t){if(1===u[0])return o;if(u[0]<4&&t!==v)return o}else{if(0===u[1])return o[1]=i*v*l[0]/p*g,o;if(f){if(1===u[1])return o;if(u[1]<4&&i!==f)return o}}return[0,0]});b[n]=l;var _=o.map(function(e,t){return __assign$6(__assign$6({},e),{pos:plus(e.pos,b[t])})});return n<4?_.slice(0,n+1).forEach(function(e){e.virtual=!1}):_.slice(4,n+1).forEach(function(e){e.virtual=!1}),i.prevDist=[s,a],triggerRoundEvent(e,t,l,c,_)},dragControlEnd:function(e,t){var i=e.state;i.borderRadiusState="";var o=t.datas,n=t.isDouble;if(!o.isRound)return!1;var r=o.isControl,s=o.controlIndex,a=o.isLine,l=o.lineIndex,c=o.controlPoses,d=c.filter(function(e){return e.virtual}).length,u=e.props.roundClickable,h=void 0===u||u;if(n&&h){if(!r||!0!==h&&"control"!==h){if(a&&(!0===h||"line"===h)){var p=__read$1(calculatePointerDist(e,t),2);addBorderRadiusByLine(c,l,p[0],p[1])}}else removeBorderRadius(c,s);d!==c.filter(function(e){return e.virtual}).length&&triggerRoundEvent(e,t,[0,0],[0,0],c)}var g=fillEndParams(e,t,{});return triggerEvent(e,"onRoundEnd",g),i.borderRadiusState="",g},dragGroupControlStart:function(e,t){var i=this.dragControlStart(e,t);if(!i)return!1;var o=e.moveables,n=e.props.targets,r=fillChildEvents(e,"roundable",t);return triggerEvent(e,"onRoundGroupStart",__assign$6({targets:e.props.targets,events:r.map(function(e,t){return __assign$6(__assign$6({},e),{target:n[t],moveable:o[t],currentTarget:o[t]})})},i)),i},dragGroupControl:function(e,t){var i=this.dragControl(e,t);if(!i)return!1;var o=e.moveables,n=e.props.targets,r=fillChildEvents(e,"roundable",t),s=__assign$6({targets:e.props.targets,events:r.map(function(e,t){return __assign$6(__assign$6(__assign$6({},e),{target:n[t],moveable:o[t],currentTarget:o[t]}),fillCSSObject({borderRadius:i.borderRadius},e))})},i);return triggerEvent(e,"onRoundGroup",s),s},dragGroupControlEnd:function(e,t){var i=e.moveables,o=e.props.targets,n=fillChildEvents(e,"roundable",t);catchEvent(e,"onRound",function(t){var r=__assign$6({targets:e.props.targets,events:n.map(function(e,n){return __assign$6(__assign$6(__assign$6({},e),{target:o[n],moveable:i[n],currentTarget:i[n]}),fillCSSObject({borderRadius:t.borderRadius},e))})},t);triggerEvent(e,"onRoundGroup",r)});var r=this.dragControlEnd(e,t);if(!r)return!1;var s=__assign$6({targets:e.props.targets,events:n.map(function(e,t){var n;return __assign$6(__assign$6({},e),{target:o[t],moveable:i[t],currentTarget:i[t],lastEvent:null===(n=e.datas)||void 0===n?void 0:n.lastEvent})})},r);return triggerEvent(e,"onRoundGroupEnd",s),s},unset:function(e){e.state.borderRadiusState=""}};function isIdentityMatrix(e,t){var i=createIdentityMatrix(t?4:3);return e==="matrix".concat(t?"3d":"","(").concat(i.join(","),")")||"matrix(1,0,0,1,0,0)"===e}var BeforeRenderable={isPinch:!0,name:"beforeRenderable",props:[],events:["beforeRenderStart","beforeRender","beforeRenderEnd","beforeRenderGroupStart","beforeRenderGroup","beforeRenderGroupEnd"],dragRelation:"weak",setTransform:function(e,t){var i=e.state,o=i.is3d,n=i.targetMatrix,r=i.inlineTransform,s=o?"matrix3d(".concat(n.join(","),")"):"matrix(".concat(convertMatrixtoCSS(n,!0),")"),a=r&&"none"!==r?r:s;t.datas.startTransforms=isIdentityMatrix(a,o)?[]:splitSpace(a)},resetStyle:function(e){var t=e.datas;t.nextStyle={},t.nextTransforms=e.datas.startTransforms,t.nextTransformAppendedIndexes=[]},fillDragStartParams:function(e,t){return fillParams(e,t,{setTransform:function(e){t.datas.startTransforms=isArray$2(e)?e:splitSpace(e)},isPinch:!!t.isPinch})},fillDragParams:function(e,t){return fillParams(e,t,{isPinch:!!t.isPinch})},dragStart:function(e,t){this.setTransform(e,t),this.resetStyle(t),triggerEvent(e,"onBeforeRenderStart",this.fillDragStartParams(e,t))},drag:function(e,t){t.datas.startTransforms||this.setTransform(e,t),this.resetStyle(t),triggerEvent(e,"onBeforeRender",fillParams(e,t,{isPinch:!!t.isPinch}))},dragEnd:function(e,t){t.datas.startTransforms||(this.setTransform(e,t),this.resetStyle(t)),triggerEvent(e,"onBeforeRenderEnd",fillParams(e,t,{isPinch:!!t.isPinch,isDrag:t.isDrag}))},dragGroupStart:function(e,t){var i=this;this.dragStart(e,t);var o=fillChildEvents(e,"beforeRenderable",t),n=e.moveables,r=o.map(function(e,t){var o=n[t];return i.setTransform(o,e),i.resetStyle(e),i.fillDragStartParams(o,e)});triggerEvent(e,"onBeforeRenderGroupStart",fillParams(e,t,{isPinch:!!t.isPinch,targets:e.props.targets,setTransform:function(){},events:r}))},dragGroup:function(e,t){var i=this;this.drag(e,t);var o=fillChildEvents(e,"beforeRenderable",t),n=e.moveables,r=o.map(function(e,t){var o=n[t];return i.resetStyle(e),i.fillDragParams(o,e)});triggerEvent(e,"onBeforeRenderGroup",fillParams(e,t,{isPinch:!!t.isPinch,targets:e.props.targets,events:r}))},dragGroupEnd:function(e,t){this.dragEnd(e,t),triggerEvent(e,"onBeforeRenderGroupEnd",fillParams(e,t,{isPinch:!!t.isPinch,isDrag:t.isDrag,targets:e.props.targets}))},dragControlStart:function(e,t){return this.dragStart(e,t)},dragControl:function(e,t){return this.drag(e,t)},dragControlEnd:function(e,t){return this.dragEnd(e,t)},dragGroupControlStart:function(e,t){return this.dragGroupStart(e,t)},dragGroupControl:function(e,t){return this.dragGroup(e,t)},dragGroupControlEnd:function(e,t){return this.dragGroupEnd(e,t)}},Renderable={name:"renderable",props:[],events:["renderStart","render","renderEnd","renderGroupStart","renderGroup","renderGroupEnd"],dragRelation:"weak",dragStart:function(e,t){triggerEvent(e,"onRenderStart",fillParams(e,t,{isPinch:!!t.isPinch}))},drag:function(e,t){triggerEvent(e,"onRender",this.fillDragParams(e,t))},dragAfter:function(e,t){return this.drag(e,t)},dragEnd:function(e,t){triggerEvent(e,"onRenderEnd",this.fillDragEndParams(e,t))},dragGroupStart:function(e,t){triggerEvent(e,"onRenderGroupStart",fillParams(e,t,{isPinch:!!t.isPinch,targets:e.props.targets}))},dragGroup:function(e,t){var i=this,o=fillChildEvents(e,"beforeRenderable",t),n=e.moveables,r=o.map(function(e,t){var o=n[t];return i.fillDragParams(o,e)});triggerEvent(e,"onRenderGroup",fillParams(e,t,__assign$6(__assign$6({isPinch:!!t.isPinch,targets:e.props.targets,transform:getNextTransformText(t),transformObject:{}},fillCSSObject(getNextStyle(t))),{events:r})))},dragGroupEnd:function(e,t){var i=this,o=fillChildEvents(e,"beforeRenderable",t),n=e.moveables,r=o.map(function(e,t){var o=n[t];return i.fillDragEndParams(o,e)});triggerEvent(e,"onRenderGroupEnd",fillParams(e,t,__assign$6({isPinch:!!t.isPinch,isDrag:t.isDrag,targets:e.props.targets,events:r,transformObject:{},transform:getNextTransformText(t)},fillCSSObject(getNextStyle(t)))))},dragControlStart:function(e,t){return this.dragStart(e,t)},dragControl:function(e,t){return this.drag(e,t)},dragControlAfter:function(e,t){return this.dragAfter(e,t)},dragControlEnd:function(e,t){return this.dragEnd(e,t)},dragGroupControlStart:function(e,t){return this.dragGroupStart(e,t)},dragGroupControl:function(e,t){return this.dragGroup(e,t)},dragGroupControlEnd:function(e,t){return this.dragGroupEnd(e,t)},fillDragParams:function(e,t){var i={};return parse(getNextTransforms(t)||[]).forEach(function(e){i[e.name]=e.functionValue}),fillParams(e,t,__assign$6({isPinch:!!t.isPinch,transformObject:i,transform:getNextTransformText(t)},fillCSSObject(getNextStyle(t))))},fillDragEndParams:function(e,t){var i={};return parse(getNextTransforms(t)||[]).forEach(function(e){i[e.name]=e.functionValue}),fillParams(e,t,__assign$6({isPinch:!!t.isPinch,isDrag:t.isDrag,transformObject:i,transform:getNextTransformText(t)},fillCSSObject(getNextStyle(t))))}};function triggerAble(e,t,i,o,n,r,s){r.clientDistX=r.distX,r.clientDistY=r.distY;var a="Start"===n,l="End"===n,c="After"===n,d=e.state.target,u=r.isRequest,h=o.indexOf("Control")>-1;if(!d||a&&h&&!u&&e.areaElement===r.inputEvent.target)return!1;var p=__spreadArray$3([],__read$1(t),!1);if(u){var g=r.requestAble;p.some(function(e){return e.name===g})||p.push.apply(p,__spreadArray$3([],__read$1(e.props.ables.filter(function(e){return e.name===g})),!1))}if(!p.length||p.every(function(e){return e.dragRelation}))return!1;var m,f=r.inputEvent;l&&f&&(m=document.elementFromPoint(r.clientX,r.clientY)||f.target);var v=!1,b=function(){var e;v=!0,null===(e=r.stop)||void 0===e||e.call(r)},_=a&&(!e.targetGesto||!e.controlGesto||!e.targetGesto.isFlag()||!e.controlGesto.isFlag());_&&e.updateRect(n,!0,!1);var y=r.datas,C=h?"controlGesto":"targetGesto",w=e[C],x=function(t,i,o){if(!(i in t)||w!==e[C])return!1;var n=t.name,s=y[n]||(y[n]={});if(a&&(s.isEventStart=!o||!t[o]||t[o](e,r)),!s.isEventStart)return!1;var l=t[i](e,__assign$6(__assign$6({},r),{stop:b,datas:s,originalDatas:y,inputTarget:m}));return e._emitter.off(),a&&!1===l&&(s.isEventStart=!1),l};_&&p.forEach(function(t){t.unset&&t.unset(e)}),x(BeforeRenderable,"drag".concat(o).concat(n));var S=0,k=0;i.forEach(function(t){if(v)return!1;var i="".concat(t).concat(o).concat(n),s="".concat(t).concat(o,"Condition");""!==n||u||convertDragDist(e.state,r);var l=p.filter(function(e){return e[i]}),c=(l=l.filter(function(e,t){return e.name&&l.indexOf(e)===t})).filter(function(e){return x(e,i,s)}).length;v&&++S,c&&++k,!v&&a&&l.length&&!c&&(S+=l.filter(function(e){var t=e.name;return!!y[t].isEventStart&&"strong"!==e.dragRelation}).length?1:0)}),c&&!k||x(Renderable,"drag".concat(o).concat(n));var E=w!==e[C]||S===i.length;if((l||v||E)&&(e.state.gestos={},e.moveables&&e.moveables.forEach(function(e){e.state.gestos={}}),p.forEach(function(t){t.unset&&t.unset(e)})),a&&!E&&!u&&k&&e.props.preventDefault&&(null==r||r.preventDefault()),e.isUnmounted||E)return!1;(!a&&k&&!s||l)&&(e.props.flushSync||defaultSync)(function(){e.updateRect(l?n:"",!0,!1),e.forceUpdate()});return a||l||c||!k||s||triggerAble(e,t,i,o,n+"After",r),!0}function checkMoveableTarget(e,t){return function(i,o){var n;void 0===o&&(o=i.inputEvent.target);var r=o,s=e.areaElement,a=e._dragTarget;return!(!a||!t&&(null===(n=e.controlGesto)||void 0===n?void 0:n.isFlag()))&&(r===a||a.contains(r)||r===s||!e.isMoveableElement(r)&&!e.controlBox.contains(r)||hasClass$1(r,"moveable-area")||hasClass$1(r,"moveable-padding")||hasClass$1(r,"moveable-edgeDraggable"))}}function getTargetAbleGesto(e,t,i){var o=e.controlBox,n=[],r=e.props,s=r.dragArea,a=e.state.target,l=r.dragTarget;n.push(o),s&&!l||n.push(t),!s&&l&&a&&t!==a&&r.dragTargetSelf&&n.push(a);var c=checkMoveableTarget(e);return getAbleGesto(e,n,"targetAbles",i,{dragStart:c,pinchStart:c})}function getControlAbleGesto(e,t){var i=e.controlBox,o=[];o.push(i);var n=checkMoveableTarget(e,!0),r=function(e,t){return void 0===t&&(t=e.inputEvent.target),t===i||!n(e,t)};return getAbleGesto(e,o,"controlAbles",t,{dragStart:r,pinchStart:r})}function getAbleGesto(e,t,i,o,n){void 0===n&&(n={});var r="targetAbles"===i,s=e.props,a=s.pinchOutside,l=s.pinchThreshold,c=s.preventClickEventOnDrag,d=s.preventClickDefault,u=s.checkInput,h=s.dragFocusedInput,p=s.preventDefault,g=void 0===p||p,m=s.preventRightClick,f=void 0===m||m,v=s.preventWheelClick,b={preventDefault:g,preventRightClick:f,preventWheelClick:void 0===v||v,container:getRefTarget(s.dragContainer,!0)||getWindow(e.getControlBoxElement()),pinchThreshold:l,pinchOutside:a,preventClickEventOnDrag:!!r&&c,preventClickEventOnDragStart:!!r&&d,preventClickEventByCondition:r?null:function(t){return e.controlBox.contains(t.target)},checkInput:!!r&&u,dragFocusedInput:h},_=new Gesto(t,b),y="Control"===o;return["drag","pinch"].forEach(function(t){["Start","","End"].forEach(function(r){_.on("".concat(t).concat(r),function(s){var a,l=s.eventType,c="drag"===t&&s.isPinch;if(!n[l]||n[l](s)){if(!c){var d="drag"===t?[t]:["drag",t],u=__spreadArray$3([],__read$1(e[i]),!1);triggerAble(e,u,d,o,r,s)?(e.props.stopPropagation||"Start"===r&&y)&&(null===(a=null==s?void 0:s.inputEvent)||void 0===a||a.stopPropagation()):s.stop()}}else s.stop()})})}),_}var EventManager=function(){function e(e,t,i){var o=this;this.target=e,this.moveable=t,this.eventName=i,this.ables=[],this._onEvent=function(e){var t=o.eventName,i=o.moveable;i.state.disableNativeEvent||o.ables.forEach(function(o){o[t](i,{inputEvent:e})})},e.addEventListener(i.toLowerCase(),this._onEvent)}return e.prototype.setAbles=function(e){this.ables=e},e.prototype.destroy=function(){this.target.removeEventListener(this.eventName.toLowerCase(),this._onEvent),this.target=null,this.moveable=null},e}();function calculateMatrixStack(e,t,i,o){var n;void 0===i&&(i=t);var r=getMatrixStackInfo(e,t),s=r.matrixes,a=r.is3d,l=r.targetMatrix,c=r.transformOrigin,d=r.targetOrigin,u=r.offsetContainer,h=r.hasFixed,p=r.zoom,g=getCachedMatrixContainerInfo(u,i),m=g.matrixes,f=g.is3d,v=g.offsetContainer,b=g.zoom,_=o,y="svg"!==e.tagName.toLowerCase()&&"ownerSVGElement"in e,C=l,w=createIdentityMatrix(4),x=createIdentityMatrix(4),S=createIdentityMatrix(4),k=createIdentityMatrix(4),E=s.length,I=m.map(function(e){return __assign$6(__assign$6({},e),{matrix:e.matrix?__spreadArray$3([],__read$1(e.matrix),!1):void 0})}).reverse();s.reverse(),!a&&_&&(C=convertDimension(C,3,4),convert3DMatrixes(s)),!f&&_&&convert3DMatrixes(I),I.forEach(function(e){x=multiply(x,e.matrix,4)});var T=i||getDocumentBody(e),D=(null===(n=I[0])||void 0===n?void 0:n.target)||getOffsetInfo(T,T,!0).offsetParent,L=I.slice(1).reduce(function(e,t){return multiply(e,t.matrix,4)},createIdentityMatrix(4));s.forEach(function(e,t){if(E-2===t&&(S=w.slice()),E-1===t&&(k=w.slice()),!e.matrix){var i=getSVGOffset(e,s[t+1],D,4,multiply(L,w,4));e.matrix=createOriginMatrix(i,4)}w=multiply(w,e.matrix,4)});var N=!y&&a;C||(C=createIdentityMatrix(N?4:3));var M=makeMatrixCSS(y&&16===C.length?convertDimension(C,4,3):C,N),$=x;return x=ignoreDimension(x,4,4),{hasZoom:1!==p||1!==b,hasFixed:h,matrixes:s,rootMatrix:x,originalRootMatrix:$,beforeMatrix:S,offsetMatrix:k,allMatrix:w,targetMatrix:C,targetTransform:M,inlineTransform:e.style.transform,transformOrigin:c,targetOrigin:d,is3d:_,offsetContainer:u,offsetRootContainer:v}}function calculateElementInfo(e,t,i,o){void 0===i&&(i=t);var n=0,r=0,s=0,a={},l=getSize(e);if(e&&(n=l.offsetWidth,r=l.offsetHeight),e){var c=calculateMatrixStack(e,t,i,o),d=calculateElementPosition(c.allMatrix,c.transformOrigin,n,r);a=__assign$6(__assign$6({},c),d);var u=calculateElementPosition(c.allMatrix,[50,50],100,100);s=getRotationRad([u.pos1,u.pos2],u.direction)}return __assign$6(__assign$6(__assign$6({hasZoom:!1,width:n,height:r,rotation:s},l),{originalRootMatrix:createIdentityMatrix(4),rootMatrix:createIdentityMatrix(4),beforeMatrix:createIdentityMatrix(4),offsetMatrix:createIdentityMatrix(4),allMatrix:createIdentityMatrix(4),targetMatrix:createIdentityMatrix(4),targetTransform:"",inlineTransform:"",transformOrigin:[0,0],targetOrigin:[0,0],is3d:!0,left:0,top:0,right:0,bottom:0,origin:[0,0],pos1:[0,0],pos2:[0,0],pos3:[0,0],pos4:[0,0],direction:1,hasFixed:!1,offsetContainer:null,offsetRootContainer:null,matrixes:[]}),a)}function getMoveableTargetInfo(e,t,i,o,n,r){void 0===r&&(r=[]);var s=1,a=[0,0],l=resetClientRect(),c=resetClientRect(),d=resetClientRect(),u=resetClientRect(),h=[0,0],p={},g=calculateElementInfo(t,i,n,!0);if(t){var m=getCachedStyle(t);r.forEach(function(e){p[e]=m(e)});var f=g.is3d?4:3,v=calculateElementPosition(g.offsetMatrix,plus(g.transformOrigin,getOrigin(g.targetMatrix,f)),g.width,g.height);s=v.direction,a=plus(v.origin,[v.left-g.left,v.top-g.top]),u=getClientRect(g.offsetRootContainer);var b=getOffsetInfo(o,o,!0).offsetParent||g.offsetRootContainer;if(g.hasZoom){var _=calculateElementPosition(multiply(g.originalRootMatrix,g.allMatrix),g.transformOrigin,g.width,g.height),y=calculateElementPosition(g.originalRootMatrix,getTransformOriginArray(getCachedStyle(b)("transformOrigin")).map(function(e){return parseFloat(e)}),b.offsetWidth,b.offsetHeight);if(l=getClientRectByPosition(_,u),d=getClientRectByPosition(y,u,b,!0),e){var C=_.left,w=_.top;c=getClientRectByPosition({left:C,top:w,bottom:w,right:w},u)}}else{l=getClientRect(t),d=getCachedClientRect(b),e&&(c=getClientRect(e));var x=d.left,S=d.top,k=d.clientLeft,E=d.clientTop,I=[l.left-x,l.top-S];h=minus(calculateInversePosition(g.rootMatrix,I,4),[k+g.left,E+g.top])}}return __assign$6({targetClientRect:l,containerClientRect:d,moveableClientRect:c,rootContainerClientRect:u,beforeDirection:s,beforeOrigin:a,originalBeforeOrigin:a,target:t,style:p,offsetDelta:h},g)}function getPersistState(e){var t=e.pos1,i=e.pos2,o=e.pos3,n=e.pos4;if(!(t&&i&&o&&n))return null;var r=getMinMaxs([t,i,o,n]),s=[r.minX,r.minY],a=minus(e.origin,s);return t=minus(t,s),i=minus(i,s),o=minus(o,s),n=minus(n,s),__assign$6(__assign$6({},e),{left:e.left,top:e.top,posDelta:s,pos1:t,pos2:i,pos3:o,pos4:n,origin:a,beforeOrigin:a,isPersisted:!0})}var MoveableManager$1=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state=__assign$6({container:null,gestos:{},renderLines:[[[0,0],[0,0]],[[0,0],[0,0]],[[0,0],[0,0]],[[0,0],[0,0]]],renderPoses:[[0,0],[0,0],[0,0],[0,0]],disableNativeEvent:!1,posDelta:[0,0]},getMoveableTargetInfo(null)),t.renderState={},t.enabledAbles=[],t.targetAbles=[],t.controlAbles=[],t.rotation=0,t.scale=[1,1],t.isMoveableMounted=!1,t.isUnmounted=!1,t.events={mouseEnter:null,mouseLeave:null},t._emitter=new EventEmitter$2,t._prevOriginalDragTarget=null,t._originalDragTarget=null,t._prevDragTarget=null,t._dragTarget=null,t._prevPropTarget=null,t._propTarget=null,t._prevDragArea=!1,t._isPropTargetChanged=!1,t._hasFirstTarget=!1,t._reiszeObserver=null,t._observerId=0,t._mutationObserver=null,t._rootContainer=null,t._viewContainer=null,t._viewClassNames=[],t._store={},t.checkUpdateRect=function(){if(!t.isDragging()){var e=t.props.parentMoveable;e?e.checkUpdateRect():(cancelAnimationFrame(t._observerId),t._observerId=requestAnimationFrame$1(function(){t.isDragging()||t.updateRect()}))}},t._onPreventClick=function(e){e.stopPropagation(),e.preventDefault()},t}return __extends$7(t,e),t.prototype.render=function(){var e=this.props,t=this.getState(),i=e.parentPosition,o=e.className,n=e.target,r=e.zoom,s=e.cspNonce,a=e.translateZ,l=e.cssStyled,c=e.groupable,d=e.linePadding,u=e.controlPadding;this._checkUpdateRootContainer(),this.checkUpdate(),this.updateRenderPoses();var h=__read$1(i||[0,0],2),p=h[0],g=h[1],m=t.left,f=t.top,v=t.target,b=t.direction,_=t.hasFixed,y=t.offsetDelta,C=e.targets,w=this.isDragging(),x={};this.getEnabledAbles().forEach(function(e){x["data-able-".concat(e.name.toLowerCase())]=!0});var S=this._getAbleClassName(),k=C&&C.length&&(v||c)||n||!this._hasFirstTarget&&this.state.isPersisted,E=this.controlBox||this.props.firstRenderState||this.props.persistData,I=[m-p,f-g];!c&&e.useAccuratePosition&&(I[0]+=y[0],I[1]+=y[1]);var T={position:_?"fixed":"absolute",display:k?"block":"none",visibility:E?"visible":"hidden",transform:"translate3d(".concat(I[0],"px, ").concat(I[1],"px, ").concat(a,")"),"--zoom":r,"--zoompx":"".concat(r,"px")};return d&&(T["--moveable-line-padding"]=d),u&&(T["--moveable-control-padding"]=u),createElement(l,__assign$6({cspNonce:s,ref:ref(this,"controlBox"),className:"".concat(prefix$1("control-box",-1===b?"reverse":"",w?"dragging":"")," ").concat(S," ").concat(o)},x,{onClick:this._onPreventClick,style:T}),this.renderAbles(),this._renderLines())},t.prototype.componentDidMount=function(){this.isMoveableMounted=!0,this.isUnmounted=!1;var e=this.props,t=e.parentMoveable,i=e.container;this._checkUpdateRootContainer(),this._checkUpdateViewContainer(),this._updateTargets(),this._updateNativeEvents(),this._updateEvents(),this.updateCheckInput(),this._updateObserver(this.props),i||t||this.state.isPersisted||(this.updateRect("",!1,!1),this.forceUpdate())},t.prototype.componentDidUpdate=function(e){this._checkUpdateRootContainer(),this._checkUpdateViewContainer(),this._updateNativeEvents(),this._updateTargets(),this._updateEvents(),this.updateCheckInput(),this._updateObserver(e)},t.prototype.componentWillUnmount=function(){var e,t;this.isMoveableMounted=!1,this.isUnmounted=!0,this._emitter.off(),null===(e=this._reiszeObserver)||void 0===e||e.disconnect(),null===(t=this._mutationObserver)||void 0===t||t.disconnect(),this._viewContainer&&this._changeAbleViewClassNames([]),unsetGesto(this,!1),unsetGesto(this,!0);var i=this.events;for(var o in i){var n=i[o];n&&n.destroy()}},t.prototype.getTargets=function(){var e=this.props.target;return e?[e]:[]},t.prototype.getAble=function(e){return find$1(this.props.ables||[],function(t){return t.name===e})},t.prototype.getContainer=function(){var e=this.props,t=e.parentMoveable,i=e.wrapperMoveable;return e.container||i&&i.getContainer()||t&&t.getContainer()||this.controlBox.parentElement},t.prototype.getControlBoxElement=function(){return this.controlBox},t.prototype.getDragElement=function(){return this._dragTarget},t.prototype.isMoveableElement=function(e){var t;return e&&((null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,"class"))||"").indexOf(PREFIX$1)>-1},t.prototype.dragStart=function(e,t){void 0===t&&(t=e.target);var i=this.targetGesto,o=this.controlGesto;return i&&checkMoveableTarget(this)({inputEvent:e},t)?i.isFlag()||i.triggerDragStart(e):o&&this.isMoveableElement(t)&&(o.isFlag()||o.triggerDragStart(e)),this},t.prototype.hitTest=function(e){var t,i=this.state,o=i.target,n=i.pos1,r=i.pos2,s=i.pos3,a=i.pos4,l=i.targetClientRect;if(!o)return 0;if(isNode(e)){var c=e.getBoundingClientRect();t={left:c.left,top:c.top,width:c.width,height:c.height}}else t=__assign$6({width:0,height:0},e);var d=t.left,u=t.top,h=t.width,p=t.height,g=fitPoints([n,r,a,s],l),m=getOverlapSize(g,[[d,u],[d+h,u],[d+h,u+p],[d,u+p]]),f=getAreaSize(g);return m&&f?Math.min(100,m/f*100):0},t.prototype.isInside=function(e,t){var i=this.state,o=i.target,n=i.pos1,r=i.pos2,s=i.pos3,a=i.pos4,l=i.targetClientRect;return!!o&&isInside([e,t],fitPoints([n,r,a,s],l))},t.prototype.updateRect=function(e,t,i){void 0===i&&(i=!0);var o=this.props,n=!o.parentPosition&&!o.wrapperMoveable;n&&setStoreCache(!0);var r=o.parentMoveable,s=this.state.target||o.target,a=this.getContainer(),l=r?r._rootContainer:this._rootContainer,c=getMoveableTargetInfo(this.controlBox,s,a,a,l||a,this._getRequestStyles());if(!s&&this._hasFirstTarget&&o.persistData){var d=getPersistState(o.persistData);for(var u in d)c[u]=d[u]}n&&setStoreCache(),this.updateState(c,!r&&i)},t.prototype.isDragging=function(e){var t,i,o=this.targetGesto,n=this.controlGesto;return(null==o?void 0:o.isFlag())?!e||!!(null===(t=o.getEventData()[e])||void 0===t?void 0:t.isEventStart):!!(null==n?void 0:n.isFlag())&&(!e||!!(null===(i=n.getEventData()[e])||void 0===i?void 0:i.isEventStart))},t.prototype.updateTarget=function(e){this.updateRect(e,!0)},t.prototype.getRect=function(){var e=this.state,t=getAbsolutePosesByState(this.state),i=__read$1(t,4),o=i[0],n=i[1],r=i[2],s=i[3],a=getRect(t),l=e.width,c=e.height,d=a.width,u=a.height,h=a.left,p=a.top,g=[e.left,e.top],m=plus(g,e.origin);return{width:d,height:u,left:h,top:p,pos1:o,pos2:n,pos3:r,pos4:s,offsetWidth:l,offsetHeight:c,beforeOrigin:plus(g,e.beforeOrigin),origin:m,transformOrigin:e.transformOrigin,rotation:this.getRotation()}},t.prototype.getManager=function(){return this},t.prototype.stopDrag=function(e){var t;e&&"target"!==e||(!1===(null==(t=this.targetGesto)?void 0:t.isIdle())&&unsetAbles(this,!1),null==t||t.stop());e&&"control"!==e||(!1===(null==(t=this.controlGesto)?void 0:t.isIdle())&&unsetAbles(this,!0),null==t||t.stop())},t.prototype.getRotation=function(){var e=this.state;return getAbsoluteRotation(e.pos1,e.pos2,e.direction)},t.prototype.request=function(e,t,i){void 0===t&&(t={});var o=this,n=o.props,r=n.parentMoveable||n.wrapperMoveable||o,s=r.props.ables,a=n.groupable,l=find$1(s,function(t){return t.name===e});if(this.isDragging()||!l||!l.request)return{request:function(){return this},requestEnd:function(){return this}};var c=l.request(o),d=i||t.isInstant,u=c.isControl?"controlAbles":"targetAbles",h="".concat(a?"Group":"").concat(c.isControl?"Control":""),p=__spreadArray$3([],__read$1(r[u]),!1),g={request:function(t){return triggerAble(o,p,["drag"],h,"",__assign$6(__assign$6({},c.request(t)),{requestAble:e,isRequest:!0}),d),g},requestEnd:function(){return triggerAble(o,p,["drag"],h,"End",__assign$6(__assign$6({},c.requestEnd()),{requestAble:e,isRequest:!0}),d),g}};return triggerAble(o,p,["drag"],h,"Start",__assign$6(__assign$6({},c.requestStart(t)),{requestAble:e,isRequest:!0}),d),d?g.request(t).requestEnd():g},t.prototype.getMoveables=function(){return[this]},t.prototype.destroy=function(){this.componentWillUnmount()},t.prototype.updateRenderPoses=function(){var e=this.getState(),t=this.props,i=t.padding,o=e.originalBeforeOrigin,n=e.transformOrigin,r=e.allMatrix,s=e.is3d,a=e.pos1,l=e.pos2,c=e.pos3,d=e.pos4,u=e.left,h=e.top,p=e.isPersisted,g=t.zoom||1;if(!i&&g<=1)return e.renderPoses=[a,l,c,d],void(e.renderLines=[[a,l],[l,d],[d,c],[c,a]]);var m=getPaddingBox(i||{}),f=m.left,v=m.top,b=m.bottom,_=m.right,y=s?4:3,C=multiplies(y,createOriginMatrix((p?n:this.controlBox&&t.groupable?o:plus(o,[u,h])).map(function(e){return-e}),y),r,createOriginMatrix(n,y)),w=calculatePadding(C,a,[-f,-v],y),x=calculatePadding(C,l,[_,-v],y),S=calculatePadding(C,c,[-f,b],y),k=calculatePadding(C,d,[_,b],y);e.renderPoses=[w,x,S,k],e.renderLines=[[w,x],[x,k],[k,S],[S,w]];var E=g/2;e.renderLines=[[calculatePadding(C,a,[-f-E,-v],y),calculatePadding(C,l,[_+E,-v],y)],[calculatePadding(C,l,[_,-v-E],y),calculatePadding(C,d,[_,b+E],y)],[calculatePadding(C,d,[_+E,b],y),calculatePadding(C,c,[-f-E,b],y)],[calculatePadding(C,c,[-f,b+E],y),calculatePadding(C,a,[-f,-v-E],y)]]},t.prototype.checkUpdate=function(){this._isPropTargetChanged=!1;var e=this.props,t=e.target,i=e.container,o=e.parentMoveable,n=this.state,r=n.target,s=n.container;if(r||t){this.updateAbles();var a=!equals(r,t);if(a||!equals(s,i)){var l=i||this.controlBox;l&&this.unsetAbles(),this.updateState({target:t,container:i}),!o&&l&&this.updateRect("End",!1,!1),this._isPropTargetChanged=a}}},t.prototype.waitToChangeTarget=function(){return new Promise(function(){})},t.prototype.triggerEvent=function(e,t){var i=this.props;if(this._emitter.trigger(e,t),i.parentMoveable&&t.isRequest&&!t.isRequestChild)return i.parentMoveable.triggerEvent(e,t,!0);var o=i[e];return o&&o(t)},t.prototype.useCSS=function(e,t){var i=this.props.customStyledMap,o=e+t;return i[o]||(i[o]=styled(e,t)),i[o]},t.prototype.getState=function(){var e,t=this.props;(t.target||(null===(e=t.targets)||void 0===e?void 0:e.length))&&(this._hasFirstTarget=!0);var i=this.controlBox,o=t.persistData,n=t.firstRenderState;if(n&&!i)return n;if(!this._hasFirstTarget&&o){var r=getPersistState(o);if(r)return this.updateState(r,!1),this.state}return this.state.isPersisted=!1,this.state},t.prototype.updateSelectors=function(){},t.prototype.unsetAbles=function(){var e=this;this.targetAbles.forEach(function(t){t.unset&&t.unset(e)})},t.prototype.updateAbles=function(e,t){void 0===e&&(e=this.props.ables),void 0===t&&(t="");var i=this.props.triggerAblesSimultaneously,o=this.getEnabledAbles(e),n="drag".concat(t,"Start"),r="pinch".concat(t,"Start"),s="drag".concat(t,"ControlStart"),a=filterAbles(o,[n,r],i),l=filterAbles(o,[s],i);this.enabledAbles=o,this.targetAbles=a,this.controlAbles=l},t.prototype.updateState=function(e,t){if(t){if(this.isUnmounted)return;this.setState(e)}else{var i=this.state;for(var o in e)i[o]=e[o]}},t.prototype.getEnabledAbles=function(e){void 0===e&&(e=this.props.ables);var t=this.props;return e.filter(function(e){return e&&(e.always&&!1!==t[e.name]||t[e.name])})},t.prototype.renderAbles=function(){var e=this,t=this.props.triggerAblesSimultaneously,i={createElement:createElement};return this.renderState={},groupByMap(flat(filterAbles(this.getEnabledAbles(),["render"],t).map(function(t){return(0,t.render)(e,i)||[]})).filter(function(e){return e}),function(e){return e.key}).map(function(e){return e[0]})},t.prototype.updateCheckInput=function(){this.targetGesto&&(this.targetGesto.options.checkInput=this.props.checkInput)},t.prototype._getRequestStyles=function(){var e=this.getEnabledAbles().reduce(function(e,t){var i,o,n=null!==(o=null===(i=t.requestStyle)||void 0===i?void 0:i.call(t))&&void 0!==o?o:[];return __spreadArray$3(__spreadArray$3([],__read$1(e),!1),__read$1(n),!1)},__spreadArray$3([],__read$1(this.props.requestStyles||[]),!1));return e},t.prototype._updateObserver=function(e){this._updateResizeObserver(e),this._updateMutationObserver(e)},t.prototype._updateEvents=function(){var e=this.targetAbles.length,t=this.controlAbles.length,i=this._dragTarget;(!e&&this.targetGesto||this._isTargetChanged(!0))&&(unsetGesto(this,!1),this.updateState({gestos:{}})),t||unsetGesto(this,!0),i&&e&&!this.targetGesto&&(this.targetGesto=getTargetAbleGesto(this,i,"")),!this.controlGesto&&t&&(this.controlGesto=getControlAbleGesto(this,"Control"))},t.prototype._updateTargets=function(){var e=this.props;this._prevPropTarget=this._propTarget,this._prevDragTarget=this._dragTarget,this._prevOriginalDragTarget=this._originalDragTarget,this._prevDragArea=e.dragArea,this._propTarget=e.target,this._originalDragTarget=e.dragTarget||e.target,this._dragTarget=getRefTarget(this._originalDragTarget,!0)},t.prototype._renderLines=function(){var e=this.props,t=e.zoom,i=e.hideDefaultLines,o=e.hideChildMoveableDefaultLines,n=e.parentMoveable;if(i||n&&o)return[];var r=this.getState(),s={createElement:createElement};return r.renderLines.map(function(e,i){return renderLine(s,"",e[0],e[1],t,"render-line-".concat(i))})},t.prototype._isTargetChanged=function(e){var t=this.props,i=t.dragTarget||t.target,o=this._prevOriginalDragTarget,n=this._prevDragArea,r=t.dragArea;return!r&&o!==i||(e||r)&&n!==r||this._prevPropTarget!=this._propTarget},t.prototype._updateNativeEvents=function(){var e=this,t=this.props.dragArea?this.areaElement:this.state.target,i=this.events,o=getKeys(i);if(this._isTargetChanged())for(var n in i){var r=i[n];r&&r.destroy(),i[n]=null}if(t){var s=this.enabledAbles;o.forEach(function(o){var n=filterAbles(s,[o]),r=n.length>0,a=i[o];r?(a||(a=new EventManager(t,e,o),i[o]=a),a.setAbles(n)):a&&(a.destroy(),i[o]=null)})}},t.prototype._checkUpdateRootContainer=function(){var e=this.props.rootContainer;!this._rootContainer&&e&&(this._rootContainer=getRefTarget(e,!0))},t.prototype._checkUpdateViewContainer=function(){var e=this.props.viewContainer;!this._viewContainer&&e&&(this._viewContainer=getRefTarget(e,!0)),this._viewContainer&&this._changeAbleViewClassNames(__spreadArray$3(__spreadArray$3([],__read$1(this._getAbleViewClassNames()),!1),[this.isDragging()?VIEW_DRAGGING:""],!1))},t.prototype._changeAbleViewClassNames=function(e){var t=this._viewContainer,i=groupBy(e.filter(Boolean),function(e){return e}).map(function(e){return __read$1(e,1)[0]}),o=this._viewClassNames,n=diff$1(o,i),r=n.removed,s=n.added;r.forEach(function(e){removeClass$1(t,o[e])}),s.forEach(function(e){addClass$1(t,i[e])}),this._viewClassNames=i},t.prototype._getAbleViewClassNames=function(){var e=this;return(this.getEnabledAbles().map(function(t){var i;return(null===(i=t.viewClassName)||void 0===i?void 0:i.call(t,e))||""}).join(" ")+" ".concat(this._getAbleClassName("-view"))).split(/\s+/g)},t.prototype._getAbleClassName=function(e){var t=this;void 0===e&&(e="");var i=this.getEnabledAbles(),o=this.targetGesto,n=this.controlGesto,r=(null==o?void 0:o.isFlag())?o.getEventData():{},s=(null==n?void 0:n.isFlag())?n.getEventData():{};return i.map(function(i){var o,n,a,l=i.name,c=(null===(o=i.className)||void 0===o?void 0:o.call(i,t))||"";return((null===(n=r[l])||void 0===n?void 0:n.isEventStart)||(null===(a=s[l])||void 0===a?void 0:a.isEventStart))&&(c+=" ".concat(prefix$1("".concat(l).concat(e,"-dragging")))),c.trim()}).filter(Boolean).join(" ")},t.prototype._updateResizeObserver=function(e){var t,i=this.props,o=i.target,n=getWindow(this.getControlBoxElement());if(n.ResizeObserver&&o&&i.useResizeObserver){if(e.target!==o||!this._reiszeObserver){var r=new n.ResizeObserver(this.checkUpdateRect);r.observe(o,{box:"border-box"}),this._reiszeObserver=r}}else null===(t=this._reiszeObserver)||void 0===t||t.disconnect()},t.prototype._updateMutationObserver=function(e){var t,i=this,o=this.props,n=o.target,r=getWindow(this.getControlBoxElement());if(r.MutationObserver&&n&&o.useMutationObserver){if(e.target!==n||!this._mutationObserver){var s=new r.MutationObserver(function(e){var t,o;try{for(var n=__values$1(e),r=n.next();!r.done;r=n.next()){var s=r.value;"attributes"===s.type&&"style"===s.attributeName&&i.checkUpdateRect()}}catch(a){t={error:a}}finally{try{r&&!r.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}});s.observe(n,{attributes:!0}),this._mutationObserver=s}}else null===(t=this._mutationObserver)||void 0===t||t.disconnect()},t.defaultProps={dragTargetSelf:!1,target:null,dragTarget:null,container:null,rootContainer:null,origin:!0,parentMoveable:null,wrapperMoveable:null,isWrapperMounted:!1,parentPosition:null,warpSelf:!1,svgOrigin:"",dragContainer:null,useResizeObserver:!1,useMutationObserver:!1,preventDefault:!0,preventRightClick:!0,preventWheelClick:!0,linePadding:0,controlPadding:0,ables:[],pinchThreshold:20,dragArea:!1,passDragArea:!1,transformOrigin:"",className:"",zoom:1,triggerAblesSimultaneously:!1,padding:{},pinchOutside:!0,checkInput:!1,dragFocusedInput:!1,groupable:!1,hideDefaultLines:!1,cspNonce:"",translateZ:0,cssStyled:null,customStyledMap:{},props:{},stopPropagation:!1,preventClickDefault:!1,preventClickEventOnDrag:!0,flushSync:defaultSync,firstRenderState:null,persistData:null,viewContainer:null,requestStyles:[],useAccuratePosition:!1},t}(PureComponent),Groupable={name:"groupable",props:["defaultGroupRotate","useDefaultGroupRotate","defaultGroupOrigin","groupable","groupableProps","targetGroups","hideChildMoveableDefaultLines"],events:[],render:function(e,t){var i,o=e.props,n=o.targets||[],r=e.getState(),s=r.left,a=r.top,l=r.isPersisted,c=o.zoom||1,d=e.renderGroupRects,u=(null===(i=o.persistData)||void 0===i?void 0:i.children)||[];l?n=u.map(function(){return null}):u=[];var h=watchValue(e,"parentPosition",[s,a],function(e){return e.join(",")}),p=watchValue(e,"requestStyles",e.getRequestChildStyles(),function(e){return e.join(",")});return e.moveables=e.moveables.slice(0,n.length),__spreadArray$3(__spreadArray$3([],__read$1(n.map(function(i,n){return t.createElement(MoveableManager$1,{key:"moveable"+n,ref:refs(e,"moveables",n),target:i,origin:!1,requestStyles:p,cssStyled:o.cssStyled,customStyledMap:o.customStyledMap,useResizeObserver:o.useResizeObserver,useMutationObserver:o.useMutationObserver,hideChildMoveableDefaultLines:o.hideChildMoveableDefaultLines,parentMoveable:e,parentPosition:[s,a],persistData:u[n],zoom:c})})),!1),__read$1(flat(d.map(function(e,i){var o=[e.pos1,e.pos2,e.pos3,e.pos4];return[[0,1],[1,3],[3,2],[2,0]].map(function(e,n){var r=__read$1(e,2),s=r[0],a=r[1];return renderLine(t,"",minus(o[s],h),minus(o[a],h),c,"group-rect-".concat(i,"-").concat(n))})}))),!1)}},Clickable=makeAble("clickable",{props:["clickable"],events:["click","clickGroup"],always:!0,dragRelation:"weak",dragStart:function(){},dragControlStart:function(){},dragGroupStart:function(e,t){t.datas.inputTarget=t.inputEvent&&t.inputEvent.target},dragEnd:function(e,t){var i=e.props.target,o=t.inputEvent,n=t.inputTarget,r=!e.isMoveableElement(n)&&e.controlBox.contains(n);if(o&&n&&!t.isDrag&&!e.isMoveableElement(n)&&!r){var s=i.contains(n);triggerEvent(e,"onClick",fillParams(e,t,{isDouble:t.isDouble,inputTarget:n,isTarget:i===n,moveableTarget:e.props.target,containsTarget:s}))}},dragGroupEnd:function(e,t){var i=t.inputEvent,o=t.inputTarget;if(i&&o&&!t.isDrag&&!e.isMoveableElement(o)&&t.datas.inputTarget!==o){var n=e.props.targets,r=n.indexOf(o),s=r>-1,a=!1;-1===r&&(a=(r=findIndex(n,function(e){return e.contains(o)}))>-1),triggerEvent(e,"onClickGroup",fillParams(e,t,{isDouble:t.isDouble,targets:n,inputTarget:o,targetIndex:r,isTarget:s,containsTarget:a,moveableTarget:n[r]}))}},dragControlEnd:function(e,t){this.dragEnd(e,t)},dragGroupControlEnd:function(e,t){this.dragEnd(e,t)}});function getDraggableEvent(e){var t=e.originalDatas.draggable;return t||(e.originalDatas.draggable={},t=e.originalDatas.draggable),__assign$6(__assign$6({},e),{datas:t})}var edgeDraggable=makeAble("edgeDraggable",{css:[".edge.edgeDraggable.line {\ncursor: move;\n}"],render:function(e,t){var i=e.props,o=i.edgeDraggable;return o?renderEdgeLines(t,"edgeDraggable",o,e.getState().renderPoses,i.zoom):[]},dragCondition:function(e,t){var i,o=e.props,n=null===(i=t.inputEvent)||void 0===i?void 0:i.target;return!(!o.edgeDraggable||!n)&&(!o.draggable&&hasClass$1(n,prefix$1("direction"))&&hasClass$1(n,prefix$1("edge"))&&hasClass$1(n,prefix$1("edgeDraggable")))},dragStart:function(e,t){return Draggable.dragStart(e,getDraggableEvent(t))},drag:function(e,t){return Draggable.drag(e,getDraggableEvent(t))},dragEnd:function(e,t){return Draggable.dragEnd(e,getDraggableEvent(t))},dragGroupCondition:function(e,t){var i,o=e.props,n=null===(i=t.inputEvent)||void 0===i?void 0:i.target;return!(!o.edgeDraggable||!n)&&(!o.draggable&&hasClass$1(n,prefix$1("direction"))&&hasClass$1(n,prefix$1("line")))},dragGroupStart:function(e,t){return Draggable.dragGroupStart(e,getDraggableEvent(t))},dragGroup:function(e,t){return Draggable.dragGroup(e,getDraggableEvent(t))},dragGroupEnd:function(e,t){return Draggable.dragGroupEnd(e,getDraggableEvent(t))},unset:function(e){return Draggable.unset(e)}}),IndividualGroupable={name:"individualGroupable",props:["individualGroupable","individualGroupableProps"],events:[]},MOVEABLE_ABLES=[BeforeRenderable,Default,Snappable,Pinchable,Draggable,edgeDraggable,Resizable,Scalable,Warpable,Rotatable,Scrollable,Padding,Origin,OriginDraggable,Clippable,Roundable,Groupable,IndividualGroupable,Clickable,DragArea,Renderable],MOVEABLE_EVENTS=MOVEABLE_ABLES.reduce(function(e,t){return(t.events||[]).forEach(function(t){pushSet(e,t)}),e},[]),MOVEABLE_PROPS=MOVEABLE_ABLES.reduce(function(e,t){return(t.props||[]).forEach(function(t){pushSet(e,t)}),e},[]);function solveConstantsDistance(e,t){var i=__read$1(e,3),o=i[0],n=i[1],r=i[2];return(o*t[0]+n*t[1]+r)/Math.sqrt(o*o+n*n)}function solveC(e,t){var i=__read$1(e,2),o=i[0],n=i[1];return-o*t[0]-n*t[1]}function getMaxPos(e,t){return Math.max.apply(Math,__spreadArray$3([],__read$1(e.map(function(e){var i=__read$1(e,4),o=i[0],n=i[1],r=i[2],s=i[3];return Math.max(o[t],n[t],r[t],s[t])})),!1))}function getMinPos(e,t){return Math.min.apply(Math,__spreadArray$3([],__read$1(e.map(function(e){var i=__read$1(e,4),o=i[0],n=i[1],r=i[2],s=i[3];return Math.min(o[t],n[t],r[t],s[t])})),!1))}function getGroupRect(e,t){var i,o,n,r=[0,0],s=[0,0],a=[0,0],l=[0,0],c=0,d=0;if(!e.length)return{pos1:r,pos2:s,pos3:a,pos4:l,minX:0,minY:0,maxX:0,maxY:0,width:c,height:d,rotation:t};var u=throttle(t,TINY_NUM);if(u%90){var h=u/180*Math.PI,p=Math.tan(h),g=-1/p,m=[MAX_NUM,MIN_NUM],f=[[0,0],[0,0]],v=[MAX_NUM,MIN_NUM],b=[[0,0],[0,0]];e.forEach(function(e){e.forEach(function(e){var t=solveConstantsDistance([-p,1,0],e),i=solveConstantsDistance([-g,1,0],e);m[0]>t&&(f[0]=e,m[0]=t),m[1]i&&(b[0]=e,v[0]=i),v[1]180&&(r=(n=__read$1([l,a,s,r],4))[0],s=n[1],a=n[2],l=n[3]);var $=getMinMaxs([r,s,a,l]);return{pos1:r,pos2:s,pos3:a,pos4:l,width:c,height:d,minX:$.minX,minY:$.minY,maxX:$.maxX,maxY:$.maxY,rotation:t}}function findMoveableGroups(e,t){var i=t.map(function(t){if(isArray$2(t)){var i=findMoveableGroups(e,t),o=i.length;return o>1?i:1===o?i[0]:null}var n=find$1(e,function(e){return e.manager.props.target===t});return n?(n.finded=!0,n.manager):null}).filter(Boolean);return 1===i.length&&isArray$2(i[0])?i[0]:i}var MoveableGroup=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.differ=new ChildrenDiffer,t.moveables=[],t.transformOrigin="50% 50%",t.renderGroupRects=[],t._targetGroups=[],t._hasFirstTargets=!1,t}return __extends$7(t,e),t.prototype.componentDidMount=function(){e.prototype.componentDidMount.call(this)},t.prototype.checkUpdate=function(){this._isPropTargetChanged=!1,this.updateAbles()},t.prototype.getTargets=function(){return this.props.targets},t.prototype.updateRect=function(e,t,i){var o;void 0===i&&(i=!0);var n=this.state;if(this.controlBox&&!n.isPersisted){setStoreCache(!0),this.moveables.forEach(function(t){t.updateRect(e,!1,!1)});var r=this.props,s=this.moveables,a=n.target||r.target,l=s.map(function(e){return{finded:!1,manager:e}}),c=this.props.targetGroups||[],d=findMoveableGroups(l,c),u=r.useDefaultGroupRotate;d.push.apply(d,__spreadArray$3([],__read$1(l.filter(function(e){return!e.finded}).map(function(e){return e.manager})),!1));var h=[],p=!t||""!==e&&r.updateGroup,g=r.defaultGroupRotate||0;if(!this._hasFirstTargets){var m=null===(o=r.persistData)||void 0===o?void 0:o.rotation;null!=m&&(g=m)}var f=function e(t,i,o){var n=t.map(function(t){if(isArray$2(t)){var o=e(t,i),n=[o.pos1,o.pos2,o.pos3,o.pos4];return h.push(o),{poses:n,rotation:o.rotation}}return{poses:getAbsolutePosesByState(t.state),rotation:t.getRotation()}}),r=n.map(function(e){return e.rotation}),s=0,a=r[0],l=r.every(function(e){return Math.abs(a-e)<.1});s=p?!u&&l?a:g:u||o||!l?i:a;var c=n.map(function(e){return e.poses});return getGroupRect(c,s)}(d,this.rotation,!0);p&&(this.rotation=f.rotation,this.transformOrigin=r.defaultGroupOrigin||"50% 50%",this.scale=[1,1]),this._targetGroups=c,this.renderGroupRects=h;var v=this.transformOrigin,b=this.rotation,_=this.scale,y=f.width,C=f.height,w=f.minX,x=f.minY,S=getMinMaxs(rotatePosesInfo([[0,0],[y,0],[0,C],[y,C]],convertTransformOriginArray(v,y,C),this.rotation/180*Math.PI).result),k=S.minX,E=S.minY,I=" rotate(".concat(b,"deg)")+" scale(".concat(sign(_[0]),", ").concat(sign(_[1]),")"),T="translate(".concat(-k,"px, ").concat(-E,"px)").concat(I);this.controlBox.style.transform="translate3d(".concat(w,"px, ").concat(x,"px, ").concat(this.props.translateZ||0,")"),a.style.cssText+="left:0px;top:0px;"+"transform-origin:".concat(v,";")+"width:".concat(y,"px;height:").concat(C,"px;")+"transform: ".concat(T),n.width=y,n.height=C;var D=this.getContainer(),L=getMoveableTargetInfo(this.controlBox,a,this.controlBox,this.getContainer(),this._rootContainer||D,[]),N=[L.left,L.top],M=__read$1(getAbsolutePosesByState(L),4),$=M[0],R=M[1],A=M[2],O=M[3],P=getMinMaxs([$,R,A,O]),B=[P.minX,P.minY],F=sign(_[0]*_[1]);L.pos1=minus($,B),L.pos2=minus(R,B),L.pos3=minus(A,B),L.pos4=minus(O,B),L.left=w-L.left+B[0],L.top=x-L.top+B[1],L.origin=minus(plus(N,L.origin),B),L.beforeOrigin=minus(plus(N,L.beforeOrigin),B),L.originalBeforeOrigin=plus(N,L.originalBeforeOrigin),L.transformOrigin=minus(plus(N,L.transformOrigin),B),a.style.transform="translate(".concat(-k-B[0],"px, ").concat(-E-B[1],"px)")+I,setStoreCache(),this.updateState(__assign$6(__assign$6({},L),{posDelta:B,direction:F,beforeDirection:F}),i)}},t.prototype.getRect=function(){return __assign$6(__assign$6({},e.prototype.getRect.call(this)),{children:this.moveables.map(function(e){return e.getRect()})})},t.prototype.triggerEvent=function(t,i,o){if(o||t.indexOf("Group")>-1)return e.prototype.triggerEvent.call(this,t,i);this._emitter.trigger(t,i)},t.prototype.getRequestChildStyles=function(){var e=this.getEnabledAbles().reduce(function(e,t){var i,o,n=null!==(o=null===(i=t.requestChildStyle)||void 0===i?void 0:i.call(t))&&void 0!==o?o:[];return __spreadArray$3(__spreadArray$3([],__read$1(e),!1),__read$1(n),!1)},[]);return e},t.prototype.getMoveables=function(){return __spreadArray$3([],__read$1(this.moveables),!1)},t.prototype.updateAbles=function(){e.prototype.updateAbles.call(this,__spreadArray$3(__spreadArray$3([],__read$1(this.props.ables),!1),[Groupable],!1),"Group")},t.prototype._updateTargets=function(){e.prototype._updateTargets.call(this),this._originalDragTarget=this.props.dragTarget||this.areaElement,this._dragTarget=getRefTarget(this._originalDragTarget,!0)},t.prototype._updateEvents=function(){var e=this.state,t=this.props,i=this._prevDragTarget,o=t.dragTarget||this.areaElement,n=t.targets,r=this.differ.update(n),s=r.added,a=r.changed,l=r.removed,c=s.length||l.length;(c||this._prevOriginalDragTarget!==this._originalDragTarget)&&(unsetGesto(this,!1),unsetGesto(this,!0),this.updateState({gestos:{}})),i!==o&&(e.target=null),e.target||(e.target=this.areaElement,this.controlBox.style.display="block"),e.target&&(this.targetGesto||(this.targetGesto=getTargetAbleGesto(this,this._dragTarget,"Group")),this.controlGesto||(this.controlGesto=getControlAbleGesto(this,"GroupControl")));var d=!equals(e.container,t.container);d&&(e.container=t.container),(d||c||this.transformOrigin!==(t.defaultGroupOrigin||"50% 50%")||a.length||n.length&&!isDeepArrayEquals(this._targetGroups,t.targetGroups||[]))&&(this.updateRect(),this._hasFirstTargets=!0),this._isPropTargetChanged=!!c},t.prototype._updateObserver=function(){},t.defaultProps=__assign$6(__assign$6({},MoveableManager$1.defaultProps),{transformOrigin:["50%","50%"],groupable:!0,dragArea:!0,keepRatio:!0,targets:[],defaultGroupRotate:0,defaultGroupOrigin:"50% 50%"}),t}(MoveableManager$1),MoveableIndividualGroup=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.moveables=[],t}return __extends$7(t,e),t.prototype.render=function(){var e,t=this,i=this.props,o=i.cspNonce,n=i.cssStyled,r=i.persistData,s=i.targets||[],a=s.length,l=this.isUnmounted||!a,c=null!==(e=null==r?void 0:r.children)&&void 0!==e?e:[];return l&&!a&&c.length?s=c.map(function(){return null}):l||(c=[]),createElement(n,{cspNonce:o,ref:ref(this,"controlBox"),className:prefix$1("control-box")},s.map(function(e,o){var n,r,s=null!==(r=null===(n=i.individualGroupableProps)||void 0===n?void 0:n.call(i,e,o))&&void 0!==r?r:{};return createElement(MoveableManager$1,__assign$6({key:"moveable"+o,ref:refs(t,"moveables",o)},i,s,{target:e,wrapperMoveable:t,isWrapperMounted:t.isMoveableMounted,persistData:c[o]}))}))},t.prototype.componentDidMount=function(){},t.prototype.componentDidUpdate=function(){},t.prototype.getTargets=function(){return this.props.targets},t.prototype.updateRect=function(e,t,i){void 0===i&&(i=!0),setStoreCache(!0),this.moveables.forEach(function(o){o.updateRect(e,t,i)}),setStoreCache()},t.prototype.getRect=function(){return __assign$6(__assign$6({},e.prototype.getRect.call(this)),{children:this.moveables.map(function(e){return e.getRect()})})},t.prototype.request=function(e,t,i){void 0===t&&(t={});var o=this.moveables.map(function(i){return i.request(e,__assign$6(__assign$6({},t),{isInstant:!1}),!1)}),n={request:function(e){return o.forEach(function(t){return t.request(e)}),this},requestEnd:function(){return o.forEach(function(e){return e.requestEnd()}),this}};return i||t.isInstant?n.request(t).requestEnd():n},t.prototype.dragStart=function(e,t){void 0===t&&(t=e.target);var i=t,o=find$1(this.moveables,function(e){var t=e.getTargets()[0],o=e.getControlBoxElement(),n=e.getDragElement();return!(!t||!n)&&(n===i||n.contains(i)||n!==t&&t===i||t.contains(i)||o===i||o.contains(i))});return o&&o.dragStart(e,t),this},t.prototype.hitTest=function(){return 0},t.prototype.isInside=function(){return!1},t.prototype.isDragging=function(){return!1},t.prototype.getDragElement=function(){return null},t.prototype.getMoveables=function(){return __spreadArray$3([],__read$1(this.moveables),!1)},t.prototype.updateRenderPoses=function(){},t.prototype.checkUpdate=function(){},t.prototype.triggerEvent=function(){},t.prototype.updateAbles=function(){},t.prototype._updateEvents=function(){},t.prototype._updateObserver=function(){},t}(MoveableManager$1);function getElementTargets(e,t){var i=[];return e.forEach(function(e){e&&(isString$2(e)?t[e]&&i.push.apply(i,__spreadArray$3([],__read$1(t[e]),!1)):isArray$2(e)?i.push.apply(i,__spreadArray$3([],__read$1(getElementTargets(e,t)),!1)):i.push(e))}),i}function getTargetGroups(e,t){var i=[];return e.forEach(function(e){e&&(isString$2(e)?t[e]&&i.push.apply(i,__spreadArray$3([],__read$1(t[e]),!1)):isArray$2(e)?i.push(getTargetGroups(e,t)):i.push(e))}),i}function compareRefTargets(e,t){return e.length!==t.length||e.some(function(e,i){var o=t[i];return!(!e&&!o)&&(e!=o&&(!isArray$2(e)||!isArray$2(o)||compareRefTargets(e,o)))})}var InitialMoveable=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.refTargets=[],t.selectorMap={},t._differ=new ChildrenDiffer,t._elementTargets=[],t._tmpRefTargets=[],t._tmpSelectorMap={},t._onChangeTargets=null,t}return __extends$7(t,e),t.makeStyled=function(){var e={};this.getTotalAbles().forEach(function(t){var i=t.css;i&&i.forEach(function(t){e[t]=!0})});var t=getKeys(e).join("\n");this.defaultStyled=styled("div",prefixCSS(PREFIX$1,MOVEABLE_CSS+t))},t.getTotalAbles=function(){return __spreadArray$3([Default,Groupable,IndividualGroupable,DragArea],__read$1(this.defaultAbles),!1)},t.prototype.render=function(){var e,t=this.constructor;t.defaultStyled||t.makeStyled();var i=this.props,o=i.ables,n=i.props,r=__rest(i,["ables","props"]),s=__read$1(this._updateRefs(!0),2),a=s[0],l=s[1],c=getElementTargets(a,l),d=c.length>1,u=__spreadArray$3(__spreadArray$3([],__read$1(t.getTotalAbles()),!1),__read$1(o||[]),!1),h=__assign$6(__assign$6(__assign$6({},r),n||{}),{ables:u,cssStyled:t.defaultStyled,customStyledMap:t.customStyledMap});this._elementTargets=c;var p=null,g=this.moveable,m=r.persistData;if((null==m?void 0:m.children)&&(d=!0),r.individualGroupable)return createElement(MoveableIndividualGroup,__assign$6({key:"individual-group",ref:ref(this,"moveable")},h,{target:null,targets:c}));if(d){var f=getTargetGroups(a,l);if(g&&!g.props.groupable&&!g.props.individualGroupable){var v=g.props.target;v&&c.indexOf(v)>-1&&(p=__assign$6({},g.state))}return createElement(MoveableGroup,__assign$6({key:"group",ref:ref(this,"moveable")},h,null!==(e=r.groupableProps)&&void 0!==e?e:{},{target:null,targets:c,targetGroups:f,firstRenderState:p}))}var b=c[0];if(g&&(g.props.groupable||g.props.individualGroupable)){var _=find$1(g.moveables||[],function(e){return e.props.target===b});_&&(p=__assign$6({},_.state))}return createElement(MoveableManager$1,__assign$6({key:"single",ref:ref(this,"moveable")},h,{target:b,firstRenderState:p}))},t.prototype.componentDidMount=function(){this._checkChangeTargets()},t.prototype.componentDidUpdate=function(){this._checkChangeTargets()},t.prototype.componentWillUnmount=function(){this.selectorMap={},this.refTargets=[]},t.prototype.getTargets=function(){var e,t;return null!==(t=null===(e=this.moveable)||void 0===e?void 0:e.getTargets())&&void 0!==t?t:[]},t.prototype.updateSelectors=function(){this.selectorMap={},this._updateRefs(),this.forceUpdate()},t.prototype.waitToChangeTarget=function(){var e,t=this;return this._onChangeTargets=function(){t._onChangeTargets=null,e()},new Promise(function(t){e=t})},t.prototype.waitToChangeTargets=function(){return this.waitToChangeTarget()},t.prototype.getManager=function(){return this.moveable},t.prototype.getMoveables=function(){return this.moveable.getMoveables()},t.prototype.getDragElement=function(){return this.moveable.getDragElement()},t.prototype._updateRefs=function(e){var t=this.refTargets,i=getRefTargets(this.props.target||this.props.targets),o="undefined"!=typeof document,n=compareRefTargets(t,i),r=this.selectorMap,s={};return this.refTargets.forEach(function e(t){isString$2(t)?r[t]?s[t]=r[t]:o&&(n=!0,s[t]=[].slice.call(document.querySelectorAll(t))):isArray$2(t)&&t.forEach(e)}),this._tmpRefTargets=i,this._tmpSelectorMap=s,[i,s,!e&&n]},t.prototype._checkChangeTargets=function(){var e,t,i;this.refTargets=this._tmpRefTargets,this.selectorMap=this._tmpSelectorMap;var o=this._differ.update(this._elementTargets),n=o.added,r=o.removed;(n.length||r.length)&&(null===(t=(e=this.props).onChangeTargets)||void 0===t||t.call(e,{moveable:this.moveable,targets:this._elementTargets}),null===(i=this._onChangeTargets)||void 0===i||i.call(this));var s=__read$1(this._updateRefs(),3),a=s[0],l=s[1],c=s[2];this.refTargets=a,this.selectorMap=l,c&&this.forceUpdate()},t.defaultAbles=[],t.customStyledMap={},t.defaultStyled=null,__decorate$3([withMethods(MOVEABLE_METHODS)],t.prototype,"moveable",void 0),t}(PureComponent),Moveable$1=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends$7(t,e),t.defaultAbles=MOVEABLE_ABLES,t}(InitialMoveable),extendStatics$6=function(e,t){return extendStatics$6=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},extendStatics$6(e,t)};function __extends$6(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}extendStatics$6(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var __assign$5=function(){return __assign$5=Object.assign||function(e){for(var t,i=1,o=arguments.length;i=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s}var InnerMoveable=function(e){function t(t){var i=e.call(this,t)||this;return i.state={},i.state=i.props,i}return __extends$6(t,e),t.prototype.render=function(){return createElement(Moveable$1,__assign$5({ref:ref(this,"moveable")},this.state))},t}(Component$1),PROPERTIES$3=MOVEABLE_PROPS,METHODS$2=MOVEABLE_METHODS,EVENTS$2=MOVEABLE_EVENTS,MoveableManager=function(e){function t(t,i){void 0===i&&(i={});var o=e.call(this)||this;o.containerProvider=null,o.selfElement=null,o._warp=!1;var n,r=__assign$5({},i),s={};EVENTS$2.forEach(function(e){s[camelize$1("on ".concat(e))]=function(t){return o.trigger(e,t)}}),i.warpSelf?(delete i.warpSelf,o._warp=!0,n=t):(n=getDocument(t).createElement("div"),t.appendChild(n)),o.containerProvider=renderSelf(createElement(InnerMoveable,__assign$5({ref:ref(o,"innerMoveable")},r,s)),n),o.selfElement=n;var a=r.target;return isArray$2(a)&&a.length>1&&o.updateRect(),o}__extends$6(t,e);var i=t.prototype;return i.setState=function(e,t){this.innerMoveable.setState(e,t)},i.forceUpdate=function(e){this.innerMoveable.forceUpdate(e)},i.dragStart=function(e,t){void 0===t&&(t=e.target),this.innerMoveable.$_timer&&this.forceUpdate(),this.getMoveable().dragStart(e,t)},i.destroy=function(){var e,t=this.selfElement;renderSelf(null,t,this.containerProvider),this._warp||null===(e=null==t?void 0:t.parentElement)||void 0===e||e.removeChild(t),this.containerProvider=null,this.off(),this.selfElement=null,this.innerMoveable=null},i.getMoveable=function(){return this.innerMoveable.moveable},t=__decorate$2([Properties(METHODS$2,function(e,t){e[t]||(e[t]=function(){for(var e=[],i=0;i1&&this.trigger("".concat(e,".").concat(n.join(".")),o)},t}(EventEmitter$2); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */function __values(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],o=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var o,n,r=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(error){n={error:error}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}return s}function __spread(){for(var e=[],t=0;t1?injectObserve(e[0],e[1]):function(t,i){return injectObserve(t,i,e[0])}}function injectReactiveSubscribe(e){e.subscribe=function(e,t){this[e],getObserver(this,e).subscribe(t)},e.unsubscribe=function(e,t){var i=this;e?e in this&&getObserver(this,e).unsubscribe(t):keys(getObservers(this)).forEach(function(e){i.unsubscribe(e)})}}function makeReactiveObject(e,t){var i=isFunction$2(e)?e():e,o={};return defineObservers(o),keys(i).forEach(function(e){var t=i[e];isObserver(t)?setObserver(o,e,t):setObserver(o,e,observe(t)),Observe(e)(o,e)}),injectReactiveSubscribe(o),o}function reactive(e){return makeReactiveObject(e)}function partialReactive(e){return makeReactiveObject(e)}function observe(e){return new Observer(e)}function computed(e){return new ComputedObserver(e)}function defineObservers(e){var t={};return Object.defineProperty(e,OBSERVERS_PATH,{get:function(){return t}}),t}function getObservers(e,t){var i,o;e[OBSERVERS_PATH]||defineObservers(e);var n=e[OBSERVERS_PATH],r=null===(o=null===(i=null==e?void 0:e.constructor)||void 0===i?void 0:i.prototype)||void 0===o?void 0:o[COMPUTED_PATH];return r&&r.forEach(function(t){!(t in n)&&t in e&&e[t]}),n}function getObserver(e,t,i){var o=getObservers(e);return o[t]||(o[t]=observe(i)),o[t]}function setObserver(e,t,i){getObservers(e)[t]=i}function isObserver(e){return e&&isObject$2(e)&&"current"in e&&"subscribe"in e&&"unsubscribe"in e}function __spreadArray$2(e,t,i){if(i||2===arguments.length)for(var o,n=0,r=t.length;n=0},e.prototype.gets=function(e,t){void 0===t&&(t=!0);var i=[],o=this;return function e(t,n){var r=o.get(t);if(r)return r.forEach(function(o){var r=__spreadArray$2(__spreadArray$2([],n,!0),[o],!1),s=e(__spreadArray$2(__spreadArray$2([],t,!0),[o],!1),r);s&&s.length||i.push(__spreadArray$2(__spreadArray$2([],n,!0),[o],!1))}),r}(e,t?e:[]),i},e.prototype.set=function(e,t){var i=this;return e.forEach(function(t,o){i.addName(e.slice(0,o),t)}),this.orderMap[this.getFullName(e)]=t,t},e.prototype.add=function(e){var t=e.length;return t?this.addName(e.slice(0,-1),e[t-1]):[]},e.prototype.addName=function(e,t){var i=this.get(e)||this.set(e,[]);return-1===i.indexOf(t)&&i.push(t),i},e.prototype.findIndex=function(e,t){var i=this.orderMap[this.getFullName(e)];return i?i.indexOf(t):-1},e.prototype.remove=function(e){var t=this.getFullName(e),i=this.orderMap;for(var o in i)0===o.indexOf(t)&&delete i[o];var n=e.length;if(n){var r=e.slice(0,-1),s=e[n-1];this.splice(r,this.findIndex(r,s),1)}return this},e.prototype.filter=function(t,i,o){void 0===o&&(o=!0);var n=this.gets(t,o).filter(i),r=new e(this.separator),s=o?[]:t;return n.forEach(function(e){r.add(__spreadArray$2(__spreadArray$2([],s,!0),e,!0))}),r},e.prototype.splice=function(e,t,i){for(var o=[],n=3;n=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s}function __spreadArray$1(e,t,i){if(i||2===arguments.length)for(var o,n=0,r=t.length;n.001;){if(n=cubic(e,t,o)-i,Math.abs(n)<.001)return o;o-=n/2}return o}function bezier(e,t,i,o){var n=function(n){var r=solveFromX(e,i,between(n,0,1));return cubic(t,o,r)};return n.easingName="cubic-bezier(".concat(e,",").concat(t,",").concat(i,",").concat(o,")"),n}function steps(e,t){var i=function(i){var o=1/e;return i>=1?1:("start"===t?o:0)+Math.floor(i/o)*o};return i.easingName="steps(".concat(e,", ").concat(t,")"),i}var STEP_START=steps(1,"start"),STEP_END=steps(1,"end"),LINEAR=bezier(0,0,1,1),EASE=bezier(.25,.1,.25,1),EASE_IN=bezier(.42,0,1,1),EASE_OUT=bezier(0,0,.58,1),EASE_IN_OUT=bezier(.42,0,.58,1),_a$1,PREFIX="__SCENEJS_",DATA_SCENE_ID="data-scene-id",TIMING_FUNCTION="animation-timing-function",ROLES={transform:{},filter:{},attribute:{},html:!0},ALIAS={easing:[TIMING_FUNCTION]},FIXED=(_a$1={},_a$1[TIMING_FUNCTION]=!0,_a$1.contents=!0,_a$1.html=!0,_a$1),MAXIMUM=1e6,THRESHOLD=1e-6,DURATION="duration",FILL_MODE="fillMode",DIRECTION="direction",ITERATION_COUNT="iterationCount",DELAY="delay",EASING="easing",PLAY_SPEED="playSpeed",EASING_NAME="easingName",ITERATION_TIME="iterationTime",PAUSED="paused",ENDED="ended",TIMEUPDATE="timeupdate",PLAY="play",RUNNING="running",ITERATION="iteration",START_ANIMATION="startAnimation",PAUSE_ANIMATION="pauseAnimation",ALTERNATE="alternate",REVERSE="reverse",ALTERNATE_REVERSE="alternate-reverse",NORMAL="normal",INFINITE="infinite",PLAY_STATE="playState",PLAY_CSS="playCSS",PREV_TIME="prevTime",TICK_TIME="tickTime",CURRENT_TIME="currentTime",SELECTOR="selector",TRANSFORM_NAME="transform",EASINGS={linear:LINEAR,ease:EASE,"ease-in":EASE_IN,"ease-out":EASE_OUT,"ease-in-out":EASE_IN_OUT,"step-start":STEP_START,"step-end":STEP_END},NAME_SEPARATOR="_///_",OPTIONS=[DURATION,FILL_MODE,DIRECTION,ITERATION_COUNT,DELAY,EASING,PLAY_SPEED],PropertyObject=function(){function e(e,t){this.prefix="",this.suffix="",this.model="",this.type="",this.separator=",",t&&this.setOptions(t),this.value=isString$2(e)?e.split(this.separator):e}return e.prototype.setOptions=function(e){for(var t in e)this[t]=e[t];return this},e.prototype.size=function(){return this.value.length},e.prototype.get=function(e){return this.value[e]},e.prototype.set=function(e,t){return this.value[e]=t,this},e.prototype.clone=function(){var t=this,i=t.separator,o=t.prefix,n=t.suffix,r=t.model,s=t.type,a=this.value.map(function(e){return isPropertyObject(e)?e.clone():e});return new e(a,{separator:i,prefix:o,suffix:n,model:r,type:s})},e.prototype.toValue=function(){return this.prefix+this.join()+this.suffix},e.prototype.join=function(){return this.value.map(function(e){return isPropertyObject(e)?e.toValue():e}).join(this.separator)},e.prototype.forEach=function(e){return this.value.forEach(e),this},e}();function splitStyle(e){for(var t=splitText(e,";"),i={},o=t.length,n=o,r=0;r-1)return arrayToColorObject(stringToRGBA(e));var r=toPropertyObject(o,i),s=[o],a=",",l="".concat(i,"("),c=")".concat(n);return isPropertyObject(r)&&(a=r.separator,s=r.value,l+=r.prefix,c=r.suffix+c),new PropertyObject(s,{separator:a,model:i,prefix:l,suffix:c})}function arrayToPropertyObject(e,t){return new PropertyObject(e,{type:"array",separator:t})}function stringToColorObject(e){var t=stringToRGBA(e);return t?arrayToColorObject(t):e}function toPropertyObject(e,t){if(!isString$2(e))return isArray$2(e)?arrayToPropertyObject(e,","):e;var i=splitComma(e);return i.length>1?arrayToPropertyObject(i.map(function(e){return toPropertyObject(e)}),","):(i=splitSpace(e)).length>1?arrayToPropertyObject(i.map(function(e){return toPropertyObject(e)})," "):(i=/^(['"])([^'"]*)(['"])$/g.exec(e))&&i[1]===i[3]?new PropertyObject([toPropertyObject(i[2])],{prefix:i[1],suffix:i[1]}):-1!==e.indexOf("(")?stringToBracketObject(e):"#"===e.charAt(0)&&"url"!==t?stringToColorObject(e):e}function toObject(e,t){void 0===t&&(t={});var i=e.model;if(i){e.setOptions({model:"",suffix:"",prefix:""});var o=e.size()>1?e:e.get(0);t[i]=o}else e.forEach(function(e){toObject(e,t)});return t}function getType(e){var t=typeof e;if(t===OBJECT){if(isArray$2(e))return ARRAY;if(isPropertyObject(e))return PROPERTY}else if(t===STRING||t===NUMBER)return"value";return t}function isPureObject(e){return isObject$3(e)&&e.constructor===Object}function getNames(e,t){var i=[];if(isPureObject(e))for(var o in e)t.push(o),i=i.concat(getNames(e[o],t)),t.pop();else i.push(t.slice());return i}function updateFrame(e,t){for(var i in t){isPureObject(t[i])?(isObject$3(e[i])||(e[i]={}),updateFrame(e[i],t[i])):e[i]=!0}return e}function toFixed(e){return Math.round(e*MAXIMUM)/MAXIMUM}function getValueByNames(e,t,i){void 0===i&&(i=e.length);for(var o=t,n=0;n=0}function GetterSetter(e,t,i){return function(o){var n=o.prototype;e.forEach(function(e){n[camelize$1("get ".concat(e))]=function(){return this[i][e]}}),t.forEach(function(e){n[camelize$1("set ".concat(e))]=function(t){return this[i][e]=t,this}})}}function isDirectionReverse(e,t,i){return i===REVERSE||(t!==INFINITE&&e===t&&t%1==0?i===(e%2>=1?ALTERNATE_REVERSE:ALTERNATE):i===(e%2>=1?ALTERNATE:ALTERNATE_REVERSE))}var ANIMATOR_SETTERS=["id",ITERATION_COUNT,DELAY,FILL_MODE,DIRECTION,PLAY_SPEED,DURATION,PLAY_SPEED,ITERATION_TIME,PLAY_STATE],ANIMATOR_GETTERS=__spreadArray$1(__spreadArray$1([],ANIMATOR_SETTERS,!0),[EASING,EASING_NAME],!1),Animator=function(e){function t(t){var i=e.call(this)||this;return i.timerId=0,i.state=reactive({id:"",easing:0,easingName:"linear",iterationCount:1,delay:0,fillMode:"forwards",direction:NORMAL,playSpeed:1,currentTime:0,iterationTime:-1,iteration:0,tickTime:0,prevTime:0,playState:PAUSED,duration:0}),i.setOptions(t),i}return __extends$3(t,e),t.prototype.setEasing=function(e){var t=getEasing(e),i=t&&t[EASING_NAME]||"linear",o=this.state;return o[EASING]=t,o[EASING_NAME]=i,this},t.prototype.setOptions=function(e){for(var t in void 0===e&&(e={}),e){var i=e[t];t!==EASING?t!==DURATION?OPTIONS.indexOf(t)>-1&&(this.state[t]=i):i&&this.setDuration(i):this.setEasing(i)}return this},t.prototype.getTotalDuration=function(){return this.getActiveDuration(!0)},t.prototype.getActiveDuration=function(e){var t=this.state,i=t[ITERATION_COUNT];return i===INFINITE?1/0:(e?t[DELAY]:0)+this.getDuration()*i},t.prototype.isEnded=function(){return 0===this.state[TICK_TIME]&&this.state[PLAY_STATE]===PAUSED||!(this.getTime()=e&&(this.trigger(PLAY),!0)},t.prototype.play=function(e){var t=this,i=this.state,o=i[DELAY],n=this.getTime();return i[PLAY_STATE]=RUNNING,this.isEnded()&&(0===n||n>=this.getActiveDuration())&&this.setTime(-o,!0),this.timerId=requestAnimationFrame$1(function(o){i[PREV_TIME]=o,t.tick(o,e)}),this.start(),this},t.prototype.pause=function(){var e=this.state;return e[PLAY_STATE]!==PAUSED&&(e[PLAY_STATE]=PAUSED,this.trigger(PAUSED)),cancelAnimationFrame(this.timerId),this},t.prototype.finish=function(){return this.setTime(0),this.state[TICK_TIME]=0,this.end(),this},t.prototype.end=function(){return this.pause(),this.trigger(ENDED),this},t.prototype.setTime=function(e,t,i,o){var n=this.getActiveDuration(),r=this.state,s=r[TICK_TIME],a=r[DELAY],l=t?e:this.getUnitTime(e);r[TICK_TIME]=a+l,l<0?l=0:l>n&&(l=n),r[CURRENT_TIME]=l,this.calculate();var c=t&&!i,d=r[TICK_TIME],u=isString$2(e)?parseFloat(e):e;return c&&s=0&&this.start(0),null==o||o(),c&&(d"===o?n+THRESHOLD:n}return toFixed(e)},t.prototype.isDelay=function(){var e=this.state,t=e[DELAY],i=e[TICK_TIME];return t>0&&i=t&&(a=n*("both"===i||"forwards"===i?t%1||1:0),l&&(a=n-a)));return this.setIterationTime(a),this},t.prototype.tick=function(e,t){var i=this;if(!this.isPaused()){var o=this.state,n=o[PLAY_SPEED],r=o[PREV_TIME],s=o[DELAY],a=o[TICK_TIME]+Math.min(1e3,e-r)/1e3*n;o[PREV_TIME]=e,t&&t>=a?(this.setTime(t-s,!0),this.pause()):this.setTime(a-s,!0),o[PLAY_STATE]!==PAUSED&&(this.timerId=requestAnimationFrame$1(function(e){i.tick(e,t)}))}},t=__decorate$1([GetterSetter(ANIMATOR_GETTERS,ANIMATOR_SETTERS,"state")],t)}(EventEmitter$2);function toInnerProperties(e,t){if(void 0===t&&(t=[]),!e)return"";var i=[],o=getKeys(e);return sortOrders(o,t),o.forEach(function(t){i.push("".concat(t.replace(/\d$/g,""),"(").concat(e[t],")"))}),i.join(" ")}function clone(e,t){return void 0===t&&(t=!1),merge({},e,t)}function merge(e,t,i){for(var o in void 0===i&&(i=!1),t){var n=t[o],r=getType(n);r===PROPERTY?e[o]=i?n.toValue():n.clone():r===FUNCTION?e[o]=i?getValue$1([o],n):n:r===ARRAY?e[o]=n.slice():r===OBJECT?isObject$3(e[o])&&!isPropertyObject(e[o])?merge(e[o],n,i):e[o]=clone(n,i):e[o]=t[o]}return e}function getPropertyName(e){return e[0]in ALIAS?ALIAS[e[0]]:e}function getValue$1(e,t){var i=getType(t);if(i===PROPERTY)return t.toValue();if(i===FUNCTION){if(e[0]!==TIMING_FUNCTION)return getValue$1(e,t())}else if(i===OBJECT)return clone(t,!0);return t}var Frame=function(e){function t(t){void 0===t&&(t={});var i=e.call(this)||this;return i.properties={},i.orderMap=new OrderMap(NAME_SEPARATOR),i.properties={},i.set(t),i}return __extends$3(t,e),t.prototype.get=function(){for(var e=[],t=0;t=n?e:dot(e,t[r],i,o)})}function dotColor(e,t,i,o){var n=e.value,r=t.value,s=e.model;if(s!==t.model)return dot(e.toValue(),t.toValue(),i,o);3===n.length&&(n[3]=1),3===r.length&&(r[3]=1);for(var a=dotArray(n,r,i,o),l=s,c=0;c<3;++c)a[c]=parseInt(a[c],10);return new PropertyObject(a,{type:"color",model:l,prefix:"".concat(l,"("),suffix:")"})}function dotObject(e,t,i,o){var n=e.type;if("color"===n)return dotColor(e,t,i,o);var r=dotArray(e.value,t.value,i,o);return new PropertyObject(r,{type:n,separator:e.separator||t.separator,prefix:e.prefix||t.prefix,suffix:e.suffix||t.suffix,model:e.model||t.model})}function dot(e,t,i,o){if(0===o)return t;if(0===i||i+o===0)return e;var n=getType(e),r=getType(t),s=n===FUNCTION,a=r===FUNCTION;if(s||a)return function(){return dot(s?toPropertyObject(e()):e,a?toPropertyObject(t()):t,i,o)};if(n!==r)return e;if(n===PROPERTY)return dotObject(e,t,i,o);if(n===ARRAY)return dotArray(e,t,i,o);if("value"!==n)return e;var l,c=splitUnit("".concat(e)),d=splitUnit("".concat(t));if(isNaN(c.value)||isNaN(d.value))return e;l=dot$1(c.value,d.value,i,o);var u=c.prefix||d.prefix,h=c.unit||d.unit;return u||h?u+l+h:l}function dotValue(e,t,i,o,n,r){if(e===t)return o;if(e===i)return n;if(!r)return dot(o,n,e-t,i-e);var s=r((e-t)/(i-t));return dot(o,n,s,1-s)}function getNearTimeIndex(e,t){for(var i=e.length,o=0;ot)return[o>0?o-1:0,o]}return[i-1,i-1]}function makeAnimationProperties(e){var t=[];for(var i in e)t.push("".concat(ANIMATION,"-").concat(decamelize(i),":").concat(e[i],";"));return t.join("")}function addTime(e,t){for(var i=e.length,o=0;od){if(0!==p){var b=l*u+(h?l-v[0]:v[0]),_=dot$1(v[1],m,d-b,f-d);addEntry(o,(n+l*t)/r,_)}break}if(f===d&&o.length&&o[o.length-1][0]===d+n)break;addEntry(o,(n+f)/r,m)}n&&o.unshift([0,o[0][1]]),i=o,o=[]}),i}var SceneItem=function(t){function i(e,i){var o=t.call(this)||this;return o.times=[],o.items={},o.nameMap=new OrderMap(NAME_SEPARATOR),o.elements=[],o.needUpdate=!0,o.registeredElement=!1,o.load(e,i),o}return __extends$3(i,t),i.prototype.getDuration=function(){var e=this.times,t=e.length;return(0===t?0:e[t-1])||this.state[DURATION]},i.prototype.size=function(){return this.times.length},i.prototype.setDuration=function(e){if(!e)return this;var t=this.getDuration();if(t>0){var i=e/t,o=this.times,n=this.items,r={};this.times=o.map(function(e){var t=toFixed(e*i);return r[t]=n[e],t}),this.items=r}else this.newFrame(e);return this},i.prototype.setId=function(e){var t=this.state,i=this.elements,o=i.length;if(t.id=e||makeId(!!o),o&&!t[SELECTOR]){var n=toId(this.getId());t[SELECTOR]="[".concat(DATA_SCENE_ID,'="').concat(n,'"]'),i.forEach(function(e){e.setAttribute(DATA_SCENE_ID,n)})}return this},i.prototype.set=function(e){for(var t=this,i=[],o=1;o-1;for(var c in r){var d=a?s-parseFloat(c):parseFloat(c);t.set(o+d,r[c])}}else if(1===i.length&&isArray$2(l))l.forEach(function(e){t.set(o,e)});else{var u=t.newFrame(o);u.set.apply(u,i)}})}return this.needUpdate=!0,this},i.prototype.get=function(e){for(var t=[],i=1;i-1&&this.times.splice(o,1),this.needUpdate=!0,this},i.prototype.hasFrame=function(e){return this.getUnitTime(e)in this.items},i.prototype.hasName=function(e){return this.needUpdate&&this.update(),!!this.nameMap.hasName(e)},i.prototype.mergeFrame=function(e,t){t&&this.newFrame(e).merge(t);return this},i.prototype.getNowFrame=function(e,t,i){var o=this;this.needUpdate&&this.update();var n=new Frame,r=getNearTimeIndex(this.times,e),s=r[0],a=r[1],l=this.getEasing()||t,c=this.nameMap;if(this.hasName([TIMING_FUNCTION])){var d=this.getNowValue(e,[TIMING_FUNCTION],s,a,!1,0,!0);isFunction$3(d)&&(l=d)}if(i){var u=this.getFrame(e),h=u.orderMap.filter([],function(e){return u.has.apply(u,e)});for(var p in ROLES){var g=c.get([p]);h.get([p])&&g&&h.set([p],g)}c=h}var m=c.gets([]);return n.setOrderObject(c.orderMap),m.forEach(function(t){var r=o.getNowValue(e,t,s,a,i,l,isFixed$1(t));isUndefined$2(r)||n.set(t,r)}),n},i.prototype.getCurrentFrame=function(e,t){var i=this.getIterationTime(),o=e||this.needUpdate||!this.temp?this.getComputedFrame(i,t):this.temp;return this.temp=o,o},i.prototype.getComputedFrame=function(e,t,i){return this.getNowFrame(e,t,i)},i.prototype.load=function(e,t){var i;if(void 0===e&&(e={}),void 0===t&&(t=e.options),t&&this.setOptions(t),isArray$2(e))this.set(e);else if(e.keyframes)this.set(e.keyframes);else for(var o in e)"options"!==o&&this.set(((i={})[o]=e[o],i));return t&&t[DURATION]&&this.setDuration(t[DURATION]),this},i.prototype.clone=function(){var e=new i;return e.setOptions(this.state),e.setOrderObject(this.nameMap.orderMap),this.forEach(function(t,i){e.setFrame(i,t.clone())}),e},i.prototype.forEach=function(e){var t=this.times,i=this.items;return t.forEach(function(t){e(i[t],t,i)}),this},i.prototype.setOptions=function(e){void 0===e&&(e={}),t.prototype.setOptions.call(this,e);var i=e.id,o=e.selector,n=e.elements,r=e.element,s=e.target;return i&&this.setId(i),s?this.setTarget(s):o&&!this.state.noRegisterElement?this.setSelector(o):(n||r)&&this.setElement(n||r),this},i.prototype.toCSS=function(e,t,i){void 0===e&&(e={className:START_ANIMATION}),void 0===t&&(t=this.getDuration()),void 0===i&&(i=[]);var o=this.state,n=o[SELECTOR];if(!n)return"";var r=this.getDuration();o[DURATION]=r,i.push(o);var s=toArray(i).reverse(),a=toId(getRealId(this)),l=i[0],c=findIndex(s,function(e){return e[ITERATION_COUNT]===INFINITE||!isFinite(e[DURATION])},i.length-1),d=s.slice(0,c),u=t||d.reduce(function(e,t){return(t[DELAY]+e*t[ITERATION_COUNT])/t[PLAY_SPEED]},r),h=s.slice(c).reduce(function(e,t){return(e+t[DELAY])/t[PLAY_SPEED]},0),p=find$1(s,function(e){return e[EASING]&&e[EASING_NAME]},o)[EASING_NAME],g=s[c][ITERATION_COUNT],m=l[FILL_MODE],f=s[c][DIRECTION],v=makeAnimationProperties({fillMode:m,direction:f,iterationCount:g,delay:"".concat(h,"s"),name:"".concat(PREFIX,"KEYFRAMES_").concat(a),duration:"".concat(u/l[PLAY_SPEED],"s"),timingFunction:p}),b=splitComma(n).map(function(e){var t=/([\s\S]+)(:+[a-zA-Z]+)$/g.exec(e);return t?[t[1],t[2]]:[e,""]}),_=e.className,y=e.selector,C=isFunction$3(y)?y(this,n):y;return"\n ".concat(C||b.map(function(e){var t=e[0],i=e[1];return"".concat(t,".").concat(_).concat(i)})," {").concat(v,"}\n ").concat(b.map(function(e){var t=e[0],i=e[1];return"".concat(t,".").concat(PAUSE_ANIMATION).concat(i)})," {").concat(ANIMATION,"-play-state: paused;}\n @").concat(KEYFRAMES," ").concat(PREFIX,"KEYFRAMES_").concat(a,"{").concat(this._toKeyframes(u,d,f),"}")},i.prototype.exportCSS=function(e,t,i){if(!this.elements.length)return"";var o=this.toCSS(e,t,i);return i&&!isUndefined$2(i[ITERATION_COUNT])||(this.styledInjector&&(this.styledInjector.destroy(),this.styledInjector=null),this.styled=styled$1(o),this.styledInjector=this.styled.inject(this.getAnimationElement(),{original:!0})),this},i.prototype.pause=function(){return t.prototype.pause.call(this),isPausedCSS(this)&&this.pauseCSS(),this},i.prototype.pauseCSS=function(){return this.elements.forEach(function(e){addClass$1(e,PAUSE_ANIMATION)}),this},i.prototype.endCSS=function(){return this.elements.forEach(function(e){removeClass$1(e,PAUSE_ANIMATION),removeClass$1(e,START_ANIMATION)}),setPlayCSS(this,!1),this},i.prototype.end=function(){return isEndedCSS(this)&&this.endCSS(),t.prototype.end.call(this),this},i.prototype.playCSS=function(e,t,i){return void 0===e&&(e=!0),void 0===i&&(i={}),playCSS(this,e,t,i),this},i.prototype.getAnimationElement=function(){return this.elements[0]},i.prototype.addPlayClass=function(e,t,i){void 0===i&&(i={});var o=this.elements,n=o.length,r=makeAnimationProperties(i);if(n)return e?o.forEach(function(e){removeClass$1(e,PAUSE_ANIMATION)}):(o.forEach(function(e){e.style.cssText+=r,hasClass$1(e,START_ANIMATION)&&removeClass$1(e,START_ANIMATION)}),o.forEach(function(e){e.clientWidth}),o.forEach(function(e){addClass$1(e,START_ANIMATION)})),o[0]},i.prototype.clear=function(){return this.times=[],this.items={},this.nameMap=new OrderMap(NAME_SEPARATOR),this.styledInjector&&this.styledInjector.destroy(),this.styled=null,this.styledInjector=null,this.temp=null,this.needUpdate=!0,this},i.prototype.getNowValue=function(e,t,i,o,n,r,s){var a,l,c,d,u=this.times,h=u.length,p=isUndefined$2(i),g=isUndefined$2(o);if(p||g){var m=getNearTimeIndex(u,e);p&&(i=m[0]),g&&(o=m[1])}for(var f=i;f>=0;--f){if((b=this.getFrame(u[f])).has.apply(b,t)){a=u[f],c=b;break}}var v=c&&c.raw.apply(c,t);if(n&&!isRole([t[0]]))return a===e?v:void 0;if(s)return v;for(f=o;f=Q||gek[1])){var me=0===he?G:he%2==0?q:Y,fe=0;switch(y){case"start":fe=0;break;case"center":fe=ie/2-me/2;break;case"end":fe=ie-me}var ve=V?[pe+X[0],fe+X[1]]:[fe+X[0],pe+X[1]],be=ve[0],_e=ve[1],ye=V?[be,_e+me]:[be+me,_e],Ce=ye[0],we=ye[1];z.moveTo(be+X[0],_e+X[1]),z.lineTo(Ce+X[0],we+X[1])}}}z.stroke(),z.beginPath(),z.strokeStyle=O,z.lineWidth=1,(a||[]).forEach(function(e){var t=(-r+e)*o;if(!(t<0||t>=Q||ek[1])){var i=V?[t+X[0],X[1]]:[X[0],t+X[1]],n=i[0],s=i[1],a=V?[n,s+j]:[n+j,s],l=a[0],c=a[1];z.moveTo(n+X[0],s+X[1]),z.lineTo(l+X[0],c+X[1])}}),z.stroke(),oe.forEach(function(e){var t=e.value,i=e.offset,n=e.backgroundColor,s=e.color,a=e.text,l=e.textSize;if(H||!(t<0)){var c=(t-r)*o;if(!(c<-Z||c>=Q+p*o||tk[1])){var d=0;switch(y){case"start":d=17;break;case"center":d=ie/2;break;case"end":d=ie-17}var u=V?[c+-3*te,d]:[d,c+3*te],h=u[0],g=u[1];if(n){var m=0;switch(K){case"left":m=0;break;case"center":m=-l/2;break;case"right":m=-l}z.save(),z.fillStyle=n,V?z.fillRect(h+i[0]+m,0,l,G):(z.translate(0,g+i[1]),z.rotate(-Math.PI/2),z.fillRect(m,0,l,G)),z.restore()}z.save(),z.fillStyle=s,V?z.fillText(a,h+i[0],g+i[1]):(z.translate(h+i[0],g+i[1]),z.rotate(-Math.PI/2),z.fillText(a,0,0)),z.restore()}}}),z.restore()},i._getRulerScale=function(){var e=this.props.defaultPixelScale||2;if(!this._rulerScale){var t=window.devicePixelRatio>1;if(!t&&window.matchMedia){var i=window.matchMedia("only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 2.6/2), only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 1.3dppx)");t=i&&i.matches}this._rulerScale=t?3:e}return this._rulerScale},t.defaultProps={type:"horizontal",zoom:1,width:0,height:0,unit:50,negativeRuler:!0,mainLineSize:"100%",longLineSize:10,shortLineSize:7,segment:10,direction:"end",style:{width:"100%",height:"100%"},backgroundColor:"#333333",font:"10px sans-serif",textColor:"#ffffff",textBackgroundColor:"transparent",lineColor:"#777777",range:[-1/0,1/0],rangeBackgroundColor:"transparent",lineWidth:1,selectedBackgroundColor:"#555555",defaultScrollPos:0,markColor:"#f55",marks:[]},t}(PureComponent),PROPERTIES$2=["type","width","height","unit","zoom","direction","textAlign","font","segment","mainLineSize","longLineSize","shortLineSize","lineOffset","textOffset","negativeRuler","range","scrollPos","defaultScrollPos","style","backgroundColor","rangeBackgroundColor","lineColor","textColor","textBackgroundColor","textFormat","warpSelf","selectedBackgroundColor","selectedRanges","defaultPixelScale","useResizeObserver","selectedRangesText","selectedRangesTextColor","selectedRangesTextOffset","marks","markColor"],__assign$2=function(){return __assign$2=Object.assign||function(e){for(var t,i=1,o=arguments.length;i-1&&o.splice(n,1)}}else this._events[e]=[];else this._events={};return this},t.once=function(e,t){var i=this;return t&&this._addEvent(e,t,{once:!0}),new Promise(function(t){i._addEvent(e,t,{once:!0})})},t.emit=function(e,t){var i=this;void 0===t&&(t={});var o=this._events[e];if(!e||!o)return!0;var n=!1;return t.eventType=e,t.stop=function(){n=!0},t.currentTarget=this,__spreadArrays$1(o).forEach(function(o){o.listener(t),o.once&&i.off(e,o.listener)}),!n},t.trigger=function(e,t){return void 0===t&&(t={}),this.emit(e,t)},t._addEvent=function(e,t,i){var o=this._events;o[e]=o[e]||[],o[e].push(__assign$2({listener:t},i))},e}(),extendStatics$1=function(e,t){return extendStatics$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},extendStatics$1(e,t)}; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */function __extends$1(e,t){function i(){this.constructor=e}extendStatics$1(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var __assign$1$1=function(){return __assign$1$1=Object.assign||function(e){for(var t,i=1,o=arguments.length;io-r?(a[1]>s.top||oa[1])&&(l[1]=1),s.left>i-r?(a[0]>s.left||ia[0])&&(l[0]=1),!(!l[0]&&!l[1])&&this._continueDrag(__assign$1$1(__assign$1$1({},t),{direction:l,inputEvent:e,isDrag:!0}))}},i.checkScroll=function(e){var t=this;if(this._isWait)return!1;var i=e.prevScrollPos,o=void 0===i?this._prevScrollPos:i,n=e.direction,r=e.throttleTime,s=void 0===r?0:r,a=e.inputEvent,l=e.isDrag,c=this._getScrollPosition(n||[0,0],e),d=c[0]-o[0],u=c[1]-o[1],h=n||[d?Math.abs(d)/d:0,u?Math.abs(u)/u:0];return this._prevScrollPos=c,!(!d&&!u)&&(this.trigger("move",{offsetX:h[0]?d:0,offsetY:h[1]?u:0,inputEvent:a}),s&&l&&(clearTimeout(this._timer),this._timer=window.setTimeout(function(){t._continueDrag(e)},s)),!0)},i.dragEnd=function(){this._flag=!1,clearTimeout(this._timer)},i._getScrollPosition=function(e,t){var i=t.container,o=t.getScrollPosition;return(void 0===o?getDefaultScrollPosition:o)({container:getContainerElement(i),direction:e})},i._continueDrag=function(e){var t,i,o=this,n=e.container,r=e.direction,s=e.throttleTime,a=e.useScroll,l=e.isDrag,c=e.inputEvent;if(!(!this._flag||l&&this._isWait)){var d=now(),u=Math.max(s+this._prevTime-d,0);if(u>0)return clearTimeout(this._timer),this._timer=window.setTimeout(function(){o._continueDrag(e)},u),!1;this._prevTime=d;var h=this._getScrollPosition(r,e);this._prevScrollPos=h,l&&(this._isWait=!0);var p={container:getContainerElement(n),direction:r,inputEvent:c};return null===(i=(t=e).requestScroll)||void 0===i||i.call(t,p),this.trigger("scroll",p),this._isWait=!1,a||this.checkScroll(__assign$1$1(__assign$1$1({},e),{prevScrollPos:h,direction:r,inputEvent:c}))}},t}(EventEmitter$1),extendStatics$1$1=function(e,t){return extendStatics$1$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},extendStatics$1$1(e,t)};function __extends$1$1(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}extendStatics$1$1(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var __assign$2$1=function(){return __assign$2$1=Object.assign||function(e){for(var t,i=1,o=arguments.length;i=f&&a.indexOf(m)<0&&i.setState({guides:__spreadArray(__spreadArray([],a,!0),[m],!1)},function(){c({guides:i.state.guides,distX:n,distY:r,index:a.length,isAdd:!0,isRemove:!1,isChange:!1})});else{var v=parseFloat(t.target.getAttribute("data-index")),b=!1,_=!1,y=(a=__spreadArray([],a,!0)).indexOf(m);if(o||m-1&&y!==v){if(h&&(!0===h||h.indexOf("remove")>-1))return;a.splice(v,1),b=!0}else{if(y>-1)return;if(h&&(!0===h||h.indexOf("change")>-1))return;a[v]=m,_=!0}i.setState({guides:a},function(){var e=i.state.guides;c({distX:n,distY:r,guides:e,isAdd:!1,index:v,isChange:_,isRemove:b})})}},i._onCheck=function(){i.resize()},i.state.guides=t.defaultGuides||[],i.scrollPos=t.defaultGuidesPos||0,i}__extends$1$1(t,e);var i=t.prototype;return i.render=function(){var e=this.props,t=e.className,i=e.type,o=e.zoom,n=e.guidesZoom,r=e.style,s=e.rulerStyle,a=e.displayDragPos,l=e.cspNonce,c=e.dragGuideStyle,d=e.guidePosStyle,u=void 0===d?{}:d,h=this.props,p=this.getTranslateName(),g={};return PROPERTIES$2.forEach(function(e){"style"!==e&&"warpSelf"!==e&&"useResizeObserver"!==e&&(g[e]=h[e])}),this._zoom=o,this._guidesZoom=n||o,createElement(GuidesElement,{ref:this.managerRef,cspNonce:l,className:"".concat(prefix("manager",i)," ").concat(t),style:r},createElement("div",{className:prefix("guide-origin"),ref:ref(this,"originElement")}),createElement(Ruler,__assign$2$1({ref:ref(this,"ruler"),style:s},g)),createElement("div",{className:GUIDES,ref:ref(this,"guidesElement"),style:{transform:"".concat(p,"(").concat(-this.scrollPos*this._guidesZoom,"px)")}},a&&createElement("div",{className:DISPLAY_DRAG,ref:ref(this,"displayElement"),style:u||{}}),createElement("div",{className:ADDER,ref:ref(this,"adderElement"),style:c}),this.renderGuides()))},i.drawRuler=function(e){this.ruler.draw(e)},i.renderGuides=function(){var e=this,t=this.props,i=t,o=i.type,n=i.showGuides,r=i.guideStyle,s=i.displayGuidePos,a=i.guidePosStyle,l=void 0===a?{}:a,c=i.guidesOffset,d=this._guidesZoom,u=this.getTranslateName(),h=this.state.guides,p=t.guidePosFormat||t.dragPosFormat||function(e){return e};if(this.guideElements=[],n)return h.map(function(t,i){var n=t+(c||0);return createElement("div",{className:prefix("guide",o),ref:refs(e,"guideElements",i),key:i,"data-index":i,"data-pos":t,style:__assign$2$1(__assign$2$1({},r),{transform:"".concat(u,"(").concat(n*d,"px) translateZ(0px)")})},s&&createElement("div",{className:prefix("guide-pos"),style:l||{}},p(t)))})},i.componentDidMount=function(){var e=this;this.gesto=new Gesto(this.managerRef.current,{container:document.body}).on("dragStart",function(t){var i=e.props,o=i.type,n=i.lockGuides,r=e._guidesZoom;if(!0!==n){var s=t.inputEvent.target,a=t.datas,l=e.ruler.canvasElement,c=e.guidesElement,d="horizontal"===o,u=e.originElement.getBoundingClientRect(),h=getDistElementMatrix(e.managerRef.current),p=calculateMatrixDist(h,[t.clientX-u.left,t.clientY-u.top]);p[0]-=c.offsetLeft,p[1]-=c.offsetTop,p[d?1:0]+=e.scrollPos*r,a.offsetPos=p,a.matrix=h;var g=n&&n.indexOf("add")>-1,m=n&&n.indexOf("remove")>-1,f=n&&n.indexOf("change")>-1;if(s===l){if(g)return void t.stop();a.fromRuler=!0,a.target=e.adderElement}else{if(!hasClass$1(s,GUIDE))return t.stop(),!1;if(m&&f)return void t.stop();a.target=s}e.onDragStart(t)}else t.stop()}).on("drag",this._onDrag).on("dragEnd",this.onDragEnd),this.props.useResizeObserver?(this._observer=new ResizeObserver(this._onCheck),this._observer.observe(this.guidesElement,{box:"border-box"}),this._observer.observe(this.getRulerElement(),{box:"border-box"})):this._onCheck()},i.componentWillUnmount=function(){var e;this.gesto.unset(),null===(e=this._observer)||void 0===e||e.disconnect()},i.componentDidUpdate=function(e){var t=this.props.defaultGuides;e.defaultGuides!==t&&this.setState({guides:t||[]})},i.loadGuides=function(e){this.setState({guides:e})},i.getGuides=function(){return this.state.guides},i.scrollGuides=function(e,t){void 0===t&&(t=this._guidesZoom),this._setZoom({guidesZoom:t});var i=this.getTranslateName(),o=this.guidesElement;this.scrollPos=e,o.style.transform="".concat(i,"(").concat(-e*t,"px)");var n=this.state.guides,r=this.props.guidesOffset||0;this.guideElements.forEach(function(o,s){if(o){var a=n[s]+(r||0);o.style.transform="".concat(i,"(").concat(a*t,"px) translateZ(0px)"),o.style.display=-e+a<0?"none":"block"}})},i.zoomTo=function(e,t){void 0===t&&(t=e),this.scroll(this.getRulerScrollPos(),e),this.scrollGuides(this.getGuideScrollPos(),t)},i.getElement=function(){return this.managerRef.current},i.getRulerElement=function(){return this.ruler.canvasElement},i.getGuideScrollPos=function(){return this.scrollPos},i.getRulerScrollPos=function(){return this.ruler.getScrollPos()},i.scroll=function(e,t){void 0===t&&(t=this._zoom),this._setZoom({zoom:t}),this.ruler.scroll(e,t)},i.resize=function(e){void 0===e&&(e=this._zoom),this._setZoom({zoom:e}),this.ruler.resize(e)},i.movePos=function(e){var t=e.datas,i=e.distX,o=e.distY,n=this.props,r=n.type,s=n.snaps,a=n.snapThreshold,l=n.displayDragPos,c=n.digit,d=n.guidesOffset||0,u=this._guidesZoom,h=n.dragPosFormat||function(e){return e},p="horizontal"===r,g=calculateMatrixDist(t.matrix,[i,o]),m=t.offsetPos,f=g[0]+m[0],v=g[1]+m[1],b=d*u,_=Math.round(p?v:f)-d,y=parseFloat((_/u).toFixed(c||0)),C=s.slice().sort(function(e,t){return Math.abs(y-e)-Math.abs(y-t)});if(C.length&&Math.abs(C[0]*u-_)=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s}var PROPERTIES=PROPERTIES$1,METHODS=METHODS$1,EVENTS=EVENTS$1,InnerGuides=function(e){function t(t){var i=e.call(this,t)||this;return i.state={},i.state=i.props,i}return __extends(t,e),t.prototype.render=function(){return createElement(Guides$2,__assign({ref:ref(this,"guides")},this.state))},t}(Component$1),__assign$1=function(){return __assign$1=Object.assign||function(e){for(var t,i=1,o=arguments.length;i-1&&o.splice(n,1)}}else this._events[e]=[];else this._events={};return this},t.once=function(e,t){var i=this;return t&&this._addEvent(e,t,{once:!0}),new Promise(function(t){i._addEvent(e,t,{once:!0})})},t.emit=function(e,t){var i=this;void 0===t&&(t={});var o=this._events[e];if(!e||!o)return!0;var n=!1;return t.eventType=e,t.stop=function(){n=!0},t.currentTarget=this,__spreadArrays(o).forEach(function(o){o.listener(t),o.once&&i.off(e,o.listener)}),!n},t.trigger=function(e,t){return void 0===t&&(t={}),this.emit(e,t)},t._addEvent=function(e,t,i){var o=this._events;o[e]=o[e]||[],o[e].push(__assign$1({listener:t},i))},e}(),Guides=function(e){function t(t,i){void 0===i&&(i={});var o=e.call(this)||this;o.containerProvider=null,o.selfElement=null,o._warp=!1;var n,r={};return EVENTS.forEach(function(e){r[camelize$1("on ".concat(e))]=function(t){return o.trigger(e,t)}}),i.warpSelf?(delete i.warpSelf,o._warp=!0,n=t):(n=document.createElement("div"),t.appendChild(n)),o.containerProvider=renderSelf(createElement(InnerGuides,__assign({ref:ref(o,"innerGuides")},r,i)),n),o}__extends(t,e);var i=t.prototype;return i.setState=function(e,t){this.innerGuides.setState(e,t)},i.forceUpdate=function(e){this.innerGuides.forceUpdate(e)},i.destroy=function(){var e,t=this.selfElement;renderSelf(null,t,this.containerProvider),this._warp||null===(e=null==t?void 0:t.parentElement)||void 0===e||e.removeChild(t),this.selfElement=null,this.innerGuides=null},i.getInnerGuides=function(){return this.innerGuides.guides},t=__decorate([Properties(METHODS,function(e,t){e[t]||(e[t]=function(){for(var e=[],i=0;i(e.HORIZONTAL="horizontal",e.VERTICAL="vertical",e))(GuidesType||{}),ZIndex=(e=>(e.MASK="99999",e.SELECTED_EL="666",e.GHOST_EL="700",e.DRAG_EL="9",e.HIGHLIGHT_EL="8",e))(ZIndex||{}),MouseButton=(e=>(e[e.LEFT=0]="LEFT",e[e.MIDDLE=1]="MIDDLE",e[e.RIGHT=2]="RIGHT",e))(MouseButton||{}),Mode=(e=>(e.ABSOLUTE="absolute",e.FIXED="fixed",e.SORTABLE="sortable",e))(Mode||{});const SELECTED_CLASS="tmagic-stage-selected-area";var AbleActionEventType=(e=>(e.SELECT_PARENT="select-parent",e.REMOVE="remove",e.RERENDER="rerender",e))(AbleActionEventType||{}),ContainerHighlightType=(e=>(e.DEFAULT="default",e.ALT="alt",e))(ContainerHighlightType||{}),RenderType=(e=>(e.IFRAME="iframe",e.NATIVE="native",e))(RenderType||{}),SelectStatus=(e=>(e.SELECT="select",e.MULTI_SELECT="multiSelect",e))(SelectStatus||{}),StageDragStatus=(e=>(e.START="start",e.ING="ing",e.END="end",e))(StageDragStatus||{});const getParents=(e,t)=>{let i=e.parentElement;const o=[];for(;i&&i!==t;)o.push(i),i=i.parentElement;return o},getOffset$1=e=>{const t=e,{offsetParent:i}=t,o=t.offsetLeft||0,n=t.offsetTop||0;if(i){const e=getOffset$1(i);return{left:o+e.left,top:n+e.top}}return{left:o,top:n}},getTargetElStyle=(e,t)=>{const i=getOffset$1(e),{transform:o,border:n}=getComputedStyle(e);return`\n position: absolute;\n transform: ${o};\n left: ${i.left}px;\n top: ${i.top}px;\n width: ${e.clientWidth}px;\n height: ${e.clientHeight}px;\n border: ${n};\n opacity: 0;\n ${void 0!==t?`z-index: ${t};`:""}\n `},getAbsolutePosition=(e,{top:t,left:i})=>{const{offsetParent:o}=e;if(o){const e=getOffset$1(o);return{left:i-e.left,top:t-e.top}}return{left:i,top:t}},isAbsolute=e=>"absolute"===e.position,isRelative=e=>"relative"===e.position,isStatic=e=>"static"===e.position,isFixed=e=>"fixed"===e.position,isFixedParent=e=>{let t=!1,i=e;for(;i&&(t=isFixed(getComputedStyle(i)),!t);){const{parentElement:e}=i;if(!e||"BODY"===e.tagName)break;i=e}return t},getMode=e=>{if(isFixedParent(e))return Mode.FIXED;const t=getComputedStyle(e);return isStatic(t)||isRelative(t)?Mode.SORTABLE:Mode.ABSOLUTE},getScrollParent=(e,t=!1)=>{let i=getComputedStyle(e);const o=t?/(auto|scroll|hidden)/:/(auto|scroll)/;if(isFixed(i))return null;for(let n=e;n.parentElement;){if(n=n.parentElement,"HTML"===n.tagName)return n;if(i=getComputedStyle(n),(!isAbsolute(i)||!isStatic(i))&&o.test(i.overflow+i.overflowY+i.overflowX))return n}return null},removeSelectedClassName=e=>{const t=e.querySelector(`.${SELECTED_CLASS}`);t&&(removeClassName(t,SELECTED_CLASS),t.parentNode&&removeClassName(t.parentNode,`${SELECTED_CLASS}-parent`),e.querySelectorAll(`.${SELECTED_CLASS}-parents`).forEach(e=>{removeClassName(e,`${SELECTED_CLASS}-parents`)}))},addSelectedClassName=(e,t)=>{e.classList.add(SELECTED_CLASS),e.parentNode?.classList.add(`${SELECTED_CLASS}-parent`),getParents(e,t.body).forEach(e=>{e.classList.add(`${SELECTED_CLASS}-parents`)})},down=(e,t)=>{let i=0,o=t.clientHeight;const n=Array.from(t.parentNode?.children||[]).filter(e=>!getIdFromEl()(e)?.startsWith(GHOST_EL_ID_PREFIX)),r=n.indexOf(t),s=n.slice(r+1);for(let l=0;l-1?getIdFromEl()(s[i])||"":a}},up=(e,t)=>{const i=Array.from(t.parentNode?.children||[]).filter(e=>!getIdFromEl()(e)?.startsWith(GHOST_EL_ID_PREFIX)),o=i.indexOf(t),n=i.slice(0,o);let r=t.clientHeight,s=n.length-1;for(let l=n.length-1;l>=0;l--){const t=n[l];if(t&&"fixed"!==t.style.position){if(r+=t.clientHeight/2,-e<=r)break;r+=t.clientHeight/2,s=l}}const a=getIdFromEl()(t)||"";return{src:a,dist:n.length&&s>-1?getIdFromEl()(n[s])||"":a}},isMoveableButton=e=>e.classList.contains("moveable-button")||e.parentElement?.classList.contains("moveable-button"),getMarginValue=e=>{if(!e)return{marginLeft:0,marginTop:0};const{marginLeft:t,marginTop:i}=getComputedStyle(e);return{marginLeft:parseFloat(t)||0,marginTop:parseFloat(i)||0}},getBorderWidth=e=>{if(!e)return{borderLeftWidth:0,borderRightWidth:0,borderTopWidth:0,borderBottomWidth:0};const{borderLeftWidth:t,borderRightWidth:i,borderTopWidth:o,borderBottomWidth:n}=getComputedStyle(e);return{borderLeftWidth:parseFloat(t)||0,borderRightWidth:parseFloat(i)||0,borderTopWidth:parseFloat(o)||0,borderBottomWidth:parseFloat(n)||0}};class TargetShadow{el;els=[];idPrefix=`target_calibrate_${guid()}`;container;scrollLeft=0;scrollTop=0;zIndex;updateDragEl;constructor(e){this.container=e.container,e.updateDragEl&&(this.updateDragEl=e.updateDragEl),void 0!==e.zIndex&&(this.zIndex=e.zIndex),e.idPrefix&&(this.idPrefix=`${e.idPrefix}_${guid()}`),this.container.addEventListener("customScroll",this.scrollHandler)}update(e){return this.el=this.updateEl(e,this.el),this.el}updateGroup(e){return this.els.length>e.length&&this.els.slice(e.length-1).forEach(e=>{e.remove()}),this.els=e.map((e,t)=>this.updateEl(e,this.els[t])),this.els}destroyEl(){this.el?.remove(),this.el=void 0}destroyEls(){this.els.forEach(e=>{e.remove()}),this.els=[]}destroy(){this.container.removeEventListener("customScroll",this.scrollHandler),this.destroyEl(),this.destroyEls()}updateEl(e,t){const i=t||globalThis.document.createElement("div");setIdToEl()(i,`${this.idPrefix}_${getIdFromEl()(e)}`),i.style.cssText=getTargetElStyle(e,this.zIndex),"function"==typeof this.updateDragEl&&this.updateDragEl(i,e,this.container);const o=isFixedParent(e),n=this.container.dataset.mode||Mode.ABSOLUTE;return o&&n!==Mode.FIXED?i.style.transform=`translate3d(${this.scrollLeft}px, ${this.scrollTop}px, 0)`:o||n!==Mode.FIXED||(i.style.transform=`translate3d(${-this.scrollLeft}px, ${-this.scrollTop}px, 0)`),getElById()(globalThis.document,getIdFromEl()(i))||this.container.append(i),i}scrollHandler=e=>{this.scrollLeft=e.detail.scrollLeft,this.scrollTop=e.detail.scrollTop}}class DragResizeHelper{targetShadow;target=null;targetList=[];moveableHelper;ghostEl;frameSnapShot={left:0,top:0};framesSnapShot=[];mode=Mode.ABSOLUTE;constructor(e){this.moveableHelper=MoveableHelper.create({useBeforeRender:!0,useRender:!1,createAuto:!0}),this.targetShadow=new TargetShadow({container:e.container,updateDragEl:e.updateDragEl,zIndex:ZIndex.DRAG_EL,idPrefix:DRAG_EL_ID_PREFIX})}destroy(){this.target=null,this.targetList=[],this.targetShadow.destroy(),this.destroyGhostEl(),this.moveableHelper.clear()}destroyShadowEl(){this.targetShadow.destroyEl()}getShadowEl(){return this.targetShadow.el}updateShadowEl(e){this.destroyGhostEl(),this.target=e,this.targetShadow.update(e)}setMode(e){this.mode=e}onResizeStart(e){this.moveableHelper.onResizeStart(e),this.frameSnapShot.top=this.target.offsetTop,this.frameSnapShot.left=this.target.offsetLeft}onResize(e){const{width:t,height:i,drag:o}=e,{beforeTranslate:n}=o;if(this.mode===Mode.SORTABLE)this.target.style.top="0px",this.targetShadow.el&&(this.targetShadow.el.style.width=`${t}px`,this.targetShadow.el.style.height=`${i}px`);else{this.moveableHelper.onResize(e);const{marginLeft:t,marginTop:i}=getMarginValue(this.target);this.target.style.left=this.frameSnapShot.left+n[0]-t+"px",this.target.style.top=this.frameSnapShot.top+n[1]-i+"px"}const{borderLeftWidth:r,borderRightWidth:s,borderTopWidth:a,borderBottomWidth:l}=getBorderWidth(this.target);this.target.style.width=`${t+r+s}px`,this.target.style.height=`${i+a+l}px`}onDragStart(e){this.moveableHelper.onDragStart(e),this.mode===Mode.SORTABLE&&(this.ghostEl=this.generateGhostEl(this.target)),this.frameSnapShot.top=this.target.offsetTop,this.frameSnapShot.left=this.target.offsetLeft}onDrag(e){if(this.ghostEl)return void(this.ghostEl.style.top=`${this.frameSnapShot.top+e.beforeTranslate[1]}px`);this.moveableHelper.onDrag(e);const{marginLeft:t,marginTop:i}=getMarginValue(this.target);this.target.style.left=this.frameSnapShot.left+e.beforeTranslate[0]-t+"px",this.target.style.top=this.frameSnapShot.top+e.beforeTranslate[1]-i+"px"}onRotateStart(e){this.moveableHelper.onRotateStart(e)}onRotate(e){this.moveableHelper.onRotate(e);const t=this.moveableHelper.getFrame(e.target);this.target.style.transform=t?.toCSSObject().transform||""}onScaleStart(e){this.moveableHelper.onScaleStart(e)}onScale(e){this.moveableHelper.onScale(e);const t=this.moveableHelper.getFrame(e.target);this.target.style.transform=t?.toCSSObject().transform||""}getGhostEl(){return this.ghostEl}destroyGhostEl(){this.ghostEl?.remove(),this.ghostEl=void 0}clear(){this.moveableHelper.clear()}getFrame(e){return this.moveableHelper.getFrame(e)}getShadowEls(){return this.targetShadow.els}updateGroup(e){this.targetList=e,this.framesSnapShot=[],this.targetShadow.updateGroup(e)}setTargetList(e){this.targetList=e}clearMultiSelectStatus(){this.targetList=[],this.targetShadow.destroyEls()}onResizeGroupStart(e){const{events:t}=e;this.moveableHelper.onResizeGroupStart(e),this.setFramesSnapShot(t)}onResizeGroup(e){const{events:t}=e;this.moveableHelper.onResizeGroup(e),t.forEach(e=>{const{width:t,height:i,beforeTranslate:o}=e.drag,n=this.framesSnapShot.find(t=>t.id===getIdFromEl()(e.target)?.replace(DRAG_EL_ID_PREFIX,""));if(!n)return;const r=this.targetList.find(t=>getIdFromEl()(t)===getIdFromEl()(e.target)?.replace(DRAG_EL_ID_PREFIX,""));if(!r)return;if(!this.targetList.find(e=>getIdFromEl()(e)===getIdFromEl()(r.parentElement))){const{marginLeft:e,marginTop:t}=getMarginValue(r);r.style.left=n.left+o[0]-e+"px",r.style.top=n.top+o[1]-t+"px"}r.style.width=`${t}px`,r.style.height=`${i}px`})}onDragGroupStart(e){this.moveableHelper.onDragGroupStart(e);const{events:t}=e;this.setFramesSnapShot(t)}onDragGroup(e){this.moveableHelper.onDragGroup(e);const{events:t}=e;t.forEach(e=>{const t=this.framesSnapShot.find(t=>getIdFromEl()(e.target)?.startsWith(DRAG_EL_ID_PREFIX)&&getIdFromEl()(e.target)?.endsWith(t.id));if(!t)return;const i=this.targetList.find(t=>{const i=getIdFromEl(),o=i(e.target),n=i(t);return o?.startsWith(DRAG_EL_ID_PREFIX)&&n&&o?.endsWith(n)});if(!i)return;if(!this.targetList.find(e=>getIdFromEl()(e)===getIdFromEl()(i.parentElement))){const{marginLeft:o,marginTop:n}=getMarginValue(i);i.style.left=t.left+e.beforeTranslate[0]-o+"px",i.style.top=t.top+e.beforeTranslate[1]-n+"px"}})}getUpdatedElRect(e,t,i){const o=this.mode===Mode.SORTABLE?{left:0,top:0}:{left:e.offsetLeft,top:e.offsetTop},{marginLeft:n,marginTop:r}=getMarginValue(e);let s=calcValueByFontsize(i,o.left)-n,a=calcValueByFontsize(i,o.top)-r;const{borderLeftWidth:l,borderRightWidth:c,borderTopWidth:d,borderBottomWidth:u}=getBorderWidth(e),h=calcValueByFontsize(i,e.clientWidth+l+c),p=calcValueByFontsize(i,e.clientHeight+d+u);let g=this.getShadowEl();const m=this.getShadowEls();if(m.length&&(g=m.find(t=>getIdFromEl()(t)?.endsWith(getIdFromEl()(e)||""))),t&&this.mode===Mode.ABSOLUTE&&g){const e=g,o=e.offsetLeft||0,n=e.offsetTop||0,r=this.getFrame(g),[l,c]=r?.properties.transform.translate.value,{left:d,top:u}=getOffset$1(t);s=calcValueByFontsize(i,o)+parseFloat(l)-calcValueByFontsize(i,d),a=calcValueByFontsize(i,n)+parseFloat(c)-calcValueByFontsize(i,u)}return{width:h,height:p,left:s,top:a}}setFramesSnapShot(e){this.framesSnapShot.length>0||e.forEach(e=>{const t=this.targetList.find(t=>getIdFromEl()(e.target)?.startsWith(DRAG_EL_ID_PREFIX)&&getIdFromEl()(e.target)?.endsWith(getIdFromEl()(t)||""));if(!t)return;const i=getIdFromEl()(t);i&&this.framesSnapShot.push({left:t.offsetLeft,top:t.offsetTop,id:i})})}generateGhostEl(e){this.ghostEl&&this.destroyGhostEl();const t=document.createElement("div"),{top:i,left:o}=getAbsolutePosition(e,getOffset$1(e));return setIdToEl()(t,`${GHOST_EL_ID_PREFIX}${getIdFromEl()(e)}`),t.style.cssText=`\n z-index: ${ZIndex.GHOST_EL};\n opacity: .6;\n position: absolute;\n left: ${o}px;\n top: ${i}px;\n margin: 0;\n background: blue;\n width: ${e.clientWidth}px;\n height: ${e.clientHeight}px;\n `,e.after(t),t}}const ableCss='.moveable-button {\n width: 20px;\n height: 20px;\n background: #4af;\n border-radius: 4px;\n appearance: none;\n border: 0;\n color: white;\n font-size: 12px;\n font-weight: bold;\n margin-left: 2px;\n position: relative;\n cursor: pointer;\n}\n.moveable-remove-button:before, .moveable-remove-button:after {\n content: "";\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%) rotate(45deg);\n width: 14px;\n height: 2px;\n background: #fff;\n border-radius: 1px;\n cursor: pointer;\n}\n.moveable-remove-button:after {\n transform: translate(-50%, -50%) rotate(-45deg);\n}\n\n.moveable-select-parent-arrow-top-icon {\n transform: rotateZ(-45deg);\n width: 4px;\n height: 4px;\n border-color: #fff;\n border-width: 2px 2px 0 0;\n border-style: solid;\n position: absolute;\n left: 4px;\n top: 4px;\n}\n\n.moveable-select-parent-arrow-body-icon {\n width: 7px;\n height: 11px;\n border-color: #fff;\n border-width: 0 0 2px 2px;\n border-style: solid;\n}\n\n.moveable-drag-area-button {\n cursor: move;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon {\n width: 2px;\n height: 2px;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon-top {\n transform: rotateZ(-45deg) translateX(-50%);\n left: 50%;\n top: 3px;\n transform-origin: left;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon-bottom {\n transform: rotateZ(135deg) translateX(-50%);\n transform-origin: left;\n left: 50%;\n top: auto;\n bottom: 3px;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon-right {\n transform: rotateZ(45deg) translateY(-50%);\n transform-origin: top;\n right: 3px;\n left: auto;\n top: 50%;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-top-icon-left {\n transform: rotateZ(235deg) translateY(-50%);\n transform-origin: top;\n left: 3px;\n top: 50%;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-body-icon-horizontal {\n width: 2px;\n height: 11px;\n background-color: #fff;\n position: absolute;\n transform: translateX(-50%);\n left: 50%;\n top: 4px;\n}\n\n.moveable-drag-area-button .moveable-select-parent-arrow-body-icon-vertical {\n width: 11px;\n height: 2px;\n background-color: #fff;\n position: absolute;\n transform: translateY(-50%);\n left: 4px;\n top: 50%;;\n}\n\n.moveable-rerender-button img {\n position: absolute;\n left: 2px;\n top: 2px;\n}\n',MoveableActionsAble=(e,t=[])=>({name:"actions",props:[],always:!0,events:[],render(i,o){const n=i.getRect(),{pos2:r}=i.state,s=i.useCSS("div",`\n {\n position: absolute;\n left: 0px;\n top: 0px;\n will-change: transform;\n transform-origin: 60px 28px;\n display: flex;\n }\n ${ableCss}\n `);return o.createElement(s,{className:"moveable-editable",style:{transform:`translate(${r[0]-20*(t.length+3)}px, ${r[1]-28}px) rotate(${n.rotation}deg)`}},[...t.map(e=>{const t=e(o);return o.createElement("button",t.props||{},...t.children||[])}),o.createElement("button",{className:"moveable-button moveable-rerender-button",title:"重新收集依赖后渲染",onClick:()=>{e(AbleActionEventType.RERENDER)}},o.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb24tdGFibGVyLXJlcGxhY2UiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iI2ZmZmZmZiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMSIgLz4KICA8cmVjdCB4PSIxNSIgeT0iMTUiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIiAvPgogIDxwYXRoIGQ9Ik0yMSAxMXYtM2EyIDIgMCAwIDAgLTIgLTJoLTZsMyAzbTAgLTZsLTMgMyIgLz4KICA8cGF0aCBkPSJNMyAxM3YzYTIgMiAwIDAgMCAyIDJoNmwtMyAtM20wIDZsMyAtMyIgLz4KPC9zdmc+CgoK",width:"16",height:"16"})),o.createElement("button",{className:"moveable-button",title:"选中父组件",onClick:()=>{e(AbleActionEventType.SELECT_PARENT)}},o.createElement("div",{className:"moveable-select-parent-arrow-top-icon"}),o.createElement("div",{className:"moveable-select-parent-arrow-body-icon"})),o.createElement("button",{className:"moveable-button moveable-remove-button",title:"删除",onClick:()=>{e(AbleActionEventType.REMOVE)}}),o.createElement("button",{className:"moveable-button moveable-drag-area-button",title:"拖动"},o.createElement("div",{className:"moveable-select-parent-arrow-top-icon moveable-select-parent-arrow-top-icon-top"}),o.createElement("div",{className:"moveable-select-parent-arrow-top-icon moveable-select-parent-arrow-top-icon-bottom"}),o.createElement("div",{className:"moveable-select-parent-arrow-top-icon moveable-select-parent-arrow-top-icon-left"}),o.createElement("div",{className:" moveable-select-parent-arrow-top-icon moveable-select-parent-arrow-top-icon-right"}),o.createElement("div",{className:"moveable-select-parent-arrow-body-icon-horizontal"}),o.createElement("div",{className:"moveable-select-parent-arrow-body-icon-vertical"}))])}});class MoveableOptionsManager extends EventEmitter$3{mode=Mode.ABSOLUTE;container;options={};horizontalGuidelines=[];verticalGuidelines=[];elementGuidelines=[];customizedOptions;getRootContainer;constructor(e){super(),this.customizedOptions=e.moveableOptions,this.container=e.container,this.getRootContainer=e.getRootContainer}getOption(e){return this.options[e]}setGuidelines(e,t){e===GuidesType.HORIZONTAL?this.horizontalGuidelines=t:e===GuidesType.VERTICAL&&(this.verticalGuidelines=t),this.emit("update-moveable")}clearGuides(){this.horizontalGuidelines=[],this.verticalGuidelines=[],this.emit("update-moveable")}setElementGuidelines(e){this.elementGuidelines.forEach(e=>{e.remove()}),this.elementGuidelines=[];const t=this.getCustomizeOptions()?.elementGuidelines||Array.from(e[0]?.parentElement?.children||[]);this.mode===Mode.ABSOLUTE&&this.container.append(this.createGuidelineElements(e,t))}getOptions(e,t={}){const i=this.getDefaultOptions(e),o=this.getCustomizeOptions()||{};return this.options=merge$1(i,o,t),this.options}getDefaultOptions(e){const t=this.mode===Mode.SORTABLE,i={draggable:!0,resizable:!0,rootContainer:this.getRootContainer(),zoom:1,throttleDrag:0,snappable:!0,horizontalGuidelines:this.horizontalGuidelines,verticalGuidelines:this.verticalGuidelines,elementGuidelines:this.elementGuidelines,bounds:{top:0,left:0,right:this.container.clientWidth,bottom:t?void 0:this.container.clientHeight}},o=e?this.getMultiOptions():this.getSingleOptions();return merge$1(i,o)}getSingleOptions(){const e=this.mode===Mode.ABSOLUTE,t=this.mode===Mode.FIXED;return{origin:!1,dragArea:!1,scalable:!1,rotatable:!1,snapGap:e||t,snapThreshold:5,snapDigit:0,isDisplaySnapDigit:e,snapDirections:{top:e,right:e,bottom:e,left:e,center:e,middle:e},elementSnapDirections:{top:e,right:e,bottom:e,left:e},isDisplayInnerSnapDigit:!0,dragTarget:".moveable-drag-area-button",dragTargetSelf:!0,props:{actions:!0},ables:[MoveableActionsAble(this.actionHandler.bind(this))]}}getMultiOptions(){return{defaultGroupRotate:0,defaultGroupOrigin:"50% 50%",startDragRotate:0,throttleDragRotate:0,origin:!0,padding:{left:0,top:0,right:0,bottom:0}}}getCustomizeOptions(){return"function"==typeof this.customizedOptions?this.customizedOptions():this.customizedOptions}actionHandler(e){this.emit(e)}createGuidelineElements(e,t){const i=globalThis.document.createDocumentFragment();for(const o of t){let t=o.element||o;if(!t||"string"==typeof t)continue;if("function"==typeof t&&(t=t()),this.isInElementList(t,e))continue;const{width:n,height:r}=t.getBoundingClientRect();if(!n||!r)continue;const{left:s,top:a}=getOffset$1(t),l=globalThis.document.createElement("div");l.style.cssText=`position: absolute;width: ${n}px;height: ${r}px;top: ${a}px;left: ${s}px`,this.elementGuidelines.push(l),i.append(l)}return i}isInElementList(e,t){for(const i of t)if(e===i)return!0;return!1}}class StageDragResize extends MoveableOptionsManager{target=null;moveable;dragStatus=StageDragStatus.END;dragResizeHelper;disabledDragStart;getRenderDocument;markContainerEnd;delayedMarkContainer;constructor(e){super(e),this.getRenderDocument=e.getRenderDocument,this.markContainerEnd=e.markContainerEnd,this.delayedMarkContainer=e.delayedMarkContainer,this.disabledDragStart=e.disabledDragStart,this.dragResizeHelper=e.dragResizeHelper,this.on("update-moveable",()=>{this.moveable&&this.updateMoveable()})}getTarget(){return this.target}select(e,t){if(!e)return this.moveable?.destroy(),void(this.moveable=void 0);this.moveable&&e===this.target?this.updateMoveable(e):this.initMoveable(e),t&&!this.disabledDragStart&&this.moveable?.dragStart(t)}updateMoveable(e=this.target){if(!this.moveable)return;if(!e)throw new Error("未选中任何节点");const t=this.init(e);Object.entries(t).forEach(([e,t])=>{this.moveable[e]=t}),this.moveable.updateRect()}clearSelectStatus(){this.moveable&&(this.dragResizeHelper.destroyShadowEl(),this.moveable.target=null,this.moveable.updateRect())}getDragStatus(){return this.dragStatus}destroy(){this.target=null,this.moveable?.destroy(),this.dragResizeHelper.destroy(),this.dragStatus=StageDragStatus.END,this.removeAllListeners()}on(e,t){return super.on(e,t)}emit(e,...t){return super.emit(e,...t)}init(e){return/(auto|scroll)/.test(e.style.overflow)&&(e.style.overflow="hidden"),this.target=e,this.mode=getMode(e),this.dragResizeHelper.updateShadowEl(e),this.dragResizeHelper.setMode(this.mode),this.setElementGuidelines([this.target]),this.getOptions(!1,{target:this.dragResizeHelper.getShadowEl()})}initMoveable(e){const t=this.init(e);this.dragResizeHelper.clear(),this.moveable?.destroy(),this.moveable=new Moveable(this.container,{...t}),this.bindResizeEvent(),this.bindDragEvent(),this.bindRotateEvent(),this.bindScaleEvent()}bindResizeEvent(){if(!this.moveable)throw new Error("moveable 未初始化");this.moveable.on("resizeStart",e=>{this.target&&(this.dragStatus=StageDragStatus.START,this.dragResizeHelper.onResizeStart(e))}).on("resize",e=>{this.moveable&&this.target&&this.dragResizeHelper.getShadowEl()&&(this.dragStatus=StageDragStatus.ING,this.dragResizeHelper.onResize(e))}).on("resizeEnd",()=>{this.dragStatus=StageDragStatus.END,this.update(!0)})}bindDragEvent(){if(!this.moveable)throw new Error("moveable 未初始化");let e;this.moveable.on("dragStart",e=>{if(!this.target)throw new Error("未选中组件");this.dragStatus=StageDragStatus.START,this.dragResizeHelper.onDragStart(e),this.emit("drag-start",e)}).on("drag",t=>{this.target&&this.dragResizeHelper.getShadowEl()&&(e&&(globalThis.clearTimeout(e),e=void 0),e=this.delayedMarkContainer(t.inputEvent,[this.target]),this.dragStatus=StageDragStatus.ING,this.dragResizeHelper.onDrag(t))}).on("dragEnd",()=>{e&&(globalThis.clearTimeout(e),e=void 0);const t=this.markContainerEnd();if(this.dragStatus===StageDragStatus.ING)if(t)this.update(!1,t);else if(this.mode===Mode.SORTABLE)this.sort();else this.update();this.dragStatus=StageDragStatus.END,this.dragResizeHelper.destroyGhostEl()})}bindRotateEvent(){if(!this.moveable)throw new Error("moveable 未初始化");this.moveable.on("rotateStart",e=>{this.dragStatus=StageDragStatus.START,this.dragResizeHelper.onRotateStart(e)}).on("rotate",e=>{this.target&&this.dragResizeHelper.getShadowEl()&&(this.dragStatus=StageDragStatus.ING,this.dragResizeHelper.onRotate(e))}).on("rotateEnd",e=>{this.dragStatus=StageDragStatus.END;const t=this.dragResizeHelper?.getFrame(e.target);this.target&&t&&this.emit("update",{data:[{el:this.target,style:{transform:t.get("transform")}}],parentEl:null})})}bindScaleEvent(){if(!this.moveable)throw new Error("moveable 未初始化");this.moveable.on("scaleStart",e=>{this.dragStatus=StageDragStatus.START,this.dragResizeHelper.onScaleStart(e)}).on("scale",e=>{this.target&&this.dragResizeHelper.getShadowEl()&&(this.dragStatus=StageDragStatus.ING,this.dragResizeHelper.onScale(e))}).on("scaleEnd",e=>{this.dragStatus=StageDragStatus.END;const t=this.dragResizeHelper.getFrame(e.target);this.target&&t&&this.emit("update",{data:[{el:this.target,style:{transform:t.get("transform")}}],parentEl:null})})}sort(){if(!this.target||!this.dragResizeHelper.getGhostEl())throw new Error("未知错误");const{top:e}=this.dragResizeHelper.getGhostEl().getBoundingClientRect(),{top:t}=this.target.getBoundingClientRect(),i=e-t;if(Math.abs(i)>=this.target.clientHeight/2)i>0?this.emit("sort",down(i,this.target)):this.emit("sort",up(i,this.target));else{const e=getIdFromEl()(this.target);e&&this.emit("sort",{src:e,dist:e})}}update(e=!1,t=null){if(!this.target)return;const i=this.getRenderDocument();if(!i)return;const o=this.dragResizeHelper.getUpdatedElRect(this.target,t,i);this.emit("update",{data:[{el:this.target,style:e?o:{left:o.left,top:o.top}}],parentEl:t})}}class StageHighlight extends eventsExports.EventEmitter{container;target;moveable;targetShadow;getRootContainer;constructor(e){super(),this.container=e.container,this.getRootContainer=e.getRootContainer,this.targetShadow=new TargetShadow({container:e.container,updateDragEl:e.updateDragEl,zIndex:ZIndex.HIGHLIGHT_EL,idPrefix:HIGHLIGHT_EL_ID_PREFIX})}highlight(e){e&&e!==this.target&&(this.target=e,this.targetShadow?.update(e),this.moveable?(this.moveable.zoom=2,this.moveable.updateRect()):this.moveable=new Moveable(this.container,{target:this.targetShadow?.el,origin:!1,rootContainer:this.getRootContainer(),zoom:2}))}clearHighlight(){this.moveable&&this.target&&(this.moveable.zoom=0,this.moveable.updateRect(),this.target=void 0)}destroy(){this.target=void 0,this.moveable?.destroy(),this.targetShadow?.destroy(),this.moveable=void 0,this.targetShadow=void 0}}class StageMultiDragResize extends MoveableOptionsManager{container;targetList=[];moveableForMulti;dragStatus=StageDragStatus.END;dragResizeHelper;getRenderDocument;delayedMarkContainer;markContainerEnd;constructor(e){super({container:e.container,moveableOptions:e.moveableOptions,getRootContainer:e.getRootContainer}),this.delayedMarkContainer=e.delayedMarkContainer,this.markContainerEnd=e.markContainerEnd,this.container=e.container,this.getRenderDocument=e.getRenderDocument,this.dragResizeHelper=e.dragResizeHelper,this.on("update-moveable",()=>{this.moveableForMulti&&this.updateMoveable()})}multiSelect(e){if(0===e.length)return;let t;this.mode=getMode(e[0]),this.targetList=e,this.dragResizeHelper.updateGroup(e),this.setElementGuidelines(this.targetList),this.moveableForMulti?.destroy(),this.dragResizeHelper.clear(),this.moveableForMulti=new Moveable(this.container,this.getOptions(!0,{target:this.dragResizeHelper.getShadowEls()})),this.moveableForMulti.on("resizeGroupStart",e=>{this.dragResizeHelper.onResizeGroupStart(e),this.dragStatus=StageDragStatus.START}).on("resizeGroup",e=>{this.dragResizeHelper.onResizeGroup(e),this.dragStatus=StageDragStatus.ING}).on("resizeGroupEnd",()=>{this.update(!0),this.dragStatus=StageDragStatus.END}).on("dragGroupStart",e=>{this.dragResizeHelper.onDragGroupStart(e),this.dragStatus=StageDragStatus.START}).on("dragGroup",e=>{t&&(globalThis.clearTimeout(t),t=void 0),t=this.delayedMarkContainer(e.inputEvent,this.targetList),this.dragResizeHelper.onDragGroup(e),this.dragStatus=StageDragStatus.ING}).on("dragGroupEnd",()=>{t&&(globalThis.clearTimeout(t),t=void 0);const e=this.markContainerEnd();this.update(!1,e),this.dragStatus=StageDragStatus.END}).on("clickGroup",e=>{const{inputTarget:t,targets:i}=e;if(i.length>1&&i.includes(t)){const i=getIdFromEl()(t)?.replace(DRAG_EL_ID_PREFIX,"");i&&this.emit("change-to-select",i,e.inputEvent)}})}canSelect(e,t){const i=getMode(e);let o="";return i!==Mode.SORTABLE&&(0===this.targetList.length&&t?o=getMode(t):this.targetList.length>0&&(o=getMode(this.targetList[0])),i===o)}updateMoveable(e=this.targetList){if(!this.moveableForMulti)return;if(!e)throw new Error("未选中任何节点");this.targetList=e,this.dragResizeHelper.setTargetList(e);const t=this.getOptions(!0,{target:this.dragResizeHelper.getShadowEls()});Object.entries(t).forEach(([e,t])=>{this.moveableForMulti[e]=t}),this.moveableForMulti.updateRect()}clearSelectStatus(){this.moveableForMulti&&(this.dragResizeHelper.clearMultiSelectStatus(),this.moveableForMulti.target=null,this.moveableForMulti.updateTarget(),this.targetList=[])}destroy(){this.moveableForMulti?.destroy(),this.dragResizeHelper.destroy()}on(e,t){return super.on(e,t)}emit(e,...t){return super.emit(e,...t)}update(e=!1,t=null){if(0===this.targetList.length)return;const i=this.getRenderDocument();if(!i)return;const o=this.targetList.map(o=>{const n=this.dragResizeHelper.getUpdatedElRect(o,t,i);return{el:o,style:e?n:{left:n.left,top:n.top}}});this.emit("update",{data:o,parentEl:t})}}const throttleTime=100,defaultContainerHighlightDuration=800;class ActionManager extends EventEmitter$3{dr=null;multiDr=null;highlightLayer=null;container;selectedEl=null;selectedElList=[];highlightedEl;isMultiSelectStatus=!1;containerHighlightClassName;containerHighlightDuration;containerHighlightType;isAltKeydown=!1;getTargetElement;getElementsFromPoint;canSelect;isContainer;getRenderDocument;disabledMultiSelect=!1;config;mouseMoveHandler=throttle$2(e=>{(async()=>{if(e.target?.classList?.contains("moveable-direction"))return;const t=await this.getElementFromPoint(e),i=getIdFromEl()(t);i?(this.emit("mousemove",e),this.highlight(i)):this.clearHighlight()})()},throttleTime);constructor(e){super(),this.config=e,this.container=e.container,this.containerHighlightClassName=e.containerHighlightClassName||CONTAINER_HIGHLIGHT_CLASS_NAME,this.containerHighlightDuration=e.containerHighlightDuration||defaultContainerHighlightDuration,this.containerHighlightType=e.containerHighlightType,this.disabledMultiSelect=e.disabledMultiSelect??!1,this.getTargetElement=e.getTargetElement,this.getElementsFromPoint=e.getElementsFromPoint,this.canSelect=e.canSelect||(e=>Boolean(getIdFromEl()(e))),this.getRenderDocument=e.getRenderDocument,this.isContainer=e.isContainer,this.dr=this.createDr(e),this.disabledMultiSelect||(this.multiDr=this.createMultiDr(e)),this.highlightLayer=new StageHighlight({container:e.container,updateDragEl:e.updateDragEl,getRootContainer:e.getRootContainer}),this.initMouseEvent(),this.initKeyEvent()}disableMultiSelect(){this.disabledMultiSelect=!0,this.multiDr&&(this.multiDr.destroy(),this.multiDr=null)}enableMultiSelect(){this.disabledMultiSelect=!1,this.multiDr||(this.multiDr=this.createMultiDr(this.config))}setGuidelines(e,t){this.dr?.setGuidelines(e,t),this.multiDr?.setGuidelines(e,t)}clearGuides(){this.dr?.clearGuides(),this.multiDr?.clearGuides()}updateMoveable(e){this.dr?.updateMoveable(e),this.multiDr?.updateMoveable()}isSelectedEl(e){return getIdFromEl()(e)===getIdFromEl()(this.selectedEl)}setSelectedEl(e){this.selectedEl=e}getSelectedEl(){return this.selectedEl}getSelectedElList(){return this.selectedElList}getMoveableOption(e){return this.dr?.getTarget()?this.dr.getOption(e):this.multiDr?.targetList.length?this.multiDr.getOption(e):void 0}async getElementFromPoint(e){const t=this.getElementsFromPoint(e);this.emit("get-elements-from-point",t);let i=!1;const o=()=>i=!0;for(const n of t)if(!getIdFromEl()(n)?.startsWith(GHOST_EL_ID_PREFIX)&&await this.isElCanSelect(n,e,o)){if(i)break;return n}return null}async isElCanSelect(e,t,i){return!!(await this.canSelect(e,t,i))&&(!this.isMultiSelectStatus||this.canMultiSelect(e,i))}canMultiSelect(e,t){if(e.className.includes(PAGE_CLASS))return t(),!1;const i=this.getSelectedEl();return!!i?.className.includes(PAGE_CLASS)||(this.multiDr?.canSelect(e,i)||!1)}select(e,t){this.setSelectedEl(e),this.clearSelectStatus(SelectStatus.MULTI_SELECT),this.dr?.select(e,t)}multiSelect(e){this.selectedElList=[],e.forEach(e=>{const t=this.getTargetElement(e);t&&this.selectedElList.push(t)}),this.clearSelectStatus(SelectStatus.SELECT),this.multiDr?.multiSelect(this.selectedElList)}getHighlightEl(){return this.highlightedEl}setHighlightEl(e){this.highlightedEl=e}highlight(e){let t;try{t=this.getTargetElement(e)}catch(error){return this.clearHighlight(),void console.warn("getTargetElement error:",error)}t!==this.getSelectedEl()&&this.multiDr?.dragStatus!==StageDragStatus.ING?t!==this.highlightedEl&&t&&(this.highlightLayer?.highlight(t),this.highlightedEl=t,this.emit("highlight",t)):this.clearHighlight()}clearHighlight(){this.setHighlightEl(void 0),this.highlightLayer?.clearHighlight()}clearSelectStatus(e){e===SelectStatus.MULTI_SELECT?(this.multiDr?.clearSelectStatus(),this.selectedElList=[]):this.dr?.clearSelectStatus()}async addContainerHighlightClassName(e,t){const i=this.getRenderDocument();if(!i)return;const o=this.getElementsFromPoint(e);for(const n of o)if(!getIdFromEl()(n)?.startsWith(GHOST_EL_ID_PREFIX)&&await(this.isContainer?.(n))&&!t.includes(n)){addClassName(n,i,this.containerHighlightClassName);break}}delayedMarkContainer(e,t=[]){if(this.canAddToContainer())return globalThis.setTimeout(()=>{this.addContainerHighlightClassName(e,t)},this.containerHighlightDuration)}getDragStatus(){return this.dr?.getDragStatus()}updateMoveableOptions(){this.dr?.updateMoveable(),this.multiDr?.updateMoveable()}destroy(){this.container.removeEventListener("mousedown",this.mouseDownHandler),this.container.removeEventListener("mousemove",this.mouseMoveHandler),this.container.removeEventListener("mouseleave",this.mouseLeaveHandler),this.container.removeEventListener("wheel",this.mouseWheelHandler),this.container.removeEventListener("dblclick",this.dblclickHandler),this.selectedEl=null,this.selectedElList=[],this.dr?.destroy(),this.multiDr?.destroy(),this.highlightLayer?.destroy(),this.dr=null,this.multiDr=null,this.highlightLayer=null}on(e,t){return super.on(e,t)}emit(e,...t){return super.emit(e,...t)}createDr(e){const t=new StageDragResize({container:e.container,disabledDragStart:e.disabledDragStart,moveableOptions:e.moveableOptions&&this.changeCallback(e.moveableOptions,!1),dragResizeHelper:new DragResizeHelper({container:e.container,updateDragEl:e.updateDragEl}),getRootContainer:e.getRootContainer,getRenderDocument:e.getRenderDocument,markContainerEnd:this.markContainerEnd.bind(this),delayedMarkContainer:this.delayedMarkContainer.bind(this)});return t.on("update",e=>{setTimeout(()=>this.emit("update",e))}).on("sort",e=>{setTimeout(()=>this.emit("sort",e))}).on(AbleActionEventType.SELECT_PARENT,()=>{this.emit("select-parent")}).on(AbleActionEventType.REMOVE,()=>{const e=this.dr?.getTarget();if(!e)return;const t={data:[{el:e}]};this.emit("remove",t)}).on(AbleActionEventType.RERENDER,()=>{this.emit("rerender")}).on("drag-start",e=>{this.emit("drag-start",e)}),t}createMultiDr(e){const t=new StageMultiDragResize({container:e.container,moveableOptions:e.moveableOptions&&this.changeCallback(e.moveableOptions,!0),dragResizeHelper:new DragResizeHelper({container:e.container,updateDragEl:e.updateDragEl}),getRootContainer:e.getRootContainer,getRenderDocument:e.getRenderDocument,markContainerEnd:this.markContainerEnd.bind(this),delayedMarkContainer:this.delayedMarkContainer.bind(this)});return t?.on("update",e=>{this.emit("multi-update",e)}).on("change-to-select",(e,t)=>{this.isMultiSelectStatus||this.emit("change-to-select",e,t)}),t}changeCallback(e,t){return"function"==typeof e?()=>{if("function"==typeof e){const i={targetEl:this.selectedEl,targetElId:getIdFromEl()(this.selectedEl),targetEls:this.selectedElList,targetElIds:this.selectedElList?.map(e=>getIdFromEl()(e)||""),isMulti:t,document:this.getRenderDocument()};return e(i)}return e}:e}async beforeMultiSelect(e){const t=await this.getElementFromPoint(e);if(!t)return;this.selectedEl&&!this.selectedEl.className.includes(PAGE_CLASS)&&(this.selectedElList.push(this.selectedEl),this.setSelectedEl(null));const i=this.selectedElList.findIndex(e=>getIdFromEl()(e)===getIdFromEl()(t));-1!==i?this.selectedElList.length>1&&this.selectedElList.splice(i,1):this.selectedElList.push(t)}canAddToContainer(){return this.containerHighlightType===ContainerHighlightType.DEFAULT||this.containerHighlightType===ContainerHighlightType.ALT&&this.isAltKeydown}markContainerEnd(){const e=this.getRenderDocument();return e&&this.canAddToContainer()?removeClassNameByClassName(e,this.containerHighlightClassName):null}initMouseEvent(){this.container.addEventListener("mousedown",this.mouseDownHandler),this.container.addEventListener("mousemove",this.mouseMoveHandler),this.container.addEventListener("mouseleave",this.mouseLeaveHandler),this.container.addEventListener("wheel",this.mouseWheelHandler),this.container.addEventListener("dblclick",this.dblclickHandler)}initKeyEvent(){const{isMac:e}=new Env,t=e?"meta":"ctrl";KeyController.global.keydown(t,e=>{e.inputEvent.preventDefault(),this.disabledMultiSelect||(this.isMultiSelectStatus=!0)}),KeyController.global.on("blur",()=>{this.disabledMultiSelect||(this.isMultiSelectStatus=!1),this.isAltKeydown=!1}),KeyController.global.keyup(t,e=>{e.inputEvent.preventDefault(),this.disabledMultiSelect||(this.isMultiSelectStatus=!1)}),KeyController.global.keydown("alt",e=>{e.inputEvent.preventDefault(),this.isAltKeydown=!0}),KeyController.global.keyup("alt",e=>{e.inputEvent.preventDefault(),this.markContainerEnd(),this.isAltKeydown=!1})}mouseDownHandler=e=>{(async()=>{if(this.clearHighlight(),e.stopImmediatePropagation(),e.stopPropagation(),!this.isStopTriggerSelect(e)){if(this.container.removeEventListener("mousemove",this.mouseMoveHandler),this.isMultiSelectStatus)await this.beforeMultiSelect(e),this.selectedElList.length>0&&this.emit("before-multi-select",this.selectedElList);else{const t=await this.getElementFromPoint(e);if(!t)return;this.emit("before-select",t,e)}getDocument$1().addEventListener("mouseup",this.mouseUpHandler)}})()};isStopTriggerSelect(e){if(e.button!==MouseButton.LEFT&&e.button!==MouseButton.RIGHT)return!0;if(!e.target)return!0;const t=e.target.classList;return!(this.isMultiSelectStatus||!t.contains("moveable-area"))||!(!t.contains("moveable-control")&&!isMoveableButton(e.target))}mouseUpHandler=e=>{getDocument$1().removeEventListener("mouseup",this.mouseUpHandler),this.container.addEventListener("mousemove",this.mouseMoveHandler),this.isMultiSelectStatus?this.emit("multi-select",this.selectedElList,e):this.emit("select",this.selectedEl,e)};mouseLeaveHandler=e=>{setTimeout(()=>this.clearHighlight(),throttleTime),this.emit("mouseleave",e)};mouseWheelHandler=()=>{this.clearHighlight()};dblclickHandler=e=>{this.emit("dblclick",e)}}const guidesClass="tmagic-stage-guides";class Rule extends EventEmitter$3{hGuides;vGuides;horizontalGuidelines=[];verticalGuidelines=[];container;containerResizeObserver;isShowGuides=!0;guidesOptions;constructor(e,t){super(),t?.disabledRule||(this.guidesOptions=t?.guidesOptions||{},this.container=e,this.hGuides=this.createGuides(GuidesType.HORIZONTAL,this.horizontalGuidelines),this.vGuides=this.createGuides(GuidesType.VERTICAL,this.verticalGuidelines),this.containerResizeObserver=new ResizeObserver(()=>{this.vGuides?.resize(),this.hGuides?.resize()}),this.containerResizeObserver.observe(this.container))}showGuides(e=!0){this.isShowGuides=e,this.hGuides?.setState({showGuides:e}),this.vGuides?.setState({showGuides:e})}setGuides([e,t]){this.horizontalGuidelines=e,this.verticalGuidelines=t,this.hGuides?.setState({defaultGuides:e}),this.vGuides?.setState({defaultGuides:t}),this.emit("change-guides",{type:GuidesType.HORIZONTAL,guides:e}),this.emit("change-guides",{type:GuidesType.VERTICAL,guides:t})}clearGuides(){this.setGuides([[],[]])}showRule(e=!0){e?(this.destroyGuides(),this.hGuides=this.createGuides(GuidesType.HORIZONTAL,this.horizontalGuidelines),this.vGuides=this.createGuides(GuidesType.VERTICAL,this.verticalGuidelines)):(this.hGuides?.setState({rulerStyle:{visibility:"hidden"}}),this.vGuides?.setState({rulerStyle:{visibility:"hidden"}}))}scrollRule(e){this.hGuides?.scrollGuides(e),this.hGuides?.scroll(0),this.vGuides?.scrollGuides(0),this.vGuides?.scroll(e)}destroy(){this.destroyGuides(),this.hGuides?.off("changeGuides",this.hGuidesChangeGuidesHandler),this.vGuides?.off("changeGuides",this.vGuidesChangeGuidesHandler),this.containerResizeObserver?.disconnect(),this.removeAllListeners()}destroyGuides(){this.hGuides?.destroy(),this.vGuides?.destroy(),this.container?.querySelectorAll(`.${guidesClass}`).forEach(e=>{e.remove()}),this.hGuides=void 0,this.vGuides=void 0,this.container=void 0}getGuidesStyle=e=>({position:"fixed",zIndex:1,left:e===GuidesType.HORIZONTAL?0:"-30px",top:e===GuidesType.HORIZONTAL?"-30px":0,width:e===GuidesType.HORIZONTAL?"100%":"30px",height:e===GuidesType.HORIZONTAL?"30px":"100%"});createGuides=(e,t=[])=>{if(!this.container)return;const i=new Guides$1(this.container,{type:e,defaultGuides:t,displayDragPos:!0,className:guidesClass,backgroundColor:"#fff",lineColor:"#000",textColor:"#000",style:this.getGuidesStyle(e),showGuides:this.isShowGuides,...this.guidesOptions}),o={[GuidesType.HORIZONTAL]:this.hGuidesChangeGuidesHandler,[GuidesType.VERTICAL]:this.vGuidesChangeGuidesHandler}[e];return o&&i.on("changeGuides",o),i};hGuidesChangeGuidesHandler=e=>{this.horizontalGuidelines=e.guides,this.emit("change-guides",{type:GuidesType.HORIZONTAL,guides:this.horizontalGuidelines})};vGuidesChangeGuidesHandler=e=>{this.verticalGuidelines=e.guides,this.emit("change-guides",{type:GuidesType.VERTICAL,guides:this.verticalGuidelines})}}const wrapperClassName="editor-mask-wrapper",hideScrollbar=()=>{injectStyle$1(getDocument$1(),`.${wrapperClassName}::-webkit-scrollbar { width: 0 !important; display: none }`)},createContent=()=>createDiv({className:"editor-mask",cssText:"\n position: absolute;\n top: 0;\n left: 0;\n transform: translate3d(0, 0, 0);\n "}),createWrapper=()=>{const e=createDiv({className:wrapperClassName,cssText:`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n z-index: ${ZIndex.MASK};\n `});return hideScrollbar(),e};class StageMask extends Rule{content=createContent();wrapper;page=null;scrollTop=0;scrollLeft=0;width=0;height=0;wrapperHeight=0;wrapperWidth=0;maxScrollTop=0;maxScrollLeft=0;mode=Mode.ABSOLUTE;pageScrollParent=null;intersectionObserver=null;wrapperResizeObserver=null;constructor(e){const t=createWrapper();super(t,e),this.wrapper=t,this.content.addEventListener("wheel",this.mouseWheelHandler),this.wrapper.appendChild(this.content)}setMode(e){this.mode=e,this.scroll(),this.content.dataset.mode=e,e===Mode.FIXED?(this.content.style.width=`${this.wrapperWidth}px`,this.content.style.height=`${this.wrapperHeight}px`):(this.content.style.width=`${this.width}px`,this.content.style.height=`${this.height}px`)}observe(e){e&&(this.page=e,this.initObserverIntersection(),this.initObserverWrapper())}pageResize(e){const[t]=e,{clientHeight:i,clientWidth:o}=t.target;this.setHeight(i),this.setWidth(o),this.scroll()}observerIntersection(e){this.intersectionObserver?.observe(e)}mount(e){if(!this.content)throw new Error("content 不存在");e.appendChild(this.wrapper)}setLayout(e){this.setMode(isFixedParent(e)?Mode.FIXED:Mode.ABSOLUTE)}scrollIntoView(e){if(!this.page||e.getBoundingClientRect().left>=this.page.scrollWidth)return;const t=getScrollParent(e);t&&t!==this.pageScrollParent?this.scrollIntoView(t):(e.scrollIntoView(),this.pageScrollParent&&(this.scrollLeft=this.pageScrollParent.scrollLeft,this.scrollTop=this.pageScrollParent.scrollTop,this.scroll()))}destroy(){super.destroy(),this.content?.remove(),this.page=null,this.pageScrollParent=null,this.wrapperResizeObserver?.disconnect()}on(e,t){return super.on(e,t)}emit(e,...t){return super.emit(e,...t)}initObserverIntersection(){this.pageScrollParent=getScrollParent(this.page)||null,this.intersectionObserver?.disconnect(),"undefined"!=typeof IntersectionObserver&&(this.intersectionObserver=new IntersectionObserver(e=>{e.forEach(e=>{const{target:t,intersectionRatio:i}=e;i<=0&&this.scrollIntoView(t),this.intersectionObserver?.unobserve(t)})},{root:this.pageScrollParent,rootMargin:"0px",threshold:1}))}initObserverWrapper(){this.wrapperResizeObserver?.disconnect(),"undefined"!=typeof ResizeObserver&&(this.wrapperResizeObserver=new ResizeObserver(e=>{const[t]=e,{clientHeight:i,clientWidth:o}=t.target;this.wrapperHeight=i,this.wrapperWidth=o,this.mode===Mode.FIXED&&(this.content.style.width=`${this.wrapperWidth}px`,this.content.style.height=`${this.wrapperHeight}px`),this.setMaxScrollLeft(),this.setMaxScrollTop()}),this.wrapperResizeObserver.observe(this.wrapper))}scroll(){this.fixScrollValue();let{scrollLeft:e,scrollTop:t}=this;this.pageScrollParent&&this.pageScrollParent.scrollTo({top:t,left:e}),this.mode===Mode.FIXED&&(e=0,t=0),this.scrollRule(t),this.scrollTo(e,t)}scrollTo(e,t){this.content.style.transform=`translate3d(${-e}px, ${-t}px, 0)`;const i=new CustomEvent("customScroll",{detail:{scrollLeft:this.scrollLeft,scrollTop:this.scrollTop}});this.content.dispatchEvent(i)}setHeight(e){this.height=e,this.setMaxScrollTop(),this.mode!==Mode.FIXED&&(this.content.style.height=`${e}px`)}setWidth(e){this.width=e,this.setMaxScrollLeft(),this.mode!==Mode.FIXED&&(this.content.style.width=`${e}px`)}setMaxScrollLeft(){this.maxScrollLeft=Math.max(this.width-this.wrapperWidth,0)}setMaxScrollTop(){this.maxScrollTop=Math.max(this.height-this.wrapperHeight,0)}fixScrollValue(){this.scrollTop<0&&(this.scrollTop=0),this.scrollLeft<0&&(this.scrollLeft=0),this.maxScrollTop{if(!this.page)throw new Error("page 未初始化");const{deltaY:t,deltaX:i}=e;this.page.clientHeight0&&(this.scrollTop=this.scrollTop+t),this.maxScrollLeft>0&&(this.scrollLeft=this.scrollLeft+i),this.scroll(),this.emit("scroll",e))}}const style=".tmagic-stage-container-highlight::after {\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-color: #000;\n opacity: .1;\n pointer-events: none;\n}\n\n.magic-ui-container.magic-layout-relative {\n min-height: 50px;\n}\n";class StageRender extends eventsExports.EventEmitter{contentWindow=null;runtime=null;iframe;nativeContainer;runtimeUrl;zoom=DEFAULT_ZOOM;renderType;customizedRender;constructor({runtimeUrl:e,zoom:t,customizedRender:i,renderType:o=RenderType.IFRAME}){super(),this.renderType=o,this.runtimeUrl=e||"",this.customizedRender=i,this.setZoom(t),this.renderType===RenderType.IFRAME?this.createIframe():this.renderType===RenderType.NATIVE&&this.createNativeContainer()}getMagicApi=()=>({id:guid(),onPageElUpdate:e=>{this.emit("page-el-update",e)},onRuntimeReady:e=>{this.runtime||(this.runtime=e,globalThis.runtime=e,this.emit("runtime-ready",e))}});async add(e){const t=await this.getRuntime();return t?.add?.(e)}async remove(e){const t=await this.getRuntime();return t?.remove?.(e)}async update(e){const t=await this.getRuntime();t?.update?.(e)}async select(e){const t=await this.getRuntime();for(const i of e)await(t?.select?.(i)),this.flagSelectedEl(this.getTargetElement(i))}setZoom(e=DEFAULT_ZOOM){this.zoom=e}async mount(e){if(this.iframe){if(!isSameDomain(this.runtimeUrl)&&this.runtimeUrl){let e=await fetch(this.runtimeUrl).then(e=>e.text());const t=`${location.protocol}//${getHost(this.runtimeUrl)}`;e=e.replace("",`\n`),this.iframe.srcdoc=e}e.appendChild(this.iframe),this.postTmagicRuntimeReady()}else this.nativeContainer&&e.appendChild(this.nativeContainer)}getRuntime=()=>this.runtime?Promise.resolve(this.runtime):new Promise(e=>{const t=i=>{this.off("runtime-ready",t),e(i)};this.on("runtime-ready",t)});getDocument(){return this.contentWindow?.document}getElementsFromPoint(e){let t=e.clientX,i=e.clientY;if(this.iframe){const e=this.iframe.getClientRects()[0];e&&(t-=e.left,i-=e.top)}return this.getDocument()?.elementsFromPoint(t/this.zoom,i/this.zoom)}getTargetElement(e){return getElById()(this.getDocument(),e)}postTmagicRuntimeReady(){this.contentWindow=this.iframe?.contentWindow,this.contentWindow.magic=this.getMagicApi(),this.contentWindow.postMessage({tmagicRuntimeReady:!0},"*")}reloadIframe(e){if(this.renderType!==RenderType.IFRAME)return;const t=this.iframe?.parentElement;this.destroyIframe(),this.runtimeUrl=e,this.createIframe(),this.mount(t),this.runtime=null}destroyIframe(){this.iframe?.removeEventListener("load",this.iframeLoadHandler),this.contentWindow=null,this.iframe?.remove(),this.iframe=void 0}destroy(){this.destroyIframe(),globalThis.runtime=void 0,this.removeAllListeners()}on(e,t){return super.on(e,t)}emit(e,...t){return super.emit(e,...t)}createIframe(){return this.iframe=globalThis.document.createElement("iframe"),this.iframe.src=this.runtimeUrl&&isSameDomain(this.runtimeUrl)?this.runtimeUrl:"",this.iframe.style.cssText="\n border: 0;\n width: 100%;\n height: 100%;\n ",this.iframe.addEventListener("load",this.iframeLoadHandler),this.iframe}async createNativeContainer(){if(this.contentWindow=globalThis,this.nativeContainer=globalThis.document.createElement("div"),this.contentWindow.magic=this.getMagicApi(),this.customizedRender){const e=await this.customizedRender();e&&this.nativeContainer.appendChild(e)}}flagSelectedEl(e){const t=this.getDocument();t&&(removeSelectedClassName(t),e&&addSelectedClassName(e,t))}iframeLoadHandler=()=>{(async()=>{if(this.contentWindow?.magic||this.postTmagicRuntimeReady(),this.contentWindow){if(this.customizedRender){const e=await this.customizedRender();e&&this.contentWindow.document?.body?.appendChild(e)}this.emit("onload"),injectStyle$1(this.contentWindow.document,style)}})()}}class StageCore extends eventsExports.EventEmitter{container;renderer=null;mask=null;actionManager=null;pageResizeObserver=null;autoScrollIntoView;customizedRender;constructor(e){super(),this.autoScrollIntoView=e.autoScrollIntoView,this.customizedRender=e.render,this.renderer=new StageRender({runtimeUrl:e.runtimeUrl,zoom:e.zoom,renderType:e.renderType,customizedRender:async()=>this?.customizedRender?await this.customizedRender(this):null}),this.mask=new StageMask({guidesOptions:e.guidesOptions,disabledRule:e.disabledRule}),this.actionManager=new ActionManager(this.getActionManagerConfig(e)),this.initRenderEvent(),this.initActionEvent(),this.initMaskEvent()}async select(e,t){const i=this.renderer?.getTargetElement(e)||null;i!==this.actionManager?.getSelectedEl()&&(await(this.renderer?.select([e])),i&&this.mask?.setLayout(i),this.actionManager?.select(i,t),i&&(this.autoScrollIntoView||i.dataset.autoScrollIntoView)&&this.mask?.observerIntersection(i))}async multiSelect(e){const t=e.map(e=>this.renderer?.getTargetElement(e)).filter(e=>Boolean(e));if(0===t.length)return;const i=t[t.length-1],o=t.length{const e=this.renderer?.getTargetElement(`${t.id}`);e&&this.actionManager?.isSelectedEl(e)&&(this.mask?.setLayout(e),this.actionManager.setSelectedEl(e),this.actionManager.updateMoveable(e))})}async add(e){return await(this.renderer?.add(e))}async remove(e){return await(this.renderer?.remove(e))}setZoom(e=DEFAULT_ZOOM){this.renderer?.setZoom(e)}async mount(e){this.container=e;const{mask:t,renderer:i}=this;await(i?.mount(e)),t?.mount(e),this.emit("mounted")}clearGuides(){this.mask?.clearGuides(),this.actionManager?.clearGuides()}getAddContainerHighlightClassNameTimeout(e,t=[]){return this.delayedMarkContainer(e,t)}delayedMarkContainer(e,t=[]){return this.actionManager?.delayedMarkContainer(e,t)}getMoveableOption(e){return this.actionManager?.getMoveableOption(e)}getDragStatus(){return this.actionManager?.getDragStatus()}disableMultiSelect(){this.actionManager?.disableMultiSelect()}enableMultiSelect(){this.actionManager?.enableMultiSelect()}reloadIframe(e){this.renderer?.reloadIframe(e)}destroy(){const{mask:e,renderer:t,actionManager:i,pageResizeObserver:o}=this;t?.destroy(),e?.destroy(),i?.destroy(),o?.disconnect(),this.removeAllListeners(),this.container=void 0,this.renderer=null,this.mask=null,this.actionManager=null,this.pageResizeObserver=null}on(e,t){return super.on(e,t)}emit(e,...t){return super.emit(e,...t)}observePageResize(e){this.pageResizeObserver&&this.pageResizeObserver.disconnect(),"undefined"!=typeof ResizeObserver&&(this.pageResizeObserver=new ResizeObserver(e=>{this.mask?.pageResize(e),this.actionManager?.updateMoveable()}),this.pageResizeObserver.observe(e))}getActionManagerConfig(e){return{containerHighlightClassName:e.containerHighlightClassName,containerHighlightDuration:e.containerHighlightDuration,containerHighlightType:e.containerHighlightType,moveableOptions:e.moveableOptions,container:this.mask.content,disabledDragStart:e.disabledDragStart,disabledMultiSelect:e.disabledMultiSelect,canSelect:e.canSelect,isContainer:e.isContainer,updateDragEl:e.updateDragEl,getRootContainer:()=>this.container,getRenderDocument:()=>this.renderer.getDocument(),getTargetElement:e=>this.renderer.getTargetElement(e),getElementsFromPoint:e=>this.renderer.getElementsFromPoint(e)}}initRenderEvent(){this.renderer?.on("runtime-ready",e=>{this.emit("runtime-ready",e)}),this.renderer?.on("page-el-update",e=>{this.mask?.observe(e),this.observePageResize(e),this.emit("page-el-update",e)})}initMaskEvent(){this.mask?.on("change-guides",e=>{this.actionManager?.setGuidelines(e.type,e.guides),this.emit("change-guides",e)})}initActionEvent(){this.initActionManagerEvent(),this.initDrEvent(),this.initMulDrEvent(),this.initHighlightEvent(),this.initMouseEvent()}initActionManagerEvent(){this.actionManager?.on("before-select",(e,t)=>{const i=getIdFromEl()(e);i&&this.select(i,t)}).on("select",(e,t)=>{this.emit("select",e,t)}).on("before-multi-select",e=>{this.multiSelect(e.map(e=>getIdFromEl()(e)).filter(e=>Boolean(e)))}).on("multi-select",(e,t)=>{this.emit("multi-select",e,t)}).on("dblclick",e=>{this.emit("dblclick",e)})}initDrEvent(){this.actionManager?.on("update",e=>{this.emit("update",e)}).on("sort",e=>{this.emit("sort",e)}).on("select-parent",()=>{this.emit("select-parent")}).on("rerender",()=>{this.emit("rerender")}).on("remove",e=>{this.emit("remove",e)})}initMulDrEvent(){this.actionManager?.on("change-to-select",(e,t)=>{this.select(e),setTimeout(()=>{const i=this.renderer?.getTargetElement(e);i&&this.emit("select",i,t)})}).on("multi-update",e=>{this.emit("update",e)})}initHighlightEvent(){this.actionManager?.on("highlight",e=>{this.emit("highlight",e)})}initMouseEvent(){this.actionManager?.on("mousemove",e=>{this.emit("mousemove",e)}).on("mouseleave",e=>{this.emit("mouseleave",e)}).on("drag-start",e=>{this.emit("drag-start",e)})}}const isDate$1=e=>e instanceof Date,isEmpty$1=e=>0===Object.keys(e).length,isObject$1=e=>null!=e&&"object"==typeof e,hasOwnProperty$1=(e,...t)=>Object.prototype.hasOwnProperty.call(e,...t),isEmptyObject=e=>isObject$1(e)&&isEmpty$1(e),makeObjectWithoutPrototype=()=>Object.create(null),addedDiff=(e,t)=>e!==t&&isObject$1(e)&&isObject$1(t)?Object.keys(t).reduce((i,o)=>{if(hasOwnProperty$1(e,o)){const n=addedDiff(e[o],t[o]);return isObject$1(n)&&isEmpty$1(n)||(i[o]=n),i}return i[o]=t[o],i},makeObjectWithoutPrototype()):{},deletedDiff=(e,t)=>e!==t&&isObject$1(e)&&isObject$1(t)?Object.keys(e).reduce((i,o)=>{if(hasOwnProperty$1(t,o)){const n=deletedDiff(e[o],t[o]);return isObject$1(n)&&isEmpty$1(n)||(i[o]=n),i}return i[o]=void 0,i},makeObjectWithoutPrototype()):{},updatedDiff=(e,t)=>e===t?{}:isObject$1(e)&&isObject$1(t)?isDate$1(e)||isDate$1(t)?e.valueOf()==t.valueOf()?{}:t:Object.keys(t).reduce((i,o)=>{if(hasOwnProperty$1(e,o)){const n=updatedDiff(e[o],t[o]);return!isEmptyObject(n)||isDate$1(n)||!isEmptyObject(e[o])&&isEmptyObject(t[o])?(i[o]=n,i):i}return i},makeObjectWithoutPrototype()):t,detailedDiff=(e,t)=>({added:addedDiff(e,t),deleted:deletedDiff(e,t),updated:updatedDiff(e,t)}),_hoisted_1$10=["src"],_sfc_main$1r$1=defineComponent({name:"MEditorIcon",__name:"Icon",props:{icon:{}},setup:e=>(e,t)=>{return e.icon?"string"==typeof e.icon&&(e.icon.startsWith("http")||(i=e.icon,/^(\.|(\.\.)?\/)/.test(i)))?(openBlock(),createBlock(unref(_sfc_main$o$3),{key:1,class:"magic-editor-icon"},{default:withCtx(()=>[createBaseVNode("img",{src:e.icon},null,8,_hoisted_1$10)]),_:1})):"string"==typeof e.icon?(openBlock(),createElementBlock("i",{key:2,class:normalizeClass(["magic-editor-icon",e.icon])},null,2)):(openBlock(),createBlock(unref(_sfc_main$o$3),{key:3,class:"magic-editor-icon"},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(toRaw(e.icon))))]),_:1})):(openBlock(),createBlock(unref(_sfc_main$o$3),{key:0,class:"magic-editor-icon"},{default:withCtx(()=>[createVNode(unref(edit_default))]),_:1}));var i}});let $TMAGIC_EDITOR={};const setEditorConfig=e=>{$TMAGIC_EDITOR=e},getEditorConfig=e=>$TMAGIC_EDITOR[e];emmetHTML(monaco),emmetCSS(monaco,["css","scss"]);const _hoisted_1$$={class:normalizeClass("magic-code-editor")},_hoisted_2$n={ref:"codeEditor",class:"magic-code-editor-content"},_sfc_main$1q$1=defineComponent({name:"MEditorCodeEditor",__name:"CodeEditor",props:{initValues:{default:""},modifiedValues:{},type:{},language:{default:"javascript"},options:{default:()=>({tabSize:2})},height:{},autoSave:{type:Boolean,default:!0},parse:{type:Boolean,default:!1},disabledFullScreen:{type:Boolean,default:!1}},emits:["initd","save"],setup(e,{expose:t,emit:i}){const o=e,n=i,r=(e,t)=>{let i;return i="string"!=typeof e?"json"===t?JSON.stringify(e,null,2):serialize(e,{space:2,unsafe:!0}).replace(/"(\w+)":\s/g,"$1: "):e,"javascript"===t&&i.startsWith("{")&&i.endsWith("}")&&(i=`(${i})`),i},s=(e,t)=>"string"!=typeof e?e:"json"===t?JSON.parse(e):getEditorConfig("parseDSL")(e);let a=null,l=null;const c=ref$1(""),d=ref$1(!1),u=useTemplateRef("codeEditor"),h=new globalThis.ResizeObserver(throttle$2(()=>{a?.layout(),l?.layout()},300)),p=(e,t)=>{if(c.value=r(e,o.language.toLocaleLowerCase()),"diff"===o.type){const e=editor.createModel(c.value,"text/javascript"),i=editor.createModel(r(t,o.language),"text/javascript"),n=l?.getPosition(),s=l?.setModel({original:e,modified:i});return n&&(l?.setPosition(n),l?.focus()),s}const i=a?.getPosition(),n=a?.setValue(c.value);return i&&(a?.setPosition(i),a?.focus()),n},g=()=>("diff"===o.type?l?.getModifiedEditor().getValue():a?.getValue())||"",m=e=>{if(83===e.keyCode&&(navigator.platform.match("Mac")?e.metaKey:e.ctrlKey)){e.preventDefault(),e.stopPropagation();const t=g();c.value=t,n("save",o.parse?s(t,o.language):t)}};watch(()=>o.initValues,(e,t)=>{e!==t&&p(o.initValues,o.modifiedValues)},{deep:!0,immediate:!0}),watch(()=>o.options,e=>{a?.updateOptions(e),l?.updateOptions(e)},{deep:!0}),onMounted(async()=>{d.value=!0,await(async()=>{if(!u.value)return;0===u.value.clientHeight&&await nextTick();const e={value:c.value,language:o.language,theme:"vs-dark",...o.options};"diff"===o.type?l=getEditorConfig("customCreateMonacoDiffEditor")(monaco,u.value,e):a=getEditorConfig("customCreateMonacoEditor")(monaco,u.value,e),p(o.initValues,o.modifiedValues),n("initd",a),u.value.addEventListener("keydown",m),"diff"!==o.type&&o.autoSave&&a?.onDidBlurEditorWidget(()=>{const e=g();c.value!==e&&(c.value=e,n("save",o.parse?s(e,o.language):e))}),h.observe(u.value)})(),d.value=!1}),onBeforeUnmount(()=>{h.disconnect(),a?.dispose(),l?.dispose(),a=null,l=null}),onUnmounted(()=>{u.value?.removeEventListener("keydown",m)});const f=ref$1(!1),v=()=>{f.value=!f.value,setTimeout(()=>{a?.focus(),a?.layout(),l?.focus(),l?.layout()})};return t({values:c,getEditor:()=>a||l,getVsEditor:()=>a,getVsDiffEditor:()=>l,setEditorValue:p,getEditorValue:g,focus(){a?.focus(),l?.focus()}}),(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$$,[(openBlock(),createBlock(Teleport$1,{to:"body",disabled:!f.value},[createBaseVNode("div",{class:normalizeClass("magic-code-editor-wrapper"+(f.value?" full-screen":"")),style:normalizeStyle(!f.value&&e.height?`height: ${e.height}`:"100%")},[e.disabledFullScreen?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,class:"magic-code-editor-full-screen-icon",circle:"",size:"small",onClick:v},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(full_screen_default)},null,8,["icon"])]),_:1})),createBaseVNode("div",_hoisted_2$n,null,512)],6)],8,["disabled"]))]))}}),_sfc_main$1p$1=defineComponent({name:"MFieldsVsCode",__name:"Code",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=t,o=e=>{i("change",e)};return(e,t)=>(openBlock(),createBlock(_sfc_main$1q$1,{height:e.config.height,"init-values":e.model[e.name],language:e.config.language,options:{...e.config.options,readOnly:e.disabled},parse:e.config.parse,onSave:o},null,8,["height","init-values","language","options","parse"]))}}),_sfc_main$1o$1=defineComponent({name:"MFieldsCodeLink",__name:"CodeLink",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(t,{emit:i}){const o=t,n=i,r=computed$1(()=>{const{codeOptions:e,...t}=o.config;return{...t,text:"",type:"link",form:[{name:o.name,type:"vs-code",options:{tabSize:2,...e||{}}}]}}),s=reactive$1({form:{[o.name]:""}});watch(()=>o.model[o.name],e=>{s.form={[o.name]:serialize(e,{space:2,unsafe:!0}).replace(/"(\w+)":\s/g,"$1: ")}},{immediate:!0});const a=t=>{if(o.name&&o.model)try{const e=getEditorConfig("parseDSL");o.model[o.name]=e(`(${t[o.name]})`),n("change",o.model[o.name])}catch(e){console.error(e)}};return(e,t)=>{const i=resolveComponent("m-fields-link");return openBlock(),createBlock(i,{config:r.value,model:s,name:"form",onChange:a},null,8,["config","model"])}}}),useServices=()=>{const e=inject("services");if(!e)throw new Error("services is required");return e},_sfc_main$1n$1=defineComponent({name:"MFieldsCodeSelect",__name:"CodeSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=t,{dataSourceService:o,codeBlockService:n}=useServices(),r=e,s=computed$1(()=>({type:"group-list",name:"hookData",enableToggleMode:!1,expandAll:!0,title:(e,{model:t,index:i})=>{if(t.codeType===HookCodeType.DATA_SOURCE_METHOD){if(Array.isArray(t.codeId)){if(t.codeId.length<2)return i;const e=o.getDataSourceById(t.codeId[0]);return`${e?.title} / ${t.codeId[1]}`}return Array.isArray(t.codeId)?t.codeId.join("/"):i}return t.codeId||i},items:[{type:"row",items:[{type:"select",name:"codeType",span:6,options:[{value:HookCodeType.CODE,text:"代码块"},{value:HookCodeType.DATA_SOURCE_METHOD,text:"数据源方法"}],defaultValue:"code",onChange:(e,t,{setModel:i})=>(t===HookCodeType.DATA_SOURCE_METHOD?i("codeId",[]):i("codeId",""),t)},{type:"code-select-col",name:"codeId",span:18,labelWidth:0,display:(e,{model:t})=>t.codeType!==HookCodeType.DATA_SOURCE_METHOD,notEditable:()=>!n.getEditStatus()},{type:"data-source-method-select",name:"codeId",span:18,labelWidth:0,display:(e,{model:t})=>t.codeType===HookCodeType.DATA_SOURCE_METHOD,notEditable:()=>!o.get("editable")}]}]}));watch(()=>r.model[r.name],e=>{isEmpty$3(e)&&(r.model[r.name]={hookType:HookType.CODE,hookData:[]})},{immediate:!0});const a=(e,t)=>i("change",e,t);return(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(["m-fields-code-select",e.config.className])},[createVNode(unref(_sfc_main$F$2),null,{default:withCtx(()=>[createVNode(unref(_sfc_main$x$2),{config:s.value,size:e.size,prop:e.prop,disabled:e.disabled,lastValues:e.lastValues,model:e.model[e.name],onChange:a},null,8,["config","size","prop","disabled","lastValues","model"])]),_:1})],2))}}),arrayOptions=[{text:"包含",value:"include"},{text:"不包含",value:"not_include"}],eqOptions=[{text:"等于",value:"="},{text:"不等于",value:"!="}],numberOptions=[{text:"大于",value:">"},{text:"大于等于",value:">="},{text:"小于",value:"<"},{text:"小于等于",value:"<="},{text:"在范围内",value:"between"},{text:"不在范围内",value:"not_between"}],styleTabConfig={title:"样式",display:({services:e})=>!(e.uiService.get("showStylePanel")??1),items:[{name:"style",labelWidth:"100px",type:"style-setter",items:[{names:["display","flexDirection","justifyContent","alignItems","flexWrap","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","width","height","overflow","fontSize","lineHeight","fontWeight","color","textAlign","backgroundColor","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","position","zIndex","top","right","bottom","left","borderRadius","borderTopWidth","borderTopStyle","borderTopColor","borderRightColor","borderRightWidth","borderRightStyle","borderRightColor","borderBottomWidth","borderBottomStyle","borderBottomColor","borderLeftStyle","borderLeftWidth","borderLeftColor","borderWidth","borderStyle","borderColor"]}]}]},eventTabConfig={title:"事件",items:[{name:"events",src:"component",labelWidth:"100px",type:"event-select"}]},advancedTabConfig={title:"高级",lazy:!0,items:[{name:NODE_DISABLE_CODE_BLOCK_KEY,text:"禁用代码块",type:"switch",defaultValue:!1,extra:"开启后,配置的代码块将不会被执行"},{name:NODE_DISABLE_DATA_SOURCE_KEY,text:"禁用数据源",type:"switch",defaultValue:!1,extra:"开启后,组件内配置的数据源相关配置将不会被编译,显隐条件将失效"},{name:"created",text:"created",labelPosition:"top",type:"code-select",extra:"组件初始化时执行"},{name:"mounted",text:"mounted",labelPosition:"top",type:"code-select",extra:"组件挂载到dom时执行"},{name:"display",text:"display",extra:"控制组件是否渲染,关系的代码块返回值为false时不渲染",labelPosition:"top",type:"code-select"}]},displayTabConfig={title:"显示条件",display:(e,{model:t})=>"page"!==t.type,items:[{type:"display-conds",name:NODE_CONDS_KEY,titlePrefix:"条件组",defaultValue:[]}]},fillConfig$1=(e=[],{labelWidth:t="80px",disabledDataSource:i=!1,disabledCodeBlock:o=!1}={})=>{const n=[];e.find(e=>"type"===e.name)||n.push({text:"type",name:"type",type:"hidden"}),e.find(e=>"id"===e.name)||n.push({name:"id",text:"ID",type:"text",disabled:!0,append:{type:"button",text:"复制",handler:(e,{model:t})=>{navigator.clipboard.writeText(`${t.id}`).then(()=>{tMagicMessage.success("已复制")}).catch(()=>{tMagicMessage.error("复制失败")})}}}),e.find(e=>"name"===e.name)||n.push({name:"name",text:"组件名称"});const r=advancedTabConfig.items.filter(e=>"code-select"!==e.type);r.length>0&&o&&(advancedTabConfig.items=r);const s={type:"tab",labelWidth:t,items:[{title:"属性",items:[...n,...e]},{...styleTabConfig},{...eventTabConfig}]};return o?r.length>0&&s.items.push({...advancedTabConfig}):s.items.push({...advancedTabConfig}),i||s.items.push({...displayTabConfig}),[s]},error=(...e)=>{};var ColumnLayout=(e=>(e.LEFT="left",e.CENTER="center",e.RIGHT="right",e))(ColumnLayout||{}),SideItemKey=(e=>(e.COMPONENT_LIST="component-list",e.LAYER="layer",e.CODE_BLOCK="code-block",e.DATA_SOURCE="data-source",e))(SideItemKey||{}),LayerOffset=(e=>(e.TOP="top",e.BOTTOM="bottom",e))(LayerOffset||{}),Layout=(e=>(e.FLEX="flex",e.FIXED="fixed",e.RELATIVE="relative",e.ABSOLUTE="absolute",e))(Layout||{}),CodeDeleteErrorType=(e=>(e.UNDELETEABLE="undeleteable",e.BIND="bind",e))(CodeDeleteErrorType||{});const CODE_DRAFT_STORAGE_KEY="magicCodeDraft";var KeyBindingCommand=(e=>(e.COPY_NODE="tmagic-system-copy-node",e.PASTE_NODE="tmagic-system-paste-node",e.DELETE_NODE="tmagic-system-delete-node",e.CUT_NODE="tmagic-system-cut-node",e.UNDO="tmagic-system-undo",e.REDO="tmagic-system-redo",e.ZOOM_IN="tmagic-system-zoom-in",e.ZOOM_OUT="tmagic-system-zoom-out",e.ZOOM_RESET="tmagic-system-zoom-reset",e.ZOOM_FIT="tmagic-system-zoom-fit",e.MOVE_UP_1="tmagic-system-move-up-1",e.MOVE_DOWN_1="tmagic-system-move-down-1",e.MOVE_LEFT_1="tmagic-system-move-left-1",e.MOVE_RIGHT_1="tmagic-system-move-right-1",e.MOVE_UP_10="tmagic-system-move-up-10",e.MOVE_DOWN_10="tmagic-system-move-down-10",e.MOVE_LEFT_10="tmagic-system-move-left-10",e.MOVE_RIGHT_10="tmagic-system-move-right-10",e.SWITCH_NODE="tmagic-system-switch-node",e))(KeyBindingCommand||{}),DragType=(e=>(e.COMPONENT_LIST="component-list",e.LAYER_TREE="layer-tree",e))(DragType||{});const COPY_STORAGE_KEY="$MagicEditorCopyData",COPY_CODE_STORAGE_KEY="$MagicEditorCopyCode",COPY_DS_STORAGE_KEY="$MagicEditorCopyDataSource",getPageList=e=>e&&Array.isArray(e.items)?e.items.filter(e=>isPage(e)):[],getPageFragmentList=e=>e&&Array.isArray(e.items)?e.items.filter(e=>isPageFragment(e)):[],getPageNameList=e=>e.map(e=>e.name||"index"),generatePageName=(e,t)=>{let i=e.length;if(!i)return`${t}_index`;let o=`${t}_${i}`;for(;e.includes(o);)i+=1,o=`${t}_${i}`;return o},generatePageNameByApp=(e,t)=>generatePageName(getPageNameList("page"===t?getPageList(e):getPageFragmentList(e)),t),getNodeIndex=(e,t)=>(t?.items||[]).findIndex(t=>`${t.id}`==`${e}`),getRelativeStyle=(e={})=>({...e,position:"relative",top:0,left:0}),getMiddleTop=(e,t,i)=>{let o=e.style?.height||0;if(!i||void 0!==e.style?.top||!t.style)return e.style?.top;isNumber$3(o)||(o=0);const{height:n}=t.style;let r=n;if(i.mask&&i.renderer){const{scrollTop:e=0,wrapperHeight:n}=i.mask;r=calcValueByFontsize(i.renderer.getDocument(),n);const s=calcValueByFontsize(i.renderer.getDocument(),e);if(isPage(t))return(r-o)/2+s}return(Math.min(n,r)-o)/2},getInitPositionStyle=(e={},t)=>{if(t===Layout.ABSOLUTE){const t={...e,position:"absolute"};return void 0===t.left&&void 0===t.right&&(t.left=0),t}return t===Layout.RELATIVE?getRelativeStyle(e):e},setChildrenLayout=(e,t)=>(e.items?.forEach(e=>{setLayout(e,t)}),e),setLayout=(e,t)=>{if(isPop(e))return;const i=e.style||{};return"fixed"!==i.position?(t!==Layout.RELATIVE?i.position="absolute":(e.style=getRelativeStyle(i),e.style.right="auto",e.style.bottom="auto"),e):void 0},change2Fixed=(e,t)=>{const i=getNodePath(e.id,t.items),o={left:0,top:0};return i.forEach(e=>{o.left=o.left+globalThis.parseFloat(e.style?.left||0),o.top=o.top+globalThis.parseFloat(e.style?.top||0)}),{...e.style||{},...o}},Fixed2Other=async(e,t,i)=>{const o=getNodePath(e.id,t.items),n=o.pop(),r={left:n?.style?.left||0,top:n?.style?.top||0,right:"",bottom:""};o.forEach(e=>{r.left=r.left-globalThis.parseFloat(e.style?.left||0),r.top=r.top-globalThis.parseFloat(e.style?.top||0)});const s=e.style||{},a=o.pop();if(!a)return getRelativeStyle(s);return await i(a)!==Layout.RELATIVE?{...s,...r,position:"absolute"}:getRelativeStyle(s)},getGuideLineFromCache=t=>{if(!t)return[];const i=globalThis.localStorage.getItem(t);if(i)try{return JSON.parse(i)||[]}catch(e){console.error(e)}return[]},fixNodeLeft=(e,t,i)=>{if(!i||!e.style||!isNumber$3(e.style.left))return e.style?.left;const o=getElById()(i,`${e.id}`),n=getElById()(i,`${t.id}`),r=Number(e.style?.left)||0;if(o&&n){const e=calcValueByFontsize(i,n.offsetWidth),t=calcValueByFontsize(i,o.offsetWidth);if(t+r>e)return e-t}return e.style.left},fixNodePosition=(e,t,i)=>"absolute"!==e.style?.position?e.style:{...e.style||{},top:getMiddleTop(e,t,i),left:fixNodeLeft(e,t,i?.renderer?.contentWindow?.document)},moveItemsInContainer=(e,t,i)=>{e.sort((e,t)=>e-t);for(let o=e.length-1;o>=0;o--){const n=e[o];if(n===i)continue;const[r]=t.items.splice(n,1);t.items.splice(n=0;t--)e[t]>=i&&(e[t]+=1)}},isIncludeDataSourceByDiffAddResult=e=>{for(const t of Object.values(e)){if(isValueIncludeDataSource(t))return!0;if(isObject$5(t))return isIncludeDataSourceByDiffAddResult(t)}return!1},isIncludeDataSourceByDiffUpdatedResult=(e,t)=>{for(const[i,o]of Object.entries(e)){if(isValueIncludeDataSource(o))return!0;if(isValueIncludeDataSource(t[i]))return!0;if(isObject$5(o))return isIncludeDataSourceByDiffUpdatedResult(o,t[i])}return!1},isIncludeDataSource=(e,t)=>{const i=detailedDiff(t,e);let o=!1;if(i.updated){if(i.updated[NODE_CONDS_KEY])return!0;if(o=isIncludeDataSourceByDiffUpdatedResult(i.updated,t),o)return!0}if(i.added&&(o=isIncludeDataSourceByDiffAddResult(i.added),o))return!0;if(i.deleted){if(i.deleted[NODE_CONDS_KEY])return!0;if(o=isIncludeDataSourceByDiffAddResult(i.deleted),o)return!0}return o},compose$1=(e,t)=>{if(!Array.isArray(e))throw new TypeError("Middleware 必须是一个数组!");for(const i of e)if("function"!=typeof i)throw new TypeError("Middleware 必须由函数组成!");return(i,o)=>{let n=-1;return function r(s){if(s<=n){const e=new Error("next() 被多次调用");if(t)return Promise.reject(e);throw e}n=s;let a=e[s];s===e.length&&o&&(a=o);if(!a)return t?Promise.resolve():void 0;if(t)try{return Promise.resolve(a(...i,r.bind(null,s+1)))}catch(l){return Promise.reject(l)}try{return a(...i,r.bind(null,s+1))}catch(l){throw l}}(0)}},methodName=(e,t)=>`${e}${t[0].toUpperCase()}${t.substring(1)}`,isError=e=>"[object Error]"===Object.prototype.toString.call(e),doAction=(e,t,i,o,n,r)=>{try{let s=e;for(const e of t.pluginOptionsList[o]){if(s=e(...s)||[],isError(s))throw s;Array.isArray(s)||(s=[s])}let a=r(s,i.bind(t));for(const e of t.pluginOptionsList[n])if(a=e(a,...s),isError(a))throw a;return a}catch(s){throw s}},doAsyncAction=async(e,t,i,o,n,r)=>{try{let s=e;for(const e of t.pluginOptionsList[o]){if(s=await e(...s)||[],isError(s))throw s;Array.isArray(s)||(s=[s])}let a=await r(s,i.bind(t));for(const e of t.pluginOptionsList[n])if(a=await e(a,...s),isError(a))throw a;return a}catch(s){throw s}};class BaseService extends eventsExports.EventEmitter{pluginOptionsList={};middleware={};taskList=[];doingTask=!1;constructor(t=[],i=[]){super(),t.forEach(({name:t,isAsync:o})=>{const n=this,r=n[t],s=methodName("before",t),a=methodName("after",t);this.pluginOptionsList[s]=[],this.pluginOptionsList[a]=[],this.middleware[t]=[];const l=compose$1(this.middleware[t],o);Object.defineProperty(n,t,{value:o?async(...o)=>{if(!i.includes(t))return doAsyncAction(o,n,r,s,a,l);const c=new Promise((t,i)=>{this.taskList.push(async()=>{try{const e=await doAsyncAction(o,n,r,s,a,l);t(e)}catch(e){i(e)}})});return this.doingTask||this.doTask(),c}:(...e)=>doAction(e,n,r,s,a,l)})})}use(e){for(const[t,i]of Object.entries(e))"function"==typeof i&&this.middleware[t].push(i)}usePlugin(e){for(const[t,i]of Object.entries(e))"function"!=typeof i||this.pluginOptionsList[t].includes(i)||this.pluginOptionsList[t].push(i)}removePlugin(e){for(const[t,i]of Object.entries(e))Array.isArray(this.pluginOptionsList[t])&&(this.pluginOptionsList[t]=this.pluginOptionsList[t].filter(e=>e!==i))}removeAllPlugins(){for(const e of Object.keys(this.pluginOptionsList))this.pluginOptionsList[e]=[];for(const e of Object.keys(this.middleware))this.middleware[e]=[]}async doTask(){this.doingTask=!0;let e=this.taskList.shift();for(;e;)await e(),e=this.taskList.shift();this.doingTask=!1}}const canUsePluginMethods$7={async:["setPropsConfig","getPropsConfig","setPropsValue","getPropsValue","fillConfig","getDefaultPropsValue"],sync:["createId","setNewItemId"]};class Props extends BaseService{state=reactive$1({propsConfigMap:{},propsValueMap:{},relateIdMap:{},disabledDataSource:!1,disabledCodeBlock:!1});constructor(){super([...canUsePluginMethods$7.async.map(e=>({name:e,isAsync:!0})),...canUsePluginMethods$7.sync.map(e=>({name:e,isAsync:!1}))])}setDisabledDataSource(e){this.state.disabledDataSource=e}setDisabledCodeBlock(e){this.state.disabledCodeBlock=e}getDisabledDataSource(){return this.state.disabledDataSource}getDisabledCodeBlock(){return this.state.disabledCodeBlock}setPropsConfigs(e){Object.keys(e).forEach(t=>{this.setPropsConfig(toLine(t),e[t])}),this.emit("props-configs-change")}async fillConfig(e,t){return fillConfig$1(e,{labelWidth:"function"!=typeof t?t:"80px",disabledDataSource:this.getDisabledDataSource(),disabledCodeBlock:this.getDisabledCodeBlock()})}async setPropsConfig(e,t){let i=t;"function"==typeof t&&(i=t({editorService:editorService})),this.state.propsConfigMap[toLine(e)]=await this.fillConfig(Array.isArray(i)?i:[i])}async getPropsConfig(e){return"area"===e?await this.getPropsConfig("button"):cloneDeep(this.state.propsConfigMap[toLine(e)]||await this.fillConfig([]))}setPropsValues(e){Object.keys(e).forEach(t=>{this.setPropsValue(toLine(t),e[t])})}async setPropsValue(e,t){let i=t;"function"==typeof t&&(i=t({editorService:editorService})),this.state.propsValueMap[toLine(e)]=i}async getPropsValue(e,{inputEvent:t,...i}={}){const o=toLine(e);if("area"===o){const e=await this.getPropsValue("button");return e.className="action-area",e.text="",e.style&&(e.style.backgroundColor="rgba(255, 255, 255, 0)"),e}const n=this.createId(o),r=this.getDefaultPropsValue(o),s=this.setNewItemId(cloneDeep({type:o,...i}));return{id:n,...r,...mergeWith({},cloneDeep(this.state.propsValueMap[o]||{}),s)}}createId(e){return`${e}_${guid()}`}setNewItemId(e,t=!0){if(t||editorService.getNodeById(e.id)){const t=this.createId(e.type||"component");this.setRelateId(e.id,t),e.id=t}if(e.items&&Array.isArray(e.items))for(const i of e.items)this.setNewItemId(i);return e}getDefaultPropsValue(e){return["page","container"].includes(e)?{type:e,layout:"absolute",style:{},name:e,items:[]}:{type:e,style:{},name:e}}resetState(){this.state.propsConfigMap={},this.state.propsValueMap={}}replaceRelateId(e,t,i){const o=this.getRelateIdMap();if(0===Object.keys(o).length)return;const n=new Target({...i}),r=new Watcher;r.addTarget(n),r.collect(e,{},!0,i.type),e.forEach(e=>{const r=o[e.id],s=getNodePath(r,t),a=s[s.length-1];a&&(n.deps[e.id]?.keys?.forEach(t=>{const i=getValueByKeyPath(t,e),n=o[i];n&&setValueByKeyPath(t,n,a)}),e.items&&Array.isArray(e.items)&&this.replaceRelateId(e.items,t,i))})}clearRelateId(){this.state.relateIdMap={}}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}usePlugin(e){super.usePlugin(e)}getRelateIdMap(){return this.state.relateIdMap}setRelateId(e,t){this.state.relateIdMap[e]=t}}const propsService=new Props;class UndoRedo{elementList;listCursor;listMaxSize;constructor(e=20){this.elementList=[],this.listCursor=0,this.listMaxSize=e>2?e:2}pushElement(e){this.elementList.splice(this.listCursor,this.elementList.length-this.listCursor,cloneDeep(e)),this.listCursor+=1,this.elementList.length>this.listMaxSize&&(this.elementList.shift(),this.listCursor-=1)}canUndo(){return this.listCursor>1}undo(){return this.canUndo()?(this.listCursor-=1,this.getCurrentElement()):null}canRedo(){return this.elementList.length>this.listCursor}redo(){return this.canRedo()?(this.listCursor+=1,this.getCurrentElement()):null}getCurrentElement(){return this.listCursor<1?null:cloneDeep(this.elementList[this.listCursor-1])}}class History extends BaseService{state=reactive$1({pageSteps:{},pageId:void 0,canRedo:!1,canUndo:!1});constructor(){super([]),this.on("change",this.setCanUndoRedo)}reset(){this.state.pageSteps={},this.resetPage()}resetPage(){this.state.pageId=void 0,this.state.canRedo=!1,this.state.canUndo=!1}changePage(e){if(e){if(this.state.pageId=e.id,!this.state.pageSteps[this.state.pageId]){const t=new UndoRedo;t.pushElement({data:e,modifiedNodeIds:new Map,nodeId:e.id}),this.state.pageSteps[this.state.pageId]=t}this.setCanUndoRedo(),this.emit("page-change",this.state.pageSteps[this.state.pageId])}}resetState(){this.state.pageId=void 0,this.state.pageSteps={},this.state.canRedo=!1,this.state.canUndo=!1}push(e){const t=this.getUndoRedo();return t?(t.pushElement(e),this.emit("change",e),e):null}undo(){const e=this.getUndoRedo();if(!e)return null;const t=e.undo();return this.emit("change",t),t}redo(){const e=this.getUndoRedo();if(!e)return null;const t=e.redo();return this.emit("change",t),t}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}getUndoRedo(){return this.state.pageId?this.state.pageSteps[this.state.pageId]:null}setCanUndoRedo(){const e=this.getUndoRedo();this.state.canRedo=e?.canRedo()||!1,this.state.canUndo=e?.canUndo()||!1}}const historyService=new History;var Protocol=(e=>(e.OBJECT="object",e.JSON="json",e.STRING="string",e.NUMBER="number",e.BOOLEAN="boolean",e))(Protocol||{});const canUsePluginMethods$6={sync:["getStorage","getNamespace","clear","getItem","removeItem","setItem"]};class WebStorage extends BaseService{storage=globalThis.localStorage;namespace="tmagic";constructor(){super(canUsePluginMethods$6.sync.map(e=>({name:e,isAsync:!1})))}getStorage(){return this.storage}getNamespace(){return this.namespace}clear(){this.getStorage().clear()}getItem(e,t={}){const i=this.getStorage(),o=this.getNamespace(),{protocol:n=t.protocol,item:r}=this.getValueAndProtocol(i.getItem(`${t.namespace||o}:${e}`));if(null===r)return null;switch(n){case"object":return getEditorConfig("parseDSL")(`(${r})`);case"json":return JSON.parse(r);case"number":return Number(r);case"boolean":if("true"===r)return!0;if("false"===r)return!1;default:return r}}key(e){return this.getStorage().key(e)}removeItem(e,t={}){const i=this.getStorage(),o=this.getNamespace();i.removeItem(`${t.namespace||o}:${e}`)}setItem(e,t,i={}){const o=this.getStorage(),n=this.getNamespace();let r=t;const s=i.protocol?`${i.protocol}:`:"";r="string"==typeof t||"number"==typeof t?`${s}${t}`:`${s}${serialize(t)}`,o.setItem(`${i.namespace||n}:${e}`,r)}destroy(){this.removeAllListeners(),this.removeAllPlugins()}usePlugin(e){super.usePlugin(e)}getValueAndProtocol(e){let t="";if(null===e)return{item:e,protocol:t};const i=e.replace(new RegExp(`^(${Object.values(Protocol).join("|")})(:)(.+)`),(e,i,o,n)=>(t=i,n));return{protocol:t,item:i}}}const storageService=new WebStorage,canUsePluginMethods$5={async:["getLayout","highlight","select","multiSelect","doAdd","add","doRemove","remove","doUpdate","update","sort","copy","paste","doPaste","doAlignCenter","alignCenter","moveLayer","moveToContainer","dragTo","undo","redo","move"]};class Editor extends BaseService{state=reactive$1({root:null,page:null,parent:null,node:null,nodes:[],stage:null,stageLoading:!0,highlightNode:null,modifiedNodeIds:new Map,pageLength:0,pageFragmentLength:0,disabledMultiSelect:!1});isHistoryStateChange=!1;constructor(){super(canUsePluginMethods$5.async.map(e=>({name:e,isAsync:!0})),["select","update","moveLayer"])}set(e,t){const i=this.state[e];if(this.state[e]=t,"nodes"===e&&Array.isArray(t)&&this.set("node",t[0]),"root"===e){if(Array.isArray(t))throw new Error("root 不能为数组");if(t&&isObject$5(t)){const e=t;this.state.pageLength=getPageList(e).length||0,this.state.pageFragmentLength=getPageFragmentList(e).length||0,this.state.stageLoading=0!==this.state.pageLength}else this.state.pageLength=0,this.state.pageFragmentLength=0,this.state.stageLoading=!1;this.emit("root-change",t,i)}}get(e){return this.state[e]}getNodeInfo(e,t=!0){let i=this.get("root");return t&&(i=toRaw(i)),getNodeInfo(e,i)}getNodeById(e,t=!0){const{node:i}=this.getNodeInfo(e,t);return i}getParentById(e,t=!0){const{parent:i}=this.getNodeInfo(e,t);return i}async getLayout(e,t){return t&&"function"!=typeof t&&isFixed(t.style||{})?Layout.FIXED:e.layout?e.layout:e.style?.position?Layout.ABSOLUTE:Layout.RELATIVE}async select(e){const{node:t,page:i,parent:o}=this.selectedConfigExceptionHandler(e);return this.set("nodes",t?[t]:[]),this.set("page",i),this.set("parent",o),i?historyService.changePage(toRaw(i)):historyService.resetState(),t?.id&&this.get("stage")?.renderer?.runtime?.getApp?.()?.page?.emit("editor:select",{node:t,page:i,parent:o},getNodePath(t.id,this.get("root")?.items)),this.emit("select",t),t}async selectNextNode(){const e=toRaw(this.get("node"));if(!e||isPage(e)||e.type===NodeType.ROOT)return e;const t=toRaw(this.getParentById(e.id));if(!t)return e;const i=getNodeIndex(e.id,t),o=t.items[i+1]||t.items[0];return await this.select(o),this.get("stage")?.select(o.id),o}async selectNextPage(){const e=toRaw(this.get("root")),t=toRaw(this.get("page"));if(!t)throw new Error("page不能为空");if(!e)throw new Error("root不能为空");const i=getNodeIndex(t.id,e),o=e.items[i+1]||e.items[0];return await this.select(o),this.get("stage")?.select(o.id),o}highlight(e){const{node:t}=this.selectedConfigExceptionHandler(e);this.get("highlightNode")!==t&&this.set("highlightNode",t)}multiSelect(e){const t=[];uniq(e).forEach(e=>{const{node:i}=this.getNodeInfo(e);i&&t.push(i)}),this.set("nodes",t)}selectRoot(){const e=this.get("root");e&&(this.set("nodes",[e]),this.set("parent",null),this.set("page",null),this.set("stage",null),this.set("highlightNode",null))}async doAdd(e,t){const i=this.get("root");if(!i)throw new Error("root为空");const o=this.get("node"),n=this.get("stage");if(!o)throw new Error("当前选中节点为空");if(!(t.type!==NodeType.ROOT&&o?.type!==NodeType.ROOT||isPage(e)||isPageFragment(e)))throw new Error("app下不能添加组件");if(t.id===o.id||isPage(e)||isPageFragment(e))t.items?.push(e);else{const i=t.items.indexOf(o);t.items?.splice(i+1,0,e)}const r=await this.getLayout(toRaw(t),e);e.style=getInitPositionStyle(e.style,r),await(n?.add({config:cloneDeep(e),parent:cloneDeep(t),parentId:t.id,root:cloneDeep(i)}));const s=fixNodePosition(e,t,n);return!s||s.top===e.style.top&&s.left===e.style.left||(e.style=s,await(n?.update({config:cloneDeep(e),parentId:t.id,root:cloneDeep(i)}))),this.addModifiedNodeId(e.id),e}async add(e,t){const i=this.get("stage"),o=[];if(Array.isArray(e))o.push(...e);else{const{type:t,inputEvent:i,...n}=e;if(!t)throw new Error("组件类型不能为空");o.push({...toRaw(await propsService.getPropsValue(t,n))})}const n=await Promise.all(o.map(e=>{const i=this.get("root");if((isPage(e)||isPageFragment(e))&&i)return this.doAdd(e,i);const o=t&&"function"!=typeof t?t:getAddParent(e);if(!o)throw new Error("未找到父元素");return this.doAdd(e,o)}));if(n.length>1){const e=n.map(e=>e.id);i?.multiSelect(e),await this.multiSelect(e)}else await this.select(n[0]),isPage(n[0])?this.state.pageLength+=1:isPageFragment(n[0])?this.state.pageFragmentLength+=1:i?.select(n[0].id);return isPage(n[0])||isPageFragment(n[0])||this.pushHistoryState(),this.emit("add",n),Array.isArray(e)?n:n[0]}async doRemove(e){const t=this.get("root");if(!t)throw new Error("root不能为空");const{parent:i,node:o}=this.getNodeInfo(e.id,!1);if(!i||!o)throw new Error("找不要删除的节点");const n=getNodeIndex(o.id,i);if("number"!=typeof n||-1===n)throw new Error("找不要删除的节点");i.items?.splice(n,1);const r=this.get("stage");r?.remove({id:e.id,parentId:i.id,root:cloneDeep(t)});const s=async e=>{e[0]?(await this.select(e[0]),r?.select(e[0].id)):(this.selectRoot(),historyService.resetPage())},a=t.items||[];isPage(e)?(this.state.pageLength-=1,await s(a)):isPageFragment(e)?(this.state.pageFragmentLength-=1,await s(a)):(await this.select(i),r?.select(i.id),this.addModifiedNodeId(i.id)),a.length||(this.resetModifiedNodeId(),historyService.reset())}async remove(e){const t=Array.isArray(e)?e:[e];await Promise.all(t.map(e=>this.doRemove(e))),isPage(t[0])||isPageFragment(t[0])||this.pushHistoryState(),this.emit("remove",t)}async doUpdate(e,{changeRecords:t=[]}={}){const i=this.get("root");if(!i)throw new Error("root为空");if(!e?.id)throw new Error("没有配置或者配置缺少id值");const o=this.getNodeInfo(e.id,!1);if(!o.node)throw new Error(`获取不到id为${e.id}的节点`);const n=toRaw(o.node);let r=await this.toggleFixedPosition(toRaw(e),n,i);if(r=mergeWith(cloneDeep(n),r,(e,t,i,o,n)=>void 0===t&&Object.hasOwn(n,i)?"":isObject$5(t)&&Array.isArray(e)||Array.isArray(t)?t:void 0),!r.type)throw new Error("配置缺少type值");if(r.type===NodeType.ROOT)return this.set("root",r),{oldNode:n,newNode:r,changeRecords:t};const{parent:s}=o;if(!s)throw new Error("获取不到父级节点");const a=s.items,l=getNodeIndex(r.id,s);if(!a||void 0===l||-1===l)throw new Error("更新的节点未找到");const c=await this.getLayout(r),d=await this.getLayout(n);Array.isArray(r.items)&&c!==d&&(r=setChildrenLayout(r,c)),a[l]=r;const u=this.get("nodes"),h=u.findIndex(e=>`${e.id}`==`${r.id}`);return u.splice(h,1,r),this.set("nodes",[...u]),(isPage(r)||isPageFragment(r))&&this.set("page",r),this.addModifiedNodeId(r.id),{oldNode:n,newNode:r,changeRecords:t}}async update(e,t={}){const i=Array.isArray(e)?e:[e],o=await Promise.all(i.map(e=>this.doUpdate(e,t)));return o[0].oldNode?.type!==NodeType.ROOT&&this.pushHistoryState(),this.emit("update",o),Array.isArray(e)?o.map(e=>e.newNode):o[0].newNode}async sort(e,t){const i=this.get("root");if(!i)throw new Error("root为空");const o=this.get("node");if(!o)throw new Error("当前节点为空");const n=cloneDeep(toRaw(this.get("parent")));if(!n)throw new Error("父节点为空");const r=n.items.findIndex(e=>`${e.id}`==`${t}`);if(r<0)return;const s=n.items.findIndex(t=>`${t.id}`==`${e}`);n.items.splice(r,0,...n.items.splice(s,1)),await this.update(n),await this.select(o),this.get("stage")?.update({config:cloneDeep(o),parentId:n.id,root:cloneDeep(i)}),this.addModifiedNodeId(n.id),this.pushHistoryState()}copy(e){storageService.setItem(COPY_STORAGE_KEY,Array.isArray(e)?e:[e],{protocol:Protocol.OBJECT})}copyWithRelated(e,t){const i=Array.isArray(e)?e:[e];if(t&&"function"==typeof t.isTarget){const e=new Target({...t}),o=new Watcher;o.addTarget(e),o.collect(i,{},!0,t.type),Object.keys(e.deps).forEach(t=>{const o=this.getNodeById(t);o&&e.deps[t].keys.forEach(e=>{const t=get(o,e);if(!i.find(e=>e.id===t)){const e=this.getNodeById(t);e&&i.push(e)}})})}storageService.setItem(COPY_STORAGE_KEY,i,{protocol:Protocol.OBJECT})}async paste(e={},t){const i=storageService.getItem(COPY_STORAGE_KEY);if(!Array.isArray(i))return;const o=this.get("node");let n=null;1===i.length&&i[0].id===o?.id&&(n=this.get("parent"),n?.type===NodeType.ROOT&&(n=this.get("page")));const r=await this.doPaste(i,e);return t&&"function"==typeof t.isTarget&&propsService.replaceRelateId(i,r,t),this.add(r,n)}async doPaste(e,t={}){propsService.clearRelateId();const i=this.get("stage")?.renderer?.contentWindow?.document;return beforePaste(t,cloneDeep(e),i)}async doAlignCenter(e){const t=this.getParentById(e.id);if(!t)throw new Error("找不到父节点");const i=cloneDeep(toRaw(e)),o=await this.getLayout(t,i);if(o===Layout.RELATIVE)return e;if(!i.style)return e;const n=this.get("stage"),r=n?.renderer?.contentWindow?.document;if(r){const e=getElById()(r,i.id),t=o===Layout.FIXED?r.body:e?.offsetParent;t&&e&&(i.style.left=calcValueByFontsize(r,(t.clientWidth-e.clientWidth)/2),i.style.right="")}else t.style&&isNumber$3(t.style?.width)&&isNumber$3(i.style?.width)&&(i.style.left=(t.style.width-i.style.width)/2,i.style.right="");return i}async alignCenter(e){const t=Array.isArray(e)?e:[e],i=this.get("stage"),o=await Promise.all(t.map(e=>this.doAlignCenter(e))),n=await this.update(o);return o.length>1?await(i?.multiSelect(o.map(e=>e.id))):await(i?.select(o[0].id)),n}async moveLayer(e){const t=this.get("root");if(!t)throw new Error("root为空");const i=this.get("parent");if(!i)throw new Error("父节点为空");const o=this.get("node");if(!o)throw new Error("当前节点为空");const n=i.items||[],r=n.findIndex(e=>`${e.id}`==`${o?.id}`),s=await this.getLayout(i,o)===Layout.RELATIVE;let a;if(a=e===LayerOffset.TOP?s?0:n.length:e===LayerOffset.BOTTOM?s?n.length:0:r+(s?-e:e),a>0&&a>n.length||a<0)return;n.splice(r,1),n.splice(a,0,o);const l=this.getParentById(i.id);this.get("stage")?.update({config:cloneDeep(toRaw(i)),parentId:l?.id,root:cloneDeep(t)}),this.addModifiedNodeId(i.id),this.pushHistoryState(),this.emit("move-layer",e)}async moveToContainer(e,t){const i=this.get("root"),{node:o,parent:n}=this.getNodeInfo(e.id,!1),r=this.getNodeById(t,!1),s=this.get("stage");if(i&&o&&n&&s){const a=getNodeIndex(o.id,n);n.items?.splice(a,1),await s.remove({id:o.id,parentId:n.id,root:cloneDeep(i)});const l=await this.getLayout(r),c=mergeWith(cloneDeep(o),e,(e,t)=>{if(Array.isArray(t))return t});c.style=getInitPositionStyle(c.style,l),r.items.push(c),await s.select(t);const d=this.getParentById(r.id);return await s.update({config:cloneDeep(r),parentId:d?.id,root:cloneDeep(i)}),await this.select(c),s.select(c.id),this.addModifiedNodeId(r.id),this.addModifiedNodeId(n.id),this.pushHistoryState(),c}}async dragTo(e,t,i){if(!t||!Array.isArray(t.items))return;const o=Array.isArray(e)?e:[e],n=[],r=[],s=await this.getLayout(t);e:for(const d of o){const{parent:e,node:i}=this.getNodeInfo(d.id,!1);if(!e||!i)continue;const o=getNodePath(i.id,e.items);for(const n of o)if(t.id===n.id)continue e;const a=getNodeIndex(i.id,e);if(e.id===t.id){if("number"!=typeof a||-1===a)return;n.push(a)}else{s!==await this.getLayout(e)&&setLayout(d,s),e.items?.splice(a,1),r.push(d),this.addModifiedNodeId(e.id)}}moveItemsInContainer(n,t,i),r.forEach((e,o)=>{t.items?.splice(i+o,0,e),this.addModifiedNodeId(e.id)});const a=this.get("page"),l=this.get("root"),c=this.get("stage");c&&a&&l&&c.update({config:cloneDeep(a),parentId:l.id,root:cloneDeep(l)}),this.pushHistoryState(),this.emit("drag-to",{targetIndex:i,configs:o,targetParent:t})}async undo(){const e=historyService.undo();return await this.changeHistoryState(e),e}async redo(){const e=historyService.redo();return await this.changeHistoryState(e),e}async move(e,t){const i=toRaw(this.get("node"));if(!i||isPage(i))return;const{style:o,id:n,type:r}=i;if(!o||!["absolute","fixed"].includes(o.position))return;const s=e=>this.update({id:n,type:r,style:e});t&&(isNumber$3(o.top)?s({...o,top:Number(o.top)+Number(t),bottom:""}):isNumber$3(o.bottom)&&s({...o,bottom:Number(o.bottom)-Number(t),top:""})),e&&(isNumber$3(o.left)?s({...o,left:Number(o.left)+Number(e),right:""}):isNumber$3(o.right)&&s({...o,right:Number(o.right)-Number(e),left:""}))}resetState(){this.set("root",null),this.set("node",null),this.set("nodes",[]),this.set("page",null),this.set("parent",null),this.set("stage",null),this.set("highlightNode",null),this.set("modifiedNodeIds",new Map),this.set("pageLength",0)}destroy(){this.removeAllListeners(),this.resetState(),this.removeAllPlugins()}resetModifiedNodeId(){this.get("modifiedNodeIds").clear()}usePlugin(e){super.usePlugin(e)}on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}emit(e,...t){return super.emit(e,...t)}addModifiedNodeId(e){this.isHistoryStateChange||this.get("modifiedNodeIds").set(e,e)}pushHistoryState(){const e=cloneDeep(toRaw(this.get("node"))),t=this.get("page");!this.isHistoryStateChange&&e&&t&&historyService.push({data:cloneDeep(toRaw(t)),modifiedNodeIds:this.get("modifiedNodeIds"),nodeId:e.id}),this.isHistoryStateChange=!1}async changeHistoryState(e){e&&(this.isHistoryStateChange=!0,await this.update(e.data),this.set("modifiedNodeIds",e.modifiedNodeIds),setTimeout(()=>{e.nodeId&&this.select(e.nodeId).then(()=>{this.get("stage")?.select(e.nodeId)})},0),this.emit("history-change",e.data))}async toggleFixedPosition(e,t,i){const o=cloneDeep(e);return!isPop(t)&&o.style?.position&&(isFixed(o.style)&&!isFixed(t.style||{})?o.style=change2Fixed(o,i):!isFixed(o.style)&&isFixed(t.style||{})&&(o.style=await Fixed2Other(o,i,this.getLayout))),o}selectedConfigExceptionHandler(e){let t;if(t="string"==typeof e||"number"==typeof e?e:e.id,!t)throw new Error("没有ID,无法选中");const{node:i,parent:o,page:n}=this.getNodeInfo(t);if(!i)throw new Error("获取不到组件信息");if(i.id===this.state.root?.id)throw new Error("不能选根节点");return{node:i,parent:o,page:n}}}const editorService=new Editor,beforePaste=(e,t,i)=>{if(!t[0]?.style)return t;const o=editorService.get("node"),{left:n,top:r}=t[0].style,s=t.map(t=>{const{offsetX:s=0,offsetY:a=0,...l}=e;let c=l;!isEmpty$3(c)&&o?.items&&(c=getPositionInContainer(c,o.id,i)),c.left&&t.style?.left&&(c.left=t.style.left-n+c.left),c.top&&t.style?.top&&(c.top=t.style?.top-r+c.top);const d=propsService.setNewItemId(t,!1);if(d.style){const{left:e,top:t}=d.style;("number"==typeof e||e&&!isNaN(Number(e)))&&(d.style.left=Number(e)+s),("number"==typeof t||t&&!isNaN(Number(t)))&&(d.style.top=Number(t)+a),d.style={...d.style,...c}}const u=editorService.get("root");return(isPage(d)||isPageFragment(d))&&u&&(d.name=generatePageNameByApp(u,isPage(d)?NodeType.PAGE:NodeType.PAGE_FRAGMENT)),d});return s},getPositionInContainer=(e={},t,i)=>{let{left:o=0,top:n=0}=e;const r=editorService.get("stage")?.renderer?.contentWindow?.document,s=r&&getElById()(r,`${t}`),a=s?.getBoundingClientRect();return o-=calcValueByFontsize(i,a?.left||0),n-=calcValueByFontsize(i,a?.top||0),{left:o,top:n}},getAddParent=e=>{const t=editorService.get("node");let i;return isPage(e)?i=editorService.get("root"):t?.items?i=t:t?.id&&(i=editorService.getParentById(t.id,!1)),i},BaseFormConfig=()=>defineFormConfig([{name:"id",type:"hidden"},{name:"type",text:"类型",type:"hidden",defaultValue:"base"},{name:"title",text:"名称",rules:[{required:!0,message:"请输入名称"}]},{name:"description",text:"描述"}]),HttpFormConfig=defineFormConfig([{name:"autoFetch",text:"自动请求",type:"switch",defaultValue:!0},{name:"responseOptions",items:[{name:"dataPath",text:"数据路径"}]},{type:"fieldset",name:"options",legend:"HTTP 配置",items:[{name:"url",text:"URL"},{name:"method",text:"Method",type:"select",options:[{text:"GET",value:"GET"},{text:"POST",value:"POST"},{text:"PUT",value:"PUT"},{text:"DELETE",value:"DELETE"}]},{name:"params",type:"key-value",defaultValue:{},advanced:!0,text:"参数"},{name:"data",type:"key-value",defaultValue:{},advanced:!0,text:"请求体"},{name:"headers",type:"key-value",defaultValue:{},advanced:!0,text:"请求头"}]}]),fillConfig=e=>[...BaseFormConfig(),...e,{type:"tab",items:[{title:"数据定义",items:[{name:"fields",type:"data-source-fields",defaultValue:()=>[]}]},{title:"方法定义",items:[{name:"methods",type:"data-source-methods",defaultValue:()=>[]}]},{title:"事件配置",items:[{name:"events",src:"datasource",type:"event-select"}]},{title:"mock数据",items:[{name:"mocks",type:"data-source-mocks",defaultValue:()=>[]}]},{title:"请求参数裁剪",display:(e,{model:t})=>"http"===t.type,items:[{name:"beforeRequest",type:"vs-code",parse:!0,height:"600px"}]},{title:"响应数据裁剪",display:(e,{model:t})=>"http"===t.type,items:[{name:"afterResponse",type:"vs-code",parse:!0,height:"600px"}]}]}],getFormConfig=(e,t)=>{switch(e){case"base":return fillConfig([]);case"http":return fillConfig(HttpFormConfig);default:return fillConfig(t[e]||[])}},getFormValue=(e,t)=>"http"!==e?t:{beforeRequest:"(options, context) => {\n /**\n * 用户可以直接编写函数,在原始接口调用之前,会运行该函数,将这个函数的返回值作为该数据源接口的入参\n *\n * options: HttpOptions\n *\n * interface HttpOptions {\n * // 请求链接\n * url: string;\n * // query参数\n * params?: Record;\n * // body数据\n * data?: Record;\n * // 请求头\n * headers?: Record;\n * // 请求方法 GET/POST\n * method?: Method;\n * }\n *\n * context:上下文对象\n *\n * interface Content {\n * app: TMagicApp;\n * dataSource: HttpDataSource;\n * }\n *\n * return: HttpOptions\n */\n\n // 此处的返回值会作为这个接口的入参\n return options;\n}",afterResponse:"(response, context) => {\n /**\n * 用户可以直接编写函数,在原始接口返回之后,会运行该函数,将这个函数的返回值作为该数据源接口的返回\n\n * context:上下文对象\n *\n * interface Content {\n * app: TMagicApp;\n * dataSource: HttpDataSource;\n * }\n *\n */\n\n // 此处的返回值会作为这个接口的返回值\n return response;\n}",...t},getDisplayField=(e,t)=>{const i=[],o=t.matchAll(dataSourceTemplateRegExp);let n=0;for(const r of o){if(void 0===r.index)break;i.push({type:"text",value:t.substring(n,r.index)});let o,s,a="";getKeysArray(r[1]).forEach((t,i)=>{if(0===i)return o=e.find(e=>e.id===t),a+=o?.title||t,void(s=o?.fields);if(isNumber$3(t))a+=`[${t}]`;else{const e=s?.find(e=>e.name===t);s=e?.fields,a+=`.${e?.title||t}`}}),i.push({type:"var",value:a}),n=r.index+r[0].length}return n{const i=[];return e.forEach(e=>{t.length||t.push("any");let o=[];e.type&&["any","array","object"].includes(e.type)&&(o=getCascaderOptionsFromFields(e.fields,t));const n={label:`${e.title||e.name}(${e.type})`,value:e.name,children:o},r=e.type||"any";t.includes("any")||t.includes(r)?i.push(n):(t.includes(r)||["array","object","any"].includes(r))&&(!o.length&&["object","array","any"].includes(e.type||"")||i.push(n))}),i},removeDataSourceFieldPrefix=e=>e?.replace(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX,"")||"";globalThis.requestIdleCallback=globalThis.requestIdleCallback||function(e){const t=Date.now();return setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})},1)};class IdleTask extends eventsExports.EventEmitter{taskList=[];hightLevelTaskList=[];taskHandle=null;constructor(){super(),this.setMaxListeners(1e3)}enqueueTask(e,t,i=!1){(i?this.hightLevelTaskList:this.taskList).push({handler:e,data:t}),this.taskHandle||(this.taskHandle=globalThis.requestIdleCallback(this.runTaskQueue.bind(this),{timeout:1e4}))}clearTasks(){this.taskHandle&&globalThis.cancelIdleCallback(this.taskHandle),this.hightLevelTaskList=[],this.taskList=[],this.taskHandle=null,this.emit("update-task-length",{length:this.taskList.length+this.hightLevelTaskList.length,hightLevelLength:this.hightLevelTaskList.length})}on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}emit(e,...t){return super.emit(e,...t)}runTaskQueue(e){const{hightLevelTaskList:t,taskList:i}=this;for(;e.timeRemaining()>0&&(i.length||t.length);){const o=e.timeRemaining();let n=0;n=o<=5?10:o<=10?100:o<=15?300:600;for(let e=0;e0?t.shift():i.shift();if(e&&e.handler(e.data),0===t.length&&0===i.length)break}}t.length||this.emit("hight-level-finish"),t.length||i.length?this.taskHandle=globalThis.requestIdleCallback(this.runTaskQueue.bind(this),{timeout:300}):(this.taskHandle=0,this.emit("finish")),this.emit("update-task-length",{length:i.length+t.length,hightLevelLength:t.length})}}class ScrollViewer extends eventsExports.EventEmitter{container;target;zoom=1;scrollLeft=0;scrollTop=0;scrollHeight=0;scrollWidth=0;width=0;height=0;translateXCorrectionValue=0;translateYCorrectionValue=0;correctionScrollSize={width:0,height:0};resizeObserver=new ResizeObserver(()=>{this.setSize(),this.setScrollSize()});constructor(e){super(),this.container=e.container,this.target=e.target,this.zoom=e.zoom,this.correctionScrollSize&&(this.correctionScrollSize={...this.correctionScrollSize,...e.correctionScrollSize}),this.container.addEventListener("wheel",this.wheelHandler,!1),this.setSize(),this.setScrollSize(),this.resizeObserver.observe(this.container),this.resizeObserver.observe(this.target)}destroy(){this.resizeObserver.disconnect(),this.container.removeEventListener("wheel",this.wheelHandler,!1),this.removeAllListeners()}setZoom(e){this.zoom=e,this.setScrollSize()}scrollTo({left:e,top:t}){void 0!==e&&(this.scrollLeft=e),void 0!==t&&(this.scrollTop=t);const i=-this.scrollLeft+this.translateXCorrectionValue,o=-this.scrollTop+this.translateYCorrectionValue;this.target.style.transform=`translate(${i}px, ${o}px)`}wheelHandler=e=>{const{deltaX:t,deltaY:i,currentTarget:o}=e;if(o!==this.container)return;let n,r;this.scrollHeight>this.height&&(n=this.scrollTop+this.getPos(i,this.scrollTop,this.scrollHeight,this.height)),this.scrollWidth>this.width&&(r=this.scrollLeft+this.getPos(t,this.scrollLeft,this.scrollWidth,this.width)),this.scrollTo({left:r,top:n}),this.emit("scroll",{scrollLeft:this.scrollLeft,scrollTop:this.scrollTop,scrollHeight:this.scrollHeight,scrollWidth:this.scrollWidth})};getPos(e,t,i,o){let n=0;if(e<0)t>0&&(n=Math.max(e,-t));else{const r=i-o-t;r>0&&(n=Math.min(e,r))}return n}setScrollSize=()=>{const e=this.target.getBoundingClientRect();this.scrollWidth=e.width*this.zoom+this.correctionScrollSize.width;const t=Number(this.target.style.marginTop)||0;let i,o;this.scrollHeight=(e.height+t)*this.zoom+this.correctionScrollSize.height,this.scrollWidth{const{width:e,height:t}=this.container.getBoundingClientRect();this.width=e,this.height=t}}const updateStatus=(e,t,i)=>{const o=e.get(t);o&&getKeys$1(i).forEach(e=>{void 0!==o[e]&&void 0!==i[e]&&(o[e]=Boolean(i[e]))})},UI_SELECT_MODE_EVENT_NAME="ui-select",LEFT_COLUMN_WIDTH_STORAGE_KEY="$MagicEditorLeftColumnWidthData",RIGHT_COLUMN_WIDTH_STORAGE_KEY="$MagicEditorRightColumnWidthData",PROPS_PANEL_WIDTH_STORAGE_KEY="$MagicEditorPropsPanelWidthData",DEFAULT_LEFT_COLUMN_WIDTH=310,DEFAULT_RIGHT_COLUMN_WIDTH=480,MIN_LEFT_COLUMN_WIDTH=200,MIN_CENTER_COLUMN_WIDTH=400,MIN_RIGHT_COLUMN_WIDTH=300,H_GUIDE_LINE_STORAGE_KEY="$MagicStageHorizontalGuidelinesData",V_GUIDE_LINE_STORAGE_KEY="$MagicStageVerticalGuidelinesData",_sfc_main$1m$1=defineComponent({name:"MEditorCodeParams",__name:"CodeParams",props:{model:{},size:{},disabled:{type:Boolean},name:{},paramsConfig:{}},emits:["change"],setup(t,{emit:i}){const o=t,n=i,r=useTemplateRef("form"),s=computed$1(()=>((e=[])=>[{type:"fieldset",items:e,legend:"参数",labelWidth:"120px",name:o.name}])(o.paramsConfig.map(({name:e,text:t,extra:i,...o})=>({type:"data-source-field-select",name:e,text:t,extra:i,fieldConfig:o})))),a=async(t,i)=>{try{const e=await(r.value?.submitForm(!0));n("change",e,i)}catch(e){error(e)}};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$d$2),{ref:"form",config:s.value,"init-values":e.model,disabled:e.disabled,size:e.size,"watch-props":!1,onChange:a},null,8,["config","init-values","disabled","size"]))}}),_hoisted_1$_={class:"m-fields-code-select-col"},_hoisted_2$m={class:"code-select-container"},_sfc_main$1l$1=defineComponent({name:"MFieldsCodeSelectCol",__name:"CodeSelectCol",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=inject("mForm"),{codeBlockService:o,uiService:n}=useServices(),r=inject("eventBus"),s=t,a=e,l=computed$1(()=>filterFunction(i,a.config.notEditable,a)),c=computed$1(()=>(n.get("sideBarItems")||[]).find(e=>e.$key===SideItemKey.CODE_BLOCK)),d=e=>{if(!u.value||!e)return[];const t=u.value[e]?.params;return isEmpty$3(t)?[]:t.map(e=>({labelWidth:"100px",text:e.name,...e}))},u=computed$1(()=>o.getCodeDsl()),h=ref$1(d(a.model[a.name]));watch(()=>a.model[a.name],(e,t)=>{e!==t&&(h.value=d(e))});const p={type:"select",name:a.name,disable:a.disabled,options:()=>u.value?map(u.value,(e,t)=>({text:`${e.name}(${t})`,label:`${e.name}(${t})`,value:t})):[],onChange:(e,t,{setModel:i,model:o})=>(h.value=d(t),h.value.length?i("params",createValues(e,h.value,{},o.params)):i("params",{}),t)},g=(e,t)=>{a.model.params=e.params,s("change",a.model,{changeRecords:t.changeRecords?.map(e=>({prop:`${a.prop.replace(a.name,"")}${e.propPath}`,value:e.value}))||[{propPath:a.prop,value:e[a.name]}]})},m=(e,t)=>{a.model.params=e.params,s("change",a.model,{...t,changeRecords:(t.changeRecords||[]).map(e=>({prop:`${a.prop.replace(a.name,"")}${e.propPath}`,value:e.value}))})};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$_,[createBaseVNode("div",_hoisted_2$m,[createCommentVNode(" 代码块下拉框 "),createVNode(unref(_sfc_main$x$2),{class:"select",config:p,model:e.model,size:e.size,onChange:g},null,8,["model","size"]),createCommentVNode(" 查看/编辑按钮 "),e.model[e.name]&&c.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,class:"m-fields-select-action-button",size:e.size,onClick:t[0]||(t[0]=t=>{return i=e.model[e.name],void r?.emit("edit-code",i);var i})},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:l.value?unref(view_default):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])):createCommentVNode("v-if",!0)]),createCommentVNode(" 参数填写框 "),h.value.length?(openBlock(),createBlock(_sfc_main$1m$1,{name:"params",key:e.model[e.name],model:e.model,size:e.size,"params-config":h.value,onChange:m},null,8,["model","size","params-config"])):createCommentVNode("v-if",!0)]))}}),_sfc_main$1k$1=defineComponent({name:"MFieldsCondOpSelect",__name:"CondOpSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=t,{dataSourceService:o}=useServices(),n=e,r=getDesignConfig("components")?.option,s=computed$1(()=>{const[e,...t]=[...n.config.parentFields||[],...n.model.field],i=o.getDataSourceById(e);let r=i?.fields||[],s="";return(t||[]).forEach(e=>{const t=r.find(t=>t.name===e);r=t?.fields||[],s=t?.type||""}),"array"===s?arrayOptions:"boolean"===s?[{text:"是",value:"is"},{text:"不是",value:"not"}]:"number"===s?[...eqOptions,...numberOptions]:"string"===s?[...arrayOptions,...eqOptions]:[...arrayOptions,...eqOptions,...numberOptions]}),a=e=>{i("change",e)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$c$3),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),clearable:"",filterable:"",size:e.size,disabled:e.disabled,onChange:a},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(s.value,e=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)?.component||"el-option"),mergeProps({class:"tmagic-design-option",key:e.value},{ref_for:!0},unref(r)?.props({label:e.text,value:e.value})||{label:e.text,value:e.value}),null,16))),128))]),_:1},8,["modelValue","size","disabled"]))}}),_hoisted_1$Z={ref:"title",class:"m-editor-float-box-title"},_sfc_main$1j$1=defineComponent({__name:"FloatingBox",props:mergeModels({position:{default:()=>({left:0,top:0})},title:{default:""},beforeClose:{}},{width:{default:0},widthModifiers:{},height:{default:0},heightModifiers:{},visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:["update:width","update:height","update:visible"],setup(e,{expose:t}){const i=useModel(e,"width"),o=useModel(e,"height"),n=useModel(e,"visible"),r=e,s=useTemplateRef("target"),a=useTemplateRef("title"),l=useZIndex$1(),c=ref$1(0),d=ref$1(0),u=computed$1(()=>o.value?o.value-d.value:s.value?s.value.clientHeight-d.value:"auto"),{uiService:h}=useServices(),p=computed$1(()=>h.get("frameworkRect").width||0),g=computed$1(()=>{let{left:e}=r.position;return i.value&&(e=e+i.value>p.value?p.value-i.value:e),{left:`${e}px`,top:`${r.position.top}px`,width:i.value?`${i.value}px`:"auto",height:o.value?`${o.value}px`:"auto"}});let m=null;const f=()=>{m?.destroy(),m=null};watch(n,async e=>{if(e){await nextTick(),c.value=l.nextZIndex();const e=s.value?.getBoundingClientRect();if(e&&(i.value=e.width,o.value=e.height,m=new Moveable(globalThis.document.body,{className:"m-editor-floating-box-moveable",target:s.value,draggable:!0,resizable:!0,edge:!0,keepRatio:!1,origin:!1,snappable:!0,dragTarget:a.value,dragTargetSelf:!1,linePadding:10,controlPadding:10,bounds:{left:0,top:0,right:0,bottom:0,position:"css"}}),m.on("drag",e=>{e.target.style.transform=e.transform}),m.on("resize",e=>{i.value=e.width,o.value=e.height,e.target.style.width=`${e.width}px`,e.target.style.height=`${e.height}px`,e.target.style.transform=e.drag.transform})),a.value){const e=a.value.getBoundingClientRect();d.value=e.height}}else f()},{immediate:!0}),onBeforeUnmount(()=>{f()});const v=e=>{!1!==e&&(n.value=!1)},b=()=>{"function"==typeof r.beforeClose?r.beforeClose(v):v()},_=()=>{c.value=l.nextZIndex()};return provide("parentFloating",s),t({bodyHeight:u,target:s,titleEl:a}),(e,t)=>n.value?(openBlock(),createBlock(Teleport$1,{key:0,to:"body"},[createBaseVNode("div",{ref:"target",class:"m-editor-float-box",style:normalizeStyle({...g.value,zIndex:c.value}),onMousedown:_},[createBaseVNode("div",_hoisted_1$Z,[renderSlot(e.$slots,"title",{},()=>[createBaseVNode("span",null,toDisplayString(e.title),1)]),createBaseVNode("div",null,[createVNode(unref(_sfc_main$G$2),{link:"",size:"small",onClick:b},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(close_default)},null,8,["icon"])]),_:1})])],512),createBaseVNode("div",{class:"m-editor-float-box-body",style:normalizeStyle({height:`${u.value}px`})},[renderSlot(e.$slots,"body")],4)],36)])):createCommentVNode("v-if",!0)}}),useCodeBlockEdit=e=>{const t=ref$1(),i=ref$1(),o=useTemplateRef("codeBlockEditor");return{codeId:i,codeConfig:t,codeBlockEditor:o,createCodeBlock:async()=>{t.value={name:"",content:"({app, params, flowState}) => {\n // place your code here\n}",params:[]},i.value=await e.getUniqueId(),await nextTick(),o.value?.show()},editCode:async n=>{const r=await e.getCodeContentById(n);if(!r)return void tMagicMessage.error("获取代码块内容失败");let s=r.content;"string"!=typeof s&&(s=s.toString()),t.value={...cloneDeep(r),content:s},i.value=n,await nextTick(),o.value?.show()},deleteCode:async t=>{e.deleteCodeDslByIds([t])},submitCodeBlockHandler:async t=>{i.value&&(await e.setCodeDslById(i.value,t),o.value?.hide())}}},state=shallowReactive({uiSelectMode:!1,showSrc:!1,showStylePanel:!0,zoom:1,stageContainerRect:{width:0,height:0},stageRect:{width:375,height:817},columnWidth:{left:storageService.getItem(LEFT_COLUMN_WIDTH_STORAGE_KEY,{protocol:Protocol.NUMBER})||DEFAULT_LEFT_COLUMN_WIDTH,center:0,right:storageService.getItem(RIGHT_COLUMN_WIDTH_STORAGE_KEY,{protocol:Protocol.NUMBER})||DEFAULT_RIGHT_COLUMN_WIDTH},showGuides:!0,showRule:!0,propsPanelSize:"small",showAddPageButton:!0,showPageListButton:!0,hideSlideBar:!1,sideBarItems:[],navMenuRect:{left:0,top:0,width:0,height:0},frameworkRect:{width:0,height:0,left:0,top:0}}),canUsePluginMethods$4={async:["zoom","calcZoom"]};class Ui extends BaseService{constructor(){super(canUsePluginMethods$4.async.map(e=>({name:e,isAsync:!0})))}set(e,t){const i=editorService.get("stage")?.mask;"stageRect"!==e?("showGuides"===e&&i?.showGuides(t),"showRule"===e&&i?.showRule(t),state[e]=t):this.setStageRect(t)}get(e){return state[e]}async zoom(e){this.set("zoom",(100*this.get("zoom")+100*e)/100),this.get("zoom")<.1&&this.set("zoom",.1)}async calcZoom(){const{stageRect:e,stageContainerRect:t}=state,{height:i,width:o}=t;if(!o||!i)return 1;let n=convertToNumber(e.width,o),r=convertToNumber(e.height,i);return n+=30,r+=30,o>n&&i>r?1:Math.min((o-60)/n||1,(i-80)/r||1)}resetState(){this.set("showSrc",!1),this.set("uiSelectMode",!1),this.set("zoom",1),this.set("stageContainerRect",{width:0,height:0})}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}usePlugin(e){super.usePlugin(e)}async setStageRect(e){state.stageRect={...state.stageRect,...e},state.zoom=await this.calcZoom()}}const uiService=new Ui,root=computed$1(()=>editorService.get("root")),page=computed$1(()=>editorService.get("page")),zoom=computed$1(()=>uiService.get("zoom")||1),uiSelectMode=computed$1(()=>uiService.get("uiSelectMode")),getGuideLineKey=e=>`${e}_${root.value?.id}_${page.value?.id}`,useStage=e=>{const t=new StageCore({render:e.render,runtimeUrl:e.runtimeUrl,zoom:e.zoom??zoom.value,autoScrollIntoView:e.autoScrollIntoView,isContainer:e.isContainer,containerHighlightClassName:e.containerHighlightClassName,containerHighlightDuration:e.containerHighlightDuration,containerHighlightType:e.containerHighlightType,disabledDragStart:e.disabledDragStart,renderType:e.renderType,canSelect:(t,i,o)=>{if(!e.canSelect)return!0;const n=e.canSelect?.(t);return uiSelectMode.value&&n&&"mousedown"===i.type?(document.dispatchEvent(new CustomEvent(UI_SELECT_MODE_EVENT_NAME,{detail:t})),o()):n},moveableOptions:e.moveableOptions,updateDragEl:e.updateDragEl,guidesOptions:e.guidesOptions,disabledMultiSelect:e.disabledMultiSelect,disabledRule:e.disabledRule});return watch(()=>editorService.get("disabledMultiSelect"),e=>{e?t.disableMultiSelect():t.enableMultiSelect()}),t.mask?.setGuides([getGuideLineFromCache(getGuideLineKey(H_GUIDE_LINE_STORAGE_KEY)),getGuideLineFromCache(getGuideLineKey(V_GUIDE_LINE_STORAGE_KEY))]),t.on("page-el-update",()=>{editorService.set("stageLoading",!1)}),t.on("select",e=>{const t=getIdFromEl()(e);`${editorService.get("node")?.id}`===t&&1===editorService.get("nodes").length||t&&editorService.select(t)}),t.on("highlight",e=>{const t=getIdFromEl()(e);t&&editorService.highlight(t)}),t.on("multi-select",e=>{const t=e.map(e=>getIdFromEl()(e)).filter(e=>Boolean(e));editorService.multiSelect(t)}),t.on("update",e=>{if(e.parentEl)for(const t of e.data){const i=getIdFromEl()(t.el),o=getIdFromEl()(e.parentEl);i&&o&&editorService.moveToContainer({id:i,style:t.style},o)}else editorService.update(e.data.map(e=>({id:getIdFromEl()(e.el)||"",style:e.style})))}),t.on("sort",e=>{editorService.sort(e.src,e.dist)}),t.on("remove",e=>{const t=e.data.map(({el:e})=>editorService.getNodeById(getIdFromEl()(e)||""));editorService.remove(t.filter(e=>Boolean(e)))}),t.on("select-parent",()=>{const e=editorService.get("parent");if(!e)throw new Error("父节点为空");editorService.select(e),editorService.get("stage")?.select(e.id)}),t.on("change-guides",e=>{if(uiService.set("showGuides",!0),!root.value||!page.value)return;const t=getGuideLineKey(e.type===GuidesType.HORIZONTAL?H_GUIDE_LINE_STORAGE_KEY:V_GUIDE_LINE_STORAGE_KEY);e.guides.length?globalThis.localStorage.setItem(t,JSON.stringify(e.guides)):globalThis.localStorage.removeItem(t)}),t},useFloatBox=e=>{const{uiService:t}=useServices(),i=ref$1(e.value.reduce((e,t)=>({...e,[t]:{status:!1,top:0,left:0}}),{})),o=computed$1(()=>Object.keys(i.value).filter(e=>i.value[e].status)),n={startOffset:{x:0,y:0},isDragging:!1},r=e=>{n.isDragging&&e.preventDefault()},s=()=>{n.startOffset.x=0,n.startOffset.y=0,n.isDragging=!1};return globalThis.document.body.addEventListener("dragover",r),globalThis.addEventListener("blur",s),onBeforeUnmount(()=>{globalThis.document.body.removeEventListener("dragover",r),globalThis.removeEventListener("blur",s)}),watch(()=>e.value,e=>{e.forEach(e=>{i.value[e]||(i.value[e]={status:!1,top:0,left:0})})},{deep:!0,immediate:!0}),{dragstartHandler:e=>{n.isDragging=!0,n.startOffset.x=e.clientX,n.startOffset.y=e.clientY},dragendHandler:(e,o)=>{if(!n.isDragging)return;const{startOffset:r}=n;if(Math.abs(r.x-o.clientX)>20||Math.abs(r.y-o.clientY)>20){const n=t.get("navMenuRect");i.value[e]={left:o.clientX,top:n.top+n.height,status:!0}}n.isDragging=!1},floatBoxStates:i,showingBoxKeys:o}},useWindowRect=()=>{const e=reactive$1({width:globalThis.innerWidth,height:globalThis.innerHeight}),t=()=>{e.width=globalThis.innerWidth,e.height=globalThis.innerHeight};return globalThis.addEventListener("resize",t),onBeforeUnmount(()=>{globalThis.removeEventListener("resize",t)}),{rect:e}},useEditorContentHeight=()=>{const{uiService:e}=useServices(),t=computed$1(()=>e.get("frameworkRect").height),i=computed$1(()=>e.get("navMenuRect").height),o=computed$1(()=>t.value-i.value),n=ref$1(0);return watch(o,()=>{n.value>0&&n.value===o.value||(n.value=o.value)},{immediate:!0}),{height:n}},useFilter=(e,t,i)=>{const o=o=>{e.value.length&&e.value.forEach(e=>{traverseNode(e,(e,n)=>{if(!t.value)return;const r=((e,t)=>{const o=Array.isArray(e)?e:[e];return!o.length||o.some(e=>i(e,t))})(o,e);r&&n.length&&n.forEach(e=>{(o||o.length)&&updateStatus(t.value,e.id,{visible:r,expand:!0})}),updateStatus(t.value,e.id,{visible:r})})})};return{filterText:ref$1(""),filterTextChangeHandler(e){o(e)}}},useGetSo=(e,t)=>{let i;const o=ref$1(!1);return onMounted(()=>{e.value&&(i=new Gesto(e.value,{container:window,pinchOutside:!0}).on("drag",i=>{e.value&&t("change",i)}).on("dragStart",()=>{o.value=!0}).on("dragEnd",()=>{o.value=!1}))}),onBeforeUnmount(()=>{i?.unset(),o.value=!1}),{isDragging:o}},useNextFloatBoxPosition=(e,t)=>{const i=ref$1({left:0,top:0});return{boxPosition:i,calcBoxPosition:()=>{const o=e.get("columnWidth"),n=e.get("navMenuRect");let r=o.left??0;if(t?.value){const e=t.value.getBoundingClientRect();r=e.left+e.width}i.value={left:r,top:n.top+n.height}}}},createPageNodeStatus$1=(e,t)=>{const i=new Map;return e.forEach(e=>traverseNode(e,e=>{i.set(e.id,t?.get(e.id)||{visible:!0,expand:!1,selected:!1,draggable:!1})})),i},useNodeStatus$1=e=>{const t=ref$1(new Map);return watch(e,e=>{t.value=createPageNodeStatus$1(e,t.value)},{immediate:!0,deep:!0}),{nodeStatusMap:t}},_hoisted_1$Y={class:"m-editor-data-source-fields"},_hoisted_2$l={class:"m-editor-data-source-fields-footer"},_sfc_main$1i$1=defineComponent({name:"MFieldsDataSourceFields",__name:"DataSourceFields",props:mergeModels({config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},{width:{default:670},widthModifiers:{},visible:{type:Boolean,default:!1},visibleModifiers:{},visible1:{type:Boolean,default:!1},visible1Modifiers:{}}),emits:mergeModels(["change"],["update:width","update:visible","update:visible1"]),setup(t,{emit:i}){const o=t,n=i,{uiService:r}=useServices(),s=ref$1({}),a=ref$1(""),l=useModel(t,"width"),c=({index:e,...t},i)=>{if(f.value=!1,e>-1)n("change",t,{modifyKey:e,changeRecords:(i.changeRecords||[]).map(t=>({propPath:`${o.prop}.${e}.${t.propPath}`,value:t.value}))});else{const e=o.model[o.name].length;n("change",t,{modifyKey:e,changeRecords:[{propPath:`${o.prop}.${e}`,value:t}]})}},d=[{label:"属性名称",prop:"title"},{label:"属性key",prop:"name"},{label:"属性描述",prop:"description"},{label:"默认值",prop:"defaultValue",formatter(t,i){try{return JSON.stringify(i.defaultValue)}catch(e){return error(e),i.defaultValue}}},{label:"操作",fixed:"right",actions:[{text:"编辑",handler:(e,t)=>{s.value={...e,index:t},a.value=`编辑${e.title}`,C(),f.value=!0}},{text:"删除",buttonType:"danger",handler:async(e,t)=>{await tMagicMessageBox.confirm(`确定删除${e.title}(${e.name})?`,"提示"),o.model[o.name].splice(t,1),n("change",o.model[o.name])}}]}],u=[{name:"index",type:"hidden",filter:"number",defaultValue:-1},{name:"type",text:"数据类型",type:"select",defaultValue:"string",options:[{text:"字符串",value:"string"},{text:"数字",value:"number"},{text:"布尔值",value:"boolean"},{text:"对象",value:"object"},{text:"数组",value:"array"},{text:"null",value:"null"},{text:"any",value:"any"}],onChange:(e,t,{setModel:i})=>(["any","array","object"].includes(t)||i("fields",[]),t)},{name:"name",text:"字段名称",rules:[{required:!0,message:"请输入字段名称"},{validator:({value:e,callback:t},{model:i,parent:o})=>{const n=o.findIndex(t=>t.name===e);if(-1===i.index&&n>-1||i.index>-1&&n>-1&&n!==i.index)return t(`属性key(${e})已存在`);t()}}]},{name:"title",text:"展示名称",rules:[{required:!0,message:"请输入展示名称"}]},{name:"description",text:"描述",type:"textarea"},{name:"defaultValue",text:"默认值",height:"200px",parse:!0,type:(e,{model:t})=>"number"===t.type?"number":"boolean"===t.type?"select":"string"===t.type?"text":"vs-code",options:[{text:"true",value:!0},{text:"false",value:!1}]},{name:"enable",text:"是否可用",type:"switch",defaultValue:!0},{name:"fields",type:"data-source-fields",defaultValue:[],display:(e,{model:t})=>"object"===t.type||"array"===t.type}],h=[{name:"data",type:"vs-code",labelWidth:"0",language:"json",height:"600px",options:inject("codeOptions",{})}],p=ref$1({data:{}}),g=(e,t=[])=>{if(!e||"object"!=typeof e)throw new Error("数据格式错误");const i=[];return Object.entries(e).forEach(([e,o])=>{const n=(e=>Array.isArray(e)?"array":null===e?"null":"object"==typeof e?"object":"number"==typeof e?"number":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"any")(o),r=t.find(t=>t.name===e);let s=[];Array.isArray(o)&&o.length>0?s=g(o[0],r?.fields):"object"===n&&(s=g(o,r?.fields)),i.push({name:e,title:r?.title||e,type:n,description:r?.description||"",enable:r?.enable??!0,defaultValue:o,fields:s})}),i},m=({data:t})=>{try{const e=JSON.parse(t);v.value=!1,n("change",g(e,o.model[o.name]))}catch(e){tMagicMessage.error(e.message)}},f=useModel(t,"visible"),v=useModel(t,"visible1"),{height:b}=useEditorContentHeight(),_=inject("parentFloating",ref$1(null)),{boxPosition:y,calcBoxPosition:C}=useNextFloatBoxPosition(r,_);return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$Y,[createVNode(unref(_sfc_main$1K),{data:e.model[e.name],columns:d,border:!0},null,8,["data"]),createBaseVNode("div",_hoisted_2$l,[createVNode(unref(_sfc_main$G$2),{size:"small",disabled:e.disabled,plain:"",onClick:t[0]||(t[0]=e=>(p.value.data=getDefaultValueFromFields(o.model[o.name]),C(),void(v.value=!0)))},{default:withCtx(()=>[...t[8]||(t[8]=[createTextVNode("快速添加",-1)])]),_:1},8,["disabled"]),createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",disabled:e.disabled,plain:"",onClick:t[1]||(t[1]=e=>(s.value={},a.value="新增属性",C(),void(f.value=!0)))},{default:withCtx(()=>[...t[9]||(t[9]=[createTextVNode("添加",-1)])]),_:1},8,["disabled"])]),createVNode(_sfc_main$1j$1,{visible:f.value,"onUpdate:visible":t[2]||(t[2]=e=>f.value=e),width:l.value,"onUpdate:width":t[3]||(t[3]=e=>l.value=e),height:unref(b),"onUpdate:height":t[4]||(t[4]=e=>isRef(b)?b.value=e:null),title:a.value,position:unref(y)},{body:withCtx(()=>[createVNode(unref(_sfc_main$1L),{"label-width":"80px",title:a.value,config:u,values:s.value,parentValues:e.model[e.name],disabled:e.disabled,onSubmit:c},null,8,["title","values","parentValues","disabled"])]),_:1},8,["visible","width","height","title","position"]),createVNode(_sfc_main$1j$1,{visible:v.value,"onUpdate:visible":t[5]||(t[5]=e=>v.value=e),width:l.value,"onUpdate:width":t[6]||(t[6]=e=>l.value=e),height:unref(b),"onUpdate:height":t[7]||(t[7]=e=>isRef(b)?b.value=e:null),title:"快速添加数据定义",position:unref(y)},{body:withCtx(()=>[createVNode(unref(_sfc_main$1L),{config:h,values:p.value,disabled:e.disabled,onSubmit:m},null,8,["values","disabled"])]),_:1},8,["visible","width","height","position"])]))}}),_hoisted_1$X={class:"m-editor-data-source-field-select"},_sfc_main$1h$1=defineComponent({__name:"FieldSelect",props:mergeModels({value:{},disabled:{type:Boolean},checkStrictly:{type:Boolean},size:{},dataSourceFieldType:{},notEditable:{type:[Boolean,Function]}},{modelValue:{default:[]},modelModifiers:{}}),emits:mergeModels(["change"],["update:modelValue"]),setup(e,{emit:t}){const i=e,o=t,n=useModel(e,"modelValue"),r=getDesignConfig("components")?.option,{dataSourceService:s,uiService:a}=useServices(),l=inject("mForm"),c=inject("eventBus"),d=computed$1(()=>s.get("dataSources")||[]),u=computed$1(()=>"key"===i.value),h=computed$1(()=>filterFunction(l,i.notEditable,i)),p=computed$1(()=>d.value.map(e=>({text:e.title||e.id,value:u.value?e.id:`${DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX}${e.id}`}))),g=ref$1(""),m=ref$1([]);watch(n,e=>{if(Array.isArray(e)){const[t,...i]=e;g.value=t,m.value=i}else g.value="",m.value=[]},{immediate:!0});const f=computed$1(()=>{const e=d.value.find(e=>e.id===removeDataSourceFieldPrefix(g.value));return e?getCascaderOptionsFromFields(e.fields,i.dataSourceFieldType):[]}),v=computed$1(()=>(d.value?.map(e=>({label:e.title||e.id,value:u.value?e.id:`${DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX}${e.id}`,children:getCascaderOptionsFromFields(e.fields,i.dataSourceFieldType)}))||[]).filter(e=>e.children.length)),b=e=>{n.value=[e],o("change",n.value)},_=(e=[])=>{n.value=[g.value,...e],o("change",n.value)},y=(e=[])=>{n.value=e,o("change",e)},C=computed$1(()=>a.get("sideBarItems").find(e=>e.$key===SideItemKey.DATA_SOURCE));return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$X,[e.checkStrictly?(openBlock(),createElementBlock(Fragment,{key:0},[createVNode(unref(_sfc_main$c$3),{"model-value":g.value,clearable:"",filterable:"",size:e.size,disabled:e.disabled,onChange:b},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(p.value,e=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)?.component||"el-option"),mergeProps({class:"tmagic-design-option",key:e.value},{ref_for:!0},unref(r)?.props({label:e.text,value:e.value,disabled:e.disabled})||{label:e.text,value:e.value,disabled:e.disabled}),null,16))),128))]),_:1},8,["model-value","size","disabled"]),createVNode(unref(_sfc_main$E$2),{"model-value":m.value,clearable:"",filterable:"",size:e.size,disabled:e.disabled,options:f.value,props:{checkStrictly:e.checkStrictly},onChange:_},null,8,["model-value","size","disabled","options","props"])],64)):(openBlock(),createBlock(unref(_sfc_main$E$2),{key:1,clearable:"",filterable:"","model-value":n.value,disabled:e.disabled,size:e.size,options:v.value,props:{checkStrictly:e.checkStrictly},onChange:y},null,8,["model-value","disabled","size","options","props"])),g.value&&C.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:2,content:h.value?"查看":"编辑"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{class:"m-fields-select-action-button",size:e.size,onClick:t[0]||(t[0]=e=>{return t=g.value,void c?.emit("edit-data-source",removeDataSourceFieldPrefix(t));var t})},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:h.value?unref(view_default):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])]),_:1},8,["content"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$W={class:"m-fields-data-source-field-select"},_sfc_main$1g$1=defineComponent({name:"MFieldsDataSourceFieldSelect",__name:"Index",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=t,o=e,n=ref$1(!1);watch(()=>o.model[o.name],e=>{Array.isArray(e)&&"string"==typeof e[0]&&e[0].startsWith(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX)?n.value=!0:n.value=!1},{immediate:!0});const{dataSourceService:r,propsService:s}=useServices(),a=inject("mForm"),l=computed$1(()=>r.get("dataSources")||[]),c=computed$1(()=>s.getDisabledDataSource()),d=computed$1(()=>{let e=o.config.fieldConfig?.type;return"function"==typeof e&&(e=e(a,{model:o.model})),"form"===e||"container"===e?"":e?.replace(/([A-Z])/g,"-$1").toLowerCase()||(o.config.items?"":"text")}),u=computed$1(()=>{const e=resolveComponent(`m-${o.config.items?"form":"fields"}-${d.value}`);return"string"!=typeof e?e:"m-fields-text"}),h=computed$1(()=>{let e;if("function"!=typeof o.config.checkStrictly)e=o.config.checkStrictly;else{const t=removeDataSourceFieldPrefix(o.model[0]),i=l.value.find(e=>e.id===t);e=o.config.checkStrictly(a,{values:a?.initValues||{},model:o.model,parent:a?.parentValues||{},formValue:a?.values||o.model,prop:o.prop,config:o.config,dataSource:i})}return e??"key"===o.config.value}),p=(e,t)=>{if(!Array.isArray(e))return void i("change",e,t);const[n,...r]=e,s=l.value.find(e=>e.id===removeDataSourceFieldPrefix(n));if(!s)return void i("change",e,t);let a,c=s.fields||[];(r||[]).forEach(e=>{a=c.find(t=>t.name===e),c=a?.fields||[]});const d=o.config.dataSourceFieldType||["any"];d.length||d.push("any"),!r.length||a?.type&&("any"===a.type||d.includes("any")||d.includes(a.type))?i("change",e,t):(tMagicMessage.error(`请选择类型为${d.join("或")}的字段`),i("change",[n],t))};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$W,[c.value||!n.value&&e.config.fieldConfig?(openBlock(),createBlock(resolveDynamicComponent(u.value),{key:1,config:e.config.fieldConfig,model:e.model,name:e.name,disabled:e.disabled,size:e.size,"last-values":e.lastValues,"init-values":e.initValues,values:e.values,prop:e.prop,onChange:p},null,40,["config","model","name","disabled","size","last-values","init-values","values","prop"])):(openBlock(),createBlock(_sfc_main$1h$1,{key:0,"model-value":e.model[e.name],disabled:e.disabled,size:e.size,value:e.config.value,checkStrictly:h.value,dataSourceFieldType:e.config.dataSourceFieldType,onChange:p},null,8,["model-value","disabled","size","value","checkStrictly","dataSourceFieldType"])),e.config.fieldConfig&&!c.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:2,disabled:n.value,content:"选择数据源"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{style:{"margin-left":"5px"},type:n.value?"primary":"default",size:e.size,onClick:t[0]||(t[0]=e=>n.value=!n.value)},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(coin_default)},null,8,["icon"])]),_:1},8,["type","size"])]),_:1},8,["disabled"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$V={style:{display:"flex","flex-direction":"column","line-height":"1.2em"}},_hoisted_2$k={style:{"font-size":"10px",color:"rgba(0, 0, 0, 0.6)"}},_hoisted_3$7={class:"el-input__inner t-input__inner"},_sfc_main$1f$1=defineComponent({name:"MFieldsDataSourceInput",__name:"DataSourceInput",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t,{dataSourceService:n,propsService:r}=useServices(),s=useTemplateRef("autocomplete"),a=ref$1(!1),l=ref$1(""),c=ref$1([]),d=computed$1(()=>s.value?.inputRef?.input),u=computed$1(()=>n.get("dataSources")),h=computed$1(()=>r.getDisabledDataSource()),p=()=>{c.value=getDisplayField(u.value,l.value)};watch(()=>i.model[i.name],(e="")=>{l.value=e,p()},{immediate:!0});const g=async()=>{const e=globalThis.document.getSelection(),t=e?.anchorOffset||0,i=e?.focusOffset||0;a.value=!0,await nextTick(),s.value?.focus(),i&&d.value&&d.value.setSelectionRange(t,i)},m=()=>{a.value=!1,p(),o("change",l.value)},f=e=>{o("change",e)};let v="";const b=e=>{e||(v=e)},_=(e=0)=>"}"===v.substring(e-1,e),y=()=>{let e=d.value?.selectionStart||0;return _(e)&&(e-=1),e},C=e=>e>0&&e===y()-1,w=e=>e>-1&&e===y()-1,x=(e,t)=>{v=e;const i=y(),o=e.substring(0,i),n=o.lastIndexOf("."),r=o.lastIndexOf("${")+1;n>r?((e,t,i,o)=>{let n=[];const r=e.substring(t+1,i),s=getKeysArray(r),a=s.shift(),l=u.value.find(e=>e.id===a);if(!l)return void o([]);let c=l.fields||[],d=s.shift();for(;d;)if(isNumber$3(d))d=s.shift();else for(const e of c)if(e.name===d){c=e.fields||[],d=s.shift();break}if(w(i))n=c||[];else if(i>-1){const t=e.substring(i+1).toLowerCase();n=c.filter(e=>e.name?.toLowerCase().includes(t)||e.title?.toLowerCase().includes(t))||[]}o(n.map(e=>({value:e.name,text:e.title,type:"field"})))})(o,r,n,t):((e,t,i)=>{let o=[];if(C(t))o=u.value;else if(t>0){const i=e.substring(t+1).toLowerCase();o=u.value.filter(e=>e.title?.toLowerCase().includes(i)||e.id.includes(i))}i(o.map(e=>({value:e.id,text:e.title,type:"dataSource"})))})(o,r,t)},S=async({value:e,type:t})=>{const i="dataSource"===t,o=d.value?.selectionStart||0;let n=v.substring(0,o);const r=n.lastIndexOf("."),s=n.lastIndexOf("${")+1,a=v.substring(o);let c=e;i?(C(s)||(n=n.substring(0,s+1)),_(o+1)||(c=`${c}}`)):w(r)||(n=n.substring(0,r+1)),l.value=`${n}${c}${a}`,await nextTick();let u=0;u=i?s+c.length:r+c.length+1,d.value?.setSelectionRange(u,u),f(l.value)};return(e,t)=>h.value?(openBlock(),createBlock(unref(_sfc_main$n$3),{key:0,modelValue:l.value,"onUpdate:modelValue":t[0]||(t[0]=e=>l.value=e),disabled:e.disabled,size:e.size,clearable:!0,onChange:f},null,8,["modelValue","disabled","size"])):e.disabled||a.value?(openBlock(),createBlock(resolveDynamicComponent(unref(getDesignConfig)("components")?.autocomplete.component||"el-autocomplete"),mergeProps({key:1,class:"tmagic-design-auto-complete",ref:"autocomplete",modelValue:l.value,"onUpdate:modelValue":t[1]||(t[1]=e=>l.value=e)},unref(getDesignConfig)("components")?.autocomplete.props({disabled:e.disabled,size:e.size,fetchSuggestions:x,triggerOnFocus:!1,clearable:!0})||{},{style:{width:"100%"},onBlur:m,onInput:b,onSelect:S}),{suffix:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(coin_default)},null,8,["icon"])]),default:withCtx(({item:e})=>[createBaseVNode("div",_hoisted_1$V,[createBaseVNode("div",null,toDisplayString(e.text),1),createBaseVNode("span",_hoisted_2$k,toDisplayString(e.value),1)])]),_:1},16,["modelValue"])):(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(`tmagic-data-source-input-text el-input t-input t-size-${e.size?.[0]} el-input--${e.size}`),onMouseup:g},[createBaseVNode("div",{class:normalizeClass("tmagic-data-source-input-text-wrapper el-input__wrapper "+(a.value?" is-focus":""))},[createBaseVNode("div",_hoisted_3$7,[(openBlock(!0),createElementBlock(Fragment,null,renderList(c.value,(t,i)=>(openBlock(),createElementBlock(Fragment,null,["text"===t.type?(openBlock(),createElementBlock("span",{key:i,style:{"margin-right":"2px"}},toDisplayString(t.value),1)):createCommentVNode("v-if",!0),"var"===t.type?(openBlock(),createBlock(unref(_sfc_main$4$4),{key:i,size:e.size},{default:withCtx(()=>[createTextVNode(toDisplayString(t.value),1)]),_:2},1032,["size"])):createCommentVNode("v-if",!0)],64))),256)),createVNode(_sfc_main$1r$1,{class:"tmagic-data-source-input-icon",icon:unref(coin_default)},null,8,["icon"])])],2)],34))}}),_hoisted_1$U={style:{display:"flex","margin-bottom":"10px"}},_hoisted_2$j={style:{flex:"1"}},_hoisted_3$6={style:{flex:"1"}},_hoisted_4$5={class:"dialog-footer"},_sfc_main$1e$1=defineComponent({name:"MEditorCodeBlockEditor",__name:"CodeBlockEditor",props:mergeModels({content:{},disabled:{type:Boolean},isDataSource:{type:Boolean},dataSourceType:{}},{width:{default:670},widthModifiers:{},visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:mergeModels(["submit","close","open"],["update:width","update:visible"]),setup(e,{expose:t,emit:i}){const o=useModel(e,"width"),n=useModel(e,"visible"),r=e,s=i,{codeBlockService:a,uiService:l}=useServices(),{height:c}=useEditorContentHeight(),d=ref$1(!1),{rect:u}=useWindowRect(),h=useTemplateRef("magicVsEditor"),p=()=>{h.value&&b.value?.form&&(b.value.form.values.content=h.value.getEditorValue(),d.value=!1)},g={type:"row",label:"参数类型",items:[{text:"参数类型",labelWidth:"70px",type:"select",name:"type",options:[{text:"数字",label:"数字",value:"number"},{text:"字符串",label:"字符串",value:"text"},{text:"组件",label:"组件",value:"ui-select"}]}]},m=computed$1(()=>[{text:"名称",name:"name",rules:[{required:!0,message:"请输入名称",trigger:"blur"}]},{text:"描述",name:"desc"},{text:"执行时机",name:"timing",type:"select",options:()=>{const e=[{text:"初始化前",value:"beforeInit"},{text:"初始化后",value:"afterInit"}];return"base"!==r.dataSourceType&&(e.push({text:"请求前",value:"beforeRequest"}),e.push({text:"请求后",value:"afterRequest"})),e},display:()=>r.isDataSource},{type:"table",border:!0,text:"参数",enableFullscreen:!1,enableToggleMode:!1,name:"params",dropSort:!1,items:[{type:"text",label:"参数名",name:"name"},{type:"text",label:"描述",name:"extra"},a.getParamsColConfig()||g]},{name:"content",type:"vs-code",options:inject("codeOptions",{}),height:"500px",onChange:(e,t)=>{try{return getEditorConfig("parseDSL")(t),t}catch(i){throw tMagicMessage.error(i.message),i}}}]),f=(e,t)=>{_.value=void 0,s("submit",e,t)},v=e=>{tMagicMessage.error(e.message)},b=useTemplateRef("formBox"),_=ref$1(),y=e=>{_.value=e},C=e=>{_.value?tMagicMessageBox.confirm("当前代码块已修改,是否保存?","提示",{confirmButtonText:"保存并关闭",cancelButtonText:"不保存并关闭",type:"warning",distinguishCancelAndClose:!0}).then(()=>{_.value&&f(_.value,{changeRecords:b.value?.form?.changeRecords}),e()}).catch(t=>{e("cancel"===t)}):e()},w=()=>{_.value=void 0},x=inject("parentFloating",ref$1(null)),{boxPosition:S,calcBoxPosition:k}=useNextFloatBoxPosition(l,x);return watch(n,e=>{nextTick(()=>{s(e?"open":"close")})}),t({async show(){k(),n.value=!0},async hide(){n.value=!1}}),(e,t)=>(openBlock(),createElementBlock(Fragment,null,[createCommentVNode(" 代码块编辑区 "),createVNode(_sfc_main$1j$1,{visible:n.value,"onUpdate:visible":t[1]||(t[1]=e=>n.value=e),width:o.value,"onUpdate:width":t[2]||(t[2]=e=>o.value=e),height:unref(c),"onUpdate:height":t[3]||(t[3]=e=>isRef(c)?c.value=e:null),title:e.content.name?`${e.disabled?"查看":"编辑"}${e.content.name}`:"新增代码",position:unref(S),"before-close":C},{body:withCtx(()=>[createVNode(unref(_sfc_main$1L),{class:"m-editor-code-block-editor",ref_key:"formBox",ref:b,"label-width":"80px","close-on-press-escape":!1,title:e.content.name,config:m.value,values:e.content,disabled:e.disabled,style:{height:"100%"},onChange:y,onSubmit:f,onError:v,onClosed:w},{left:withCtx(()=>[e.disabled?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,type:"primary",link:"",onClick:t[0]||(t[0]=e=>d.value=!0)},{default:withCtx(()=>[...t[6]||(t[6]=[createTextVNode("查看修改",-1)])]),_:1}))]),_:1},8,["title","config","values","disabled"])]),_:1},8,["visible","width","height","title","position"]),(openBlock(),createBlock(Teleport$1,{to:"body"},[createVNode(unref(_sfc_main$w$3),{title:"查看修改",modelValue:d.value,"onUpdate:modelValue":t[5]||(t[5]=e=>d.value=e),fullscreen:"","destroy-on-close":""},{footer:withCtx(()=>[createBaseVNode("span",_hoisted_4$5,[createVNode(unref(_sfc_main$G$2),{size:"small",onClick:t[4]||(t[4]=e=>d.value=!1)},{default:withCtx(()=>[...t[9]||(t[9]=[createTextVNode("取消",-1)])]),_:1}),createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",onClick:p},{default:withCtx(()=>[...t[10]||(t[10]=[createTextVNode("确定",-1)])]),_:1})])]),default:withCtx(()=>[createBaseVNode("div",_hoisted_1$U,[createBaseVNode("div",_hoisted_2$j,[createVNode(unref(_sfc_main$4$4),{size:"small",type:"info"},{default:withCtx(()=>[...t[7]||(t[7]=[createTextVNode("修改前",-1)])]),_:1})]),createBaseVNode("div",_hoisted_3$6,[createVNode(unref(_sfc_main$4$4),{size:"small",type:"success"},{default:withCtx(()=>[...t[8]||(t[8]=[createTextVNode("修改后",-1)])]),_:1})])]),createVNode(_sfc_main$1q$1,{ref:"magicVsEditor",type:"diff",language:"json","disabled-full-screen":!0,initValues:e.content.content,modifiedValues:b.value?.form?.values.content,height:unref(u).height-150+"px"},null,8,["initValues","modifiedValues","height"])]),_:1},8,["modelValue"])]))],64))}}),_hoisted_1$T={class:"m-editor-data-source-methods"},_hoisted_2$i={class:"m-editor-data-source-methods-footer"},_sfc_main$1d$1=defineComponent({name:"MFieldsDataSourceMethods",__name:"DataSourceMethods",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t,n=ref$1(),r=useTemplateRef("codeBlockEditor");let s=-1;const a=[{label:"名称",prop:"name"},{label:"描述",prop:"desc"},{label:"执行时机",prop:"timing"},{label:"参数",prop:"params",formatter:(e=[])=>e.map(e=>e.name).join(", ")},{label:"操作",fixed:"right",actions:[{text:"编辑",handler:(e,t)=>{let i=e.content||"({ params, dataSource, app }) => {\n // place your code here\n}";"string"!=typeof i&&(i=i.toString()),n.value={...cloneDeep(e),content:i},s=t,nextTick(()=>{r.value?.show()})}},{text:"删除",buttonType:"danger",handler:async(e,t)=>{await tMagicMessageBox.confirm(`确定删除${e.name}?`,"提示"),i.model[i.name].splice(t,1),o("change",i.model[i.name])}}]}],l=()=>{n.value={name:"",content:"({ params, dataSource, app, flowState }) => {\n // place your code here\n}",params:[]},s=-1,nextTick(()=>{r.value?.show()})},c=(e,t)=>{if(e.content){const t=getEditorConfig("parseDSL");"string"==typeof e.content&&(e.content=t(e.content))}if(s>-1)o("change",e,{modifyKey:s,changeRecords:(t.changeRecords||[]).map(e=>({propPath:`${i.prop}.${s}.${e.propPath}`,value:e.value}))});else{const t=i.model[i.name].length;o("change",e,{modifyKey:t,changeRecords:[{propPath:`${i.prop}.${t}`,value:e}]})}s=-1,n.value=void 0,r.value?.hide()};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$T,[createVNode(unref(_sfc_main$1K),{data:e.model[e.name],columns:a,border:!0},null,8,["data"]),createBaseVNode("div",_hoisted_2$i,[createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",disabled:e.disabled,plain:"",onClick:l},{default:withCtx(()=>[...t[0]||(t[0]=[createTextVNode("添加",-1)])]),_:1},8,["disabled"])]),n.value?(openBlock(),createBlock(_sfc_main$1e$1,{key:0,ref:"codeBlockEditor",disabled:e.disabled,content:n.value,"is-data-source":!0,"data-source-type":e.model.type,onSubmit:c},null,8,["disabled","content","data-source-type"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$S={class:"m-fields-data-source-method-select"},_hoisted_2$h={class:"data-source-method-select-container"},_sfc_main$1c$1=defineComponent({name:"MFieldsDataSourceMethodSelect",__name:"DataSourceMethodSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const{dataSourceService:i,uiService:o}=useServices(),n=inject("mForm"),r=inject("eventBus"),s=t,a=e,l=computed$1(()=>(o.get("sideBarItems")||[]).find(e=>e.$key===SideItemKey.DATA_SOURCE)),c=computed$1(()=>filterFunction(n,a.config.notEditable,a)),d=computed$1(()=>i.get("dataSources")),u=computed$1(()=>{const[e,t]=a.model[a.name],o=i.getDataSourceById(e);return Boolean(o?.methods.find(e=>e.name===t))}),h=([e,t]=["",""])=>{if(!e)return[];const i=d.value?.find(t=>t.id===e)?.methods?.find(e=>e.name===t)?.params;return i?i.map(e=>({text:e.name,...e})):[]},p=ref$1(h(a.model[a.name||"dataSourceMethod"])),g=computed$1(()=>d.value?.filter(e=>e.methods?.length||i.getFormMethod(e.type).length)?.map(e=>({label:e.title||e.id,value:e.id,children:[...i?.getFormMethod(e.type)||[],...(e.methods||[]).map(e=>({label:e.name,value:e.name}))]}))||[]),m=computed$1(()=>({type:"cascader",name:a.name,options:g.value,disable:a.disabled,onChange:(e,t,{setModel:i})=>(((e,t={},i)=>{p.value=e?h(e):[],p.value.length?i("params",createValues(t,p.value,{},a.model.params)):i("params",{})})(t,e,i),t)})),f=e=>{a.model.params=e.params,s("change",a.model)},v=()=>{const[e]=a.model[a.name];i.getDataSourceById(e)&&r?.emit("edit-data-source",e)};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$S,[createBaseVNode("div",_hoisted_2$h,[createVNode(unref(_sfc_main$x$2),{class:"select",config:m.value,model:e.model,size:e.size,onChange:f},null,8,["config","model","size"]),e.model[e.name]&&u.value&&l.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,content:c.value?"查看":"编辑"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{class:"m-fields-select-action-button",size:e.size,onClick:v},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:c.value?unref(view_default):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])]),_:1},8,["content"])):createCommentVNode("v-if",!0)]),p.value.length?(openBlock(),createBlock(_sfc_main$1m$1,{key:0,name:"params",model:e.model,size:e.size,disabled:e.disabled,"params-config":p.value,onChange:f},null,8,["model","size","disabled","params-config"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$R={class:"m-editor-data-source-fields"},_hoisted_2$g={class:"m-editor-data-source-fields-footer"},_sfc_main$1b$1=defineComponent({name:"MFieldsDataSourceMocks",__name:"DataSourceMocks",props:mergeModels({config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},{width:{default:670},widthModifiers:{},visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:mergeModels(["change"],["update:width","update:visible"]),setup(e,{emit:t}){const i=e,o=t,{uiService:n}=useServices(),r=useModel(e,"width"),s=ref$1(""),a=ref$1({}),l=[{name:"index",type:"hidden",filter:"number",defaultValue:-1},{name:"title",text:"名称",rules:[{required:!0,message:"请输入字段名称"},{required:!0,message:"请输入名称"}]},{name:"description",text:"描述"},{name:"enable",text:"启用",type:"switch"},{name:"useInEditor",text:"编辑器中使用",type:"switch"},{name:"data",text:"mock数据",type:"vs-code",language:"json",options:inject("codeOptions",{}),defaultValue:"{}",height:"400px",onChange:(e,t)=>"string"!=typeof t?t:JSON.parse(t),rules:[{validator:({value:e,callback:t})=>{if("string"!=typeof e)return t();try{JSON.parse(e),t()}catch(i){t(i)}}}]}],c=[{type:"expand",component:_sfc_main$1q$1,props:e=>({initValues:e.data,language:"json",height:"150px",options:{readOnly:!0}})},{label:"名称",prop:"title"},{label:"描述",prop:"description"},{label:"是否启用",prop:"enable",type:"component",component:_sfc_main$9$3,props:e=>({modelValue:e.enable,activeValue:!0,inactiveValue:!1}),listeners:(e,t)=>({"update:modelValue":i=>{u(e,"enable",i,t)}})},{label:"编辑器中使用",prop:"useInEditor",type:"component",component:_sfc_main$9$3,props:e=>({modelValue:e.useInEditor,activeValue:!0,inactiveValue:!1}),listeners:(e,t)=>({"update:modelValue":i=>{u(e,"useInEditor",i,t)}})},{label:"操作",fixed:"right",actions:[{text:"编辑",handler:(e,t)=>{a.value={...e,index:t},s.value=`编辑${e.title}`,f(),h.value=!0}},{text:"删除",buttonType:"danger",handler:async(e,t)=>{await tMagicMessageBox.confirm(`确定删除${e.title}?`,"提示"),i.model[i.name].splice(t,1),o("change",i.model[i.name])}}]}],d=({index:e,...t})=>{e>-1?i.model[i.name][e]=t:i.model[i.name].push(t),h.value=!1,o("change",i.model[i.name])},u=(e,t,o,n)=>{o&&i.model[i.name].forEach(e=>{e[t]=!1}),d({...e,[t]:o,index:n})},h=useModel(e,"visible"),{height:p}=useEditorContentHeight(),g=inject("parentFloating",ref$1(null)),{boxPosition:m,calcBoxPosition:f}=useNextFloatBoxPosition(n,g);return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$R,[createVNode(unref(_sfc_main$1K),{data:e.model[e.name],columns:c},null,8,["data"]),createBaseVNode("div",_hoisted_2$g,[createVNode(unref(_sfc_main$G$2),{size:"small",type:"primary",disabled:e.disabled,plain:"",onClick:t[0]||(t[0]=e=>(()=>{const e=0===i.model[i.name].length;a.value={data:getDefaultValueFromFields(i.model.fields||[]),useInEditor:e,enable:e},s.value="新增Mock",f(),h.value=!0})())},{default:withCtx(()=>[...t[4]||(t[4]=[createTextVNode("添加",-1)])]),_:1},8,["disabled"])]),createVNode(_sfc_main$1j$1,{visible:h.value,"onUpdate:visible":t[1]||(t[1]=e=>h.value=e),width:r.value,"onUpdate:width":t[2]||(t[2]=e=>r.value=e),height:unref(p),"onUpdate:height":t[3]||(t[3]=e=>isRef(p)?p.value=e:null),title:s.value,position:unref(m)},{body:withCtx(()=>[createVNode(unref(_sfc_main$1L),{"label-width":"120px",config:l,values:a.value,parentValues:e.model[e.name],disabled:e.disabled,onSubmit:d},null,8,["values","parentValues","disabled"])]),_:1},8,["visible","width","height","title","position"])]))}}),_hoisted_1$Q={class:"m-fields-data-source-select"},_sfc_main$1a$1=defineComponent({name:"MFieldsDataSourceSelect",__name:"DataSourceSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=t,o=e,n=inject("mForm"),{dataSourceService:r,uiService:s}=useServices(),a=inject("eventBus"),l=computed$1(()=>r.get("dataSources")),c=computed$1(()=>filterFunction(n,o.config.notEditable,o)),d=computed$1(()=>s.get("sideBarItems").find(e=>e.$key===SideItemKey.DATA_SOURCE)),u=computed$1(()=>{const{type:e,dataSourceType:t,value:i,...n}=o.config,r="id"===o.config.value;return{...n,type:"select",valueKey:"dataSourceId",options:l.value.filter(e=>!o.config.dataSourceType||e.type===o.config.dataSourceType).map(e=>({value:r?e.id:{isBindDataSource:!0,dataSourceType:e.type,dataSourceId:e.id},text:e.title||e.id}))}}),h=e=>{i("change",e)},p=()=>{const e=o.model[o.name];if(!e)return;const t="string"==typeof e?e:e.dataSourceId;r.getDataSourceById(t)&&a?.emit("edit-data-source",t)};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$Q,[createVNode(unref(_sfc_main$7$2),{model:e.model,name:e.name,size:e.size,prop:e.prop,disabled:e.disabled,config:u.value,"last-values":e.lastValues,onChange:h},null,8,["model","name","size","prop","disabled","config","last-values"]),e.model[e.name]&&d.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,content:c.value?"查看":"编辑"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{class:"m-fields-select-action-button",size:e.size,onClick:p},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:c.value?unref(view_default):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])]),_:1},8,["content"])):createCommentVNode("v-if",!0)]))}}),_sfc_main$19$1=defineComponent({name:"m-fields-display-conds",__name:"DisplayConds",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=t,o=e,{dataSourceService:n}=useServices(),r=inject("mForm"),s=computed$1(()=>filterFunction(r,o.config.parentFields,o)||[]),a=computed$1(()=>({type:"groupList",name:o.name,titlePrefix:o.config.titlePrefix,expandAll:!0,items:[{type:"table",name:"cond",operateColWidth:100,enableToggleMode:!1,items:[s.value.length?{type:"cascader",options:()=>{const[e,...t]=s.value,i=n.getDataSourceById(e);if(!i)return[];let o=i.fields||[];return t.forEach(e=>{const t=o.find(t=>t.name===e);o=t?.fields||[]}),getCascaderOptionsFromFields(o,["string","number","boolean","any"])},name:"field",value:"key",label:"字段",checkStrictly:!1}:{type:"data-source-field-select",name:"field",value:"key",label:"字段",checkStrictly:!1,dataSourceFieldType:["string","number","boolean","any"]},{type:"cond-op-select",parentFields:s.value,label:"条件",width:160,name:"op"},{label:"值",width:160,items:[{name:"value",type:(e,{model:t})=>{const[i,...o]=[...s.value,...t.field],r=n.getDataSourceById(i);let a=r?.fields||[],l="";return(o||[]).forEach(e=>{const t=a.find(t=>t.name===e);a=t?.fields||[],l=t?.type||""}),"number"===l?"number":"boolean"===l?"select":"text"},options:[{text:"true",value:!0},{text:"false",value:!1}],display:(e,{model:t})=>!["between","not_between"].includes(t.op)},{name:"range",type:"number-range",display:(e,{model:t})=>["between","not_between"].includes(t.op)}]}]}]})),l=(e,t)=>{Array.isArray(o.model[o.name])||(o.model[o.name]=[]),i("change",e,t)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$u$2),{style:{width:"100%"},config:a.value,name:e.name,disabled:e.disabled,model:e.model,"last-values":e.lastValues,prop:e.prop,size:e.size,onChange:l},null,8,["config","name","disabled","model","last-values","prop","size"]))}}),_hoisted_1$P={class:"m-fields-event-select"},_hoisted_2$f={key:1,class:"fullWidth"},_sfc_main$18$1=defineComponent({name:"MFieldsEventSelect",__name:"EventSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t,{editorService:n,dataSourceService:r,eventsService:s,codeBlockService:a,propsService:l}=useServices(),c=computed$1(()=>{const e={name:"name",text:"事件",type:(e,{formValue:t})=>"component"!==i.config.src||"page-fragment-container"===t.type&&t.pageFragmentId?"cascader":"select",labelWidth:"40px",checkStrictly:()=>"component"!==i.config.src,valueSeparator:".",options:(e,{formValue:t})=>{let o=[];if("component"===i.config.src){if(o=s.getEvent(t.type),"page-fragment-container"===t.type&&t.pageFragmentId){const e=n.get("root")?.items?.find(e=>e.id===t.pageFragmentId);if(e)return o=[{label:e.name||"页面片容器",value:e.id,children:o}],e.items.forEach(e=>{traverseNode(e,e=>{const t=e.type&&s.getEvent(e.type)||[];o.push({label:`${e.name}_${e.id}`,value:`${e.id}`,children:t})})}),o}return o.map(e=>({text:e.label,value:e.value}))}if("datasource"===i.config.src){o=r.getFormEvent(t.type);const e=r.getDataSourceById(t.id),i=e?.fields||[];return i.length>0?[...o,{label:"数据变化",value:DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX,children:getCascaderOptionsFromFields(i)}]:o}}};return{...e,...i.config.eventNameConfig}}),d=computed$1(()=>{const e={name:"actionType",text:"联动类型",type:"select",defaultValue:ActionType.COMP,options:()=>{const e=[{text:"组件",label:"组件",value:ActionType.COMP}];return l.getDisabledCodeBlock()||e.push({text:"代码",label:"代码",disabled:!Object.keys(a.getCodeDsl()||{}).length,value:ActionType.CODE}),l.getDisabledDataSource()||e.push({text:"数据源",label:"数据源",value:ActionType.DATA_SOURCE}),e}};return{...e,...i.config.actionTypeConfig}}),u=computed$1(()=>{const e={name:"to",text:"联动组件",type:"ui-select",display:(e,{model:t})=>t.actionType===ActionType.COMP,onChange:(e,t,{setModel:i})=>(i("method",""),t)};return{...e,...i.config.targetCompConfig}}),h=computed$1(()=>({...{name:"method",text:"动作",type:(e,{model:t})=>{const i=n.getNodeById(t.to);return i&&"page-fragment-container"===i.type&&i.pageFragmentId?"cascader":"select"},checkStrictly:()=>"component"!==i.config.src,display:(e,{model:t})=>t.actionType===ActionType.COMP,options:(e,{model:t})=>{const i=n.getNodeById(t.to);if(!i?.type)return[];let o=[];if(o=s.getMethod(i.type,t.to),"page-fragment-container"===i.type&&i.pageFragmentId){const e=n.get("root")?.items?.find(e=>e.id===i.pageFragmentId);if(e)return o=[],e.items.forEach(e=>{traverseNode(e,e=>{const t=e.type&&s.getMethod(e.type,e.id)||[];t.length&&o.push({label:`${e.name}_${e.id}`,value:`${e.id}`,children:t})})}),o}return o.map(e=>({text:e.label,value:e.value}))}},...i.config.compActionConfig})),p=computed$1(()=>({...{type:"code-select-col",text:"代码块",name:"codeId",notEditable:()=>!a.getEditStatus(),display:(e,{model:t})=>t.actionType===ActionType.CODE},...i.config.codeActionConfig})),g=computed$1(()=>({...{type:"data-source-method-select",text:"数据源方法",name:"dataSourceMethod",notEditable:()=>!r.get("editable"),display:(e,{model:t})=>t.actionType===ActionType.DATA_SOURCE},...i.config.dataSourceActionConfig})),m=computed$1(()=>({type:"table",name:"events",items:[{name:"name",label:"事件名",type:c.value.type,options:(e,{formValue:t})=>s.getEvent(t.type).map(e=>({text:e.label,value:e.value}))},{name:"to",label:"联动组件",type:"ui-select"},{name:"method",label:"动作",type:h.value.type,options:(e,{model:t})=>{const i=n.getNodeById(t.to);return i?.type?s.getMethod(i.type,t.to).map(e=>({text:e.label,value:e.value})):[]}}]})),f=computed$1(()=>({type:"panel",items:[{type:"group-list",name:"actions",expandAll:!0,enableToggleMode:!1,titlePrefix:"动作",items:[d.value,u.value,h.value,p.value,g.value]}]})),v=computed$1(()=>0!==i.model[i.name].length&&!has(i.model[i.name][0],"actions")),b=(e,t)=>{o("change",i.model[i.name],t)},_=(e,t)=>o("change",i.model[i.name],t);return(e,t)=>{const n=resolveComponent("m-form-table");return openBlock(),createElementBlock("div",_hoisted_1$P,[v.value?(openBlock(),createBlock(n,{key:0,name:"events",size:e.size,disabled:e.disabled,model:e.model,config:m.value,onChange:_},null,8,["size","disabled","model","config"])):(openBlock(),createElementBlock("div",_hoisted_2$f,[createVNode(unref(_sfc_main$G$2),{class:"create-button",type:"primary",size:e.size,disabled:e.disabled,onClick:t[0]||(t[0]=e=>(i.model[i.name]||(i.model[i.name]=[]),void o("change",{name:"",actions:[]},{modifyKey:i.model[i.name].length})))},{default:withCtx(()=>[...t[1]||(t[1]=[createTextVNode("添加事件",-1)])]),_:1},8,["size","disabled"]),(openBlock(!0),createElementBlock(Fragment,null,renderList(e.model[e.name],(t,n)=>(openBlock(),createBlock(unref(_sfc_main$t$2),{key:n,disabled:e.disabled,size:e.size,prop:`${e.prop}.${n}`,config:f.value,model:t,"label-width":e.config.labelWidth||"100px",onChange:_},{header:withCtx(()=>[createVNode(unref(_sfc_main$x$2),{class:"fullWidth",config:c.value,model:t,disabled:e.disabled,size:e.size,prop:`${e.prop}.${n}`,onChange:b},null,8,["config","model","disabled","size","prop"]),createVNode(unref(_sfc_main$G$2),{style:{color:"#f56c6c"},link:"",icon:unref(delete_default),disabled:e.disabled,size:e.size,onClick:e=>(e=>{i.name&&(i.model[i.name].splice(e,1),o("change",i.model[i.name]))})(n)},null,8,["icon","disabled","size","onClick"])]),_:2},1032,["disabled","size","prop","config","model","label-width"]))),128))]))])}}}),_hoisted_1$O={viewBox:"0 0 32 32",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},_sfc_main$17$1=defineComponent({name:"MEditorCodeIcon",__name:"CodeIcon",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",_hoisted_1$O,[...t[0]||(t[0]=[createStaticVNode('',2)])]))}),_hoisted_1$N={class:"m-fields-key-value"},_hoisted_2$e={key:0},_sfc_main$16$1=defineComponent({name:"MFieldsKeyValue",__name:"KeyValue",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t,n=ref$1([]),r=ref$1(!1);watchEffect(()=>{if("function"==typeof i.model[i.name])r.value=!0;else{const e=Object.entries(i.model[i.name]||{});for(const[,t]of e)if("string"!=typeof t){r.value=!0;break}n.value=e}});const s=()=>{const e={};return n.value.forEach(([t,i])=>{t&&(e[t]=i)}),e},a=()=>{o("change",s())},l=()=>{o("change",s())},c=()=>{n.value.push(["",""])},d=e=>{o("change",e)};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$N,[r.value?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",_hoisted_2$e,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.value,(i,r)=>(openBlock(),createElementBlock("div",{class:"m-fields-key-value-item",key:r},[createVNode(unref(_sfc_main$n$3),{placeholder:"key",modelValue:n.value[r][0],"onUpdate:modelValue":e=>n.value[r][0]=e,disabled:e.disabled,size:e.size,onChange:a},null,8,["modelValue","onUpdate:modelValue","disabled","size"]),t[1]||(t[1]=createBaseVNode("span",{class:"m-fields-key-value-delimiter"},":",-1)),createVNode(unref(_sfc_main$n$3),{placeholder:"value",modelValue:n.value[r][1],"onUpdate:modelValue":e=>n.value[r][1]=e,disabled:e.disabled,size:e.size,onChange:l},null,8,["modelValue","onUpdate:modelValue","disabled","size"]),createVNode(unref(_sfc_main$G$2),{class:"m-fields-key-value-delete",type:"danger",size:e.size,disabled:e.disabled,circle:"",plain:"",icon:unref(delete_default),onClick:e=>(e=>{n.value.splice(e,1),o("change",s())})(r)},null,8,["size","disabled","icon","onClick"])]))),128)),createVNode(unref(_sfc_main$G$2),{type:"primary",size:e.size,disabled:e.disabled,plain:"",icon:unref(plus_default),onClick:c},{default:withCtx(()=>[...t[2]||(t[2]=[createTextVNode("添加",-1)])]),_:1},8,["size","disabled","icon"])])),e.config.advanced&&r.value?(openBlock(),createBlock(_sfc_main$1q$1,{key:1,height:"200px","init-values":e.model[e.name],language:"javascript",options:{readOnly:e.disabled},parse:!0,onSave:d},null,8,["init-values","options"])):createCommentVNode("v-if",!0),e.config.advanced?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:2,size:"default",disabled:e.disabled,link:"",icon:_sfc_main$17$1,onClick:t[0]||(t[0]=e=>r.value=!r.value)},null,8,["disabled"])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$M={class:"m-fields-page-fragment-select"},_hoisted_2$d={class:"page-fragment-select-container"},_sfc_main$15$1=defineComponent({name:"MFieldsPageFragmentSelect",__name:"PageFragmentSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const{editorService:i}=useServices(),o=t,n=e,r=computed$1(()=>i.get("root")?.items.filter(e=>e.type===NodeType.PAGE_FRAGMENT)),s={type:"select",name:n.name,options:()=>r.value?r.value.map(e=>({text:`${e.devconfig?.tabName||e.title||e.name}(${e.id})`,label:`${e.devconfig?.tabName||e.title||e.name}(${e.id})`,value:e.id})):[]},a=async()=>{o("change",n.model[n.name])};return(e,t)=>{const o=resolveComponent("m-form-container");return openBlock(),createElementBlock("div",_hoisted_1$M,[createBaseVNode("div",_hoisted_2$d,[createCommentVNode(" 页面片下拉框 "),createVNode(o,{class:"select",config:s,model:e.model,size:e.size,onChange:a},null,8,["model","size"]),createCommentVNode(" 编辑按钮 "),e.model[e.name]?(openBlock(),createBlock(_sfc_main$1r$1,{key:0,class:"icon",icon:unref(edit_default),onClick:t[0]||(t[0]=t=>{return o=e.model[e.name],void i.select(o);var o})},null,8,["icon"])):createCommentVNode("v-if",!0)])])}}}),_hoisted_1$L={class:"background-position-container"},_hoisted_2$c={class:"presets-value-list"},_hoisted_3$5={class:"custom-value"},_sfc_main$14$1=defineComponent({__name:"BackgroundPosition",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=t,o=[{value:"left",text:"左"},{value:"center",text:"中"},{value:"right",text:"右"}],n=[{value:"top",text:"上"},{value:"center",text:"中"},{value:"bottom",text:"下"}].map(e=>o.map(t=>({value:`${t.value} ${e.value}`,tips:`${t.text}${e.text}`,class:`${t.value}-${e.value}`}))).flat(),r=e=>{i("change",e)};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$L,[createBaseVNode("div",_hoisted_2$c,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(n),(t,i)=>(openBlock(),createBlock(unref(_sfc_main$G$2),{key:i,link:"",class:normalizeClass(e.model[e.name]===t.value&&"btn-active"),onClick:e=>r(t.value)},{default:withCtx(()=>[createBaseVNode("div",{class:normalizeClass(["position-icon",t.class,e.model[e.name]===t.value&&"active"])},null,2)]),_:2},1032,["class","onClick"]))),128))]),createBaseVNode("div",_hoisted_3$5,[createVNode(unref(_sfc_main$n$3),{modelValue:e.model[e.name],"onUpdate:modelValue":t[0]||(t[0]=t=>e.model[e.name]=t),size:"small",placeholder:"自定义背景位置",clearable:"",onChange:r},null,8,["modelValue"])])]))}}),_export_sfc$2=(e,t)=>{const i=e.__vccOpts||e;for(const[o,n]of t)i[o]=n;return i},_sfc_main$13$1={},_hoisted_1$K={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$k$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$K,[...t[0]||(t[0]=[createStaticVNode('',9)])])}const BackgroundRepeat=_export_sfc$2(_sfc_main$13$1,[["render",_sfc_render$k$1]]),_sfc_main$12$1={},_hoisted_1$J={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$j$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$J,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M796.444444 170.666667h-227.555555v682.666666h227.555555V170.666667z m-56.888888 625.777777h-113.777778V227.555556h113.777778v568.888888zM455.111111 170.666667H227.555556v682.666666h227.555555V170.666667zM398.222222 796.444444H284.444444V227.555556h113.777778v568.888888zM910.222222 56.888889h56.888889v910.222222h-56.888889zM56.888889 56.888889h56.888889v910.222222H56.888889z",fill:"#333333"},null,-1)])])}const BackgroundRepeatX=_export_sfc$2(_sfc_main$12$1,[["render",_sfc_render$j$1]]),_sfc_main$11$1={},_hoisted_1$I={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$i$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$I,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M170.666667 227.555556v227.555555h682.666666V227.555556H170.666667z m625.777777 56.888888v113.777778H227.555556V284.444444h568.888888zM170.666667 568.888889v227.555555h682.666666v-227.555555H170.666667z m625.777777 56.888889v113.777778H227.555556v-113.777778h568.888888zM56.888889 56.888889h910.222222v56.888889H56.888889zM56.888889 910.222222h910.222222v56.888889H56.888889z",fill:"#333333"},null,-1)])])}const BackgroundRepeatY=_export_sfc$2(_sfc_main$11$1,[["render",_sfc_render$i$1]]),_sfc_main$10$1={},_hoisted_1$H={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$h$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$H,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M912.526651 867.741144 555.540144 510.712681l356.986507-357.000833c11.171434-11.18576 11.171434-29.257348 0-40.443108-11.20111-11.18576-29.272697-11.18576-40.444131 0L515.096013 470.267527 158.096203 113.267716c-11.187807-11.159154-29.258371-11.159154-40.444131 0-11.186783 11.186783-11.186783 29.286 0 40.47176L474.623229 510.712681 117.623419 867.741144c-11.159154 11.172457-11.159154 29.216415 0 40.443108 11.18576 11.17348 29.284977 11.17348 40.47176 0l357.000833-357.027439 356.985484 357.027439c11.171434 11.17348 29.243021 11.17348 40.444131 0C923.698085 896.957559 923.725714 878.913601 912.526651 867.741144z",fill:"#5D5D5D"},null,-1)])])}const BackgroundNoRepeat=_export_sfc$2(_sfc_main$10$1,[["render",_sfc_render$h$1]]),_sfc_main$$$1=defineComponent({__name:"Background",props:{values:{}},emits:["change"],setup(e,{emit:t}){const i=t,o={items:[{name:"backgroundColor",text:"背景色",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"colorPicker"}},{name:"backgroundImage",text:"背景图",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"img-upload"}},{name:"backgroundSize",text:"背景尺寸",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"auto",text:"默认",tooltip:"默认 auto"},{value:"contain",text:"等比填充",tooltip:"等比填充 contain"},{value:"cover",text:"等比覆盖",tooltip:"等比覆盖 cover"}]},{name:"backgroundRepeat",text:"重复显示",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"repeat",icon:markRaw(BackgroundRepeat),tooltip:"垂直和水平方向重复 repeat"},{value:"repeat-x",icon:markRaw(BackgroundRepeatX),tooltip:"水平方向重复 repeat-x"},{value:"repeat-y",icon:markRaw(BackgroundRepeatY),tooltip:"垂直方向重复 repeat-y"},{value:"no-repeat",icon:markRaw(BackgroundNoRepeat),tooltip:"不重复 no-repeat"}]},{name:"backgroundPosition",text:"背景定位",type:"component",component:_sfc_main$14$1,labelWidth:"68px"}]},n=(e,t)=>{i("change",e,t)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$x$2),{config:o,model:e.values,onChange:n},null,8,["model"]))}}),_sfc_main$_$1={},_hoisted_1$G={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$g$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$G,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M128 810.666667h768v85.333333H128z m0-170.666667h512v85.333333H128z m0-170.666667h768v85.333334H128z m0-341.333333h768v85.333333H128z m0 170.666667h512v85.333333H128z"},null,-1)])])}const AlignLeft=_export_sfc$2(_sfc_main$_$1,[["render",_sfc_render$g$1]]),_sfc_main$Z$1={},_hoisted_1$F={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$f$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$F,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M128 810.666667h768v85.333333H128z m128-170.666667h512v85.333333H256z m-128-170.666667h768v85.333334H128z m0-341.333333h768v85.333333H128z m128 170.666667h512v85.333333H256z"},null,-1)])])}const AlignCenter=_export_sfc$2(_sfc_main$Z$1,[["render",_sfc_render$f$1]]),_sfc_main$Y$1={},_hoisted_1$E={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$e$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$E,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M128 128h768v85.333333H128z m0 682.666667h768v85.333333H128z m213.333333-170.666667h554.666667v85.333333H341.333333z m-213.333333-170.666667h768v85.333334H128z m213.333333-170.666666h554.666667v85.333333H341.333333z"},null,-1)])])}const AlignRight=_export_sfc$2(_sfc_main$Y$1,[["render",_sfc_render$e$1]]),_sfc_main$X$1=defineComponent({__name:"Font",props:{values:{}},emits:["change"],setup(e,{emit:t}){const i=t,o={items:[{type:"row",items:[{labelWidth:"68px",name:"fontSize",text:"字号",type:"data-source-field-select",fieldConfig:{type:"text"}},{labelWidth:"68px",name:"lineHeight",text:"行高",type:"data-source-field-select",fieldConfig:{type:"text"}}]},{name:"fontWeight",text:"字重",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"select",options:["normal","bold"].concat(Array(7).fill(1).map((e,t)=>`${t+1}00`)).map(e=>({value:e,text:e}))}},{labelWidth:"68px",name:"color",text:"颜色",type:"data-source-field-select",fieldConfig:{type:"colorPicker"}},{name:"textAlign",text:"对齐",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"left",icon:markRaw(AlignLeft),tooltip:"左对齐 row"},{value:"center",icon:markRaw(AlignCenter),tooltip:"居中对齐 center"},{value:"right",icon:markRaw(AlignRight),tooltip:"右对齐 right"}]}]},n=(e,t)=>{i("change",e,t)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$x$2),{config:o,model:e.values,onChange:n},null,8,["model"]))}}),_hoisted_1$D={class:"layout-box-container"},_hoisted_2$b={key:0,class:"help-txt"},_hoisted_3$4={class:"next-input"},_hoisted_4$4=["onUpdate:modelValue","title","onChange"],_sfc_main$W$1=defineComponent({__name:"Box",props:{model:{}},emits:["change"],setup(e,{emit:t}){const i=[{name:"marginTop",class:"outer-top-border"},{name:"marginRight",class:"outer-right-border"},{name:"marginBottom",text:"MARGIN",class:"outer-bottom-border"},{name:"marginLeft",class:"outer-left-border"},{name:"paddingTop",class:"inner-top-border"},{name:"paddingRight",class:"inner-right-border"},{name:"paddingBottom",text:"PADDING",class:"inner-bottom-border"},{name:"paddingLeft",class:"inner-left-border"}],o=t;return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$D,[(openBlock(),createElementBlock(Fragment,null,renderList(i,(t,i)=>createBaseVNode("div",{key:i,class:normalizeClass(t.class)},[t.text?(openBlock(),createElementBlock("span",_hoisted_2$b,toDisplayString(t.text),1)):createCommentVNode("v-if",!0),createBaseVNode("span",_hoisted_3$4,[withDirectives(createBaseVNode("input",{"onUpdate:modelValue":i=>e.model[t.name]=i,title:e.model[t.name],onChange:e=>{return i=e,n=t.name,void o("change",i.target.value,{modifyKey:n});var i,n},placeholder:"0"},null,40,_hoisted_4$4),[[vModelText,e.model[t.name]]])])],2)),64))]))}}),_sfc_main$V$1={},_hoisted_1$C={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$d$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$C,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M960 128a64 64 0 0 1 64 64v640a64 64 0 0 1-64 64H64a64 64 0 0 1-64-64V192a64 64 0 0 1 64-64h896z m0 64H64v640h896V192z m-96 64a32 32 0 0 1 32 32v448a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32h704z"},null,-1)])])}const DisplayBlock=_export_sfc$2(_sfc_main$V$1,[["render",_sfc_render$d$1]]),_sfc_main$U$1={},_hoisted_1$B={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$c$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$B,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M960 128a64 64 0 0 1 64 64v640a64 64 0 0 1-64 64H64a64 64 0 0 1-64-64V192a64 64 0 0 1 64-64h896z m0 64H64v640h896V192zM352 256v512H160V256h192z m256 0v512h-192V256h192z m256 0v512h-192V256h192z"},null,-1)])])}const DisplayFlex=_export_sfc$2(_sfc_main$U$1,[["render",_sfc_render$c$1]]),_sfc_main$T$1={},_hoisted_1$A={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$b$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$A,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M787.616 651.36a142.72 142.72 0 0 0 52.864 31.904 205.504 205.504 0 0 0 67.264 10.848 245.76 245.76 0 0 0 38.784-2.4c9.504-1.6 19.36-4 30.208-7.04 8.16-2.24 15.968-5.12 23.36-8.32l23.392-10.816V587.52h-8.736c-3.968 3.424-8.96 7.648-15.104 12.544a190.272 190.272 0 0 1-19.936 13.504 120.32 120.32 0 0 1-27.616 12.544 102.528 102.528 0 0 1-62.72-0.576 80 80 0 0 1-29.824-17.088 89.28 89.28 0 0 1-21.664-32.512c-5.696-13.664-8.64-30.784-8.64-51.296 0-19.744 2.72-36.384 7.968-50.08 5.248-13.664 12.384-24.896 20.992-33.056 9.12-8.832 18.816-14.816 29.632-18.816a101.824 101.824 0 0 1 63.68-0.736c9.408 3.136 18.08 7.04 26.112 11.68 13.024 7.808 25.28 16.768 36.672 26.784H1024v-78.72c-6.08-2.88-13.12-6.08-21.12-9.6a205.984 205.984 0 0 0-57.152-15.36 270.016 270.016 0 0 0-37.056-2.304c-24.864 0-47.744 4-68.704 11.84-20.992 7.776-38.432 18.784-52.64 33.6a144.256 144.256 0 0 0-33.632 54.176 207.68 207.68 0 0 0-12.48 70.176c0 27.84 3.968 52.352 12.16 73.568a146.08 146.08 0 0 0 34.176 53.184l0.064 0.416z m-186.112 34.656a122.912 122.912 0 0 0 42.784-21.504c11.2-8.32 20.224-19.296 26.24-31.936 6.56-13.664 9.888-28.704 9.664-43.904 0-22.784-6.272-41.024-18.912-54.72-12.544-13.92-29.664-23.04-51.104-27.36v-2.304c14.4-6.24 26.688-16.448 35.52-29.408 8.384-12.544 12.544-27.008 12.544-43.52 0-14.24-2.944-26.784-9.12-37.6a65.696 65.696 0 0 0-27.936-26.24 117.44 117.44 0 0 0-36.48-12.096A437.312 437.312 0 0 0 526.656 352h-127.552v340.384h143.392c23.84 0 43.52-2.112 59.008-6.4z m-118.112-271.584h7.968c16.544 0 29.472 0.128 38.656 0.352 9.248 0.576 16.864 1.728 23.04 4a26.24 26.24 0 0 1 14.4 13.12c2.656 5.28 4.064 11.072 4.128 16.96 0.16 6.656-1.056 13.248-3.52 19.392a28.064 28.064 0 0 1-15.04 13.696c-7.04 2.912-14.56 4.48-22.208 4.576-9.472 0.32-20.864 0.544-34.24 0.544h-13.184v-72.64z m6.144 215.52h-6.144v-84.8h18.464c12.64 0 24.736 0 36.384 0.256 9.216-0.16 18.432 0.896 27.36 3.2 9.696 2.848 16.544 7.232 20.512 13.12 4 5.92 6.08 14.24 6.08 25.088 0 8.192-1.728 15.488-4.992 21.824-3.232 6.336-9.696 11.392-18.24 15.392-8.544 4-18.24 5.696-28.48 6.272-10.304 0.224-27.392 0.224-51.328 0.224l0.384-0.576z m-378.56-6.016h124.672l23.36 68.416H348.8L224.32 353.728H124.416L0 692.384h87.52l23.488-68.416-0.064-0.032z m62.336-183.552l41.472 121.44h-82.88l41.408-121.44z"},null,-1)])])}const DisplayInline=_export_sfc$2(_sfc_main$T$1,[["render",_sfc_render$b$1]]),_sfc_main$S$1={},_hoisted_1$z={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$a$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$z,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M960 128a64 64 0 0 1 64 64v640a64 64 0 0 1-64 64H64a64 64 0 0 1-64-64V192a64 64 0 0 1 64-64h896z m0 64H64v640h896V192z m-131.936 158.496c65.984 1.824 109.024 32.512 129.184 92.064l-65.952 15.136-1.856-5.664c-9.984-27.52-30.432-42.112-61.376-43.84-46.72 2.784-71.456 35.296-74.208 97.6 1.856 63.2 26.56 96.64 74.24 100.32 37.536-0.928 59.52-23.36 65.92-67.328L960 559.36l-1.792 7.232c-16.96 63.872-60.352 95.84-130.144 95.84-93.44-4.608-142.464-56.8-147.04-156.672 4.576-98.048 53.6-149.792 147.04-155.296z m-568.928 4.128l114.08 302.336H297.6l-22.016-65.984H160.192L138.24 656.96H64l112.672-302.336h82.464z m278.976 0l7.68 0.32c62.816 3.36 96 27.104 99.52 71.136 0 35.744-19.712 59.552-59.104 71.456 42.144 9.184 65.952 32.544 71.456 70.08 0 59.552-37.568 89.344-112.672 89.344h-148.416v-302.336h141.536z m-4.128 173.152H465.28v81.088h67.328c33.92 0 51.296-13.76 52.224-41.248-2.752-25.632-19.68-38.912-50.848-39.84zM217.92 408.224h-1.376l-0.96 7.36c-1.184 7.232-3.168 13.92-5.92 20.128l-34.336 103.04h87.936l-38.464-104.416-2.624-9.024c-1.6-5.888-3.04-11.584-4.256-17.088z m309.184-2.752H465.28v71.456h61.824c29.344-0.928 44.448-13.76 45.376-38.464-0.96-22.016-16.032-32.992-45.376-32.992z"},null,-1)])])}const DisplayInlineBlock=_export_sfc$2(_sfc_main$S$1,[["render",_sfc_render$a$1]]),_sfc_main$R$1={},_hoisted_1$y={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$9$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$y,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M931.37 477.14c-43.94-69.49-93.39-125.03-147.99-166.35L663.31 441.46c8.79 21.36 13.63 44.91 13.63 69.62 0 96.27-73.84 174.32-164.95 174.32-21.63 0-42.28-4.39-61.32-12.47l-94.09 102.52a455.097 455.097 0 0 0 155.41 26.2c172.62 0 312.43-85.54 419.59-256.63 12.83-20.43 12.72-47.45-0.21-67.88zM795.52 127.99L682.24 252.82C627.73 231 570.1 220.04 512.11 220.5c-171.15 0-310.99 85.66-419.48 256.75-12.93 20.43-13.04 47.33-0.2 67.78 46.95 75.15 100.3 133.68 160.01 175.82L131.9 853.65l38.9 42.36 663.6-725.76-38.88-42.26zM519.68 438.37c-3.72-0.59-7.46-0.81-11.27-0.81-45.63 0-82.43 39.03-82.43 87.16 0 4.97 0.42 9.81 1.14 14.54l-57.15 60.14-5.92 8.33c-13.15-24.94-20.5-53.68-20.5-84.28 0-96.3 73.84-174.45 164.95-174.45 27.2 0 52.76 6.93 75.4 19.29l-64.22 70.08z m52.05 135.53c21.74-23.26 27.17-55.48 16.31-81.39l-96.42 103.16c26.59 9.08 58.38 1.48 80.11-21.77z"},null,-1)])])}const DisplayNone=_export_sfc$2(_sfc_main$R$1,[["render",_sfc_render$9$1]]),_sfc_main$Q$1={},_hoisted_1$x={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$8$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$x,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M896 320H128V0h768v320z m0 320H128v-256h768v256z m-128 192l-256 192-256-192 192-0.032V704h128v128h192z"},null,-1)])])}const FlexDirectionColumn=_export_sfc$2(_sfc_main$Q$1,[["render",_sfc_render$8$1]]),_sfc_main$P$1={},_hoisted_1$w={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$7$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$w,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M896 704H128v320h768V704z m0-320H128v256h768v-256z m-128-192l-256-192-256 192 192 0.032V320h128V192h192z"},null,-1)])])}const FlexDirectionColumnReverse=_export_sfc$2(_sfc_main$P$1,[["render",_sfc_render$7$1]]),_sfc_main$O$1={},_hoisted_1$v={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$6$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$v,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M320 128v768H0V128h320z m320 0v768h-256V128h256z m192 128l192 256-192 256-0.032-192H704v-128h128V256z"},null,-1)])])}const FlexDirectionRow=_export_sfc$2(_sfc_main$O$1,[["render",_sfc_render$6$1]]),_sfc_main$N$1={},_hoisted_1$u={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$5$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$u,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M704 128v768h320V128H704zM384 128v768h256V128h-256zM192 256l-192 256 192 256 0.032-192H320v-128H192V256z"},null,-1)])])}const FlexDirectionRowReverse=_export_sfc$2(_sfc_main$N$1,[["render",_sfc_render$5$1]]),_sfc_main$M$1={},_hoisted_1$t={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$4$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$t,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M480 1024V0h64v1024h-64z m128-64V64h320v896H608zM96 960V64h320v896H96z"},null,-1)])])}const JustifyContentCenter=_export_sfc$2(_sfc_main$M$1,[["render",_sfc_render$4$1]]),_sfc_main$L$1={},_hoisted_1$s={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$3$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$s,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M416 160H96v704h320V160z m384 0H480v704h320V160z m128-160h-64v1024h64V0z"},null,-1)])])}const JustifyContentFlexEnd=_export_sfc$2(_sfc_main$L$1,[["render",_sfc_render$3$1]]),_sfc_main$K$1={},_hoisted_1$r={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$2$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$r,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M608 160h320v704H608V160zM224 160h320v704H224V160zM96 0h64v1024H96V0z"},null,-1)])])}const JustifyContentFlexStart=_export_sfc$2(_sfc_main$K$1,[["render",_sfc_render$2$1]]),_sfc_main$J$1={},_hoisted_1$q={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$1$1(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$q,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M320 864H192v160H128v-160H0V160h128V0h64v160h128v704z m704 0h-128v160h-64v-160h-128V160h128V0h64v160h128v704z"},null,-1)])])}const JustifyContentSpaceAround=_export_sfc$2(_sfc_main$J$1,[["render",_sfc_render$1$1]]),_sfc_main$I$1={},_hoisted_1$p={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$o(e,t){return openBlock(),createElementBlock("svg",_hoisted_1$p,[...t[0]||(t[0]=[createBaseVNode("path",{d:"M64 1024H0V0h64v1024z m384-160H128V160h320v704z m448 0H576V160h320v704z m128 160h-64V0h64v1024z"},null,-1)])])}const JustifyContentSpaceBetween=_export_sfc$2(_sfc_main$I$1,[["render",_sfc_render$o]]),_sfc_main$H$1=defineComponent({__name:"Layout",props:{values:{}},emits:["change"],setup(e,{emit:t}){const i=t,o={items:[{name:"display",text:"模式",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"inline",icon:markRaw(DisplayInline),tooltip:"内联布局 inline"},{value:"flex",icon:markRaw(DisplayFlex),tooltip:"弹性布局 flex"},{value:"block",icon:markRaw(DisplayBlock),tooltip:"块级布局 block"},{value:"inline-block",icon:markRaw(DisplayInlineBlock),tooltip:"内联块布局 inline-block"},{value:"none",icon:markRaw(DisplayNone),tooltip:"隐藏 none"}]},{name:"flexDirection",text:"主轴方向",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"row",icon:markRaw(FlexDirectionRow),tooltip:"水平方向 起点在左侧 row"},{value:"row-reverse",icon:markRaw(FlexDirectionRowReverse),tooltip:"水平方向 起点在右侧 row-reverse"},{value:"column",icon:markRaw(FlexDirectionColumn),tooltip:"垂直方向 起点在上沿 column"},{value:"column-reverse",icon:markRaw(FlexDirectionColumnReverse),tooltip:"垂直方向 起点在下沿 column-reverse"}],display:(e,{model:t})=>"flex"===t.display},{name:"justifyContent",text:"主轴对齐",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"flex-start",icon:markRaw(JustifyContentFlexStart),tooltip:"左对齐 flex-start"},{value:"flex-end",icon:markRaw(JustifyContentFlexEnd),tooltip:"右对齐 flex-end"},{value:"center",icon:markRaw(JustifyContentCenter),tooltip:"居中 center"},{value:"space-between",icon:markRaw(JustifyContentSpaceBetween),tooltip:"两端对齐 space-between"},{value:"space-around",icon:markRaw(JustifyContentSpaceAround),tooltip:"横向平分 space-around"}],display:(e,{model:t})=>"flex"===t.display},{name:"alignItems",text:"辅轴对齐",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"flex-start",icon:markRaw(JustifyContentFlexStart),tooltip:"左对齐 flex-start"},{value:"flex-end",icon:markRaw(JustifyContentFlexEnd),tooltip:"右对齐 flex-end"},{value:"center",icon:markRaw(JustifyContentCenter),tooltip:"居中 center"},{value:"space-between",icon:markRaw(JustifyContentSpaceBetween),tooltip:"两端对齐 space-between"},{value:"space-around",icon:markRaw(JustifyContentSpaceAround),tooltip:"横向平分 space-around"}],display:(e,{model:t})=>"flex"===t.display},{name:"flexWrap",text:"换行",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"nowrap",text:"不换行",tooltip:"不换行 nowrap"},{value:"wrap",text:"正换行",tooltip:"第一行在上方 wrap"},{value:"wrap-reverse",text:"逆换行",tooltip:"第一行在下方 wrap-reverse"}],display:(e,{model:t})=>"flex"===t.display},{type:"row",items:[{name:"width",text:"宽度",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"text"}},{name:"height",text:"高度",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"text"}}]},{type:"row",items:[{type:"data-source-field-select",text:"overflow",name:"overflow",labelWidth:"68px",checkStrictly:!1,dataSourceFieldType:["string"],fieldConfig:{type:"select",clearable:!0,allowCreate:!0,options:[{text:"visible",value:"visible"},{text:"hidden",value:"hidden"},{text:"clip",value:"clip"},{text:"scroll",value:"scroll"},{text:"auto",value:"auto"},{text:"overlay",value:"overlay"},{text:"initial",value:"initial"}]}},{type:"data-source-field-select",text:"透明度",name:"opacity",labelWidth:"68px",dataSourceFieldType:["string","number"],fieldConfig:{type:"text"}}]}]},n=(e,t)=>{i("change",e,t)};return(e,t)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$x$2),{config:o,model:e.values,onChange:n},null,8,["model"]),withDirectives(createVNode(_sfc_main$W$1,{model:e.values,onChange:n},null,8,["model"]),[[vShow,!["fixed","absolute"].includes(e.values.position)]])],64))}}),_sfc_main$G$1=defineComponent({__name:"Position",props:{values:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t,n={static:"不定位",relative:"相对定位",absolute:"绝对定位",fixed:"固定定位",sticky:"粘性定位"},r={items:[{name:"position",text:"定位",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"select",options:Object.keys(n).map(e=>({value:e,text:`${e}(${n[e]})`}))}},{type:"row",labelWidth:"68px",display:()=>"static"!==i.values.position,items:[{name:"left",type:"data-source-field-select",text:"left",fieldConfig:{type:"text"}},{name:"top",type:"data-source-field-select",text:"top",fieldConfig:{type:"text"}}]},{type:"row",labelWidth:"68px",display:()=>"static"!==i.values.position,items:[{name:"right",type:"data-source-field-select",text:"right",fieldConfig:{type:"text"}},{name:"bottom",type:"data-source-field-select",text:"bottom",fieldConfig:{type:"text"}}]},{labelWidth:"68px",name:"zIndex",text:"zIndex",type:"data-source-field-select",fieldConfig:{type:"text"}}]},s=(e,t)=>{o("change",e,t)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$x$2),{config:r,model:e.values,onChange:s},null,8,["model"]))}}),_hoisted_1$o={class:"border-box-container"},_hoisted_2$a={class:"border-icon-container"},_hoisted_3$3={class:"border-icon-container-row"},_hoisted_4$3={class:"border-icon-container-row"},_hoisted_5$1={class:"border-icon-container-row"},_hoisted_6$1={class:"border-value-container"},_sfc_main$F$1=defineComponent({__name:"Border",props:{model:{}},emits:["change"],setup(e,{emit:t}){const i=ref$1(""),o=computed$1(()=>({items:[{name:`border${i.value}Width`,text:"边框宽度",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"text"}},{name:`border${i.value}Color`,text:"边框颜色",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"colorPicker"}},{name:`border${i.value}Style`,text:"边框样式",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"select",options:["solid","dashed","dotted"].map(e=>({value:e,text:e}))}}]})),n=e=>i.value=e||"",r=t,s=(e,t)=>{t.changeRecords?.forEach(e=>{r("change",e.value,{modifyKey:e.propPath})})};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$o,[createBaseVNode("div",_hoisted_2$a,[createBaseVNode("div",_hoisted_3$3,[createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-top",{active:"Top"===i.value}]),onClick:t[0]||(t[0]=e=>n("Top"))},null,2)]),createBaseVNode("div",_hoisted_4$3,[createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-left",{active:"Left"===i.value}]),onClick:t[1]||(t[1]=e=>n("Left"))},null,2),createBaseVNode("div",{class:normalizeClass(["border-icon",{active:""===i.value}]),onClick:t[2]||(t[2]=e=>n())},null,2),createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-right",{active:"Right"===i.value}]),onClick:t[3]||(t[3]=e=>n("Right"))},null,2)]),createBaseVNode("div",_hoisted_5$1,[createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-bottom",{active:"Bottom"===i.value}]),onClick:t[4]||(t[4]=e=>n("Bottom"))},null,2)])]),createBaseVNode("div",_hoisted_6$1,[createVNode(unref(_sfc_main$x$2),{config:o.value,model:e.model,onChange:s},null,8,["config","model"])])]))}}),_sfc_main$E$1=defineComponent({__name:"Border",props:{values:{}},emits:["change"],setup(e,{emit:t}){const i=t,o={items:[{labelWidth:"68px",name:"borderRadius",text:"圆角",type:"data-source-field-select",fieldConfig:{type:"text"}}]},n=(e,t)=>{i("change",e,t)};return(e,t)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$x$2),{config:o,model:e.values,onChange:n},null,8,["model"]),createVNode(_sfc_main$F$1,{model:e.values,onChange:n},null,8,["model"])],64))}}),_hoisted_1$n={class:"m-fields-style-setter"},_sfc_main$D$1=defineComponent({name:"MFieldsStyleSetter",__name:"Index",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t,n=[{name:"font",title:"布局",component:_sfc_main$H$1},{title:"位置",component:_sfc_main$G$1},{title:"背景",component:_sfc_main$$$1},{title:"文字",component:_sfc_main$X$1},{title:"边框与圆角",component:_sfc_main$E$1}],r=shallowRef(Array(n.length).fill(1).map((e,t)=>`${t}`)),s=(e,t)=>{t.changeRecords?.forEach(e=>{e.propPath=`${i.name}.${e.propPath}`}),o("change",e,t)};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$n,[createVNode(unref(_sfc_main$A$2),{"model-value":r.value},{default:withCtx(()=>[(openBlock(),createElementBlock(Fragment,null,renderList(n,(t,i)=>createVNode(unref(_sfc_main$z$2),{key:i,name:`${i}`},{title:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(grid_default)},null,8,["icon"]),createTextVNode(toDisplayString(t.title),1)]),default:withCtx(()=>[t.component?(openBlock(),createBlock(resolveDynamicComponent(t.component),{key:0,values:e.model[e.name],onChange:s},null,40,["values"])):createCommentVNode("v-if",!0)]),_:2},1032,["name"])),64))]),_:1},8,["model-value"])]))}}),_hoisted_1$m={key:1,class:"m-fields-ui-select",style:{display:"flex"}},_sfc_main$C$1=defineComponent({name:"MFieldsUISelect",__name:"UISelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(e,{emit:t}){const i=e,o=t,{editorService:n,uiService:r,stageOverlayService:s}=useServices(),a=inject("mForm"),l=computed$1(()=>i.model[i.name]),c=ref$1(!1),d=()=>{r.set("uiSelectMode",!1),c.value=!1,globalThis.document.removeEventListener(UI_SELECT_MODE_EVENT_NAME,u)},u=({detail:e})=>{let{id:t}=e;e.nodeType&&(t=getIdFromEl()(e)||t),t&&(i.model[i.name]=t,o("change",t),a?.$emit("field-change",i.prop,t)),d&&d()},h=computed$1(()=>{const e=n.getNodeById(l.value);return e?.name||""}),p=()=>{r.set("uiSelectMode",!0),c.value=!0,globalThis.document.addEventListener(UI_SELECT_MODE_EVENT_NAME,u)},g=()=>{i.model&&(i.model[i.name]="",o("change",""),a?.$emit("field-change",i.prop,""))},m=throttle$2(e=>{n.highlight(e),n.get("stage")?.highlight(e),s.get("stage")?.highlight(e)},150),f=()=>{n.set("highlightNode",null),n.get("stage")?.clearHighlight(),s.get("stage")?.clearHighlight()};return(e,t)=>c.value?(openBlock(),createElementBlock("div",{key:0,class:"m-fields-ui-select",onClick:d},[createVNode(unref(_sfc_main$G$2),{type:"danger",icon:unref(delete_default),disabled:e.disabled,size:e.size,link:"",style:{padding:"0"}},{default:withCtx(()=>[...t[2]||(t[2]=[createTextVNode("取消",-1)])]),_:1},8,["icon","disabled","size"])])):(openBlock(),createElementBlock("div",_hoisted_1$m,[l.value?(openBlock(),createElementBlock(Fragment,{key:0},[createVNode(unref(_sfc_main$2$4),{content:"清除",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{style:{padding:"0"},type:"danger",icon:unref(close_default),disabled:e.disabled,size:e.size,link:"",onClick:withModifiers(g,["stop"])},null,8,["icon","disabled","size"])]),_:1}),createVNode(unref(_sfc_main$2$4),{content:"点击选中组件",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{link:"",style:{padding:"0",margin:"0"},disabled:e.disabled,size:e.size,onClick:t[0]||(t[0]=e=>(async e=>{await n.select(e),n.get("stage")?.select(e),s.get("stage")?.select(e)})(l.value)),onMouseenter:t[1]||(t[1]=e=>unref(m)(l.value)),onMouseleave:f},{default:withCtx(()=>[createTextVNode(toDisplayString(`${h.value}_${l.value}`),1)]),_:1},8,["disabled","size"])]),_:1})],64)):(openBlock(),createBlock(unref(_sfc_main$2$4),{key:1,content:"点击此处选择",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{link:"",style:{padding:"0",margin:"0"},disabled:e.disabled,size:e.size,onClick:p},{default:withCtx(()=>[...t[3]||(t[3]=[createTextVNode("点击此处选择",-1)])]),_:1},8,["disabled","size"])]),_:1}))]))}}),_sfc_main$B$1=defineComponent({name:"MEditorResizer",__name:"Resizer",emits:["change"],setup(e,{emit:t}){const i=t,o=useTemplateRef("target"),{isDragging:n}=useGetSo(o,i);return(e,t)=>(openBlock(),createElementBlock("span",{ref:"target",class:normalizeClass(["m-editor-resizer",{"m-editor-resizer-dragging":unref(n)}])},[renderSlot(e.$slots,"default")],2))}}),_sfc_main$A$1=defineComponent({name:"MEditorSplitView",__name:"SplitView",props:{width:{},left:{},right:{},minLeft:{default:1},minRight:{default:1},minCenter:{default:5},leftClass:{},rightClass:{},centerClass:{}},emits:["update:left","change","update:right"],setup(e,{expose:t,emit:i}){const o=i,n=e,r=useTemplateRef("target"),s=computed$1(()=>void 0!==n.left),a=computed$1(()=>void 0!==n.right),l=ref$1(0);let c=0;const d=(e=0,t=0)=>{let i=t>0?t:0,o=e>0?e:0,r=c-o-i;if(r{if(e<=0)return;c=e;let t=n.left||n.minLeft||0,i=n.right||n.minRight||0;t>c&&(t=c/3),i>c&&(i=c/3);const r=d(t,i);l.value=r.center,o("change",r)};if("number"!=typeof n.width){const e=new ResizeObserver(e=>{for(const{contentRect:t}of e)u(t.width)});onMounted(()=>{r.value&&e.observe(r.value)}),onBeforeUnmount(()=>{e.disconnect()})}else watchEffect(()=>{"number"==typeof n.width&&u(n.width)});const h=({deltaX:e})=>{if(void 0===n.left)return;let t=Math.max(n.left+e,n.minLeft)||0;o("update:left",t),c-t-(n.right||0)<=0&&(t=n.left);const i=d(t,n.right||0);l.value=i.center,o("change",{left:i.left,center:l.value,right:i.right})},p=({deltaX:e})=>{if(void 0===n.right)return;let t=Math.max(n.right-e,n.minRight)||0;o("update:right",t),c-(n.left||0)-t<=0&&(t=n.right);const i=d(n.left,t);l.value=i.center,o("change",{left:i.left,center:l.value,right:i.right})};return t({updateWidth(){if(c=n.width??r.value?.clientWidth??c,c<=0)return;const e=d(n.left,n.right);o("change",{left:e.left,center:l.value,right:e.right})}}),(e,t)=>(openBlock(),createElementBlock("div",{ref:"target",class:"m-editor-layout",style:normalizeStyle(`min-width: ${n.minCenter+n.minLeft+n.minRight}px`)},[s.value&&e.$slots.left?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode("div",{class:normalizeClass(["m-editor-layout-left",e.leftClass]),style:normalizeStyle(`width: ${e.left}px`)},[renderSlot(e.$slots,"left")],6),createVNode(_sfc_main$B$1,{onChange:h})],64)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(["m-editor-layout-center",e.centerClass]),style:normalizeStyle(`width: ${l.value}px`)},[renderSlot(e.$slots,"center")],6),a.value&&e.$slots.right?(openBlock(),createElementBlock(Fragment,{key:1},[createVNode(_sfc_main$B$1,{onChange:p}),createBaseVNode("div",{class:normalizeClass(["m-editor-layout-right",e.rightClass]),style:normalizeStyle(`width: ${e.right}px`)},[renderSlot(e.$slots,"right")],6)],64)):createCommentVNode("v-if",!0)],4))}}),_hoisted_1$l={key:1,class:"menu-item-text"},_hoisted_2$9={class:"el-dropdown-link menubar-menu-button"},_sfc_main$z$1=defineComponent({name:"MEditorToolButton",__name:"ToolButton",props:{data:{default:()=>({type:"text",display:!1})},eventType:{default:"click"}},setup(e){const t=e,i=useServices(),o=computed$1(()=>"string"!=typeof t.data&&("component"!==t.data.type&&("function"==typeof t.data.disabled?t.data.disabled(i):t.data.disabled))),n=computed$1(()=>!!t.data&&("string"==typeof t.data||("function"==typeof t.data.display?t.data.display(i):t.data.display??!0))),r=(e,t)=>{o.value||"function"==typeof e.handler&&e.handler?.(i,t)},s=e=>{e.item.handler&&e.item.handler(i)};return(e,i)=>n.value?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["menu-item",`${e.data.type} ${e.data.className||""}`]),onClick:i[0]||(i[0]=i=>{return o=e.data,n=i,void("click"===t.eventType&&"button"===o.type&&r(o,n));var o,n}),onMousedown:i[1]||(i[1]=i=>{return o=e.data,n=i,void("mousedown"===t.eventType&&"button"===o.type&&r(o,n));var o,n}),onMouseup:i[2]||(i[2]=i=>{return o=e.data,n=i,void("mouseup"===t.eventType&&"button"===o.type&&0===n.button&&r(o,n));var o,n})},["divider"===e.data.type?(openBlock(),createBlock(unref(_sfc_main$v$3),{key:0,direction:e.data.direction||"vertical"},null,8,["direction"])):"text"===e.data.type?(openBlock(),createElementBlock("div",_hoisted_1$l,toDisplayString(e.data.text),1)):"button"===e.data.type?(openBlock(),createElementBlock(Fragment,{key:2},[e.data.tooltip?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,effect:"dark",placement:"bottom-start",content:e.data.tooltip},{default:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{size:"small",link:"",disabled:o.value},{default:withCtx(()=>[e.data.icon?(openBlock(),createBlock(_sfc_main$1r$1,{key:0,icon:e.data.icon},null,8,["icon"])):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(e.data.text),1)]),_:1},8,["disabled"])]),_:1},8,["content"])):(openBlock(),createBlock(unref(_sfc_main$G$2),{key:1,size:"small",link:"",disabled:o.value,title:e.data.text},{default:withCtx(()=>[e.data.icon?(openBlock(),createBlock(_sfc_main$1r$1,{key:0,icon:e.data.icon},null,8,["icon"])):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(e.data.text),1)]),_:1},8,["disabled","title"]))],64)):"dropdown"===e.data.type?(openBlock(),createBlock(unref(_sfc_main$t$3),{key:3,trigger:"click",disabled:o.value,onCommand:s},{dropdown:withCtx(()=>[e.data.items&&e.data.items.length?(openBlock(),createBlock(unref(_sfc_main$r$3),{key:0},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.data.items,(t,i)=>(openBlock(),createBlock(unref(_sfc_main$s$3),{key:i,command:{data:e.data,subItem:t}},{default:withCtx(()=>[createTextVNode(toDisplayString(t.text),1)]),_:2},1032,["command"]))),128))]),_:1})):createCommentVNode("v-if",!0)]),default:withCtx(()=>[createBaseVNode("span",_hoisted_2$9,[createTextVNode(toDisplayString(e.data.text),1),createVNode(unref(_sfc_main$o$3),{class:"el-icon--right"},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1})])]),_:1},8,["disabled"])):"component"===e.data.type?(openBlock(),createBlock(resolveDynamicComponent(e.data.component),mergeProps({key:4},e.data.props||{},toHandlers(e.data.listeners||{})),null,16)):createCommentVNode("v-if",!0)],34)):createCommentVNode("v-if",!0)}}),_hoisted_1$k={key:0,id:"m-editor-page-bar-add-icon",class:"m-editor-page-bar-item m-editor-page-bar-item-icon"},_hoisted_2$8={key:1,style:{width:"21px"}},_sfc_main$y$1=defineComponent({name:"MEditorPageBarAddButton",__name:"AddButton",setup(e){const{editorService:t,uiService:i}=useServices(),o=computed$1(()=>i.get("showAddPageButton")),n=e=>{const i=toRaw(t.get("root"));if(!i)throw new Error("root 不能为空");const o={type:e,name:generatePageNameByApp(i,e),items:[]};t.add(o)};return(e,t)=>o.value?(openBlock(),createElementBlock("div",_hoisted_1$k,[createVNode(unref(_sfc_main$i$3),{"popper-class":"data-source-list-panel-add-menu"},{reference:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(plus_default)},null,8,["icon"])]),default:withCtx(()=>[createVNode(_sfc_main$z$1,{data:{type:"button",text:"页面",handler:()=>{n(unref(NodeType).PAGE)}}},null,8,["data"]),createVNode(_sfc_main$z$1,{data:{type:"button",text:"页面片",handler:()=>{n(unref(NodeType).PAGE_FRAGMENT)}}},null,8,["data"])]),_:1})])):(openBlock(),createElementBlock("div",_hoisted_2$8))}}),_hoisted_1$j={class:"m-editor-page-bar",ref:"pageBar"},_hoisted_2$7={key:0,class:"m-editor-page-bar-items",ref:"itemsContainer"},_sfc_main$x$1=defineComponent({name:"MEditorPageBarScrollContainer",__name:"PageBarScrollContainer",props:{pageBarSortOptions:{},length:{}},setup(e,{expose:t}){const i=e,{editorService:o,uiService:n}=useServices(),r=useTemplateRef("itemsContainer"),s=ref$1(!1),a=computed$1(()=>n.get("showAddPageButton")),l=computed$1(()=>n.get("showPageListButton")),c=ref$1(0),d=useTemplateRef("pageBar"),u=()=>{c.value=(d.value?.clientWidth||0)-74-37-(a.value?37:21)-(l.value?37:0),nextTick(()=>{r.value&&(s.value=r.value.scrollWidth-c.value>1)})},h=new ResizeObserver(()=>{u()});onMounted(()=>{d.value&&h.observe(d.value),r.value&&h.observe(r.value)}),onBeforeUnmount(()=>{h.disconnect()});let p=0;const g=e=>{if(!r.value||!s.value)return;const t=r.value.scrollWidth-c.value;"left"===e?m(p+200):"right"===e?m(p-200):"start"===e?m(0):"end"===e&&m(-t)},m=e=>{if(!r.value||!s.value)return;const t=r.value.scrollWidth-c.value;e>=0&&(e=0),-e>t&&(e=-t),p=e,r.value.style.transform=`translate(${p}px, 0px)`};return watch(()=>i.length,(e=0,t=0)=>{setTimeout(()=>{if(u(),nextTick(()=>{g(e1){const e=document.querySelector(".m-editor-page-bar-items");let t=[];const n={dataIdAttr:"data-page-id",onStart:async e=>{"function"==typeof i.pageBarSortOptions?.beforeStart&&await i.pageBarSortOptions.beforeStart(e,r),t=r.toArray()},onUpdate:async e=>{await o.sort(t[e.oldIndex],t[e.newIndex]),"function"==typeof i.pageBarSortOptions?.afterUpdate&&await i.pageBarSortOptions.afterUpdate(e,r)},...{...i.pageBarSortOptions?i.pageBarSortOptions:{}}};if(!e)return;const r=new Sortable(e,n)}})},{immediate:!0}),t({itemsContainerWidth:c,scroll:g,scrollTo:m,getTranslateLeft:()=>p}),(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$j,[renderSlot(e.$slots,"prepend"),e.length?(openBlock(),createElementBlock("div",_hoisted_2$7,[renderSlot(e.$slots,"default")],512)):createCommentVNode("v-if",!0),s.value?(openBlock(),createElementBlock("div",{key:1,class:"m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-item-left-icon",onClick:t[0]||(t[0]=e=>g("left"))},[createVNode(_sfc_main$1r$1,{icon:unref(arrow_left_bold_default)},null,8,["icon"])])):createCommentVNode("v-if",!0),s.value?(openBlock(),createElementBlock("div",{key:2,class:"m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-item-right-icon",onClick:t[1]||(t[1]=e=>g("right"))},[createVNode(_sfc_main$1r$1,{icon:unref(arrow_right_bold_default)},null,8,["icon"])])):createCommentVNode("v-if",!0)],512))}}),_hoisted_1$i={key:0,id:"m-editor-page-bar-list-icon",class:"m-editor-page-bar-item m-editor-page-bar-item-icon"},_sfc_main$w$1=defineComponent({name:"MEditorPageList",__name:"PageList",props:{list:{}},setup(e){const{editorService:t,uiService:i}=useServices(),o=computed$1(()=>i.get("showPageListButton")),n=computed$1(()=>t.get("page"));return(e,i)=>o.value?(openBlock(),createElementBlock("div",_hoisted_1$i,[createVNode(unref(_sfc_main$i$3),{"popper-class":"page-bar-popover",placement:"top",trigger:"hover",width:160,"destroy-on-close":!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{class:"m-editor-page-list-menu-icon"},{default:withCtx(()=>[createVNode(unref(files_default))]),_:1})]),default:withCtx(()=>[createBaseVNode("div",null,[renderSlot(e.$slots,"page-list-popover",{list:e.list},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.list,(e,i)=>(openBlock(),createBlock(_sfc_main$z$1,{data:{type:"button",text:e.devconfig?.tabName||e.name||e.id,className:e.id===n.value?.id?"active":"",handler:()=>(async e=>{await t.select(e)})(e.id)},key:i},null,8,["data"]))),128))])])]),_:3})])):createCommentVNode("v-if",!0)}}),_hoisted_1$h={class:"m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-search"},_sfc_main$v$1=defineComponent({__name:"Search",props:{query:{},queryModifiers:{}},emits:mergeModels(["search"],["update:query"]),setup(e,{emit:t}){const i=t,o=useModel(e,"query"),n=createForm([{type:"checkbox-group",name:"pageType",options:[{value:NodeType.PAGE,text:"页面"},{value:NodeType.PAGE_FRAGMENT,text:"页面片段"}]},{name:"keyword",type:"text",placeholder:"请输入关键字",clearable:!0}]),r=ref$1(!1),s=e=>{o.value=e,i("search",e)};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$h,[createVNode(_sfc_main$1r$1,{icon:unref(search_default),onClick:t[0]||(t[0]=e=>r.value=!r.value),class:normalizeClass({"icon-active":r.value})},null,8,["icon","class"]),r.value?(openBlock(),createBlock(Teleport$1,{key:0,to:".m-editor-page-bar-tabs"},[o.value?(openBlock(),createBlock(unref(_sfc_main$d$2),{key:0,class:"m-editor-page-bar-search-panel",inline:!0,config:unref(n),"init-values":o.value,"prevent-submit-default":!0,onChange:s},null,8,["config","init-values"])):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0)]))}}),_hoisted_1$g={class:"m-editor-page-bar-tabs"},_hoisted_2$6=["data-page-id","onClick"],_hoisted_3$2={class:"m-editor-page-bar-title"},_hoisted_4$2=["title"],_sfc_main$u$1=defineComponent({name:"MEditorPageBar",__name:"PageBar",props:{disabledPageFragment:{type:Boolean},pageBarSortOptions:{},filterFunction:{type:Function,default:(e,t)=>e.name?.includes(t)||`${e.id}`.includes(t)}},setup(e){const t=e,{editorService:i}=useServices(),o=computed$1(()=>i.get("root")),n=computed$1(()=>i.get("page")),r=ref$1({pageType:[NodeType.PAGE,NodeType.PAGE_FRAGMENT],keyword:""}),s=computed$1(()=>{const{pageType:e,keyword:i}=r.value;return 0===e.length?[]:(o.value?.items||[]).filter(o=>!!e.includes(o.type)&&(!i||t.filterFunction(o,i)))}),a=useTemplateRef("pageBarScrollContainer"),l=useTemplateRef("pageBarItems");return watch(n,e=>{if(!e||!a.value?.itemsContainerWidth||!l.value||l.value.length<2)return;const t=l.value[0],i=l.value[l.value.length-1];if(e.id===t.dataset.pageId)a.value.scroll("start");else if(e.id===i.dataset.pageId)a.value.scroll("end");else{const i=l.value.find(t=>t.dataset.pageId===e.id);if(!i)return;const o=i.getBoundingClientRect(),n=o.left-t.getBoundingClientRect().left,{itemsContainerWidth:r}=a.value,s=r-n-o.width,c=a.value.getTranslateLeft();(n+c<0||n+o.width>r-c)&&a.value.scrollTo(s)}}),(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$g,[createVNode(_sfc_main$x$1,{ref:"pageBarScrollContainer","page-bar-sort-options":e.pageBarSortOptions,length:s.value.length},{prepend:withCtx(()=>[renderSlot(e.$slots,"page-bar-add-button",{},()=>[createVNode(_sfc_main$y$1)]),createVNode(_sfc_main$v$1,{query:r.value,"onUpdate:query":t[0]||(t[0]=e=>r.value=e)},null,8,["query"]),createVNode(_sfc_main$w$1,{list:s.value},{"page-list-popover":withCtx(({list:t})=>[renderSlot(e.$slots,"page-list-popover",{list:t})]),_:3},8,["list"])]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(s.value,t=>(openBlock(),createElementBlock("div",{class:normalizeClass(["m-editor-page-bar-item",{active:n.value?.id===t.id}]),ref_for:!0,ref:"pageBarItems",key:t.id,"data-page-id":t.id,onClick:e=>{return o=t.id,void i.select(o);var o}},[createBaseVNode("div",_hoisted_3$2,[renderSlot(e.$slots,"page-bar-title",{page:t},()=>[createBaseVNode("span",{title:t.name},toDisplayString(t.name||t.id),9,_hoisted_4$2)])]),createVNode(unref(_sfc_main$i$3),{"popper-class":"page-bar-popover",placement:"top",trigger:"hover",width:160,"destroy-on-close":!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$o$3),{class:"m-editor-page-bar-menu-icon"},{default:withCtx(()=>[createVNode(unref(caret_bottom_default))]),_:1})]),default:withCtx(()=>[createBaseVNode("div",null,[renderSlot(e.$slots,"page-bar-popover",{page:t},()=>[createVNode(_sfc_main$z$1,{data:{type:"button",text:"复制",icon:unref(document_copy_default),handler:()=>{return(e=t)&&i.copy(e),void i.paste({left:0,top:0});var e}}},null,8,["data"]),createVNode(_sfc_main$z$1,{data:{type:"button",text:"删除",icon:unref(delete_default),handler:()=>{return e=t,void i.remove(e);var e}}},null,8,["data"])])])]),_:2},1024)],10,_hoisted_2$6))),128))]),_:3},8,["page-bar-sort-options","length"])]))}}),_hoisted_1$f={class:"m-editor-empty-panel"},_hoisted_2$5={class:"m-editor-empty-content"},_sfc_main$t$1=defineComponent({name:"MEditorAddPageBox",__name:"AddPageBox",props:{disabledPageFragment:{type:Boolean}},setup(e){const{editorService:t}=useServices(),i=e=>{const i=toRaw(t.get("root"));if(!i)throw new Error("root 不能为空");t.add({type:e,name:generatePageNameByApp(i,e),items:[]})};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$f,[createBaseVNode("div",_hoisted_2$5,[createBaseVNode("div",{class:"m-editor-empty-button",onClick:t[0]||(t[0]=e=>i(unref(NodeType).PAGE))},[createBaseVNode("div",null,[createVNode(_sfc_main$1r$1,{icon:unref(plus_default)},null,8,["icon"])]),t[2]||(t[2]=createBaseVNode("p",null,"新增页面",-1))]),e.disabledPageFragment?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",{key:0,class:"m-editor-empty-button",onClick:t[1]||(t[1]=e=>i(unref(NodeType).PAGE_FRAGMENT))},[createBaseVNode("div",null,[createVNode(_sfc_main$1r$1,{icon:unref(plus_default)},null,8,["icon"])]),t[3]||(t[3]=createBaseVNode("p",null,"新增页面片",-1))]))])]))}}),_hoisted_1$e={class:"m-editor",ref:"content",style:{"min-width":"900px"}},_sfc_main$s$1=defineComponent({name:"MEditorFramework",__name:"Framework",props:{disabledPageFragment:{type:Boolean},pageBarSortOptions:{},pageFilterFunction:{type:Function}},setup(t){const i=inject("codeOptions",{}),{editorService:o,uiService:n,storageService:r}=useServices(),s=useTemplateRef("content"),a=useTemplateRef("splitView"),l=computed$1(()=>o.get("root")),c=computed$1(()=>o.get("page")),d=computed$1(()=>o.get("pageLength")||0),u=computed$1(()=>n.get("showSrc")),h=computed$1(()=>n.get("columnWidth"));watch(d,()=>{a.value?.updateWidth()}),watch(()=>n.get("hideSlideBar"),e=>{n.set("columnWidth",{...h.value,left:e?0:r.getItem(LEFT_COLUMN_WIDTH_STORAGE_KEY,{protocol:Protocol.NUMBER})||DEFAULT_LEFT_COLUMN_WIDTH})});const p=e=>{r.setItem(LEFT_COLUMN_WIDTH_STORAGE_KEY,e.left,{protocol:Protocol.NUMBER}),r.setItem(RIGHT_COLUMN_WIDTH_STORAGE_KEY,e.right,{protocol:Protocol.NUMBER}),n.set("columnWidth",e)},g=computed$1(()=>n.get("frameworkRect")),m=new ResizeObserver(e=>{const{contentRect:t}=e[0];n.set("frameworkRect",{width:t.width,height:t.height,left:t.left,top:t.top})});onMounted(()=>{s.value&&m.observe(s.value)}),onBeforeUnmount(()=>{m.disconnect()});const f=t=>{try{const e=getEditorConfig("parseDSL");o.set("root",e(t))}catch(e){console.error(e)}};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$e,[renderSlot(e.$slots,"header"),renderSlot(e.$slots,"nav"),renderSlot(e.$slots,"content-before"),u.value?renderSlot(e.$slots,"src-code",{key:0},()=>[createVNode(_sfc_main$1q$1,{class:"m-editor-content","init-values":l.value,options:unref(i),onSave:f},null,8,["init-values","options"])]):(openBlock(),createBlock(_sfc_main$A$1,{key:1,ref:"splitView",class:"m-editor-content","left-class":"m-editor-framework-left","center-class":"m-editor-framework-center","right-class":"m-editor-framework-right",left:h.value.left,right:h.value.right,"min-left":unref(MIN_LEFT_COLUMN_WIDTH),"min-right":unref(MIN_RIGHT_COLUMN_WIDTH),"min-center":unref(MIN_CENTER_COLUMN_WIDTH),width:g.value.width,onChange:p},createSlots({left:withCtx(()=>[renderSlot(e.$slots,"sidebar")]),center:withCtx(()=>[c.value?renderSlot(e.$slots,"workspace",{key:0}):renderSlot(e.$slots,"empty",{key:1},()=>[createVNode(_sfc_main$t$1,{"disabled-page-fragment":e.disabledPageFragment},null,8,["disabled-page-fragment"])]),renderSlot(e.$slots,"page-bar",{},()=>[createVNode(_sfc_main$u$1,{"disabled-page-fragment":e.disabledPageFragment,"page-bar-sort-options":e.pageBarSortOptions,"filter-function":e.pageFilterFunction},{"page-bar-add-button":withCtx(()=>[renderSlot(e.$slots,"page-bar-add-button")]),"page-bar-title":withCtx(({page:t})=>[renderSlot(e.$slots,"page-bar-title",{page:t})]),"page-bar-popover":withCtx(({page:t})=>[renderSlot(e.$slots,"page-bar-popover",{page:t})]),"page-list-popover":withCtx(({list:t})=>[renderSlot(e.$slots,"page-list-popover",{list:t})]),_:3},8,["disabled-page-fragment","page-bar-sort-options","filter-function"])])]),_:2},[c.value?{name:"right",fn:withCtx(()=>[renderSlot(e.$slots,"props-panel")]),key:"0"}:void 0]),1032,["left","right","min-left","min-right","min-center","width"])),renderSlot(e.$slots,"content-after"),renderSlot(e.$slots,"footer")],512))}}),_sfc_main$r$1=defineComponent({name:"MEditorNavMenu",__name:"NavMenu",props:{data:{default:()=>({})},height:{default:35}},setup(e){const t=e,{uiService:i,editorService:o,historyService:n}=useServices(),r=computed$1(()=>i.get("columnWidth")),s=Object.values(ColumnLayout),a=computed$1(()=>i.get("showGuides")),l=computed$1(()=>i.get("showRule")),c=computed$1(()=>i.get("zoom")),d=/mac os x/.test(navigator.userAgent.toLowerCase())?"Command":"Ctrl",u=e=>{if("string"!=typeof e)return[e];const t=[];switch(e){case"/":t.push({type:"divider",className:"divider"});break;case"zoom":t.push(...u("zoom-out"),...u(`${parseInt(""+100*c.value,10)}%`),...u("zoom-in"),...u("scale-to-original"),...u("scale-to-fit"));break;case"delete":t.push({type:"button",className:"delete",icon:markRaw(delete_default),tooltip:"刪除(Delete)",disabled:()=>o.get("node")?.type===NodeType.PAGE,handler:()=>{const e=o.get("node");e&&o.remove(e)}});break;case"undo":t.push({type:"button",className:"undo",icon:markRaw(back_default),tooltip:`后退(${d}+z)`,disabled:()=>!n.state.canUndo,handler:()=>o.undo()});break;case"redo":t.push({type:"button",className:"redo",icon:markRaw(right_default),tooltip:`前进(${d}+Shift+z)`,disabled:()=>!n.state.canRedo,handler:()=>o.redo()});break;case"zoom-in":t.push({type:"button",className:"zoom-in",icon:markRaw(zoom_in_default),tooltip:`放大(${d}+=)`,handler:()=>i?.zoom(.1)});break;case"zoom-out":t.push({type:"button",className:"zoom-out",icon:markRaw(zoom_out_default),tooltip:`縮小(${d}+-)`,handler:()=>i?.zoom(-.1)});break;case"scale-to-original":t.push({type:"button",className:"scale-to-original",icon:markRaw(scale_to_original_default),tooltip:`缩放到实际大小(${d}+1)`,handler:()=>i?.set("zoom",1)});break;case"scale-to-fit":t.push({type:"button",className:"scale-to-fit",icon:markRaw(full_screen_default),tooltip:`缩放以适应(${d}+0)`,handler:async()=>i?.set("zoom",await i.calcZoom())});break;case"rule":t.push({type:"button",className:"rule",icon:markRaw(memo_default),tooltip:l.value?"隐藏标尺":"显示标尺",handler:()=>i?.set("showRule",!l.value)});break;case"guides":t.push({type:"button",className:"guides",icon:markRaw(grid_default),tooltip:a.value?"隐藏参考线":"显示参考线",handler:()=>i?.set("showGuides",!a.value)});break;default:t.push({type:"text",text:e})}return t},h=computed$1(()=>{const e={[ColumnLayout.LEFT]:[],[ColumnLayout.CENTER]:[],[ColumnLayout.RIGHT]:[]};return s.forEach(i=>{(t.data[i]||[]).forEach(t=>{e[i].push(...u(t))})}),e}),p=useTemplateRef("navMenu"),g=new ResizeObserver(()=>{const e=p.value?.getBoundingClientRect();e&&i.set("navMenuRect",{left:e.left,top:e.top,width:e.width,height:e.height})});return onMounted(()=>{p.value&&g.observe(p.value)}),onBeforeUnmount(()=>{g.disconnect()}),(e,t)=>(openBlock(),createElementBlock("div",{class:"m-editor-nav-menu",style:normalizeStyle({height:`${e.height}px`}),ref:"navMenu"},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(s),e=>(openBlock(),createElementBlock("div",{class:normalizeClass(`menu-${e}`),key:e,style:normalizeStyle(`width: ${r.value?.[e]}px`)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(h.value[e],(e,t)=>(openBlock(),createBlock(_sfc_main$z$1,{data:e,key:t},null,8,["data"]))),128))],6))),128))],4))}}),_hoisted_1$d={class:"m-editor-props-form-panel"},_sfc_main$q$1=defineComponent({name:"MEditorFormPanel",__name:"FormPanel",props:{config:{},values:{},disabledShowSrc:{type:Boolean},labelWidth:{},codeValueKey:{},labelPosition:{},extendState:{type:Function}},emits:["submit","submit-error","form-error","mounted","unmounted"],setup(t,{expose:i,emit:o}){const n=t,r=o,s=useServices(),{editorService:a,uiService:l}=s,c=inject("codeOptions",{}),d=ref$1(!1),u=computed$1(()=>l.get("propsPanelSize")||"small"),{height:h}=useEditorContentHeight(),p=computed$1(()=>a.get("stage")),g=useTemplateRef("configForm");watchEffect(()=>{g.value&&(g.value.formState.stage=p.value,g.value.formState.services=s)});const m=getCurrentInstance$1();onMounted(()=>{r("mounted",m?.proxy)}),onUnmounted(()=>{r("unmounted")});const f=async(t,i)=>{try{const e=await(g.value?.submitForm());r("submit",e,i)}catch(e){r("submit-error",e)}},v=e=>{r("form-error",e)},b=e=>{r("submit",n.codeValueKey?{[n.codeValueKey]:e}:e)};return i({configForm:g,submit:f}),(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$d,[renderSlot(e.$slots,"props-form-panel-header"),createVNode(unref(_sfc_main$d$3),null,{default:withCtx(()=>[createVNode(unref(_sfc_main$d$2),{ref:"configForm",class:normalizeClass(u.value),"popper-class":`m-editor-props-panel-popper ${u.value}`,"label-width":e.labelWidth,"label-position":e.labelPosition,size:u.value,"init-values":e.values,config:e.config,"extend-state":e.extendState,onChange:f,onError:v},null,8,["class","popper-class","label-width","label-position","size","init-values","config","extend-state"])]),_:1}),e.disabledShowSrc?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,class:"m-editor-props-panel-src-icon",circle:"",title:"源码",type:d.value?"primary":"",onClick:t[0]||(t[0]=e=>d.value=!d.value)},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(document_default)},null,8,["icon"])]),_:1},8,["type"])),d.value?(openBlock(),createBlock(_sfc_main$1q$1,{key:1,class:"m-editor-props-panel-src-code",height:`${unref(h)}px`,"init-values":e.codeValueKey?e.values[e.codeValueKey]:e.values,options:unref(c),parse:!0,onSave:b},null,8,["height","init-values","options"])):createCommentVNode("v-if",!0)]))}}),useStylePanel=({uiService:e,storageService:t},i)=>{const o="props-panel-show-style-panel",n=t.getItem(o,{protocol:Protocol.BOOLEAN});"boolean"==typeof n&&e.set("showStylePanel",n);const r=computed$1(()=>s.value&&(e.get("showStylePanel")??!0)),s=computed$1(()=>e.get("frameworkRect").width>=1280);watch(()=>e.get("frameworkRect").width,()=>{e.get("columnWidth").right{e.set("showStylePanel",n),t.setItem(o,n,{protocol:Protocol.BOOLEAN});const r={...e.get("columnWidth")};n?(r.right+=i.value,r.center-=i.value):(r.right-=i.value,r.center+=i.value),r.center<0&&(r.right=r.right+r.center-MIN_CENTER_COLUMN_WIDTH,r.center=MIN_CENTER_COLUMN_WIDTH,i.value=r.right/2),t.setItem(RIGHT_COLUMN_WIDTH_STORAGE_KEY,r.right,{protocol:Protocol.NUMBER}),e.set("columnWidth",r)};return{showStylePanel:r,showStylePanelToggleButton:s,toggleStylePanel:a}},_hoisted_1$c={ref:"propsPanel",class:"m-editor-props-panel"},_hoisted_2$4={class:"m-editor-props-style-panel-title"},_sfc_main$p$1=defineComponent({name:"MEditorPropsPanel",__name:"PropsPanel",props:{disabledShowSrc:{type:Boolean},extendState:{type:Function}},emits:["submit-error","form-error","mounted","unmounted"],setup(t,{expose:i,emit:o}){const n=o,{editorService:r,uiService:s,propsService:a,storageService:l}=useServices(),c=ref$1({}),d=ref$1([]),u=computed$1(()=>r.get("node")),h=computed$1(()=>r.get("nodes")),p=[{tabPosition:"right",items:styleTabConfig.items}],g=async()=>{if(!u.value)return void(d.value=[]);const e=u.value.type||(u.value.items?"container":"text");d.value=await a.getPropsConfig(e),c.value=u.value};watchEffect(g),a.on("props-configs-change",g),onBeforeUnmount(()=>{a.off("props-configs-change",g)});const m=async(t,i)=>{try{t.id||(t.id=c.value.id);const e={...t,style:{}};t.style&&(Object.entries(t.style).forEach(([t,i])=>{""!==i&&e.style&&(e.style[t]=i)}),i?.changeRecords?.forEach(t=>{t.propPath?.startsWith("style")&&""===t.value&&setValueByKeyPath(t.propPath,t.value,e)})),r.update(e,{changeRecords:i?.changeRecords})}catch(e){n("submit-error",e)}},f=e=>{n("form-error",e)},v=()=>{k.value&&n("mounted",k.value)},b=()=>{n("unmounted")},_=useTemplateRef("propsPanel"),y=ref$1(l.getItem(PROPS_PANEL_WIDTH_STORAGE_KEY,{protocol:Protocol.NUMBER})||300);onMounted(()=>{_.value?.style.setProperty("--props-style-panel-width",`${Math.max(y.value,0)}px`)});const C=({deltaX:e})=>{if(!_.value)return;let t=globalThis.parseFloat(getComputedStyle(_.value).getPropertyValue("--props-style-panel-width"))-e;t>s.get("columnWidth").right&&(t=s.get("columnWidth").right-40),y.value=Math.max(t,0)};watch(y,e=>{_.value?.style.setProperty("--props-style-panel-width",`${e}px`),l.setItem(PROPS_PANEL_WIDTH_STORAGE_KEY,e,{protocol:Protocol.NUMBER})});const{showStylePanel:w,showStylePanelToggleButton:x,toggleStylePanel:S}=useStylePanel({storageService:l,uiService:s},y),k=useTemplateRef("propertyFormPanel");return i({getFormState:()=>k.value?.configForm?.formState,submit:m}),(e,t)=>withDirectives((openBlock(),createElementBlock("div",_hoisted_1$c,[renderSlot(e.$slots,"props-panel-header"),createVNode(_sfc_main$q$1,{ref:"propertyFormPanel",class:normalizeClass(["m-editor-props-property-panel",{"show-style-panel":unref(w)}]),config:d.value,values:c.value,disabledShowSrc:e.disabledShowSrc,extendState:e.extendState,onSubmit:m,onSubmitError:f,onFormError:f,onMounted:v,onUnmounted:b},null,8,["class","config","values","disabledShowSrc","extendState"]),unref(w)?(openBlock(),createBlock(_sfc_main$B$1,{key:0,onChange:C})):createCommentVNode("v-if",!0),unref(w)?(openBlock(),createBlock(_sfc_main$q$1,{key:1,class:"m-editor-props-style-panel","label-position":"top","code-value-key":"style",config:p,values:c.value,disabledShowSrc:e.disabledShowSrc,extendState:e.extendState,onSubmit:m,onSubmitError:f,onFormError:f},{"props-form-panel-header":withCtx(()=>[createBaseVNode("div",_hoisted_2$4,[t[2]||(t[2]=createBaseVNode("span",null,"样式",-1)),createBaseVNode("div",null,[createVNode(unref(_sfc_main$G$2),{link:"",size:"small",onClick:t[0]||(t[0]=e=>unref(S)(!1))},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(close_default)},null,8,["icon"])]),_:1})])])]),_:1},8,["values","disabledShowSrc","extendState"])):createCommentVNode("v-if",!0),unref(x)&&!unref(w)?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:2,class:"m-editor-props-panel-style-icon",circle:"",onClick:t[1]||(t[1]=e=>unref(S)(!0))},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(sugar_default)},null,8,["icon"])]),_:1})):createCommentVNode("v-if",!0)],512)),[[vShow,1===h.value.length]])}}),_sfc_main$o$1=defineComponent({name:"MEditorContentMenu",__name:"ContentMenu",props:{menuData:{default:()=>[]},isSubMenu:{type:Boolean,default:!1},active:{},autoHide:{type:Boolean,default:!0}},emits:["hide","show","mouseenter"],setup(e,{expose:t,emit:i}){const o=e,n=i,r=useTemplateRef("menu"),s=useTemplateRef("buttons"),a=useTemplateRef("subMenu"),l=ref$1(!1),c=ref$1([]),d=useZIndex$1(),u=ref$1(0),h=ref$1({left:0,top:0}),p=computed$1(()=>({top:`${h.value.top+2}px`,left:`${h.value.left+2}px`,zIndex:u.value})),g=e=>r.value?.contains(e)||a.value?.contains(e),m=()=>{l.value&&(l.value=!1,a.value?.hide(),n("hide"))},f=e=>{o.autoHide&&0===e.button&&m()},v=e=>{if(!o.autoHide)return;const t=e.target;l.value&&t&&(g(t)||m())},b=e=>{const t=r.value?.clientHeight||0;let i=e.clientY;t+e.clientY>document.body.clientHeight&&(i=document.body.clientHeight-t),h.value={top:i,left:e.clientX}};return onMounted(()=>{o.isSubMenu||globalThis.addEventListener("mousedown",v,!0)}),onBeforeUnmount(()=>{o.isSubMenu||globalThis.removeEventListener("mousedown",v,!0)}),t({menu:r,menuPosition:h,hide:m,show:e=>{l.value=!0,nextTick(()=>{e&&b(e),u.value=d.nextZIndex(),n("show")})},contains:g,setPosition:b}),(e,t)=>{const i=resolveComponent("content-menu",!0);return openBlock(),createBlock(Transition,{name:"fade",persisted:""},{default:withCtx(()=>[withDirectives(createBaseVNode("div",{class:"magic-editor-content-menu",ref:"menu",style:normalizeStyle(p.value),onMouseenter:t[0]||(t[0]=e=>{n("mouseenter")}),onContextmenu:t[1]||(t[1]=withModifiers(()=>{},["prevent"]))},[renderSlot(e.$slots,"title"),createBaseVNode("div",null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.menuData,(t,i)=>(openBlock(),createBlock(_sfc_main$z$1,{"event-type":"mouseup",ref_for:!0,ref:"buttons",class:normalizeClass({active:e.active&&t.id===e.active}),data:t,key:i,onMouseup:f,onMouseenter:e=>((e,t)=>{const i=e;"object"==typeof e&&(c.value=i.items||[],setTimeout(()=>{if(l.value&&r.value){let e=r.value.offsetTop;if(s.value?.[t].$el){const i=s.value?.[t].$el.getBoundingClientRect();e=i.top}a.value?.show({clientX:r.value.offsetLeft+r.value.clientWidth-2,clientY:e})}},0))})(t,i)},null,8,["class","data","onMouseenter"]))),128))]),(openBlock(),createBlock(Teleport$1,{to:"body"},[c.value.length?(openBlock(),createBlock(i,{key:0,class:"sub-menu",ref:"subMenu",active:e.active,"menu-data":c.value,"is-sub-menu":!0,onHide:m},null,8,["active","menu-data"])):createCommentVNode("v-if",!0)]))],36),[[vShow,l.value]])]),_:3})}}}),_sfc_main$n$1=defineComponent({name:"MEditorSearchInput",__name:"SearchInput",emits:["search"],setup(e,{emit:t}){const i=t,o=ref$1("");let n=null;const r=()=>{n&&clearTimeout(n),n=setTimeout(()=>{i("search",o.value),n=null},300)};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$n$3),{modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=e=>o.value=e),class:"search-input",size:"small",placeholder:"输入关键字进行过滤",clearable:"",onInput:r},{prefix:withCtx(()=>[createVNode(unref(_sfc_main$o$3),null,{default:withCtx(()=>[createVNode(unref(search_default))]),_:1})]),_:1},8,["modelValue"]))}}),_hoisted_1$b=["draggable","data-node-id","data-parent-id","data-parents-id","data-is-container"],_hoisted_2$3={class:"tree-node-label"},_hoisted_3$1={class:"tree-node-tool"},_hoisted_4$1={key:0,class:"m-editor-tree-node-children"},_sfc_main$m$1=defineComponent({name:"MEditorTreeNode",__name:"TreeNode",props:{data:{},parent:{},parentsId:{default:()=>[]},nodeStatusMap:{},indent:{default:0},nextLevelIndentIncrement:{default:11}},emits:["node-dragstart","node-dragleave","node-dragend","node-contextmenu","node-mouseenter","node-click"],setup(e,{emit:t}){const i=inject("treeEmit"),o=e,n=computed$1(()=>o.nodeStatusMap?.get(o.data.id)||{selected:!1,expand:!1,visible:!1,draggable:!1}),r=computed$1(()=>n.value.expand),s=computed$1(()=>n.value.selected),a=computed$1(()=>n.value.visible),l=computed$1(()=>n.value.draggable),c=computed$1(()=>Array.isArray(o.data.items)&&o.data.items.some(e=>o.nodeStatusMap.get(e.id)?.visible)),d=e=>{i?.("node-dragstart",e,o.data)},u=e=>{i?.("node-dragleave",e,o.data)},h=e=>{i?.("node-dragend",e,o.data)},p=e=>{i?.("node-contextmenu",e,o.data)},g=e=>{i?.("node-mouseenter",e,o.data)},m=()=>{updateStatus(o.nodeStatusMap,o.data.id,{expand:!r.value})},f=e=>{i?.("node-click",e,o.data)};return(e,t)=>{const i=resolveComponent("TreeNode",!0);return withDirectives((openBlock(),createElementBlock("div",{class:"m-editor-tree-node",draggable:l.value,"data-node-id":e.data.id,"data-parent-id":e.parent?.id,"data-parents-id":e.parentsId,"data-is-container":Array.isArray(e.data.items),onDragstart:d,onDragleave:u,onDragend:h},[createBaseVNode("div",{class:normalizeClass(["tree-node",{selected:s.value,expanded:r.value}]),style:normalizeStyle(`padding-left: ${e.indent}px`),onContextmenu:p,onMouseenter:g},[createVNode(_sfc_main$1r$1,{class:"expand-icon",style:normalizeStyle(c.value?"":"color: transparent; cursor: default"),icon:r.value?unref(arrow_down_default):unref(arrow_right_default),onClick:m},null,8,["style","icon"]),createBaseVNode("div",{class:"tree-node-content",onClick:f},[renderSlot(e.$slots,"tree-node-content",{data:e.data},()=>[createBaseVNode("div",_hoisted_2$3,[renderSlot(e.$slots,"tree-node-label",{data:e.data},()=>[createTextVNode(toDisplayString(`${e.data.name} (${e.data.id})`),1)])]),createBaseVNode("div",_hoisted_3$1,[renderSlot(e.$slots,"tree-node-tool",{data:e.data})])])])],38),c.value&&r.value?(openBlock(),createElementBlock("div",_hoisted_4$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.data.items,t=>(openBlock(),createBlock(i,{key:t.id,data:t,parent:e.data,parentsId:[...e.parentsId,e.data.id],"node-status-map":e.nodeStatusMap,indent:e.indent+e.nextLevelIndentIncrement},{"tree-node-content":withCtx(({data:t})=>[renderSlot(e.$slots,"tree-node-content",{data:t})]),"tree-node-label":withCtx(({data:t})=>[renderSlot(e.$slots,"tree-node-label",{data:t})]),"tree-node-tool":withCtx(({data:t})=>[renderSlot(e.$slots,"tree-node-tool",{data:t})]),_:2},1032,["data","parent","parentsId","node-status-map","indent"]))),128))])):createCommentVNode("v-if",!0)],40,_hoisted_1$b)),[[vShow,a.value]])}}}),_hoisted_1$a={key:1,class:"m-editor-tree-empty"},_sfc_main$l$1=defineComponent({name:"MEditorTree",__name:"Tree",props:{data:{},nodeStatusMap:{},indent:{default:0},nextLevelIndentIncrement:{},emptyText:{default:"暂无数据"}},emits:["node-dragover","node-dragstart","node-dragleave","node-dragend","node-contextmenu","node-mouseenter","node-click"],setup(e,{emit:t}){const i=t;provide("treeEmit",i);const o=e=>{i("node-dragover",e)};return(e,t)=>(openBlock(),createElementBlock("div",{class:"m-editor-tree",onDragover:o},[e.data?.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(e.data,t=>(openBlock(),createBlock(_sfc_main$m$1,{key:t.id,data:t,indent:e.indent,"next-level-indent-increment":e.nextLevelIndentIncrement,"node-status-map":e.nodeStatusMap},{"tree-node-content":withCtx(({data:t})=>[renderSlot(e.$slots,"tree-node-content",{data:t})]),"tree-node-label":withCtx(({data:t})=>[renderSlot(e.$slots,"tree-node-label",{data:t})]),"tree-node-tool":withCtx(({data:t})=>[renderSlot(e.$slots,"tree-node-tool",{data:t})]),_:2},1032,["data","indent","next-level-indent-increment","node-status-map"]))),128)):(openBlock(),createElementBlock("div",_hoisted_1$a,[createBaseVNode("p",null,toDisplayString(e.emptyText),1)]))],32))}}),_sfc_main$k$1=defineComponent({name:"MEditorCodeBlockList",__name:"CodeBlockList",props:{indent:{},nextLevelIndentIncrement:{},customError:{type:Function}},emits:["edit","remove","node-contextmenu"],setup(e,{expose:t,emit:i}){const o=e,n=i,{codeBlockService:r,depService:s,editorService:a}=useServices(),l=computed$1(()=>Object.entries(r.getCodeDsl()||{}).map(([e,t])=>{const i=s.getTarget(e,DepTargetType.CODE_BLOCK),o=a.get("root")?.items.map(t=>({name:t.devconfig?.tabName||t.name,type:"node",id:`${e}_${t.id}`,key:t.id,items:[]}))||[];i&&Object.entries(i.deps).forEach(([e,t])=>{const n=o.find(e=>e.key===t.data?.pageId);n?.items?.push({name:t.name,type:"node",id:`${n.id}_${e}`,key:e,items:t.keys.map(t=>({name:`${t}`,id:`${i.id}_${e}_${t}`,type:"key"}))})});return{id:e,key:e,name:t.name,type:"code",codeBlockContent:r.getCodeContentById(e),items:o.length>1?o.filter(e=>e.items?.length):o[0]?.items||[]}})),{nodeStatusMap:c}=useNodeStatus$1(l),{filterTextChangeHandler:d}=useFilter(l,c,(e,t)=>!e||`${t.name}${t.id}`.toLocaleLowerCase().includes(e.toLocaleLowerCase())),u=computed$1(()=>r.getEditStatus()),h=(e,t)=>{"node"===t.type&&(e=>{const t=a.get("stage");a.select(e),t?.select(e)})(t.key)},p=async e=>{const t=l.value.find(t=>t.id===e),i=Boolean(t?.items?.length),s=r.getUndeletableList()||[];i||s.includes(e)?"function"==typeof o.customError?o.customError(e,i?CodeDeleteErrorType.BIND:CodeDeleteErrorType.UNDELETEABLE):i?tMagicMessage.error("代码块存在绑定关系,不可删除"):tMagicMessage.error("代码块不可删除"):(await tMagicMessageBox.confirm("确定删除该代码块吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),n("remove",e))},g=(e,t)=>{n("node-contextmenu",e,t)};return t({nodeStatusMap:c,filter:d,deleteCode:p}),(e,t)=>(openBlock(),createBlock(_sfc_main$l$1,{data:l.value,"node-status-map":unref(c),indent:e.indent,"next-level-indent-increment":e.nextLevelIndentIncrement,onNodeClick:h,onNodeContextmenu:g},{"tree-node-label":withCtx(({data:e})=>[createBaseVNode("div",{class:normalizeClass({code:"code"===e.type,hook:"key"===e.type,disabled:"key"===e.type||"code"===e.type})},toDisplayString(e.name)+" "+toDisplayString(e.key?`(${e.key})`:""),3)]),"tree-node-tool":withCtx(({data:t})=>["code"===t.type?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,effect:"dark",content:u.value?"编辑":"查看",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:u.value?unref(edit_default):unref(view_default),class:"edit-icon",onClick:withModifiers(e=>{return i=`${t.key}`,void n("edit",i);var i},["stop"])},null,8,["icon","onClick"])]),_:2},1032,["content"])):createCommentVNode("v-if",!0),"code"===t.type&&u.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:1,effect:"dark",content:"删除",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(close_default),class:"edit-icon",onClick:withModifiers(e=>p(`${t.key}`),["stop"])},null,8,["icon","onClick"])]),_:2},1024)):createCommentVNode("v-if",!0),renderSlot(e.$slots,"code-block-panel-tool",{id:t.key,data:t})]),_:3},8,["data","node-status-map","indent","next-level-indent-increment"]))}}),useContentMenu$1=e=>{const t=inject("eventBus"),i=useTemplateRef("menu");let o="";return{menuData:[{type:"button",text:"编辑",icon:edit_default,display:({codeBlockService:e})=>e.getEditStatus(),handler:()=>{o&&t?.emit("edit-code",o)}},{type:"button",text:"复制并粘贴至当前",icon:markRaw(copy_document_default),handler:async({codeBlockService:e})=>{if(!o)return;const t=e.getCodeContentById(o);if(!t)return;const i=await e.getUniqueId();e.setCodeDslById(i,cloneDeep(t))}},{type:"button",text:"删除",icon:delete_default,handler:()=>{o&&e(o)}}],nodeContentMenuHandler:(e,t)=>{e.preventDefault(),"code"===t.type&&(i.value?.show(e),o=t.id?`${t.id}`:"")},contentMenuHideHandler:()=>{o=""}}},_hoisted_1$9={class:"search-wrapper"},_sfc_main$j$1=defineComponent({name:"MEditorCodeBlockListPanel",__name:"CodeBlockListPanel",props:{indent:{},nextLevelIndentIncrement:{},customError:{type:Function},customContentMenu:{type:Function}},setup(e){const t=e,i=inject("eventBus"),{codeBlockService:o}=useServices(),n=computed$1(()=>o.getEditStatus()),{codeId:r,codeBlockEditor:s,codeConfig:a,editCode:l,deleteCode:c,createCodeBlock:d,submitCodeBlockHandler:u}=useCodeBlockEdit(o),h=useTemplateRef("codeBlockList"),p=e=>{h.value?.filter(e)};i?.on("edit-code",e=>{l(e)}),watch(r,()=>{if(h.value)for(const[e,t]of h.value.nodeStatusMap.entries())t.selected=e===r.value});const g=()=>{if(h.value)for(const[,e]of h.value.nodeStatusMap.entries())e.selected=!1},{nodeContentMenuHandler:m,menuData:f,contentMenuHideHandler:v}=useContentMenu$1(e=>{h.value?.deleteCode(e)}),b=computed$1(()=>t.customContentMenu(f,"code-block"));return(e,t)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$d$3),{class:"m-editor-code-block-list m-editor-layer-panel"},{default:withCtx(()=>[renderSlot(e.$slots,"code-block-panel-header",{},()=>[createBaseVNode("div",_hoisted_1$9,[createVNode(_sfc_main$n$1,{onSearch:p}),n.value?(openBlock(),createBlock(unref(_sfc_main$G$2),{key:0,class:"create-code-button",type:"primary",size:"small",onClick:unref(d)},{default:withCtx(()=>[...t[0]||(t[0]=[createTextVNode("新增",-1)])]),_:1},8,["onClick"])):createCommentVNode("v-if",!0),renderSlot(e.$slots,"code-block-panel-search")])]),createCommentVNode(" 代码块列表 "),createVNode(_sfc_main$k$1,{ref:"codeBlockList","custom-error":e.customError,indent:e.indent,"next-level-indent-increment":e.nextLevelIndentIncrement,onEdit:unref(l),onRemove:unref(c),onNodeContextmenu:unref(m)},{"code-block-panel-tool":withCtx(({id:t,data:i})=>[renderSlot(e.$slots,"code-block-panel-tool",{id:t,data:i})]),_:3},8,["custom-error","indent","next-level-indent-increment","onEdit","onRemove","onNodeContextmenu"])]),_:3}),unref(a)?(openBlock(),createBlock(_sfc_main$1e$1,{key:0,ref_key:"codeBlockEditor",ref:s,disabled:!n.value,content:unref(a),onSubmit:unref(u),onClose:g},null,8,["disabled","content","onSubmit"])):createCommentVNode("v-if",!0),(openBlock(),createBlock(Teleport$1,{to:"body"},[b.value.length?(openBlock(),createBlock(_sfc_main$o$1,{key:0,"menu-data":b.value,ref:"menu",style:{overflow:"initial"},onHide:unref(v)},null,8,["menu-data","onHide"])):createCommentVNode("v-if",!0)]))],64))}}),useDataSourceEdit=e=>{const t=ref$1(""),i=ref$1(),o=ref$1({}),n=computed$1(()=>e.get("editable"));return{dialogTitle:t,editDialog:i,dataSourceValues:o,editable:n,editHandler:n=>{i.value&&(o.value={...e.getDataSourceById(n)||{}},t.value=`编辑${o.value.title||""}`,i.value.show())},submitDataSourceHandler:(t,o)=>{t.id?e.update(t,{changeRecords:o.changeRecords}):e.add(t),i.value?.hide()}}},_sfc_main$i$1=defineComponent({name:"MEditorDataSourceConfigPanel",__name:"DataSourceConfigPanel",props:mergeModels({title:{},values:{},disabled:{type:Boolean}},{visible:{type:Boolean,default:!1},visibleModifiers:{},width:{default:670},widthModifiers:{}}),emits:mergeModels(["submit","close","open"],["update:visible","update:width"]),setup(e,{expose:t,emit:i}){const o=e,n=useModel(e,"visible"),r=useModel(e,"width"),s=i,{uiService:a,dataSourceService:l}=useServices(),c=ref$1({}),d=ref$1([]),{height:u}=useEditorContentHeight(),h=inject("parentFloating",ref$1(null)),{boxPosition:p,calcBoxPosition:g}=useNextFloatBoxPosition(a,h);watchEffect(()=>{c.value=o.values,d.value=l.getFormConfig(c.value.type)});const m=(e,t)=>{s("submit",e,t)},f=e=>{tMagicMessage.error(e.message)};return watch(n,e=>{nextTick(()=>{e?c.value?.id&&s("open",c.value.id):s("close")})}),t({show(){g(),n.value=!0},hide(){n.value=!1}}),(e,t)=>(openBlock(),createBlock(_sfc_main$1j$1,{visible:n.value,"onUpdate:visible":t[0]||(t[0]=e=>n.value=e),width:r.value,"onUpdate:width":t[1]||(t[1]=e=>r.value=e),height:unref(u),"onUpdate:height":t[2]||(t[2]=e=>isRef(u)?u.value=e:null),title:e.title,position:unref(p)},{body:withCtx(()=>[createVNode(unref(_sfc_main$1L),{"label-width":"80px",title:e.title,config:d.value,values:c.value,disabled:e.disabled,style:{height:"100%"},onSubmit:m,onError:f},null,8,["title","config","values","disabled"])]),_:1},8,["visible","width","height","title","position"]))}}),_sfc_main$h$1=defineComponent({name:"MEditorDataSourceList",__name:"DataSourceList",props:{indent:{},nextLevelIndentIncrement:{}},emits:["edit","remove","node-contextmenu"],setup(e,{expose:t,emit:i}){const o=i,{depService:n,editorService:r,dataSourceService:s}=useServices(),a=computed$1(()=>s.get("editable")),l=computed$1(()=>s.get("dataSources")),c=computed$1(()=>n.getTargets(DepTargetType.DATA_SOURCE)),d=computed$1(()=>n.getTargets(DepTargetType.DATA_SOURCE_METHOD)),u=computed$1(()=>n.getTargets(DepTargetType.DATA_SOURCE_COND)),h=(e,t,i)=>e.keys.map(e=>({name:e,id:`${i}_${e}`,type:"key",isMethod:"method"===t,isCond:"cond"===t})),p=(e,t,i,o)=>{Object.entries(i).forEach(([e,i])=>{const n=t.find(e=>e.key===i.data?.pageId),r=n?.items.find(t=>t.key===e);r?r.items=r.items.concat(h(i,o,r.key)):n?.items.push(((e,t,i,o)=>({name:t.name,type:"node",id:`${o}_${e}`,key:e,items:h(t,i,`${o}_${e}`)}))(e,i,o,n.id))})},g=computed$1(()=>l.value.map(e=>{const t=c.value[e.id]?.deps||{},i=d.value[e.id]?.deps||{},o=u.value[e.id]?.deps||{},n=r.get("root")?.items.map(t=>({name:t.devconfig?.tabName||t.name,type:"node",id:`${e.id}_${t.id}`,key:t.id,items:[]}))||[];return p(e.id,n,t),p(e.id,n,i,"method"),p(e.id,n,o,"cond"),{id:e.id,key:e.id,name:e.title,type:"ds",items:n.length>1?n.filter(e=>e.items.length):n[0]?.items||[]}})),{nodeStatusMap:m}=useNodeStatus$1(g),{filterTextChangeHandler:f}=useFilter(g,m,(e,t)=>!e||`${t.name}${t.id}`.toLocaleLowerCase().includes(e.toLocaleLowerCase())),v=(e,t)=>{"node"===t.type&&(e=>{const t=r.get("stage");r.select(e),t?.select(e)})(t.key)},b=(e,t)=>{o("node-contextmenu",e,t)};return t({nodeStatusMap:m,filter:f}),(e,t)=>(openBlock(),createBlock(_sfc_main$l$1,{data:g.value,"node-status-map":unref(m),indent:e.indent,"next-level-indent-increment":e.nextLevelIndentIncrement,onNodeClick:v,onNodeContextmenu:b},{"tree-node-label":withCtx(({data:e})=>[createBaseVNode("div",{class:normalizeClass({ds:"ds"===e.type,hook:"key"===e.type,disabled:"key"===e.type||"ds"===e.type})},toDisplayString(e.name)+" "+toDisplayString(e.key?`(${e.key})`:""),3)]),"tree-node-tool":withCtx(({data:t})=>["ds"===t.type?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,effect:"dark",content:a.value?"编辑":"查看",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:a.value?unref(edit_default):unref(view_default),class:"edit-icon",onClick:withModifiers(e=>{return i=`${t.key}`,void o("edit",i);var i},["stop"])},null,8,["icon","onClick"])]),_:2},1032,["content"])):createCommentVNode("v-if",!0),"ds"===t.type&&a.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:1,effect:"dark",content:"删除",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(close_default),class:"edit-icon",onClick:withModifiers(e=>(async e=>{o("remove",e)})(`${t.key}`),["stop"])},null,8,["icon","onClick"])]),_:2},1024)):createCommentVNode("v-if",!0),renderSlot(e.$slots,"data-source-panel-tool",{data:t})]),_:3},8,["data","node-status-map","indent","next-level-indent-increment"]))}}),useContentMenu=()=>{const e=inject("eventBus"),t=useTemplateRef("menu");let i="";return{menuData:[{type:"button",text:"编辑",icon:edit_default,display:({dataSourceService:e})=>e.get("editable"),handler:()=>{i&&e?.emit("edit-data-source",i)}},{type:"button",text:"复制并粘贴至当前",icon:markRaw(copy_document_default),handler:({dataSourceService:e})=>{if(!i)return;const t=e.getDataSourceById(i);t&&e.add(cloneDeep(t))}},{type:"button",text:"删除",icon:delete_default,handler:()=>{i&&e?.emit("remove-data-source",i)}}],nodeContentMenuHandler:(e,o)=>{e.preventDefault(),"ds"===o.type&&(t.value?.show(e),i=o.id?`${o.id}`:"")},contentMenuHideHandler:()=>{i=""}}},_hoisted_1$8={class:"search-wrapper"},_sfc_main$g$1=defineComponent({name:"MEditorDataSourceListPanel",__name:"DataSourceListPanel",props:{indent:{},nextLevelIndentIncrement:{},customContentMenu:{type:Function}},setup(e){const t=e,i=inject("eventBus"),{dataSourceService:o}=useServices(),{editDialog:n,dataSourceValues:r,dialogTitle:s,editable:a,editHandler:l,submitDataSourceHandler:c}=useDataSourceEdit(o),d=()=>{if(p.value)for(const[,e]of p.value.nodeStatusMap.entries())e.selected=!1};watch(r,e=>{if(p.value&&e.id)for(const[t,i]of p.value.nodeStatusMap.entries())i.selected=t===e.id});const u=computed$1(()=>[{text:"基础",type:"base"},{text:"HTTP",type:"http"}].concat(o.get("datasourceTypeList"))),h=async e=>{await tMagicMessageBox.confirm("确定删除?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),o.remove(e)},p=useTemplateRef("dataSourceList"),g=e=>{p.value?.filter(e)};i?.on("edit-data-source",e=>{l(e)}),i?.on("remove-data-source",e=>{h(e)});const{nodeContentMenuHandler:m,menuData:f,contentMenuHideHandler:v}=useContentMenu(),b=computed$1(()=>t.customContentMenu(f,"data-source"));return(e,t)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$d$3),{class:"data-source-list-panel m-editor-layer-panel"},{default:withCtx(()=>[createBaseVNode("div",_hoisted_1$8,[createVNode(_sfc_main$n$1,{onSearch:g}),unref(a)?(openBlock(),createBlock(unref(_sfc_main$i$3),{key:0,placement:"right",trigger:"hover","popper-class":"data-source-list-panel-add-menu","destroy-on-close":!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$G$2),{type:"primary",size:"small"},{default:withCtx(()=>[...t[0]||(t[0]=[createTextVNode("新增",-1)])]),_:1})]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(u.value,(e,t)=>(openBlock(),createBlock(_sfc_main$z$1,{data:{type:"button",text:e.text,handler:()=>{(e=>{if(!n.value)return;const t=u.value.find(t=>t.type===e);r.value=mergeWith({type:e,title:t?.text},o.getFormValue(e),(e,t)=>{if(Array.isArray(t))return t}),s.value=`新增${t?.text||""}`,n.value.show()})(e.type)}},key:t},null,8,["data"]))),128))]),_:1})):createCommentVNode("v-if",!0),renderSlot(e.$slots,"data-source-panel-search")]),createCommentVNode(" 数据源列表 "),createVNode(_sfc_main$h$1,{ref:"dataSourceList",indent:e.indent,"next-level-indent-increment":e.nextLevelIndentIncrement,onEdit:unref(l),onRemove:h,onNodeContextmenu:unref(m)},null,8,["indent","next-level-indent-increment","onEdit","onNodeContextmenu"])]),_:3}),createVNode(_sfc_main$i$1,{ref_key:"editDialog",ref:n,disabled:!unref(a),values:unref(r),title:unref(s),onSubmit:unref(c),onClose:d},null,8,["disabled","values","title","onSubmit"]),(openBlock(),createBlock(Teleport$1,{to:"body"},[b.value.length?(openBlock(),createBlock(_sfc_main$o$1,{key:0,"menu-data":b.value,ref:"menu",style:{overflow:"initial"},onHide:unref(v)},null,8,["menu-data","onHide"])):createCommentVNode("v-if",!0)]))],64))}}),_hoisted_1$7={width:"1em",height:"1em",viewBox:"0 0 16 16",class:"bi bi-folder-minus",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},_sfc_main$f$1=defineComponent({name:"MEditorFolderMinusIcon",__name:"FolderMinusIcon",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",_hoisted_1$7,[...t[0]||(t[0]=[createBaseVNode("path",{"fill-rule":"evenodd",d:"M9.828 4H2.19a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91H9v1H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181L15.546 8H14.54l.265-2.91A1 1 0 0 0 13.81 4H9.828zm-2.95-1.707L7.587 3H2.19c-.24 0-.47.042-.684.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293z"},null,-1),createBaseVNode("path",{"fill-rule":"evenodd",d:"M11 11.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z"},null,-1)])]))}),useDeleteMenu=()=>({type:"button",text:"删除",icon:delete_default,display:({editorService:e})=>{const t=e.get("node");return t?.type!==NodeType.ROOT&&!isPage(t)&&!isPageFragment(t)},handler:({editorService:e})=>{const t=e.get("nodes");t&&e.remove(t)}}),useCopyMenu=()=>({type:"button",text:"复制",icon:markRaw(copy_document_default),handler:({editorService:e})=>{const t=e?.get("nodes");t&&e?.copy(t)}}),usePasteMenu=e=>({type:"button",text:"粘贴",icon:markRaw(document_copy_default),display:({storageService:e})=>!!e.getItem(COPY_STORAGE_KEY),handler:({editorService:t,uiService:i})=>{const o=t?.get("nodes");if(o&&0!==o.length)if(e?.value?.$el){const o=t.get("stage"),n=e.value.$el.getBoundingClientRect(),r=o?.container?.getBoundingClientRect(),s=calcValueByFontsize(o?.renderer?.getDocument(),(n.left||0)-(r?.left||0))/i.get("zoom"),a=calcValueByFontsize(o?.renderer?.getDocument(),(n.top||0)-(r?.top||0))/i.get("zoom");t.paste({left:s,top:a})}else t.paste()}}),moveTo=(e,{editorService:t})=>{const i=t.get("nodes")||[],o=t.getNodeById(e);o&&(t.add(i,o),t.remove(i))},useMoveToMenu=({editorService:e})=>{const t=computed$1(()=>e.get("root"));return{type:"button",text:"移动至",display:({editorService:e})=>{const t=e.get("node"),i=e.get("pageLength");return!isPage(t)&&i>1},items:(t.value?.items||[]).filter(t=>t.id!==e.get("page")?.id).map(e=>({text:`${e.name}(${e.id})`,type:"button",handler:t=>{moveTo(e.id,t)}}))}},_sfc_main$e$1=defineComponent({name:"MEditorLayerMenu",__name:"LayerMenu",props:{layerContentMenu:{},customContentMenu:{type:Function}},emits:["collapse-all"],setup(e,{expose:t,emit:i}){const o=e,n=i,r=useServices(),{editorService:s,componentListService:a}=r,l=useTemplateRef("menu"),c=computed$1(()=>s.get("node")),d=computed$1(()=>s.get("nodes")),u=computed$1(()=>a.getList()),h=computed$1(()=>"tabs"===c.value?.type?[{text:"标签页",type:"button",icon:files_default,handler:()=>{s.add({type:"tab-pane"})}}]:c.value?.items&&u.value.reduce((e,t,i)=>e.concat((e=>e.items.map(e=>({text:e.text,type:"button",icon:e.icon,handler:()=>{s.add({name:e.text,type:e.type,...e.data||{}})}})))(t),io.customContentMenu([{type:"button",text:"全部折叠",icon:_sfc_main$f$1,display:()=>isPage(c.value)||isPageFragment(c.value),handler:()=>{n("collapse-all")}},{type:"button",text:"新增",icon:markRaw(plus_default),display:()=>c.value?.items&&1===d.value?.length,items:h.value},useCopyMenu(),usePasteMenu(),useDeleteMenu(),useMoveToMenu(r),...o.layerContentMenu],"layer"));return t({show:e=>{l.value?.show(e)}}),(e,t)=>(openBlock(),createBlock(_sfc_main$o$1,{"menu-data":p.value,ref:"menu",style:{overflow:"initial"}},null,8,["menu-data"]))}}),_sfc_main$d$1=defineComponent({__name:"LayerNodeTool",props:{data:{}},setup(e){const t=e,{editorService:i}=useServices(),o=e=>{i.update({id:t.data.id,visible:e})};return(e,t)=>"page"!==e.data.type?(openBlock(),createElementBlock(Fragment,{key:0},[!1===e.data.visible?(openBlock(),createBlock(_sfc_main$1r$1,{key:0,icon:unref(hide_default),onClick:t[0]||(t[0]=withModifiers(e=>o(!0),["stop"])),title:"点击显示"},null,8,["icon"])):(openBlock(),createBlock(_sfc_main$1r$1,{key:1,icon:unref(view_default),onClick:t[1]||(t[1]=withModifiers(e=>o(!1),["stop"])),class:"node-lock",title:"点击隐藏"},null,8,["icon"]))],64)):createCommentVNode("v-if",!0)}}),useClick=({editorService:e,stageOverlayService:t,uiService:i},o,n,r)=>{const s=computed$1(()=>o.value&&!e.get("disabledMultiSelect")),a=async i=>{if(isPage(i)||isPageFragment(i))return;const o=e.get("nodes")||[],n=[];let r=!1;o.forEach(e=>{e.id!==i.id?isPage(e)||isPageFragment(e)||n.push(e.id):r=!0}),r&&0!==n.length||n.push(i.id),await e.multiSelect(n),e.get("stage")?.multiSelect(n),t.get("stage")?.multiSelect(n)},l=throttle$2((e,t)=>{c(t)},300),c=i=>{e.highlight(i),e.get("stage")?.highlight(i.id),t.get("stage")?.highlight(i.id)},d=(o,r)=>{n?.value&&(i.get("uiSelectMode")?document.dispatchEvent(new CustomEvent(UI_SELECT_MODE_EVENT_NAME,{detail:r})):(r.items&&r.items.length>0&&!s.value&&updateStatus(n.value,r.id,{expand:!0}),nextTick(()=>{(async i=>{if(!i.id)throw new Error("没有id");s.value?a(i):(await e.select(i),e.get("stage")?.select(i.id),t.get("stage")?.select(i.id))})(r)})))};return{menuRef:r,nodeClickHandler:d,nodeContentMenuHandler(t,i){t.preventDefault();const o=e.get("nodes")||[];(o.length<2||!o.includes(i))&&d(0,i),r.value?.show(t)},highlightHandler:l}},dragState={dragOverNodeId:"",dropType:"",container:null},getNodeEl=e=>e.dataset.nodeId?e:e.parentElement?getNodeEl(e.parentElement):void 0,removeStatusClass=e=>{e&&["drag-before","drag-after","drag-inner"].forEach(t=>{e.querySelectorAll(`.${t}`).forEach(e=>{removeClassName(e,t)})})},useDrag=({editorService:e})=>({handleDragStart:e=>{if(!e.dataTransfer||!e.target||!e.currentTarget)return;const t=getNodeEl(e.target);if(t&&t===e.currentTarget){e.dataTransfer.effectAllowed="move",dragState.nodeId=t.dataset.nodeId;try{e.dataTransfer.setData("text/json",JSON.stringify({dragType:DragType.LAYER_TREE}))}catch{}}},handleDragEnd:(t,i)=>{if(!t.target||!t.currentTarget)return;const o=getNodeEl(t.target);if(o&&o===t.currentTarget){if(removeStatusClass(dragState.container),i&&dragState.dragOverNodeId&&dragState.dropType){if(dragState.dragOverNodeId===i.id)return;const t=e.getNodeInfo(dragState.dragOverNodeId,!1),o=t.node;let n=t.parent;if(!n||!o)return;let r=-1;Array.isArray(o.items)&&"inner"===dragState.dropType?(r=o.items.length,n=o):r=getNodeIndex(dragState.dragOverNodeId,n),"after"===dragState.dropType&&(r+=1);const s=e.get("nodes");s.find(e=>`${e.id}`==`${i.id}`)?e.dragTo(s,n,r):e.dragTo([i],n,r)}dragState.dragOverNodeId="",dragState.dropType="",dragState.container=null}},handleDragLeave:e=>{if(!e.target||!e.currentTarget)return;const t=getNodeEl(e.target);if(!t||t!==e.currentTarget)return;const i=t.children[0];removeClassName(i,"drag-before","drag-after","drag-inner")},handleDragOver:e=>{if(!e.target)return;const t=getNodeEl(e.target);if(!t?.draggable)return;const i=t.children[0];if(!i)return;removeClassName(i,"drag-before","drag-after","drag-inner");const{top:o,height:n}=i.getBoundingClientRect(),r=e.clientY-o,s="true"===t.dataset.isContainer,a=t.dataset.nodeId,{nodeId:l}=dragState,c=t.dataset.parentsId?.split(",");if(a){if(c){let e=-1;for(let t=0,i=c.length;t=e)return}}r2*n/3?(dragState.dropType="after",addClassName(i,globalThis.document,"drag-after")):s&&(dragState.dropType="inner",addClassName(i,globalThis.document,"drag-inner")),dragState.dropType&&(dragState.dragOverNodeId=a,dragState.container=e.currentTarget,e.preventDefault())}}});var KeyBindingContainerKey=(e=>(e.STAGE="stage",e.LAYER_PANEL="layer-panel",e))(KeyBindingContainerKey||{});const keybindingConfig=[{command:KeyBindingCommand.DELETE_NODE,keybinding:["delete","backspace"],when:[["stage","keyup"],["layer-panel","keydown"]]},{command:KeyBindingCommand.COPY_NODE,keybinding:"ctrl+c",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.PASTE_NODE,keybinding:"ctrl+v",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.CUT_NODE,keybinding:"ctrl+x",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.UNDO,keybinding:"ctrl+z",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.REDO,keybinding:"ctrl+shift+z",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.MOVE_UP_1,keybinding:"up",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_DOWN_1,keybinding:"down",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_LEFT_1,keybinding:"left",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_RIGHT_1,keybinding:"right",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_UP_10,keybinding:"ctrl+up",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_DOWN_10,keybinding:"ctrl+down",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_LEFT_10,keybinding:"ctrl+left",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_RIGHT_10,keybinding:"ctrl+right",when:[["stage","keydown"]]},{command:KeyBindingCommand.SWITCH_NODE,keybinding:"tab",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.ZOOM_IN,keybinding:["ctrl+=","ctrl+numpadplus"],when:[["stage","keydown"]]},{command:KeyBindingCommand.ZOOM_OUT,keybinding:["ctrl+-","ctrl+numpad-"],when:[["stage","keydown"]]},{command:KeyBindingCommand.ZOOM_FIT,keybinding:"ctrl+0",when:[["stage","keydown"]]},{command:KeyBindingCommand.ZOOM_RESET,keybinding:"ctrl+1",when:[["stage","keydown"]]}],useKeybinding=({keybindingService:e},t)=>{const i=ref$1(!1),o=()=>{i.value=!1};return e.registerCommand("layer-panel-global-keyup",()=>{i.value=!1}),e.registerCommand("layer-panel-global-keydown",()=>{i.value=!0}),e.register([{command:"layer-panel-global-keydown",keybinding:"ctrl",when:[["global","keydown"]]},{command:"layer-panel-global-keyup",keybinding:"ctrl",when:[["global","keyup"]]}]),watchEffect(()=>{t.value?(globalThis.addEventListener("blur",o),e.registerEl(KeyBindingContainerKey.LAYER_PANEL,t.value.$el)):(globalThis.removeEventListener("blur",o),e.unregisterEl(KeyBindingContainerKey.LAYER_PANEL))}),{isCtrlKeyDown:i}},createPageNodeStatus=(e,t)=>{const i=new Map;return i.set(e.id,{visible:!0,expand:!0,selected:!0,draggable:!1}),e.items.forEach(e=>traverseNode(e,e=>{i.set(e.id,t?.get(e.id)||{visible:!0,expand:!1,selected:!1,draggable:!0})})),i},useNodeStatus=({editorService:e})=>{const t=computed$1(()=>e.get("page")),i=computed$1(()=>e.get("nodes")),o=ref$1(new Map),n=computed$1(()=>t.value?o.value.get(t.value.id):new Map);watch(()=>t.value?.id,e=>{e&&o.value.set(e,createPageNodeStatus(t.value,o.value.get(e)))},{immediate:!0}),watch(i,e=>{if(n.value)for(const[i,o]of n.value.entries())o.selected=e.some(e=>e.id===i),o.selected&&getNodePath(i,t.value?.items).forEach(e=>{updateStatus(n.value,e.id,{expand:!0})})},{immediate:!0});const r=e=>{e.forEach(e=>{isPage(e)||isPageFragment(e)||traverseNode(e,e=>{n.value?.set(e.id,{visible:!0,expand:Array.isArray(e.items),selected:!0,draggable:!0})})})};e.on("add",r);const s=e=>{e.forEach(e=>{traverseNode(e,e=>{n.value?.delete(e.id)})})};return e.on("remove",s),onBeforeUnmount(()=>{e.off("remove",s),e.off("add",r)}),{nodeStatusMaps:o,nodeStatusMap:n}},_sfc_main$c$1=defineComponent({name:"MEditorLayerPanel",__name:"LayerPanel",props:{layerContentMenu:{},indent:{},nextLevelIndentIncrement:{},customContentMenu:{type:Function}},setup(e){const t=useServices(),{editorService:i}=t,o=useTemplateRef("tree"),n=computed$1(()=>i.get("page")),r=computed$1(()=>n.value?[n.value]:[]),{nodeStatusMap:s}=useNodeStatus(t),{isCtrlKeyDown:a}=useKeybinding(t,o),{filterTextChangeHandler:l}=useFilter(r,s,(e,t)=>{let i="";return t.name?i=t.name:t.items&&(i="container"),`${t.id}${i}${t.type}`.includes(e)}),c=()=>{if(!n.value||!s.value)return;const e=s.value.entries();for(const[t,i]of e)t!==n.value.id&&(i.expand=!1)},{handleDragStart:d,handleDragEnd:u,handleDragLeave:h,handleDragOver:p}=useDrag(t),g=useTemplateRef("menu"),{nodeClickHandler:m,nodeContentMenuHandler:f,highlightHandler:v}=useClick(t,a,s,g);return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$d$3),{class:"m-editor-layer-panel"},{default:withCtx(()=>[renderSlot(e.$slots,"layer-panel-header"),createVNode(_sfc_main$n$1,{onSearch:unref(l)},null,8,["onSearch"]),n.value&&unref(s)?(openBlock(),createBlock(_sfc_main$l$1,{key:0,tabindex:"-1",ref:"tree",data:r.value,"node-status-map":unref(s),indent:e.indent,"next-level-indent-increment":e.nextLevelIndentIncrement,onNodeDragover:unref(p),onNodeDragstart:unref(d),onNodeDragleave:unref(h),onNodeDragend:unref(u),onNodeContextmenu:unref(f),onNodeMouseenter:unref(v),onNodeClick:unref(m)},{"tree-node-content":withCtx(({data:t})=>[renderSlot(e.$slots,"layer-node-content",{data:t})]),"tree-node-tool":withCtx(({data:t})=>[renderSlot(e.$slots,"layer-node-tool",{data:t},()=>[createVNode(_sfc_main$d$1,{data:t},null,8,["data"])])]),"tree-node-label":withCtx(({data:t})=>[renderSlot(e.$slots,"layer-node-label",{data:t})]),_:3},8,["data","node-status-map","indent","next-level-indent-increment","onNodeDragover","onNodeDragstart","onNodeDragleave","onNodeDragend","onNodeContextmenu","onNodeMouseenter","onNodeClick"])):createCommentVNode("v-if",!0),(openBlock(),createBlock(Teleport$1,{to:"body"},[createVNode(_sfc_main$e$1,{ref:"menu","layer-content-menu":e.layerContentMenu,"custom-content-menu":e.customContentMenu,onCollapseAll:c},null,8,["layer-content-menu","custom-content-menu"])]))]),_:3}))}}),_hoisted_1$6=["onClick","onDragstart"],_hoisted_2$2$1=["title"],_sfc_main$b$1=defineComponent({name:"MEditorComponentListPanel",__name:"ComponentListPanel",setup(e){const t=ref$1(""),i=e=>{t.value=e},{editorService:o,componentListService:n}=useServices(),r=inject("stageOptions"),s=computed$1(()=>o.get("stage")),a=computed$1(()=>n.getList().map(e=>({...e,items:e.items.filter(e=>e.text.includes(t.value))}))),l=computed$1(()=>Array(a.value?.length).fill(1).map((e,t)=>`${t}`));let c,d,u;const h=()=>{c&&(globalThis.clearTimeout(c),c=void 0);const e=s.value?.renderer?.getDocument();e&&r?.containerHighlightClassName&&removeClassNameByClassName(e,r.containerHighlightClassName),d=0,u=0},p=e=>{if(e.clientX!==d||e.clientY!==u)return d=e.clientX,u=e.clientY,void(c&&(globalThis.clearTimeout(c),c=void 0));!c&&s.value&&(c=s.value.delayedMarkContainer(e))};return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$d$3),null,{default:withCtx(()=>[renderSlot(e.$slots,"component-list-panel-header"),createVNode(_sfc_main$n$1,{onSearch:i}),renderSlot(e.$slots,"component-list",{componentGroupList:a.value},()=>[createVNode(unref(_sfc_main$A$2),{class:"ui-component-panel","model-value":l.value},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(a.value,(t,i)=>(openBlock(),createElementBlock(Fragment,null,[t.items&&t.items.length?(openBlock(),createBlock(unref(_sfc_main$z$2),{key:i,name:`${i}`},{title:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:unref(grid_default)},null,8,["icon"]),createTextVNode(toDisplayString(t.title),1)]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(t.items,t=>(openBlock(),createElementBlock("div",{class:"component-item",draggable:"true",key:t.type,onClick:e=>(({text:e,type:t,data:i={}})=>{o.add({name:e,type:t,...i})})(t),onDragstart:e=>(({text:e,type:t,data:i={}},o)=>{o.dataTransfer?.setData("text/json",serialize({dragType:DragType.COMPONENT_LIST,data:{name:e,type:t,...i}}))})(t,e),onDragend:h,onDrag:p},[renderSlot(e.$slots,"component-list-item",{component:t},()=>[createVNode(unref(_sfc_main$2$4),{placement:"right",disabled:!Boolean(t.desc),content:t.desc},{default:withCtx(()=>[createVNode(_sfc_main$1r$1,{icon:t.icon},null,8,["icon"])]),_:2},1032,["disabled","content"]),createBaseVNode("span",{title:t.text},toDisplayString(t.text),9,_hoisted_2$2$1)])],40,_hoisted_1$6))),128))]),_:2},1032,["name"])):createCommentVNode("v-if",!0)],64))),256))]),_:3},8,["model-value"])])]),_:3}))}}),_hoisted_1$5={key:0,class:"m-editor-sidebar"},_hoisted_2$1$1={class:"m-editor-sidebar-header"},_hoisted_3$8=["draggable","onClick","onDragend"],_hoisted_4$6={key:1,class:"magic-editor-tab-panel-title"},_hoisted_5={key:0,class:"m-editor-sidebar-tips"},_hoisted_6={class:"m-editor-slide-list-box"},_sfc_main$a$1=defineComponent({name:"MEditorSidebar",__name:"Sidebar",props:{data:{default:()=>({type:"tabs",status:"组件",items:[SideItemKey.COMPONENT_LIST,SideItemKey.LAYER,SideItemKey.CODE_BLOCK,SideItemKey.DATA_SOURCE]})},layerContentMenu:{},indent:{},nextLevelIndentIncrement:{},customContentMenu:{}},setup(e,{expose:t}){const i=e,{depService:o,uiService:n,propsService:r}=useServices(),s=computed$1(()=>o.get("collecting")),a=computed$1(()=>o.get("taskLength")),l=ref$1(!0),c=computed$1(()=>n.get("columnWidth")[ColumnLayout.LEFT]),{height:d}=useEditorContentHeight(),u=ref$1(0),h=watch(d,e=>{e&&(u.value=.5*e,nextTick().then(()=>{h()}))},{immediate:!0}),p=ref$1(i.data?.status),g=computed$1(()=>i.data.items.map(e=>(e=>{const t={[SideItemKey.COMPONENT_LIST]:{$key:SideItemKey.COMPONENT_LIST,type:"component",icon:goods_default,text:"组件",component:_sfc_main$b$1,slots:{}},layer:{$key:"layer",type:"component",icon:list_default,text:"已选组件",props:{layerContentMenu:i.layerContentMenu,customContentMenu:i.customContentMenu,indent:i.indent,nextLevelIndentIncrement:i.nextLevelIndentIncrement},component:_sfc_main$c$1,slots:{}},[SideItemKey.CODE_BLOCK]:{$key:"code-block",type:"component",icon:edit_pen_default,text:"代码编辑",component:_sfc_main$j$1,props:{indent:i.indent,nextLevelIndentIncrement:i.nextLevelIndentIncrement,customContentMenu:i.customContentMenu},slots:{}},[SideItemKey.DATA_SOURCE]:{$key:SideItemKey.DATA_SOURCE,type:"component",icon:coin_default,text:"数据源",component:_sfc_main$g$1,props:{indent:i.indent,nextLevelIndentIncrement:i.nextLevelIndentIncrement,customContentMenu:i.customContentMenu},slots:{}}};return"string"==typeof e?t[e]:e})(e)).filter(e=>e.$key===SideItemKey.DATA_SOURCE?!r.getDisabledDataSource():e.$key!==SideItemKey.CODE_BLOCK||!r.getDisabledCodeBlock()));watch(g,e=>{n.set("sideBarItems",e)},{immediate:!0}),watch(()=>i.data.status,e=>{p.value=e||"0"});const m=computed$1(()=>g.value.map(e=>e.$key)),{dragstartHandler:f,dragendHandler:v,floatBoxStates:b,showingBoxKeys:_}=useFloatBox(m);watch(()=>_.value.length,()=>{const e=_.value.some(e=>p.value===g.value.find(t=>t.$key===e)?.text);if(!e&&p.value)return;const t=g.value.find(e=>!_.value.includes(e.$key));if(!t)return p.value="",void n.set("hideSlideBar",!0);n.set("hideSlideBar",!1),p.value=t?.text});return t({activeTabName:p}),(e,t)=>(openBlock(),createElementBlock(Fragment,null,["tabs"===e.data.type&&e.data.items.length?(openBlock(),createElementBlock("div",_hoisted_1$5,[createBaseVNode("div",_hoisted_2$1$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(g.value,(e,i)=>withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(["m-editor-sidebar-header-item",{"is-active":p.value===e.text}]),draggable:e.draggable??!0,key:e.$key??i,style:normalizeStyle(e.tabStyle||{}),onClick:t=>(async(e,t)=>{"function"==typeof e.beforeClick&&!1===await e.beforeClick(e)||(p.value=e.text||e.$key||`${t}`)})(e,i),onDragstart:t[0]||(t[0]=(...e)=>unref(f)&&unref(f)(...e)),onDragend:t=>unref(v)(e.$key,t)},[e.icon?(openBlock(),createBlock(_sfc_main$1r$1,{key:0,icon:e.icon},null,8,["icon"])):createCommentVNode("v-if",!0),e.text?(openBlock(),createElementBlock("div",_hoisted_4$6,toDisplayString(e.text),1)):createCommentVNode("v-if",!0)],46,_hoisted_3$8)),[[vShow,!unref(b)[e.$key]?.status]])),128))]),(openBlock(!0),createElementBlock(Fragment,null,renderList(g.value,(t,i)=>withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(["m-editor-sidebar-content",{"m-editor-dep-collecting":s.value}]),key:t.$key??i},[t?.component&&!unref(b)[t.$key]?.status?(openBlock(),createBlock(resolveDynamicComponent(t.component),mergeProps({key:0,ref_for:!0},t.props||{},toHandlers(t?.listeners||{})),createSlots({_:2},["component-list"===t.$key||t.slots?.componentList?{name:"component-list",fn:withCtx(({componentGroupList:i})=>["component-list"===t.$key?renderSlot(e.$slots,"component-list",{key:0,componentGroupList:i}):t.slots?.componentList?(openBlock(),createBlock(resolveDynamicComponent(t.slots.componentList),{key:1})):createCommentVNode("v-if",!0)]),key:"0"}:void 0,"component-list"===t.$key||t.slots?.componentListPanelHeader?{name:"component-list-panel-header",fn:withCtx(()=>["component-list"===t.$key?renderSlot(e.$slots,"component-list-panel-header",{key:0}):t.slots?.componentListPanelHeader?(openBlock(),createBlock(resolveDynamicComponent(t.slots.componentListPanelHeader),{key:1})):createCommentVNode("v-if",!0)]),key:"1"}:void 0,"component-list"===t.$key||t.slots?.componentListItem?{name:"component-list-item",fn:withCtx(({component:i})=>["component-list"===t.$key?renderSlot(e.$slots,"component-list-item",{key:0,component:i}):t.slots?.componentListItem?(openBlock(),createBlock(resolveDynamicComponent(t.slots.componentListItem),{key:1,component:i},null,8,["component"])):createCommentVNode("v-if",!0)]),key:"2"}:void 0,"layer"===t.$key||t.slots?.layerPanelHeader?{name:"layer-panel-header",fn:withCtx(()=>["layer"===t.$key?renderSlot(e.$slots,"layer-panel-header",{key:0}):t.slots?.layerPanelHeader?(openBlock(),createBlock(resolveDynamicComponent(t.slots.layerPanelHeader),{key:1})):createCommentVNode("v-if",!0)]),key:"3"}:void 0,"code-block"===t.$key||t.slots?.codeBlockPanelHeader?{name:"code-block-panel-header",fn:withCtx(()=>["code-block"===t.$key?renderSlot(e.$slots,"code-block-panel-header",{key:0}):t.slots?.codeBlockPanelHeader?(openBlock(),createBlock(resolveDynamicComponent(t.slots.codeBlockPanelHeader),{key:1})):createCommentVNode("v-if",!0)]),key:"4"}:void 0,"code-block"===t.$key||t.slots?.codeBlockPanelTool?{name:"code-block-panel-tool",fn:withCtx(({id:i,data:o})=>["code-block"===t.$key?renderSlot(e.$slots,"code-block-panel-tool",{key:0,id:i,data:o}):t.slots?.codeBlockPanelTool?(openBlock(),createBlock(resolveDynamicComponent(t.slots.codeBlockPanelTool),{key:1})):createCommentVNode("v-if",!0)]),key:"5"}:void 0,"code-block"===t.$key||t.slots?.codeBlockPanelSearch?{name:"code-block-panel-search",fn:withCtx(()=>["code-block"===t.$key?renderSlot(e.$slots,"code-block-panel-search",{key:0}):t.slots?.codeBlockPanelSearch?(openBlock(),createBlock(resolveDynamicComponent(t.slots.codeBlockPanelSearch),{key:1})):createCommentVNode("v-if",!0)]),key:"6"}:void 0,"layer"===t.$key||t.slots?.layerNodeContent?{name:"layer-node-content",fn:withCtx(({data:i})=>["layer"===t.$key?renderSlot(e.$slots,"layer-node-content",{key:0,data:i}):t.slots?.layerNodeContent?(openBlock(),createBlock(resolveDynamicComponent(t.slots.layerNodeContent),{key:1,data:i},null,8,["data"])):createCommentVNode("v-if",!0)]),key:"7"}:void 0,"layer"===t.$key||t.slots?.layerNodeLabel?{name:"layer-node-label",fn:withCtx(({data:i})=>["layer"===t.$key?renderSlot(e.$slots,"layer-node-label",{key:0,data:i}):t.slots?.layerNodeLabel?(openBlock(),createBlock(resolveDynamicComponent(t.slots.layerNodeTool),{key:1,data:i},null,8,["data"])):createCommentVNode("v-if",!0)]),key:"8"}:void 0,"layer"===t.$key||t.slots?.layerNodeTool?{name:"layer-node-tool",fn:withCtx(({data:i})=>["layer"===t.$key?renderSlot(e.$slots,"layer-node-tool",{key:0,data:i}):t.slots?.layerNodeTool?(openBlock(),createBlock(resolveDynamicComponent(t.slots.layerNodeTool),{key:1,data:i},null,8,["data"])):createCommentVNode("v-if",!0)]),key:"9"}:void 0,"data-source"===t.$key||t.slots?.dataSourcePanelTool?{name:"data-source-panel-tool",fn:withCtx(({data:i})=>["data-source"===t.$key?renderSlot(e.$slots,"data-source-panel-tool",{key:0,data:i}):t.slots?.DataSourcePanelTool?(openBlock(),createBlock(resolveDynamicComponent(t.slots.DataSourcePanelTool),{key:1})):createCommentVNode("v-if",!0)]),key:"10"}:void 0,"data-source"===t.$key||t.slots?.dataSourcePanelSearch?{name:"data-source-panel-search",fn:withCtx(()=>["data-source"===t.$key?renderSlot(e.$slots,"data-source-panel-search",{key:0}):t.slots?.dataSourcePanelSearch?(openBlock(),createBlock(resolveDynamicComponent(t.slots.dataSourcePanelSearch),{key:1})):createCommentVNode("v-if",!0)]),key:"11"}:void 0]),1040)):createCommentVNode("v-if",!0)],2)),[[vShow,[t.text,t.$key,`${i}`].includes(p.value)]])),128)),l.value&&s.value&&a.value>0?(openBlock(),createElementBlock("div",_hoisted_5,[createBaseVNode("span",null,"依赖收集中(剩余任务:"+toDisplayString(a.value)+")",1),createVNode(_sfc_main$1r$1,{icon:unref(close_default),class:"close-icon",onClick:t[1]||(t[1]=withModifiers(e=>l.value=!1,["stop"]))},null,8,["icon"])])):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0),(openBlock(),createBlock(Teleport$1,{to:"body"},[(openBlock(!0),createElementBlock(Fragment,null,renderList(g.value,(e,i)=>(openBlock(),createElementBlock(Fragment,null,[unref(b)[e.$key]?.status?(openBlock(),createBlock(_sfc_main$1j$1,{key:e.$key??i,visible:unref(b)[e.$key].status,"onUpdate:visible":t=>unref(b)[e.$key].status=t,height:u.value,"onUpdate:height":t[2]||(t[2]=e=>u.value=e),width:c.value,title:e.text,position:{left:unref(b)[e.$key].left,top:unref(b)[e.$key].top}},{body:withCtx(()=>[createBaseVNode("div",_hoisted_6,[e&&unref(b)[e.$key].status?(openBlock(),createBlock(resolveDynamicComponent(e.component),mergeProps({key:0,ref_for:!0},e.props||{},toHandlers(e?.listeners||{})),null,16)):createCommentVNode("v-if",!0)])]),_:2},1032,["visible","onUpdate:visible","height","width","title","position"])):createCommentVNode("v-if",!0)],64))),256))]))],64))}}),_sfc_main$9$1=defineComponent({name:"MEditorScrollBar",__name:"ScrollBar",props:{size:{},scrollSize:{},isHorizontal:{type:Boolean},pos:{}},emits:["scroll"],setup(e,{emit:t}){const i=e,o=t,n=useTemplateRef("bar"),r=useTemplateRef("thumb"),s=computed$1(()=>i.size*(i.size/i.scrollSize)),a=computed$1(()=>i.pos/i.scrollSize*i.size),l=computed$1(()=>({[i.isHorizontal?"width":"height"]:`${s.value}px`,transform:`translate${i.isHorizontal?"X":"Y"}(${a.value}px)`}));let c;onMounted(()=>{r.value&&(c=new Gesto(r.value,{container:window}),c.on("dragStart",e=>{e.inputEvent.stopPropagation(),e.inputEvent.preventDefault()}).on("drag",e=>{h(u(e))}),n.value?.addEventListener("wheel",d,!1))}),onBeforeUnmount(()=>{c&&c.off(),n.value?.removeEventListener("wheel",d,!1)});const d=e=>{const t=i.isHorizontal?e.deltaX:e.deltaY;t&&e.preventDefault(),h(t)},u=e=>{const t=(i.isHorizontal?e.deltaX:e.deltaY)/i.size;return i.scrollSize*t},h=e=>{if(e<0)i.pos<=0?o("scroll",0):o("scroll",-Math.min(-e,i.pos));else{const t=i.size-(s.value+a.value);o("scroll",t<=0?0:Math.min(e,t))}};return(e,t)=>(openBlock(),createElementBlock("div",{ref:"bar",class:normalizeClass(["m-editor-scroll-bar",e.isHorizontal?"horizontal":"vertical"])},[createBaseVNode("div",{ref:"thumb",class:"m-editor-scroll-bar-thumb",style:normalizeStyle(l.value)},null,4)],2))}}),_hoisted_1$4={class:"m-editor-scroll-viewer-container",ref:"container"},_sfc_main$8$1=defineComponent({name:"MEditorScrollViewer",__name:"ScrollViewer",props:{width:{default:0},height:{default:0},wrapWidth:{default:0},wrapHeight:{default:0},zoom:{default:1},correctionScrollSize:{default:()=>({width:0,height:0})}},setup(e,{expose:t}){const i=e,o=useTemplateRef("container"),n=useTemplateRef("target"),r=computed$1(()=>`\n width: ${isNumber$3(`${i.width}`)?`${i.width}px`:i.width};\n height: ${isNumber$3(`${i.height}`)?`${i.height}px`:i.height};\n position: absolute;\n margin-top: 30px;\n `),s=ref$1(0),a=ref$1(0);let l;onMounted(()=>{o.value&&n.value&&(l=new ScrollViewer({container:o.value,target:n.value,zoom:i.zoom,correctionScrollSize:i.correctionScrollSize}),l.on("scroll",e=>{u.value=e.scrollLeft,c.value=e.scrollTop,s.value=e.scrollWidth,a.value=e.scrollHeight}))}),onBeforeUnmount(()=>{l.destroy()}),watch(()=>i.zoom,()=>{l.setZoom(i.zoom)});const c=ref$1(0),d=e=>{c.value+=e,l.scrollTo({top:c.value})},u=ref$1(0),h=e=>{u.value+=e,l.scrollTo({left:u.value})};return t({container:o}),(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$4,[createBaseVNode("div",{ref:"target",style:normalizeStyle(r.value)},[renderSlot(e.$slots,"default")],4),renderSlot(e.$slots,"content"),a.value>e.wrapHeight?(openBlock(),createBlock(_sfc_main$9$1,{key:0,"scroll-size":a.value,pos:c.value,size:e.wrapHeight,onScroll:d},null,8,["scroll-size","pos","size"])):createCommentVNode("v-if",!0),s.value>e.wrapWidth?(openBlock(),createBlock(_sfc_main$9$1,{key:1,"is-horizontal":!0,"scroll-size":s.value,pos:u.value,size:e.wrapWidth,onScroll:h},null,8,["scroll-size","pos","size"])):createCommentVNode("v-if",!0)],512))}}),_sfc_main$7$1=defineComponent({__name:"NodeListMenu",setup(e){const t=useServices(),{editorService:i}=t,o=ref$1(!1),n=ref$1(!1),r=useTemplateRef("button"),s=useTemplateRef("box"),a=computed$1(()=>i.get("stage")),l=computed$1(()=>i.get("page")),c=computed$1(()=>i.get("nodes")),d=computed$1(()=>l.value?[l.value]:[]),{nodeStatusMap:u}=useNodeStatus(t),{filterTextChangeHandler:h}=useFilter(d,u,(e,t)=>t.id===e),p=watch(a,e=>{e&&(nextTick(()=>p()),e.on("select",(t,i)=>{const o=(e.renderer?.getElementsFromPoint(i)||[]).map(e=>getIdFromEl()(e)).filter(e=>Boolean(e));n.value=o.length>3,h(o)}))},{immediate:!0});watch(c,e=>{if(u.value)for(const[t,i]of u.value.entries())i.selected=e.some(e=>e.id===t)},{immediate:!0});const g=async(e,t)=>{await i.select(t.id),a.value?.select(t.id)},m=ref$1({left:0,top:0});return watch(o,async e=>{if(!r.value||!e)return;await nextTick();const t=r.value.getBoundingClientRect(),i=s.value?.target?.clientHeight||0;m.value={left:t.left+t.width+5,top:t.top-i/2+t.height/2}}),(e,t)=>(openBlock(),createElementBlock(Fragment,null,[l.value&&n.value?(openBlock(),createBlock(unref(_sfc_main$2$4),{key:0,content:"点击查看当前位置下的组件"},{default:withCtx(()=>[createBaseVNode("div",{ref:"button",class:"m-editor-stage-float-button",onClick:t[0]||(t[0]=e=>o.value=!0)},"可选组件",512)]),_:1})):createCommentVNode("v-if",!0),l.value&&unref(u)&&n.value?(openBlock(),createBlock(_sfc_main$1j$1,{key:1,ref:"box",visible:o.value,"onUpdate:visible":t[1]||(t[1]=e=>o.value=e),title:"当前位置下的组件",position:m.value},{body:withCtx(()=>[createVNode(_sfc_main$l$1,{class:"m-editor-node-list-menu magic-editor-layer-tree",data:d.value,"node-status-map":unref(u),onNodeClick:g},null,8,["data","node-status-map"])]),_:1},8,["visible","position"])):createCommentVNode("v-if",!0)],64))}}),_hoisted_1$3$1={key:0,class:"m-editor-stage-overlay"},_sfc_main$6$1=defineComponent({__name:"StageOverlay",setup(e){const{stageOverlayService:t,editorService:i,uiService:o}=useServices(),n=inject("stageOptions"),r=useTemplateRef("stageOverlay"),s=computed$1(()=>t.get("stageOverlayVisible")),a=computed$1(()=>t.get("wrapWidth")),l=computed$1(()=>t.get("wrapHeight")),c=computed$1(()=>i.get("stage")),d=computed$1(()=>o.get("zoom")),u=computed$1(()=>o.get("columnWidth")),h=computed$1(()=>o.get("frameworkRect")),p=computed$1(()=>({transform:`scale(${d.value})`}));watch(c,e=>{e?e.on("dblclick",async i=>{const o=await(e.actionManager?.getElementFromPoint(i))||null;t.openOverlay(o)}):t.closeOverlay()}),watch(d,e=>{const i=t.get("stage");i&&e&&i.setZoom(e)}),watch(r,e=>{const i=t.createStage(n);if(t.set("stage",i),e&&i){i.mount(e);const{mask:o,renderer:n}=i,{contentWindow:r}=n;o?.showRule(!1),t.updateOverlay(),r?.magic.onRuntimeReady({})}}),onBeforeUnmount(()=>{t.get("stage")?.destroy(),t.set("stage",null)});const g=()=>{t.closeOverlay()};return(e,t)=>s.value?(openBlock(),createElementBlock("div",_hoisted_1$3$1,[createVNode(unref(_sfc_main$o$3),{class:"m-editor-stage-overlay-close",size:"30",onClick:g},{default:withCtx(()=>[createVNode(unref(close_bold_default))]),_:1}),createVNode(_sfc_main$8$1,{class:"m-editor-stage",width:a.value,height:l.value,"wrap-width":u.value.center,"wrap-height":h.value.height,zoom:d.value},{default:withCtx(()=>[createBaseVNode("div",{ref:"stageOverlay",class:"m-editor-stage-container",style:normalizeStyle(p.value)},null,4)]),_:1},8,["width","height","wrap-width","wrap-height","zoom"])])):createCommentVNode("v-if",!0)}}),_hoisted_1$2$1={viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_sfc_main$5$1=defineComponent({name:"MEditorCenterIcon",__name:"CenterIcon",setup:e=>(e,t)=>(openBlock(),createElementBlock("svg",_hoisted_1$2$1,[...t[0]||(t[0]=[createBaseVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2 4H21V6H2V4Z",fill:"black","fill-opacity":"0.9"},null,-1),createBaseVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M5 11H18V13H5V11Z",fill:"black","fill-opacity":"0.9"},null,-1),createBaseVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2 18H21V20H2V18Z",fill:"black","fill-opacity":"0.9"},null,-1)])]))}),_sfc_main$4$1=defineComponent({name:"MEditorViewerMenu",__name:"ViewerMenu",props:{isMultiSelect:{type:Boolean,default:!1},stageContentMenu:{},customContentMenu:{}},setup(e,{expose:t}){const i=e,o=useServices(),{editorService:n}=o,r=useTemplateRef("menu"),s=ref$1(!1),a=computed$1(()=>n.get("node")),l=computed$1(()=>n.get("nodes")),c=computed$1(()=>n.get("parent")),d=computed$1(()=>i.customContentMenu([{type:"button",text:"水平居中",icon:markRaw(_sfc_main$5$1),display:()=>s.value,handler:()=>{l.value&&n.alignCenter(l.value)}},useCopyMenu(),usePasteMenu(r),{type:"divider",direction:"horizontal",display:()=>!!a.value&&(!isPage(a.value)&&!isPageFragment(a.value))},{type:"button",text:"上移一层",icon:markRaw(top_default),display:()=>!isPage(a.value)&&!isPageFragment(a.value)&&!i.isMultiSelect,handler:()=>{n.moveLayer(1)}},{type:"button",text:"下移一层",icon:markRaw(bottom_default),display:()=>!isPage(a.value)&&!isPageFragment(a.value)&&!i.isMultiSelect,handler:()=>{n.moveLayer(-1)}},{type:"button",text:"置顶",icon:markRaw(top_default),display:()=>!isPage(a.value)&&!isPageFragment(a.value)&&!i.isMultiSelect,handler:()=>{n.moveLayer(LayerOffset.TOP)}},{type:"button",text:"置底",icon:markRaw(bottom_default),display:()=>!isPage(a.value)&&!isPageFragment(a.value)&&!i.isMultiSelect,handler:()=>{n.moveLayer(LayerOffset.BOTTOM)}},useMoveToMenu(o),{type:"divider",direction:"horizontal",display:()=>!isPage(a.value)&&!isPageFragment(a.value)&&!i.isMultiSelect},useDeleteMenu(),{type:"divider",direction:"horizontal"},{type:"button",text:"清空参考线",handler:()=>{n.get("stage")?.clearGuides()}},...i.stageContentMenu],"viewer"));watch(c,async()=>{if(!c.value)return s.value=!1;const e=await n.getLayout(c.value),t=[Layout.ABSOLUTE,Layout.FIXED].includes(e),i=l.value?.every(e=>![NodeType.ROOT,NodeType.PAGE,"pop"].includes(`${e?.type}`));s.value=t&&!!i},{immediate:!0});return t({show:e=>{r.value?.show(e)}}),(e,t)=>(openBlock(),createBlock(_sfc_main$o$1,{"menu-data":d.value,ref:"menu"},null,8,["menu-data"]))}}),_sfc_main$3$1=defineComponent({name:"MEditorStage",__name:"Stage",props:{stageOptions:{},stageContentMenu:{},disabledStageOverlay:{type:Boolean,default:!1},customContentMenu:{}},setup(e){const t=e;let i=null,o=null;const{editorService:n,uiService:r,keybindingService:s}=useServices(),a=computed$1(()=>n.get("stageLoading")),l=useTemplateRef("stageWrap"),c=useTemplateRef("stageContainer"),d=useTemplateRef("menu"),u=computed$1(()=>n.get("nodes")),h=computed$1(()=>u.value.length>1),p=computed$1(()=>r.get("stageRect")),g=computed$1(()=>r.get("stageContainerRect")),m=computed$1(()=>n.get("root")),f=computed$1(()=>n.get("page")),v=computed$1(()=>r.get("zoom")),b=computed$1(()=>n.get("node"));watchEffect(()=>{!i&&f.value&&c.value&&(t.stageOptions?.runtimeUrl||t.stageOptions?.render)&&m.value&&(i=useStage(t.stageOptions),i.on("select",()=>{l.value?.container?.focus()}),n.set("stage",markRaw(i)),i.mount(c.value),b.value?.id&&i.on("runtime-ready",e=>{o=e}))}),onBeforeUnmount(()=>{i?.destroy(),n.set("stage",null)}),watch(v,e=>{i&&e&&i.setZoom(e)});let _=null;watch(f,e=>{if(o&&e){n.set("stageLoading",!0),_&&globalThis.clearTimeout(_),_=globalThis.setTimeout(()=>{n.set("stageLoading",!1),_=null},3e3),o.updatePageId?.(e.id);const t=watch(a,()=>{a.value||nextTick(()=>{i?.select(e.id),t()})},{immediate:!0})}});const y=new ResizeObserver(e=>{for(const{contentRect:t}of e)r.set("stageContainerRect",{width:t.width,height:t.height})});onMounted(()=>{l.value?.container&&(y.observe(l.value.container),s.registerEl(KeyBindingContainerKey.STAGE,l.value.container))}),onBeforeUnmount(()=>{i?.destroy(),i=null,y.disconnect(),n.set("stage",null),s.unregisterEl("stage")});const C=getEditorConfig("parseDSL"),w=e=>{e.preventDefault(),d.value?.show(e)},x=e=>{e.dataTransfer&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},S=async e=>{if(!e.dataTransfer)return;const o=e.dataTransfer.getData("text/json");if(!o)return;const r=C(`(${o})`);if(!r||r.dragType!==DragType.COMPONENT_LIST)return;e.preventDefault();const s=i?.renderer?.contentWindow?.document,a=s?.querySelector(`.${t.stageOptions?.containerHighlightClassName}`);let l=f.value;const d=getIdFromEl()(a);if(d&&(l=n.getNodeById(d,!1)),l&&c.value&&i){const t=await n.getLayout(l),o=c.value.getBoundingClientRect(),{scrollTop:d,scrollLeft:u}=i.mask,{style:h={}}=r.data;let p=0,g=0,m="relative";if("fixed"===h.position)m="fixed",p=e.clientY-o.top,g=e.clientX-o.left;else if(t===Layout.ABSOLUTE&&(m="absolute",p=e.clientY-o.top+d,g=e.clientX-o.left+u,a)){const{left:e,top:t}=getOffset$1(a);g-=e*v.value,p-=t*v.value}r.data.style={...h,position:m,top:calcValueByFontsize(s,p/v.value),left:calcValueByFontsize(s,g/v.value)},r.data.inputEvent=e,n.add(r.data,l)}};return(e,t)=>{const i=resolveDirective("loading");return withDirectives((openBlock(),createBlock(_sfc_main$8$1,{class:"m-editor-stage",ref:"stageWrap",tabindex:"-1","element-loading-text":"Runtime 加载中...",width:p.value?.width,height:p.value?.height,"wrap-width":g.value?.width,"wrap-height":g.value?.height,zoom:v.value,"correction-scroll-size":{width:60,height:50},onClick:t[0]||(t[0]=e=>l.value?.container?.focus())},{content:withCtx(()=>[e.disabledStageOverlay?createCommentVNode("v-if",!0):(openBlock(),createBlock(_sfc_main$6$1,{key:0})),(openBlock(),createBlock(Teleport$1,{to:"body"},[createVNode(_sfc_main$4$1,{ref:"menu","is-multi-select":h.value,"stage-content-menu":e.stageContentMenu,"custom-content-menu":e.customContentMenu},null,8,["is-multi-select","stage-content-menu","custom-content-menu"])]))]),default:withCtx(()=>[createBaseVNode("div",{class:"m-editor-stage-container",ref:"stageContainer",style:normalizeStyle(`transform: scale(${v.value});`),onContextmenu:w,onDrop:S,onDragover:x},null,36),createVNode(_sfc_main$7$1)]),_:1},8,["width","height","wrap-width","wrap-height","zoom"])),[[i,a.value]])}}}),_hoisted_1$1$1={key:0,class:"m-editor-breadcrumb"},_hoisted_2$o={key:0},_sfc_main$2$1=defineComponent({name:"MEditorBreadcrumb",__name:"Breadcrumb",setup(e){const{editorService:t}=useServices(),i=computed$1(()=>t.get("node")),o=computed$1(()=>t.get("nodes")),n=computed$1(()=>t.get("root")),r=computed$1(()=>getNodePath(i.value?.id||"",n.value?.items||[]));return(e,n)=>1===o.value.length?(openBlock(),createElementBlock("div",_hoisted_1$1$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(r.value,(e,o)=>(openBlock(),createElementBlock(Fragment,{key:e.id},[createVNode(unref(_sfc_main$G$2),{link:"",disabled:e.id===i.value?.id,onClick:i=>(async e=>{await t.select(e),t.get("stage")?.select(e.id)})(e)},{default:withCtx(()=>[createTextVNode(toDisplayString(e.name),1)]),_:2},1032,["disabled","onClick"]),oi.get("page"));return(e,i)=>(openBlock(),createElementBlock("div",_hoisted_1$11,[createVNode(_sfc_main$2$1),renderSlot(e.$slots,"stage",{},()=>[o.value&&(unref(t)?.render||unref(t)?.runtimeUrl)?(openBlock(),createBlock(_sfc_main$3$1,{key:0,"stage-options":unref(t),"disabled-stage-overlay":e.disabledStageOverlay,"stage-content-menu":e.stageContentMenu,"custom-content-menu":e.customContentMenu},null,8,["stage-options","disabled-stage-overlay","stage-content-menu","custom-content-menu"])):createCommentVNode("v-if",!0)]),renderSlot(e.$slots,"workspace-content")]))}}),canUsePluginMethods$3={async:["setCodeDslById","setEditStatus","setCombineIds","setUndeleteableList","deleteCodeDslByIds"],sync:["setCodeDslByIdSync"]};class CodeBlock extends BaseService{state=reactive$1({codeDsl:null,editable:!0,combineIds:[],undeletableList:[],paramsColConfig:void 0});constructor(){super([...canUsePluginMethods$3.async.map(e=>({name:e,isAsync:!0})),...canUsePluginMethods$3.sync.map(e=>({name:e,isAsync:!1}))])}async setCodeDsl(e){this.state.codeDsl=e,this.emit("code-dsl-change",this.state.codeDsl)}getCodeDsl(){return this.state.codeDsl}getCodeContentById(e){if(!e)return null;const t=this.getCodeDsl();return t?t[e]??null:null}async setCodeDslById(e,t){this.setCodeDslByIdSync(e,t,!0)}setCodeDslByIdSync(e,t,i=!0){const o=this.getCodeDsl();if(!o)throw new Error("dsl中没有codeBlocks");if(o[e]&&!i)return;const n=cloneDeep(t);if(n.content){const e=getEditorConfig("parseDSL");"string"==typeof n.content&&(n.content=e(n.content))}const r=o[e]||{};o[e]={...r,...n},this.emit("addOrUpdate",e,o[e])}getCodeDslByIds(e){const t=this.getCodeDsl();return pick(t,e)}getEditStatus(){return this.state.editable}async setEditStatus(e){this.state.editable=e}async setCombineIds(e){this.state.combineIds=e}getCombineIds(){return this.state.combineIds}getUndeletableList(){return this.state.undeletableList}async setUndeleteableList(e){this.state.undeletableList=e}setCodeDraft(e,t){globalThis.localStorage.setItem(`${CODE_DRAFT_STORAGE_KEY}_${e}`,t)}getCodeDraft(e){return globalThis.localStorage.getItem(`${CODE_DRAFT_STORAGE_KEY}_${e}`)}removeCodeDraft(e){globalThis.localStorage.removeItem(`${CODE_DRAFT_STORAGE_KEY}_${e}`)}async deleteCodeDslByIds(e){const t=await this.getCodeDsl();t&&e.forEach(e=>{delete t[e],this.emit("remove",e)})}setParamsColConfig(e){this.state.paramsColConfig=e}getParamsColConfig(){return this.state.paramsColConfig}async getUniqueId(){const e=`code_${Math.random().toString(10).substring(2).substring(0,4)}`;return keys$1(await this.getCodeDsl()).includes(e)?await this.getUniqueId():e}copyWithRelated(e,t){const i=Array.isArray(e)?e:[e],o={};if(t&&"function"==typeof t.isTarget){const e=new Target({...t}),n=new Watcher;n.addTarget(e),n.collect(i,{},!0,t.type),Object.keys(e.deps).forEach(t=>{const i=editorService.getNodeById(t);i&&e.deps[t].keys.forEach(e=>{const t=get(i,e);if(!Object.keys(o).find(e=>e===t)){const e=this.getCodeContentById(t);e&&(o[t]=e)}})})}storageService.setItem(COPY_CODE_STORAGE_KEY,o,{protocol:Protocol.OBJECT})}paste(){const e=storageService.getItem(COPY_CODE_STORAGE_KEY);Object.keys(e).forEach(t=>{this.setCodeDslByIdSync(t,e[t],!1)})}resetState(){this.state.codeDsl=null,this.state.editable=!0,this.state.combineIds=[],this.state.undeletableList=[]}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}usePlugin(e){super.usePlugin(e)}}const codeBlockService=new CodeBlock;class ComponentList extends BaseService{state=shallowReactive({list:[]});constructor(){super([])}setList(e){this.state.list=e}getList(){return this.state.list}resetState(){this.state.list=[]}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}}const componentListService=new ComponentList,canUsePluginMethods$2={sync:["getFormConfig","setFormConfig","getFormValue","setFormValue","getFormEvent","setFormEvent","getFormMethod","setFormMethod","add","update","remove","createId"]};class DataSource extends BaseService{state=reactive$1({datasourceTypeList:[],dataSources:[],editable:!0,configs:{},values:{},events:{},methods:{}});constructor(){super(canUsePluginMethods$2.sync.map(e=>({name:e,isAsync:!1})))}set(e,t){this.state[e]=t}get(e){return this.state[e]}getFormConfig(e="base"){return getFormConfig(toLine(e),this.get("configs"))}setFormConfig(e,t){this.get("configs")[toLine(e)]=t}getFormValue(e="base"){return getFormValue(toLine(e),this.get("values")[e])}setFormValue(e,t){this.get("values")[toLine(e)]=t}getFormEvent(e="base"){return this.get("events")[toLine(e)]||[]}setFormEvent(e,t=[]){this.get("events")[toLine(e)]=t}getFormMethod(e="base"){return this.get("methods")[toLine(e)]||[]}setFormMethod(e,t=[]){this.get("methods")[toLine(e)]=t}add(e){const t={...e,id:e.id&&!this.getDataSourceById(e.id)?e.id:this.createId()};return this.get("dataSources").push(t),this.emit("add",t),t}update(e,{changeRecords:t=[]}={}){const i=this.get("dataSources"),o=i.findIndex(t=>t.id===e.id),n=i[o],r=cloneDeep(e);return i[o]=r,this.emit("update",r,{oldConfig:n,changeRecords:t}),r}remove(e){const t=this.get("dataSources"),i=t.findIndex(t=>t.id===e);t.splice(i,1),this.emit("remove",e)}createId(){return`ds_${guid()}`}getDataSourceById(e){return this.get("dataSources").find(t=>t.id===e)}resetState(){this.set("dataSources",[])}destroy(){this.removeAllListeners(),this.resetState(),this.removeAllPlugins()}usePlugin(e){super.usePlugin(e)}copyWithRelated(e,t){const i=Array.isArray(e)?e:[e],o=[];if(t&&"function"==typeof t.isTarget){const e=new Target({...t}),n=new Watcher;n.addTarget(e),n.collect(i,{},!0,t.type),Object.keys(e.deps).forEach(t=>{const i=editorService.getNodeById(t);i&&e.deps[t].keys.forEach(e=>{const[t]=get(i,e);if(!o.find(e=>e.id===t)){const e=this.getDataSourceById(t);e&&o.push(e)}})})}storageService.setItem(COPY_DS_STORAGE_KEY,o,{protocol:Protocol.OBJECT})}paste(){storageService.getItem(COPY_DS_STORAGE_KEY).forEach(e=>{this.getDataSourceById(e.id)||this.add(e)})}}const dataSourceService=new DataSource,jsContent="(function () {\n 'use strict';\n\n var events = {exports: {}};\n\n var hasRequiredEvents;\n\n function requireEvents () {\n \tif (hasRequiredEvents) return events.exports;\n \thasRequiredEvents = 1;\n\n \tvar R = typeof Reflect === 'object' ? Reflect : null;\n \tvar ReflectApply = R && typeof R.apply === 'function'\n \t ? R.apply\n \t : function ReflectApply(target, receiver, args) {\n \t return Function.prototype.apply.call(target, receiver, args);\n \t };\n\n \tvar ReflectOwnKeys;\n \tif (R && typeof R.ownKeys === 'function') {\n \t ReflectOwnKeys = R.ownKeys;\n \t} else if (Object.getOwnPropertySymbols) {\n \t ReflectOwnKeys = function ReflectOwnKeys(target) {\n \t return Object.getOwnPropertyNames(target)\n \t .concat(Object.getOwnPropertySymbols(target));\n \t };\n \t} else {\n \t ReflectOwnKeys = function ReflectOwnKeys(target) {\n \t return Object.getOwnPropertyNames(target);\n \t };\n \t}\n\n \tfunction ProcessEmitWarning(warning) {\n \t if (console && console.warn) console.warn(warning);\n \t}\n\n \tvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n \t return value !== value;\n \t};\n\n \tfunction EventEmitter() {\n \t EventEmitter.init.call(this);\n \t}\n \tevents.exports = EventEmitter;\n \tevents.exports.once = once;\n\n \t// Backwards-compat with node 0.10.x\n \tEventEmitter.EventEmitter = EventEmitter;\n\n \tEventEmitter.prototype._events = undefined;\n \tEventEmitter.prototype._eventsCount = 0;\n \tEventEmitter.prototype._maxListeners = undefined;\n\n \t// By default EventEmitters will print a warning if more than 10 listeners are\n \t// added to it. This is a useful default which helps finding memory leaks.\n \tvar defaultMaxListeners = 10;\n\n \tfunction checkListener(listener) {\n \t if (typeof listener !== 'function') {\n \t throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n \t }\n \t}\n\n \tObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n \t enumerable: true,\n \t get: function() {\n \t return defaultMaxListeners;\n \t },\n \t set: function(arg) {\n \t if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n \t throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n \t }\n \t defaultMaxListeners = arg;\n \t }\n \t});\n\n \tEventEmitter.init = function() {\n\n \t if (this._events === undefined ||\n \t this._events === Object.getPrototypeOf(this)._events) {\n \t this._events = Object.create(null);\n \t this._eventsCount = 0;\n \t }\n\n \t this._maxListeners = this._maxListeners || undefined;\n \t};\n\n \t// Obviously not all Emitters should be limited to 10. This function allows\n \t// that to be increased. Set to zero for unlimited.\n \tEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n \t if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n \t throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n \t }\n \t this._maxListeners = n;\n \t return this;\n \t};\n\n \tfunction _getMaxListeners(that) {\n \t if (that._maxListeners === undefined)\n \t return EventEmitter.defaultMaxListeners;\n \t return that._maxListeners;\n \t}\n\n \tEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n \t return _getMaxListeners(this);\n \t};\n\n \tEventEmitter.prototype.emit = function emit(type) {\n \t var args = [];\n \t for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n \t var doError = (type === 'error');\n\n \t var events = this._events;\n \t if (events !== undefined)\n \t doError = (doError && events.error === undefined);\n \t else if (!doError)\n \t return false;\n\n \t // If there is no 'error' event listener then throw.\n \t if (doError) {\n \t var er;\n \t if (args.length > 0)\n \t er = args[0];\n \t if (er instanceof Error) {\n \t // Note: The comments on the `throw` lines are intentional, they show\n \t // up in Node's output if this results in an unhandled exception.\n \t throw er; // Unhandled 'error' event\n \t }\n \t // At least give some kind of context to the user\n \t var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n \t err.context = er;\n \t throw err; // Unhandled 'error' event\n \t }\n\n \t var handler = events[type];\n\n \t if (handler === undefined)\n \t return false;\n\n \t if (typeof handler === 'function') {\n \t ReflectApply(handler, this, args);\n \t } else {\n \t var len = handler.length;\n \t var listeners = arrayClone(handler, len);\n \t for (var i = 0; i < len; ++i)\n \t ReflectApply(listeners[i], this, args);\n \t }\n\n \t return true;\n \t};\n\n \tfunction _addListener(target, type, listener, prepend) {\n \t var m;\n \t var events;\n \t var existing;\n\n \t checkListener(listener);\n\n \t events = target._events;\n \t if (events === undefined) {\n \t events = target._events = Object.create(null);\n \t target._eventsCount = 0;\n \t } else {\n \t // To avoid recursion in the case that type === \"newListener\"! Before\n \t // adding it to the listeners, first emit \"newListener\".\n \t if (events.newListener !== undefined) {\n \t target.emit('newListener', type,\n \t listener.listener ? listener.listener : listener);\n\n \t // Re-assign `events` because a newListener handler could have caused the\n \t // this._events to be assigned to a new object\n \t events = target._events;\n \t }\n \t existing = events[type];\n \t }\n\n \t if (existing === undefined) {\n \t // Optimize the case of one listener. Don't need the extra array object.\n \t existing = events[type] = listener;\n \t ++target._eventsCount;\n \t } else {\n \t if (typeof existing === 'function') {\n \t // Adding the second element, need to change to array.\n \t existing = events[type] =\n \t prepend ? [listener, existing] : [existing, listener];\n \t // If we've already got an array, just append.\n \t } else if (prepend) {\n \t existing.unshift(listener);\n \t } else {\n \t existing.push(listener);\n \t }\n\n \t // Check for listener leak\n \t m = _getMaxListeners(target);\n \t if (m > 0 && existing.length > m && !existing.warned) {\n \t existing.warned = true;\n \t // No error code for this since it is a Warning\n \t // eslint-disable-next-line no-restricted-syntax\n \t var w = new Error('Possible EventEmitter memory leak detected. ' +\n \t existing.length + ' ' + String(type) + ' listeners ' +\n \t 'added. Use emitter.setMaxListeners() to ' +\n \t 'increase limit');\n \t w.name = 'MaxListenersExceededWarning';\n \t w.emitter = target;\n \t w.type = type;\n \t w.count = existing.length;\n \t ProcessEmitWarning(w);\n \t }\n \t }\n\n \t return target;\n \t}\n\n \tEventEmitter.prototype.addListener = function addListener(type, listener) {\n \t return _addListener(this, type, listener, false);\n \t};\n\n \tEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\n \tEventEmitter.prototype.prependListener =\n \t function prependListener(type, listener) {\n \t return _addListener(this, type, listener, true);\n \t };\n\n \tfunction onceWrapper() {\n \t if (!this.fired) {\n \t this.target.removeListener(this.type, this.wrapFn);\n \t this.fired = true;\n \t if (arguments.length === 0)\n \t return this.listener.call(this.target);\n \t return this.listener.apply(this.target, arguments);\n \t }\n \t}\n\n \tfunction _onceWrap(target, type, listener) {\n \t var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n \t var wrapped = onceWrapper.bind(state);\n \t wrapped.listener = listener;\n \t state.wrapFn = wrapped;\n \t return wrapped;\n \t}\n\n \tEventEmitter.prototype.once = function once(type, listener) {\n \t checkListener(listener);\n \t this.on(type, _onceWrap(this, type, listener));\n \t return this;\n \t};\n\n \tEventEmitter.prototype.prependOnceListener =\n \t function prependOnceListener(type, listener) {\n \t checkListener(listener);\n \t this.prependListener(type, _onceWrap(this, type, listener));\n \t return this;\n \t };\n\n \t// Emits a 'removeListener' event if and only if the listener was removed.\n \tEventEmitter.prototype.removeListener =\n \t function removeListener(type, listener) {\n \t var list, events, position, i, originalListener;\n\n \t checkListener(listener);\n\n \t events = this._events;\n \t if (events === undefined)\n \t return this;\n\n \t list = events[type];\n \t if (list === undefined)\n \t return this;\n\n \t if (list === listener || list.listener === listener) {\n \t if (--this._eventsCount === 0)\n \t this._events = Object.create(null);\n \t else {\n \t delete events[type];\n \t if (events.removeListener)\n \t this.emit('removeListener', type, list.listener || listener);\n \t }\n \t } else if (typeof list !== 'function') {\n \t position = -1;\n\n \t for (i = list.length - 1; i >= 0; i--) {\n \t if (list[i] === listener || list[i].listener === listener) {\n \t originalListener = list[i].listener;\n \t position = i;\n \t break;\n \t }\n \t }\n\n \t if (position < 0)\n \t return this;\n\n \t if (position === 0)\n \t list.shift();\n \t else {\n \t spliceOne(list, position);\n \t }\n\n \t if (list.length === 1)\n \t events[type] = list[0];\n\n \t if (events.removeListener !== undefined)\n \t this.emit('removeListener', type, originalListener || listener);\n \t }\n\n \t return this;\n \t };\n\n \tEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\n \tEventEmitter.prototype.removeAllListeners =\n \t function removeAllListeners(type) {\n \t var listeners, events, i;\n\n \t events = this._events;\n \t if (events === undefined)\n \t return this;\n\n \t // not listening for removeListener, no need to emit\n \t if (events.removeListener === undefined) {\n \t if (arguments.length === 0) {\n \t this._events = Object.create(null);\n \t this._eventsCount = 0;\n \t } else if (events[type] !== undefined) {\n \t if (--this._eventsCount === 0)\n \t this._events = Object.create(null);\n \t else\n \t delete events[type];\n \t }\n \t return this;\n \t }\n\n \t // emit removeListener for all listeners on all events\n \t if (arguments.length === 0) {\n \t var keys = Object.keys(events);\n \t var key;\n \t for (i = 0; i < keys.length; ++i) {\n \t key = keys[i];\n \t if (key === 'removeListener') continue;\n \t this.removeAllListeners(key);\n \t }\n \t this.removeAllListeners('removeListener');\n \t this._events = Object.create(null);\n \t this._eventsCount = 0;\n \t return this;\n \t }\n\n \t listeners = events[type];\n\n \t if (typeof listeners === 'function') {\n \t this.removeListener(type, listeners);\n \t } else if (listeners !== undefined) {\n \t // LIFO order\n \t for (i = listeners.length - 1; i >= 0; i--) {\n \t this.removeListener(type, listeners[i]);\n \t }\n \t }\n\n \t return this;\n \t };\n\n \tfunction _listeners(target, type, unwrap) {\n \t var events = target._events;\n\n \t if (events === undefined)\n \t return [];\n\n \t var evlistener = events[type];\n \t if (evlistener === undefined)\n \t return [];\n\n \t if (typeof evlistener === 'function')\n \t return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n \t return unwrap ?\n \t unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n \t}\n\n \tEventEmitter.prototype.listeners = function listeners(type) {\n \t return _listeners(this, type, true);\n \t};\n\n \tEventEmitter.prototype.rawListeners = function rawListeners(type) {\n \t return _listeners(this, type, false);\n \t};\n\n \tEventEmitter.listenerCount = function(emitter, type) {\n \t if (typeof emitter.listenerCount === 'function') {\n \t return emitter.listenerCount(type);\n \t } else {\n \t return listenerCount.call(emitter, type);\n \t }\n \t};\n\n \tEventEmitter.prototype.listenerCount = listenerCount;\n \tfunction listenerCount(type) {\n \t var events = this._events;\n\n \t if (events !== undefined) {\n \t var evlistener = events[type];\n\n \t if (typeof evlistener === 'function') {\n \t return 1;\n \t } else if (evlistener !== undefined) {\n \t return evlistener.length;\n \t }\n \t }\n\n \t return 0;\n \t}\n\n \tEventEmitter.prototype.eventNames = function eventNames() {\n \t return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n \t};\n\n \tfunction arrayClone(arr, n) {\n \t var copy = new Array(n);\n \t for (var i = 0; i < n; ++i)\n \t copy[i] = arr[i];\n \t return copy;\n \t}\n\n \tfunction spliceOne(list, index) {\n \t for (; index + 1 < list.length; index++)\n \t list[index] = list[index + 1];\n \t list.pop();\n \t}\n\n \tfunction unwrapListeners(arr) {\n \t var ret = new Array(arr.length);\n \t for (var i = 0; i < ret.length; ++i) {\n \t ret[i] = arr[i].listener || arr[i];\n \t }\n \t return ret;\n \t}\n\n \tfunction once(emitter, name) {\n \t return new Promise(function (resolve, reject) {\n \t function errorListener(err) {\n \t emitter.removeListener(name, resolver);\n \t reject(err);\n \t }\n\n \t function resolver() {\n \t if (typeof emitter.removeListener === 'function') {\n \t emitter.removeListener('error', errorListener);\n \t }\n \t resolve([].slice.call(arguments));\n \t }\n \t eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n \t if (name !== 'error') {\n \t addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n \t }\n \t });\n \t}\n\n \tfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n \t if (typeof emitter.on === 'function') {\n \t eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n \t }\n \t}\n\n \tfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n \t if (typeof emitter.on === 'function') {\n \t if (flags.once) {\n \t emitter.once(name, listener);\n \t } else {\n \t emitter.on(name, listener);\n \t }\n \t } else if (typeof emitter.addEventListener === 'function') {\n \t // EventTarget does not have `error` event semantics like Node\n \t // EventEmitters, we do not listen for `error` events here.\n \t emitter.addEventListener(name, function wrapListener(arg) {\n \t // IE does not have builtin `{ once: true }` support so we\n \t // have to do it manually.\n \t if (flags.once) {\n \t emitter.removeEventListener(name, wrapListener);\n \t }\n \t listener(arg);\n \t });\n \t } else {\n \t throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n \t }\n \t}\n \treturn events.exports;\n }\n\n requireEvents();\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n\n let cachedTextEncoder = new TextEncoder(\"utf-8\");\n\n typeof cachedTextEncoder.encodeInto === \"function\"\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n }\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length,\n };\n };\n\n const NODE_CONDS_KEY = \"displayConds\";\n const NODE_DISABLE_DATA_SOURCE_KEY = \"_tmagic_node_disabled_data_source\";\n const NODE_DISABLE_CODE_BLOCK_KEY = \"_tmagic_node_disabled_code_block\";\n var HookType = /* @__PURE__ */ ((HookType2) => {\n HookType2[\"CODE\"] = \"code\";\n return HookType2;\n })(HookType || {});\n\n const isObject = (obj) => Object.prototype.toString.call(obj) === \"[object Object]\";\n const getKeysArray = (keys) => (\n // 将 array[0] 转成 array.0\n `${keys}`.replace(/\\[(\\d+)\\]/g, \".$1\").split(\".\")\n );\n const DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX = \"ds-field::\";\n const dataSourceTemplateRegExp = /\\$\\{([\\s\\S]+?)\\}/g;\n\n var DepTargetType = /* @__PURE__ */ ((DepTargetType2) => {\n DepTargetType2[\"DEFAULT\"] = \"default\";\n DepTargetType2[\"CODE_BLOCK\"] = \"code-block\";\n DepTargetType2[\"DATA_SOURCE\"] = \"data-source\";\n DepTargetType2[\"DATA_SOURCE_METHOD\"] = \"data-source-method\";\n DepTargetType2[\"DATA_SOURCE_COND\"] = \"data-source-cond\";\n return DepTargetType2;\n })(DepTargetType || {});\n\n class Target {\n /**\n * 如何识别目标\n */\n isTarget;\n /**\n * 目标id,不可重复\n * 例如目标是代码块,则为代码块id\n */\n id;\n /**\n * 目标名称,用于显示在依赖列表中\n */\n name;\n /**\n * 不同的目标可以进行分类,例如代码块,数据源可以为两个不同的type\n */\n type = DepTargetType.DEFAULT;\n /**\n * 依赖详情\n * 实例:{ 'node_id': { name: 'node_name', keys: [ created, mounted ] } }\n */\n deps = {};\n /**\n * 是否默认收集,默认为true,当值为false时需要传入type参数给collect方法才会被收集\n */\n isCollectByDefault;\n constructor(options) {\n this.isTarget = options.isTarget;\n this.id = options.id;\n this.name = options.name;\n this.isCollectByDefault = options.isCollectByDefault ?? true;\n if (options.type) {\n this.type = options.type;\n }\n if (options.initialDeps) {\n this.deps = options.initialDeps;\n }\n }\n /**\n * 更新依赖\n * @param option 节点配置\n * @param key 哪个key配置了这个目标的id\n */\n updateDep({ id, name, key, data }) {\n const dep = this.deps[id] || {\n name,\n keys: []\n };\n dep.name = name;\n dep.data = data;\n this.deps[id] = dep;\n if (dep.keys.indexOf(key) === -1) {\n dep.keys.push(key);\n }\n }\n /**\n * 删除依赖\n * @param node 哪个节点的依赖需要移除,如果为空,则移除所有依赖\n * @param key 节点下哪个key需要移除,如果为空,则移除改节点下的所有依赖key\n * @returns void\n */\n removeDep(id, key) {\n if (typeof id === \"undefined\") {\n Object.keys(this.deps).forEach((depKey) => {\n delete this.deps[depKey];\n });\n return;\n }\n const dep = this.deps[id];\n if (!dep) return;\n if (key) {\n const index = dep.keys.indexOf(key);\n dep.keys.splice(index, 1);\n if (dep.keys.length === 0) {\n delete this.deps[id];\n }\n } else {\n delete this.deps[id];\n }\n }\n /**\n * 判断指定节点下的指定key是否存在在依赖列表中\n * @param node 哪个节点\n * @param key 哪个key\n * @returns boolean\n */\n hasDep(id, key) {\n const dep = this.deps[id];\n return Boolean(dep?.keys.find((d) => d === key));\n }\n destroy() {\n this.deps = {};\n }\n }\n\n const createCodeBlockTarget = (id, codeBlock, initialDeps = {}) => new Target({\n type: DepTargetType.CODE_BLOCK,\n id,\n initialDeps,\n name: codeBlock.name,\n isTarget: (_key, value) => {\n if (id === value) {\n return true;\n }\n if (value?.hookType === HookType.CODE && Array.isArray(value.hookData)) {\n const index = value.hookData.findIndex((item) => item.codeId === id);\n return Boolean(index > -1);\n }\n return false;\n }\n });\n const isIncludeArrayField = (keys, fields) => {\n let f = fields;\n return keys.some((key, index) => {\n const field = f.find(({ name }) => name === key);\n f = field?.fields || [];\n return field && field.type === \"array\" && // 不是整数\n /^(?!\\d+$).*$/.test(`${keys[index + 1]}`) && index < keys.length - 1;\n });\n };\n const isDataSourceTemplate = (value, ds, hasArray = false) => {\n const templates = value.match(dataSourceTemplateRegExp) || [];\n if (templates.length <= 0) {\n return false;\n }\n const arrayFieldTemplates = [];\n const fieldTemplates = [];\n templates.forEach((tpl) => {\n const expression = tpl.substring(2, tpl.length - 1);\n const keys = getKeysArray(expression);\n const dsId = keys.shift();\n if (!dsId || dsId !== ds.id) {\n return;\n }\n if (isIncludeArrayField(keys, ds.fields)) {\n arrayFieldTemplates.push(tpl);\n } else {\n fieldTemplates.push(tpl);\n }\n });\n if (hasArray) {\n return arrayFieldTemplates.length > 0;\n }\n return fieldTemplates.length > 0;\n };\n const isSpecificDataSourceTemplate = (value, dsId) => value?.isBindDataSourceField && value.dataSourceId && value.dataSourceId === dsId && typeof value.template === \"string\";\n const isUseDataSourceField = (value, id) => {\n if (!Array.isArray(value) || typeof value[0] !== \"string\") {\n return false;\n }\n const [prefixId] = value;\n const prefixIndex = prefixId.indexOf(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX);\n if (prefixIndex === -1) {\n return false;\n }\n const dsId = prefixId.substring(prefixIndex + DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX.length);\n return dsId === id;\n };\n const isDataSourceTarget = (ds, key, value, hasArray = false) => {\n if (!value || ![\"string\", \"object\"].includes(typeof value)) {\n return false;\n }\n if (`${key}`.startsWith(NODE_CONDS_KEY)) {\n return false;\n }\n if (typeof value === \"string\") {\n return isDataSourceTemplate(value, ds, hasArray);\n }\n if (isObject(value) && value?.isBindDataSource && value.dataSourceId && value.dataSourceId === ds.id) {\n return true;\n }\n if (isSpecificDataSourceTemplate(value, ds.id)) {\n return true;\n }\n if (isUseDataSourceField(value, ds.id)) {\n const [, ...keys] = value;\n const includeArray = isIncludeArrayField(keys, ds.fields);\n if (hasArray) {\n return includeArray;\n }\n return !includeArray;\n }\n return false;\n };\n const isDataSourceCondTarget = (ds, key, value, hasArray = false) => {\n if (!Array.isArray(value) || !ds) {\n return false;\n }\n const [dsId, ...keys] = value;\n if (dsId !== ds.id || !`${key}`.startsWith(NODE_CONDS_KEY)) {\n return false;\n }\n if (ds.fields?.find((field) => field.name === keys[0])) {\n const includeArray = isIncludeArrayField(keys, ds.fields);\n if (hasArray) {\n return includeArray;\n }\n return !includeArray;\n }\n return false;\n };\n const createDataSourceTarget = (ds, initialDeps = {}) => new Target({\n type: DepTargetType.DATA_SOURCE,\n id: ds.id,\n initialDeps,\n isTarget: (key, value) => isDataSourceTarget(ds, key, value)\n });\n const createDataSourceCondTarget = (ds, initialDeps = {}) => new Target({\n type: DepTargetType.DATA_SOURCE_COND,\n id: ds.id,\n initialDeps,\n isTarget: (key, value) => isDataSourceCondTarget(ds, key, value)\n });\n const createDataSourceMethodTarget = (ds, initialDeps = {}) => new Target({\n type: DepTargetType.DATA_SOURCE_METHOD,\n id: ds.id,\n initialDeps,\n isTarget: (_key, value) => {\n if (!Array.isArray(value)) {\n return false;\n }\n const [dsId, methodName] = value;\n if (!methodName || dsId !== ds.id) {\n return false;\n }\n if (ds.methods?.find((method) => method.name === methodName)) {\n return true;\n }\n if (ds.fields?.find((field) => field.name === methodName)) {\n return false;\n }\n return true;\n }\n });\n const traverseTarget = (targetsList, cb, type) => {\n for (const targets of Object.values(targetsList)) {\n for (const target of Object.values(targets)) {\n if (type && target.type !== type) {\n continue;\n }\n cb(target);\n }\n }\n };\n\n class Watcher {\n targetsList = {};\n childrenProp = \"items\";\n idProp = \"id\";\n nameProp = \"name\";\n constructor(options) {\n if (options?.initialTargets) {\n this.targetsList = options.initialTargets;\n }\n if (options?.childrenProp) {\n this.childrenProp = options.childrenProp;\n }\n }\n getTargetsList() {\n return this.targetsList;\n }\n /**\n * 获取指定类型中的所有target\n * @param type 分类\n * @returns Target[]\n */\n getTargets(type = DepTargetType.DEFAULT) {\n return this.targetsList[type] || {};\n }\n /**\n * 添加新的目标\n * @param target Target\n */\n addTarget(target) {\n const targets = this.getTargets(target.type) || {};\n this.targetsList[target.type] = targets;\n targets[target.id] = target;\n }\n /**\n * 获取指定id的target\n * @param id target id\n * @returns Target\n */\n getTarget(id, type = DepTargetType.DEFAULT) {\n return this.getTargets(type)[id];\n }\n /**\n * 判断是否存在指定id的target\n * @param id target id\n * @returns boolean\n */\n hasTarget(id, type = DepTargetType.DEFAULT) {\n return Boolean(this.getTarget(id, type));\n }\n /**\n * 判断是否存在指定类型的target\n * @param type target type\n * @returns boolean\n */\n hasSpecifiedTypeTarget(type = DepTargetType.DEFAULT) {\n return Object.keys(this.getTargets(type)).length > 0;\n }\n /**\n * 删除指定id的target\n * @param id target id\n */\n removeTarget(id, type = DepTargetType.DEFAULT) {\n const targets = this.getTargets(type);\n if (targets[id]) {\n targets[id].destroy();\n delete targets[id];\n }\n }\n /**\n * 删除指定分类的所有target\n * @param type 分类\n * @returns void\n */\n removeTargets(type = DepTargetType.DEFAULT) {\n const targets = this.targetsList[type];\n if (!targets) return;\n for (const target of Object.values(targets)) {\n target.destroy();\n }\n delete this.targetsList[type];\n }\n /**\n * 删除所有target\n */\n clearTargets() {\n for (const key of Object.keys(this.targetsList)) {\n delete this.targetsList[key];\n }\n }\n /**\n * 收集依赖\n * @param nodes 需要收集的节点\n * @param deep 是否需要收集子节点\n * @param type 强制收集指定类型的依赖\n */\n collect(nodes, depExtendedData = {}, deep = false, type) {\n this.collectByCallback(nodes, type, ({ node, target }) => {\n this.removeTargetDep(target, node);\n this.collectItem(node, target, depExtendedData, deep);\n });\n }\n collectByCallback(nodes, type, cb) {\n traverseTarget(\n this.targetsList,\n (target) => {\n if (!type && !target.isCollectByDefault) {\n return;\n }\n for (const node of nodes) {\n cb({ node, target });\n }\n },\n type\n );\n }\n /**\n * 清除所有目标的依赖\n * @param nodes 需要清除依赖的节点\n */\n clear(nodes, type) {\n let { targetsList } = this;\n if (type) {\n targetsList = {\n [type]: this.getTargets(type)\n };\n }\n const clearedItemsNodeIds = [];\n traverseTarget(targetsList, (target) => {\n if (nodes) {\n for (const node of nodes) {\n target.removeDep(node[this.idProp]);\n if (Array.isArray(node[this.childrenProp]) && node[this.childrenProp].length && !clearedItemsNodeIds.includes(node[this.idProp])) {\n clearedItemsNodeIds.push(node[this.idProp]);\n this.clear(node[this.childrenProp]);\n }\n }\n } else {\n target.removeDep();\n }\n });\n }\n /**\n * 清除指定类型的依赖\n * @param type 类型\n * @param nodes 需要清除依赖的节点\n */\n clearByType(type, nodes) {\n this.clear(nodes, type);\n }\n collectItem(node, target, depExtendedData = {}, deep = false) {\n const dataSourceTargetTypes = [\n DepTargetType.DATA_SOURCE,\n DepTargetType.DATA_SOURCE_COND,\n DepTargetType.DATA_SOURCE_METHOD\n ];\n if (node[NODE_DISABLE_DATA_SOURCE_KEY] && dataSourceTargetTypes.includes(target.type)) {\n return;\n }\n if (node[NODE_DISABLE_CODE_BLOCK_KEY] && target.type === DepTargetType.CODE_BLOCK) {\n return;\n }\n const collectTarget = (config, prop = \"\") => {\n const doCollect = (key, value) => {\n const keyIsItems = key === this.childrenProp;\n const fullKey = prop ? `${prop}.${key}` : key;\n if (target.isTarget(fullKey, value)) {\n target.updateDep({\n id: node[this.idProp],\n name: `${node[this.nameProp] || node[this.idProp]}`,\n data: depExtendedData,\n key: fullKey\n });\n } else if (!keyIsItems && Array.isArray(value)) {\n for (let i = 0, l = value.length; i < l; i++) {\n const item = value[i];\n if (isObject(item)) {\n collectTarget(item, `${fullKey}[${i}]`);\n }\n }\n } else if (isObject(value)) {\n collectTarget(value, fullKey);\n }\n if (keyIsItems && deep && Array.isArray(value)) {\n for (const child of value) {\n this.collectItem(child, target, depExtendedData, deep);\n }\n }\n };\n for (const [key, value] of Object.entries(config)) {\n if (typeof value === \"undefined\" || value === \"\") continue;\n doCollect(key, value);\n }\n };\n collectTarget(node);\n }\n removeTargetDep(target, node, key) {\n target.removeDep(node[this.idProp], key);\n if (typeof key === \"undefined\" && Array.isArray(node[this.childrenProp]) && node[this.childrenProp].length) {\n for (const item of node[this.childrenProp]) {\n this.removeTargetDep(target, item, key);\n }\n }\n }\n }\n\n const error = (...args) => {\n if (process.env.NODE_ENV === \"development\") {\n console.error(\"magic editor: \", ...args);\n }\n };\n\n onmessage = (e) => {\n const watcher = new Watcher({ initialTargets: {} });\n const { dsl } = e.data;\n try {\n const mApp = eval(`(${dsl})`);\n if (!mApp) {\n postMessage({});\n }\n watcher.clearTargets();\n if (mApp.codeBlocks) {\n for (const [id, code] of Object.entries(mApp.codeBlocks)) {\n watcher.addTarget(createCodeBlockTarget(id, code));\n }\n }\n if (mApp.dataSources) {\n for (const ds of mApp.dataSources) {\n watcher.addTarget(createDataSourceTarget(ds, {}));\n watcher.addTarget(createDataSourceMethodTarget(ds, {}));\n watcher.addTarget(createDataSourceCondTarget(ds, {}));\n }\n }\n watcher.collectByCallback(mApp.items, void 0, ({ node, target }) => {\n watcher.collectItem(node, target, { pageId: node.id }, true);\n });\n const data = {\n [DepTargetType.DATA_SOURCE]: {},\n [DepTargetType.DATA_SOURCE_METHOD]: {},\n [DepTargetType.DATA_SOURCE_COND]: {},\n [DepTargetType.CODE_BLOCK]: {}\n };\n traverseTarget(watcher.getTargetsList(), (target) => {\n data[target.type][target.id] = target.deps;\n });\n postMessage(data);\n } catch (e2) {\n error(e2);\n postMessage({});\n }\n };\n\n})();\n",blob="undefined"!=typeof self&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",jsContent],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(t){let i;try{if(i=blob&&(self.URL||self.webkitURL).createObjectURL(blob),!i)throw"";const e=new Worker(i,{name:t?.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(i)}),e}catch(e){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(jsContent),{name:t?.name})}}class Dep extends BaseService{state=shallowReactive({collecting:!1,taskLength:0});idleTask=new IdleTask;watcher=new Watcher({initialTargets:reactive$1({})});waitingWorker;constructor(){super(),this.idleTask.on("update-task-length",throttle$2(({length:e})=>{this.set("taskLength",e)},1e3))}set(e,t){this.state[e]=t}get(e){return this.state[e]}removeTargets(e=DepTargetType.DEFAULT){this.watcher.removeTargets(e);const t=this.watcher.getTargets(e);if(t)for(const i of Object.values(t))this.emit("remove-target",i.id,e)}getTargets(e=DepTargetType.DEFAULT){return this.watcher.getTargets(e)}getTarget(e,t=DepTargetType.DEFAULT){return this.watcher.getTarget(e,t)}addTarget(e){this.watcher.addTarget(e),this.emit("add-target",e)}removeTarget(e,t=DepTargetType.DEFAULT){this.watcher.removeTarget(e,t),this.emit("remove-target",e,t)}clearTargets(){this.watcher.clearTargets()}collect(e,t={},i=!1,o){this.set("collecting",!0),this.watcher.collectByCallback(e,o,({node:e,target:o})=>{this.collectNode(e,o,t,i)}),this.set("collecting",!1),this.emit("collected",e,i),this.emit("ds-collected",e,i)}async collectIdle(e,t={},i=!1,o){this.waitingWorker&&await this.waitingWorker,this.set("collecting",!0);let n=!1;return this.watcher.collectByCallback(e,o,({node:e,target:o})=>{n=!0,this.enqueueTask(e,o,t,i)}),new Promise(t=>{if(!n)return this.emit("collected",e,i),this.set("collecting",!1),void t();this.idleTask.once("finish",()=>{this.emit("collected",e,i),this.set("collecting",!1)}),this.idleTask.once("hight-level-finish",()=>{this.emit("ds-collected",e,i),t()})})}collectByWorker(e){this.set("collecting",!0);const{promise:t,resolve:i}=Promise.withResolvers();return this.waitingWorker=t,new Promise(t=>{const i=new WorkerWrapper;i.postMessage({dsl:serialize(e)}),i.onmessage=e=>{t(e.data)},i.onerror=()=>{t({})}}).then(t=>(traverseTarget(this.watcher.getTargetsList(),i=>{t[i.type]?.[i.id]&&(i.deps=reactive$1(t[i.type][i.id]),i.type===DepTargetType.DATA_SOURCE&&e.dataSourceDeps?e.dataSourceDeps[i.id]=i.deps:i.type===DepTargetType.DATA_SOURCE_COND&&e.dataSourceCondDeps?e.dataSourceCondDeps[i.id]=i.deps:i.type===DepTargetType.DATA_SOURCE_METHOD&&(e.dataSourceMethodDeps[i.id]=i.deps))}),this.set("collecting",!1),this.emit("collected",e.items,!0),this.emit("ds-collected",e.items,!0),i(),t))}collectNode(e,t,i={},o=!1){if(isPage(e))for(const[n,r]of Object.entries(t.deps))r.data?.pageId&&r.data.pageId===i.pageId&&delete t.deps[n];else this.watcher.removeTargetDep(t,e);this.watcher.collectItem(e,t,i,o)}clear(e){return this.watcher.clear(e)}clearByType(e,t){return this.watcher.clearByType(e,t)}hasTarget(e,t=DepTargetType.DEFAULT){return this.watcher.hasTarget(e,t)}hasSpecifiedTypeTarget(e=DepTargetType.DEFAULT){return this.watcher.hasSpecifiedTypeTarget(e)}clearIdleTasks(){this.idleTask.clearTasks()}on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}reset(){this.idleTask.clearTasks();for(const e of Object.keys(this.watcher.getTargetsList()))this.removeTargets(e);this.set("collecting",!1)}destroy(){this.idleTask.removeAllListeners(),this.removeAllListeners(),this.reset(),this.removeAllPlugins(),this.idleTask.removeAllListeners()}emit(e,...t){return super.emit(e,...t)}enqueueTask(e,t,i,o){this.idleTask.enqueueTask(({node:e,deep:t,target:o})=>{this.collectNode(e,o,i,t)},{node:e,deep:!1,target:t},t.type===DepTargetType.DATA_SOURCE),o&&Array.isArray(e.items)&&e.items.length&&e.items.forEach(e=>{this.enqueueTask(e,t,i,o)})}}const depService=new Dep,canUsePluginMethods$1={async:[],sync:["setEvent","getEvent","setMethod","getMethod"]};let eventMap=reactive$1({}),methodMap=reactive$1({});class Events extends BaseService{constructor(){super([...canUsePluginMethods$1.async.map(e=>({name:e,isAsync:!0})),...canUsePluginMethods$1.sync.map(e=>({name:e,isAsync:!1}))])}setEvents(e){Object.keys(e).forEach(t=>{this.setEvent(toLine(t),e[t]||[])})}setEvent(e,t){eventMap[toLine(e)]=[...t]}getEvent(e){return cloneDeep(eventMap[toLine(e)])||[]}setMethods(e){Object.keys(e).forEach(t=>{this.setMethod(toLine(t),e[t]||[])})}setMethod(e,t){methodMap[toLine(e)]=[...t]}getMethod(e,t){return cloneDeep(methodMap[toLine(e)])||[]}resetState(){eventMap=reactive$1({}),methodMap=reactive$1({})}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}usePlugin(e){super.usePlugin(e)}}const eventsService=new Events;class Keybinding extends BaseService{ctrlKey=/mac os x/.test(navigator.userAgent.toLowerCase())?"meta":"ctrl";controllers=new Map;bindingList=[];commands={[KeyBindingCommand.DELETE_NODE]:()=>{const e=editorService.get("nodes");!e||isPage(e[0])||isPageFragment(e[0])||editorService.remove(e)},[KeyBindingCommand.COPY_NODE]:()=>{const e=editorService.get("nodes");e&&editorService.copy(e)},[KeyBindingCommand.CUT_NODE]:()=>{const e=editorService.get("nodes");!e||isPage(e[0])||isPageFragment(e[0])||(editorService.copy(e),editorService.remove(e))},[KeyBindingCommand.PASTE_NODE]:()=>{editorService.get("nodes")&&editorService.paste({offsetX:10,offsetY:10})},[KeyBindingCommand.UNDO]:()=>{editorService.undo()},[KeyBindingCommand.REDO]:()=>{editorService.redo()},[KeyBindingCommand.ZOOM_IN]:()=>{uiService.zoom(.1)},[KeyBindingCommand.ZOOM_OUT]:()=>{uiService.zoom(-.1)},[KeyBindingCommand.ZOOM_RESET]:()=>{uiService.set("zoom",1)},[KeyBindingCommand.ZOOM_FIT]:async()=>{uiService.set("zoom",await uiService.calcZoom())},[KeyBindingCommand.MOVE_UP_1]:()=>{editorService.move(0,-1)},[KeyBindingCommand.MOVE_DOWN_1]:()=>{editorService.move(0,1)},[KeyBindingCommand.MOVE_LEFT_1]:()=>{editorService.move(-1,0)},[KeyBindingCommand.MOVE_RIGHT_1]:()=>{editorService.move(1,0)},[KeyBindingCommand.MOVE_UP_10]:()=>{editorService.move(0,-10)},[KeyBindingCommand.MOVE_DOWN_10]:()=>{editorService.move(0,10)},[KeyBindingCommand.MOVE_LEFT_10]:()=>{editorService.move(-10,0)},[KeyBindingCommand.MOVE_RIGHT_10]:()=>{editorService.move(10,0)},[KeyBindingCommand.SWITCH_NODE]:()=>{editorService.selectNextNode()}};registerCommand(e,t){this.commands[e]=t}registeCommand(e,t){this.registerCommand(e,t)}unregisterCommand(e){delete this.commands[e]}unregisteCommand(e){this.unregisterCommand(e)}registerEl(e,t){if("global"!==e&&!t)throw new Error("只有name为global可以不传el");const i=new KeyController(t);this.controllers.set(e,i),this.bind(e)}registeEl(e,t){this.registerEl(e,t)}unregisterEl(e){this.controllers.get(e)?.destroy(),this.controllers.delete(e),this.bindingList.forEach(e=>{e.bound=!1})}unregisteEl(e){this.unregisterEl(e)}register(e){for(const t of e){const{command:e,keybinding:i,when:o}=t;for(const[t="",n="keydown"]of o){const o={type:t,command:e,keybinding:i,eventType:n,bound:!1};this.bindingList.find(o=>o.command===e&&o.eventType===n&&o.type===t&&o.keybinding===i)||this.bindingList.push(o)}}this.bind()}registe(e){this.register(e)}reset(){this.controllers.forEach(e=>{e.destroy()}),this.controllers.clear(),this.bindingList=[]}destroy(){this.reset()}bind(e){for(const t of this.bindingList){const{type:i,eventType:o,command:n,keybinding:r,bound:s}=t;if(e&&e!==i)continue;if(s)continue;const a=this.controllers.get(i);if(!a)continue;const l=e=>{e.inputEvent.preventDefault(),this.commands[n]?.(e.inputEvent)};this.getKeyconKeys(r).forEach(e=>{e[0]?a[o](e,l):a[o](l)}),t.bound=!0}}getKeyconKeys(e=""){const t=e=>e.split("+").map(e=>"ctrl"===e?this.ctrlKey:e);return Array.isArray(e)?e.map(e=>t(e)):[t(e)]}}const keybindingService=new Keybinding,canUsePluginMethods={sync:["openOverlay","closeOverlay","updateOverlay","createStage"]};class StageOverlay extends BaseService{state=shallowReactive({wrapDiv:document.createElement("div"),sourceEl:null,contentEl:null,stage:null,stageOptions:null,wrapWidth:0,wrapHeight:0,stageOverlayVisible:!1});constructor(){super(canUsePluginMethods.sync.map(e=>({name:e,isAsync:!1}))),this.get("wrapDiv").classList.add("tmagic-editor-sub-stage-wrap")}get(e){return this.state[e]}set(e,t){this.state[e]=t}openOverlay(e){const t=this.get("stageOptions");e&&t&&(this.set("sourceEl",e),this.createContentEl(),this.set("stageOverlayVisible",!0),editorService.on("update",this.updateHandler),editorService.on("add",this.addHandler),editorService.on("remove",this.removeHandler),editorService.on("drag-to",this.updateHandler),editorService.on("move-layer",this.updateHandler))}closeOverlay(){this.set("stageOverlayVisible",!1);const e=this.get("stage"),t=this.get("wrapDiv");e?.destroy();for(let i=0,o=t.children.length;i{this.copyDocumentElement();const t=e.renderer?.getDocument()?.body.children;t&&Array.from(t).forEach(e=>{["SCRIPT","STYLE"].includes(e.tagName)||e.remove()});const i=this.get("wrapDiv");return await this.render(),i}})}usePlugin(e){super.usePlugin(e)}createContentEl(){const e=this.get("sourceEl");if(!e)return;const t=e.cloneNode(!0);this.set("contentEl",t),t.style.position="static",t.style.overflow="visible"}copyDocumentElement(){const e=this.get("stage"),t=editorService.get("stage"),i=e?.renderer?.getDocument(),o=t?.renderer?.getDocument()?.documentElement;i&&o&&i.replaceChild(o.cloneNode(!0),i.documentElement)}async render(){this.createContentEl();const e=this.get("contentEl"),t=this.get("sourceEl"),i=this.get("wrapDiv"),o=this.get("stage"),n=this.get("stageOptions");if(e){i.style.cssText=`\n width: ${t?.scrollWidth}px;\n height: ${t?.scrollHeight}px;\n background-color: #fff;\n `;for(let e=0,t=i.children.length;e{o?.renderer?.contentWindow?.magic.onPageElUpdate(i)}),await(n?.canSelect?.(e))){const t=getIdFromEl()(e);t&&o?.select(t)}}}updateHandler=()=>{setTimeout(()=>{this.render(),this.updateOverlay(),this.updateSelectStatus()})};addHandler=()=>{this.render(),this.updateOverlay(),this.updateSelectStatus()};removeHandler=()=>{this.render(),this.updateOverlay(),this.updateSelectStatus()};updateSelectStatus(){const e=this.get("stage"),t=editorService.get("nodes");t.length>1?e?.multiSelect(t.map(e=>e.id)):e?.select(t[0].id)}}const stageOverlayService=new StageOverlay,defaultEditorProps={renderType:RenderType.IFRAME,disabledMultiSelect:!1,disabledPageFragment:!1,disabledStageOverlay:!1,containerHighlightClassName:CONTAINER_HIGHLIGHT_CLASS_NAME,containerHighlightDuration:800,containerHighlightType:ContainerHighlightType.DEFAULT,disabledShowSrc:!1,disabledDataSource:!1,disabledCodeBlock:!1,componentGroupList:()=>[],datasourceList:()=>[],menu:()=>({left:[],right:[]}),layerContentMenu:()=>[],stageContentMenu:()=>[],propsConfigs:()=>({}),propsValues:()=>({}),eventMethodList:()=>({}),datasourceValues:()=>({}),datasourceConfigs:()=>({}),canSelect:e=>Boolean(getIdFromEl()(e)&&!e.dataset.tmagicPageFragmentContainerId),isContainer:e=>e.classList.contains("magic-ui-container"),codeOptions:()=>({}),customContentMenu:e=>e},initServiceState=(e,{editorService:t,historyService:i,componentListService:o,propsService:n,eventsService:r,uiService:s,codeBlockService:a,keybindingService:l,dataSourceService:c,depService:d})=>{watch(()=>e.modelValue,e=>{t.set("root",e||null)},{immediate:!0}),watch(()=>e.disabledMultiSelect,e=>{t.set("disabledMultiSelect",e||!1)},{immediate:!0}),watch(()=>e.componentGroupList,e=>e&&o.setList(e),{immediate:!0}),watch(()=>e.datasourceList,e=>e&&c.set("datasourceTypeList",e),{immediate:!0}),watch(()=>e.propsConfigs,e=>e&&n.setPropsConfigs(e),{immediate:!0}),watch(()=>e.propsValues,e=>e&&n.setPropsValues(e),{immediate:!0}),watch(()=>e.eventMethodList,e=>{const t={},i={};if(e)for(const o of Object.keys(e))t[o]=e[o].events,i[o]=e[o].methods;r.setEvents(t),r.setMethods(i)},{immediate:!0}),watch(()=>e.datasourceConfigs,e=>{if(e)for(const[t,i]of Object.entries(e))c.setFormConfig(t,i)},{immediate:!0}),watch(()=>e.datasourceValues,e=>{if(e)for(const[t,i]of Object.entries(e))c.setFormValue(t,i)},{immediate:!0}),watch(()=>e.datasourceEventMethodList,e=>{const t={},i={};if(e)for(const o of Object.keys(e))t[o]=e[o].events,i[o]=e[o].methods;for(const[o,n]of Object.entries(t))c.setFormEvent(o,n);for(const[o,n]of Object.entries(i))c.setFormMethod(o,n)},{immediate:!0}),watch(()=>e.defaultSelected,e=>e&&t.select(e),{immediate:!0}),watch(()=>e.stageRect,e=>e&&s.set("stageRect",e),{immediate:!0}),watch(()=>e.disabledCodeBlock,e=>n.setDisabledCodeBlock(e??!1),{immediate:!0}),watch(()=>e.disabledDataSource,e=>n.setDisabledDataSource(e??!1),{immediate:!0}),onBeforeUnmount(()=>{t.resetState(),i.resetState(),n.resetState(),s.resetState(),o.resetState(),a.resetState(),l.reset(),d.reset()})},initServiceEvents=(e,t,{editorService:i,codeBlockService:o,dataSourceService:n,depService:r})=>{let s=null;const a=async()=>{const e=await g(),{renderer:t}=e;if(t)return t.runtime?t.runtime.getApp?.():s||(s=new Promise(e=>{const i=globalThis.setTimeout(()=>{e(void 0)},1e4);t.once("runtime-ready",()=>{i&&globalThis.clearTimeout(i),e(t.runtime?.getApp?.())})}),s)},l=e=>{for(const t of e)c(t)},c=e=>{const t=i.get("root");if(t)return i.get("stage")?.update({config:cloneDeep(e),parentId:i.getParentById(e.id)?.id,root:cloneDeep(t)})},d=async()=>{const e=i.get("root"),t=await a();t&&e&&t.dsl&&(t.dsl.dataSources=e.dataSources)},u=()=>{const e=i.get("root");a()?.then(t=>{e&&t?.dsl&&(t.dsl.dataSourceDeps=e.dataSourceDeps)})},h=e=>{let t;if(isPage(e))t=e.id;else{const o=i.getNodeInfo(e.id);t=o.page?.id}return t},p=(e,t,i)=>Promise.all(e.map(e=>e.type===NodeType.ROOT?Promise.resolve():r.collectIdle([e],{pageId:h(e)},t,i)));watch(()=>i.get("stage"),e=>{e&&e.on("rerender",async()=>{const e=i.get("node");e&&(await p([e],!0,DepTargetType.DATA_SOURCE),c(e))})}),watch(()=>e.runtimeUrl,e=>{if(!e)return;const t=i.get("stage");t&&(t.reloadIframe(e),t.renderer?.once("runtime-ready",e=>{e.updateRootConfig?.(cloneDeep(toRaw(i.get("root"))));const o=i.get("page"),n=i.get("node");o?.id&&e?.updatePageId?.(o.id),setTimeout(()=>{n&&t?.select(toRaw(n.id))})}))});const g=()=>{const e=i.get("stage");return e?Promise.resolve(e):new Promise(e=>{const t=watch(()=>i.get("stage"),i=>{i&&(e(i),nextTick(()=>{t()}))})})},m=e=>{r.addTarget(createDataSourceTarget(e,reactive$1({}))),r.addTarget(createDataSourceMethodTarget(e,reactive$1({}))),r.addTarget(createDataSourceCondTarget(e,reactive$1({})))},f=(s,l)=>{if(s){s.codeBlocks=s.codeBlocks||{},s.dataSources=s.dataSources||[],o.setCodeDsl(s.codeBlocks),n.set("dataSources",s.dataSources),r.clearTargets();for(const[e,t]of Object.entries(s.codeBlocks))r.addTarget(createCodeBlockTarget(e,t));for(const e of n.get("dataSources"))m(e);Array.isArray(s.items)?(async e=>{const t=await g(),o=await(t.renderer?.getRuntime()),n=await a();n?.dataSourceManager||o?.updateRootConfig?.(cloneDeep(toRaw(e)));const s=i.get("page"),l=i.get("node");if(s?.id&&o?.updatePageId?.(s.id),setTimeout(()=>{l&&t?.select(toRaw(l.id))}),e){r.clearIdleTasks(),await("undefined"==typeof Worker?p(e.items,!0):r.collectByWorker(e));const t=cloneDeep(toRaw(e));if(t.dataSources&&t.dataSourceDeps&&n?.dataSourceManager)for(const e of getNodes(getDepNodeIds(t.dataSourceDeps),t.items))updateNode(n.dataSourceManager.compiledNode(e),t);o?.updateRootConfig?.(t)}})(s):(r.clear(),delete s.dataSourceDeps,delete s.dataSourceCondDeps),(async()=>{const o=i.get("node")?.id||e.defaultSelected;let n;o&&(n=i.getNodeById(o)),n&&n!==s?await i.select(n.id):s.items?.length?await i.select(s.items[0]):s.id&&(i.set("nodes",[s]),i.set("parent",null),i.set("page",null)),toRaw(s)!==toRaw(l)&&t("update:modelValue",s)})()}},v=e=>{p(e,!0).then(()=>{l(e)})},b=e=>{const t=[],i=[];for(const{newNode:o,oldNode:n,changeRecords:s}of e)if(o.type===NodeType.ROOT)i.push(o);else if(s?.length)e:for(const e of s){if(!e.propPath){t.push(o);break e}if(new RegExp(`${NODE_CONDS_KEY}.(\\d)+.cond`).test(e.propPath)||new RegExp(`${NODE_CONDS_KEY}.(\\d)+.cond.(\\d)+.value`).test(e.propPath)||e.propPath===NODE_CONDS_KEY||isValueIncludeDataSource(e.value)){t.push(o);break e}for(const i of Object.values(r.getTargets(DepTargetType.DATA_SOURCE)))if(i.deps[o.id]&&i.deps[o.id].keys.includes(e.propPath)){t.push(o);break e}i.push(o)}else isIncludeDataSource(o,n)?t.push(o):i.push(o);if(t.length){(async()=>{await p(t,!0,DepTargetType.DATA_SOURCE),await p(t,!0,DepTargetType.DATA_SOURCE_COND),l(t)})()}else l(i),Promise.all([p(i,!0,DepTargetType.CODE_BLOCK),p(i,!0,DepTargetType.DATA_SOURCE_METHOD)])},_=e=>{r.clear(e)},y=e=>{p([e],!0).then(()=>{c(e)})};i.on("history-change",y),i.on("root-change",f),i.on("add",v),i.on("remove",_),i.on("update",b);const C=e=>{(async()=>{m(e);const t=await a();if(!t?.dataSourceManager)return;t.dataSourceManager.addDataSource(e);const i=t.dataSourceManager.get(e.id);i&&t.dataSourceManager.init(i)})()},w=(e,{changeRecords:t})=>{const o=async()=>{const t=await a();if(!t?.dataSourceManager)return;const i=t.dataSourceManager.get(e.id);i&&(i.setFields(e.fields),i.setData(e.mocks?.find(e=>e.useInEditor)?.data||i.getDefaultData()))};let n=!1,s=!1,c=!1,u=!1;for(const i of t)if(i.propPath&&(s="fields"===i.propPath||/fields.(\d)+.name/.test(i.propPath)||/fields.(\d)+.defaultValue/.test(i.propPath)||/fields.(\d)+$/.test(i.propPath),c="mocks"===i.propPath,u="methods"===i.propPath||/methods.(\d)+.name/.test(i.propPath)||/methods.(\d)+$/.test(i.propPath),n=s||c||u,n))break;const h=i.get("root");if(n){if(Array.isArray(h?.items)){r.clearIdleTasks();let t=[];s?(r.removeTarget(e.id,DepTargetType.DATA_SOURCE),r.removeTarget(e.id,DepTargetType.DATA_SOURCE_COND),r.addTarget(createDataSourceTarget(e,reactive$1({}))),r.addTarget(createDataSourceCondTarget(e,reactive$1({}))),t=[p(h.items,!0,DepTargetType.DATA_SOURCE),p(h.items,!0,DepTargetType.DATA_SOURCE_COND)]):c?(r.removeTarget(e.id,DepTargetType.DATA_SOURCE),r.addTarget(createDataSourceTarget(e,reactive$1({}))),t=[p(h.items,!0,DepTargetType.DATA_SOURCE)]):u&&(r.removeTarget(e.id,DepTargetType.DATA_SOURCE_METHOD),r.addTarget(createDataSourceMethodTarget(e,reactive$1({}))),t=[p(h.items,!0,DepTargetType.DATA_SOURCE_METHOD)]),Promise.all(t).then(()=>d()).then(()=>o()).then(()=>l(h.items))}}else h?.dataSources&&o()},x=e=>{const t=i.get("root");if(!t)return;(async()=>{const i=Object.keys(t.dataSourceDeps?.[e]||{}),o=getNodes(i,t.items);await Promise.all([p(o,!1,DepTargetType.DATA_SOURCE),p(o,!1,DepTargetType.DATA_SOURCE_COND),p(o,!1,DepTargetType.DATA_SOURCE_METHOD)]),d();const n=await a();n?.dataSourceManager?.removeDataSource(e),l(o),(e=>{r.removeTarget(e,DepTargetType.DATA_SOURCE),r.removeTarget(e,DepTargetType.DATA_SOURCE_COND),r.removeTarget(e,DepTargetType.DATA_SOURCE_METHOD)})(e)})()};n.on("add",C),n.on("update",w),n.on("remove",x);const S=(e,t)=>{r.hasTarget(e,DepTargetType.CODE_BLOCK)?r.getTarget(e,DepTargetType.CODE_BLOCK).name=t.name:r.addTarget(createCodeBlockTarget(e,t))},k=e=>{r.removeTarget(e,DepTargetType.CODE_BLOCK)};o.on("addOrUpdate",S),o.on("remove",k);const E=e=>{const t=i.get("root");t&&(e.type===DepTargetType.DATA_SOURCE?(t.dataSourceDeps||(t.dataSourceDeps={}),t.dataSourceDeps[e.id]=e.deps):e.type===DepTargetType.DATA_SOURCE_COND?(t.dataSourceCondDeps||(t.dataSourceCondDeps={}),t.dataSourceCondDeps[e.id]=e.deps):e.type===DepTargetType.DATA_SOURCE_METHOD&&(t.dataSourceMethodDeps||(t.dataSourceMethodDeps={}),t.dataSourceMethodDeps[e.id]=e.deps))},I=(e,t)=>{const o=i.get("root");o&&(o.dataSourceDeps&&t===DepTargetType.DATA_SOURCE&&delete o.dataSourceDeps[e],o.dataSourceCondDeps&&t===DepTargetType.DATA_SOURCE_COND&&delete o.dataSourceCondDeps[e],o.dataSourceMethodDeps&&t===DepTargetType.DATA_SOURCE_METHOD&&delete o.dataSourceMethodDeps[e])};r.on("add-target",E),r.on("remove-target",I),r.on("ds-collected",u),onBeforeUnmount(()=>{r.off("add-target",E),r.off("remove-target",I),r.off("ds-collected",u),i.off("history-change",y),i.off("root-change",f),i.off("add",v),i.off("remove",_),i.off("update",b),o.off("addOrUpdate",S),o.off("remove",k),n.off("add",C),n.off("update",w),n.off("remove",x)})},_sfc_main$1J=defineComponent({name:"MEditor",__name:"Editor",props:mergeDefaults({modelValue:{},componentGroupList:{},datasourceList:{},sidebar:{},menu:{},layerContentMenu:{},stageContentMenu:{},runtimeUrl:{},renderType:{},autoScrollIntoView:{type:Boolean},propsConfigs:{},propsValues:{},eventMethodList:{},datasourceValues:{},datasourceConfigs:{},datasourceEventMethodList:{},moveableOptions:{type:[Function,Object]},defaultSelected:{},containerHighlightClassName:{},containerHighlightDuration:{},containerHighlightType:{},stageRect:{},codeOptions:{},disabledDragStart:{type:Boolean},guidesOptions:{},disabledMultiSelect:{type:Boolean},disabledPageFragment:{type:Boolean},disabledStageOverlay:{type:Boolean},disabledShowSrc:{type:Boolean},disabledDataSource:{type:Boolean},disabledCodeBlock:{type:Boolean},treeIndent:{},treeNextLevelIndentIncrement:{},render:{type:Function},updateDragEl:{type:Function},canSelect:{type:Function},isContainer:{type:Function},customContentMenu:{type:Function},extendFormState:{type:Function},pageBarSortOptions:{},pageFilterFunction:{type:Function}},defaultEditorProps),emits:["props-panel-mounted","props-panel-unmounted","update:modelValue","props-form-error","props-submit-error"],setup(e,{expose:t,emit:i}){const o=i,n=e,r={componentListService:componentListService,eventsService:eventsService,historyService:historyService,propsService:propsService,editorService:editorService,uiService:uiService,storageService:storageService,codeBlockService:codeBlockService,depService:depService,dataSourceService:dataSourceService,keybindingService:keybindingService,stageOverlayService:stageOverlayService};initServiceEvents(n,o,r),initServiceState(n,r),keybindingService.register(keybindingConfig),keybindingService.registerEl("global");const s={runtimeUrl:n.runtimeUrl,autoScrollIntoView:n.autoScrollIntoView,render:n.render,moveableOptions:n.moveableOptions,canSelect:n.canSelect,updateDragEl:n.updateDragEl,isContainer:n.isContainer,containerHighlightClassName:n.containerHighlightClassName,containerHighlightDuration:n.containerHighlightDuration,containerHighlightType:n.containerHighlightType,disabledDragStart:n.disabledDragStart,renderType:n.renderType,guidesOptions:n.guidesOptions,disabledMultiSelect:n.disabledMultiSelect};stageOverlayService.set("stageOptions",s),provide("services",r),provide("codeOptions",n.codeOptions),provide("stageOptions",s),provide("eventBus",new eventsExports.EventEmitter);const a=e=>{o("props-panel-mounted",e)},l=()=>{o("props-panel-unmounted")},c=e=>{o("props-submit-error",e)},d=e=>{o("props-form-error",e)};return t(r),(e,t)=>(openBlock(),createBlock(_sfc_main$s$1,{"disabled-page-fragment":e.disabledPageFragment,"page-bar-sort-options":e.pageBarSortOptions,"page-filter-function":e.pageFilterFunction},{header:withCtx(()=>[renderSlot(e.$slots,"header")]),nav:withCtx(()=>[renderSlot(e.$slots,"nav",{editorService:unref(editorService)},()=>[createVNode(_sfc_main$r$1,{data:e.menu},null,8,["data"])])]),"content-before":withCtx(()=>[renderSlot(e.$slots,"content-before")]),"src-code":withCtx(()=>[renderSlot(e.$slots,"src-code",{editorService:unref(editorService)})]),sidebar:withCtx(()=>[renderSlot(e.$slots,"sidebar",{editorService:unref(editorService)},()=>[createVNode(_sfc_main$a$1,{data:e.sidebar,"layer-content-menu":e.layerContentMenu,"custom-content-menu":e.customContentMenu,indent:e.treeIndent,"next-level-indent-increment":e.treeNextLevelIndentIncrement},{"layer-panel-header":withCtx(()=>[renderSlot(e.$slots,"layer-panel-header")]),"layer-node-content":withCtx(({data:t})=>[renderSlot(e.$slots,"layer-node-content",{data:t})]),"layer-node-label":withCtx(({data:t})=>[renderSlot(e.$slots,"layer-node-label",{data:t})]),"layer-node-tool":withCtx(({data:t})=>[renderSlot(e.$slots,"layer-node-tool",{data:t})]),"component-list":withCtx(({componentGroupList:t})=>[renderSlot(e.$slots,"component-list",{componentGroupList:t})]),"component-list-panel-header":withCtx(()=>[renderSlot(e.$slots,"component-list-panel-header")]),"component-list-item":withCtx(({component:t})=>[renderSlot(e.$slots,"component-list-item",{component:t})]),"code-block-panel-header":withCtx(()=>[renderSlot(e.$slots,"code-block-panel-header")]),"code-block-panel-tool":withCtx(({id:t,data:i})=>[renderSlot(e.$slots,"code-block-panel-tool",{id:t,data:i})]),"code-block-panel-search":withCtx(()=>[renderSlot(e.$slots,"code-block-panel-search")]),"data-source-panel-tool":withCtx(({data:t})=>[renderSlot(e.$slots,"data-source-panel-tool",{data:t})]),"data-source-panel-search":withCtx(()=>[renderSlot(e.$slots,"data-source-panel-search")]),_:3},8,["data","layer-content-menu","custom-content-menu","indent","next-level-indent-increment"])])]),workspace:withCtx(()=>[renderSlot(e.$slots,"workspace",{editorService:unref(editorService)},()=>[createVNode(_sfc_main$1$1,{"disabled-stage-overlay":e.disabledStageOverlay,"stage-content-menu":e.stageContentMenu,"custom-content-menu":e.customContentMenu},{stage:withCtx(()=>[renderSlot(e.$slots,"stage")]),"workspace-content":withCtx(()=>[renderSlot(e.$slots,"workspace-content",{editorService:unref(editorService)})]),_:3},8,["disabled-stage-overlay","stage-content-menu","custom-content-menu"])])]),"props-panel":withCtx(()=>[renderSlot(e.$slots,"props-panel",{},()=>[createVNode(_sfc_main$p$1,{"extend-state":e.extendFormState,"disabled-show-src":e.disabledShowSrc,onMounted:a,onUnmounted:l,onFormError:d,onSubmitError:c},{"props-panel-header":withCtx(()=>[renderSlot(e.$slots,"props-panel-header")]),_:3},8,["extend-state","disabled-show-src"])])]),empty:withCtx(()=>[renderSlot(e.$slots,"empty",{editorService:unref(editorService)})]),"content-after":withCtx(()=>[renderSlot(e.$slots,"content-after")]),footer:withCtx(()=>[renderSlot(e.$slots,"footer")]),"page-bar":withCtx(()=>[renderSlot(e.$slots,"page-bar")]),"page-bar-add-button":withCtx(()=>[renderSlot(e.$slots,"page-bar-add-button")]),"page-bar-title":withCtx(({page:t})=>[renderSlot(e.$slots,"page-bar-title",{page:t})]),"page-bar-popover":withCtx(({page:t})=>[renderSlot(e.$slots,"page-bar-popover",{page:t})]),"page-list-popover":withCtx(({list:t})=>[renderSlot(e.$slots,"page-list-popover",{list:t})]),_:3},8,["disabled-page-fragment","page-bar-sort-options","page-filter-function"]))}}),defaultInstallOpt={parseDSL:dsl=>eval(dsl),customCreateMonacoEditor:(e,t,i)=>e.editor.create(t,i),customCreateMonacoDiffEditor:(e,t,i)=>e.editor.createDiffEditor(t,i)},index={install:(e,t)=>{const i=Object.assign(defaultInstallOpt,t||{});e.use(index$4,t||{}),e.use(index$2,t||{}),e.use(index$1),e.config.globalProperties.$TMAGIC_EDITOR=i,setEditorConfig(i),e.component(`${_sfc_main$1J.name||"MEditor"}`,_sfc_main$1J),e.component("magic-code-editor",_sfc_main$1q$1),e.component("m-fields-ui-select",_sfc_main$C$1),e.component("m-fields-code-link",_sfc_main$1o$1),e.component("m-fields-vs-code",_sfc_main$1p$1),e.component("m-fields-code-select",_sfc_main$1n$1),e.component("m-fields-code-select-col",_sfc_main$1l$1),e.component("m-fields-event-select",_sfc_main$18$1),e.component("m-fields-data-source-fields",_sfc_main$1i$1),e.component("m-fields-data-source-mocks",_sfc_main$1b$1),e.component("m-fields-key-value",_sfc_main$16$1),e.component("m-fields-data-source-input",_sfc_main$1f$1),e.component("m-fields-data-source-select",_sfc_main$1a$1),e.component("m-fields-data-source-methods",_sfc_main$1d$1),e.component("m-fields-data-source-method-select",_sfc_main$1c$1),e.component("m-fields-data-source-field-select",_sfc_main$1g$1),e.component("m-fields-page-fragment-select",_sfc_main$15$1),e.component("m-fields-display-conds",_sfc_main$19$1),e.component("m-fields-cond-op-select",_sfc_main$1k$1),e.component("m-form-style-setter",_sfc_main$D$1)}},configProviderContextKey=Symbol(),defaultNamespace="el",statePrefix="is-",_bem=(e,t,i,o,n)=>{let r=`${e}-${t}`;return i&&(r+=`-${i}`),o&&(r+=`__${o}`),n&&(r+=`--${n}`),r},namespaceContextKey=Symbol("namespaceContextKey"),useGetDerivedNamespace=e=>{const t=e||(getCurrentInstance$1()?inject(namespaceContextKey,ref$1(defaultNamespace)):ref$1(defaultNamespace));return computed$1(()=>unref(t)||defaultNamespace)},useNamespace=(e,t)=>{const i=useGetDerivedNamespace(t);return{namespace:i,b:(t="")=>_bem(i.value,e,t,"",""),e:t=>t?_bem(i.value,e,"",t,""):"",m:t=>t?_bem(i.value,e,"","",t):"",be:(t,o)=>t&&o?_bem(i.value,e,t,o,""):"",em:(t,o)=>t&&o?_bem(i.value,e,"",t,o):"",bm:(t,o)=>t&&o?_bem(i.value,e,t,"",o):"",bem:(t,o,n)=>t&&o&&n?_bem(i.value,e,t,o,n):"",is:(e,...t)=>{const i=!(t.length>=1)||t[0];return e&&i?`${statePrefix}${e}`:""},cssVar:e=>{const t={};for(const o in e)e[o]&&(t[`--${i.value}-${o}`]=e[o]);return t},cssVarName:e=>`--${i.value}-${e}`,cssVarBlock:t=>{const o={};for(const n in t)t[n]&&(o[`--${i.value}-${e}-${n}`]=t[n]);return o},cssVarBlockName:t=>`--${i.value}-${e}-${t}`}},NOOP=()=>{},hasOwnProperty=Object.prototype.hasOwnProperty,hasOwn=(e,t)=>hasOwnProperty.call(e,t),isArray$1=Array.isArray,isDate=e=>"[object Date]"===toTypeString(e),isFunction$1=e=>"function"==typeof e,isString$1=e=>"string"==typeof e,isObject=e=>null!==e&&"object"==typeof e,isPromise=e=>(isObject(e)||isFunction$1(e))&&isFunction$1(e.then)&&isFunction$1(e.catch),objectToString=Object.prototype.toString,toTypeString=e=>objectToString.call(e),isPlainObject=e=>"[object Object]"===toTypeString(e),cacheStringFunction=e=>{const t=Object.create(null);return i=>t[i]||(t[i]=e(i))},camelizeRE=/-(\w)/g,camelize=cacheStringFunction(e=>e.replace(camelizeRE,(e,t)=>t?t.toUpperCase():"")),hyphenateRE=/\B([A-Z])/g,hyphenate=cacheStringFunction(e=>e.replace(hyphenateRE,"-$1").toLowerCase()),capitalize$1=cacheStringFunction(e=>e.charAt(0).toUpperCase()+e.slice(1)),isUndefined=e=>void 0===e,isBoolean=e=>"boolean"==typeof e,isNumber=e=>"number"==typeof e,isEmpty=e=>!e&&0!==e||isArray$1(e)&&0===e.length||isObject(e)&&!Object.keys(e).length,isElement=e=>"undefined"!=typeof Element&&e instanceof Element,isPropAbsent=e=>isNil(e),isStringNumber=e=>!!isString$1(e)&&!Number.isNaN(Number(e));var __defProp$9=Object.defineProperty,__defProps$6=Object.defineProperties,__getOwnPropDescs$6=Object.getOwnPropertyDescriptors,__getOwnPropSymbols$b=Object.getOwnPropertySymbols,__hasOwnProp$b=Object.prototype.hasOwnProperty,__propIsEnum$b=Object.prototype.propertyIsEnumerable,__defNormalProp$9=(e,t,i)=>t in e?__defProp$9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,__spreadValues$9=(e,t)=>{for(var i in t||(t={}))__hasOwnProp$b.call(t,i)&&__defNormalProp$9(e,i,t[i]);if(__getOwnPropSymbols$b)for(var i of __getOwnPropSymbols$b(t))__propIsEnum$b.call(t,i)&&__defNormalProp$9(e,i,t[i]);return e},__spreadProps$6=(e,t)=>__defProps$6(e,__getOwnPropDescs$6(t)),_a;function computedEager(e,t){const i=shallowRef();return watchEffect(()=>{i.value=e()},__spreadProps$6(__spreadValues$9({},t),{flush:null!=void 0?undefined:"sync"})),readonly(i)}const isClient="undefined"!=typeof window,isDef=e=>void 0!==e,isFunction=e=>"function"==typeof e,isString=e=>"string"==typeof e,noop$1=()=>{},isIOS=isClient&&(null==(_a=null==window?void 0:window.navigator)?void 0:_a.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function resolveUnref(e){return"function"==typeof e?e():unref(e)}function createFilterWrapper(e,t){return function(...i){return new Promise((o,n)=>{Promise.resolve(e(()=>t.apply(this,i),{fn:t,thisArg:this,args:i})).then(o).catch(n)})}}function debounceFilter(e,t={}){let i,o,n=noop$1;const r=e=>{clearTimeout(e),n(),n=noop$1};return s=>{const a=resolveUnref(e),l=resolveUnref(t.maxWait);return i&&r(i),a<=0||void 0!==l&&l<=0?(o&&(r(o),o=null),Promise.resolve(s())):new Promise((e,c)=>{n=t.rejectOnCancel?c:e,l&&!o&&(o=setTimeout(()=>{i&&r(i),o=null,e(s())},l)),i=setTimeout(()=>{o&&r(o),o=null,e(s())},a)})}}function identity(e){return e}function tryOnScopeDispose(e){return!!getCurrentScope()&&(onScopeDispose(e),!0)}function toReactive(e){if(!isRef(e))return reactive$1(e);const t=new Proxy({},{get:(t,i,o)=>unref(Reflect.get(e.value,i,o)),set:(t,i,o)=>(isRef(e.value[i])&&!isRef(o)?e.value[i].value=o:e.value[i]=o,!0),deleteProperty:(t,i)=>Reflect.deleteProperty(e.value,i),has:(t,i)=>Reflect.has(e.value,i),ownKeys:()=>Object.keys(e.value),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0})});return reactive$1(t)}function reactiveComputed(e){return toReactive(computed$1(e))}function useDebounceFn(e,t=200,i={}){return createFilterWrapper(debounceFilter(t,i),e)}function refDebounced(e,t=200,i={}){const o=ref$1(e.value),n=useDebounceFn(()=>{o.value=e.value},t,i);return watch(e,()=>n()),o}function tryOnMounted(e,t=!0){getCurrentInstance$1()?onMounted(e):t?e():nextTick(e)}function useTimeoutFn(e,t,i={}){const{immediate:o=!0}=i,n=ref$1(!1);let r=null;function s(){r&&(clearTimeout(r),r=null)}function a(){n.value=!1,s()}function l(...i){s(),n.value=!0,r=setTimeout(()=>{n.value=!1,r=null,e(...i)},resolveUnref(t))}return o&&(n.value=!0,isClient&&l()),tryOnScopeDispose(a),{isPending:readonly(n),start:l,stop:a}}function unrefElement(e){var t;const i=resolveUnref(e);return null!=(t=null==i?void 0:i.$el)?t:i}const defaultWindow=isClient?window:void 0,defaultDocument=isClient?window.document:void 0;function useEventListener(...e){let t,i,o,n;if(isString(e[0])||Array.isArray(e[0])?([i,o,n]=e,t=defaultWindow):[t,i,o,n]=e,!t)return noop$1;Array.isArray(i)||(i=[i]),Array.isArray(o)||(o=[o]);const r=[],s=()=>{r.forEach(e=>e()),r.length=0},a=watch(()=>[unrefElement(t),resolveUnref(n)],([e,t])=>{s(),e&&r.push(...i.flatMap(i=>o.map(o=>((e,t,i,o)=>(e.addEventListener(t,i,o),()=>e.removeEventListener(t,i,o)))(e,i,o,t))))},{immediate:!0,flush:"post"}),l=()=>{a(),s()};return tryOnScopeDispose(l),l}let _iOSWorkaround=!1;function onClickOutside(e,t,i={}){const{window:o=defaultWindow,ignore:n=[],capture:r=!0,detectIframe:s=!1}=i;if(!o)return;isIOS&&!_iOSWorkaround&&(_iOSWorkaround=!0,Array.from(o.document.body.children).forEach(e=>e.addEventListener("click",noop$1)));let a=!0;const l=e=>n.some(t=>{if("string"==typeof t)return Array.from(o.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{const i=unrefElement(t);return i&&(e.target===i||e.composedPath().includes(i))}}),c=[useEventListener(o,"click",i=>{const o=unrefElement(e);o&&o!==i.target&&!i.composedPath().includes(o)&&(0===i.detail&&(a=!l(i)),a?t(i):a=!0)},{passive:!0,capture:r}),useEventListener(o,"pointerdown",t=>{const i=unrefElement(e);i&&(a=!t.composedPath().includes(i)&&!l(t))},{passive:!0}),s&&useEventListener(o,"blur",i=>{var n;const r=unrefElement(e);"IFRAME"!==(null==(n=o.document.activeElement)?void 0:n.tagName)||(null==r?void 0:r.contains(o.document.activeElement))||t(i)})].filter(Boolean);return()=>c.forEach(e=>e())}function useSupported(e,t=!1){const i=ref$1(),o=()=>i.value=Boolean(e());return o(),tryOnMounted(o,t),i}function cloneFnJSON(e){return JSON.parse(JSON.stringify(e))}const _global="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},globalKey="__vueuse_ssr_handlers__";function useCssVar(e,t,{window:i=defaultWindow,initialValue:o=""}={}){const n=ref$1(o),r=computed$1(()=>{var e;return unrefElement(t)||(null==(e=null==i?void 0:i.document)?void 0:e.documentElement)});return watch([r,()=>resolveUnref(e)],([e,t])=>{var r;if(e&&i){const s=null==(r=i.getComputedStyle(e).getPropertyValue(t))?void 0:r.trim();n.value=s||o}},{immediate:!0}),watch(n,t=>{var i;(null==(i=r.value)?void 0:i.style)&&r.value.style.setProperty(resolveUnref(e),t)}),n}function useDocumentVisibility({document:e=defaultDocument}={}){if(!e)return ref$1("visible");const t=ref$1(e.visibilityState);return useEventListener(e,"visibilitychange",()=>{t.value=e.visibilityState}),t}_global[globalKey]=_global[globalKey]||{};var __getOwnPropSymbols$g=Object.getOwnPropertySymbols,__hasOwnProp$g=Object.prototype.hasOwnProperty,__propIsEnum$g=Object.prototype.propertyIsEnumerable,__objRest$2=(e,t)=>{var i={};for(var o in e)__hasOwnProp$g.call(e,o)&&t.indexOf(o)<0&&(i[o]=e[o]);if(null!=e&&__getOwnPropSymbols$g)for(var o of __getOwnPropSymbols$g(e))t.indexOf(o)<0&&__propIsEnum$g.call(e,o)&&(i[o]=e[o]);return i};function useResizeObserver(e,t,i={}){const o=i,{window:n=defaultWindow}=o,r=__objRest$2(o,["window"]);let s;const a=useSupported(()=>n&&"ResizeObserver"in n),l=()=>{s&&(s.disconnect(),s=void 0)},c=watch(()=>unrefElement(e),e=>{l(),a.value&&n&&e&&(s=new ResizeObserver(t),s.observe(e,r))},{immediate:!0,flush:"post"}),d=()=>{l(),c()};return tryOnScopeDispose(d),{isSupported:a,stop:d}}function useElementSize(e,t={width:0,height:0},i={}){const{window:o=defaultWindow,box:n="content-box"}=i,r=computed$1(()=>{var t,i;return null==(i=null==(t=unrefElement(e))?void 0:t.namespaceURI)?void 0:i.includes("svg")}),s=ref$1(t.width),a=ref$1(t.height);return useResizeObserver(e,([t])=>{const i="border-box"===n?t.borderBoxSize:"content-box"===n?t.contentBoxSize:t.devicePixelContentBoxSize;if(o&&r.value){const t=unrefElement(e);if(t){const e=o.getComputedStyle(t);s.value=parseFloat(e.width),a.value=parseFloat(e.height)}}else if(i){const e=Array.isArray(i)?i:[i];s.value=e.reduce((e,{inlineSize:t})=>e+t,0),a.value=e.reduce((e,{blockSize:t})=>e+t,0)}else s.value=t.contentRect.width,a.value=t.contentRect.height},i),watch(()=>unrefElement(e),e=>{s.value=e?t.width:0,a.value=e?t.height:0}),{width:s,height:a}}var __getOwnPropSymbols$8=Object.getOwnPropertySymbols,__hasOwnProp$8=Object.prototype.hasOwnProperty,__propIsEnum$8=Object.prototype.propertyIsEnumerable,__objRest$1=(e,t)=>{var i={};for(var o in e)__hasOwnProp$8.call(e,o)&&t.indexOf(o)<0&&(i[o]=e[o]);if(null!=e&&__getOwnPropSymbols$8)for(var o of __getOwnPropSymbols$8(e))t.indexOf(o)<0&&__propIsEnum$8.call(e,o)&&(i[o]=e[o]);return i},SwipeDirection,SwipeDirection2;function useMutationObserver(e,t,i={}){const o=i,{window:n=defaultWindow}=o,r=__objRest$1(o,["window"]);let s;const a=useSupported(()=>n&&"MutationObserver"in n),l=()=>{s&&(s.disconnect(),s=void 0)},c=watch(()=>unrefElement(e),e=>{l(),a.value&&n&&e&&(s=new MutationObserver(t),s.observe(e,r))},{immediate:!0}),d=()=>{l(),c()};return tryOnScopeDispose(d),{isSupported:a,stop:d}}SwipeDirection2=SwipeDirection||(SwipeDirection={}),SwipeDirection2.UP="UP",SwipeDirection2.RIGHT="RIGHT",SwipeDirection2.DOWN="DOWN",SwipeDirection2.LEFT="LEFT",SwipeDirection2.NONE="NONE";var __defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,i)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,__spreadValues=(e,t)=>{for(var i in t||(t={}))__hasOwnProp.call(t,i)&&__defNormalProp(e,i,t[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(t))__propIsEnum.call(t,i)&&__defNormalProp(e,i,t[i]);return e};const _TransitionPresets={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};function useVModel(e,t,i,o={}){var n,r,s;const{clone:a=!1,passive:l=!1,eventName:c,deep:d=!1,defaultValue:u}=o,h=getCurrentInstance$1(),p=(null==h?void 0:h.emit)||(null==(n=null==h?void 0:h.$emit)?void 0:n.bind(h))||(null==(s=null==(r=null==h?void 0:h.proxy)?void 0:r.$emit)?void 0:s.bind(null==h?void 0:h.proxy));let g=c;g=c||g||`update:${t.toString()}`;const m=e=>a?isFunction(a)?a(e):cloneFnJSON(e):e,f=()=>isDef(e[t])?m(e[t]):u;if(l){const i=ref$1(f());return watch(()=>e[t],e=>i.value=m(e)),watch(i,i=>{(i!==e[t]||d)&&p(g,i)},{deep:d}),i}return computed$1({get:()=>f(),set(e){p(g,e)}})}function useWindowFocus({window:e=defaultWindow}={}){if(!e)return ref$1(!1);const t=ref$1(e.document.hasFocus());return useEventListener(e,"blur",()=>{t.value=!1}),useEventListener(e,"focus",()=>{t.value=!0}),t}__spreadValues({linear:identity},_TransitionPresets);const initial={current:0},zIndex=ref$1(0),defaultInitialZIndex=2e3,ZINDEX_INJECTION_KEY=Symbol("elZIndexContextKey"),zIndexContextKey=Symbol("zIndexContextKey"),useZIndex=e=>{const t=getCurrentInstance$1()?inject(ZINDEX_INJECTION_KEY,initial):initial,i=e||(getCurrentInstance$1()?inject(zIndexContextKey,void 0):void 0),o=computed$1(()=>{const e=unref(i);return isNumber(e)?e:defaultInitialZIndex}),n=computed$1(()=>o.value+zIndex.value);return!isClient&&inject(ZINDEX_INJECTION_KEY),{initialZIndex:o,currentZIndex:n,nextZIndex:()=>(t.current++,zIndex.value=t.current,n.value)}};var English={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const buildTranslator=e=>(t,i)=>translate(t,i,unref(e)),translate=(e,t,i)=>get(i,e,e).replace(/\{(\w+)\}/g,(e,i)=>{var o;return`${null!=(o=null==t?void 0:t[i])?o:`{${i}}`}`}),buildLocaleContext=e=>({lang:computed$1(()=>unref(e).name),locale:isRef(e)?e:ref$1(e),t:buildTranslator(e)}),localeContextKey=Symbol("localeContextKey"),useLocale=e=>{const t=e||inject(localeContextKey,ref$1());return buildLocaleContext(computed$1(()=>t.value||English))},epPropKey="__epPropKey",definePropType=e=>e,isEpProp=e=>isObject(e)&&!!e[epPropKey],buildProp=(e,t)=>{if(!isObject(e)||isEpProp(e))return e;const{values:i,required:o,default:n,type:r,validator:s}=e,a={type:r,required:!!o,validator:i||s?o=>{let r=!1,a=[];if(i&&(a=Array.from(i),hasOwn(e,"default")&&a.push(n),r||(r=a.includes(o))),s&&(r||(r=s(o))),!r&&a.length>0){const e=[...new Set(a)].map(e=>JSON.stringify(e)).join(", ");warn(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${e}], got value ${JSON.stringify(o)}.`)}return r}:void 0,[epPropKey]:!0};return hasOwn(e,"default")&&(a.default=n),a},buildProps=e=>fromPairs(Object.entries(e).map(([e,t])=>[e,buildProp(t,e)])),componentSizes=["","default","small","large"],useSizeProp=buildProp({type:String,values:componentSizes,required:!1}),SIZE_INJECTION_KEY=Symbol("size"),useGlobalSize=()=>{const e=inject(SIZE_INJECTION_KEY,{});return computed$1(()=>unref(e.size)||"")},emptyValuesContextKey=Symbol("emptyValuesContextKey"),DEFAULT_EMPTY_VALUES=["",void 0,null],DEFAULT_VALUE_ON_CLEAR=void 0,useEmptyValuesProps=buildProps({emptyValues:Array,valueOnClear:{type:definePropType([String,Number,Boolean,Function]),default:void 0,validator:e=>isFunction$1(e)?!e():!e}}),useEmptyValues=(e,t)=>{const i=getCurrentInstance$1()?inject(emptyValuesContextKey,ref$1({})):ref$1({}),o=computed$1(()=>e.emptyValues||i.value.emptyValues||DEFAULT_EMPTY_VALUES),n=computed$1(()=>isFunction$1(e.valueOnClear)?e.valueOnClear():void 0!==e.valueOnClear?e.valueOnClear:isFunction$1(i.value.valueOnClear)?i.value.valueOnClear():void 0!==i.value.valueOnClear?i.value.valueOnClear:void 0!==t?t:DEFAULT_VALUE_ON_CLEAR);return o.value.includes(n.value),{emptyValues:o,valueOnClear:n,isEmptyValue:e=>o.value.includes(e)}},keysOf=e=>Object.keys(e),entriesOf=e=>Object.entries(e),getProp=(e,t,i)=>({get value(){return get(e,t,i)},set value(i){set(e,t,i)}}),globalConfig=ref$1();function useGlobalConfig(e,t=void 0){const i=getCurrentInstance$1()?inject(configProviderContextKey,globalConfig):globalConfig;return e?computed$1(()=>{var o,n;return null!=(n=null==(o=i.value)?void 0:o[e])?n:t}):i}function useGlobalComponentSettings(e,t){const i=useGlobalConfig(),o=useNamespace(e,computed$1(()=>{var e;return(null==(e=i.value)?void 0:e.namespace)||defaultNamespace})),n=useLocale(computed$1(()=>{var e;return null==(e=i.value)?void 0:e.locale})),r=useZIndex(computed$1(()=>{var e;return(null==(e=i.value)?void 0:e.zIndex)||defaultInitialZIndex})),s=computed$1(()=>{var e;return unref(t)||(null==(e=i.value)?void 0:e.size)||""});return provideGlobalConfig(computed$1(()=>unref(i)||{})),{ns:o,locale:n,zIndex:r,size:s}}const provideGlobalConfig=(e,t,i=!1)=>{const o=!!getCurrentInstance$1(),n=o?useGlobalConfig():void 0,r=null!=void 0?undefined:o?provide:void 0;if(!r)return;const s=computed$1(()=>{const t=unref(e);return(null==n?void 0:n.value)?mergeConfig(n.value,t):t});return r(configProviderContextKey,s),r(localeContextKey,computed$1(()=>s.value.locale)),r(namespaceContextKey,computed$1(()=>s.value.namespace)),r(zIndexContextKey,computed$1(()=>s.value.zIndex)),r(SIZE_INJECTION_KEY,{size:computed$1(()=>s.value.size||"")}),r(emptyValuesContextKey,computed$1(()=>({emptyValues:s.value.emptyValues,valueOnClear:s.value.valueOnClear}))),!i&&globalConfig.value||(globalConfig.value=s.value),s},mergeConfig=(e,t)=>{const i=[...new Set([...keysOf(e),...keysOf(t)])],o={};for(const n of i)o[n]=void 0!==t[n]?t[n]:e[n];return o},UPDATE_MODEL_EVENT="update:modelValue",CHANGE_EVENT="change",INPUT_EVENT="input";var _export_sfc$1=(e,t)=>{const i=e.__vccOpts||e;for(const[o,n]of t)i[o]=n;return i};const rAF=e=>isClient?window.requestAnimationFrame(e):setTimeout(e,16),classNameToArray=(e="")=>e.split(" ").filter(e=>!!e.trim()),hasClass=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},addClass=(e,t)=>{e&&t.trim()&&e.classList.add(...classNameToArray(t))},removeClass=(e,t)=>{e&&t.trim()&&e.classList.remove(...classNameToArray(t))},getStyle=(t,i)=>{var o;if(!isClient||!t||!i)return"";let n=camelize(i);"float"===n&&(n="cssFloat");try{const e=t.style[n];if(e)return e;const i=null==(o=document.defaultView)?void 0:o.getComputedStyle(t,"");return i?i[n]:""}catch(e){return t.style[n]}};function addUnit(e,t="px"){return e?isNumber(e)||isStringNumber(e)?`${e}${t}`:isString$1(e)?e:void 0:""}let scrollBarWidth;const getScrollBarWidth=e=>{var t;if(!isClient)return 0;if(void 0!==scrollBarWidth)return scrollBarWidth;const i=document.createElement("div");i.className=`${e}-scrollbar__wrap`,i.style.visibility="hidden",i.style.width="100px",i.style.position="absolute",i.style.top="-9999px",document.body.appendChild(i);const o=i.offsetWidth;i.style.overflow="scroll";const n=document.createElement("div");n.style.width="100%",i.appendChild(n);const r=n.offsetWidth;return null==(t=i.parentNode)||t.removeChild(i),scrollBarWidth=o-r,scrollBarWidth};function scrollIntoView(e,t){if(!isClient)return;if(!t)return void(e.scrollTop=0);const i=[];let o=t.offsetParent;for(;null!==o&&e!==o&&e.contains(o);)i.push(o),o=o.offsetParent;const n=t.offsetTop+i.reduce((e,t)=>e+t.offsetTop,0),r=n+t.offsetHeight,s=e.scrollTop,a=s+e.clientHeight;na&&(e.scrollTop=r-e.clientHeight)}class ElementPlusError extends Error{constructor(e){super(e),this.name="ElementPlusError"}}function throwError(e,t){throw new ElementPlusError(`[${e}] ${t}`)}function debugWarn(e,t){}const withInstall=(e,t)=>{if(e.install=i=>{for(const o of[e,...Object.values(null!=t?t:{})])i.component(o.name,o)},t)for(const[i,o]of Object.entries(t))e[i]=o;return e},withInstallFunction=(e,t)=>(e.install=i=>{e._context=i._context,i.config.globalProperties[t]=e},e),withNoopInstall=e=>(e.install=NOOP,e),iconProps=buildProps({size:{type:definePropType([Number,String])},color:{type:String}}),__default__$12=defineComponent({name:"ElIcon",inheritAttrs:!1}),_sfc_main$1I=defineComponent({...__default__$12,props:iconProps,setup(e){const t=e,i=useNamespace("icon"),o=computed$1(()=>{const{size:e,color:i}=t;return e||i?{fontSize:isUndefined(e)?void 0:addUnit(e),"--color":i}:{}});return(e,t)=>(openBlock(),createElementBlock("i",mergeProps({class:unref(i).b(),style:unref(o)},e.$attrs),[renderSlot(e.$slots,"default")],16))}});var Icon=_export_sfc$1(_sfc_main$1I,[["__file","icon.vue"]]);const ElIcon=withInstall(Icon);function useTimeout(){let e;const t=()=>window.clearTimeout(e);return tryOnScopeDispose(()=>t()),{registerTimeout:(i,o)=>{t(),e=window.setTimeout(i,o)},cancelTimeout:t}}const useDelayedToggleProps=buildProps({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),useDelayedToggle=({showAfter:e,hideAfter:t,autoClose:i,open:o,close:n})=>{const{registerTimeout:r}=useTimeout(),{registerTimeout:s,cancelTimeout:a}=useTimeout();return{onOpen:t=>{r(()=>{o(t);const e=unref(i);isNumber(e)&&e>0&&s(()=>{n(t)},e)},unref(e))},onClose:e=>{a(),r(()=>{n(e)},unref(t))}}},iconPropType=definePropType([String,Object,Function]),CloseComponents={Close:close_default},TypeComponents={Close:close_default,SuccessFilled:success_filled_default,InfoFilled:info_filled_default,WarningFilled:warning_filled_default,CircleCloseFilled:circle_close_filled_default},TypeComponentsMap={primary:info_filled_default,success:success_filled_default,warning:warning_filled_default,error:circle_close_filled_default,info:info_filled_default},ValidateComponentsMap={validating:loading_default,success:circle_check_default,error:circle_close_default},isFirefox=()=>isClient&&/firefox/i.test(window.navigator.userAgent);let hiddenTextarea;const HIDDEN_STYLE={height:"0",visibility:"hidden",overflow:isFirefox()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},CONTEXT_STYLE=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"];function calculateNodeStyling(e){const t=window.getComputedStyle(e),i=t.getPropertyValue("box-sizing"),o=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),n=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:CONTEXT_STYLE.map(e=>[e,t.getPropertyValue(e)]),paddingSize:o,borderSize:n,boxSizing:i}}function calcTextareaHeight(e,t=1,i){var o,n;hiddenTextarea||(hiddenTextarea=document.createElement("textarea"),(null!=(o=e.parentNode)?o:document.body).appendChild(hiddenTextarea));const{paddingSize:r,borderSize:s,boxSizing:a,contextStyle:l}=calculateNodeStyling(e);l.forEach(([e,t])=>null==hiddenTextarea?void 0:hiddenTextarea.style.setProperty(e,t)),Object.entries(HIDDEN_STYLE).forEach(([e,t])=>null==hiddenTextarea?void 0:hiddenTextarea.style.setProperty(e,t,"important")),hiddenTextarea.value=e.value||e.placeholder||"";let c=hiddenTextarea.scrollHeight;const d={};"border-box"===a?c+=s:"content-box"===a&&(c-=r),hiddenTextarea.value="";const u=hiddenTextarea.scrollHeight-r;if(isNumber(t)){let e=u*t;"border-box"===a&&(e=e+r+s),c=Math.max(e,c),d.minHeight=`${e}px`}if(isNumber(i)){let e=u*i;"border-box"===a&&(e=e+r+s),c=Math.min(e,c)}return d.height=`${c}px`,null==(n=hiddenTextarea.parentNode)||n.removeChild(hiddenTextarea),hiddenTextarea=void 0,d}const mutable=e=>e,ariaProps=buildProps({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),useAriaProps=e=>pick(ariaProps,e),inputProps=buildProps({id:{type:String,default:void 0},size:useSizeProp,disabled:Boolean,modelValue:{type:definePropType([String,Number,Object]),default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:definePropType([Boolean,Object]),default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:iconPropType,default:circle_close_default},showPassword:Boolean,showWordLimit:Boolean,suffixIcon:{type:iconPropType},prefixIcon:{type:iconPropType},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:definePropType([Object,Array,String]),default:()=>mutable({})},autofocus:Boolean,rows:{type:Number,default:2},...useAriaProps(["ariaLabel"]),inputmode:{type:definePropType(String),default:void 0},name:String}),inputEmits={[UPDATE_MODEL_EVENT]:e=>isString$1(e),input:e=>isString$1(e),change:e=>isString$1(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},DEFAULT_EXCLUDE_KEYS=["class","style"],LISTENER_PREFIX=/^on[A-Z]/,useAttrs=(e={})=>{const{excludeListeners:t=!1,excludeKeys:i}=e,o=computed$1(()=>((null==i?void 0:i.value)||[]).concat(DEFAULT_EXCLUDE_KEYS)),n=getCurrentInstance$1();return computed$1(n?()=>{var e;return fromPairs(Object.entries(null==(e=n.proxy)?void 0:e.$attrs).filter(([e])=>!(o.value.includes(e)||t&&LISTENER_PREFIX.test(e))))}:()=>({}))},defaultIdInjection={prefix:Math.floor(1e4*Math.random()),current:0},ID_INJECTION_KEY=Symbol("elIdInjection"),useIdInjection=()=>getCurrentInstance$1()?inject(ID_INJECTION_KEY,defaultIdInjection):defaultIdInjection,useId=e=>{const t=useIdInjection(),i=useGetDerivedNamespace();return computedEager(()=>unref(e)||`${i.value}-id-${t.prefix}-${t.current++}`)},formContextKey=Symbol("formContextKey"),formItemContextKey=Symbol("formItemContextKey"),useFormItem=()=>({form:inject(formContextKey,void 0),formItem:inject(formItemContextKey,void 0)}),useFormItemInputId=(e,{formItemContext:t,disableIdGeneration:i,disableIdManagement:o})=>{i||(i=ref$1(!1)),o||(o=ref$1(!1));const n=getCurrentInstance$1(),r=ref$1();let s;const a=computed$1(()=>{var i;return!!(!e.label&&!e.ariaLabel&&t&&t.inputIds&&(null==(i=t.inputIds)?void 0:i.length)<=1)});return onMounted(()=>{s=watch([toRef(e,"id"),i],([e,i])=>{const s=null!=e?e:i?void 0:useId().value;s!==r.value&&((null==t?void 0:t.removeInputId)&&!(()=>{let e=null==n?void 0:n.parent;for(;e;){if("ElFormItem"===e.type.name)return!1;if("ElLabelWrap"===e.type.name)return!0;e=e.parent}return!1})()&&(r.value&&t.removeInputId(r.value),(null==o?void 0:o.value)||i||!s||t.addInputId(s)),r.value=s)},{immediate:!0})}),onUnmounted(()=>{s&&s(),(null==t?void 0:t.removeInputId)&&r.value&&t.removeInputId(r.value)}),{isLabeledByFormItem:a,inputId:r}},useProp=e=>{const t=getCurrentInstance$1();return computed$1(()=>{var i,o;return null==(o=null==(i=null==t?void 0:t.proxy)?void 0:i.$props)?void 0:o[e]})},useFormSize=(e,t={})=>{const i=ref$1(void 0),o=t.prop?i:useProp("size"),n=t.global?i:useGlobalSize(),r=t.form?{size:void 0}:inject(formContextKey,void 0),s=t.formItem?{size:void 0}:inject(formItemContextKey,void 0);return computed$1(()=>o.value||unref(e)||(null==s?void 0:s.size)||(null==r?void 0:r.size)||n.value||"")},useFormDisabled=e=>{const t=useProp("disabled"),i=inject(formContextKey,void 0);return computed$1(()=>t.value||unref(e)||(null==i?void 0:i.disabled)||!1)},FOCUSABLE_ELEMENT_SELECTORS='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',isVisible=e=>"fixed"!==getComputedStyle(e).position&&null!==e.offsetParent,obtainAllFocusableElements$1=e=>Array.from(e.querySelectorAll(FOCUSABLE_ELEMENT_SELECTORS)).filter(e=>isFocusable(e)&&isVisible(e)),isFocusable=e=>{if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||"true"===e.getAttribute("aria-disabled"))return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return!("hidden"===e.type||"file"===e.type);case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},isLeaf=e=>!e.getAttribute("aria-owns"),getSibling=(e,t,i)=>{const{parentNode:o}=e;if(!o)return null;const n=o.querySelectorAll(i);return n[Array.prototype.indexOf.call(n,e)+t]||null},focusNode=e=>{e&&(e.focus(),!isLeaf(e)&&e.click())};function useFocusController(e,{disabled:t,beforeFocus:i,afterFocus:o,beforeBlur:n,afterBlur:r}={}){const s=getCurrentInstance$1(),{emit:a}=s,l=shallowRef(),c=ref$1(!1),d=e=>{const n=!!isFunction$1(i)&&i(e);unref(t)||c.value||n||(c.value=!0,a("focus",e),null==o||o())},u=e=>{var i;const o=!!isFunction$1(n)&&n(e);unref(t)||e.relatedTarget&&(null==(i=l.value)?void 0:i.contains(e.relatedTarget))||o||(c.value=!1,a("blur",e),null==r||r())};return watch([l,()=>unref(t)],([e,t])=>{e&&(t?e.removeAttribute("tabindex"):e.setAttribute("tabindex","-1"))}),useEventListener(l,"focus",d,!0),useEventListener(l,"blur",u,!0),useEventListener(l,"click",i=>{var o,n;unref(t)||isFocusable(i.target)||(null==(o=l.value)?void 0:o.contains(document.activeElement))&&l.value!==document.activeElement||null==(n=e.value)||n.focus()},!0),{isFocused:c,wrapperRef:l,handleFocus:d,handleBlur:u}}const isKorean=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e);function useComposition({afterComposition:e,emit:t}){const i=ref$1(!1),o=e=>{var o;null==t||t("compositionupdate",e);const n=null==(o=e.target)?void 0:o.value,r=n[n.length-1]||"";i.value=!isKorean(r)},n=o=>{null==t||t("compositionend",o),i.value&&(i.value=!1,nextTick(()=>e(o)))};return{isComposing:i,handleComposition:e=>{"compositionend"===e.type?n(e):o(e)},handleCompositionStart:e=>{null==t||t("compositionstart",e),i.value=!0},handleCompositionUpdate:o,handleCompositionEnd:n}}function useCursor(e){let t;return[function(){if(null==e.value)return;const{selectionStart:i,selectionEnd:o,value:n}=e.value;if(null==i||null==o)return;const r=n.slice(0,Math.max(0,i)),s=n.slice(Math.max(0,o));t={selectionStart:i,selectionEnd:o,value:n,beforeTxt:r,afterTxt:s}},function(){if(null==e.value||null==t)return;const{value:i}=e.value,{beforeTxt:o,afterTxt:n,selectionStart:r}=t;if(null==o||null==n||null==r)return;let s=i.length;if(i.endsWith(n))s=i.length-n.length;else if(i.startsWith(o))s=o.length;else{const e=o[r-1],t=i.indexOf(e,r-1);-1!==t&&(s=t+1)}e.value.setSelectionRange(s,s)}]}const COMPONENT_NAME$f="ElInput",__default__$11=defineComponent({name:COMPONENT_NAME$f,inheritAttrs:!1}),_sfc_main$1H=defineComponent({...__default__$11,props:inputProps,emits:inputEmits,setup(e,{expose:t,emit:i}){const o=e,n=useAttrs$1(),r=useAttrs(),s=useSlots(),a=computed$1(()=>["textarea"===o.type?m.b():g.b(),g.m(h.value),g.is("disabled",p.value),g.is("exceed",B.value),{[g.b("group")]:s.prepend||s.append,[g.m("prefix")]:s.prefix||o.prefixIcon,[g.m("suffix")]:s.suffix||o.suffixIcon||o.clearable||o.showPassword,[g.bm("suffix","password-clear")]:R.value&&A.value,[g.b("hidden")]:"hidden"===o.type},n.class]),l=computed$1(()=>[g.e("wrapper"),g.is("focus",S.value)]),{form:c,formItem:d}=useFormItem(),{inputId:u}=useFormItemInputId(o,{formItemContext:d}),h=useFormSize(),p=useFormDisabled(),g=useNamespace("input"),m=useNamespace("textarea"),f=shallowRef(),v=shallowRef(),b=ref$1(!1),_=ref$1(!1),y=ref$1(),C=shallowRef(o.inputStyle),w=computed$1(()=>f.value||v.value),{wrapperRef:x,isFocused:S,handleFocus:k,handleBlur:E}=useFocusController(w,{disabled:p,afterBlur(){var e;o.validateEvent&&(null==(e=null==d?void 0:d.validate)||e.call(d,"blur").catch(e=>debugWarn()))}}),I=computed$1(()=>{var e;return null!=(e=null==c?void 0:c.statusIcon)&&e}),T=computed$1(()=>(null==d?void 0:d.validateState)||""),D=computed$1(()=>T.value&&ValidateComponentsMap[T.value]),L=computed$1(()=>_.value?view_default:hide_default),N=computed$1(()=>[n.style]),M=computed$1(()=>[o.inputStyle,C.value,{resize:o.resize}]),$=computed$1(()=>isNil(o.modelValue)?"":String(o.modelValue)),R=computed$1(()=>o.clearable&&!p.value&&!o.readonly&&!!$.value&&(S.value||b.value)),A=computed$1(()=>o.showPassword&&!p.value&&!!$.value),O=computed$1(()=>o.showWordLimit&&!!o.maxlength&&("text"===o.type||"textarea"===o.type)&&!p.value&&!o.readonly&&!o.showPassword),P=computed$1(()=>$.value.length),B=computed$1(()=>!!O.value&&P.value>Number(o.maxlength)),F=computed$1(()=>!!s.suffix||!!o.suffixIcon||R.value||o.showPassword||O.value||!!T.value&&I.value),[z,V]=useCursor(f);useResizeObserver(v,e=>{if(W(),!O.value||"both"!==o.resize)return;const t=e[0],{width:i}=t.contentRect;y.value={right:`calc(100% - ${i+15+6}px)`}});const H=()=>{const{type:e,autosize:t}=o;if(isClient&&"textarea"===e&&v.value)if(t){const e=isObject(t)?t.minRows:void 0,i=isObject(t)?t.maxRows:void 0,o=calcTextareaHeight(v.value,e,i);C.value={overflowY:"hidden",...o},nextTick(()=>{v.value.offsetHeight,C.value=o})}else C.value={minHeight:calcTextareaHeight(v.value).minHeight}},W=(e=>{let t=!1;return()=>{var i;if(t||!o.autosize)return;null===(null==(i=v.value)?void 0:i.offsetParent)||(e(),t=!0)}})(H),K=()=>{const e=w.value,t=o.formatter?o.formatter($.value):$.value;e&&e.value!==t&&(e.value=t)},U=async e=>{z();let{value:t}=e.target;o.formatter&&o.parser&&(t=o.parser(t)),G.value||(t!==$.value?(i(UPDATE_MODEL_EVENT,t),i(INPUT_EVENT,t),await nextTick(),K(),V()):K())},j=e=>{let{value:t}=e.target;o.formatter&&o.parser&&(t=o.parser(t)),i(CHANGE_EVENT,t)},{isComposing:G,handleCompositionStart:q,handleCompositionUpdate:Y,handleCompositionEnd:X}=useComposition({emit:i,afterComposition:U}),Q=()=>{z(),_.value=!_.value,setTimeout(V)},Z=e=>{b.value=!1,i("mouseleave",e)},J=e=>{b.value=!0,i("mouseenter",e)},ee=e=>{i("keydown",e)},te=()=>{i(UPDATE_MODEL_EVENT,""),i(CHANGE_EVENT,""),i("clear"),i(INPUT_EVENT,"")};return watch(()=>o.modelValue,()=>{var e;nextTick(()=>H()),o.validateEvent&&(null==(e=null==d?void 0:d.validate)||e.call(d,"change").catch(e=>debugWarn()))}),watch($,()=>K()),watch(()=>o.type,async()=>{await nextTick(),K(),H()}),onMounted(()=>{!o.formatter&&o.parser,K(),nextTick(H)}),t({input:f,textarea:v,ref:w,textareaStyle:M,autosize:toRef(o,"autosize"),isComposing:G,focus:()=>{var e;return null==(e=w.value)?void 0:e.focus()},blur:()=>{var e;return null==(e=w.value)?void 0:e.blur()},select:()=>{var e;null==(e=w.value)||e.select()},clear:te,resizeTextarea:H}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(a),{[unref(g).bm("group","append")]:e.$slots.append,[unref(g).bm("group","prepend")]:e.$slots.prepend}]),style:normalizeStyle(unref(N)),onMouseenter:J,onMouseleave:Z},[createCommentVNode(" input "),"textarea"!==e.type?(openBlock(),createElementBlock(Fragment,{key:0},[createCommentVNode(" prepend slot "),e.$slots.prepend?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(g).be("group","prepend"))},[renderSlot(e.$slots,"prepend")],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{ref_key:"wrapperRef",ref:x,class:normalizeClass(unref(l))},[createCommentVNode(" prefix slot "),e.$slots.prefix||e.prefixIcon?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(g).e("prefix"))},[createBaseVNode("span",{class:normalizeClass(unref(g).e("prefix-inner"))},[renderSlot(e.$slots,"prefix"),e.prefixIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(g).e("icon"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.prefixIcon)))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],2)],2)):createCommentVNode("v-if",!0),createBaseVNode("input",mergeProps({id:unref(u),ref_key:"input",ref:f,class:unref(g).e("inner")},unref(r),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,type:e.showPassword?_.value?"text":"password":e.type,disabled:unref(p),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:unref(q),onCompositionupdate:unref(Y),onCompositionend:unref(X),onInput:U,onChange:j,onKeydown:ee}),null,16,["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode","onCompositionstart","onCompositionupdate","onCompositionend"]),createCommentVNode(" suffix slot "),unref(F)?(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(unref(g).e("suffix"))},[createBaseVNode("span",{class:normalizeClass(unref(g).e("suffix-inner"))},[unref(R)&&unref(A)&&unref(O)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock(Fragment,{key:0},[renderSlot(e.$slots,"suffix"),e.suffixIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(g).e("icon"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.suffixIcon)))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],64)),unref(R)?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(g).e("icon"),unref(g).e("clear")]),onMousedown:withModifiers(unref(NOOP),["prevent"]),onClick:te},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.clearIcon)))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0),unref(A)?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass([unref(g).e("icon"),unref(g).e("password")]),onClick:Q},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(L))))]),_:1},8,["class"])):createCommentVNode("v-if",!0),unref(O)?(openBlock(),createElementBlock("span",{key:3,class:normalizeClass(unref(g).e("count"))},[createBaseVNode("span",{class:normalizeClass(unref(g).e("count-inner"))},toDisplayString(unref(P))+" / "+toDisplayString(e.maxlength),3)],2)):createCommentVNode("v-if",!0),unref(T)&&unref(D)&&unref(I)?(openBlock(),createBlock(unref(ElIcon),{key:4,class:normalizeClass([unref(g).e("icon"),unref(g).e("validateIcon"),unref(g).is("loading","validating"===unref(T))])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(D))))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],2)],2)):createCommentVNode("v-if",!0)],2),createCommentVNode(" append slot "),e.$slots.append?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(g).be("group","append"))},[renderSlot(e.$slots,"append")],2)):createCommentVNode("v-if",!0)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createCommentVNode(" textarea "),createBaseVNode("textarea",mergeProps({id:unref(u),ref_key:"textarea",ref:v,class:[unref(m).e("inner"),unref(g).is("focus",unref(S))]},unref(r),{minlength:e.minlength,maxlength:e.maxlength,tabindex:e.tabindex,disabled:unref(p),readonly:e.readonly,autocomplete:e.autocomplete,style:unref(M),"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,onCompositionstart:unref(q),onCompositionupdate:unref(Y),onCompositionend:unref(X),onInput:U,onFocus:unref(k),onBlur:unref(E),onChange:j,onKeydown:ee}),null,16,["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),unref(O)?(openBlock(),createElementBlock("span",{key:0,style:normalizeStyle(y.value),class:normalizeClass(unref(g).e("count"))},toDisplayString(unref(P))+" / "+toDisplayString(e.maxlength),7)):createCommentVNode("v-if",!0)],64))],38))}});var Input=_export_sfc$1(_sfc_main$1H,[["__file","input.vue"]]);const ElInput=withInstall(Input),GAP=4,BAR_MAP={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},renderThumbStyle=({move:e,size:t,bar:i})=>({[i.size]:t,transform:`translate${i.axis}(${e}%)`}),scrollbarContextKey=Symbol("scrollbarContextKey"),thumbProps=buildProps({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),COMPONENT_NAME$e="Thumb",_sfc_main$1G=defineComponent({__name:"thumb",props:thumbProps,setup(e){const t=e,i=inject(scrollbarContextKey),o=useNamespace("scrollbar");i||throwError(COMPONENT_NAME$e,"can not inject scrollbar context");const n=ref$1(),r=ref$1(),s=ref$1({}),a=ref$1(!1);let l=!1,c=!1,d=0,u=0,h=isClient?document.onselectstart:null;const p=computed$1(()=>BAR_MAP[t.vertical?"vertical":"horizontal"]),g=computed$1(()=>renderThumbStyle({size:t.size,move:t.move,bar:p.value})),m=computed$1(()=>n.value[p.value.offset]**2/i.wrapElement[p.value.scrollSize]/t.ratio/r.value[p.value.offset]),f=e=>{var t;if(e.stopPropagation(),e.ctrlKey||[1,2].includes(e.button))return;null==(t=window.getSelection())||t.removeAllRanges(),b(e);const i=e.currentTarget;i&&(s.value[p.value.axis]=i[p.value.offset]-(e[p.value.client]-i.getBoundingClientRect()[p.value.direction]))},v=e=>{if(!r.value||!n.value||!i.wrapElement)return;const t=100*(Math.abs(e.target.getBoundingClientRect()[p.value.direction]-e[p.value.client])-r.value[p.value.offset]/2)*m.value/n.value[p.value.offset];i.wrapElement[p.value.scroll]=t*i.wrapElement[p.value.scrollSize]/100},b=e=>{e.stopImmediatePropagation(),l=!0,d=i.wrapElement.scrollHeight,u=i.wrapElement.scrollWidth,document.addEventListener("mousemove",_),document.addEventListener("mouseup",y),h=document.onselectstart,document.onselectstart=()=>!1},_=e=>{if(!n.value||!r.value)return;if(!1===l)return;const t=s.value[p.value.axis];if(!t)return;const o=100*(-1*(n.value.getBoundingClientRect()[p.value.direction]-e[p.value.client])-(r.value[p.value.offset]-t))*m.value/n.value[p.value.offset];"scrollLeft"===p.value.scroll?i.wrapElement[p.value.scroll]=o*u/100:i.wrapElement[p.value.scroll]=o*d/100},y=()=>{l=!1,s.value[p.value.axis]=0,document.removeEventListener("mousemove",_),document.removeEventListener("mouseup",y),C(),c&&(a.value=!1)};onBeforeUnmount(()=>{C(),document.removeEventListener("mouseup",y)});const C=()=>{document.onselectstart!==h&&(document.onselectstart=h)};return useEventListener(toRef(i,"scrollbarElement"),"mousemove",()=>{c=!1,a.value=!!t.size}),useEventListener(toRef(i,"scrollbarElement"),"mouseleave",()=>{c=!0,a.value=l}),(e,t)=>(openBlock(),createBlock(Transition,{name:unref(o).b("fade"),persisted:""},{default:withCtx(()=>[withDirectives(createBaseVNode("div",{ref_key:"instance",ref:n,class:normalizeClass([unref(o).e("bar"),unref(o).is(unref(p).key)]),onMousedown:v,onClick:withModifiers(()=>{},["stop"])},[createBaseVNode("div",{ref_key:"thumb",ref:r,class:normalizeClass(unref(o).e("thumb")),style:normalizeStyle(unref(g)),onMousedown:f},null,38)],42,["onClick"]),[[vShow,e.always||a.value]])]),_:1},8,["name"]))}});var Thumb=_export_sfc$1(_sfc_main$1G,[["__file","thumb.vue"]]);const barProps=buildProps({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),_sfc_main$1F=defineComponent({__name:"bar",props:barProps,setup(e,{expose:t}){const i=e,o=inject(scrollbarContextKey),n=ref$1(0),r=ref$1(0),s=ref$1(""),a=ref$1(""),l=ref$1(1),c=ref$1(1);return t({handleScroll:e=>{if(e){const t=e.offsetHeight-GAP,i=e.offsetWidth-GAP;r.value=100*e.scrollTop/t*l.value,n.value=100*e.scrollLeft/i*c.value}},update:()=>{const e=null==o?void 0:o.wrapElement;if(!e)return;const t=e.offsetHeight-GAP,n=e.offsetWidth-GAP,r=t**2/e.scrollHeight,d=n**2/e.scrollWidth,u=Math.max(r,i.minSize),h=Math.max(d,i.minSize);l.value=r/(t-r)/(u/(t-u)),c.value=d/(n-d)/(h/(n-h)),a.value=u+GAP(openBlock(),createElementBlock(Fragment,null,[createVNode(Thumb,{move:n.value,ratio:c.value,size:s.value,always:e.always},null,8,["move","ratio","size","always"]),createVNode(Thumb,{move:r.value,ratio:l.value,size:a.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}});var Bar=_export_sfc$1(_sfc_main$1F,[["__file","bar.vue"]]);const scrollbarProps=buildProps({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:definePropType([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...useAriaProps(["ariaLabel","ariaOrientation"])}),scrollbarEmits={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(isNumber)},COMPONENT_NAME$d="ElScrollbar",__default__$10=defineComponent({name:COMPONENT_NAME$d}),_sfc_main$1E=defineComponent({...__default__$10,props:scrollbarProps,emits:scrollbarEmits,setup(e,{expose:t,emit:i}){const o=e,n=useNamespace("scrollbar");let r,s,a,l=0,c=0,d="";const u={bottom:!1,top:!1,right:!1,left:!1},h=ref$1(),p=ref$1(),g=ref$1(),m=ref$1(),f=computed$1(()=>{const e={};return o.height&&(e.height=addUnit(o.height)),o.maxHeight&&(e.maxHeight=addUnit(o.maxHeight)),[o.wrapStyle,e]}),v=computed$1(()=>[o.wrapClass,n.e("wrap"),{[n.em("wrap","hidden-default")]:!o.native}]),b=computed$1(()=>[n.e("view"),o.viewClass]),_={top:"bottom",bottom:"top",left:"right",right:"left"},y=()=>{var e;if(p.value){null==(e=m.value)||e.handleScroll(p.value);const t=l,n=c;l=p.value.scrollTop,c=p.value.scrollLeft;const r={bottom:l+p.value.clientHeight>=p.value.scrollHeight-o.distance,top:l<=o.distance&&0!==t,right:c+p.value.clientWidth>=p.value.scrollWidth-o.distance&&n!==c,left:c<=o.distance&&0!==n};if(i("scroll",{scrollTop:l,scrollLeft:c}),t!==l&&(d=l>t?"bottom":"top"),n!==c&&(d=c>n?"right":"left"),o.distance>0){if((e=>{var t;return null!=(t=u[e])&&t})(d))return;(e=>{const t=_[d];if(!t)return;const i=e[d],o=e[t];i&&!u[d]&&(u[d]=!0),!o&&u[t]&&(u[t]=!1)})(r)}r[d]&&i("end-reached",d)}};const C=()=>{var e;null==(e=m.value)||e.update(),u[d]=!1};return watch(()=>o.noresize,e=>{e?(null==r||r(),null==s||s(),null==a||a()):(({stop:r}=useResizeObserver(g,C)),({stop:s}=useResizeObserver(p,C)),a=useEventListener("resize",C))},{immediate:!0}),watch(()=>[o.maxHeight,o.height],()=>{o.native||nextTick(()=>{var e;C(),p.value&&(null==(e=m.value)||e.handleScroll(p.value))})}),provide(scrollbarContextKey,reactive$1({scrollbarElement:h,wrapElement:p})),onActivated(()=>{p.value&&(p.value.scrollTop=l,p.value.scrollLeft=c)}),onMounted(()=>{o.native||nextTick(()=>{C()})}),onUpdated(()=>C()),t({wrapRef:p,update:C,scrollTo:function(e,t){isObject(e)?p.value.scrollTo(e):isNumber(e)&&isNumber(t)&&p.value.scrollTo(e,t)},setScrollTop:e=>{isNumber(e)&&(p.value.scrollTop=e)},setScrollLeft:e=>{isNumber(e)&&(p.value.scrollLeft=e)},handleScroll:y}),(e,t)=>(openBlock(),createElementBlock("div",{ref_key:"scrollbarRef",ref:h,class:normalizeClass(unref(n).b())},[createBaseVNode("div",{ref_key:"wrapRef",ref:p,class:normalizeClass(unref(v)),style:normalizeStyle(unref(f)),tabindex:e.tabindex,onScroll:y},[(openBlock(),createBlock(resolveDynamicComponent(e.tag),{id:e.id,ref_key:"resizeRef",ref:g,class:normalizeClass(unref(b)),style:normalizeStyle(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),e.native?createCommentVNode("v-if",!0):(openBlock(),createBlock(Bar,{key:0,ref_key:"barRef",ref:m,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}});var Scrollbar=_export_sfc$1(_sfc_main$1E,[["__file","scrollbar.vue"]]);const ElScrollbar=withInstall(Scrollbar),POPPER_INJECTION_KEY=Symbol("popper"),POPPER_CONTENT_INJECTION_KEY=Symbol("popperContent"),roleTypes=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],popperProps=buildProps({role:{type:String,values:roleTypes,default:"tooltip"}}),__default__$$=defineComponent({name:"ElPopper",inheritAttrs:!1}),_sfc_main$1D=defineComponent({...__default__$$,props:popperProps,setup(e,{expose:t}){const i=e,o={triggerRef:ref$1(),popperInstanceRef:ref$1(),contentRef:ref$1(),referenceRef:ref$1(),role:computed$1(()=>i.role)};return t(o),provide(POPPER_INJECTION_KEY,o),(e,t)=>renderSlot(e.$slots,"default")}});var Popper=_export_sfc$1(_sfc_main$1D,[["__file","popper.vue"]]);const __default__$_=defineComponent({name:"ElPopperArrow",inheritAttrs:!1}),_sfc_main$1C=defineComponent({...__default__$_,setup(e,{expose:t}){const i=useNamespace("popper"),{arrowRef:o,arrowStyle:n}=inject(POPPER_CONTENT_INJECTION_KEY,void 0);return onBeforeUnmount(()=>{o.value=void 0}),t({arrowRef:o}),(e,t)=>(openBlock(),createElementBlock("span",{ref_key:"arrowRef",ref:o,class:normalizeClass(unref(i).e("arrow")),style:normalizeStyle(unref(n)),"data-popper-arrow":""},null,6))}});var ElPopperArrow=_export_sfc$1(_sfc_main$1C,[["__file","arrow.vue"]]);const popperTriggerProps=buildProps({virtualRef:{type:definePropType(Object)},virtualTriggering:Boolean,onMouseenter:{type:definePropType(Function)},onMouseleave:{type:definePropType(Function)},onClick:{type:definePropType(Function)},onKeydown:{type:definePropType(Function)},onFocus:{type:definePropType(Function)},onBlur:{type:definePropType(Function)},onContextmenu:{type:definePropType(Function)},id:String,open:Boolean}),FORWARD_REF_INJECTION_KEY=Symbol("elForwardRef"),useForwardRef=e=>{provide(FORWARD_REF_INJECTION_KEY,{setForwardRef:t=>{e.value=t}})},useForwardRefDirective=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),NAME="ElOnlyChild",OnlyChild=defineComponent({name:NAME,setup(e,{slots:t,attrs:i}){var o;const n=inject(FORWARD_REF_INJECTION_KEY),r=useForwardRefDirective(null!=(o=null==n?void 0:n.setForwardRef)?o:NOOP);return()=>{var e;const o=null==(e=t.default)?void 0:e.call(t,i);if(!o)return null;if(o.length>1)return null;const n=findFirstLegitChild(o);return n?withDirectives(cloneVNode(n,i),[[r]]):null}}});function findFirstLegitChild(e){if(!e)return null;const t=e;for(const i of t){if(isObject(i))switch(i.type){case Comment:continue;case Text$2:case"svg":return wrapTextContent(i);case Fragment:return findFirstLegitChild(i.children);default:return i}return wrapTextContent(i)}return null}function wrapTextContent(e){const t=useNamespace("only-child");return createVNode("span",{class:t.e("content")},[e])}const __default__$Z=defineComponent({name:"ElPopperTrigger",inheritAttrs:!1}),_sfc_main$1B=defineComponent({...__default__$Z,props:popperTriggerProps,setup(e,{expose:t}){const i=e,{role:o,triggerRef:n}=inject(POPPER_INJECTION_KEY,void 0);useForwardRef(n);const r=computed$1(()=>a.value?i.id:void 0),s=computed$1(()=>{if(o&&"tooltip"===o.value)return i.open&&i.id?i.id:void 0}),a=computed$1(()=>{if(o&&"tooltip"!==o.value)return o.value}),l=computed$1(()=>a.value?`${i.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return onMounted(()=>{watch(()=>i.virtualRef,e=>{e&&(n.value=unrefElement(e))},{immediate:!0}),watch(n,(e,t)=>{null==c||c(),c=void 0,isElement(e)&&(d.forEach(o=>{var n;const r=i[o];r&&(e.addEventListener(o.slice(2).toLowerCase(),r),null==(n=null==t?void 0:t.removeEventListener)||n.call(t,o.slice(2).toLowerCase(),r))}),isFocusable(e)&&(c=watch([r,s,a,l],t=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((i,o)=>{isNil(t[o])?e.removeAttribute(i):e.setAttribute(i,t[o])})},{immediate:!0}))),isElement(t)&&isFocusable(t)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(e=>t.removeAttribute(e))},{immediate:!0})}),onBeforeUnmount(()=>{if(null==c||c(),c=void 0,n.value&&isElement(n.value)){const e=n.value;d.forEach(t=>{const o=i[t];o&&e.removeEventListener(t.slice(2).toLowerCase(),o)}),n.value=void 0}}),t({triggerRef:n}),(e,t)=>e.virtualTriggering?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(OnlyChild),mergeProps({key:0},e.$attrs,{"aria-controls":unref(r),"aria-describedby":unref(s),"aria-expanded":unref(l),"aria-haspopup":unref(a)}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var ElPopperTrigger=_export_sfc$1(_sfc_main$1B,[["__file","trigger.vue"]]);const FOCUS_AFTER_TRAPPED="focus-trap.focus-after-trapped",FOCUS_AFTER_RELEASED="focus-trap.focus-after-released",FOCUSOUT_PREVENTED="focus-trap.focusout-prevented",FOCUS_AFTER_TRAPPED_OPTS={cancelable:!0,bubbles:!1},FOCUSOUT_PREVENTED_OPTS={cancelable:!0,bubbles:!1},ON_TRAP_FOCUS_EVT="focusAfterTrapped",ON_RELEASE_FOCUS_EVT="focusAfterReleased",FOCUS_TRAP_INJECTION_KEY=Symbol("elFocusTrap"),focusReason=ref$1(),lastUserFocusTimestamp=ref$1(0),lastAutomatedFocusTimestamp=ref$1(0);let focusReasonUserCount=0;const obtainAllFocusableElements=e=>{const t=[],i=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0||e===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;i.nextNode();)t.push(i.currentNode);return t},getVisibleElement=(e,t)=>{for(const i of e)if(!isHidden(i,t))return i},isHidden=(e,t)=>{if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1},getEdges=e=>{const t=obtainAllFocusableElements(e);return[getVisibleElement(t,e),getVisibleElement(t.reverse(),e)]},isSelectable=e=>e instanceof HTMLInputElement&&"select"in e,tryFocus=(e,t)=>{if(e&&e.focus){const i=document.activeElement;let o=!1;!isElement(e)||isFocusable(e)||e.getAttribute("tabindex")||(e.setAttribute("tabindex","-1"),o=!0),e.focus({preventScroll:!0}),lastAutomatedFocusTimestamp.value=window.performance.now(),e!==i&&isSelectable(e)&&t&&e.select(),isElement(e)&&o&&e.removeAttribute("tabindex")}};function removeFromStack(e,t){const i=[...e],o=e.indexOf(t);return-1!==o&&i.splice(o,1),i}const createFocusableStack=()=>{let e=[];return{push:t=>{const i=e[0];i&&t!==i&&i.pause(),e=removeFromStack(e,t),e.unshift(t)},remove:t=>{var i,o;e=removeFromStack(e,t),null==(o=null==(i=e[0])?void 0:i.resume)||o.call(i)}}},focusFirstDescendant=(e,t=!1)=>{const i=document.activeElement;for(const o of e)if(tryFocus(o,t),document.activeElement!==i)return},focusableStack=createFocusableStack(),isFocusCausedByUserEvent=()=>lastUserFocusTimestamp.value>lastAutomatedFocusTimestamp.value,notifyFocusReasonPointer=()=>{focusReason.value="pointer",lastUserFocusTimestamp.value=window.performance.now()},notifyFocusReasonKeydown=()=>{focusReason.value="keyboard",lastUserFocusTimestamp.value=window.performance.now()},useFocusReason=()=>(onMounted(()=>{0===focusReasonUserCount&&(document.addEventListener("mousedown",notifyFocusReasonPointer),document.addEventListener("touchstart",notifyFocusReasonPointer),document.addEventListener("keydown",notifyFocusReasonKeydown)),focusReasonUserCount++}),onBeforeUnmount(()=>{focusReasonUserCount--,focusReasonUserCount<=0&&(document.removeEventListener("mousedown",notifyFocusReasonPointer),document.removeEventListener("touchstart",notifyFocusReasonPointer),document.removeEventListener("keydown",notifyFocusReasonKeydown))}),{focusReason:focusReason,lastUserFocusTimestamp:lastUserFocusTimestamp,lastAutomatedFocusTimestamp:lastAutomatedFocusTimestamp}),createFocusOutPreventedEvent=e=>new CustomEvent(FOCUSOUT_PREVENTED,{...FOCUSOUT_PREVENTED_OPTS,detail:e}),EVENT_CODE={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"};let registeredEscapeHandlers=[];const cachedHandler=e=>{e.code===EVENT_CODE.esc&®isteredEscapeHandlers.forEach(t=>t(e))},useEscapeKeydown=e=>{onMounted(()=>{0===registeredEscapeHandlers.length&&document.addEventListener("keydown",cachedHandler),isClient&®isteredEscapeHandlers.push(e)}),onBeforeUnmount(()=>{registeredEscapeHandlers=registeredEscapeHandlers.filter(t=>t!==e),0===registeredEscapeHandlers.length&&isClient&&document.removeEventListener("keydown",cachedHandler)})},_sfc_main$1A=defineComponent({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[ON_TRAP_FOCUS_EVT,ON_RELEASE_FOCUS_EVT,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const i=ref$1();let o,n;const{focusReason:r}=useFocusReason();useEscapeKeydown(i=>{e.trapped&&!s.paused&&t("release-requested",i)});const s={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},a=i=>{if(!e.loop&&!e.trapped)return;if(s.paused)return;const{code:o,altKey:n,ctrlKey:a,metaKey:l,currentTarget:c,shiftKey:d}=i,{loop:u}=e,h=o===EVENT_CODE.tab&&!n&&!a&&!l,p=document.activeElement;if(h&&p){const e=c,[o,n]=getEdges(e);if(o&&n)if(d||p!==n){if(d&&[o,e].includes(p)){const e=createFocusOutPreventedEvent({focusReason:r.value});t("focusout-prevented",e),e.defaultPrevented||(i.preventDefault(),u&&tryFocus(n,!0))}}else{const e=createFocusOutPreventedEvent({focusReason:r.value});t("focusout-prevented",e),e.defaultPrevented||(i.preventDefault(),u&&tryFocus(o,!0))}else if(p===e){const e=createFocusOutPreventedEvent({focusReason:r.value});t("focusout-prevented",e),e.defaultPrevented||i.preventDefault()}}};provide(FOCUS_TRAP_INJECTION_KEY,{focusTrapRef:i,onKeydown:a}),watch(()=>e.focusTrapEl,e=>{e&&(i.value=e)},{immediate:!0}),watch([i],([e],[t])=>{e&&(e.addEventListener("keydown",a),e.addEventListener("focusin",d),e.addEventListener("focusout",u)),t&&(t.removeEventListener("keydown",a),t.removeEventListener("focusin",d),t.removeEventListener("focusout",u))});const l=e=>{t(ON_TRAP_FOCUS_EVT,e)},c=e=>t(ON_RELEASE_FOCUS_EVT,e),d=r=>{const a=unref(i);if(!a)return;const l=r.target,c=r.relatedTarget,d=l&&a.contains(l);if(!e.trapped){c&&a.contains(c)||(o=c)}d&&t("focusin",r),s.paused||e.trapped&&(d?n=l:tryFocus(n,!0))},u=o=>{const a=unref(i);if(!s.paused&&a)if(e.trapped){const i=o.relatedTarget;isNil(i)||a.contains(i)||setTimeout(()=>{if(!s.paused&&e.trapped){const e=createFocusOutPreventedEvent({focusReason:r.value});t("focusout-prevented",e),e.defaultPrevented||tryFocus(n,!0)}},0)}else{const e=o.target;e&&a.contains(e)||t("focusout",o)}};async function h(){await nextTick();const t=unref(i);if(t){focusableStack.push(s);const i=t.contains(document.activeElement)?o:document.activeElement;o=i;if(!t.contains(i)){const o=new Event(FOCUS_AFTER_TRAPPED,FOCUS_AFTER_TRAPPED_OPTS);t.addEventListener(FOCUS_AFTER_TRAPPED,l),t.dispatchEvent(o),o.defaultPrevented||nextTick(()=>{let o=e.focusStartEl;isString$1(o)||(tryFocus(o),document.activeElement!==o&&(o="first")),"first"===o&&focusFirstDescendant(obtainAllFocusableElements(t),!0),document.activeElement!==i&&"container"!==o||tryFocus(t)})}}}function p(){const e=unref(i);if(e){e.removeEventListener(FOCUS_AFTER_TRAPPED,l);const t=new CustomEvent(FOCUS_AFTER_RELEASED,{...FOCUS_AFTER_TRAPPED_OPTS,detail:{focusReason:r.value}});e.addEventListener(FOCUS_AFTER_RELEASED,c),e.dispatchEvent(t),t.defaultPrevented||"keyboard"!=r.value&&isFocusCausedByUserEvent()&&!e.contains(document.activeElement)||tryFocus(null!=o?o:document.body),e.removeEventListener(FOCUS_AFTER_RELEASED,c),focusableStack.remove(s)}}return onMounted(()=>{e.trapped&&h(),watch(()=>e.trapped,e=>{e?h():p()})}),onBeforeUnmount(()=>{e.trapped&&p(),i.value&&(i.value.removeEventListener("keydown",a),i.value.removeEventListener("focusin",d),i.value.removeEventListener("focusout",u),i.value=void 0)}),{onKeydown:a}}});function _sfc_render$n(e,t,i,o,n,r){return renderSlot(e.$slots,"default",{handleKeydown:e.onKeydown})}var ElFocusTrap=_export_sfc$1(_sfc_main$1A,[["render",_sfc_render$n],["__file","focus-trap.vue"]]),E$1="top",R="bottom",W="right",P$1="left",me="auto",G=[E$1,R,W,P$1],U$1="start",J="end",Xe="clippingParents",je="viewport",K="popper",Ye="reference",De=G.reduce(function(e,t){return e.concat([t+"-"+U$1,t+"-"+J])},[]),Ee=[].concat(G,[me]).reduce(function(e,t){return e.concat([t,t+"-"+U$1,t+"-"+J])},[]),Ge="beforeRead",Je="read",Ke="afterRead",Qe="beforeMain",Ze="main",et="afterMain",tt="beforeWrite",nt="write",rt="afterWrite",ot=[Ge,Je,Ke,Qe,Ze,et,tt,nt,rt];function C(e){return e?(e.nodeName||"").toLowerCase():null}function H(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Q(e){return e instanceof H(e).Element||e instanceof Element}function B(e){return e instanceof H(e).HTMLElement||e instanceof HTMLElement}function Pe(e){return"undefined"!=typeof ShadowRoot&&(e instanceof H(e).ShadowRoot||e instanceof ShadowRoot)}function Mt(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var i=t.styles[e]||{},o=t.attributes[e]||{},n=t.elements[e];!B(n)||!C(n)||(Object.assign(n.style,i),Object.keys(o).forEach(function(e){var t=o[e];!1===t?n.removeAttribute(e):n.setAttribute(e,!0===t?"":t)}))})}function Rt(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(e){var o=t.elements[e],n=t.attributes[e]||{},r=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:i[e]).reduce(function(e,t){return e[t]="",e},{});!B(o)||!C(o)||(Object.assign(o.style,r),Object.keys(n).forEach(function(e){o.removeAttribute(e)}))})}}var Ae={name:"applyStyles",enabled:!0,phase:"write",fn:Mt,effect:Rt,requires:["computeStyles"]};function q(e){return e.split("-")[0]}var X$1=Math.max,ve=Math.min,Z=Math.round;function ee(e,t){void 0===t&&(t=!1);var i=e.getBoundingClientRect(),o=1,n=1;if(B(e)&&t){var r=e.offsetHeight,s=e.offsetWidth;s>0&&(o=Z(i.width)/s||1),r>0&&(n=Z(i.height)/r||1)}return{width:i.width/o,height:i.height/n,top:i.top/n,right:i.right/o,bottom:i.bottom/n,left:i.left/o,x:i.left/o,y:i.top/n}}function ke(e){var t=ee(e),i=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:o}}function it(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pe(i)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function N$1(e){return H(e).getComputedStyle(e)}function Wt(e){return["table","td","th"].indexOf(C(e))>=0}function I$1(e){return((Q(e)?e.ownerDocument:e.document)||window.document).documentElement}function ge(e){return"html"===C(e)?e:e.assignedSlot||e.parentNode||(Pe(e)?e.host:null)||I$1(e)}function at(e){return B(e)&&"fixed"!==N$1(e).position?e.offsetParent:null}function Bt(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&B(e)&&"fixed"===N$1(e).position)return null;var i=ge(e);for(Pe(i)&&(i=i.host);B(i)&&["html","body"].indexOf(C(i))<0;){var o=N$1(i);if("none"!==o.transform||"none"!==o.perspective||"paint"===o.contain||-1!==["transform","perspective"].indexOf(o.willChange)||t&&"filter"===o.willChange||t&&o.filter&&"none"!==o.filter)return i;i=i.parentNode}return null}function se(e){for(var t=H(e),i=at(e);i&&Wt(i)&&"static"===N$1(i).position;)i=at(i);return i&&("html"===C(i)||"body"===C(i)&&"static"===N$1(i).position)?t:i||Bt(e)||t}function Le(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function fe(e,t,i){return X$1(e,ve(t,i))}function St(e,t,i){var o=fe(e,t,i);return o>i?i:o}function st(){return{top:0,right:0,bottom:0,left:0}}function ft(e){return Object.assign({},st(),e)}function ct(e,t){return t.reduce(function(t,i){return t[i]=e,t},{})}var Tt=function(e,t){return ft("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:ct(e,G))};function Ht(e){var t,i=e.state,o=e.name,n=e.options,r=i.elements.arrow,s=i.modifiersData.popperOffsets,a=q(i.placement),l=Le(a),c=[P$1,W].indexOf(a)>=0?"height":"width";if(r&&s){var d=Tt(n.padding,i),u=ke(r),h="y"===l?E$1:P$1,p="y"===l?R:W,g=i.rects.reference[c]+i.rects.reference[l]-s[l]-i.rects.popper[c],m=s[l]-i.rects.reference[l],f=se(r),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=g/2-m/2,_=d[h],y=v-u[c]-d[p],C=v/2-u[c]/2+b,w=fe(_,C,y),x=l;i.modifiersData[o]=((t={})[x]=w,t.centerOffset=w-C,t)}}function Ct(e){var t=e.state,i=e.options.element,o=void 0===i?"[data-popper-arrow]":i;null!=o&&("string"==typeof o&&!(o=t.elements.popper.querySelector(o))||!it(t.elements.popper,o)||(t.elements.arrow=o))}var pt={name:"arrow",enabled:!0,phase:"main",fn:Ht,effect:Ct,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function te(e){return e.split("-")[1]}var qt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Vt(e){var t=e.x,i=e.y,o=window.devicePixelRatio||1;return{x:Z(t*o)/o||0,y:Z(i*o)/o||0}}function ut(e){var t,i=e.popper,o=e.popperRect,n=e.placement,r=e.variation,s=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,u=e.isFixed,h=s.x,p=void 0===h?0:h,g=s.y,m=void 0===g?0:g,f="function"==typeof d?d({x:p,y:m}):{x:p,y:m};p=f.x,m=f.y;var v=s.hasOwnProperty("x"),b=s.hasOwnProperty("y"),_=P$1,y=E$1,C=window;if(c){var w=se(i),x="clientHeight",S="clientWidth";if(w===H(i)&&("static"!==N$1(w=I$1(i)).position&&"absolute"===a&&(x="scrollHeight",S="scrollWidth")),n===E$1||(n===P$1||n===W)&&r===J)y=R,m-=(u&&w===C&&C.visualViewport?C.visualViewport.height:w[x])-o.height,m*=l?1:-1;if(n===P$1||(n===E$1||n===R)&&r===J)_=W,p-=(u&&w===C&&C.visualViewport?C.visualViewport.width:w[S])-o.width,p*=l?1:-1}var k,E=Object.assign({position:a},c&&qt),I=!0===d?Vt({x:p,y:m}):{x:p,y:m};return p=I.x,m=I.y,l?Object.assign({},E,((k={})[y]=b?"0":"",k[_]=v?"0":"",k.transform=(C.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",k)):Object.assign({},E,((t={})[y]=b?m+"px":"",t[_]=v?p+"px":"",t.transform="",t))}function Nt(e){var t=e.state,i=e.options,o=i.gpuAcceleration,n=void 0===o||o,r=i.adaptive,s=void 0===r||r,a=i.roundOffsets,l=void 0===a||a,c={placement:q(t.placement),variation:te(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:n,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,ut(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,ut(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var Me={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Nt,data:{}},ye={passive:!0};function It(e){var t=e.state,i=e.instance,o=e.options,n=o.scroll,r=void 0===n||n,s=o.resize,a=void 0===s||s,l=H(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&c.forEach(function(e){e.addEventListener("scroll",i.update,ye)}),a&&l.addEventListener("resize",i.update,ye),function(){r&&c.forEach(function(e){e.removeEventListener("scroll",i.update,ye)}),a&&l.removeEventListener("resize",i.update,ye)}}var Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:It,data:{}},_t={left:"right",right:"left",bottom:"top",top:"bottom"};function be(e){return e.replace(/left|right|bottom|top/g,function(e){return _t[e]})}var zt={start:"end",end:"start"};function lt(e){return e.replace(/start|end/g,function(e){return zt[e]})}function We(e){var t=H(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Be(e){return ee(I$1(e)).left+We(e).scrollLeft}function Ft(e){var t=H(e),i=I$1(e),o=t.visualViewport,n=i.clientWidth,r=i.clientHeight,s=0,a=0;return o&&(n=o.width,r=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,a=o.offsetTop)),{width:n,height:r,x:s+Be(e),y:a}}function Ut(e){var t,i=I$1(e),o=We(e),n=null==(t=e.ownerDocument)?void 0:t.body,r=X$1(i.scrollWidth,i.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),s=X$1(i.scrollHeight,i.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-o.scrollLeft+Be(e),l=-o.scrollTop;return"rtl"===N$1(n||i).direction&&(a+=X$1(i.clientWidth,n?n.clientWidth:0)-r),{width:r,height:s,x:a,y:l}}function Se(e){var t=N$1(e),i=t.overflow,o=t.overflowX,n=t.overflowY;return/auto|scroll|overlay|hidden/.test(i+n+o)}function dt(e){return["html","body","#document"].indexOf(C(e))>=0?e.ownerDocument.body:B(e)&&Se(e)?e:dt(ge(e))}function ce(e,t){var i;void 0===t&&(t=[]);var o=dt(e),n=o===(null==(i=e.ownerDocument)?void 0:i.body),r=H(o),s=n?[r].concat(r.visualViewport||[],Se(o)?o:[]):o,a=t.concat(s);return n?a:a.concat(ce(ge(s)))}function Te(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Xt(e){var t=ee(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function ht(e,t){return t===je?Te(Ft(e)):Q(t)?Xt(t):Te(Ut(I$1(e)))}function Yt(e){var t=ce(ge(e)),i=["absolute","fixed"].indexOf(N$1(e).position)>=0&&B(e)?se(e):e;return Q(i)?t.filter(function(e){return Q(e)&&it(e,i)&&"body"!==C(e)}):[]}function Gt(e,t,i){var o="clippingParents"===t?Yt(e):[].concat(t),n=[].concat(o,[i]),r=n[0],s=n.reduce(function(t,i){var o=ht(e,i);return t.top=X$1(o.top,t.top),t.right=ve(o.right,t.right),t.bottom=ve(o.bottom,t.bottom),t.left=X$1(o.left,t.left),t},ht(e,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function mt(e){var t,i=e.reference,o=e.element,n=e.placement,r=n?q(n):null,s=n?te(n):null,a=i.x+i.width/2-o.width/2,l=i.y+i.height/2-o.height/2;switch(r){case E$1:t={x:a,y:i.y-o.height};break;case R:t={x:a,y:i.y+i.height};break;case W:t={x:i.x+i.width,y:l};break;case P$1:t={x:i.x-o.width,y:l};break;default:t={x:i.x,y:i.y}}var c=r?Le(r):null;if(null!=c){var d="y"===c?"height":"width";switch(s){case U$1:t[c]=t[c]-(i[d]/2-o[d]/2);break;case J:t[c]=t[c]+(i[d]/2-o[d]/2)}}return t}function ne(e,t){void 0===t&&(t={});var i=t,o=i.placement,n=void 0===o?e.placement:o,r=i.boundary,s=void 0===r?Xe:r,a=i.rootBoundary,l=void 0===a?je:a,c=i.elementContext,d=void 0===c?K:c,u=i.altBoundary,h=void 0!==u&&u,p=i.padding,g=void 0===p?0:p,m=ft("number"!=typeof g?g:ct(g,G)),f=d===K?Ye:K,v=e.rects.popper,b=e.elements[h?f:d],_=Gt(Q(b)?b:b.contextElement||I$1(e.elements.popper),s,l),y=ee(e.elements.reference),C=mt({reference:y,element:v,placement:n}),w=Te(Object.assign({},v,C)),x=d===K?w:y,S={top:_.top-x.top+m.top,bottom:x.bottom-_.bottom+m.bottom,left:_.left-x.left+m.left,right:x.right-_.right+m.right},k=e.modifiersData.offset;if(d===K&&k){var E=k[n];Object.keys(S).forEach(function(e){var t=[W,R].indexOf(e)>=0?1:-1,i=[E$1,R].indexOf(e)>=0?"y":"x";S[e]+=E[i]*t})}return S}function Jt(e,t){void 0===t&&(t={});var i=t,o=i.placement,n=i.boundary,r=i.rootBoundary,s=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?Ee:l,d=te(o),u=d?a?De:De.filter(function(e){return te(e)===d}):G,h=u.filter(function(e){return c.indexOf(e)>=0});0===h.length&&(h=u);var p=h.reduce(function(t,i){return t[i]=ne(e,{placement:i,boundary:n,rootBoundary:r,padding:s})[q(i)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}function Kt(e){if(q(e)===me)return[];var t=be(e);return[lt(e),t,lt(t)]}function Qt(e){var t=e.state,i=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var n=i.mainAxis,r=void 0===n||n,s=i.altAxis,a=void 0===s||s,l=i.fallbackPlacements,c=i.padding,d=i.boundary,u=i.rootBoundary,h=i.altBoundary,p=i.flipVariations,g=void 0===p||p,m=i.allowedAutoPlacements,f=t.options.placement,v=q(f),b=l||(v===f||!g?[be(f)]:Kt(f)),_=[f].concat(b).reduce(function(e,i){return e.concat(q(i)===me?Jt(t,{placement:i,boundary:d,rootBoundary:u,padding:c,flipVariations:g,allowedAutoPlacements:m}):i)},[]),y=t.rects.reference,C=t.rects.popper,w=new Map,x=!0,S=_[0],k=0;k<_.length;k++){var E=_[k],I=q(E),T=te(E)===U$1,D=[E$1,R].indexOf(I)>=0,L=D?"width":"height",N=ne(t,{placement:E,boundary:d,rootBoundary:u,altBoundary:h,padding:c}),M=D?T?W:P$1:T?R:E$1;y[L]>C[L]&&(M=be(M));var $=be(M),A=[];if(r&&A.push(N[I]<=0),a&&A.push(N[M]<=0,N[$]<=0),A.every(function(e){return e})){S=E,x=!1;break}w.set(E,A)}if(x)for(var O=function(e){var t=_.find(function(t){var i=w.get(t);if(i)return i.slice(0,e).every(function(e){return e})});if(t)return S=t,"break"},P=g?3:1;P>0;P--){if("break"===O(P))break}t.placement!==S&&(t.modifiersData[o]._skip=!0,t.placement=S,t.reset=!0)}}var vt={name:"flip",enabled:!0,phase:"main",fn:Qt,requiresIfExists:["offset"],data:{_skip:!1}};function gt(e,t,i){return void 0===i&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function yt(e){return[E$1,W,R,P$1].some(function(t){return e[t]>=0})}function Zt(e){var t=e.state,i=e.name,o=t.rects.reference,n=t.rects.popper,r=t.modifiersData.preventOverflow,s=ne(t,{elementContext:"reference"}),a=ne(t,{altBoundary:!0}),l=gt(s,o),c=gt(a,n,r),d=yt(l),u=yt(c);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":u})}var bt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Zt};function en(e,t,i){var o=q(e),n=[P$1,E$1].indexOf(o)>=0?-1:1,r="function"==typeof i?i(Object.assign({},t,{placement:e})):i,s=r[0],a=r[1];return s=s||0,a=(a||0)*n,[P$1,W].indexOf(o)>=0?{x:a,y:s}:{x:s,y:a}}function tn(e){var t=e.state,i=e.options,o=e.name,n=i.offset,r=void 0===n?[0,0]:n,s=Ee.reduce(function(e,i){return e[i]=en(i,t.rects,r),e},{}),a=s[t.placement],l=a.x,c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=s}var wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:tn};function nn(e){var t=e.state,i=e.name;t.modifiersData[i]=mt({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var He={name:"popperOffsets",enabled:!0,phase:"read",fn:nn,data:{}};function rn(e){return"x"===e?"y":"x"}function on(e){var t=e.state,i=e.options,o=e.name,n=i.mainAxis,r=void 0===n||n,s=i.altAxis,a=void 0!==s&&s,l=i.boundary,c=i.rootBoundary,d=i.altBoundary,u=i.padding,h=i.tether,p=void 0===h||h,g=i.tetherOffset,m=void 0===g?0:g,f=ne(t,{boundary:l,rootBoundary:c,padding:u,altBoundary:d}),v=q(t.placement),b=te(t.placement),_=!b,y=Le(v),C=rn(y),w=t.modifiersData.popperOffsets,x=t.rects.reference,S=t.rects.popper,k="function"==typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,E="number"==typeof k?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),I=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,T={x:0,y:0};if(w){if(r){var D,L="y"===y?E$1:P$1,N="y"===y?R:W,M="y"===y?"height":"width",$=w[y],A=$+f[L],O=$-f[N],P=p?-S[M]/2:0,B=b===U$1?x[M]:S[M],F=b===U$1?-S[M]:-x[M],z=t.elements.arrow,V=p&&z?ke(z):{width:0,height:0},H=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:st(),K=H[L],U=H[N],j=fe(0,x[M],V[M]),G=_?x[M]/2-P-j-K-E.mainAxis:B-j-K-E.mainAxis,Y=_?-x[M]/2+P+j+U+E.mainAxis:F+j+U+E.mainAxis,X=t.elements.arrow&&se(t.elements.arrow),Q=X?"y"===y?X.clientTop||0:X.clientLeft||0:0,Z=null!=(D=null==I?void 0:I[y])?D:0,J=$+Y-Z,ee=fe(p?ve(A,$+G-Z-Q):A,$,p?X$1(O,J):O);w[y]=ee,T[y]=ee-$}if(a){var ie,oe="x"===y?E$1:P$1,re="x"===y?R:W,ae=w[C],le="y"===C?"height":"width",ce=ae+f[oe],de=ae-f[re],ue=-1!==[E$1,P$1].indexOf(v),he=null!=(ie=null==I?void 0:I[C])?ie:0,pe=ue?ce:ae-x[le]-S[le]-he+E.altAxis,ge=ue?ae+x[le]+S[le]-he-E.altAxis:de,me=p&&ue?St(pe,ae,ge):fe(p?pe:ce,ae,p?ge:de);w[C]=me,T[C]=me-ae}t.modifiersData[o]=T}}var xt={name:"preventOverflow",enabled:!0,phase:"main",fn:on,requiresIfExists:["offset"]};function an(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function sn(e){return e!==H(e)&&B(e)?an(e):We(e)}function fn(e){var t=e.getBoundingClientRect(),i=Z(t.width)/e.offsetWidth||1,o=Z(t.height)/e.offsetHeight||1;return 1!==i||1!==o}function cn(e,t,i){void 0===i&&(i=!1);var o=B(t),n=B(t)&&fn(t),r=I$1(t),s=ee(e,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!i)&&(("body"!==C(t)||Se(r))&&(a=sn(t)),B(t)?((l=ee(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):r&&(l.x=Be(r))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function pn(e){var t=new Map,i=new Set,o=[];function n(e){i.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!i.has(e)){var o=t.get(e);o&&n(o)}}),o.push(e)}return e.forEach(function(e){t.set(e.name,e)}),e.forEach(function(e){i.has(e.name)||n(e)}),o}function un(e){var t=pn(e);return ot.reduce(function(e,i){return e.concat(t.filter(function(e){return e.phase===i}))},[])}function ln(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}function dn(e){var t=e.reduce(function(e,t){var i=e[t.name];return e[t.name]=i?Object.assign({},i,t,{options:Object.assign({},i.options,t.options),data:Object.assign({},i.data,t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}var Ot={placement:"bottom",modifiers:[],strategy:"absolute"};function $t(){for(var e=arguments.length,t=new Array(e),i=0;i({})},strategy:{type:String,values:POSITIONING_STRATEGIES,default:"absolute"}}),popperContentProps=buildProps({...popperCoreConfigProps,...popperArrowProps,id:String,style:{type:definePropType([String,Array,Object])},className:{type:definePropType([String,Array,Object])},effect:{type:definePropType(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:definePropType([String,Array,Object])},popperStyle:{type:definePropType([String,Array,Object])},referenceEl:{type:definePropType(Object)},triggerTargetEl:{type:definePropType(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...useAriaProps(["ariaLabel"])}),popperContentEmits={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},usePopperContentFocusTrap=(e,t)=>{const i=ref$1(!1),o=ref$1();return{focusStartRef:o,trapped:i,onFocusAfterReleased:e=>{var i;"pointer"!==(null==(i=e.detail)?void 0:i.focusReason)&&(o.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:t=>{e.visible&&!i.value&&(t.target&&(o.value=t.target),i.value=!0)},onFocusoutPrevented:t=>{e.trapping||("pointer"===t.detail.focusReason&&t.preventDefault(),i.value=!1)},onReleaseRequested:()=>{i.value=!1,t("close")}}},buildPopperOptions=(e,t=[])=>{const{placement:i,strategy:o,popperOptions:n}=e,r={placement:i,strategy:o,...n,modifiers:[...genModifiers(e),...t]};return deriveExtraModifiers(r,null==n?void 0:n.modifiers),r},unwrapMeasurableEl=e=>{if(isClient)return unrefElement(e)};function genModifiers(e){const{offset:t,gpuAcceleration:i,fallbackPlacements:o}=e;return[{name:"offset",options:{offset:[0,null!=t?t:12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:o}},{name:"computeStyles",options:{gpuAcceleration:i}}]}function deriveExtraModifiers(e,t){t&&(e.modifiers=[...e.modifiers,...null!=t?t:[]])}const usePopper=(e,t,i={})=>{const o={name:"updateState",enabled:!0,phase:"write",fn:({state:e})=>{const t=deriveState(e);Object.assign(s.value,t)},requires:["computeStyles"]},n=computed$1(()=>{const{onFirstUpdate:e,placement:t,strategy:n,modifiers:r}=unref(i);return{onFirstUpdate:e,placement:t||"bottom",strategy:n||"absolute",modifiers:[...r||[],o,{name:"applyStyles",enabled:!1}]}}),r=shallowRef(),s=ref$1({styles:{popper:{position:unref(n).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),a=()=>{r.value&&(r.value.destroy(),r.value=void 0)};return watch(n,e=>{const t=unref(r);t&&t.setOptions(e)},{deep:!0}),watch([e,t],([e,t])=>{a(),e&&t&&(r.value=yn(e,t,unref(n)))}),onBeforeUnmount(()=>{a()}),{state:computed$1(()=>{var e;return{...(null==(e=unref(r))?void 0:e.state)||{}}}),styles:computed$1(()=>unref(s).styles),attributes:computed$1(()=>unref(s).attributes),update:()=>{var e;return null==(e=unref(r))?void 0:e.update()},forceUpdate:()=>{var e;return null==(e=unref(r))?void 0:e.forceUpdate()},instanceRef:computed$1(()=>unref(r))}};function deriveState(e){const t=Object.keys(e.elements),i=fromPairs(t.map(t=>[t,e.styles[t]||{}])),o=fromPairs(t.map(t=>[t,e.attributes[t]]));return{styles:i,attributes:o}}const DEFAULT_ARROW_OFFSET=0,usePopperContent=e=>{const{popperInstanceRef:t,contentRef:i,triggerRef:o,role:n}=inject(POPPER_INJECTION_KEY,void 0),r=ref$1(),s=computed$1(()=>e.arrowOffset),a=computed$1(()=>({name:"eventListeners",enabled:!!e.visible})),l=computed$1(()=>{var e;const t=unref(r),i=null!=(e=unref(s))?e:DEFAULT_ARROW_OFFSET;return{name:"arrow",enabled:!isUndefined$3(t),options:{element:t,padding:i}}}),c=computed$1(()=>({onFirstUpdate:()=>{g()},...buildPopperOptions(e,[unref(l),unref(a)])})),d=computed$1(()=>unwrapMeasurableEl(e.referenceEl)||unref(o)),{attributes:u,state:h,styles:p,update:g,forceUpdate:m,instanceRef:f}=usePopper(d,i,c);return watch(f,e=>t.value=e,{flush:"sync"}),onMounted(()=>{watch(()=>{var e;return null==(e=unref(d))?void 0:e.getBoundingClientRect()},()=>{g()})}),{attributes:u,arrowRef:r,contentRef:i,instanceRef:f,state:h,styles:p,role:n,forceUpdate:m,update:g}},usePopperContentDOM=(e,{attributes:t,styles:i,role:o})=>{const{nextZIndex:n}=useZIndex(),r=useNamespace("popper"),s=computed$1(()=>unref(t).popper),a=ref$1(isNumber(e.zIndex)?e.zIndex:n()),l=computed$1(()=>[r.b(),r.is("pure",e.pure),r.is(e.effect),e.popperClass]),c=computed$1(()=>[{zIndex:unref(a)},unref(i).popper,e.popperStyle||{}]);return{ariaModal:computed$1(()=>"dialog"===o.value?"false":void 0),arrowStyle:computed$1(()=>unref(i).arrow||{}),contentAttrs:s,contentClass:l,contentStyle:c,contentZIndex:a,updateZIndex:()=>{a.value=isNumber(e.zIndex)?e.zIndex:n()}}},__default__$Y=defineComponent({name:"ElPopperContent"}),_sfc_main$1z=defineComponent({...__default__$Y,props:popperContentProps,emits:popperContentEmits,setup(e,{expose:t,emit:i}){const o=e,{focusStartRef:n,trapped:r,onFocusAfterReleased:s,onFocusAfterTrapped:a,onFocusInTrap:l,onFocusoutPrevented:c,onReleaseRequested:d}=usePopperContentFocusTrap(o,i),{attributes:u,arrowRef:h,contentRef:p,styles:g,instanceRef:m,role:f,update:v}=usePopperContent(o),{ariaModal:b,arrowStyle:_,contentAttrs:y,contentClass:C,contentStyle:w,updateZIndex:x}=usePopperContentDOM(o,{styles:g,attributes:u,role:f}),S=inject(formItemContextKey,void 0);let k;provide(POPPER_CONTENT_INJECTION_KEY,{arrowStyle:_,arrowRef:h}),S&&provide(formItemContextKey,{...S,addInputId:NOOP,removeInputId:NOOP});const E=(e=!0)=>{v(),e&&x()},I=()=>{E(!1),o.visible&&o.focusOnShow?r.value=!0:!1===o.visible&&(r.value=!1)};return onMounted(()=>{watch(()=>o.triggerTargetEl,(e,t)=>{null==k||k(),k=void 0;const i=unref(e||p.value),n=unref(t||p.value);isElement(i)&&(k=watch([f,()=>o.ariaLabel,b,()=>o.id],e=>{["role","aria-label","aria-modal","id"].forEach((t,o)=>{isNil(e[o])?i.removeAttribute(t):i.setAttribute(t,e[o])})},{immediate:!0})),n!==i&&isElement(n)&&["role","aria-label","aria-modal","id"].forEach(e=>{n.removeAttribute(e)})},{immediate:!0}),watch(()=>o.visible,I,{immediate:!0})}),onBeforeUnmount(()=>{null==k||k(),k=void 0}),t({popperContentRef:p,popperInstanceRef:m,updatePopper:E,contentStyle:w}),(e,t)=>(openBlock(),createElementBlock("div",mergeProps({ref_key:"contentRef",ref:p},unref(y),{style:unref(w),class:unref(C),tabindex:"-1",onMouseenter:t=>e.$emit("mouseenter",t),onMouseleave:t=>e.$emit("mouseleave",t)}),[createVNode(unref(ElFocusTrap),{trapped:unref(r),"trap-on-focus-in":!0,"focus-trap-el":unref(p),"focus-start-el":unref(n),onFocusAfterTrapped:unref(a),onFocusAfterReleased:unref(s),onFocusin:unref(l),onFocusoutPrevented:unref(c),onReleaseRequested:unref(d)},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var ElPopperContent=_export_sfc$1(_sfc_main$1z,[["__file","content.vue"]]);const ElPopper=withInstall(Popper),TOOLTIP_INJECTION_KEY=Symbol("elTooltip"),teleportProps=buildProps({to:{type:definePropType([String,Object]),required:!0},disabled:Boolean}),useTooltipContentProps=buildProps({...useDelayedToggleProps,...popperContentProps,appendTo:{type:teleportProps.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:definePropType(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...useAriaProps(["ariaLabel"])}),useTooltipTriggerProps=buildProps({...popperTriggerProps,disabled:Boolean,trigger:{type:definePropType([String,Array]),default:"hover"},triggerKeys:{type:definePropType(Array),default:()=>[EVENT_CODE.enter,EVENT_CODE.numpadEnter,EVENT_CODE.space]}}),_prop=buildProp({type:definePropType(Boolean),default:null}),_event=buildProp({type:definePropType(Function)}),createModelToggleComposable=e=>{const t=`update:${e}`,i=`onUpdate:${e}`,o=[t];return{useModelToggle:({indicator:o,toggleReason:n,shouldHideWhenRouteChanges:r,shouldProceed:s,onShow:a,onHide:l})=>{const c=getCurrentInstance$1(),{emit:d}=c,u=c.props,h=computed$1(()=>isFunction$1(u[i])),p=computed$1(()=>null===u[e]),g=e=>{!0!==o.value&&(o.value=!0,n&&(n.value=e),isFunction$1(a)&&a(e))},m=e=>{!1!==o.value&&(o.value=!1,n&&(n.value=e),isFunction$1(l)&&l(e))},f=e=>{if(!0===u.disabled||isFunction$1(s)&&!s())return;const i=h.value&&isClient;i&&d(t,!0),!p.value&&i||g(e)},v=e=>{if(!0===u.disabled||!isClient)return;const i=h.value&&isClient;i&&d(t,!1),!p.value&&i||m(e)},b=e=>{isBoolean(e)&&(u.disabled&&e?h.value&&d(t,!1):o.value!==e&&(e?g():m()))};return watch(()=>u[e],b),r&&void 0!==c.appContext.config.globalProperties.$route&&watch(()=>({...c.proxy.$route}),()=>{r.value&&o.value&&v()}),onMounted(()=>{b(u[e])}),{hide:v,show:f,toggle:()=>{o.value?v():f()},hasUpdateHandler:h}},useModelToggleProps:{[e]:_prop,[i]:_event},useModelToggleEmits:o}},{useModelToggleProps:useTooltipModelToggleProps,useModelToggleEmits:useTooltipModelToggleEmits,useModelToggle:useTooltipModelToggle}=createModelToggleComposable("visible"),useTooltipProps=buildProps({...popperProps,...useTooltipModelToggleProps,...useTooltipContentProps,...useTooltipTriggerProps,...popperArrowProps,showArrow:{type:Boolean,default:!0}}),tooltipEmits=[...useTooltipModelToggleEmits,"before-show","before-hide","show","hide","open","close"],isTriggerType=(e,t)=>isArray$1(e)?e.includes(t):e===t,whenTrigger=(e,t,i)=>o=>{isTriggerType(unref(e),t)&&i(o)},composeEventHandlers=(e,t,{checkForDefaultPrevented:i=!0}={})=>o=>{const n=null==e?void 0:e(o);if(!1===i||!n)return null==t?void 0:t(o)},whenMouse=e=>t=>"mouse"===t.pointerType?e(t):void 0,__default__$X=defineComponent({name:"ElTooltipTrigger"}),_sfc_main$1y=defineComponent({...__default__$X,props:useTooltipTriggerProps,setup(e,{expose:t}){const i=e,o=useNamespace("tooltip"),{controlled:n,id:r,open:s,onOpen:a,onClose:l,onToggle:c}=inject(TOOLTIP_INJECTION_KEY,void 0),d=ref$1(null),u=()=>{if(unref(n)||i.disabled)return!0},h=toRef(i,"trigger"),p=composeEventHandlers(u,whenTrigger(h,"hover",a)),g=composeEventHandlers(u,whenTrigger(h,"hover",l)),m=composeEventHandlers(u,whenTrigger(h,"click",e=>{0===e.button&&c(e)})),f=composeEventHandlers(u,whenTrigger(h,"focus",a)),v=composeEventHandlers(u,whenTrigger(h,"focus",l)),b=composeEventHandlers(u,whenTrigger(h,"contextmenu",e=>{e.preventDefault(),c(e)})),_=composeEventHandlers(u,e=>{const{code:t}=e;i.triggerKeys.includes(t)&&(e.preventDefault(),c(e))});return t({triggerRef:d}),(e,t)=>(openBlock(),createBlock(unref(ElPopperTrigger),{id:unref(r),"virtual-ref":e.virtualRef,open:unref(s),"virtual-triggering":e.virtualTriggering,class:normalizeClass(unref(o).e("trigger")),onBlur:unref(v),onClick:unref(m),onContextmenu:unref(b),onFocus:unref(f),onMouseenter:unref(p),onMouseleave:unref(g),onKeydown:unref(_)},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var ElTooltipTrigger=_export_sfc$1(_sfc_main$1y,[["__file","trigger.vue"]]);const _sfc_main$1x=defineComponent({__name:"teleport",props:teleportProps,setup:e=>(e,t)=>e.disabled?renderSlot(e.$slots,"default",{key:0}):(openBlock(),createBlock(Teleport$1,{key:1,to:e.to},[renderSlot(e.$slots,"default")],8,["to"]))});var Teleport=_export_sfc$1(_sfc_main$1x,[["__file","teleport.vue"]]);const ElTeleport=withInstall(Teleport),usePopperContainerId=()=>{const e=useGetDerivedNamespace(),t=useIdInjection(),i=computed$1(()=>`${e.value}-popper-container-${t.prefix}`),o=computed$1(()=>`#${i.value}`);return{id:i,selector:o}},createContainer=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},usePopperContainer=()=>{const{id:e,selector:t}=usePopperContainerId();return onBeforeMount(()=>{isClient&&(document.body.querySelector(t.value)||createContainer(e.value))}),{id:e,selector:t}},__default__$W=defineComponent({name:"ElTooltipContent",inheritAttrs:!1}),_sfc_main$1w=defineComponent({...__default__$W,props:useTooltipContentProps,setup(e,{expose:t}){const i=e,{selector:o}=usePopperContainerId(),n=useNamespace("tooltip"),r=ref$1(),s=computedEager(()=>{var e;return null==(e=r.value)?void 0:e.popperContentRef});let a;const{controlled:l,id:c,open:d,trigger:u,onClose:h,onOpen:p,onShow:g,onHide:m,onBeforeShow:f,onBeforeHide:v}=inject(TOOLTIP_INJECTION_KEY,void 0),b=computed$1(()=>i.transition||`${n.namespace.value}-fade-in-linear`),_=computed$1(()=>i.persistent);onBeforeUnmount(()=>{null==a||a()});const y=computed$1(()=>!!unref(_)||unref(d)),C=computed$1(()=>!i.disabled&&unref(d)),w=computed$1(()=>i.appendTo||o.value),x=computed$1(()=>{var e;return null!=(e=i.style)?e:{}}),S=ref$1(!0),k=()=>{m(),$()&&tryFocus(document.body),S.value=!0},E=()=>{if(unref(l))return!0},I=composeEventHandlers(E,()=>{i.enterable&&"hover"===unref(u)&&p()}),T=composeEventHandlers(E,()=>{"hover"===unref(u)&&h()}),D=()=>{var e,t;null==(t=null==(e=r.value)?void 0:e.updatePopper)||t.call(e),null==f||f()},L=()=>{null==v||v()},N=()=>{g()},M=()=>{i.virtualTriggering||h()},$=e=>{var t;const i=null==(t=r.value)?void 0:t.popperContentRef,o=(null==e?void 0:e.relatedTarget)||document.activeElement;return null==i?void 0:i.contains(o)};return watch(()=>unref(d),e=>{e?(S.value=!1,a=onClickOutside(s,()=>{if(unref(l))return;"hover"!==unref(u)&&h()})):null==a||a()},{flush:"post"}),watch(()=>i.content,()=>{var e,t;null==(t=null==(e=r.value)?void 0:e.updatePopper)||t.call(e)}),t({contentRef:r,isFocusInsideContent:$}),(e,t)=>(openBlock(),createBlock(unref(ElTeleport),{disabled:!e.teleported,to:unref(w)},{default:withCtx(()=>[unref(y)||!S.value?(openBlock(),createBlock(Transition,{key:0,name:unref(b),appear:!unref(_),onAfterLeave:k,onBeforeEnter:D,onAfterEnter:N,onBeforeLeave:L,persisted:""},{default:withCtx(()=>[withDirectives(createVNode(unref(ElPopperContent),mergeProps({id:unref(c),ref_key:"contentRef",ref:r},e.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":S.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,unref(x)],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:unref(C),"z-index":e.zIndex,onMouseenter:unref(I),onMouseleave:unref(T),onBlur:M,onClose:unref(h)}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"]),[[vShow,unref(C)]])]),_:3},8,["name","appear"])):createCommentVNode("v-if",!0)]),_:3},8,["disabled","to"]))}});var ElTooltipContent=_export_sfc$1(_sfc_main$1w,[["__file","content.vue"]]);const __default__$V=defineComponent({name:"ElTooltip"}),_sfc_main$1v=defineComponent({...__default__$V,props:useTooltipProps,emits:tooltipEmits,setup(e,{expose:t,emit:i}){const o=e;usePopperContainer();const n=useNamespace("tooltip"),r=useId(),s=ref$1(),a=ref$1(),l=()=>{var e;const t=unref(s);t&&(null==(e=t.popperInstanceRef)||e.update())},c=ref$1(!1),d=ref$1(),{show:u,hide:h,hasUpdateHandler:p}=useTooltipModelToggle({indicator:c,toggleReason:d}),{onOpen:g,onClose:m}=useDelayedToggle({showAfter:toRef(o,"showAfter"),hideAfter:toRef(o,"hideAfter"),autoClose:toRef(o,"autoClose"),open:u,close:h}),f=computed$1(()=>isBoolean(o.visible)&&!p.value),v=computed$1(()=>[n.b(),o.popperClass]);provide(TOOLTIP_INJECTION_KEY,{controlled:f,id:r,open:readonly(c),trigger:toRef(o,"trigger"),onOpen:g,onClose:m,onToggle:e=>{unref(c)?m(e):g(e)},onShow:()=>{i("show",d.value)},onHide:()=>{i("hide",d.value)},onBeforeShow:()=>{i("before-show",d.value)},onBeforeHide:()=>{i("before-hide",d.value)},updatePopper:l}),watch(()=>o.disabled,e=>{e&&c.value&&(c.value=!1)});return onDeactivated(()=>c.value&&h()),t({popperRef:s,contentRef:a,isFocusInsideContent:e=>{var t;return null==(t=a.value)?void 0:t.isFocusInsideContent(e)},updatePopper:l,onOpen:g,onClose:m,hide:h}),(e,t)=>(openBlock(),createBlock(unref(ElPopper),{ref_key:"popperRef",ref:s,role:e.role},{default:withCtx(()=>[createVNode(ElTooltipTrigger,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering},{default:withCtx(()=>[e.$slots.default?renderSlot(e.$slots,"default",{key:0}):createCommentVNode("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),createVNode(ElTooltipContent,{ref_key:"contentRef",ref:a,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":unref(v),"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo},{default:withCtx(()=>[renderSlot(e.$slots,"content",{},()=>[e.rawContent?(openBlock(),createElementBlock("span",{key:0,innerHTML:e.content},null,8,["innerHTML"])):(openBlock(),createElementBlock("span",{key:1},toDisplayString(e.content),1))]),e.showArrow?(openBlock(),createBlock(unref(ElPopperArrow),{key:0})):createCommentVNode("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var Tooltip=_export_sfc$1(_sfc_main$1v,[["__file","tooltip.vue"]]);const ElTooltip=withInstall(Tooltip),autocompleteProps=buildProps({...inputProps,valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:definePropType(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:definePropType([Function,Array]),default:NOOP},popperClass:{type:String,default:""},triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:Boolean,hideLoading:Boolean,teleported:useTooltipContentProps.teleported,appendTo:useTooltipContentProps.appendTo,highlightFirstItem:Boolean,fitInputWidth:Boolean}),autocompleteEmits={[UPDATE_MODEL_EVENT]:e=>isString$1(e),[INPUT_EVENT]:e=>isString$1(e),[CHANGE_EVENT]:e=>isString$1(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>isObject(e)},COMPONENT_NAME$c="ElAutocomplete",__default__$U=defineComponent({name:COMPONENT_NAME$c,inheritAttrs:!1}),_sfc_main$1u=defineComponent({...__default__$U,props:autocompleteProps,emits:autocompleteEmits,setup(e,{expose:t,emit:i}){const o=e,n=computed$1(()=>pick(o,Object.keys(inputProps))),r=useAttrs$1(),s=useFormDisabled(),a=useNamespace("autocomplete"),l=ref$1(),c=ref$1(),d=ref$1(),u=ref$1();let h=!1,p=!1;const g=ref$1([]),m=ref$1(-1),f=ref$1(""),v=ref$1(!1),b=ref$1(!1),_=ref$1(!1),y=useId(),C=computed$1(()=>r.style),w=computed$1(()=>(g.value.length>0||_.value)&&v.value),x=computed$1(()=>!o.hideLoading&&_.value),S=computed$1(()=>l.value?Array.from(l.value.$el.querySelectorAll("input")):[]),k=()=>{w.value&&(f.value=`${l.value.$el.offsetWidth}px`)},E=()=>{m.value=-1},I=async e=>{if(b.value)return;const t=e=>{_.value=!1,b.value||(isArray$1(e)?(g.value=e,m.value=o.highlightFirstItem?0:-1):throwError(COMPONENT_NAME$c,"autocomplete suggestions must be an array"))};if(_.value=!0,isArray$1(o.fetchSuggestions))t(o.fetchSuggestions);else{const i=await o.fetchSuggestions(e,t);isArray$1(i)&&t(i)}},T=debounce(I,o.debounce),D=e=>{const t=!!e;if(i(INPUT_EVENT,e),i(UPDATE_MODEL_EVENT,e),b.value=!1,v.value||(v.value=t),!o.triggerOnFocus&&!e)return b.value=!0,void(g.value=[]);T(e)},L=e=>{var t;s.value||("INPUT"!==(null==(t=e.target)?void 0:t.tagName)||S.value.includes(document.activeElement))&&(v.value=!0)},N=e=>{i(CHANGE_EVENT,e)},M=e=>{var t;if(p)p=!1;else{v.value=!0,i("focus",e);const n=null!=(t=o.modelValue)?t:"";o.triggerOnFocus&&!h&&T(String(n))}},$=e=>{setTimeout(()=>{var t;(null==(t=d.value)?void 0:t.isFocusInsideContent())?p=!0:(v.value&&P(),i("blur",e))})},R=()=>{v.value=!1,i(UPDATE_MODEL_EVENT,""),i("clear")},A=async()=>{w.value&&m.value>=0&&m.value{w.value&&(e.preventDefault(),e.stopPropagation(),P())},P=()=>{v.value=!1},B=async e=>{i(INPUT_EVENT,e[o.valueKey]),i(UPDATE_MODEL_EVENT,e[o.valueKey]),i("select",e),g.value=[],m.value=-1},F=e=>{if(!w.value||_.value)return;if(e<0)return void(m.value=-1);e>=g.value.length&&(e=g.value.length-1);const t=c.value.querySelector(`.${a.be("suggestion","wrap")}`),i=t.querySelectorAll(`.${a.be("suggestion","list")} li`)[e],o=t.scrollTop,{offsetTop:n,scrollHeight:r}=i;n+r>o+t.clientHeight&&(t.scrollTop+=r),n{var e;(null==(e=d.value)?void 0:e.isFocusInsideContent())||w.value&&P()});return onBeforeUnmount(()=>{null==z||z()}),onMounted(()=>{l.value.ref.setAttribute("role","textbox"),l.value.ref.setAttribute("aria-autocomplete","list"),l.value.ref.setAttribute("aria-controls","id"),l.value.ref.setAttribute("aria-activedescendant",`${y.value}-item-${m.value}`),h=l.value.ref.hasAttribute("readonly")}),t({highlightedIndex:m,activated:v,loading:_,inputRef:l,popperRef:d,suggestions:g,handleSelect:B,handleKeyEnter:A,focus:()=>{var e;null==(e=l.value)||e.focus()},blur:()=>{var e;null==(e=l.value)||e.blur()},close:P,highlight:F,getData:I}),(e,t)=>(openBlock(),createBlock(unref(ElTooltip),{ref_key:"popperRef",ref:d,visible:unref(w),placement:e.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[unref(a).e("popper"),e.popperClass],teleported:e.teleported,"append-to":e.appendTo,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:`${unref(a).namespace.value}-zoom-in-top`,persistent:"",role:"listbox",onBeforeShow:k,onHide:E},{content:withCtx(()=>[createBaseVNode("div",{ref_key:"regionRef",ref:c,class:normalizeClass([unref(a).b("suggestion"),unref(a).is("loading",unref(x))]),style:normalizeStyle({[e.fitInputWidth?"width":"minWidth"]:f.value,outline:"none"}),role:"region"},[e.$slots.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(a).be("suggestion","header")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(e.$slots,"header")],10,["onClick"])):createCommentVNode("v-if",!0),createVNode(unref(ElScrollbar),{id:unref(y),tag:"ul","wrap-class":unref(a).be("suggestion","wrap"),"view-class":unref(a).be("suggestion","list"),role:"listbox"},{default:withCtx(()=>[unref(x)?(openBlock(),createElementBlock("li",{key:0},[renderSlot(e.$slots,"loading",{},()=>[createVNode(unref(ElIcon),{class:normalizeClass(unref(a).is("loading"))},{default:withCtx(()=>[createVNode(unref(loading_default))]),_:1},8,["class"])])])):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(g.value,(t,i)=>(openBlock(),createElementBlock("li",{id:`${unref(y)}-item-${i}`,key:i,class:normalizeClass({highlighted:m.value===i}),role:"option","aria-selected":m.value===i,onClick:e=>B(t)},[renderSlot(e.$slots,"default",{item:t},()=>[createTextVNode(toDisplayString(t[e.valueKey]),1)])],10,["id","aria-selected","onClick"]))),128))]),_:3},8,["id","wrap-class","view-class"]),e.$slots.footer?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(a).be("suggestion","footer")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(e.$slots,"footer")],10,["onClick"])):createCommentVNode("v-if",!0)],6)]),default:withCtx(()=>[createBaseVNode("div",{ref_key:"listboxRef",ref:u,class:normalizeClass([unref(a).b(),e.$attrs.class]),style:normalizeStyle(unref(C)),role:"combobox","aria-haspopup":"listbox","aria-expanded":unref(w),"aria-owns":unref(y)},[createVNode(unref(ElInput),mergeProps({ref_key:"inputRef",ref:l},mergeProps(unref(n),e.$attrs),{"model-value":e.modelValue,disabled:unref(s),onInput:D,onChange:N,onFocus:M,onBlur:$,onClear:R,onKeydown:[withKeys(withModifiers(e=>F(m.value-1),["prevent"]),["up"]),withKeys(withModifiers(e=>F(m.value+1),["prevent"]),["down"]),withKeys(A,["enter"]),withKeys(P,["tab"]),withKeys(O,["esc"])],onMousedown:L}),createSlots({_:2},[e.$slots.prepend?{name:"prepend",fn:withCtx(()=>[renderSlot(e.$slots,"prepend")])}:void 0,e.$slots.append?{name:"append",fn:withCtx(()=>[renderSlot(e.$slots,"append")])}:void 0,e.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(e.$slots,"prefix")])}:void 0,e.$slots.suffix?{name:"suffix",fn:withCtx(()=>[renderSlot(e.$slots,"suffix")])}:void 0]),1040,["model-value","disabled","onKeydown"])],14,["aria-expanded","aria-owns"])]),_:3},8,["visible","placement","popper-class","teleported","append-to","transition"]))}});var Autocomplete=_export_sfc$1(_sfc_main$1u,[["__file","autocomplete.vue"]]);const ElAutocomplete=withInstall(Autocomplete),badgeProps=buildProps({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:definePropType([String,Object,Array])},offset:{type:definePropType(Array),default:[0,0]},badgeClass:{type:String}}),__default__$T=defineComponent({name:"ElBadge"}),_sfc_main$1t=defineComponent({...__default__$T,props:badgeProps,setup(e,{expose:t}){const i=e,o=useNamespace("badge"),n=computed$1(()=>i.isDot?"":isNumber(i.value)&&isNumber(i.max)&&i.max{var e,t,o,n,r;return[{backgroundColor:i.color,marginRight:addUnit(-(null!=(t=null==(e=i.offset)?void 0:e[0])?t:0)),marginTop:addUnit(null!=(n=null==(o=i.offset)?void 0:o[1])?n:0)},null!=(r=i.badgeStyle)?r:{}]});return t({content:n}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(o).b())},[renderSlot(e.$slots,"default"),createVNode(Transition,{name:`${unref(o).namespace.value}-zoom-in-center`,persisted:""},{default:withCtx(()=>[withDirectives(createBaseVNode("sup",{class:normalizeClass([unref(o).e("content"),unref(o).em("content",e.type),unref(o).is("fixed",!!e.$slots.default),unref(o).is("dot",e.isDot),unref(o).is("hide-zero",!e.showZero&&0===i.value),e.badgeClass]),style:normalizeStyle(unref(r))},[renderSlot(e.$slots,"content",{value:unref(n)},()=>[createTextVNode(toDisplayString(unref(n)),1)])],6),[[vShow,!e.hidden&&(unref(n)||e.isDot||e.$slots.content)]])]),_:3},8,["name"])],2))}});var Badge=_export_sfc$1(_sfc_main$1t,[["__file","badge.vue"]]);const ElBadge=withInstall(Badge),buttonGroupContextKey=Symbol("buttonGroupContextKey"),useDeprecated=({from:e,replacement:t,scope:i,version:o,ref:n,type:r="API"},s)=>{watch(()=>unref(s),e=>{},{immediate:!0})},useButton=(e,t)=>{useDeprecated({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},computed$1(()=>"text"===e.type));const i=inject(buttonGroupContextKey,void 0),o=useGlobalConfig("button"),{form:n}=useFormItem(),r=useFormSize(computed$1(()=>null==i?void 0:i.size)),s=useFormDisabled(),a=ref$1(),l=useSlots(),c=computed$1(()=>{var t;return e.type||(null==i?void 0:i.type)||(null==(t=o.value)?void 0:t.type)||""}),d=computed$1(()=>{var t,i,n;return null!=(n=null!=(i=e.autoInsertSpace)?i:null==(t=o.value)?void 0:t.autoInsertSpace)&&n}),u=computed$1(()=>{var t,i,n;return null!=(n=null!=(i=e.plain)?i:null==(t=o.value)?void 0:t.plain)&&n}),h=computed$1(()=>{var t,i,n;return null!=(n=null!=(i=e.round)?i:null==(t=o.value)?void 0:t.round)&&n}),p=computed$1(()=>{var t,i,n;return null!=(n=null!=(i=e.text)?i:null==(t=o.value)?void 0:t.text)&&n}),g=computed$1(()=>"button"===e.tag?{ariaDisabled:s.value||e.loading,disabled:s.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),m=computed$1(()=>{var e;const t=null==(e=l.default)?void 0:e.call(l);if(d.value&&1===(null==t?void 0:t.length)){const e=t[0];if((null==e?void 0:e.type)===Text$2){const t=e.children;return/^\p{Unified_Ideograph}{2}$/u.test(t.trim())}}return!1});return{_disabled:s,_size:r,_type:c,_ref:a,_props:g,_plain:u,_round:h,_text:p,shouldAddSpace:m,handleClick:i=>{s.value||e.loading?i.stopPropagation():("reset"===e.nativeType&&(null==n||n.resetFields()),t("click",i))}}},buttonTypes=["default","primary","success","warning","info","danger","text",""],buttonNativeTypes=["button","submit","reset"],buttonProps=buildProps({size:useSizeProp,disabled:Boolean,type:{type:String,values:buttonTypes,default:""},icon:{type:iconPropType},nativeType:{type:String,values:buttonNativeTypes,default:"button"},loading:Boolean,loadingIcon:{type:iconPropType,default:()=>loading_default},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:definePropType([String,Object]),default:"button"}}),buttonEmits={click:e=>e instanceof MouseEvent};function bound01(e,t){isOnePointZero(e)&&(e="100%");var i=isPercentage(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),i&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function clamp01(e){return Math.min(1,Math.max(0,e))}function isOnePointZero(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)}function isPercentage(e){return"string"==typeof e&&-1!==e.indexOf("%")}function boundAlpha(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function convertToPercentage(e){return e<=1?"".concat(100*Number(e),"%"):e}function pad2(e){return 1===e.length?"0"+e:String(e)}function rgbToRgb(e,t,i){return{r:255*bound01(e,255),g:255*bound01(t,255),b:255*bound01(i,255)}}function rgbToHsl(e,t,i){e=bound01(e,255),t=bound01(t,255),i=bound01(i,255);var o=Math.max(e,t,i),n=Math.min(e,t,i),r=0,s=0,a=(o+n)/2;if(o===n)s=0,r=0;else{var l=o-n;switch(s=a>.5?l/(2-o-n):l/(o+n),o){case e:r=(t-i)/l+(t1&&(i-=1),i<1/6?e+6*i*(t-e):i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}function hslToRgb(e,t,i){var o,n,r;if(e=bound01(e,360),t=bound01(t,100),i=bound01(i,100),0===t)n=i,r=i,o=i;else{var s=i<.5?i*(1+t):i+t-i*t,a=2*i-s;o=hue2rgb(a,s,e+1/3),n=hue2rgb(a,s,e),r=hue2rgb(a,s,e-1/3)}return{r:255*o,g:255*n,b:255*r}}function rgbToHsv(e,t,i){e=bound01(e,255),t=bound01(t,255),i=bound01(i,255);var o=Math.max(e,t,i),n=Math.min(e,t,i),r=0,s=o,a=o-n,l=0===o?0:a/o;if(o===n)r=0;else{switch(o){case e:r=(t-i)/a+(t>16,g:(65280&e)>>8,b:255&e}}var names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function inputToRGB(e){var t={r:0,g:0,b:0},i=1,o=null,n=null,r=null,s=!1,a=!1;return"string"==typeof e&&(e=stringInputToObject(e)),"object"==typeof e&&(isValidCSSUnit(e.r)&&isValidCSSUnit(e.g)&&isValidCSSUnit(e.b)?(t=rgbToRgb(e.r,e.g,e.b),s=!0,a="%"===String(e.r).substr(-1)?"prgb":"rgb"):isValidCSSUnit(e.h)&&isValidCSSUnit(e.s)&&isValidCSSUnit(e.v)?(o=convertToPercentage(e.s),n=convertToPercentage(e.v),t=hsvToRgb(e.h,o,n),s=!0,a="hsv"):isValidCSSUnit(e.h)&&isValidCSSUnit(e.s)&&isValidCSSUnit(e.l)&&(o=convertToPercentage(e.s),r=convertToPercentage(e.l),t=hslToRgb(e.h,o,r),s=!0,a="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(i=e.a)),i=boundAlpha(i),{ok:s,format:e.format||a,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:i}}var CSS_INTEGER="[-\\+]?\\d+%?",CSS_NUMBER="[-\\+]?\\d*\\.\\d+%?",CSS_UNIT="(?:".concat(CSS_NUMBER,")|(?:").concat(CSS_INTEGER,")"),PERMISSIVE_MATCH3="[\\s|\\(]+(".concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")\\s*\\)?"),PERMISSIVE_MATCH4="[\\s|\\(]+(".concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")\\s*\\)?"),matchers={CSS_UNIT:new RegExp(CSS_UNIT),rgb:new RegExp("rgb"+PERMISSIVE_MATCH3),rgba:new RegExp("rgba"+PERMISSIVE_MATCH4),hsl:new RegExp("hsl"+PERMISSIVE_MATCH3),hsla:new RegExp("hsla"+PERMISSIVE_MATCH4),hsv:new RegExp("hsv"+PERMISSIVE_MATCH3),hsva:new RegExp("hsva"+PERMISSIVE_MATCH4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function stringInputToObject(e){if(0===(e=e.trim().toLowerCase()).length)return!1;var t=!1;if(names[e])e=names[e],t=!0;else if("transparent"===e)return{r:0,g:0,b:0,a:0,format:"name"};var i=matchers.rgb.exec(e);return i?{r:i[1],g:i[2],b:i[3]}:(i=matchers.rgba.exec(e))?{r:i[1],g:i[2],b:i[3],a:i[4]}:(i=matchers.hsl.exec(e))?{h:i[1],s:i[2],l:i[3]}:(i=matchers.hsla.exec(e))?{h:i[1],s:i[2],l:i[3],a:i[4]}:(i=matchers.hsv.exec(e))?{h:i[1],s:i[2],v:i[3]}:(i=matchers.hsva.exec(e))?{h:i[1],s:i[2],v:i[3],a:i[4]}:(i=matchers.hex8.exec(e))?{r:parseIntFromHex(i[1]),g:parseIntFromHex(i[2]),b:parseIntFromHex(i[3]),a:convertHexToDecimal(i[4]),format:t?"name":"hex8"}:(i=matchers.hex6.exec(e))?{r:parseIntFromHex(i[1]),g:parseIntFromHex(i[2]),b:parseIntFromHex(i[3]),format:t?"name":"hex"}:(i=matchers.hex4.exec(e))?{r:parseIntFromHex(i[1]+i[1]),g:parseIntFromHex(i[2]+i[2]),b:parseIntFromHex(i[3]+i[3]),a:convertHexToDecimal(i[4]+i[4]),format:t?"name":"hex8"}:!!(i=matchers.hex3.exec(e))&&{r:parseIntFromHex(i[1]+i[1]),g:parseIntFromHex(i[2]+i[2]),b:parseIntFromHex(i[3]+i[3]),format:t?"name":"hex"}}function isValidCSSUnit(e){return Boolean(matchers.CSS_UNIT.exec(String(e)))}var TinyColor=function(){function e(t,i){var o;if(void 0===t&&(t=""),void 0===i&&(i={}),t instanceof e)return t;"number"==typeof t&&(t=numberInputToObject(t)),this.originalInput=t;var n=inputToRGB(t);this.originalInput=t,this.r=n.r,this.g=n.g,this.b=n.b,this.a=n.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(o=i.format)&&void 0!==o?o:n.format,this.gradientType=i.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=n.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,i=e.g/255,o=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=boundAlpha(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=rgbToHsv(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=rgbToHsv(this.r,this.g,this.b),t=Math.round(360*e.h),i=Math.round(100*e.s),o=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(i,"%, ").concat(o,"%)"):"hsva(".concat(t,", ").concat(i,"%, ").concat(o,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=rgbToHsl(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=rgbToHsl(this.r,this.g,this.b),t=Math.round(360*e.h),i=Math.round(100*e.s),o=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(i,"%, ").concat(o,"%)"):"hsla(".concat(t,", ").concat(i,"%, ").concat(o,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),rgbToHex(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),rgbaToHex(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),i=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(i,")"):"rgba(".concat(e,", ").concat(t,", ").concat(i,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*bound01(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*bound01(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+rgbToHex(this.r,this.g,this.b,!1),t=0,i=Object.entries(names);t=0;return t||!o||!e.startsWith("hex")&&"name"!==e?("rgb"===e&&(i=this.toRgbString()),"prgb"===e&&(i=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(i=this.toHexString()),"hex3"===e&&(i=this.toHexString(!0)),"hex4"===e&&(i=this.toHex8String(!0)),"hex8"===e&&(i=this.toHex8String()),"name"===e&&(i=this.toName()),"hsl"===e&&(i=this.toHslString()),"hsv"===e&&(i=this.toHsvString()),i||this.toHexString()):"name"===e&&0===this.a?this.toName():this.toRgbString()},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var i=this.toHsl();return i.l+=t/100,i.l=clamp01(i.l),new e(i)},e.prototype.brighten=function(t){void 0===t&&(t=10);var i=this.toRgb();return i.r=Math.max(0,Math.min(255,i.r-Math.round(-t/100*255))),i.g=Math.max(0,Math.min(255,i.g-Math.round(-t/100*255))),i.b=Math.max(0,Math.min(255,i.b-Math.round(-t/100*255))),new e(i)},e.prototype.darken=function(t){void 0===t&&(t=10);var i=this.toHsl();return i.l-=t/100,i.l=clamp01(i.l),new e(i)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var i=this.toHsl();return i.s-=t/100,i.s=clamp01(i.s),new e(i)},e.prototype.saturate=function(t){void 0===t&&(t=10);var i=this.toHsl();return i.s+=t/100,i.s=clamp01(i.s),new e(i)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var i=this.toHsl(),o=(i.h+t)%360;return i.h=o<0?360+o:o,new e(i)},e.prototype.mix=function(t,i){void 0===i&&(i=50);var o=this.toRgb(),n=new e(t).toRgb(),r=i/100;return new e({r:(n.r-o.r)*r+o.r,g:(n.g-o.g)*r+o.g,b:(n.b-o.b)*r+o.b,a:(n.a-o.a)*r+o.a})},e.prototype.analogous=function(t,i){void 0===t&&(t=6),void 0===i&&(i=30);var o=this.toHsl(),n=360/i,r=[this];for(o.h=(o.h-(n*t>>1)+720)%360;--t;)o.h=(o.h+n)%360,r.push(new e(o));return r},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var i=this.toHsv(),o=i.h,n=i.s,r=i.v,s=[],a=1/t;t--;)s.push(new e({h:o,s:n,v:r})),r=(r+a)%1;return s},e.prototype.splitcomplement=function(){var t=this.toHsl(),i=t.h;return[this,new e({h:(i+72)%360,s:t.s,l:t.l}),new e({h:(i+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var i=this.toRgb(),o=new e(t).toRgb(),n=i.a+o.a*(1-i.a);return new e({r:(i.r*i.a+o.r*o.a*(1-i.a))/n,g:(i.g*i.a+o.g*o.a*(1-i.a))/n,b:(i.b*i.a+o.b*o.a*(1-i.a))/n,a:n})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var i=this.toHsl(),o=i.h,n=[this],r=360/t,s=1;s{let o={},n=e.color;if(n){const r=n.match(/var\((.*?)\)/);r&&(n=window.getComputedStyle(window.document.documentElement).getPropertyValue(r[1]));const s=new TinyColor(n),a=e.dark?s.tint(20).toString():darken(s,20);if(e.plain)o=i.cssVarBlock({"bg-color":e.dark?darken(s,90):s.tint(90).toString(),"text-color":n,"border-color":e.dark?darken(s,50):s.tint(50).toString(),"hover-text-color":`var(${i.cssVarName("color-white")})`,"hover-bg-color":n,"hover-border-color":n,"active-bg-color":a,"active-text-color":`var(${i.cssVarName("color-white")})`,"active-border-color":a}),t.value&&(o[i.cssVarBlockName("disabled-bg-color")]=e.dark?darken(s,90):s.tint(90).toString(),o[i.cssVarBlockName("disabled-text-color")]=e.dark?darken(s,50):s.tint(50).toString(),o[i.cssVarBlockName("disabled-border-color")]=e.dark?darken(s,80):s.tint(80).toString());else{const r=e.dark?darken(s,30):s.tint(30).toString(),l=s.isDark()?`var(${i.cssVarName("color-white")})`:`var(${i.cssVarName("color-black")})`;if(o=i.cssVarBlock({"bg-color":n,"text-color":l,"border-color":n,"hover-bg-color":r,"hover-text-color":l,"hover-border-color":r,"active-bg-color":a,"active-border-color":a}),t.value){const t=e.dark?darken(s,50):s.tint(50).toString();o[i.cssVarBlockName("disabled-bg-color")]=t,o[i.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${i.cssVarName("color-white")})`,o[i.cssVarBlockName("disabled-border-color")]=t}}}return o})}const __default__$S=defineComponent({name:"ElButton"}),_sfc_main$1s=defineComponent({...__default__$S,props:buttonProps,emits:buttonEmits,setup(e,{expose:t,emit:i}){const o=e,n=useButtonCustomStyle(o),r=useNamespace("button"),{_ref:s,_size:a,_type:l,_disabled:c,_props:d,_plain:u,_round:h,_text:p,shouldAddSpace:g,handleClick:m}=useButton(o,i),f=computed$1(()=>[r.b(),r.m(l.value),r.m(a.value),r.is("disabled",c.value),r.is("loading",o.loading),r.is("plain",u.value),r.is("round",h.value),r.is("circle",o.circle),r.is("text",p.value),r.is("link",o.link),r.is("has-bg",o.bg)]);return t({ref:s,size:a,type:l,disabled:c,shouldAddSpace:g}),(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(e.tag),mergeProps({ref_key:"_ref",ref:s},unref(d),{class:unref(f),style:unref(n),onClick:unref(m)}),{default:withCtx(()=>[e.loading?(openBlock(),createElementBlock(Fragment,{key:0},[e.$slots.loading?renderSlot(e.$slots,"loading",{key:0}):(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass(unref(r).is("loading"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||e.$slots.icon?(openBlock(),createBlock(unref(ElIcon),{key:1},{default:withCtx(()=>[e.icon?(openBlock(),createBlock(resolveDynamicComponent(e.icon),{key:0})):renderSlot(e.$slots,"icon",{key:1})]),_:3})):createCommentVNode("v-if",!0),e.$slots.default?(openBlock(),createElementBlock("span",{key:2,class:normalizeClass({[unref(r).em("text","expand")]:unref(g)})},[renderSlot(e.$slots,"default")],2)):createCommentVNode("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var Button=_export_sfc$1(_sfc_main$1s,[["__file","button.vue"]]);const buttonGroupProps={size:buttonProps.size,type:buttonProps.type},__default__$R=defineComponent({name:"ElButtonGroup"}),_sfc_main$1r=defineComponent({...__default__$R,props:buttonGroupProps,setup(e){const t=e;provide(buttonGroupContextKey,reactive$1({size:toRef(t,"size"),type:toRef(t,"type")}));const i=useNamespace("button");return(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(i).b("group"))},[renderSlot(e.$slots,"default")],2))}});var ButtonGroup=_export_sfc$1(_sfc_main$1r,[["__file","button-group.vue"]]);const ElButton=withInstall(Button,{ButtonGroup:ButtonGroup});withNoopInstall(ButtonGroup);const buildTimeList=(e,t)=>[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),extractDateFormat=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),extractTimeFormat=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),dateEquals=function(e,t){const i=isDate(e),o=isDate(t);return i&&o?e.getTime()===t.getTime():!i&&!o&&e===t},valueEquals=function(e,t){const i=isArray$1(e),o=isArray$1(t);return i&&o?e.length===t.length&&e.every((e,i)=>dateEquals(e,t[i])):!i&&!o&&dateEquals(e,t)},parseDate=function(e,t,i){const o=isEmpty(t)||"x"===t?dayjs(e).locale(i):dayjs(e,t).locale(i);return o.isValid()?o:void 0},formatter=function(e,t,i){return isEmpty(t)?e:"x"===t?+e:dayjs(e).locale(i).format(t)},makeList=(e,t)=>{var i;const o=[],n=null==t?void 0:t();for(let r=0;risArray$1(e)?e.map(e=>e.toDate()):e.toDate();var localeData$2={exports:{}},localeData$1=localeData$2.exports,hasRequiredLocaleData;function requireLocaleData(){return hasRequiredLocaleData||(hasRequiredLocaleData=1,function(e){e.exports=function(e,t,i){var o=t.prototype,n=function(e){return e&&(e.indexOf?e:e.s)},r=function(e,t,i,o,r){var s=e.name?e:e.$locale(),a=n(s[t]),l=n(s[i]),c=a||l.map(function(e){return e.slice(0,o)});if(!r)return c;var d=s.weekStart;return c.map(function(e,t){return c[(t+(d||0))%7]})},s=function(){return i.Ls[i.locale()]},a=function(e,t){return e.formats[t]||function(e){return e.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,i){return t||i.slice(1)})}(e.formats[t.toUpperCase()])},l=function(){var e=this;return{months:function(t){return t?t.format("MMMM"):r(e,"months")},monthsShort:function(t){return t?t.format("MMM"):r(e,"monthsShort","months",3)},firstDayOfWeek:function(){return e.$locale().weekStart||0},weekdays:function(t){return t?t.format("dddd"):r(e,"weekdays")},weekdaysMin:function(t){return t?t.format("dd"):r(e,"weekdaysMin","weekdays",2)},weekdaysShort:function(t){return t?t.format("ddd"):r(e,"weekdaysShort","weekdays",3)},longDateFormat:function(t){return a(e.$locale(),t)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};o.localeData=function(){return l.bind(this)()},i.localeData=function(){var e=s();return{firstDayOfWeek:function(){return e.weekStart||0},weekdays:function(){return i.weekdays()},weekdaysShort:function(){return i.weekdaysShort()},weekdaysMin:function(){return i.weekdaysMin()},months:function(){return i.months()},monthsShort:function(){return i.monthsShort()},longDateFormat:function(t){return a(e,t)},meridiem:e.meridiem,ordinal:e.ordinal}},i.months=function(){return r(s(),"months")},i.monthsShort=function(){return r(s(),"monthsShort","months",3)},i.weekdays=function(e){return r(s(),"weekdays",null,null,e)},i.weekdaysShort=function(e){return r(s(),"weekdaysShort","weekdays",3,e)},i.weekdaysMin=function(e){return r(s(),"weekdaysMin","weekdays",2,e)}}}(localeData$2)),localeData$2.exports}var localeDataExports=requireLocaleData();const localeData=getDefaultExportFromCjs(localeDataExports),datePickTypes=["year","years","month","months","date","dates","week","datetime","datetimerange","daterange","monthrange","yearrange"],cardProps=buildProps({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:definePropType([String,Object,Array]),default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}}),__default__$Q=defineComponent({name:"ElCard"}),_sfc_main$1q=defineComponent({...__default__$Q,props:cardProps,setup(e){const t=useGlobalConfig("card"),i=useNamespace("card");return(e,o)=>{var n;return openBlock(),createElementBlock("div",{class:normalizeClass([unref(i).b(),unref(i).is(`${e.shadow||(null==(n=unref(t))?void 0:n.shadow)||"always"}-shadow`)])},[e.$slots.header||e.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(i).e("header"),e.headerClass])},[renderSlot(e.$slots,"header",{},()=>[createTextVNode(toDisplayString(e.header),1)])],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([unref(i).e("body"),e.bodyClass]),style:normalizeStyle(e.bodyStyle)},[renderSlot(e.$slots,"default")],6),e.$slots.footer||e.footer?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass([unref(i).e("footer"),e.footerClass])},[renderSlot(e.$slots,"footer",{},()=>[createTextVNode(toDisplayString(e.footer),1)])],2)):createCommentVNode("v-if",!0)],2)}}});var Card=_export_sfc$1(_sfc_main$1q,[["__file","card.vue"]]);const ElCard=withInstall(Card);var PatchFlags=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(PatchFlags||{});const flattedChildren=e=>{const t=isArray$1(e)?e:[e],i=[];return t.forEach(e=>{var t;isArray$1(e)?i.push(...flattedChildren(e)):isVNode(e)&&(null==(t=e.component)?void 0:t.subTree)?i.push(e,...flattedChildren(e.component.subTree)):isVNode(e)&&isArray$1(e.children)?i.push(...flattedChildren(e.children)):isVNode(e)&&2===e.shapeFlag?i.push(...flattedChildren(e.type())):i.push(e)}),i},getOrderedChildren=(e,t,i)=>{const o=flattedChildren(e.subTree).filter(e=>{var i;return isVNode(e)&&(null==(i=e.type)?void 0:i.name)===t&&!!e.component});return o.map(e=>e.component.uid).map(e=>i[e]).filter(e=>!!e)},useOrderedChildren=(e,t)=>{const i=shallowRef({}),o=shallowRef([]),n=new WeakMap,r=e=>e.render(),s=defineComponent({setup:(n,{slots:s})=>()=>(o.value=getOrderedChildren(e,t,i.value),s.default?h$2(r,{render:s.default}):null)});return{children:o,addChild:e=>{i.value[e.uid]=e,triggerRef(i),onMounted(()=>{const t=e.getVnode().el,o=t.parentNode;if(!n.has(o)){n.set(o,[]);const e=o.insertBefore.bind(o);o.insertBefore=(t,r)=>(n.get(o).some(e=>t===e||r===e)&&triggerRef(i),e(t,r))}n.get(o).push(t)})},removeChild:e=>{delete i.value[e.uid],triggerRef(i);const t=e.getVnode().el,o=t.parentNode,r=n.get(o),s=r.indexOf(t);r.splice(s,1)},ChildrenSorter:s}},checkboxProps={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:useSizeProp,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},...useAriaProps(["ariaControls"])},checkboxEmits={[UPDATE_MODEL_EVENT]:e=>isString$1(e)||isNumber(e)||isBoolean(e),change:e=>isString$1(e)||isNumber(e)||isBoolean(e)},checkboxGroupContextKey=Symbol("checkboxGroupContextKey"),useCheckboxDisabled=({model:e,isChecked:t})=>{const i=inject(checkboxGroupContextKey,void 0),o=computed$1(()=>{var o,n;const r=null==(o=null==i?void 0:i.max)?void 0:o.value,s=null==(n=null==i?void 0:i.min)?void 0:n.value;return!isUndefined(r)&&e.value.length>=r&&!t.value||!isUndefined(s)&&e.value.length<=s&&t.value});return{isDisabled:useFormDisabled(computed$1(()=>(null==i?void 0:i.disabled.value)||o.value)),isLimitDisabled:o}},useCheckboxEvent=(e,{model:t,isLimitExceeded:i,hasOwnLabel:o,isDisabled:n,isLabeledByFormItem:r})=>{const s=inject(checkboxGroupContextKey,void 0),{formItem:a}=useFormItem(),{emit:l}=getCurrentInstance$1();function c(t){var i,o,n,r;return[!0,e.trueValue,e.trueLabel].includes(t)?null==(o=null!=(i=e.trueValue)?i:e.trueLabel)||o:null!=(r=null!=(n=e.falseValue)?n:e.falseLabel)&&r}const d=computed$1(()=>(null==s?void 0:s.validateEvent)||e.validateEvent);return watch(()=>e.modelValue,()=>{d.value&&(null==a||a.validate("change").catch(e=>debugWarn()))}),{handleChange:function(e){if(i.value)return;const t=e.target;l(CHANGE_EVENT,c(t.checked),e)},onClickRoot:async function(s){if(!i.value&&!o.value&&!n.value&&r.value){s.composedPath().some(e=>"LABEL"===e.tagName)||(t.value=c([!1,e.falseValue,e.falseLabel].includes(t.value)),await nextTick(),function(e,t){l(CHANGE_EVENT,c(e),t)}(t.value,s))}}}},useCheckboxModel=e=>{const t=ref$1(!1),{emit:i}=getCurrentInstance$1(),o=inject(checkboxGroupContextKey,void 0),n=computed$1(()=>!1===isUndefined(o)),r=ref$1(!1),s=computed$1({get(){var i,r;return n.value?null==(i=null==o?void 0:o.modelValue)?void 0:i.value:null!=(r=e.modelValue)?r:t.value},set(e){var a,l;n.value&&isArray$1(e)?(r.value=void 0!==(null==(a=null==o?void 0:o.max)?void 0:a.value)&&e.length>(null==o?void 0:o.max.value)&&e.length>s.value.length,!1===r.value&&(null==(l=null==o?void 0:o.changeEvent)||l.call(o,e))):(i(UPDATE_MODEL_EVENT,e),t.value=e)}});return{model:s,isGroup:n,isLimitExceeded:r}},useCheckboxStatus=(e,t,{model:i})=>{const o=inject(checkboxGroupContextKey,void 0),n=ref$1(!1),r=computed$1(()=>isPropAbsent(e.value)?e.label:e.value),s=computed$1(()=>{const t=i.value;return isBoolean(t)?t:isArray$1(t)?isObject(r.value)?t.map(toRaw).some(e=>isEqual(e,r.value)):t.map(toRaw).includes(r.value):null!=t?t===e.trueValue||t===e.trueLabel:!!t}),a=useFormSize(computed$1(()=>{var e;return null==(e=null==o?void 0:o.size)?void 0:e.value}),{prop:!0}),l=useFormSize(computed$1(()=>{var e;return null==(e=null==o?void 0:o.size)?void 0:e.value}));return{checkboxButtonSize:a,isChecked:s,isFocused:n,checkboxSize:l,hasOwnLabel:computed$1(()=>!!t.default||!isPropAbsent(r.value)),actualValue:r}},useCheckbox=(e,t)=>{const{formItem:i}=useFormItem(),{model:o,isGroup:n,isLimitExceeded:r}=useCheckboxModel(e),{isFocused:s,isChecked:a,checkboxButtonSize:l,checkboxSize:c,hasOwnLabel:d,actualValue:u}=useCheckboxStatus(e,t,{model:o}),{isDisabled:h}=useCheckboxDisabled({model:o,isChecked:a}),{inputId:p,isLabeledByFormItem:g}=useFormItemInputId(e,{formItemContext:i,disableIdGeneration:d,disableIdManagement:n}),{handleChange:m,onClickRoot:f}=useCheckboxEvent(e,{model:o,isLimitExceeded:r,hasOwnLabel:d,isDisabled:h,isLabeledByFormItem:g});return e.checked&&function(){var t,i;isArray$1(o.value)&&!o.value.includes(u.value)?o.value.push(u.value):o.value=null==(i=null!=(t=e.trueValue)?t:e.trueLabel)||i}(),useDeprecated({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},computed$1(()=>n.value&&isPropAbsent(e.value))),useDeprecated({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},computed$1(()=>!!e.trueLabel)),useDeprecated({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},computed$1(()=>!!e.falseLabel)),{inputId:p,isLabeledByFormItem:g,isChecked:a,isDisabled:h,isFocused:s,checkboxButtonSize:l,checkboxSize:c,hasOwnLabel:d,model:o,actualValue:u,handleChange:m,onClickRoot:f}},__default__$P=defineComponent({name:"ElCheckbox"}),_sfc_main$1p=defineComponent({...__default__$P,props:checkboxProps,emits:checkboxEmits,setup(e){const t=e,i=useSlots(),{inputId:o,isLabeledByFormItem:n,isChecked:r,isDisabled:s,isFocused:a,checkboxSize:l,hasOwnLabel:c,model:d,actualValue:u,handleChange:h,onClickRoot:p}=useCheckbox(t,i),g=useNamespace("checkbox"),m=computed$1(()=>[g.b(),g.m(l.value),g.is("disabled",s.value),g.is("bordered",t.border),g.is("checked",r.value)]),f=computed$1(()=>[g.e("input"),g.is("disabled",s.value),g.is("checked",r.value),g.is("indeterminate",t.indeterminate),g.is("focus",a.value)]);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(!unref(c)&&unref(n)?"span":"label"),{class:normalizeClass(unref(m)),"aria-controls":e.indeterminate?e.ariaControls:null,onClick:unref(p)},{default:withCtx(()=>{var t,i,n,r;return[createBaseVNode("span",{class:normalizeClass(unref(f))},[e.trueValue||e.falseValue||e.trueLabel||e.falseLabel?withDirectives((openBlock(),createElementBlock("input",{key:0,id:unref(o),"onUpdate:modelValue":e=>isRef(d)?d.value=e:null,class:normalizeClass(unref(g).e("original")),type:"checkbox",indeterminate:e.indeterminate,name:e.name,tabindex:e.tabindex,disabled:unref(s),"true-value":null==(i=null!=(t=e.trueValue)?t:e.trueLabel)||i,"false-value":null!=(r=null!=(n=e.falseValue)?n:e.falseLabel)&&r,onChange:unref(h),onFocus:e=>a.value=!0,onBlur:e=>a.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["id","onUpdate:modelValue","indeterminate","name","tabindex","disabled","true-value","false-value","onChange","onFocus","onBlur","onClick"])),[[vModelCheckbox,unref(d)]]):withDirectives((openBlock(),createElementBlock("input",{key:1,id:unref(o),"onUpdate:modelValue":e=>isRef(d)?d.value=e:null,class:normalizeClass(unref(g).e("original")),type:"checkbox",indeterminate:e.indeterminate,disabled:unref(s),value:unref(u),name:e.name,tabindex:e.tabindex,onChange:unref(h),onFocus:e=>a.value=!0,onBlur:e=>a.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["id","onUpdate:modelValue","indeterminate","disabled","value","name","tabindex","onChange","onFocus","onBlur","onClick"])),[[vModelCheckbox,unref(d)]]),createBaseVNode("span",{class:normalizeClass(unref(g).e("inner"))},null,2)],2),unref(c)?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(g).e("label"))},[renderSlot(e.$slots,"default"),e.$slots.default?createCommentVNode("v-if",!0):(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(e.label),1)],64))],2)):createCommentVNode("v-if",!0)]}),_:3},8,["class","aria-controls","onClick"]))}});var Checkbox=_export_sfc$1(_sfc_main$1p,[["__file","checkbox.vue"]]);const __default__$O=defineComponent({name:"ElCheckboxButton"}),_sfc_main$1o=defineComponent({...__default__$O,props:checkboxProps,emits:checkboxEmits,setup(e){const t=e,i=useSlots(),{isFocused:o,isChecked:n,isDisabled:r,checkboxButtonSize:s,model:a,actualValue:l,handleChange:c}=useCheckbox(t,i),d=inject(checkboxGroupContextKey,void 0),u=useNamespace("checkbox"),h=computed$1(()=>{var e,t,i,o;const n=null!=(t=null==(e=null==d?void 0:d.fill)?void 0:e.value)?t:"";return{backgroundColor:n,borderColor:n,color:null!=(o=null==(i=null==d?void 0:d.textColor)?void 0:i.value)?o:"",boxShadow:n?`-1px 0 0 0 ${n}`:void 0}}),p=computed$1(()=>[u.b("button"),u.bm("button",s.value),u.is("disabled",r.value),u.is("checked",n.value),u.is("focus",o.value)]);return(e,t)=>{var i,s,d,g;return openBlock(),createElementBlock("label",{class:normalizeClass(unref(p))},[e.trueValue||e.falseValue||e.trueLabel||e.falseLabel?withDirectives((openBlock(),createElementBlock("input",{key:0,"onUpdate:modelValue":e=>isRef(a)?a.value=e:null,class:normalizeClass(unref(u).be("button","original")),type:"checkbox",name:e.name,tabindex:e.tabindex,disabled:unref(r),"true-value":null==(s=null!=(i=e.trueValue)?i:e.trueLabel)||s,"false-value":null!=(g=null!=(d=e.falseValue)?d:e.falseLabel)&&g,onChange:unref(c),onFocus:e=>o.value=!0,onBlur:e=>o.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","name","tabindex","disabled","true-value","false-value","onChange","onFocus","onBlur","onClick"])),[[vModelCheckbox,unref(a)]]):withDirectives((openBlock(),createElementBlock("input",{key:1,"onUpdate:modelValue":e=>isRef(a)?a.value=e:null,class:normalizeClass(unref(u).be("button","original")),type:"checkbox",name:e.name,tabindex:e.tabindex,disabled:unref(r),value:unref(l),onChange:unref(c),onFocus:e=>o.value=!0,onBlur:e=>o.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","name","tabindex","disabled","value","onChange","onFocus","onBlur","onClick"])),[[vModelCheckbox,unref(a)]]),e.$slots.default||e.label?(openBlock(),createElementBlock("span",{key:2,class:normalizeClass(unref(u).be("button","inner")),style:normalizeStyle(unref(n)?unref(h):void 0)},[renderSlot(e.$slots,"default",{},()=>[createTextVNode(toDisplayString(e.label),1)])],6)):createCommentVNode("v-if",!0)],2)}}});var CheckboxButton=_export_sfc$1(_sfc_main$1o,[["__file","checkbox-button.vue"]]);const checkboxGroupProps=buildProps({modelValue:{type:definePropType(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:useSizeProp,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},...useAriaProps(["ariaLabel"])}),checkboxGroupEmits={[UPDATE_MODEL_EVENT]:e=>isArray$1(e),change:e=>isArray$1(e)},__default__$N=defineComponent({name:"ElCheckboxGroup"}),_sfc_main$1n=defineComponent({...__default__$N,props:checkboxGroupProps,emits:checkboxGroupEmits,setup(e,{emit:t}){const i=e,o=useNamespace("checkbox"),{formItem:n}=useFormItem(),{inputId:r,isLabeledByFormItem:s}=useFormItemInputId(i,{formItemContext:n}),a=async e=>{t(UPDATE_MODEL_EVENT,e),await nextTick(),t(CHANGE_EVENT,e)},l=computed$1({get:()=>i.modelValue,set(e){a(e)}});return provide(checkboxGroupContextKey,{...pick(toRefs(i),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:l,changeEvent:a}),watch(()=>i.modelValue,(e,t)=>{i.validateEvent&&!isEqual(e,t)&&(null==n||n.validate("change").catch(e=>debugWarn()))}),(e,t)=>{var i;return openBlock(),createBlock(resolveDynamicComponent(e.tag),{id:unref(r),class:normalizeClass(unref(o).b("group")),role:"group","aria-label":unref(s)?void 0:e.ariaLabel||"checkbox-group","aria-labelledby":unref(s)?null==(i=unref(n))?void 0:i.labelId:void 0},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var CheckboxGroup=_export_sfc$1(_sfc_main$1n,[["__file","checkbox-group.vue"]]);const ElCheckbox=withInstall(Checkbox,{CheckboxButton:CheckboxButton,CheckboxGroup:CheckboxGroup});withNoopInstall(CheckboxButton);const ElCheckboxGroup$1=withNoopInstall(CheckboxGroup),radioPropsBase=buildProps({modelValue:{type:[String,Number,Boolean],default:void 0},size:useSizeProp,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),radioProps=buildProps({...radioPropsBase,border:Boolean}),radioEmits={[UPDATE_MODEL_EVENT]:e=>isString$1(e)||isNumber(e)||isBoolean(e),[CHANGE_EVENT]:e=>isString$1(e)||isNumber(e)||isBoolean(e)},radioGroupKey=Symbol("radioGroupKey"),useRadio=(e,t)=>{const i=ref$1(),o=inject(radioGroupKey,void 0),n=computed$1(()=>!!o),r=computed$1(()=>isPropAbsent(e.value)?e.label:e.value),s=computed$1({get:()=>n.value?o.modelValue:e.modelValue,set(s){n.value?o.changeEvent(s):t&&t(UPDATE_MODEL_EVENT,s),i.value.checked=e.modelValue===r.value}}),a=useFormSize(computed$1(()=>null==o?void 0:o.size)),l=useFormDisabled(computed$1(()=>null==o?void 0:o.disabled)),c=ref$1(!1),d=computed$1(()=>l.value||n.value&&s.value!==r.value?-1:0);return useDeprecated({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},computed$1(()=>n.value&&isPropAbsent(e.value))),{radioRef:i,isGroup:n,radioGroup:o,focus:c,size:a,disabled:l,tabIndex:d,modelValue:s,actualValue:r}},__default__$M=defineComponent({name:"ElRadio"}),_sfc_main$1m=defineComponent({...__default__$M,props:radioProps,emits:radioEmits,setup(e,{emit:t}){const i=e,o=useNamespace("radio"),{radioRef:n,radioGroup:r,focus:s,size:a,disabled:l,modelValue:c,actualValue:d}=useRadio(i,t);function u(){nextTick(()=>t(CHANGE_EVENT,c.value))}return(e,t)=>{var i;return openBlock(),createElementBlock("label",{class:normalizeClass([unref(o).b(),unref(o).is("disabled",unref(l)),unref(o).is("focus",unref(s)),unref(o).is("bordered",e.border),unref(o).is("checked",unref(c)===unref(d)),unref(o).m(unref(a))])},[createBaseVNode("span",{class:normalizeClass([unref(o).e("input"),unref(o).is("disabled",unref(l)),unref(o).is("checked",unref(c)===unref(d))])},[withDirectives(createBaseVNode("input",{ref_key:"radioRef",ref:n,"onUpdate:modelValue":e=>isRef(c)?c.value=e:null,class:normalizeClass(unref(o).e("original")),value:unref(d),name:e.name||(null==(i=unref(r))?void 0:i.name),disabled:unref(l),checked:unref(c)===unref(d),type:"radio",onFocus:e=>s.value=!0,onBlur:e=>s.value=!1,onChange:u,onClick:withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","checked","onFocus","onBlur","onClick"]),[[vModelRadio,unref(c)]]),createBaseVNode("span",{class:normalizeClass(unref(o).e("inner"))},null,2)],2),createBaseVNode("span",{class:normalizeClass(unref(o).e("label")),onKeydown:withModifiers(()=>{},["stop"])},[renderSlot(e.$slots,"default",{},()=>[createTextVNode(toDisplayString(e.label),1)])],42,["onKeydown"])],2)}}});var Radio=_export_sfc$1(_sfc_main$1m,[["__file","radio.vue"]]);const radioButtonProps=buildProps({...radioPropsBase}),__default__$L=defineComponent({name:"ElRadioButton"}),_sfc_main$1l=defineComponent({...__default__$L,props:radioButtonProps,setup(e){const t=e,i=useNamespace("radio"),{radioRef:o,focus:n,size:r,disabled:s,modelValue:a,radioGroup:l,actualValue:c}=useRadio(t),d=computed$1(()=>({backgroundColor:(null==l?void 0:l.fill)||"",borderColor:(null==l?void 0:l.fill)||"",boxShadow:(null==l?void 0:l.fill)?`-1px 0 0 0 ${l.fill}`:"",color:(null==l?void 0:l.textColor)||""}));return(e,t)=>{var u;return openBlock(),createElementBlock("label",{class:normalizeClass([unref(i).b("button"),unref(i).is("active",unref(a)===unref(c)),unref(i).is("disabled",unref(s)),unref(i).is("focus",unref(n)),unref(i).bm("button",unref(r))])},[withDirectives(createBaseVNode("input",{ref_key:"radioRef",ref:o,"onUpdate:modelValue":e=>isRef(a)?a.value=e:null,class:normalizeClass(unref(i).be("button","original-radio")),value:unref(c),type:"radio",name:e.name||(null==(u=unref(l))?void 0:u.name),disabled:unref(s),onFocus:e=>n.value=!0,onBlur:e=>n.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","onFocus","onBlur","onClick"]),[[vModelRadio,unref(a)]]),createBaseVNode("span",{class:normalizeClass(unref(i).be("button","inner")),style:normalizeStyle(unref(a)===unref(c)?unref(d):{}),onKeydown:withModifiers(()=>{},["stop"])},[renderSlot(e.$slots,"default",{},()=>[createTextVNode(toDisplayString(e.label),1)])],46,["onKeydown"])],2)}}});var RadioButton=_export_sfc$1(_sfc_main$1l,[["__file","radio-button.vue"]]);const radioGroupProps=buildProps({id:{type:String,default:void 0},size:useSizeProp,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},...useAriaProps(["ariaLabel"])}),radioGroupEmits=radioEmits,__default__$K=defineComponent({name:"ElRadioGroup"}),_sfc_main$1k=defineComponent({...__default__$K,props:radioGroupProps,emits:radioGroupEmits,setup(e,{emit:t}){const i=e,o=useNamespace("radio"),n=useId(),r=ref$1(),{formItem:s}=useFormItem(),{inputId:a,isLabeledByFormItem:l}=useFormItemInputId(i,{formItemContext:s});onMounted(()=>{const e=r.value.querySelectorAll("[type=radio]"),t=e[0];!Array.from(e).some(e=>e.checked)&&t&&(t.tabIndex=0)});const c=computed$1(()=>i.name||n.value);return provide(radioGroupKey,reactive$1({...toRefs(i),changeEvent:e=>{t(UPDATE_MODEL_EVENT,e),nextTick(()=>t(CHANGE_EVENT,e))},name:c})),watch(()=>i.modelValue,(e,t)=>{i.validateEvent&&!isEqual(e,t)&&(null==s||s.validate("change").catch(e=>debugWarn()))}),(e,t)=>(openBlock(),createElementBlock("div",{id:unref(a),ref_key:"radioGroupRef",ref:r,class:normalizeClass(unref(o).b("group")),role:"radiogroup","aria-label":unref(l)?void 0:e.ariaLabel||"radio-group","aria-labelledby":unref(l)?unref(s).labelId:void 0},[renderSlot(e.$slots,"default")],10,["id","aria-label","aria-labelledby"]))}});var RadioGroup=_export_sfc$1(_sfc_main$1k,[["__file","radio-group.vue"]]);const ElRadio=withInstall(Radio,{RadioButton:RadioButton,RadioGroup:RadioGroup}),ElRadioGroup=withNoopInstall(RadioGroup),ElRadioButton=withNoopInstall(RadioButton),CASCADER_PANEL_INJECTION_KEY=Symbol();function isVNodeEmpty(e){return!!(isArray$1(e)?e.every(({type:e})=>e===Comment):(null==e?void 0:e.type)===Comment)}var NodeContent$1=defineComponent({name:"NodeContent",props:{node:{type:Object,required:!0}},setup(e){const t=useNamespace("cascader-node"),{renderLabelFn:i}=inject(CASCADER_PANEL_INJECTION_KEY),{node:o}=e,{data:n,label:r}=o,s=()=>{const e=null==i?void 0:i({node:o,data:n});return isVNodeEmpty(e)?r:null!=e?e:r};return()=>createVNode("span",{class:t.e("label")},[s()])}});const __default__$J=defineComponent({name:"ElCascaderNode"}),_sfc_main$1j=defineComponent({...__default__$J,props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:t}){const i=e,o=inject(CASCADER_PANEL_INJECTION_KEY),n=useNamespace("cascader-node"),r=computed$1(()=>o.isHoverMenu),s=computed$1(()=>o.config.multiple),a=computed$1(()=>o.config.checkStrictly),l=computed$1(()=>o.config.showPrefix),c=computed$1(()=>{var e;return null==(e=o.checkedNodes[0])?void 0:e.uid}),d=computed$1(()=>i.node.isDisabled),u=computed$1(()=>i.node.isLeaf),h=computed$1(()=>a.value&&!u.value||!d.value),p=computed$1(()=>m(o.expandingNode)),g=computed$1(()=>a.value&&o.checkedNodes.some(m)),m=e=>{var t;const{level:o,uid:n}=i.node;return(null==(t=null==e?void 0:e.pathNodes[o-1])?void 0:t.uid)===n},f=()=>{p.value||o.expandNode(i.node)},v=e=>{const{node:t}=i;e!==t.checked&&o.handleCheckChange(t,e)},b=()=>{o.lazyLoad(i.node,()=>{u.value||f()})},_=e=>{r.value&&(y(),!u.value&&t("expand",e))},y=()=>{const{node:e}=i;h.value&&!e.loading&&(e.loaded?f():b())},C=()=>{r.value||(!u.value||d.value||a.value||s.value?(o.config.checkOnClickNode||u.value&&o.config.checkOnClickLeaf)&&!d.value?w(!i.node.checked):y():x(!0))},w=e=>{a.value?(v(e),i.node.loaded&&f()):x(e)},x=e=>{i.node.loaded?(v(e),!a.value&&f()):b()};return(t,i)=>(openBlock(),createElementBlock("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!unref(u),"aria-owns":unref(u)?void 0:e.menuId,"aria-expanded":unref(p),tabindex:unref(h)?-1:void 0,class:normalizeClass([unref(n).b(),unref(n).is("selectable",unref(a)),unref(n).is("active",e.node.checked),unref(n).is("disabled",!unref(h)),unref(p)&&"in-active-path",unref(g)&&"in-checked-path"]),onMouseenter:_,onFocus:_,onClick:C},[createCommentVNode(" prefix "),unref(s)&&unref(l)?(openBlock(),createBlock(unref(ElCheckbox),{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:unref(d),onClick:withModifiers(()=>{},["stop"]),"onUpdate:modelValue":w},null,8,["model-value","indeterminate","disabled","onClick"])):unref(a)&&unref(l)?(openBlock(),createBlock(unref(ElRadio),{key:1,"model-value":unref(c),label:e.node.uid,disabled:unref(d),"onUpdate:modelValue":w,onClick:withModifiers(()=>{},["stop"])},{default:withCtx(()=>[createCommentVNode("\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n "),createBaseVNode("span")]),_:1},8,["model-value","label","disabled","onClick"])):unref(u)&&e.node.checked?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass(unref(n).e("prefix"))},{default:withCtx(()=>[createVNode(unref(check_default))]),_:1},8,["class"])):createCommentVNode("v-if",!0),createCommentVNode(" content "),createVNode(unref(NodeContent$1),{node:e.node},null,8,["node"]),createCommentVNode(" postfix "),unref(u)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock(Fragment,{key:3},[e.node.loading?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass([unref(n).is("loading"),unref(n).e("postfix")])},{default:withCtx(()=>[createVNode(unref(loading_default))]),_:1},8,["class"])):(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass(["arrow-right",unref(n).e("postfix")])},{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1},8,["class"]))],64))],42,["id","aria-haspopup","aria-owns","aria-expanded","tabindex"]))}});var ElCascaderNode=_export_sfc$1(_sfc_main$1j,[["__file","node.vue"]]);const __default__$I=defineComponent({name:"ElCascaderMenu"}),_sfc_main$1i=defineComponent({...__default__$I,props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(e){const t=e,i=getCurrentInstance$1(),o=useNamespace("cascader-menu"),{t:n}=useLocale(),r=useId();let s,a;const l=inject(CASCADER_PANEL_INJECTION_KEY),c=ref$1(),d=computed$1(()=>!t.nodes.length),u=computed$1(()=>!l.initialLoaded),h=computed$1(()=>`${r.value}-${t.index}`),p=e=>{s=e.target},g=e=>{if(l.isHoverMenu&&s&&c.value)if(s.contains(e.target)){m();const t=i.vnode.el,{left:o}=t.getBoundingClientRect(),{offsetWidth:n,offsetHeight:r}=t,a=e.clientX-o,l=s.offsetTop,d=l+s.offsetHeight;c.value.innerHTML=`\n \n \n `}else a||(a=window.setTimeout(f,l.config.hoverThreshold))},m=()=>{a&&(clearTimeout(a),a=void 0)},f=()=>{c.value&&(c.value.innerHTML="",m())};return(t,i)=>(openBlock(),createBlock(unref(ElScrollbar),{key:unref(h),tag:"ul",role:"menu",class:normalizeClass(unref(o).b()),"wrap-class":unref(o).e("wrap"),"view-class":[unref(o).e("list"),unref(o).is("empty",unref(d))],onMousemove:g,onMouseleave:f},{default:withCtx(()=>{var i;return[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.nodes,e=>(openBlock(),createBlock(ElCascaderNode,{key:e.uid,node:e,"menu-id":unref(h),onExpand:p},null,8,["node","menu-id"]))),128)),unref(u)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(o).e("empty-text"))},[createVNode(unref(ElIcon),{size:"14",class:normalizeClass(unref(o).is("loading"))},{default:withCtx(()=>[createVNode(unref(loading_default))]),_:1},8,["class"]),createTextVNode(" "+toDisplayString(unref(n)("el.cascader.loading")),1)],2)):unref(d)?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(o).e("empty-text"))},[renderSlot(t.$slots,"empty",{},()=>[createTextVNode(toDisplayString(unref(n)("el.cascader.noData")),1)])],2)):(null==(i=unref(l))?void 0:i.isHoverMenu)?(openBlock(),createElementBlock(Fragment,{key:2},[createCommentVNode(" eslint-disable-next-line vue/html-self-closing "),(openBlock(),createElementBlock("svg",{ref_key:"hoverZone",ref:c,class:normalizeClass(unref(o).e("hover-zone"))},null,2))],2112)):createCommentVNode("v-if",!0)]}),_:3},8,["class","wrap-class","view-class"]))}});var ElCascaderMenu=_export_sfc$1(_sfc_main$1i,[["__file","menu.vue"]]);let uid=0;const calculatePathNodes=e=>{const t=[e];let{parent:i}=e;for(;i;)t.unshift(i),i=i.parent;return t};let Node$2=class e{constructor(t,i,o,n=!1){this.data=t,this.config=i,this.parent=o,this.root=n,this.uid=uid++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:r,label:s,children:a}=i,l=t[a],c=calculatePathNodes(this);this.level=n?0:o?o.level+1:1,this.value=t[r],this.label=t[s],this.pathNodes=c,this.pathValues=c.map(e=>e.value),this.pathLabels=c.map(e=>e.label),this.childrenData=l,this.children=(l||[]).map(t=>new e(t,i,this)),this.loaded=!i.lazy||this.isLeaf||!isEmpty(l),this.text=""}get isDisabled(){const{data:e,parent:t,config:i}=this,{disabled:o,checkStrictly:n}=i;return(isFunction$1(o)?o(e,this):!!e[o])||!n&&!!(null==t?void 0:t.isDisabled)}get isLeaf(){const{data:e,config:t,childrenData:i,loaded:o}=this,{lazy:n,leaf:r}=t,s=isFunction$1(r)?r(e,this):e[r];return isUndefined(s)?!(n&&!o)&&!(isArray$1(i)&&i.length):!!s}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:i,children:o}=this,n=new e(t,this.config,this);return isArray$1(i)?i.push(t):this.childrenData=[t],o.push(n),n}calcText(e,t){const i=e?this.pathLabels.join(t):this.label;return this.text=i,i}broadcast(e){this.children.forEach(t=>{var i;t&&(t.broadcast(e),null==(i=t.onParentCheck)||i.call(t,e))})}emit(){var e;const{parent:t}=this;t&&(null==(e=t.onChildCheck)||e.call(t),t.emit())}onParentCheck(e){this.isDisabled||this.setCheckState(e)}onChildCheck(){const{children:e}=this,t=e.filter(e=>!e.isDisabled),i=!!t.length&&t.every(e=>e.checked);this.setCheckState(i)}setCheckState(e){const t=this.children.length,i=this.children.reduce((e,t)=>e+(t.checked?1:t.indeterminate?.5:0),0);this.checked=this.loaded&&this.children.filter(e=>!e.isDisabled).every(e=>e.loaded&&e.checked)&&e,this.indeterminate=this.loaded&&i!==t&&i>0}doCheck(e){if(this.checked===e)return;const{checkStrictly:t,multiple:i}=this.config;t||!i?this.checked=e:(this.broadcast(e),this.setCheckState(e),this.emit())}};const flatNodes=(e,t)=>e.reduce((e,i)=>(i.isLeaf?e.push(i):(!t&&e.push(i),e=e.concat(flatNodes(i.children,t))),e),[]);class Store{constructor(e,t){this.config=t;const i=(e||[]).map(e=>new Node$2(e,this.config));this.nodes=i,this.allNodes=flatNodes(i,!1),this.leafNodes=flatNodes(i,!0)}getNodes(){return this.nodes}getFlattedNodes(e){return e?this.leafNodes:this.allNodes}appendNode(e,t){const i=t?t.appendChild(e):new Node$2(e,this.config);t||this.nodes.push(i),this.appendAllNodesAndLeafNodes(i)}appendNodes(e,t){e.length>0?e.forEach(e=>this.appendNode(e,t)):t&&t.isLeaf&&this.leafNodes.push(t)}appendAllNodesAndLeafNodes(e){this.allNodes.push(e),e.isLeaf&&this.leafNodes.push(e),e.children&&e.children.forEach(e=>{this.appendAllNodesAndLeafNodes(e)})}getNodeByValue(e,t=!1){if(isPropAbsent(e))return null;return this.getFlattedNodes(t).find(t=>isEqual(t.value,e)||isEqual(t.pathValues,e))||null}getSameNode(e){if(!e)return null;return this.getFlattedNodes(!1).find(({value:t,level:i})=>isEqual(e.value,t)&&e.level===i)||null}}const CommonProps=buildProps({modelValue:{type:definePropType([Number,String,Array])},options:{type:definePropType(Array),default:()=>[]},props:{type:definePropType(Object),default:()=>({})}}),DefaultProps={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:NOOP,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500,checkOnClickNode:!1,checkOnClickLeaf:!0,showPrefix:!0},cascaderPanelProps=buildProps({...CommonProps,border:{type:Boolean,default:!0},renderLabel:{type:Function}}),emitChangeFn$2=e=>!0,cascaderPanelEmits={[UPDATE_MODEL_EVENT]:emitChangeFn$2,[CHANGE_EVENT]:emitChangeFn$2,close:()=>!0,"expand-change":e=>e},useCascaderConfig=e=>computed$1(()=>({...DefaultProps,...e.props})),getMenuIndex=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},checkNode=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():isLeaf(e)&&e.click()},sortByOriginalOrder=(e,t)=>{const i=t.slice(0),o=i.map(e=>e.uid),n=e.reduce((e,t)=>{const n=o.indexOf(t.uid);return n>-1&&(e.push(t),i.splice(n,1),o.splice(n,1)),e},[]);return n.push(...i),n},unique=e=>[...new Set(e)],castArray=e=>e||0===e?isArray$1(e)?e:[e]:[],__default__$H=defineComponent({name:"ElCascaderPanel",inheritAttrs:!1}),_sfc_main$1h=defineComponent({...__default__$H,props:cascaderPanelProps,emits:cascaderPanelEmits,setup(e,{expose:t,emit:i}){const o=e;let n=!1;const r=useNamespace("cascader"),s=useCascaderConfig(o),a=useSlots();let l;const c=ref$1(!0),d=ref$1([]),u=ref$1(),h=ref$1([]),p=ref$1(),g=ref$1([]),m=computed$1(()=>"hover"===s.value.expandTrigger),f=computed$1(()=>o.renderLabel||a.default),v=()=>{const{options:e}=o,t=s.value;n=!1,l=new Store(e,t),h.value=[l.getNodes()],t.lazy&&isEmpty(o.options)?(c.value=!1,b(void 0,e=>{e&&(l=new Store(e,t),h.value=[l.getNodes()]),c.value=!0,k(!1,!0)})):k(!1,!0)},b=(e,t)=>{const i=s.value;(e=e||new Node$2({},i,void 0,!0)).loading=!0;i.lazyLoad(e,i=>{const o=e,n=o.root?null:o;o.loading=!1,o.loaded=!0,o.childrenData=o.childrenData||[],i&&(null==l||l.appendNodes(i,n)),i&&(null==t||t(i))})},_=(e,t)=>{var o;const{level:n}=e,r=h.value.slice(0,n);let s;e.isLeaf?s=e.pathNodes[n-2]:(s=e,r.push(e.children)),(null==(o=p.value)?void 0:o.uid)!==(null==s?void 0:s.uid)&&(p.value=e,h.value=r,!t&&i("expand-change",(null==e?void 0:e.pathValues)||[]))},y=(e,t,o=!0)=>{const{checkStrictly:r,multiple:a}=s.value,l=g.value[0];n=!0,!a&&(null==l||l.doCheck(!1)),e.doCheck(t),S(),o&&!a&&!r&&i("close"),!o&&!a&&!r&&C(e)},C=e=>{e&&(e=e.parent,C(e),e&&_(e))},w=e=>null==l?void 0:l.getFlattedNodes(e),x=e=>{var t;return null==(t=w(e))?void 0:t.filter(({checked:e})=>!1!==e)},S=()=>{var e;const{checkStrictly:t,multiple:i}=s.value,o=g.value,n=x(!t),r=sortByOriginalOrder(o,n),a=r.map(e=>e.valueByOption);g.value=r,u.value=i?a:null!=(e=a[0])?e:null},k=(e=!1,t=!1)=>{const{modelValue:i}=o,{lazy:r,multiple:a,checkStrictly:d}=s.value,h=!d;if(c.value&&!n&&(t||!isEqual(i,u.value)))if(r&&!e){const e=unique(flattenDeep(castArray(i))).map(e=>null==l?void 0:l.getNodeByValue(e)).filter(e=>!!e&&!e.loaded&&!e.loading);e.length?e.forEach(e=>{b(e,()=>k(!1,t))}):k(!0,t)}else{const e=a?castArray(i):[i],o=unique(e.map(e=>null==l?void 0:l.getNodeByValue(e,h)));E(o,t),u.value=cloneDeep(null!=i?i:void 0)}},E=(e,t=!0)=>{const{checkStrictly:i}=s.value,o=g.value,n=e.filter(e=>!!e&&(i||e.isLeaf)),r=null==l?void 0:l.getSameNode(p.value),a=t&&r||n[0];a?a.pathNodes.forEach(e=>_(e,!0)):p.value=void 0,o.forEach(e=>e.doCheck(!1)),reactive$1(n).forEach(e=>e.doCheck(!0)),g.value=n,nextTick(I)},I=()=>{isClient&&d.value.forEach(e=>{const t=null==e?void 0:e.$el;if(t){scrollIntoView(t.querySelector(`.${r.namespace.value}-scrollbar__wrap`),t.querySelector(`.${r.b("node")}.${r.is("active")}:last-child`)||t.querySelector(`.${r.b("node")}.in-active-path`))}})},T=e=>{const t=e.target,{code:i}=e;switch(i){case EVENT_CODE.up:case EVENT_CODE.down:{e.preventDefault();const o=i===EVENT_CODE.up?-1:1;focusNode(getSibling(t,o,`.${r.b("node")}[tabindex="-1"]`));break}case EVENT_CODE.left:{e.preventDefault();const i=d.value[getMenuIndex(t)-1],o=null==i?void 0:i.$el.querySelector(`.${r.b("node")}[aria-expanded="true"]`);focusNode(o);break}case EVENT_CODE.right:{e.preventDefault();const i=d.value[getMenuIndex(t)+1],o=null==i?void 0:i.$el.querySelector(`.${r.b("node")}[tabindex="-1"]`);focusNode(o);break}case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:checkNode(t)}};return provide(CASCADER_PANEL_INJECTION_KEY,reactive$1({config:s,expandingNode:p,checkedNodes:g,isHoverMenu:m,initialLoaded:c,renderLabelFn:f,lazyLoad:b,expandNode:_,handleCheckChange:y})),watch(s,(e,t)=>{isEqual(e,t)||v()},{immediate:!0}),watch(()=>o.options,v,{deep:!0}),watch(()=>o.modelValue,()=>{n=!1,k()},{deep:!0}),watch(()=>u.value,e=>{isEqual(e,o.modelValue)||(i(UPDATE_MODEL_EVENT,e),i(CHANGE_EVENT,e))}),onBeforeUpdate(()=>d.value=[]),onMounted(()=>!isEmpty(o.modelValue)&&k()),t({menuList:d,menus:h,checkedNodes:g,handleKeyDown:T,handleCheckChange:y,getFlattedNodes:w,getCheckedNodes:x,clearCheckedNodes:()=>{g.value.forEach(e=>e.doCheck(!1)),S(),h.value=h.value.slice(0,1),p.value=void 0,i("expand-change",[])},calculateCheckedValue:S,scrollToExpandingNode:I}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(r).b("panel"),unref(r).is("bordered",e.border)]),onKeydown:T},[(openBlock(!0),createElementBlock(Fragment,null,renderList(h.value,(t,i)=>(openBlock(),createBlock(ElCascaderMenu,{key:i,ref_for:!0,ref:e=>d.value[i]=e,index:i,nodes:[...t]},{empty:withCtx(()=>[renderSlot(e.$slots,"empty")]),_:2},1032,["index","nodes"]))),128))],34))}});var CascaderPanel=_export_sfc$1(_sfc_main$1h,[["__file","index.vue"]]);const ElCascaderPanel=withInstall(CascaderPanel),tagProps=buildProps({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:componentSizes},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),tagEmits={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},__default__$G=defineComponent({name:"ElTag"}),_sfc_main$1g=defineComponent({...__default__$G,props:tagProps,emits:tagEmits,setup(e,{emit:t}){const i=e,o=useFormSize(),n=useNamespace("tag"),r=computed$1(()=>{const{type:e,hit:t,effect:r,closable:s,round:a}=i;return[n.b(),n.is("closable",s),n.m(e||"primary"),n.m(o.value),n.m(r),n.is("hit",t),n.is("round",a)]}),s=e=>{t("close",e)},a=e=>{t("click",e)},l=e=>{var t,i,o;(null==(o=null==(i=null==(t=null==e?void 0:e.component)?void 0:t.subTree)?void 0:i.component)?void 0:o.bum)&&(e.component.subTree.component.bum=null)};return(e,t)=>e.disableTransitions?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(r)),style:normalizeStyle({backgroundColor:e.color}),onClick:a},[createBaseVNode("span",{class:normalizeClass(unref(n).e("content"))},[renderSlot(e.$slots,"default")],2),e.closable?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(n).e("close")),onClick:withModifiers(s,["stop"])},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0)],6)):(openBlock(),createBlock(Transition,{key:1,name:`${unref(n).namespace.value}-zoom-in-center`,appear:"",onVnodeMounted:l},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(unref(r)),style:normalizeStyle({backgroundColor:e.color}),onClick:a},[createBaseVNode("span",{class:normalizeClass(unref(n).e("content"))},[renderSlot(e.$slots,"default")],2),e.closable?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(n).e("close")),onClick:withModifiers(s,["stop"])},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0)],6)]),_:3},8,["name"]))}});var Tag=_export_sfc$1(_sfc_main$1g,[["__file","tag.vue"]]);const ElTag=withInstall(Tag),cascaderProps=buildProps({...CommonProps,size:useSizeProp,placeholder:String,disabled:Boolean,clearable:Boolean,clearIcon:{type:iconPropType,default:circle_close_default},filterable:Boolean,filterMethod:{type:definePropType(Function),default:(e,t)=>e.text.includes(t)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:Boolean,maxCollapseTagsTooltipHeight:{type:[String,Number]},debounce:{type:Number,default:300},beforeFilter:{type:definePropType(Function),default:()=>!0},placement:{type:definePropType(String),values:Ee,default:"bottom-start"},fallbackPlacements:{type:definePropType(Array),default:["bottom-start","bottom","top-start","top","right","left"]},popperClass:useTooltipContentProps.popperClass,popperStyle:useTooltipContentProps.popperStyle,teleported:useTooltipContentProps.teleported,effect:{type:definePropType(String),default:"light"},tagType:{...tagProps.type,default:"info"},tagEffect:{...tagProps.effect,default:"light"},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},showCheckedStrategy:{type:String,values:["parent","child"],default:"child"},checkOnClickNode:Boolean,showPrefix:{type:Boolean,default:!0},...useEmptyValuesProps}),emitChangeFn$1=e=>!0,cascaderEmits={[UPDATE_MODEL_EVENT]:emitChangeFn$1,[CHANGE_EVENT]:emitChangeFn$1,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,visibleChange:e=>isBoolean(e),expandChange:e=>!!e,removeTag:e=>!!e},nodeList=new Map;if(isClient){let e;document.addEventListener("mousedown",t=>e=t),document.addEventListener("mouseup",t=>{if(e){for(const i of nodeList.values())for(const{documentHandler:o}of i)o(t,e);e=void 0}})}function createDocumentHandler(e,t){let i=[];return isArray$1(t.arg)?i=t.arg:isElement(t.arg)&&i.push(t.arg),function(o,n){const r=t.instance.popperRef,s=o.target,a=null==n?void 0:n.target,l=!t||!t.instance,c=!s||!a,d=e.contains(s)||e.contains(a),u=e===s,h=i.length&&i.some(e=>null==e?void 0:e.contains(s))||i.length&&i.includes(a),p=r&&(r.contains(s)||r.contains(a));l||c||d||u||h||p||t.value(o,n)}}const ClickOutside={beforeMount(e,t){nodeList.has(e)||nodeList.set(e,[]),nodeList.get(e).push({documentHandler:createDocumentHandler(e,t),bindingFn:t.value})},updated(e,t){nodeList.has(e)||nodeList.set(e,[]);const i=nodeList.get(e),o=i.findIndex(e=>e.bindingFn===t.oldValue),n={documentHandler:createDocumentHandler(e,t),bindingFn:t.value};o>=0?i.splice(o,1,n):i.push(n)},unmounted(e){nodeList.delete(e)}},COMPONENT_NAME$b="ElCascader",__default__$F=defineComponent({name:COMPONENT_NAME$b}),_sfc_main$1f=defineComponent({...__default__$F,props:cascaderProps,emits:cascaderEmits,setup(e,{expose:t,emit:i}){const o=e,n={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:e})=>{const{modifiersData:t,placement:i}=e;["right","left","bottom","top"].includes(i)||t.arrow&&(t.arrow.x=35)},requires:["arrow"]}]},r=useAttrs$1();let s=0,a=0;const l=useNamespace("cascader"),c=useNamespace("input"),{t:d}=useLocale(),{formItem:u}=useFormItem(),h=useFormDisabled(),{valueOnClear:p}=useEmptyValues(o),{isComposing:g,handleComposition:m}=useComposition({afterComposition(e){var t;const i=null==(t=e.target)?void 0:t.value;pe(i)}}),f=ref$1(null),v=ref$1(),b=ref$1(),_=ref$1(null),y=ref$1(null),C=ref$1(null),w=ref$1(!1),x=ref$1(!1),S=ref$1(!1),k=ref$1(""),E=ref$1(""),I=ref$1([]),T=ref$1([]),D=ref$1([]),L=computed$1(()=>r.style),N=computed$1(()=>{var e;return null!=(e=o.placeholder)?e:d("el.cascader.placeholder")}),M=computed$1(()=>E.value||I.value.length>0||g.value?"":N.value),$=useFormSize(),R=computed$1(()=>"small"===$.value?"small":"default"),A=computed$1(()=>!!o.props.multiple),O=computed$1(()=>!o.filterable||A.value),P=computed$1(()=>A.value?E.value:k.value),B=computed$1(()=>{var e;return(null==(e=y.value)?void 0:e.checkedNodes)||[]}),{wrapperRef:F,isFocused:z,handleBlur:V}=useFocusController(b,{disabled:h,beforeBlur(e){var t,i,o;return(null==(t=f.value)?void 0:t.isFocusInsideContent(e))||(null==(o=null==(i=v.value)?void 0:i[0])?void 0:o.isFocusInsideContent(e))},afterBlur(){var e;w.value=!1,o.validateEvent&&(null==(e=null==u?void 0:u.validate)||e.call(u,"blur").catch(e=>debugWarn()))}}),H=computed$1(()=>!(!o.clearable||h.value||S.value||!x.value&&!z.value)&&!!B.value.length),W=computed$1(()=>{const{showAllLevels:e,separator:t}=o,i=B.value;return i.length?A.value?"":i[0].calcText(e,t):""}),K=computed$1(()=>(null==u?void 0:u.validateState)||""),U=computed$1({get:()=>cloneDeep(o.modelValue),set(e){const t=null!=e?e:p.value;i(UPDATE_MODEL_EVENT,t),i(CHANGE_EVENT,t),o.validateEvent&&(null==u||u.validate("change").catch(e=>debugWarn()))}}),j=computed$1(()=>[l.b(),l.m($.value),l.is("disabled",h.value),r.class]),G=computed$1(()=>[c.e("icon"),"icon-arrow-down",l.is("reverse",w.value)]),q=computed$1(()=>l.is("focus",z.value)),Y=computed$1(()=>{var e,t;return null==(t=null==(e=f.value)?void 0:e.popperRef)?void 0:t.contentRef}),X=e=>{if(z.value){const t=new FocusEvent("blur",e);V(t)}Q(!1)},Q=e=>{var t,n,r;h.value||(e=null!=e?e:!w.value)!==w.value&&(w.value=e,null==(n=null==(t=b.value)?void 0:t.input)||n.setAttribute("aria-expanded",`${e}`),e?(Z(),nextTick(null==(r=y.value)?void 0:r.scrollToExpandingNode)):o.filterable&&ce(),i("visibleChange",e))},Z=()=>{nextTick(()=>{var e;null==(e=f.value)||e.updatePopper()})},J=()=>{S.value=!1},ee=e=>{const{showAllLevels:t,separator:i}=o;return{node:e,key:e.uid,text:e.calcText(t,i),hitState:!1,closable:!h.value&&!e.isDisabled,isCollapseTag:!1}},te=e=>{var t;const o=e.node;o.doCheck(!1),null==(t=y.value)||t.calculateCheckedValue(),i("removeTag",o.valueByOption)},ie=()=>{var e,t;const{filterMethod:i,showAllLevels:n,separator:r}=o,s=null==(t=null==(e=y.value)?void 0:e.getFlattedNodes(!o.props.checkStrictly))?void 0:t.filter(e=>!e.isDisabled&&(e.calcText(n,r),i(e,P.value)));A.value&&(I.value.forEach(e=>{e.hitState=!1}),T.value.forEach(e=>{e.hitState=!1})),S.value=!0,D.value=s,Z()},oe=()=>{var e;let t;t=S.value&&C.value?C.value.$el.querySelector(`.${l.e("suggestion-item")}`):null==(e=y.value)?void 0:e.$el.querySelector(`.${l.b("node")}[tabindex="-1"]`),t&&(t.focus(),!S.value&&t.click())},ne=()=>{var e,t;const i=null==(e=b.value)?void 0:e.input,o=_.value,n=null==(t=C.value)?void 0:t.$el;if(isClient&&i){if(n){n.querySelector(`.${l.e("suggestion-list")}`).style.minWidth=`${i.offsetWidth}px`}if(o){const{offsetHeight:e}=o,t=I.value.length>0?Math.max(e,s)-2+"px":`${s}px`;i.style.height=t,Z()}}},re=e=>{var t;return null==(t=y.value)?void 0:t.getCheckedNodes(e)},se=e=>{Z(),i("expandChange",e)},ae=e=>{if(!g.value)switch(e.code){case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:Q();break;case EVENT_CODE.down:Q(!0),nextTick(oe),e.preventDefault();break;case EVENT_CODE.esc:!0===w.value&&(e.preventDefault(),e.stopPropagation(),Q(!1));break;case EVENT_CODE.tab:Q(!1)}},le=()=>{var e;null==(e=y.value)||e.clearCheckedNodes(),!w.value&&o.filterable&&ce(),Q(!1),i("clear")},ce=()=>{const{value:e}=W;k.value=e,E.value=e},de=e=>{const t=e.target,{code:i}=e;switch(i){case EVENT_CODE.up:case EVENT_CODE.down:{e.preventDefault();const o=i===EVENT_CODE.up?-1:1;focusNode(getSibling(t,o,`.${l.e("suggestion-item")}[tabindex="-1"]`));break}case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:t.click()}},ue=()=>{const e=I.value,t=e[e.length-1];a=E.value?0:a+1,!t||!a||o.collapseTags&&e.length>1||(t.hitState?te(t):t.hitState=!0)},he=debounce(()=>{const{value:e}=P;if(!e)return;const t=o.beforeFilter(e);isPromise(t)?t.then(ie).catch(()=>{}):!1!==t?ie():J()},o.debounce),pe=(e,t)=>{!w.value&&Q(!0),(null==t?void 0:t.isComposing)||(e?he():J())},ge=e=>Number.parseFloat(useCssVar(c.cssVarName("input-height"),e).value)-2;return watch(S,Z),watch([B,h,()=>o.collapseTags],()=>{if(!A.value)return;const e=(()=>{switch(o.showCheckedStrategy){case"child":return B.value;case"parent":{const e=re(!1),t=e.map(e=>e.value),i=e.filter(e=>!e.parent||!t.includes(e.parent.value));return i}default:return[]}})(),t=[],i=[];if(e.forEach(e=>i.push(ee(e))),T.value=i,e.length){e.slice(0,o.maxCollapseTags).forEach(e=>t.push(ee(e)));const i=e.slice(o.maxCollapseTags),n=i.length;n&&(o.collapseTags?t.push({key:-1,text:`+ ${n}`,closable:!1,isCollapseTag:!0}):i.forEach(e=>t.push(ee(e))))}I.value=t}),watch(I,()=>{nextTick(()=>ne())}),watch($,async()=>{await nextTick();const e=b.value.input;s=ge(e)||s,ne()}),watch(W,ce,{immediate:!0}),onMounted(()=>{const e=b.value.input,t=ge(e);s=e.offsetHeight||t,useResizeObserver(e,ne)}),t({getCheckedNodes:re,cascaderPanelRef:y,togglePopperVisible:Q,contentRef:Y,presentText:W}),(e,t)=>(openBlock(),createBlock(unref(ElTooltip),{ref_key:"tooltipRef",ref:f,visible:w.value,teleported:e.teleported,"popper-class":[unref(l).e("dropdown"),e.popperClass],"popper-style":e.popperStyle,"popper-options":n,"fallback-placements":e.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:e.placement,transition:`${unref(l).namespace.value}-zoom-in-top`,effect:e.effect,pure:"",persistent:e.persistent,onHide:J},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock("div",{ref_key:"wrapperRef",ref:F,class:normalizeClass(unref(j)),style:normalizeStyle(unref(L)),onClick:()=>Q(!unref(O)||void 0),onKeydown:ae,onMouseenter:e=>x.value=!0,onMouseleave:e=>x.value=!1},[createVNode(unref(ElInput),{ref_key:"inputRef",ref:b,modelValue:k.value,"onUpdate:modelValue":e=>k.value=e,placeholder:unref(M),readonly:unref(O),disabled:unref(h),"validate-event":!1,size:unref($),class:normalizeClass(unref(q)),tabindex:unref(A)&&e.filterable&&!unref(h)?-1:void 0,onCompositionstart:unref(m),onCompositionupdate:unref(m),onCompositionend:unref(m),onInput:pe},createSlots({suffix:withCtx(()=>[unref(H)?(openBlock(),createBlock(unref(ElIcon),{key:"clear",class:normalizeClass([unref(c).e("icon"),"icon-circle-close"]),onClick:withModifiers(le,["stop"])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.clearIcon)))]),_:1},8,["class","onClick"])):(openBlock(),createBlock(unref(ElIcon),{key:"arrow-down",class:normalizeClass(unref(G)),onClick:withModifiers(e=>Q(),["stop"])},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1},8,["class","onClick"]))]),_:2},[e.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(e.$slots,"prefix")])}:void 0]),1032,["modelValue","onUpdate:modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),unref(A)?(openBlock(),createElementBlock("div",{key:0,ref_key:"tagWrapper",ref:_,class:normalizeClass([unref(l).e("tags"),unref(l).is("validate",Boolean(unref(K)))])},[renderSlot(e.$slots,"tag",{data:T.value,deleteTag:te},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(I.value,t=>(openBlock(),createBlock(unref(ElTag),{key:t.key,type:e.tagType,size:unref(R),effect:e.tagEffect,hit:t.hitState,closable:t.closable,"disable-transitions":"",onClose:e=>te(t)},{default:withCtx(()=>[!1===t.isCollapseTag?(openBlock(),createElementBlock("span",{key:0},toDisplayString(t.text),1)):(openBlock(),createBlock(unref(ElTooltip),{key:1,ref_for:!0,ref_key:"tagTooltipRef",ref:v,disabled:w.value||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,effect:e.effect},{default:withCtx(()=>[createBaseVNode("span",null,toDisplayString(t.text),1)]),content:withCtx(()=>[createVNode(unref(ElScrollbar),{"max-height":e.maxCollapseTagsTooltipHeight},{default:withCtx(()=>[createBaseVNode("div",{class:normalizeClass(unref(l).e("collapse-tags"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(T.value.slice(e.maxCollapseTags),(t,i)=>(openBlock(),createElementBlock("div",{key:i,class:normalizeClass(unref(l).e("collapse-tag"))},[(openBlock(),createBlock(unref(ElTag),{key:t.key,class:"in-tooltip",type:e.tagType,size:unref(R),effect:e.tagEffect,hit:t.hitState,closable:t.closable,"disable-transitions":"",onClose:e=>te(t)},{default:withCtx(()=>[createBaseVNode("span",null,toDisplayString(t.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:2},1032,["disabled","popper-class","popper-style","effect"]))]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),e.filterable&&!unref(h)?withDirectives((openBlock(),createElementBlock("input",{key:0,"onUpdate:modelValue":e=>E.value=e,type:"text",class:normalizeClass(unref(l).e("search-input")),placeholder:unref(W)?"":unref(N),onInput:e=>pe(E.value,e),onClick:withModifiers(e=>Q(!0),["stop"]),onKeydown:withKeys(ue,["delete"]),onCompositionstart:unref(m),onCompositionupdate:unref(m),onCompositionend:unref(m)},null,42,["onUpdate:modelValue","placeholder","onInput","onClick","onKeydown","onCompositionstart","onCompositionupdate","onCompositionend"])),[[vModelText,E.value]]):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],46,["onClick","onMouseenter","onMouseleave"])),[[unref(ClickOutside),X,unref(Y)]])]),content:withCtx(()=>[e.$slots.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(l).e("header")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(e.$slots,"header")],10,["onClick"])):createCommentVNode("v-if",!0),withDirectives(createVNode(unref(ElCascaderPanel),{ref_key:"cascaderPanelRef",ref:y,modelValue:unref(U),"onUpdate:modelValue":e=>isRef(U)?U.value=e:null,options:e.options,props:o.props,border:!1,"render-label":e.$slots.default,onExpandChange:se,onClose:t=>e.$nextTick(()=>Q(!1))},{empty:withCtx(()=>[renderSlot(e.$slots,"empty")]),_:3},8,["modelValue","onUpdate:modelValue","options","props","render-label","onClose"]),[[vShow,!S.value]]),e.filterable?withDirectives((openBlock(),createBlock(unref(ElScrollbar),{key:1,ref_key:"suggestionPanel",ref:C,tag:"ul",class:normalizeClass(unref(l).e("suggestion-panel")),"view-class":unref(l).e("suggestion-list"),onKeydown:de},{default:withCtx(()=>[D.value.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(D.value,t=>(openBlock(),createElementBlock("li",{key:t.uid,class:normalizeClass([unref(l).e("suggestion-item"),unref(l).is("checked",t.checked)]),tabindex:-1,onClick:e=>(e=>{var t,i;const{checked:o}=e;A.value?null==(t=y.value)||t.handleCheckChange(e,!o,!1):(!o&&(null==(i=y.value)||i.handleCheckChange(e,!0,!1)),Q(!1))})(t)},[renderSlot(e.$slots,"suggestion-item",{item:t},()=>[createBaseVNode("span",null,toDisplayString(t.text),1),t.checked?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[createVNode(unref(check_default))]),_:1})):createCommentVNode("v-if",!0)])],10,["onClick"]))),128)):renderSlot(e.$slots,"empty",{key:1},()=>[createBaseVNode("li",{class:normalizeClass(unref(l).e("empty-text"))},toDisplayString(unref(d)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[vShow,S.value]]):createCommentVNode("v-if",!0),e.$slots.footer?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(unref(l).e("footer")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(e.$slots,"footer")],10,["onClick"])):createCommentVNode("v-if",!0)]),_:3},8,["visible","teleported","popper-class","popper-style","fallback-placements","placement","transition","effect","persistent"]))}});var Cascader=_export_sfc$1(_sfc_main$1f,[["__file","cascader.vue"]]);const ElCascader=withInstall(Cascader),colProps=buildProps({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:definePropType([Number,Object]),default:()=>mutable({})},sm:{type:definePropType([Number,Object]),default:()=>mutable({})},md:{type:definePropType([Number,Object]),default:()=>mutable({})},lg:{type:definePropType([Number,Object]),default:()=>mutable({})},xl:{type:definePropType([Number,Object]),default:()=>mutable({})}}),rowContextKey=Symbol("rowContextKey"),__default__$E=defineComponent({name:"ElCol"}),_sfc_main$1e=defineComponent({...__default__$E,props:colProps,setup(e){const t=e,{gutter:i}=inject(rowContextKey,{gutter:computed$1(()=>0)}),o=useNamespace("col"),n=computed$1(()=>{const e={};return i.value&&(e.paddingLeft=e.paddingRight=i.value/2+"px"),e}),r=computed$1(()=>{const e=[];["span","offset","pull","push"].forEach(i=>{const n=t[i];isNumber(n)&&("span"===i?e.push(o.b(`${t[i]}`)):n>0&&e.push(o.b(`${i}-${t[i]}`)))});return["xs","sm","md","lg","xl"].forEach(i=>{isNumber(t[i])?e.push(o.b(`${i}-${t[i]}`)):isObject(t[i])&&Object.entries(t[i]).forEach(([t,n])=>{e.push("span"!==t?o.b(`${i}-${t}-${n}`):o.b(`${i}-${n}`))})}),i.value&&e.push(o.is("guttered")),[o.b(),e]});return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(e.tag),{class:normalizeClass(unref(r)),style:normalizeStyle(unref(n))},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["class","style"]))}});var Col=_export_sfc$1(_sfc_main$1e,[["__file","col.vue"]]);const ElCol=withInstall(Col),emitChangeFn=e=>isNumber(e)||isString$1(e)||isArray$1(e),collapseProps=buildProps({accordion:Boolean,modelValue:{type:definePropType([Array,String,Number]),default:()=>mutable([])},expandIconPosition:{type:definePropType([String]),default:"right"},beforeCollapse:{type:definePropType(Function)}}),collapseEmits={[UPDATE_MODEL_EVENT]:emitChangeFn,[CHANGE_EVENT]:emitChangeFn},collapseContextKey=Symbol("collapseContextKey"),SCOPE$2="ElCollapse",useCollapse=(e,t)=>{const i=ref$1(castArray$1(e.modelValue)),o=o=>{i.value=o;const n=e.accordion?i.value[0]:i.value;t(UPDATE_MODEL_EVENT,n),t(CHANGE_EVENT,n)},n=t=>{if(e.accordion)o([i.value[0]===t?"":t]);else{const e=[...i.value],n=e.indexOf(t);n>-1?e.splice(n,1):e.push(t),o(e)}};return watch(()=>e.modelValue,()=>i.value=castArray$1(e.modelValue),{deep:!0}),provide(collapseContextKey,{activeNames:i,handleItemClick:async t=>{const{beforeCollapse:i}=e;if(!i)return void n(t);const o=i(t);[isPromise(o),isBoolean(o)].includes(!0)||throwError(SCOPE$2,"beforeCollapse must return type `Promise` or `boolean`"),isPromise(o)?o.then(e=>{!1!==e&&n(t)}).catch(e=>{}):o&&n(t)}}),{activeNames:i,setActiveNames:o}},useCollapseDOM=e=>{const t=useNamespace("collapse");return{rootKls:computed$1(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},__default__$D=defineComponent({name:"ElCollapse"}),_sfc_main$1d=defineComponent({...__default__$D,props:collapseProps,emits:collapseEmits,setup(e,{expose:t,emit:i}){const o=e,{activeNames:n,setActiveNames:r}=useCollapse(o,i),{rootKls:s}=useCollapseDOM(o);return t({activeNames:n,setActiveNames:r}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(s))},[renderSlot(e.$slots,"default")],2))}});var Collapse=_export_sfc$1(_sfc_main$1d,[["__file","collapse.vue"]]);const __default__$C=defineComponent({name:"ElCollapseTransition"}),_sfc_main$1c=defineComponent({...__default__$C,setup(e){const t=useNamespace("collapse-transition"),i=e=>{e.style.maxHeight="",e.style.overflow=e.dataset.oldOverflow,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom},o={beforeEnter(e){e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.style.height&&(e.dataset.elExistsHeight=e.style.height),e.style.maxHeight=0,e.style.paddingTop=0,e.style.paddingBottom=0},enter(e){requestAnimationFrame(()=>{e.dataset.oldOverflow=e.style.overflow,e.dataset.elExistsHeight?e.style.maxHeight=e.dataset.elExistsHeight:0!==e.scrollHeight?e.style.maxHeight=`${e.scrollHeight}px`:e.style.maxHeight=0,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom,e.style.overflow="hidden"})},afterEnter(e){e.style.maxHeight="",e.style.overflow=e.dataset.oldOverflow},enterCancelled(e){i(e)},beforeLeave(e){e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.dataset.oldOverflow=e.style.overflow,e.style.maxHeight=`${e.scrollHeight}px`,e.style.overflow="hidden"},leave(e){0!==e.scrollHeight&&(e.style.maxHeight=0,e.style.paddingTop=0,e.style.paddingBottom=0)},afterLeave(e){i(e)},leaveCancelled(e){i(e)}};return(e,i)=>(openBlock(),createBlock(Transition,mergeProps({name:unref(t).b()},toHandlers(o)),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16,["name"]))}});var CollapseTransition=_export_sfc$1(_sfc_main$1c,[["__file","collapse-transition.vue"]]);const ElCollapseTransition=withInstall(CollapseTransition),collapseItemProps=buildProps({title:{type:String,default:""},name:{type:definePropType([String,Number]),default:void 0},icon:{type:iconPropType,default:arrow_right_default},disabled:Boolean}),useCollapseItem=e=>{const t=inject(collapseContextKey),{namespace:i}=useNamespace("collapse"),o=ref$1(!1),n=ref$1(!1),r=useIdInjection(),s=computed$1(()=>r.current++),a=computed$1(()=>{var t;return null!=(t=e.name)?t:`${i.value}-id-${r.prefix}-${unref(s)}`}),l=computed$1(()=>null==t?void 0:t.activeNames.value.includes(unref(a)));return{focusing:o,id:s,isActive:l,handleFocus:()=>{setTimeout(()=>{n.value?n.value=!1:o.value=!0},50)},handleHeaderClick:i=>{if(e.disabled)return;const r=i.target;(null==r?void 0:r.closest("input, textarea, select"))||(null==t||t.handleItemClick(unref(a)),o.value=!1,n.value=!0)},handleEnterClick:e=>{const i=e.target;(null==i?void 0:i.closest("input, textarea, select"))||(e.preventDefault(),null==t||t.handleItemClick(unref(a)))}}},useCollapseItemDOM=(e,{focusing:t,isActive:i,id:o})=>{const n=useNamespace("collapse"),r=computed$1(()=>[n.b("item"),n.is("active",unref(i)),n.is("disabled",e.disabled)]),s=computed$1(()=>[n.be("item","header"),n.is("active",unref(i)),{focusing:unref(t)&&!e.disabled}]),a=computed$1(()=>[n.be("item","arrow"),n.is("active",unref(i))]);return{itemTitleKls:computed$1(()=>[n.be("item","title")]),arrowKls:a,headKls:s,rootKls:r,itemWrapperKls:computed$1(()=>n.be("item","wrap")),itemContentKls:computed$1(()=>n.be("item","content")),scopedContentId:computed$1(()=>n.b(`content-${unref(o)}`)),scopedHeadId:computed$1(()=>n.b(`head-${unref(o)}`))}},__default__$B=defineComponent({name:"ElCollapseItem"}),_sfc_main$1b=defineComponent({...__default__$B,props:collapseItemProps,setup(e,{expose:t}){const i=e,{focusing:o,id:n,isActive:r,handleFocus:s,handleHeaderClick:a,handleEnterClick:l}=useCollapseItem(i),{arrowKls:c,headKls:d,rootKls:u,itemTitleKls:h,itemWrapperKls:p,itemContentKls:g,scopedContentId:m,scopedHeadId:f}=useCollapseItemDOM(i,{focusing:o,isActive:r,id:n});return t({isActive:r}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(u))},[createBaseVNode("div",{id:unref(f),class:normalizeClass(unref(d)),"aria-expanded":unref(r),"aria-controls":unref(m),"aria-describedby":unref(m),tabindex:e.disabled?-1:0,role:"button",onClick:unref(a),onKeydown:withKeys(withModifiers(unref(l),["stop"]),["space","enter"]),onFocus:unref(s),onBlur:e=>o.value=!1},[createBaseVNode("span",{class:normalizeClass(unref(h))},[renderSlot(e.$slots,"title",{isActive:unref(r)},()=>[createTextVNode(toDisplayString(e.title),1)])],2),renderSlot(e.$slots,"icon",{isActive:unref(r)},()=>[createVNode(unref(ElIcon),{class:normalizeClass(unref(c))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.icon)))]),_:1},8,["class"])])],42,["id","aria-expanded","aria-controls","aria-describedby","tabindex","onClick","onKeydown","onFocus","onBlur"]),createVNode(unref(ElCollapseTransition),null,{default:withCtx(()=>[withDirectives(createBaseVNode("div",{id:unref(m),role:"region",class:normalizeClass(unref(p)),"aria-hidden":!unref(r),"aria-labelledby":unref(f)},[createBaseVNode("div",{class:normalizeClass(unref(g))},[renderSlot(e.$slots,"default")],2)],10,["id","aria-hidden","aria-labelledby"]),[[vShow,unref(r)]])]),_:3})],2))}});var CollapseItem=_export_sfc$1(_sfc_main$1b,[["__file","collapse-item.vue"]]);const ElCollapse=withInstall(Collapse,{CollapseItem:CollapseItem}),ElCollapseItem=withNoopInstall(CollapseItem),alphaSliderProps=buildProps({color:{type:definePropType(Object),required:!0},vertical:Boolean,disabled:Boolean});let isDragging=!1;function draggable(e,t){if(!isClient)return;const i=function(e){var i;null==(i=t.drag)||i.call(t,e)},o=function(e){var n;document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",o),document.removeEventListener("touchmove",i),document.removeEventListener("touchend",o),document.onselectstart=null,document.ondragstart=null,isDragging=!1,null==(n=t.end)||n.call(t,e)},n=function(e){var n;isDragging||(e.preventDefault(),document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener("mousemove",i),document.addEventListener("mouseup",o),document.addEventListener("touchmove",i),document.addEventListener("touchend",o),isDragging=!0,null==(n=t.start)||n.call(t,e))};e.addEventListener("mousedown",n),e.addEventListener("touchstart",n,{passive:!1})}const getClientXY=e=>{let t,i;return"touchend"===e.type?(i=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith("touch")?(i=e.touches[0].clientY,t=e.touches[0].clientX):(i=e.clientY,t=e.clientX),{clientX:t,clientY:i}},useAlphaSlider=e=>{const t=getCurrentInstance$1(),{t:i}=useLocale(),o=shallowRef(),n=shallowRef(),r=computed$1(()=>e.color.get("alpha")),s=computed$1(()=>i("el.colorpicker.alphaLabel"));function a(i){if(!n.value||!o.value||e.disabled)return;const r=t.vnode.el.getBoundingClientRect(),{clientX:s,clientY:a}=getClientXY(i);if(e.vertical){let t=a-r.top;t=Math.max(o.value.offsetHeight/2,t),t=Math.min(t,r.height-o.value.offsetHeight/2),e.color.set("alpha",Math.round((t-o.value.offsetHeight/2)/(r.height-o.value.offsetHeight)*100))}else{let t=s-r.left;t=Math.max(o.value.offsetWidth/2,t),t=Math.min(t,r.width-o.value.offsetWidth/2),e.color.set("alpha",Math.round((t-o.value.offsetWidth/2)/(r.width-o.value.offsetWidth)*100))}}function l(t){let i=r.value+t;i=i<0?0:i>100?100:i,e.color.set("alpha",i)}return{thumb:o,bar:n,alpha:r,alphaLabel:s,handleDrag:a,handleClick:function(t){var i;if(e.disabled)return;t.target!==o.value&&a(t),null==(i=o.value)||i.focus()},handleKeydown:function(t){if(e.disabled)return;const{code:i,shiftKey:o}=t,n=o?10:1;switch(i){case EVENT_CODE.left:case EVENT_CODE.down:t.preventDefault(),t.stopPropagation(),l(-n);break;case EVENT_CODE.right:case EVENT_CODE.up:t.preventDefault(),t.stopPropagation(),l(n)}}}},useAlphaSliderDOM=(e,{bar:t,thumb:i,handleDrag:o})=>{const n=getCurrentInstance$1(),r=useNamespace("color-alpha-slider"),s=ref$1(0),a=ref$1(0),l=ref$1();function c(){s.value=function(){if(!i.value)return 0;if(e.vertical)return 0;const t=n.vnode.el,o=e.color.get("alpha");return t?Math.round(o*(t.offsetWidth-i.value.offsetWidth/2)/100):0}(),a.value=function(){if(!i.value)return 0;const t=n.vnode.el;if(!e.vertical)return 0;const o=e.color.get("alpha");return t?Math.round(o*(t.offsetHeight-i.value.offsetHeight/2)/100):0}(),l.value=function(){if(e.color&&e.color.value){const{r:t,g:i,b:o}=e.color.toRgb();return`linear-gradient(to right, rgba(${t}, ${i}, ${o}, 0) 0%, rgba(${t}, ${i}, ${o}, 1) 100%)`}return""}()}onMounted(()=>{if(!t.value||!i.value)return;const e={drag:e=>{o(e)},end:e=>{o(e)}};draggable(t.value,e),draggable(i.value,e),c()}),watch(()=>e.color.get("alpha"),()=>c()),watch(()=>e.color.value,()=>c());const d=computed$1(()=>[r.b(),r.is("vertical",e.vertical),r.is("disabled",e.disabled)]),u=computed$1(()=>r.e("bar")),h=computed$1(()=>r.e("thumb"));return{rootKls:d,barKls:u,barStyle:computed$1(()=>({background:l.value})),thumbKls:h,thumbStyle:computed$1(()=>({left:addUnit(s.value),top:addUnit(a.value)})),update:c}},COMPONENT_NAME$a="ElColorAlphaSlider",__default__$A=defineComponent({name:COMPONENT_NAME$a}),_sfc_main$1a=defineComponent({...__default__$A,props:alphaSliderProps,setup(e,{expose:t}){const i=e,{alpha:o,alphaLabel:n,bar:r,thumb:s,handleDrag:a,handleClick:l,handleKeydown:c}=useAlphaSlider(i),{rootKls:d,barKls:u,barStyle:h,thumbKls:p,thumbStyle:g,update:m}=useAlphaSliderDOM(i,{bar:r,thumb:s,handleDrag:a});return t({update:m,bar:r,thumb:s}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(d))},[createBaseVNode("div",{ref_key:"bar",ref:r,class:normalizeClass(unref(u)),style:normalizeStyle(unref(h)),onClick:unref(l)},null,14,["onClick"]),createBaseVNode("div",{ref_key:"thumb",ref:s,class:normalizeClass(unref(p)),style:normalizeStyle(unref(g)),"aria-label":unref(n),"aria-valuenow":unref(o),"aria-orientation":e.vertical?"vertical":"horizontal","aria-valuemin":"0","aria-valuemax":"100",role:"slider",tabindex:"0",onKeydown:unref(c)},null,46,["aria-label","aria-valuenow","aria-orientation","onKeydown"])],2))}});var AlphaSlider=_export_sfc$1(_sfc_main$1a,[["__file","alpha-slider.vue"]]);const _sfc_main$19=defineComponent({name:"ElColorHueSlider",props:{color:{type:Object,required:!0},vertical:Boolean,disabled:Boolean},setup(e){const t=useNamespace("color-hue-slider"),i=getCurrentInstance$1(),o=ref$1(),n=ref$1(),r=ref$1(0),s=ref$1(0),a=computed$1(()=>e.color.get("hue"));function l(t){if(!n.value||!o.value||e.disabled)return;const r=i.vnode.el.getBoundingClientRect(),{clientX:s,clientY:a}=getClientXY(t);let l;if(e.vertical){let e=a-r.top;e=Math.min(e,r.height-o.value.offsetHeight/2),e=Math.max(o.value.offsetHeight/2,e),l=Math.round((e-o.value.offsetHeight/2)/(r.height-o.value.offsetHeight)*360)}else{let e=s-r.left;e=Math.min(e,r.width-o.value.offsetWidth/2),e=Math.max(o.value.offsetWidth/2,e),l=Math.round((e-o.value.offsetWidth/2)/(r.width-o.value.offsetWidth)*360)}e.color.set("hue",l)}function c(){r.value=function(){if(!o.value)return 0;const t=i.vnode.el;if(e.vertical)return 0;const n=e.color.get("hue");return t?Math.round(n*(t.offsetWidth-o.value.offsetWidth/2)/360):0}(),s.value=function(){if(!o.value)return 0;const t=i.vnode.el;if(!e.vertical)return 0;const n=e.color.get("hue");return t?Math.round(n*(t.offsetHeight-o.value.offsetHeight/2)/360):0}()}return watch(()=>a.value,()=>{c()}),onMounted(()=>{if(!n.value||!o.value||e.disabled)return;const t={drag:e=>{l(e)},end:e=>{l(e)}};draggable(n.value,t),draggable(o.value,t),c()}),{bar:n,thumb:o,thumbLeft:r,thumbTop:s,hueValue:a,handleClick:function(t){if(e.disabled)return;t.target!==o.value&&l(t)},update:c,ns:t}}});function _sfc_render$m(e,t,i,o,n,r){return openBlock(),createElementBlock("div",{class:normalizeClass([e.ns.b(),e.ns.is("vertical",e.vertical)])},[createBaseVNode("div",{ref:"bar",class:normalizeClass(e.ns.e("bar")),onClick:e.handleClick},null,10,["onClick"]),createBaseVNode("div",{ref:"thumb",class:normalizeClass(e.ns.e("thumb")),style:normalizeStyle({left:e.thumbLeft+"px",top:e.thumbTop+"px"})},null,6)],2)}var HueSlider=_export_sfc$1(_sfc_main$19,[["render",_sfc_render$m],["__file","hue-slider.vue"]]);const colorPickerPanelProps=buildProps({modelValue:{type:definePropType(String),default:void 0},border:{type:Boolean,default:!0},showAlpha:Boolean,colorFormat:String,disabled:Boolean,predefine:{type:definePropType(Array)}}),colorPickerPanelEmits={[UPDATE_MODEL_EVENT]:e=>isString$1(e)||isNil(e)},ROOT_COMMON_COLOR_INJECTION_KEY=Symbol("colorCommonPickerKey"),colorPickerPanelContextKey=Symbol("colorPickerPanelContextKey");class Color{constructor(e={}){this._hue=0,this._saturation=100,this._value=100,this._alpha=100,this._tiny=new TinyColor,this._isValid=!1,this.enableAlpha=!1,this.format="",this.value="";for(const t in e)hasOwn(e,t)&&(this[t]=e[t]);e.value?this.fromString(e.value):this.doOnChange()}set(e,t){if(1!==arguments.length||"object"!=typeof e)this[`_${e}`]=t,this._isValid=!0,this.doOnChange();else for(const i in e)hasOwn(e,i)&&this.set(i,e[i])}get(e){return["hue","saturation","value","alpha"].includes(e)?Math.round(this[`_${e}`]):this[`_${e}`]}toRgb(){return this._isValid?this._tiny.toRgb():{r:255,g:255,b:255,a:0}}fromString(e){const t=new TinyColor(e);if(this._isValid=t.isValid,t.isValid){const{h:e,s:i,v:o,a:n}=t.toHsv();this._hue=e,this._saturation=100*i,this._value=100*o,this._alpha=100*n}else this._hue=0,this._saturation=100,this._value=100,this._alpha=100;this.doOnChange()}compare(e){const t=new TinyColor({h:e._hue,s:e._saturation/100,v:e._value/100,a:e._alpha/100});return this._tiny.equals(t)}doOnChange(){const{_hue:e,_saturation:t,_value:i,_alpha:o,format:n,enableAlpha:r}=this;let s=n||(r?"rgb":"hex");"hex"===n&&r&&(s="hex8"),this._tiny=new TinyColor({h:e,s:t/100,v:i/100,a:o/100}),this.value=this._isValid?this._tiny.toString(s):""}}const _sfc_main$18=defineComponent({props:{colors:{type:Array,required:!0},color:{type:Object,required:!0},enableAlpha:{type:Boolean,required:!0},disabled:Boolean},setup(e){const t=useNamespace("color-predefine"),{currentColor:i}=inject(colorPickerPanelContextKey),o=ref$1(n(e.colors,e.color));function n(e,t){return e.map(e=>{const i=new Color({value:e});return i.selected=i.compare(t),i})}return watch(()=>i.value,e=>{const t=new Color({value:e});o.value.forEach(e=>{e.selected=t.compare(e)})}),watchEffect(()=>{o.value=n(e.colors,e.color)}),{rgbaColors:o,handleSelect:function(t){e.disabled||e.color.fromString(e.colors[t])},ns:t}}});function _sfc_render$l(e,t,i,o,n,r){return openBlock(),createElementBlock("div",{class:normalizeClass(e.ns.b())},[createBaseVNode("div",{class:normalizeClass(e.ns.e("colors"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.rgbaColors,(t,i)=>(openBlock(),createElementBlock("div",{key:e.colors[i],class:normalizeClass([e.ns.e("color-selector"),e.ns.is("alpha",t.get("alpha")<100),{selected:t.selected}]),onClick:t=>e.handleSelect(i)},[createBaseVNode("div",{style:normalizeStyle({backgroundColor:t.value})},null,4)],10,["onClick"]))),128))],2)],2)}var Predefine=_export_sfc$1(_sfc_main$18,[["render",_sfc_render$l],["__file","predefine.vue"]]);const _sfc_main$17=defineComponent({name:"ElSlPanel",props:{color:{type:Object,required:!0},disabled:Boolean},setup(e){const t=useNamespace("color-svpanel"),i=getCurrentInstance$1(),o=ref$1(0),n=ref$1(0),r=ref$1("hsl(0, 100%, 50%)"),s=computed$1(()=>({hue:e.color.get("hue"),value:e.color.get("value")}));function a(){const t=e.color.get("saturation"),s=e.color.get("value"),a=i.vnode.el,{clientWidth:l,clientHeight:c}=a;n.value=t*l/100,o.value=(100-s)*c/100,r.value=`hsl(${e.color.get("hue")}, 100%, 50%)`}function l(t){if(e.disabled)return;const r=i.vnode.el.getBoundingClientRect(),{clientX:s,clientY:a}=getClientXY(t);let l=s-r.left,c=a-r.top;l=Math.max(0,l),l=Math.min(l,r.width),c=Math.max(0,c),c=Math.min(c,r.height),n.value=l,o.value=c,e.color.set({saturation:l/r.width*100,value:100-c/r.height*100})}return watch(()=>s.value,()=>{a()}),onMounted(()=>{draggable(i.vnode.el,{drag:e=>{l(e)},end:e=>{l(e)}}),a()}),{cursorTop:o,cursorLeft:n,background:r,colorValue:s,handleDrag:l,update:a,ns:t}}});function _sfc_render$k(e,t,i,o,n,r){return openBlock(),createElementBlock("div",{class:normalizeClass(e.ns.b()),style:normalizeStyle({backgroundColor:e.background})},[createBaseVNode("div",{class:normalizeClass(e.ns.e("white"))},null,2),createBaseVNode("div",{class:normalizeClass(e.ns.e("black"))},null,2),createBaseVNode("div",{class:normalizeClass(e.ns.e("cursor")),style:normalizeStyle({top:e.cursorTop+"px",left:e.cursorLeft+"px"})},[createBaseVNode("div")],6)],6)}var SvPanel=_export_sfc$1(_sfc_main$17,[["render",_sfc_render$k],["__file","sv-panel.vue"]]);const useCommonColor=(e,t)=>{const i=reactive$1(new Color({enableAlpha:e.showAlpha,format:e.colorFormat||"",value:e.modelValue}));return watch(()=>[e.colorFormat,e.showAlpha],()=>{i.enableAlpha=e.showAlpha,i.format=e.colorFormat||i.format,i.doOnChange(),t(UPDATE_MODEL_EVENT,i.value)}),{color:i}},__default__$z=defineComponent({name:"ElColorPickerPanel"}),_sfc_main$16=defineComponent({...__default__$z,props:colorPickerPanelProps,emits:colorPickerPanelEmits,setup(e,{expose:t,emit:i}){const o=e,n=useNamespace("color-picker-panel"),r=useFormDisabled(),s=ref$1(),a=ref$1(),l=ref$1(),c=ref$1(),d=ref$1(""),{color:u}=inject(ROOT_COMMON_COLOR_INJECTION_KEY,()=>useCommonColor(o,i),!0);function h(){u.fromString(d.value),u.value!==d.value&&(d.value=u.value)}return onMounted(()=>{o.modelValue&&(d.value=u.value),nextTick(()=>{var e,t,i;null==(e=s.value)||e.update(),null==(t=a.value)||t.update(),null==(i=l.value)||i.update()})}),watch(()=>o.modelValue,e=>{e&&e!==u.value&&u.fromString(e)}),watch(()=>u.value,e=>{i(UPDATE_MODEL_EVENT,e),d.value=e}),provide(colorPickerPanelContextKey,{currentColor:computed$1(()=>u.value)}),t({color:u,inputRef:c}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(n).b(),unref(n).is("disabled",unref(r)),unref(n).is("border",e.border)])},[createBaseVNode("div",{class:normalizeClass(unref(n).e("wrapper"))},[createVNode(HueSlider,{ref_key:"hue",ref:s,class:"hue-slider",color:unref(u),vertical:"",disabled:unref(r)},null,8,["color","disabled"]),createVNode(SvPanel,{ref_key:"sv",ref:a,color:unref(u),disabled:unref(r)},null,8,["color","disabled"])],2),e.showAlpha?(openBlock(),createBlock(AlphaSlider,{key:0,ref_key:"alpha",ref:l,color:unref(u),disabled:unref(r)},null,8,["color","disabled"])):createCommentVNode("v-if",!0),e.predefine?(openBlock(),createBlock(Predefine,{key:1,ref:"predefine","enable-alpha":e.showAlpha,color:unref(u),colors:e.predefine,disabled:unref(r)},null,8,["enable-alpha","color","colors","disabled"])):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(n).e("footer"))},[createVNode(unref(ElInput),{ref_key:"inputRef",ref:c,modelValue:d.value,"onUpdate:modelValue":e=>d.value=e,"validate-event":!1,size:"small",disabled:unref(r),onChange:h},null,8,["modelValue","onUpdate:modelValue","disabled"]),renderSlot(e.$slots,"footer")],2)],2))}});var ColorPickerPanel=_export_sfc$1(_sfc_main$16,[["__file","color-picker-panel.vue"]]);const ElColorPickerPanel=withInstall(ColorPickerPanel),colorPickerProps=buildProps({persistent:{type:Boolean,default:!0},modelValue:{type:definePropType(String),default:void 0},id:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:useSizeProp,popperClass:{type:String,default:""},tabindex:{type:[String,Number],default:0},teleported:useTooltipContentProps.teleported,appendTo:useTooltipContentProps.appendTo,predefine:{type:definePropType(Array)},validateEvent:{type:Boolean,default:!0},...useEmptyValuesProps,...useAriaProps(["ariaLabel"])}),colorPickerEmits={[UPDATE_MODEL_EVENT]:e=>isString$1(e)||isNil(e),[CHANGE_EVENT]:e=>isString$1(e)||isNil(e),activeChange:e=>isString$1(e)||isNil(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},__default__$y=defineComponent({name:"ElColorPicker"}),_sfc_main$15=defineComponent({...__default__$y,props:colorPickerProps,emits:colorPickerEmits,setup(e,{expose:t,emit:i}){const o=e,{t:n}=useLocale(),r=useNamespace("color"),{formItem:s}=useFormItem(),a=useFormSize(),l=useFormDisabled(),{valueOnClear:c,isEmptyValue:d}=useEmptyValues(o,null),u=useCommonColor(o,i),{inputId:h,isLabeledByFormItem:p}=useFormItemInputId(o,{formItemContext:s}),g=ref$1(),m=ref$1(),f=ref$1(),v=ref$1(!1),b=ref$1(!1);let _=!0;const{isFocused:y,handleFocus:C,handleBlur:w}=useFocusController(m,{disabled:l,beforeBlur(e){var t;return null==(t=g.value)?void 0:t.isFocusInsideContent(e)},afterBlur(){L(!1),R()}}),x=reactiveComputed(()=>{var e,t;return null!=(t=null==(e=f.value)?void 0:e.color)?t:u.color}),S=computed$1(()=>pick(o,Object.keys(colorPickerPanelProps))),k=computed$1(()=>o.modelValue||b.value?function(e,t){const{r:i,g:o,b:n,a:r}=e.toRgb();return t?`rgba(${i}, ${o}, ${n}, ${r})`:`rgb(${i}, ${o}, ${n})`}(x,o.showAlpha):"transparent"),E=computed$1(()=>o.modelValue||b.value?x.value:""),I=computed$1(()=>p.value?void 0:o.ariaLabel||n("el.colorpicker.defaultLabel")),T=computed$1(()=>p.value?null==s?void 0:s.labelId:void 0),D=computed$1(()=>[r.b("picker"),r.is("disabled",l.value),r.bm("picker",a.value),r.is("focused",y.value)]);function L(e){v.value=e}const N=debounce(L,100,{leading:!0});function M(){l.value||L(!0)}function $(){N(!1),R()}function R(){nextTick(()=>{o.modelValue?x.fromString(o.modelValue):(x.value="",nextTick(()=>{b.value=!1}))})}function A(){l.value||(v.value&&R(),N(!v.value))}function O(){const e=d(x.value)?c.value:x.value;i(UPDATE_MODEL_EVENT,e),i(CHANGE_EVENT,e),o.validateEvent&&(null==s||s.validate("change").catch(e=>debugWarn())),N(!1),nextTick(()=>{const e=new Color({enableAlpha:o.showAlpha,format:o.colorFormat||"",value:o.modelValue});x.compare(e)||R()})}function P(){N(!1),i(UPDATE_MODEL_EVENT,c.value),i(CHANGE_EVENT,c.value),o.modelValue!==c.value&&o.validateEvent&&(null==s||s.validate("change").catch(e=>debugWarn())),R()}function B(){v.value&&($(),y.value&&V())}function F(e){e.preventDefault(),e.stopPropagation(),L(!1),R()}function z(e){var t,i;switch(e.code){case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:case EVENT_CODE.space:e.preventDefault(),e.stopPropagation(),M(),null==(i=null==(t=null==f?void 0:f.value)?void 0:t.inputRef)||i.focus();break;case EVENT_CODE.esc:F(e)}}function V(){m.value.focus()}return watch(()=>E.value,e=>{_&&i("activeChange",e),_=!0}),watch(()=>x.value,()=>{o.modelValue||b.value||(b.value=!0)}),watch(()=>o.modelValue,e=>{e?e&&e!==x.value&&(_=!1,x.fromString(e)):b.value=!1}),provide(ROOT_COMMON_COLOR_INJECTION_KEY,u),t({color:x,show:M,hide:$,focus:V,blur:function(){m.value.blur()}}),(e,t)=>(openBlock(),createBlock(unref(ElTooltip),{ref_key:"popper",ref:g,visible:v.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[unref(r).be("picker","panel"),e.popperClass],"stop-popper-mouse-event":!1,pure:"",effect:"light",trigger:"click",teleported:e.teleported,transition:`${unref(r).namespace.value}-zoom-in-top`,persistent:e.persistent,"append-to":e.appendTo,onHide:e=>L(!1)},{content:withCtx(()=>[withDirectives((openBlock(),createBlock(unref(ElColorPickerPanel),mergeProps({ref_key:"pickerPanelRef",ref:f},unref(S),{border:!1,onKeydown:withKeys(F,["esc"])}),{footer:withCtx(()=>[createBaseVNode("div",null,[createVNode(unref(ElButton),{class:normalizeClass(unref(r).be("footer","link-btn")),text:"",size:"small",onClick:P},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(n)("el.colorpicker.clear")),1)]),_:1},8,["class"]),createVNode(unref(ElButton),{plain:"",size:"small",class:normalizeClass(unref(r).be("footer","btn")),onClick:O},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(n)("el.colorpicker.confirm")),1)]),_:1},8,["class"])])]),_:1},16,["onKeydown"])),[[unref(ClickOutside),B,m.value]])]),default:withCtx(()=>[createBaseVNode("div",mergeProps({id:unref(h),ref_key:"triggerRef",ref:m},e.$attrs,{class:unref(D),role:"button","aria-label":unref(I),"aria-labelledby":unref(T),"aria-description":unref(n)("el.colorpicker.description",{color:e.modelValue||""}),"aria-disabled":unref(l),tabindex:unref(l)?void 0:e.tabindex,onKeydown:z,onFocus:unref(C),onBlur:unref(w)}),[createBaseVNode("div",{class:normalizeClass(unref(r).be("picker","trigger")),onClick:A},[createBaseVNode("span",{class:normalizeClass([unref(r).be("picker","color"),unref(r).is("alpha",e.showAlpha)])},[createBaseVNode("span",{class:normalizeClass(unref(r).be("picker","color-inner")),style:normalizeStyle({backgroundColor:unref(k)})},[withDirectives(createVNode(unref(ElIcon),{class:normalizeClass([unref(r).be("picker","icon"),unref(r).is("icon-arrow-down")])},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1},8,["class"]),[[vShow,e.modelValue||b.value]]),withDirectives(createVNode(unref(ElIcon),{class:normalizeClass([unref(r).be("picker","empty"),unref(r).is("icon-close")])},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class"]),[[vShow,!e.modelValue&&!b.value]])],6)],2)],2)],16,["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex","onFocus","onBlur"])]),_:1},8,["visible","popper-class","teleported","transition","persistent","append-to","onHide"]))}});var ColorPicker=_export_sfc$1(_sfc_main$15,[["__file","color-picker.vue"]]);const ElColorPicker=withInstall(ColorPicker),messageConfig={placement:"top"};var customParseFormat$2={exports:{}},customParseFormat$1=customParseFormat$2.exports,hasRequiredCustomParseFormat;function requireCustomParseFormat(){return hasRequiredCustomParseFormat||(hasRequiredCustomParseFormat=1,function(e){e.exports=function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,o=/\d\d/,n=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)},l=function(e){return function(t){this[e]=+t}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),i=60*t[1]+(+t[2]||0);return 0===i?0:"+"===t[0]?-i:i}(e)}],d=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var i,o=s.meridiem;if(o){for(var n=1;n<=24;n+=1)if(e.indexOf(o(n,0,t))>-1){i=n>12;break}}else i=e===(t?"pm":"PM");return i},h={A:[r,function(e){this.afternoon=u(e,!1)}],a:[r,function(e){this.afternoon=u(e,!0)}],Q:[i,function(e){this.month=3*(e-1)+1}],S:[i,function(e){this.milliseconds=100*+e}],SS:[o,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[n,l("seconds")],ss:[n,l("seconds")],m:[n,l("minutes")],mm:[n,l("minutes")],H:[n,l("hours")],h:[n,l("hours")],HH:[n,l("hours")],hh:[n,l("hours")],D:[n,l("day")],DD:[o,l("day")],Do:[r,function(e){var t=s.ordinal,i=e.match(/\d+/);if(this.day=i[0],t)for(var o=1;o<=31;o+=1)t(o).replace(/\[|\]/g,"")===e&&(this.day=o)}],w:[n,l("week")],ww:[o,l("week")],M:[n,l("month")],MM:[o,l("month")],MMM:[r,function(e){var t=d("months"),i=(d("monthsShort")||t.map(function(e){return e.slice(0,3)})).indexOf(e)+1;if(i<1)throw new Error;this.month=i%12||i}],MMMM:[r,function(e){var t=d("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,l("year")],YY:[o,function(e){this.year=a(e)}],YYYY:[/\d{4}/,l("year")],Z:c,ZZ:c};function p(i){var o,n;o=i,n=s&&s.formats;for(var r=(i=o.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t,i,o){var r=o&&o.toUpperCase();return i||n[o]||e[o]||n[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,i){return t||i.slice(1)})})).match(t),a=r.length,l=0;l-1)return new Date(("X"===t?1e3:1)*e);var n=p(t)(e),r=n.year,s=n.month,a=n.day,l=n.hours,c=n.minutes,d=n.seconds,u=n.milliseconds,h=n.zone,g=n.week,m=new Date,f=a||(r||s?1:m.getDate()),v=r||m.getFullYear(),b=0;r&&!s||(b=s>0?s-1:m.getMonth());var _,y=l||0,C=c||0,w=d||0,x=u||0;return h?new Date(Date.UTC(v,b,f,y,C,w,x+60*h.offset*1e3)):i?new Date(Date.UTC(v,b,f,y,C,w,x)):(_=new Date(v,b,f,y,C,w,x),g&&(_=o(_).week(g).toDate()),_)}catch(e){return new Date("")}}(t,a,o,i),this.init(),u&&!0!==u&&(this.$L=this.locale(u).$L),d&&t!=this.format(a)&&(this.$d=new Date("")),s={}}else if(a instanceof Array)for(var h=a.length,g=1;g<=h;g+=1){r[1]=a[g-1];var m=i.apply(this,r);if(m.isValid()){this.$d=m.$d,this.$L=m.$L,this.init();break}g===h&&(this.$d=new Date(""))}else n.call(this,e)}}}()}(customParseFormat$2)),customParseFormat$2.exports}var customParseFormatExports=requireCustomParseFormat();const customParseFormat=getDefaultExportFromCjs(customParseFormatExports),timeUnits=["hours","minutes","seconds"],PICKER_BASE_INJECTION_KEY="EP_PICKER_BASE",PICKER_POPPER_OPTIONS_INJECTION_KEY="ElPopperOptions",ROOT_COMMON_PICKER_INJECTION_KEY=Symbol("commonPickerContextKey"),DEFAULT_FORMATS_TIME="HH:mm:ss",DEFAULT_FORMATS_DATE="YYYY-MM-DD",DEFAULT_FORMATS_DATEPICKER={date:DEFAULT_FORMATS_DATE,dates:DEFAULT_FORMATS_DATE,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",months:"YYYY-MM",datetime:`${DEFAULT_FORMATS_DATE} ${DEFAULT_FORMATS_TIME}`,monthrange:"YYYY-MM",yearrange:"YYYY",daterange:DEFAULT_FORMATS_DATE,datetimerange:`${DEFAULT_FORMATS_DATE} ${DEFAULT_FORMATS_TIME}`},useCommonPicker=(e,t)=>{const{lang:i}=useLocale(),o=ref$1(!1),n=ref$1(!1),r=ref$1(null),s=computed$1(()=>{const{modelValue:t}=e;return!t||isArray$1(t)&&!t.filter(Boolean).length}),a=o=>{if(!valueEquals(e.modelValue,o)){let n;isArray$1(o)?n=o.map(t=>formatter(t,e.valueFormat,i.value)):o&&(n=formatter(o,e.valueFormat,i.value));t(UPDATE_MODEL_EVENT,o?n:o,i.value)}},l=computed$1(()=>{var t;let o;if(s.value?c.value.getDefaultValue&&(o=c.value.getDefaultValue()):o=isArray$1(e.modelValue)?e.modelValue.map(t=>parseDate(t,e.valueFormat,i.value)):parseDate(null!=(t=e.modelValue)?t:"",e.valueFormat,i.value),c.value.getRangeAvailableTime){const e=c.value.getRangeAvailableTime(o);isEqual(e,o)||(o=e,s.value||a(dayOrDaysToDate(o)))}return isArray$1(o)&&o.some(e=>!e)&&(o=[]),o}),c=ref$1({});return{parsedValue:l,pickerActualVisible:n,pickerOptions:c,pickerVisible:o,userInput:r,valueIsEmpty:s,emitInput:a,onCalendarChange:e=>{t("calendar-change",e)},onPanelChange:(e,i,o)=>{t("panel-change",e,i,o)},onPick:(e="",t=!1)=>{let i;o.value=t,i=isArray$1(e)?e.map(e=>e.toDate()):e?e.toDate():e,r.value=null,a(i)},onSetPickerOption:e=>{c.value[e[0]]=e[1],c.value.panelReady=!0}}},disabledTimeListsProps=buildProps({disabledHours:{type:definePropType(Function)},disabledMinutes:{type:definePropType(Function)},disabledSeconds:{type:definePropType(Function)}}),timePanelSharedProps=buildProps({visible:Boolean,actualVisible:{type:Boolean,default:void 0},format:{type:String,default:""}}),timePickerDefaultProps=buildProps({id:{type:definePropType([Array,String])},name:{type:definePropType([Array,String])},popperClass:useTooltipContentProps.popperClass,popperStyle:useTooltipContentProps.popperStyle,format:String,valueFormat:String,dateFormat:String,timeFormat:String,type:{type:String,default:""},clearable:{type:Boolean,default:!0},clearIcon:{type:definePropType([String,Object]),default:circle_close_default},editable:{type:Boolean,default:!0},prefixIcon:{type:definePropType([String,Object]),default:""},size:useSizeProp,readonly:Boolean,disabled:Boolean,placeholder:{type:String,default:""},popperOptions:{type:definePropType(Object),default:()=>({})},modelValue:{type:definePropType([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:definePropType([Date,Array])},defaultTime:{type:definePropType([Date,Array])},isRange:Boolean,...disabledTimeListsProps,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,tabindex:{type:definePropType([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,placement:{type:definePropType(String),values:Ee,default:"bottom"},fallbackPlacements:{type:definePropType(Array),default:["bottom","top","right","left"]},...useEmptyValuesProps,...useAriaProps(["ariaLabel"]),showNow:{type:Boolean,default:!0},showConfirm:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean}),timePickerRangeTriggerProps=buildProps({id:{type:definePropType(Array)},name:{type:definePropType(Array)},modelValue:{type:definePropType([Array,String])},startPlaceholder:String,endPlaceholder:String,disabled:Boolean}),__default__$x=defineComponent({name:"PickerRangeTrigger",inheritAttrs:!1}),_sfc_main$14=defineComponent({...__default__$x,props:timePickerRangeTriggerProps,emits:["mouseenter","mouseleave","click","touchstart","focus","blur","startInput","endInput","startChange","endChange"],setup(e,{expose:t,emit:i}){const o=e,n=useAttrs(),r=useNamespace("date"),s=useNamespace("range"),a=ref$1(),l=ref$1(),{wrapperRef:c,isFocused:d}=useFocusController(a,{disabled:computed$1(()=>o.disabled)}),u=e=>{i("click",e)},h=e=>{i("mouseenter",e)},p=e=>{i("mouseleave",e)},g=e=>{i("touchstart",e)},m=e=>{i("startInput",e)},f=e=>{i("endInput",e)},v=e=>{i("startChange",e)},b=e=>{i("endChange",e)};return t({focus:()=>{var e;null==(e=a.value)||e.focus()},blur:()=>{var e,t;null==(e=a.value)||e.blur(),null==(t=l.value)||t.blur()}}),(e,t)=>(openBlock(),createElementBlock("div",{ref_key:"wrapperRef",ref:c,class:normalizeClass([unref(r).is("active",unref(d)),e.$attrs.class]),style:normalizeStyle(e.$attrs.style),onClick:u,onMouseenter:h,onMouseleave:p,onTouchstartPassive:g},[renderSlot(e.$slots,"prefix"),createBaseVNode("input",mergeProps(unref(n),{id:e.id&&e.id[0],ref_key:"inputRef",ref:a,name:e.name&&e.name[0],placeholder:e.startPlaceholder,value:e.modelValue&&e.modelValue[0],class:unref(s).b("input"),disabled:e.disabled,onInput:m,onChange:v}),null,16,["id","name","placeholder","value","disabled"]),renderSlot(e.$slots,"range-separator"),createBaseVNode("input",mergeProps(unref(n),{id:e.id&&e.id[1],ref_key:"endInputRef",ref:l,name:e.name&&e.name[1],placeholder:e.endPlaceholder,value:e.modelValue&&e.modelValue[1],class:unref(s).b("input"),disabled:e.disabled,onInput:f,onChange:b}),null,16,["id","name","placeholder","value","disabled"]),renderSlot(e.$slots,"suffix")],38))}});var PickerRangeTrigger=_export_sfc$1(_sfc_main$14,[["__file","picker-range-trigger.vue"]]);const __default__$w=defineComponent({name:"Picker"}),_sfc_main$13=defineComponent({...__default__$w,props:timePickerDefaultProps,emits:[UPDATE_MODEL_EVENT,CHANGE_EVENT,"focus","blur","clear","calendar-change","panel-change","visible-change","keydown"],setup(e,{expose:t,emit:i}){const o=e,n=useAttrs$1(),r=useNamespace("date"),s=useNamespace("input"),a=useNamespace("range"),{formItem:l}=useFormItem(),c=inject(PICKER_POPPER_OPTIONS_INJECTION_KEY,{}),{valueOnClear:d}=useEmptyValues(o,null),u=ref$1(),h=ref$1(),p=ref$1(null);let g=!1;const m=useFormDisabled(),f=useCommonPicker(o,i),{parsedValue:v,pickerActualVisible:b,userInput:_,pickerVisible:y,pickerOptions:C,valueIsEmpty:w,emitInput:x,onPick:S,onSetPickerOption:k,onCalendarChange:E,onPanelChange:I}=f,{isFocused:T,handleFocus:D,handleBlur:L}=useFocusController(h,{disabled:m,beforeFocus:()=>o.readonly,afterFocus(){y.value=!0},beforeBlur(e){var t;return!g&&(null==(t=u.value)?void 0:t.isFocusInsideContent(e))},afterBlur(){oe(),y.value=!1,g=!1,o.validateEvent&&(null==l||l.validate("blur").catch(e=>debugWarn()))}}),N=ref$1(!1),M=computed$1(()=>[r.b("editor"),r.bm("editor",o.type),s.e("wrapper"),r.is("disabled",m.value),r.is("active",y.value),a.b("editor"),ee?a.bm("editor",ee.value):"",n.class]),$=computed$1(()=>[s.e("icon"),a.e("close-icon"),G.value?"":a.e("close-icon--hidden")]);watch(y,e=>{e?nextTick(()=>{e&&(p.value=o.modelValue)}):(_.value=null,nextTick(()=>{R(o.modelValue)}))});const R=(e,t)=>{!t&&valueEquals(e,p.value)||(i(CHANGE_EVENT,e),t&&(p.value=e),o.validateEvent&&(null==l||l.validate("change").catch(e=>debugWarn())))},A=computed$1(()=>h.value?Array.from(h.value.$el.querySelectorAll("input")):[]),O=(e,t,i)=>{const o=A.value;o.length&&(i&&"min"!==i?"max"===i&&(o[1].setSelectionRange(e,t),o[1].focus()):(o[0].setSelectionRange(e,t),o[0].focus()))},P=()=>{b.value=!0},B=()=>{i("visible-change",!0)},F=()=>{b.value=!1,y.value=!1,i("visible-change",!1)},z=computed$1(()=>{if(!C.value.panelReady)return"";const e=re(v.value);return isArray$1(_.value)?[_.value[0]||e&&e[0]||"",_.value[1]||e&&e[1]||""]:null!==_.value?_.value:!H.value&&w.value||!y.value&&w.value?"":e?W.value||K.value||U.value?e.join(", "):e:""}),V=computed$1(()=>o.type.includes("time")),H=computed$1(()=>o.type.startsWith("time")),W=computed$1(()=>"dates"===o.type),K=computed$1(()=>"months"===o.type),U=computed$1(()=>"years"===o.type),j=computed$1(()=>o.prefixIcon||(V.value?clock_default:calendar_default)),G=computed$1(()=>o.clearable&&!m.value&&!o.readonly&&!w.value&&(N.value||T.value)),q=e=>{o.readonly||m.value||(G.value&&(e.stopPropagation(),C.value.handleClear?C.value.handleClear():x(d.value),R(d.value,!0),F()),i("clear"))},Y=async e=>{var t;o.readonly||m.value||("INPUT"!==(null==(t=e.target)?void 0:t.tagName)||T.value)&&(y.value=!0)},X=()=>{o.readonly||m.value||!w.value&&o.clearable&&(N.value=!0)},Q=()=>{N.value=!1},Z=e=>{var t;o.readonly||m.value||("INPUT"!==(null==(t=e.touches[0].target)?void 0:t.tagName)||T.value)&&(y.value=!0)},J=computed$1(()=>o.type.includes("range")),ee=useFormSize(),te=computed$1(()=>{var e,t;return null==(t=null==(e=unref(u))?void 0:e.popperRef)?void 0:t.contentRef}),ie=onClickOutside(h,e=>{const t=unref(te),i=unrefElement(h);t&&(e.target===t||e.composedPath().includes(t))||e.target===i||i&&e.composedPath().includes(i)||(y.value=!1)});onBeforeUnmount(()=>{null==ie||ie()});const oe=()=>{if(_.value){const e=ne(z.value);e&&se(e)&&(x(dayOrDaysToDate(e)),_.value=null)}""===_.value&&(x(d.value),R(d.value,!0),_.value=null)},ne=e=>e?C.value.parseUserInput(e):null,re=e=>e?C.value.formatToString(e):null,se=e=>C.value.isValidValue(e),ae=async e=>{if(o.readonly||m.value)return;const{code:t}=e;if(i("keydown",e),t!==EVENT_CODE.esc)if(t===EVENT_CODE.down&&(C.value.handleFocusPicker&&(e.preventDefault(),e.stopPropagation()),!1===y.value&&(y.value=!0,await nextTick()),C.value.handleFocusPicker))C.value.handleFocusPicker();else{if(t!==EVENT_CODE.tab)return t===EVENT_CODE.enter||t===EVENT_CODE.numpadEnter?((null===_.value||""===_.value||se(ne(z.value)))&&(oe(),y.value=!1),void e.stopPropagation()):void(_.value?e.stopPropagation():C.value.handleKeydownInput&&C.value.handleKeydownInput(e));g=!0}else!0===y.value&&(y.value=!1,e.preventDefault(),e.stopPropagation())},le=e=>{_.value=e,y.value||(y.value=!0)},ce=e=>{const t=e.target;_.value?_.value=[t.value,_.value[1]]:_.value=[t.value,null]},de=e=>{const t=e.target;_.value?_.value=[_.value[0],t.value]:_.value=[null,t.value]},ue=()=>{var e;const t=_.value,i=ne(t&&t[0]),o=unref(v);if(i&&i.isValid()){_.value=[re(i),(null==(e=z.value)?void 0:e[1])||null];const t=[i,o&&(o[1]||null)];se(t)&&(x(dayOrDaysToDate(t)),_.value=null)}},he=()=>{var e;const t=unref(_),i=ne(t&&t[1]),o=unref(v);if(i&&i.isValid()){_.value=[(null==(e=unref(z))?void 0:e[0])||null,re(i)];const t=[o&&o[0],i];se(t)&&(x(dayOrDaysToDate(t)),_.value=null)}};return provide(PICKER_BASE_INJECTION_KEY,{props:o}),provide(ROOT_COMMON_PICKER_INJECTION_KEY,f),t({focus:()=>{var e;null==(e=h.value)||e.focus()},blur:()=>{var e;null==(e=h.value)||e.blur()},handleOpen:()=>{y.value=!0},handleClose:()=>{y.value=!1},onPick:S}),(e,t)=>(openBlock(),createBlock(unref(ElTooltip),mergeProps({ref_key:"refPopper",ref:u,visible:unref(y),effect:"light",pure:"",trigger:"click"},e.$attrs,{role:"dialog",teleported:"",transition:`${unref(r).namespace.value}-zoom-in-top`,"popper-class":[`${unref(r).namespace.value}-picker__popper`,e.popperClass],"popper-style":e.popperStyle,"popper-options":unref(c),"fallback-placements":e.fallbackPlacements,"gpu-acceleration":!1,placement:e.placement,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:P,onShow:B,onHide:F}),{default:withCtx(()=>[unref(J)?(openBlock(),createBlock(PickerRangeTrigger,{key:1,id:e.id,ref_key:"inputRef",ref:h,"model-value":unref(z),name:e.name,disabled:unref(m),readonly:!e.editable||e.readonly,"start-placeholder":e.startPlaceholder,"end-placeholder":e.endPlaceholder,class:normalizeClass(unref(M)),style:normalizeStyle(e.$attrs.style),"aria-label":e.ariaLabel,tabindex:e.tabindex,autocomplete:"off",role:"combobox",onClick:Y,onFocus:unref(D),onBlur:unref(L),onStartInput:ce,onStartChange:ue,onEndInput:de,onEndChange:he,onMousedown:Y,onMouseenter:X,onMouseleave:Q,onTouchstartPassive:Z,onKeydown:ae},{prefix:withCtx(()=>[unref(j)?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass([unref(s).e("icon"),unref(a).e("icon")])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(j))))]),_:1},8,["class"])):createCommentVNode("v-if",!0)]),"range-separator":withCtx(()=>[renderSlot(e.$slots,"range-separator",{},()=>[createBaseVNode("span",{class:normalizeClass(unref(a).b("separator"))},toDisplayString(e.rangeSeparator),3)])]),suffix:withCtx(()=>[e.clearIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref($)),onMousedown:withModifiers(unref(NOOP),["prevent"]),onClick:q},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.clearIcon)))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0)]),_:3},8,["id","model-value","name","disabled","readonly","start-placeholder","end-placeholder","class","style","aria-label","tabindex","onFocus","onBlur"])):(openBlock(),createBlock(unref(ElInput),{key:0,id:e.id,ref_key:"inputRef",ref:h,"container-role":"combobox","model-value":unref(z),name:e.name,size:unref(ee),disabled:unref(m),placeholder:e.placeholder,class:normalizeClass([unref(r).b("editor"),unref(r).bm("editor",e.type),unref(r).is("focus",unref(y)),e.$attrs.class]),style:normalizeStyle(e.$attrs.style),readonly:!e.editable||e.readonly||unref(W)||unref(K)||unref(U)||"week"===e.type,"aria-label":e.ariaLabel,tabindex:e.tabindex,"validate-event":!1,onInput:le,onFocus:unref(D),onBlur:unref(L),onKeydown:ae,onChange:oe,onMousedown:Y,onMouseenter:X,onMouseleave:Q,onTouchstartPassive:Z,onClick:withModifiers(()=>{},["stop"])},{prefix:withCtx(()=>[unref(j)?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(s).e("icon")),onMousedown:withModifiers(Y,["prevent"]),onTouchstartPassive:Z},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(j))))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0)]),suffix:withCtx(()=>[unref(G)&&e.clearIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(`${unref(s).e("icon")} clear-icon`),onMousedown:withModifiers(unref(NOOP),["prevent"]),onClick:q},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.clearIcon)))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","aria-label","tabindex","onFocus","onBlur","onClick"]))]),content:withCtx(()=>[renderSlot(e.$slots,"default",{visible:unref(y),actualVisible:unref(b),parsedValue:unref(v),format:e.format,dateFormat:e.dateFormat,timeFormat:e.timeFormat,unlinkPanels:e.unlinkPanels,type:e.type,defaultValue:e.defaultValue,showNow:e.showNow,showConfirm:e.showConfirm,showFooter:e.showFooter,showWeekNumber:e.showWeekNumber,onPick:unref(S),onSelectRange:O,onSetPickerOption:unref(k),onCalendarChange:unref(E),onPanelChange:unref(I),onMousedown:withModifiers(()=>{},["stop"])})]),_:3},16,["visible","transition","popper-class","popper-style","popper-options","fallback-placements","placement"]))}});var CommonPicker=_export_sfc$1(_sfc_main$13,[["__file","picker.vue"]]);const panelTimePickerProps=buildProps({...timePanelSharedProps,datetimeRole:String,parsedValue:{type:definePropType(Object)}}),useTimePanel=({getAvailableHours:e,getAvailableMinutes:t,getAvailableSeconds:i})=>{const o={};return{timePickerOptions:o,getAvailableTime:(o,n,r,s)=>{const a={hour:e,minute:t,second:i};let l=o;return["hour","minute","second"].forEach(e=>{if(a[e]){let t;const i=a[e];switch(e){case"minute":t=i(l.hour(),n,s);break;case"second":t=i(l.hour(),l.minute(),n,s);break;default:t=i(n,s)}if((null==t?void 0:t.length)&&!t.includes(l[e]())){const i=r?0:t.length-1;l=l[e](t[i])}}}),l},onSetOption:([e,t])=>{o[e]=t}}},makeAvailableArr=e=>e.map((e,t)=>e||t).filter(e=>!0!==e),getTimeLists=(e,t,i)=>({getHoursList:(t,i)=>makeList(24,e&&(()=>null==e?void 0:e(t,i))),getMinutesList:(e,i,o)=>makeList(60,t&&(()=>null==t?void 0:t(e,i,o))),getSecondsList:(e,t,o,n)=>makeList(60,i&&(()=>null==i?void 0:i(e,t,o,n)))}),buildAvailableTimeSlotGetter=(e,t,i)=>{const{getHoursList:o,getMinutesList:n,getSecondsList:r}=getTimeLists(e,t,i);return{getAvailableHours:(e,t)=>makeAvailableArr(o(e,t)),getAvailableMinutes:(e,t,i)=>makeAvailableArr(n(e,t,i)),getAvailableSeconds:(e,t,i,o)=>makeAvailableArr(r(e,t,i,o))}},useOldValue=e=>{const t=ref$1(e.parsedValue);return watch(()=>e.visible,i=>{i||(t.value=e.parsedValue)}),t},basicTimeSpinnerProps=buildProps({role:{type:String,required:!0},spinnerDate:{type:definePropType(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:definePropType(String),default:""},...disabledTimeListsProps}),REPEAT_INTERVAL=100,REPEAT_DELAY=600,vRepeatClick={beforeMount(e,t){const i=t.value,{interval:o=REPEAT_INTERVAL,delay:n=REPEAT_DELAY}=isFunction$1(i)?{}:i;let r,s;const a=()=>isFunction$1(i)?i():i.handler(),l=()=>{s&&(clearTimeout(s),s=void 0),r&&(clearInterval(r),r=void 0)};e.addEventListener("mousedown",e=>{0===e.button&&(l(),a(),document.addEventListener("mouseup",()=>l(),{once:!0}),s=setTimeout(()=>{r=setInterval(()=>{a()},o)},n))})}},_sfc_main$12=defineComponent({__name:"basic-time-spinner",props:basicTimeSpinnerProps,emits:[CHANGE_EVENT,"select-range","set-option"],setup(e,{emit:t}){const i=e,o=inject(PICKER_BASE_INJECTION_KEY),{isRange:n,format:r}=o.props,s=useNamespace("time"),{getHoursList:a,getMinutesList:l,getSecondsList:c}=getTimeLists(i.disabledHours,i.disabledMinutes,i.disabledSeconds);let d=!1;const u=ref$1(),h={hours:ref$1(),minutes:ref$1(),seconds:ref$1()},p=computed$1(()=>i.showSeconds?timeUnits:timeUnits.slice(0,2)),g=computed$1(()=>{const{spinnerDate:e}=i;return{hours:e.hour(),minutes:e.minute(),seconds:e.second()}}),m=computed$1(()=>{const{hours:e,minutes:t}=unref(g),{role:o,spinnerDate:r}=i,s=n?void 0:r;return{hours:a(o,s),minutes:l(e,o,s),seconds:c(e,t,o,s)}}),f=computed$1(()=>{const{hours:e,minutes:t,seconds:i}=unref(g);return{hours:buildTimeList(e,23),minutes:buildTimeList(t,59),seconds:buildTimeList(i,59)}}),v=debounce(e=>{d=!1,y(e)},200),b=e=>{if(!!!i.amPmMode)return"";let t=e<12?" am":" pm";return"A"===i.amPmMode&&(t=t.toUpperCase()),t},_=e=>{let i=[0,0];const o=r||DEFAULT_FORMATS_TIME,n=o.indexOf("HH"),s=o.indexOf("mm"),a=o.indexOf("ss");switch(e){case"hours":-1!==n&&(i=[n,n+2]);break;case"minutes":-1!==s&&(i=[s,s+2]);break;case"seconds":-1!==a&&(i=[a,a+2])}const[l,c]=i;t("select-range",l,c),u.value=e},y=e=>{x(e,unref(g)[e])},C=()=>{y("hours"),y("minutes"),y("seconds")},w=e=>e.querySelector(`.${s.namespace.value}-scrollbar__wrap`),x=(e,t)=>{if(i.arrowControl)return;const o=unref(h[e]);o&&o.$el&&(w(o.$el).scrollTop=Math.max(0,t*S(e)))},S=e=>{const t=unref(h[e]),i=null==t?void 0:t.$el.querySelector("li");return i&&Number.parseFloat(getStyle(i,"height"))||0},k=()=>{I(1)},E=()=>{I(-1)},I=e=>{u.value||_("hours");const t=u.value,i=unref(g)[t],o="hours"===u.value?24:60,n=T(t,i,e,o);D(t,n),x(t,n),nextTick(()=>_(t))},T=(e,t,i,o)=>{let n=(t+i+o)%o;const r=unref(m)[e];for(;r[n]&&n!==t;)n=(n+i+o)%o;return n},D=(e,o)=>{if(unref(m)[e][o])return;const{hours:n,minutes:r,seconds:s}=unref(g);let a;switch(e){case"hours":a=i.spinnerDate.hour(o).minute(r).second(s);break;case"minutes":a=i.spinnerDate.hour(n).minute(o).second(s);break;case"seconds":a=i.spinnerDate.hour(n).minute(r).second(o)}t(CHANGE_EVENT,a)},L=e=>unref(h[e]).$el.offsetHeight,N=()=>{const e=e=>{const t=unref(h[e]);t&&t.$el&&(w(t.$el).onscroll=()=>{(e=>{const t=unref(h[e]);if(!t)return;d=!0,v(e);const i=Math.min(Math.round((w(t.$el).scrollTop-(.5*L(e)-10)/S(e)+3)/S(e)),"hours"===e?23:59);D(e,i)})(e)})};e("hours"),e("minutes"),e("seconds")};onMounted(()=>{nextTick(()=>{!i.arrowControl&&N(),C(),"start"===i.role&&_("hours")})});return t("set-option",[`${i.role}_scrollDown`,I]),t("set-option",[`${i.role}_emitSelectRange`,_]),watch(()=>i.spinnerDate,()=>{d||C()}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(s).b("spinner"),{"has-seconds":e.showSeconds}])},[e.arrowControl?createCommentVNode("v-if",!0):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(unref(p),t=>(openBlock(),createBlock(unref(ElScrollbar),{key:t,ref_for:!0,ref:e=>((e,t)=>{h[t].value=null!=e?e:void 0})(e,t),class:normalizeClass(unref(s).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":unref(s).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:e=>_(t),onMousemove:e=>y(t)},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(m)[t],(i,o)=>(openBlock(),createElementBlock("li",{key:o,class:normalizeClass([unref(s).be("spinner","item"),unref(s).is("active",o===unref(g)[t]),unref(s).is("disabled",i)]),onClick:e=>((e,{value:t,disabled:i})=>{i||(D(e,t),_(e),x(e,t))})(t,{value:o,disabled:i})},["hours"===t?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(("0"+(e.amPmMode?o%12||12:o)).slice(-2))+toDisplayString(b(o)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(("0"+o).slice(-2)),1)],64))],10,["onClick"]))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),e.arrowControl?(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(unref(p),t=>(openBlock(),createElementBlock("div",{key:t,class:normalizeClass([unref(s).be("spinner","wrapper"),unref(s).is("arrow")]),onMouseenter:e=>_(t)},[withDirectives((openBlock(),createBlock(unref(ElIcon),{class:normalizeClass(["arrow-up",unref(s).be("spinner","arrow")])},{default:withCtx(()=>[createVNode(unref(arrow_up_default))]),_:1},8,["class"])),[[unref(vRepeatClick),E]]),withDirectives((openBlock(),createBlock(unref(ElIcon),{class:normalizeClass(["arrow-down",unref(s).be("spinner","arrow")])},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1},8,["class"])),[[unref(vRepeatClick),k]]),createBaseVNode("ul",{class:normalizeClass(unref(s).be("spinner","list"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(f)[t],(i,o)=>(openBlock(),createElementBlock("li",{key:o,class:normalizeClass([unref(s).be("spinner","item"),unref(s).is("active",i===unref(g)[t]),unref(s).is("disabled",unref(m)[t][i])])},[unref(isNumber)(i)?(openBlock(),createElementBlock(Fragment,{key:0},["hours"===t?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(("0"+(e.amPmMode?i%12||12:i)).slice(-2))+toDisplayString(b(i)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(("0"+i).slice(-2)),1)],64))],64)):createCommentVNode("v-if",!0)],2))),128))],2)],42,["onMouseenter"]))),128)):createCommentVNode("v-if",!0)],2))}});var TimeSpinner=_export_sfc$1(_sfc_main$12,[["__file","basic-time-spinner.vue"]]);const _sfc_main$11=defineComponent({__name:"panel-time-pick",props:panelTimePickerProps,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const i=e,o=inject(PICKER_BASE_INJECTION_KEY),{arrowControl:n,disabledHours:r,disabledMinutes:s,disabledSeconds:a,defaultValue:l}=o.props,{getAvailableHours:c,getAvailableMinutes:d,getAvailableSeconds:u}=buildAvailableTimeSlotGetter(r,s,a),h=useNamespace("time"),{t:p,lang:g}=useLocale(),m=ref$1([0,2]),f=useOldValue(i),v=computed$1(()=>isUndefined(i.actualVisible)?`${h.namespace.value}-zoom-in-top`:""),b=computed$1(()=>i.format.includes("ss")),_=computed$1(()=>i.format.includes("A")?"A":i.format.includes("a")?"a":""),y=()=>{t("pick",f.value,!1)},C=e=>{if(!i.visible)return;const o=E(e).millisecond(0);t("pick",o,!0)},w=(e,i)=>{t("select-range",e,i),m.value=[e,i]},{timePickerOptions:x,onSetOption:S,getAvailableTime:k}=useTimePanel({getAvailableHours:c,getAvailableMinutes:d,getAvailableSeconds:u}),E=e=>k(e,i.datetimeRole||"",!0);return t("set-picker-option",["isValidValue",e=>{const t=dayjs(e).locale(g.value),i=E(t);return t.isSame(i)}]),t("set-picker-option",["formatToString",e=>e?e.format(i.format):null]),t("set-picker-option",["parseUserInput",e=>e?dayjs(e,i.format).locale(g.value):null]),t("set-picker-option",["handleKeydownInput",e=>{const t=e.code,{left:o,right:n,up:r,down:s}=EVENT_CODE;if([o,n].includes(t)){return(e=>{const t=i.format,o=t.indexOf("HH"),n=t.indexOf("mm"),r=t.indexOf("ss"),s=[],a=[];-1!==o&&(s.push(o),a.push("hours")),-1!==n&&(s.push(n),a.push("minutes")),-1!==r&&b.value&&(s.push(r),a.push("seconds"));const l=(s.indexOf(m.value[0])+e+s.length)%s.length;x.start_emitSelectRange(a[l])})(t===o?-1:1),void e.preventDefault()}if([r,s].includes(t)){const i=t===r?-1:1;return x.start_scrollDown(i),void e.preventDefault()}}]),t("set-picker-option",["getRangeAvailableTime",E]),t("set-picker-option",["getDefaultValue",()=>dayjs(l).locale(g.value)]),(e,o)=>(openBlock(),createBlock(Transition,{name:unref(v)},{default:withCtx(()=>[e.actualVisible||e.visible?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(h).b("panel"))},[createBaseVNode("div",{class:normalizeClass([unref(h).be("panel","content"),{"has-seconds":unref(b)}])},[createVNode(TimeSpinner,{ref:"spinner",role:e.datetimeRole||"start","arrow-control":unref(n),"show-seconds":unref(b),"am-pm-mode":unref(_),"spinner-date":e.parsedValue,"disabled-hours":unref(r),"disabled-minutes":unref(s),"disabled-seconds":unref(a),onChange:C,onSetOption:unref(S),onSelectRange:w},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),createBaseVNode("div",{class:normalizeClass(unref(h).be("panel","footer"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(h).be("panel","btn"),"cancel"]),onClick:y},toDisplayString(unref(p)("el.datepicker.cancel")),3),createBaseVNode("button",{type:"button",class:normalizeClass([unref(h).be("panel","btn"),"confirm"]),onClick:e=>((e=!1,o=!1)=>{o||t("pick",i.parsedValue,e)})()},toDisplayString(unref(p)("el.datepicker.confirm")),11,["onClick"])],2)],2)):createCommentVNode("v-if",!0)]),_:1},8,["name"]))}});var TimePickPanel=_export_sfc$1(_sfc_main$11,[["__file","panel-time-pick.vue"]]);const panelTimeRangeProps=buildProps({...timePanelSharedProps,parsedValue:{type:definePropType(Array)}}),_sfc_main$10=defineComponent({__name:"panel-time-range",props:panelTimeRangeProps,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const i=e,o=(e,t)=>{const i=[];for(let o=e;o<=t;o++)i.push(o);return i},{t:n,lang:r}=useLocale(),s=useNamespace("time"),a=useNamespace("picker"),l=inject(PICKER_BASE_INJECTION_KEY),{arrowControl:c,disabledHours:d,disabledMinutes:u,disabledSeconds:h,defaultValue:p}=l.props,g=computed$1(()=>[s.be("range-picker","body"),s.be("panel","content"),s.is("arrow",c),_.value?"has-seconds":""]),m=computed$1(()=>[s.be("range-picker","body"),s.be("panel","content"),s.is("arrow",c),_.value?"has-seconds":""]),f=computed$1(()=>i.parsedValue[0]),v=computed$1(()=>i.parsedValue[1]),b=useOldValue(i),_=computed$1(()=>i.format.includes("ss")),y=computed$1(()=>i.format.includes("A")?"A":i.format.includes("a")?"a":""),C=e=>{x(e.millisecond(0),v.value)},w=e=>{x(f.value,e.millisecond(0))},x=(e,o)=>{i.visible&&t("pick",[e,o],!0)},S=computed$1(()=>f.value>v.value),k=ref$1([0,2]),E=(e,i)=>{t("select-range",e,i,"min"),k.value=[e,i]},I=computed$1(()=>_.value?11:8),T=(e,i)=>{t("select-range",e,i,"max");const o=unref(I);k.value=[e+o,i+o]},D=(e,t)=>{const i=d?d(e):[],n="start"===e,r=(t||(n?v.value:f.value)).hour(),s=n?o(r+1,23):o(0,r-1);return union(i,s)},L=(e,t,i)=>{const n=u?u(e,t):[],r="start"===t,s=i||(r?v.value:f.value);if(e!==s.hour())return n;const a=s.minute(),l=r?o(a+1,59):o(0,a-1);return union(n,l)},N=(e,t,i,n)=>{const r=h?h(e,t,i):[],s="start"===i,a=n||(s?v.value:f.value),l=a.hour(),c=a.minute();if(e!==l||t!==c)return r;const d=a.second(),u=s?o(d+1,59):o(0,d-1);return union(r,u)},M=([e,t])=>[P(e,"start",!0,t),P(t,"end",!1,e)],{getAvailableHours:$,getAvailableMinutes:R,getAvailableSeconds:A}=buildAvailableTimeSlotGetter(D,L,N),{timePickerOptions:O,getAvailableTime:P,onSetOption:B}=useTimePanel({getAvailableHours:$,getAvailableMinutes:R,getAvailableSeconds:A});return t("set-picker-option",["formatToString",e=>e?isArray$1(e)?e.map(e=>e.format(i.format)):e.format(i.format):null]),t("set-picker-option",["parseUserInput",e=>e?isArray$1(e)?e.map(e=>dayjs(e,i.format).locale(r.value)):dayjs(e,i.format).locale(r.value):null]),t("set-picker-option",["isValidValue",e=>{const t=e.map(e=>dayjs(e).locale(r.value)),i=M(t);return t[0].isSame(i[0])&&t[1].isSame(i[1])}]),t("set-picker-option",["handleKeydownInput",e=>{const t=e.code,{left:i,right:o,up:n,down:r}=EVENT_CODE;if([i,o].includes(t)){return(e=>{const t=_.value?[0,3,6,11,14,17]:[0,3,8,11],i=["hours","minutes"].concat(_.value?["seconds"]:[]),o=(t.indexOf(k.value[0])+e+t.length)%t.length,n=t.length/2;o{if(isArray$1(p))return p.map(e=>dayjs(e).locale(r.value));const e=dayjs(p).locale(r.value);return[e,e.add(60,"m")]}]),t("set-picker-option",["getRangeAvailableTime",M]),(e,i)=>e.actualVisible?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(s).b("range-picker"),unref(a).b("panel")])},[createBaseVNode("div",{class:normalizeClass(unref(s).be("range-picker","content"))},[createBaseVNode("div",{class:normalizeClass(unref(s).be("range-picker","cell"))},[createBaseVNode("div",{class:normalizeClass(unref(s).be("range-picker","header"))},toDisplayString(unref(n)("el.datepicker.startTime")),3),createBaseVNode("div",{class:normalizeClass(unref(g))},[createVNode(TimeSpinner,{ref:"minSpinner",role:"start","show-seconds":unref(_),"am-pm-mode":unref(y),"arrow-control":unref(c),"spinner-date":unref(f),"disabled-hours":D,"disabled-minutes":L,"disabled-seconds":N,onChange:C,onSetOption:unref(B),onSelectRange:E},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2),createBaseVNode("div",{class:normalizeClass(unref(s).be("range-picker","cell"))},[createBaseVNode("div",{class:normalizeClass(unref(s).be("range-picker","header"))},toDisplayString(unref(n)("el.datepicker.endTime")),3),createBaseVNode("div",{class:normalizeClass(unref(m))},[createVNode(TimeSpinner,{ref:"maxSpinner",role:"end","show-seconds":unref(_),"am-pm-mode":unref(y),"arrow-control":unref(c),"spinner-date":unref(v),"disabled-hours":D,"disabled-minutes":L,"disabled-seconds":N,onChange:w,onSetOption:unref(B),onSelectRange:T},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2)],2),createBaseVNode("div",{class:normalizeClass(unref(s).be("panel","footer"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(s).be("panel","btn"),"cancel"]),onClick:e=>{t("pick",b.value,!1)}},toDisplayString(unref(n)("el.datepicker.cancel")),11,["onClick"]),createBaseVNode("button",{type:"button",class:normalizeClass([unref(s).be("panel","btn"),"confirm"]),disabled:unref(S),onClick:e=>((e=!1)=>{t("pick",[f.value,v.value],e)})()},toDisplayString(unref(n)("el.datepicker.confirm")),11,["disabled","onClick"])],2)],2)):createCommentVNode("v-if",!0)}});var TimeRangePanel=_export_sfc$1(_sfc_main$10,[["__file","panel-time-range.vue"]]);dayjs.extend(customParseFormat);var TimePicker=defineComponent({name:"ElTimePicker",install:null,props:{...timePickerDefaultProps,isRange:Boolean},emits:[UPDATE_MODEL_EVENT],setup(e,t){const i=ref$1(),[o,n]=e.isRange?["timerange",TimeRangePanel]:["time",TimePickPanel],r=e=>t.emit(UPDATE_MODEL_EVENT,e);return provide(PICKER_POPPER_OPTIONS_INJECTION_KEY,e.popperOptions),t.expose({focus:()=>{var e;null==(e=i.value)||e.focus()},blur:()=>{var e;null==(e=i.value)||e.blur()},handleOpen:()=>{var e;null==(e=i.value)||e.handleOpen()},handleClose:()=>{var e;null==(e=i.value)||e.handleClose()}}),()=>{var t;const s=null!=(t=e.format)?t:DEFAULT_FORMATS_TIME;return createVNode(CommonPicker,mergeProps(e,{ref:i,type:o,format:s,"onUpdate:modelValue":r}),{default:e=>createVNode(n,e,null)})}}});const ElTimePicker=withInstall(TimePicker);var advancedFormat$2={exports:{}},advancedFormat$1=advancedFormat$2.exports,hasRequiredAdvancedFormat;function requireAdvancedFormat(){return hasRequiredAdvancedFormat||(hasRequiredAdvancedFormat=1,function(e){e.exports=function(e,t){var i=t.prototype,o=i.format;i.format=function(e){var t=this,i=this.$locale();if(!this.isValid())return o.bind(this)(e);var n=this.$utils(),r=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(e){switch(e){case"Q":return Math.ceil((t.$M+1)/3);case"Do":return i.ordinal(t.$D);case"gggg":return t.weekYear();case"GGGG":return t.isoWeekYear();case"wo":return i.ordinal(t.week(),"W");case"w":case"ww":return n.s(t.week(),"w"===e?1:2,"0");case"W":case"WW":return n.s(t.isoWeek(),"W"===e?1:2,"0");case"k":case"kk":return n.s(String(0===t.$H?24:t.$H),"k"===e?1:2,"0");case"X":return Math.floor(t.$d.getTime()/1e3);case"x":return t.$d.getTime();case"z":return"["+t.offsetName()+"]";case"zzz":return"["+t.offsetName("long")+"]";default:return e}});return o.bind(this)(r)}}}(advancedFormat$2)),advancedFormat$2.exports}var advancedFormatExports=requireAdvancedFormat();const advancedFormat=getDefaultExportFromCjs(advancedFormatExports);var weekOfYear$2={exports:{}},weekOfYear$1=weekOfYear$2.exports,hasRequiredWeekOfYear;function requireWeekOfYear(){return hasRequiredWeekOfYear||(hasRequiredWeekOfYear=1,function(e){var t,i;e.exports=(t="week",i="year",function(e,o,n){var r=o.prototype;r.week=function(e){if(void 0===e&&(e=null),null!==e)return this.add(7*(e-this.week()),"day");var o=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var r=n(this).startOf(i).add(1,i).date(o),s=n(this).endOf(t);if(r.isBefore(s))return 1}var a=n(this).startOf(i).date(o).startOf(t).subtract(1,"millisecond"),l=this.diff(a,t,!0);return l<0?n(this).startOf("week").week():Math.ceil(l)},r.weeks=function(e){return void 0===e&&(e=null),this.week(e)}})}(weekOfYear$2)),weekOfYear$2.exports}var weekOfYearExports=requireWeekOfYear();const weekOfYear=getDefaultExportFromCjs(weekOfYearExports);var weekYear$2={exports:{}},weekYear$1=weekYear$2.exports,hasRequiredWeekYear;function requireWeekYear(){return hasRequiredWeekYear||(hasRequiredWeekYear=1,function(e){e.exports=function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),i=this.year();return 1===t&&11===e?i+1:0===e&&t>=52?i-1:i}}}(weekYear$2)),weekYear$2.exports}var weekYearExports=requireWeekYear();const weekYear=getDefaultExportFromCjs(weekYearExports);var dayOfYear$2={exports:{}},dayOfYear$1=dayOfYear$2.exports,hasRequiredDayOfYear;function requireDayOfYear(){return hasRequiredDayOfYear||(hasRequiredDayOfYear=1,function(e){e.exports=function(e,t,i){t.prototype.dayOfYear=function(e){var t=Math.round((i(this).startOf("day")-i(this).startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"day")}}}(dayOfYear$2)),dayOfYear$2.exports}var dayOfYearExports=requireDayOfYear();const dayOfYear=getDefaultExportFromCjs(dayOfYearExports);var isSameOrAfter$2={exports:{}},isSameOrAfter$1=isSameOrAfter$2.exports,hasRequiredIsSameOrAfter;function requireIsSameOrAfter(){return hasRequiredIsSameOrAfter||(hasRequiredIsSameOrAfter=1,function(e){e.exports=function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}(isSameOrAfter$2)),isSameOrAfter$2.exports}var isSameOrAfterExports=requireIsSameOrAfter();const isSameOrAfter=getDefaultExportFromCjs(isSameOrAfterExports);var isSameOrBefore$2={exports:{}},isSameOrBefore$1=isSameOrBefore$2.exports,hasRequiredIsSameOrBefore;function requireIsSameOrBefore(){return hasRequiredIsSameOrBefore||(hasRequiredIsSameOrBefore=1,function(e){e.exports=function(e,t){t.prototype.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)}}}(isSameOrBefore$2)),isSameOrBefore$2.exports}var isSameOrBeforeExports=requireIsSameOrBefore();const isSameOrBefore=getDefaultExportFromCjs(isSameOrBeforeExports),datePickerPanelProps=buildProps({valueFormat:String,dateFormat:String,timeFormat:String,disabled:Boolean,modelValue:{type:definePropType([Date,Array,String,Number]),default:""},defaultValue:{type:definePropType([Date,Array])},defaultTime:{type:definePropType([Date,Array])},isRange:Boolean,...disabledTimeListsProps,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,unlinkPanels:Boolean,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:Boolean,showWeekNumber:Boolean,type:{type:definePropType(String),default:"date"},clearable:{type:Boolean,default:!0},border:{type:Boolean,default:!0}}),ROOT_PICKER_INJECTION_KEY=Symbol("rootPickerContextKey"),ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY="ElIsDefaultFormat",selectionModes=["date","dates","year","years","month","months","week","range"],datePickerSharedProps=buildProps({cellClassName:{type:definePropType(Function)},disabledDate:{type:definePropType(Function)},date:{type:definePropType(Object),required:!0},minDate:{type:definePropType(Object)},maxDate:{type:definePropType(Object)},parsedValue:{type:definePropType([Object,Array])},rangeState:{type:definePropType(Object),default:()=>({endDate:null,selecting:!1})},disabled:Boolean}),panelSharedProps=buildProps({type:{type:definePropType(String),required:!0,values:datePickTypes},dateFormat:String,timeFormat:String,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean,border:Boolean,disabled:Boolean}),panelRangeSharedProps=buildProps({unlinkPanels:Boolean,visible:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},border:Boolean,disabled:Boolean,parsedValue:{type:definePropType(Array)}}),selectionModeWithDefault=e=>({type:String,values:selectionModes,default:e}),panelDatePickProps=buildProps({...panelSharedProps,parsedValue:{type:definePropType([Object,Array])},visible:{type:Boolean,default:!0},format:{type:String,default:""}}),isValidRange=e=>{if(!isArray$1(e))return!1;const[t,i]=e;return dayjs.isDayjs(t)&&dayjs.isDayjs(i)&&dayjs(t).isValid()&&dayjs(i).isValid()&&t.isSameOrBefore(i)},getDefaultValue=(e,{lang:t,step:i=1,unit:o,unlinkPanels:n})=>{let r;if(isArray$1(e)){let[r,s]=e.map(e=>dayjs(e).locale(t));return n||(s=r.add(i,o)),[r,s]}return r=e?dayjs(e):dayjs(),r=r.locale(t),[r,r.add(i,o)]},buildPickerTable=(e,t,{columnIndexOffset:i,startDate:o,nextEndDate:n,now:r,unit:s,relativeDateGetter:a,setCellMetadata:l,setRowMetadata:c})=>{for(let d=0;d{const n=dayjs().locale(o).startOf("month").month(i).year(t).hour(e.hour()).minute(e.minute()).second(e.second()),r=n.daysInMonth();return rangeArr(r).map(e=>n.add(e,"day").toDate())},getValidDateOfMonth=(e,t,i,o,n)=>{const r=dayjs().year(t).month(i).startOf("month").hour(e.hour()).minute(e.minute()).second(e.second()),s=datesInMonth(e,t,i,o).find(e=>!(null==n?void 0:n(e)));return s?dayjs(s).locale(o):r.locale(o)},getValidDateOfYear=(e,t,i)=>{const o=e.year();if(!(null==i?void 0:i(e.toDate())))return e.locale(t);const n=e.month();if(!datesInMonth(e,o,n,t).every(i))return getValidDateOfMonth(e,o,n,t,i);for(let r=0;r<12;r++)if(!datesInMonth(e,o,r,t).every(i))return getValidDateOfMonth(e,o,r,t,i);return e},correctlyParseUserInput=(e,t,i,o)=>{if(isArray$1(e))return e.map(e=>correctlyParseUserInput(e,t,i,o));if(isString$1(e)){const i=(null==o?void 0:o.value)?dayjs(e):dayjs(e,t);if(!i.isValid())return i}return dayjs(e,t).locale(i)},basicDateTableProps=buildProps({...datePickerSharedProps,showWeekNumber:Boolean,selectionMode:selectionModeWithDefault("date")}),basicDateTableEmits=["changerange","pick","select"],isNormalDay=(e="")=>["normal","today"].includes(e),useBasicDateTable=(e,t)=>{const{lang:i}=useLocale(),o=ref$1(),n=ref$1(),r=ref$1(),s=ref$1(),a=ref$1([[],[],[],[],[],[]]);let l=!1;const c=e.date.$locale().weekStart||7,d=e.date.locale("en").localeData().weekdaysShort().map(e=>e.toLowerCase()),u=computed$1(()=>c>3?7-c:-c),h=computed$1(()=>{const t=e.date.startOf("month");return t.subtract(t.day()||7,"day")}),p=computed$1(()=>d.concat(d).slice(c,c+7)),g=computed$1(()=>flatten(unref(_)).some(e=>e.isCurrent)),m=computed$1(()=>{const t=e.date.startOf("month");return{startOfMonthDay:t.day()||7,dateCountOfMonth:t.daysInMonth(),dateCountOfLastMonth:t.subtract(1,"month").daysInMonth()}}),f=computed$1(()=>"dates"===e.selectionMode?castArray(e.parsedValue):[]),v=(t,{columnIndex:i,rowIndex:o},n)=>{const{disabledDate:r,cellClassName:s}=e,a=unref(f),l=((e,{count:t,rowIndex:i,columnIndex:o})=>{const{startOfMonthDay:n,dateCountOfMonth:r,dateCountOfLastMonth:s}=unref(m),a=unref(u);if(!(i>=0&&i<=1))return t<=r?e.text=t:(e.text=t-r,e.type="next-month"),!0;{const r=n+a<0?7+n+a:n+a;if(o+7*i>=r)return e.text=t,!0;e.text=s-(r-o%7)+1+7*i,e.type="prev-month"}return!1})(t,{count:n,rowIndex:o,columnIndex:i}),c=t.dayjs.toDate();return t.selected=a.find(e=>e.isSame(t.dayjs,"day")),t.isSelected=!!t.selected,t.isCurrent=C(t),t.disabled=null==r?void 0:r(c),t.customClass=null==s?void 0:s(c),l},b=t=>{if("week"===e.selectionMode){const[i,o]=e.showWeekNumber?[1,7]:[0,6],n=k(t[i+1]);t[i].inRange=n,t[i].start=n,t[o].inRange=n,t[o].end=n}},_=computed$1(()=>{const{minDate:t,maxDate:o,rangeState:n,showWeekNumber:r}=e,s=unref(u),l=unref(a),c="day";let d=1;if(buildPickerTable({row:6,column:7},l,{startDate:t,columnIndexOffset:r?1:0,nextEndDate:n.endDate||o||n.selecting&&t||null,now:dayjs().locale(unref(i)).startOf(c),unit:c,relativeDateGetter:e=>unref(h).add(e-s,c),setCellMetadata:(...e)=>{v(...e,d)&&(d+=1)},setRowMetadata:b}),r)for(let e=0;e<6;e++)l[e][1].dayjs&&(l[e][0]={type:"week",text:l[e][1].dayjs.week()});return l});watch(()=>e.date,async()=>{var e;(null==(e=unref(o))?void 0:e.contains(document.activeElement))&&(await nextTick(),await y())});const y=async()=>{var e;return null==(e=unref(n))?void 0:e.focus()},C=t=>"date"===e.selectionMode&&isNormalDay(t.type)&&w(t,e.parsedValue),w=(t,o)=>!!o&&dayjs(o).locale(unref(i)).isSame(e.date.date(Number(t.text)),"day"),x=(t,i)=>{const o=7*t+(i-(e.showWeekNumber?1:0))-unref(u);return unref(h).add(o,"day")},S=(i,o=!1)=>{if(e.disabled)return;const n=i.target.closest("td");if(!n)return;const r=n.parentNode.rowIndex-1,s=n.cellIndex,a=unref(_)[r][s];if(a.disabled||"week"===a.type)return;const l=x(r,s);switch(e.selectionMode){case"range":(i=>{e.rangeState.selecting&&e.minDate?(i>=e.minDate?t("pick",{minDate:e.minDate,maxDate:i}):t("pick",{minDate:i,maxDate:e.minDate}),t("select",!1)):(t("pick",{minDate:i,maxDate:null}),t("select",!0))})(l);break;case"date":t("pick",l,o);break;case"week":(e=>{const i=e.week(),o=`${e.year()}w${i}`;t("pick",{year:e.year(),week:i,value:o,date:e.startOf("week")})})(l);break;case"dates":((i,o)=>{const n=o?castArray(e.parsedValue).filter(e=>(null==e?void 0:e.valueOf())!==i.valueOf()):castArray(e.parsedValue).concat([i]);t("pick",n)})(l,!!a.selected)}},k=t=>{if("week"!==e.selectionMode)return!1;let i=e.date.startOf("day");if("prev-month"===t.type&&(i=i.subtract(1,"month")),"next-month"===t.type&&(i=i.add(1,"month")),i=i.date(Number.parseInt(t.text,10)),e.parsedValue&&!isArray$1(e.parsedValue)){const t=(e.parsedValue.day()-c+7)%7-1;return e.parsedValue.subtract(t,"day").isSame(i,"day")}return!1};return{WEEKS:p,rows:_,tbodyRef:o,currentCellRef:n,focus:y,isCurrent:C,isWeekActive:k,handlePickDate:S,handleMouseUp:e=>{e.target.closest("td")&&(l=!1)},handleMouseDown:e=>{e.target.closest("td")&&(l=!0)},handleMouseMove:i=>{var o;if(!e.rangeState.selecting)return;let n=i.target;if("SPAN"===n.tagName&&(n=null==(o=n.parentNode)?void 0:o.parentNode),"DIV"===n.tagName&&(n=n.parentNode),"TD"!==n.tagName)return;const a=n.parentNode.rowIndex-1,l=n.cellIndex;unref(_)[a][l].disabled||a===unref(r)&&l===unref(s)||(r.value=a,s.value=l,t("changerange",{selecting:!0,endDate:x(a,l)}))},handleFocus:t=>{l||unref(g)||"date"!==e.selectionMode||S(t,!0)}}},useBasicDateTableDOM=(e,{isCurrent:t,isWeekActive:i})=>{const o=useNamespace("date-table"),{t:n}=useLocale();return{tableKls:computed$1(()=>[o.b(),{"is-week-mode":"week"===e.selectionMode&&!e.disabled}]),tableLabel:computed$1(()=>n("el.datepicker.dateTablePrompt")),weekHeaderClass:o.e("week-header"),getCellClasses:i=>{const o=[];return isNormalDay(i.type)&&!i.disabled?(o.push("available"),"today"===i.type&&o.push("today")):o.push(i.type),t(i)&&o.push("current"),i.inRange&&(isNormalDay(i.type)||"week"===e.selectionMode)&&(o.push("in-range"),i.start&&o.push("start-date"),i.end&&o.push("end-date")),(i.disabled||e.disabled)&&o.push("disabled"),i.selected&&o.push("selected"),i.customClass&&o.push(i.customClass),o.join(" ")},getRowKls:e=>[o.e("row"),{current:i(e)}],t:n}},basicCellProps=buildProps({cell:{type:definePropType(Object)}});var ElDatePickerCell=defineComponent({name:"ElDatePickerCell",props:basicCellProps,setup(e){const t=useNamespace("date-table-cell"),{slots:i}=inject(ROOT_PICKER_INJECTION_KEY);return()=>{const{cell:o}=e;return renderSlot(i,"default",{...o},()=>{var e;return[createVNode("div",{class:t.b()},[createVNode("span",{class:t.e("text")},[null!=(e=null==o?void 0:o.renderText)?e:null==o?void 0:o.text])])]})}}});const _sfc_main$$=defineComponent({__name:"basic-date-table",props:basicDateTableProps,emits:basicDateTableEmits,setup(e,{expose:t,emit:i}){const o=e,{WEEKS:n,rows:r,tbodyRef:s,currentCellRef:a,focus:l,isCurrent:c,isWeekActive:d,handlePickDate:u,handleMouseUp:h,handleMouseDown:p,handleMouseMove:g,handleFocus:m}=useBasicDateTable(o,i),{tableLabel:f,tableKls:v,getCellClasses:b,getRowKls:_,weekHeaderClass:y,t:C}=useBasicDateTableDOM(o,{isCurrent:c,isWeekActive:d});let w=!1;return onBeforeUnmount(()=>{w=!0}),t({focus:l}),(e,t)=>(openBlock(),createElementBlock("table",{"aria-label":unref(f),class:normalizeClass(unref(v)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:unref(u),onMousemove:unref(g),onMousedown:unref(p),onMouseup:unref(h)},[createBaseVNode("tbody",{ref_key:"tbodyRef",ref:s},[createBaseVNode("tr",null,[e.showWeekNumber?(openBlock(),createElementBlock("th",{key:0,scope:"col",class:normalizeClass(unref(y))},null,2)):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(n),(e,t)=>(openBlock(),createElementBlock("th",{key:t,"aria-label":unref(C)("el.datepicker.weeksFull."+e),scope:"col"},toDisplayString(unref(C)("el.datepicker.weeks."+e)),9,["aria-label"]))),128))]),(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(r),(e,t)=>(openBlock(),createElementBlock("tr",{key:t,class:normalizeClass(unref(_)(e[1]))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(e,(e,i)=>(openBlock(),createElementBlock("td",{key:`${t}.${i}`,ref_for:!0,ref:t=>!unref(w)&&e.isSelected&&(a.value=t),class:normalizeClass(unref(b)(e)),"aria-current":e.isCurrent?"date":void 0,"aria-selected":e.isCurrent,tabindex:e.isSelected?0:-1,onFocus:unref(m)},[createVNode(unref(ElDatePickerCell),{cell:e},null,8,["cell"])],42,["aria-current","aria-selected","tabindex","onFocus"]))),128))],2))),128))],512)],42,["aria-label","onClick","onMousemove","onMousedown","onMouseup"]))}});var DateTable=_export_sfc$1(_sfc_main$$,[["__file","basic-date-table.vue"]]);const basicMonthTableProps=buildProps({...datePickerSharedProps,selectionMode:selectionModeWithDefault("month")}),_sfc_main$_=defineComponent({__name:"basic-month-table",props:basicMonthTableProps,emits:["changerange","pick","select"],setup(e,{expose:t,emit:i}){const o=e,n=useNamespace("month-table"),{t:r,lang:s}=useLocale(),a=ref$1(),l=ref$1(),c=ref$1(o.date.locale("en").localeData().monthsShort().map(e=>e.toLowerCase())),d=ref$1([[],[],[]]),u=ref$1(),h=ref$1(),p=computed$1(()=>{var e,t,i;const n=d.value,r=dayjs().locale(s.value).startOf("month");for(let s=0;s<3;s++){const a=n[s];for(let n=0;n<4;n++){const l=a[n]||(a[n]={row:s,column:n,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0});l.type="normal";const c=4*s+n,d=o.date.startOf("year").month(c),u=o.rangeState.endDate||o.maxDate||o.rangeState.selecting&&o.minDate||null;l.inRange=!!(o.minDate&&d.isSameOrAfter(o.minDate,"month")&&u&&d.isSameOrBefore(u,"month"))||!!(o.minDate&&d.isSameOrBefore(o.minDate,"month")&&u&&d.isSameOrAfter(u,"month")),(null==(e=o.minDate)?void 0:e.isSameOrAfter(u))?(l.start=!(!u||!d.isSame(u,"month")),l.end=o.minDate&&d.isSame(o.minDate,"month")):(l.start=!(!o.minDate||!d.isSame(o.minDate,"month")),l.end=!(!u||!d.isSame(u,"month")));r.isSame(d)&&(l.type="today");const h=d.toDate();l.text=c,l.disabled=(null==(t=o.disabledDate)?void 0:t.call(o,h))||!1,l.date=h,l.customClass=null==(i=o.cellClassName)?void 0:i.call(o,h),l.dayjs=d,l.timestamp=d.valueOf(),l.isSelected=m(l)}}return n}),g=e=>{const t={},i=o.date.year(),n=new Date,r=e.text;return t.disabled=o.disabled||!!o.disabledDate&&datesInMonth(o.date,i,r,s.value).every(o.disabledDate),t.current=castArray(o.parsedValue).findIndex(e=>dayjs.isDayjs(e)&&e.year()===i&&e.month()===r)>=0,t.today=n.getFullYear()===i&&n.getMonth()===r,e.customClass&&(t[e.customClass]=!0),e.inRange&&(t["in-range"]=!0,e.start&&(t["start-date"]=!0),e.end&&(t["end-date"]=!0)),t},m=e=>{const t=o.date.year(),i=e.text;return castArray(o.date).findIndex(e=>e.year()===t&&e.month()===i)>=0},f=e=>{var t;if(!o.rangeState.selecting)return;let n=e.target;if("SPAN"===n.tagName&&(n=null==(t=n.parentNode)?void 0:t.parentNode),"DIV"===n.tagName&&(n=n.parentNode),"TD"!==n.tagName)return;const r=n.parentNode.rowIndex,s=n.cellIndex;p.value[r][s].disabled||r===u.value&&s===h.value||(u.value=r,h.value=s,i("changerange",{selecting:!0,endDate:o.date.startOf("year").month(4*r+s)}))},v=e=>{var t;if(o.disabled)return;const n=null==(t=e.target)?void 0:t.closest("td");if("TD"!==(null==n?void 0:n.tagName))return;if(hasClass(n,"disabled"))return;const r=n.cellIndex,a=4*n.parentNode.rowIndex+r,l=o.date.startOf("year").month(a);if("months"===o.selectionMode){if("keydown"===e.type)return void i("pick",castArray(o.parsedValue),!1);const t=getValidDateOfMonth(o.date,o.date.year(),a,s.value,o.disabledDate),r=hasClass(n,"current")?castArray(o.parsedValue).filter(e=>(null==e?void 0:e.year())!==t.year()||(null==e?void 0:e.month())!==t.month()):castArray(o.parsedValue).concat([dayjs(t)]);i("pick",r)}else"range"===o.selectionMode?o.rangeState.selecting?(o.minDate&&l>=o.minDate?i("pick",{minDate:o.minDate,maxDate:l}):i("pick",{minDate:l,maxDate:o.minDate}),i("select",!1)):(i("pick",{minDate:l,maxDate:null}),i("select",!0)):i("pick",a)};return watch(()=>o.date,async()=>{var e,t;(null==(e=a.value)?void 0:e.contains(document.activeElement))&&(await nextTick(),null==(t=l.value)||t.focus())}),t({focus:()=>{var e;null==(e=l.value)||e.focus()}}),(e,t)=>(openBlock(),createElementBlock("table",{role:"grid","aria-label":unref(r)("el.datepicker.monthTablePrompt"),class:normalizeClass(unref(n).b()),onClick:v,onMousemove:f},[createBaseVNode("tbody",{ref_key:"tbodyRef",ref:a},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(p),(e,t)=>(openBlock(),createElementBlock("tr",{key:t},[(openBlock(!0),createElementBlock(Fragment,null,renderList(e,(e,t)=>(openBlock(),createElementBlock("td",{key:t,ref_for:!0,ref:t=>e.isSelected&&(l.value=t),class:normalizeClass(g(e)),"aria-selected":!!e.isSelected,"aria-label":unref(r)("el.datepicker.month"+(+e.text+1)),tabindex:e.isSelected?0:-1,onKeydown:[withKeys(withModifiers(v,["prevent","stop"]),["space"]),withKeys(withModifiers(v,["prevent","stop"]),["enter"])]},[createVNode(unref(ElDatePickerCell),{cell:{...e,renderText:unref(r)("el.datepicker.months."+c.value[e.text])}},null,8,["cell"])],42,["aria-selected","aria-label","tabindex","onKeydown"]))),128))]))),128))],512)],42,["aria-label"]))}});var MonthTable=_export_sfc$1(_sfc_main$_,[["__file","basic-month-table.vue"]]);const basicYearTableProps=buildProps({...datePickerSharedProps,selectionMode:selectionModeWithDefault("year")}),_sfc_main$Z=defineComponent({__name:"basic-year-table",props:basicYearTableProps,emits:["changerange","pick","select"],setup(e,{expose:t,emit:i}){const o=e,n=useNamespace("year-table"),{t:r,lang:s}=useLocale(),a=ref$1(),l=ref$1(),c=computed$1(()=>10*Math.floor(o.date.year()/10)),d=ref$1([[],[],[]]),u=ref$1(),h=ref$1(),p=computed$1(()=>{var e,t,i;const n=d.value,r=dayjs().locale(s.value).startOf("year");for(let s=0;s<3;s++){const a=n[s];for(let n=0;n<4&&!(4*s+n>=10);n++){let l=a[n];l||(l={row:s,column:n,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0}),l.type="normal";const d=4*s+n+c.value,u=dayjs().year(d),h=o.rangeState.endDate||o.maxDate||o.rangeState.selecting&&o.minDate||null;l.inRange=!!(o.minDate&&u.isSameOrAfter(o.minDate,"year")&&h&&u.isSameOrBefore(h,"year"))||!!(o.minDate&&u.isSameOrBefore(o.minDate,"year")&&h&&u.isSameOrAfter(h,"year")),(null==(e=o.minDate)?void 0:e.isSameOrAfter(h))?(l.start=!(!h||!u.isSame(h,"year")),l.end=!(!o.minDate||!u.isSame(o.minDate,"year"))):(l.start=!(!o.minDate||!u.isSame(o.minDate,"year")),l.end=!(!h||!u.isSame(h,"year")));r.isSame(u)&&(l.type="today"),l.text=d;const p=u.toDate();l.disabled=(null==(t=o.disabledDate)?void 0:t.call(o,p))||!1,l.date=p,l.customClass=null==(i=o.cellClassName)?void 0:i.call(o,p),l.dayjs=u,l.timestamp=u.valueOf(),l.isSelected=m(l),a[n]=l}}return n}),g=e=>{const t={},i=dayjs().locale(s.value),n=e.text;return t.disabled=o.disabled||!!o.disabledDate&&((e,t)=>{const i=dayjs(String(e)).locale(t).startOf("year"),o=i.endOf("year").dayOfYear();return rangeArr(o).map(e=>i.add(e,"day").toDate())})(n,s.value).every(o.disabledDate),t.today=i.year()===n,t.current=castArray(o.parsedValue).findIndex(e=>e.year()===n)>=0,e.customClass&&(t[e.customClass]=!0),e.inRange&&(t["in-range"]=!0,e.start&&(t["start-date"]=!0),e.end&&(t["end-date"]=!0)),t},m=e=>{const t=e.text;return castArray(o.date).findIndex(e=>e.year()===t)>=0},f=e=>{var t;if(o.disabled)return;const n=null==(t=e.target)?void 0:t.closest("td");if(!n||!n.textContent||hasClass(n,"disabled"))return;const r=n.cellIndex,a=4*n.parentNode.rowIndex+r+c.value,l=dayjs().year(a);if("range"===o.selectionMode)o.rangeState.selecting?(o.minDate&&l>=o.minDate?i("pick",{minDate:o.minDate,maxDate:l}):i("pick",{minDate:l,maxDate:o.minDate}),i("select",!1)):(i("pick",{minDate:l,maxDate:null}),i("select",!0));else if("years"===o.selectionMode){if("keydown"===e.type)return void i("pick",castArray(o.parsedValue),!1);const t=getValidDateOfYear(l.startOf("year"),s.value,o.disabledDate),r=hasClass(n,"current")?castArray(o.parsedValue).filter(e=>(null==e?void 0:e.year())!==a):castArray(o.parsedValue).concat([t]);i("pick",r)}else i("pick",a)},v=e=>{var t;if(!o.rangeState.selecting)return;const n=null==(t=e.target)?void 0:t.closest("td");if(!n)return;const r=n.parentNode.rowIndex,s=n.cellIndex;p.value[r][s].disabled||r===u.value&&s===h.value||(u.value=r,h.value=s,i("changerange",{selecting:!0,endDate:dayjs().year(c.value).add(4*r+s,"year")}))};return watch(()=>o.date,async()=>{var e,t;(null==(e=a.value)?void 0:e.contains(document.activeElement))&&(await nextTick(),null==(t=l.value)||t.focus())}),t({focus:()=>{var e;null==(e=l.value)||e.focus()}}),(e,t)=>(openBlock(),createElementBlock("table",{role:"grid","aria-label":unref(r)("el.datepicker.yearTablePrompt"),class:normalizeClass(unref(n).b()),onClick:f,onMousemove:v},[createBaseVNode("tbody",{ref_key:"tbodyRef",ref:a},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(p),(e,t)=>(openBlock(),createElementBlock("tr",{key:t},[(openBlock(!0),createElementBlock(Fragment,null,renderList(e,(e,i)=>(openBlock(),createElementBlock("td",{key:`${t}_${i}`,ref_for:!0,ref:t=>e.isSelected&&(l.value=t),class:normalizeClass(["available",g(e)]),"aria-selected":e.isSelected,"aria-label":String(e.text),tabindex:e.isSelected?0:-1,onKeydown:[withKeys(withModifiers(f,["prevent","stop"]),["space"]),withKeys(withModifiers(f,["prevent","stop"]),["enter"])]},[createVNode(unref(ElDatePickerCell),{cell:e},null,8,["cell"])],42,["aria-selected","aria-label","tabindex","onKeydown"]))),128))]))),128))],512)],42,["aria-label"]))}});var YearTable=_export_sfc$1(_sfc_main$Z,[["__file","basic-year-table.vue"]]);const _sfc_main$Y=defineComponent({__name:"panel-date-pick",props:panelDatePickProps,emits:["pick","set-picker-option","panel-change"],setup(e,{emit:t}){const i=e,o=useNamespace("picker-panel"),n=useNamespace("date-picker"),r=useAttrs$1(),s=useSlots(),{t:a,lang:l}=useLocale(),c=inject(PICKER_BASE_INJECTION_KEY),d=inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,void 0),{shortcuts:u,disabledDate:h,cellClassName:p,defaultTime:g}=c.props,m=toRef(c.props,"defaultValue"),f=ref$1(),v=ref$1(dayjs().locale(l.value)),b=ref$1(!1);let _=!1;const y=computed$1(()=>dayjs(g).locale(l.value)),C=computed$1(()=>v.value.month()),w=computed$1(()=>v.value.year()),x=ref$1([]),S=ref$1(null),k=ref$1(null),E=e=>!(x.value.length>0)||(x.value,i.format,!0),I=e=>!g||X.value||b.value||_?V.value?e.millisecond(0):e.startOf("day"):y.value.year(e.year()).month(e.month()).date(e.date()),T=(e,...i)=>{if(e)if(isArray$1(e)){const o=e.map(I);t("pick",o,...i)}else t("pick",I(e),...i);else t("pick",e,...i);S.value=null,k.value=null,b.value=!1,_=!1},D=async(e,t)=>{if("date"===R.value){let o=i.parsedValue?i.parsedValue.year(e.year()).month(e.month()).date(e.date()):e;E()||(o=x.value[0][0].year(e.year()).month(e.month()).date(e.date())),v.value=o,T(o,V.value||t)}else"week"===R.value?T(e.date):"dates"===R.value&&T(e,!0)},L=e=>{const t=e?"add":"subtract";v.value=v.value[t](1,"month"),ce("month")},N=e=>{const t=v.value,i=e?"add":"subtract";v.value="year"===M.value?t[i](10,"year"):t[i](1,"year"),ce("year")},M=ref$1("date"),$=computed$1(()=>{const e=a("el.datepicker.year");if("year"===M.value){const t=10*Math.floor(w.value/10);return e?`${t} ${e} - ${t+9} ${e}`:`${t} - ${t+9}`}return`${w.value} ${e}`}),R=computed$1(()=>{const{type:e}=i;return["week","month","months","year","years","dates"].includes(e)?e:"date"}),A=computed$1(()=>"dates"===R.value||"months"===R.value||"years"===R.value),O=computed$1(()=>"date"===R.value?M.value:R.value),P=computed$1(()=>!!u.length),B=async(e,t)=>{"month"===R.value?(v.value=getValidDateOfMonth(v.value,v.value.year(),e,l.value,h),T(v.value,!1)):"months"===R.value?T(e,null==t||t):(v.value=getValidDateOfMonth(v.value,v.value.year(),e,l.value,h),M.value="date",["month","year","date","week"].includes(R.value)&&(T(v.value,!0),await nextTick(),se())),ce("month")},F=async(e,t)=>{if("year"===R.value){const t=v.value.startOf("year").year(e);v.value=getValidDateOfYear(t,l.value,h),T(v.value,!1)}else if("years"===R.value)T(e,null==t||t);else{const t=v.value.year(e);v.value=getValidDateOfYear(t,l.value,h),M.value="month",["month","year","date","week"].includes(R.value)&&(T(v.value,!0),await nextTick(),se())}ce("year")},z=async e=>{i.disabled||(M.value=e,await nextTick(),se())},V=computed$1(()=>"datetime"===i.type||"datetimerange"===i.type),H=computed$1(()=>{const e=V.value||"dates"===R.value,t="years"===R.value,i="months"===R.value,o="date"===M.value,n="year"===M.value,r="month"===M.value;return e&&o||t&&n||i&&r}),W=computed$1(()=>!A.value&&i.showNow||i.showConfirm),K=computed$1(()=>!!h&&(!i.parsedValue||(isArray$1(i.parsedValue)?h(i.parsedValue[0].toDate()):h(i.parsedValue.toDate())))),U=()=>{if(A.value)T(i.parsedValue);else{let e=i.parsedValue;if(!e){const t=dayjs(g).locale(l.value),i=re();e=t.year(i.year()).month(i.month()).date(i.date())}v.value=e,T(e)}},j=computed$1(()=>!!h&&h(dayjs().locale(l.value).toDate())),G=()=>{const e=dayjs().locale(l.value).toDate();b.value=!0,h&&h(e)||!E()||(v.value=dayjs().locale(l.value),T(v.value))},q=computed$1(()=>i.timeFormat||extractTimeFormat(i.format)||DEFAULT_FORMATS_TIME),Y=computed$1(()=>i.dateFormat||extractDateFormat(i.format)||DEFAULT_FORMATS_DATE),X=computed$1(()=>k.value?k.value:i.parsedValue||m.value?(i.parsedValue||v.value).format(q.value):void 0),Q=computed$1(()=>S.value?S.value:i.parsedValue||m.value?(i.parsedValue||v.value).format(Y.value):void 0),Z=ref$1(!1),J=()=>{Z.value=!0},ee=()=>{Z.value=!1},te=e=>({hour:e.hour(),minute:e.minute(),second:e.second(),year:e.year(),month:e.month(),date:e.date()}),ie=(e,t,o)=>{const{hour:n,minute:r,second:s}=te(e),a=i.parsedValue?i.parsedValue.hour(n).minute(r).second(s):e;v.value=a,T(v.value,!0),o||(Z.value=t)},oe=e=>{const t=dayjs(e,q.value).locale(l.value);if(t.isValid()&&E()){const{year:e,month:i,date:o}=te(v.value);v.value=t.year(e).month(i).date(o),k.value=null,Z.value=!1,T(v.value,!0)}},ne=e=>{const t=correctlyParseUserInput(e,Y.value,l.value,d);if(t.isValid()){if(h&&h(t.toDate()))return;const{hour:e,minute:i,second:o}=te(v.value);v.value=t.hour(e).minute(i).second(o),S.value=null,T(v.value,!0)}},re=()=>{const e=dayjs(m.value).locale(l.value);if(!m.value){const e=y.value;return dayjs().hour(e.hour()).minute(e.minute()).second(e.second()).locale(l.value)}return e},se=()=>{var e;["week","month","year","date"].includes(R.value)&&(null==(e=f.value)||e.focus())},ae=e=>{const{code:t}=e;[EVENT_CODE.up,EVENT_CODE.down,EVENT_CODE.left,EVENT_CODE.right,EVENT_CODE.home,EVENT_CODE.end,EVENT_CODE.pageUp,EVENT_CODE.pageDown].includes(t)&&(le(t),e.stopPropagation(),e.preventDefault()),[EVENT_CODE.enter,EVENT_CODE.space,EVENT_CODE.numpadEnter].includes(t)&&null===S.value&&null===k.value&&(e.preventDefault(),T(v.value,!1))},le=e=>{var i;const{up:o,down:n,left:r,right:s,home:a,end:c,pageUp:d,pageDown:u}=EVENT_CODE,p={year:{[o]:-4,[n]:4,[r]:-1,[s]:1,offset:(e,t)=>e.setFullYear(e.getFullYear()+t)},month:{[o]:-4,[n]:4,[r]:-1,[s]:1,offset:(e,t)=>e.setMonth(e.getMonth()+t)},week:{[o]:-1,[n]:1,[r]:-1,[s]:1,offset:(e,t)=>e.setDate(e.getDate()+7*t)},date:{[o]:-7,[n]:7,[r]:-1,[s]:1,[a]:e=>-e.getDay(),[c]:e=>6-e.getDay(),[d]:e=>-new Date(e.getFullYear(),e.getMonth(),0).getDate(),[u]:e=>new Date(e.getFullYear(),e.getMonth()+1,0).getDate(),offset:(e,t)=>e.setDate(e.getDate()+t)}},g=v.value.toDate();for(;Math.abs(v.value.diff(g,"year",!0))<1;){const o=p[O.value];if(!o)return;if(o.offset(g,isFunction$1(o[e])?o[e](g):null!=(i=o[e])?i:0),h&&h(g))break;const n=dayjs(g).locale(l.value);v.value=n,t("pick",n,!0);break}},ce=e=>{t("panel-change",v.value.toDate(),e,M.value)};return watch(()=>R.value,e=>{["month","year"].includes(e)?M.value=e:M.value="years"!==e?"months"!==e?"date":"month":"year"},{immediate:!0}),watch(()=>m.value,e=>{e&&(v.value=re())},{immediate:!0}),watch(()=>i.parsedValue,e=>{if(e){if(A.value)return;if(isArray$1(e))return;v.value=e}else v.value=re()},{immediate:!0}),t("set-picker-option",["isValidValue",e=>dayjs.isDayjs(e)&&e.isValid()&&(!h||!h(e.toDate()))]),t("set-picker-option",["formatToString",e=>isArray$1(e)?e.map(e=>e.format(i.format)):e.format(i.format)]),t("set-picker-option",["parseUserInput",e=>correctlyParseUserInput(e,i.format,l.value,d)]),t("set-picker-option",["handleFocusPicker",()=>{se(),"week"===R.value&&le(EVENT_CODE.down)}]),(e,i)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(o).b(),unref(n).b(),unref(o).is("border",e.border),unref(o).is("disabled",e.disabled),{"has-sidebar":e.$slots.sidebar||unref(P),"has-time":unref(V)}])},[createBaseVNode("div",{class:normalizeClass(unref(o).e("body-wrapper"))},[renderSlot(e.$slots,"sidebar",{class:normalizeClass(unref(o).e("sidebar"))}),unref(P)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(o).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(u),(i,n)=>(openBlock(),createElementBlock("button",{key:n,type:"button",disabled:e.disabled,class:normalizeClass(unref(o).e("shortcut")),onClick:e=>(e=>{const i=isFunction$1(e.value)?e.value():e.value;if(i)return _=!0,void T(dayjs(i).locale(l.value));e.onClick&&e.onClick({attrs:r,slots:s,emit:t})})(i)},toDisplayString(i.text),11,["disabled","onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(o).e("body"))},[unref(V)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(n).e("time-header"))},[createBaseVNode("span",{class:normalizeClass(unref(n).e("editor-wrap"))},[createVNode(unref(ElInput),{placeholder:unref(a)("el.datepicker.selectDate"),"model-value":unref(Q),size:"small","validate-event":!1,disabled:e.disabled,onInput:e=>S.value=e,onChange:ne},null,8,["placeholder","model-value","disabled","onInput"])],2),withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass(unref(n).e("editor-wrap"))},[createVNode(unref(ElInput),{placeholder:unref(a)("el.datepicker.selectTime"),"model-value":unref(X),size:"small","validate-event":!1,disabled:e.disabled,onFocus:J,onInput:e=>k.value=e,onChange:oe},null,8,["placeholder","model-value","disabled","onInput"]),createVNode(unref(TimePickPanel),{visible:Z.value,format:unref(q),"parsed-value":v.value,onPick:ie},null,8,["visible","format","parsed-value"])],2)),[[unref(ClickOutside),ee]])],2)):createCommentVNode("v-if",!0),withDirectives(createBaseVNode("div",{class:normalizeClass([unref(n).e("header"),("year"===M.value||"month"===M.value)&&unref(n).e("header--bordered")])},[createBaseVNode("span",{class:normalizeClass(unref(n).e("prev-btn"))},[createBaseVNode("button",{type:"button","aria-label":unref(a)("el.datepicker.prevYear"),class:normalizeClass(["d-arrow-left",unref(o).e("icon-btn")]),disabled:e.disabled,onClick:e=>N(!1)},[renderSlot(e.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["aria-label","disabled","onClick"]),withDirectives(createBaseVNode("button",{type:"button","aria-label":unref(a)("el.datepicker.prevMonth"),class:normalizeClass([unref(o).e("icon-btn"),"arrow-left"]),disabled:e.disabled,onClick:e=>L(!1)},[renderSlot(e.$slots,"prev-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_left_default))]),_:1})])],10,["aria-label","disabled","onClick"]),[[vShow,"date"===M.value]])],2),createBaseVNode("span",{role:"button",class:normalizeClass(unref(n).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:withKeys(e=>z("year"),["enter"]),onClick:e=>z("year")},toDisplayString(unref($)),43,["onKeydown","onClick"]),withDirectives(createBaseVNode("span",{role:"button","aria-live":"polite",tabindex:"0",class:normalizeClass([unref(n).e("header-label"),{active:"month"===M.value}]),onKeydown:withKeys(e=>z("month"),["enter"]),onClick:e=>z("month")},toDisplayString(unref(a)(`el.datepicker.month${unref(C)+1}`)),43,["onKeydown","onClick"]),[[vShow,"date"===M.value]]),createBaseVNode("span",{class:normalizeClass(unref(n).e("next-btn"))},[withDirectives(createBaseVNode("button",{type:"button","aria-label":unref(a)("el.datepicker.nextMonth"),class:normalizeClass([unref(o).e("icon-btn"),"arrow-right"]),disabled:e.disabled,onClick:e=>L(!0)},[renderSlot(e.$slots,"next-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})])],10,["aria-label","disabled","onClick"]),[[vShow,"date"===M.value]]),createBaseVNode("button",{type:"button","aria-label":unref(a)("el.datepicker.nextYear"),class:normalizeClass([unref(o).e("icon-btn"),"d-arrow-right"]),disabled:e.disabled,onClick:e=>N(!0)},[renderSlot(e.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["aria-label","disabled","onClick"])],2)],2),[[vShow,"time"!==M.value]]),createBaseVNode("div",{class:normalizeClass(unref(o).e("content")),onKeydown:ae},["date"===M.value?(openBlock(),createBlock(DateTable,{key:0,ref_key:"currentViewRef",ref:f,"selection-mode":unref(R),date:v.value,"parsed-value":e.parsedValue,"disabled-date":unref(h),disabled:e.disabled,"cell-class-name":unref(p),"show-week-number":e.showWeekNumber,onPick:D},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name","show-week-number"])):createCommentVNode("v-if",!0),"year"===M.value?(openBlock(),createBlock(YearTable,{key:1,ref_key:"currentViewRef",ref:f,"selection-mode":unref(R),date:v.value,"disabled-date":unref(h),disabled:e.disabled,"parsed-value":e.parsedValue,"cell-class-name":unref(p),onPick:F},null,8,["selection-mode","date","disabled-date","disabled","parsed-value","cell-class-name"])):createCommentVNode("v-if",!0),"month"===M.value?(openBlock(),createBlock(MonthTable,{key:2,ref_key:"currentViewRef",ref:f,"selection-mode":unref(R),date:v.value,"parsed-value":e.parsedValue,"disabled-date":unref(h),disabled:e.disabled,"cell-class-name":unref(p),onPick:B},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name"])):createCommentVNode("v-if",!0)],34)],2)],2),e.showFooter&&unref(H)&&unref(W)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(o).e("footer"))},[withDirectives(createVNode(unref(ElButton),{text:"",size:"small",class:normalizeClass(unref(o).e("link-btn")),disabled:unref(j),onClick:G},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(a)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[vShow,!unref(A)&&e.showNow]]),e.showConfirm?(openBlock(),createBlock(unref(ElButton),{key:0,plain:"",size:"small",class:normalizeClass(unref(o).e("link-btn")),disabled:unref(K),onClick:U},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(a)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],2))}});var DatePickPanel=_export_sfc$1(_sfc_main$Y,[["__file","panel-date-pick.vue"]]);const panelDateRangeProps=buildProps({...panelSharedProps,...panelRangeSharedProps}),useShortcut=e=>{const{emit:t}=getCurrentInstance$1(),i=useAttrs$1(),o=useSlots();return n=>{const r=isFunction$1(n.value)?n.value():n.value;r?t("pick",[dayjs(r[0]).locale(e.value),dayjs(r[1]).locale(e.value)]):n.onClick&&n.onClick({attrs:i,slots:o,emit:t})}},useRangePicker=(e,{defaultValue:t,defaultTime:i,leftDate:o,rightDate:n,step:r,unit:s,onParsedValueChanged:a})=>{const{emit:l}=getCurrentInstance$1(),{pickerNs:c}=inject(ROOT_PICKER_INJECTION_KEY),d=useNamespace("date-range-picker"),{t:u,lang:h}=useLocale(),p=useShortcut(h),g=ref$1(),m=ref$1(),f=ref$1({endDate:null,selecting:!1}),v=e=>{if(isArray$1(e)&&2===e.length){const[t,i]=e;g.value=t,o.value=t,m.value=i,a(unref(g),unref(m))}else b()},b=()=>{let[a,l]=getDefaultValue(unref(t),{lang:unref(h),step:r,unit:s,unlinkPanels:e.unlinkPanels});const c=e=>e.diff(e.startOf("d"),"ms"),d=unref(i);if(d){let e=0,t=0;if(isArray$1(d)){const[i,o]=d.map(dayjs);e=c(i),t=c(o)}else{const i=c(dayjs(d));e=i,t=i}a=a.startOf("d").add(e,"ms"),l=l.startOf("d").add(t,"ms")}g.value=void 0,m.value=void 0,o.value=a,n.value=l};return watch(t,e=>{e&&b()},{immediate:!0}),watch(()=>e.parsedValue,e=>{(null==e?void 0:e.length)||v(e)},{immediate:!0}),watch(()=>e.visible,()=>{e.visible&&v(e.parsedValue)},{immediate:!0}),{minDate:g,maxDate:m,rangeState:f,lang:h,ppNs:c,drpNs:d,handleChangeRange:e=>{f.value=e},handleRangeConfirm:(e=!1)=>{const t=unref(g),i=unref(m);isValidRange([t,i])&&l("pick",[t,i],e)},handleShortcutClick:p,onSelect:e=>{f.value.selecting=e,e||(f.value.endDate=null)},onReset:v,t:u}},usePanelDateRange=(e,t,i,o)=>{const n=ref$1("date"),r=ref$1(),s=ref$1("date"),a=ref$1(),l=inject(PICKER_BASE_INJECTION_KEY),{disabledDate:c}=l.props,{t:d,lang:u}=useLocale(),h=computed$1(()=>i.value.year()),p=computed$1(()=>i.value.month()),g=computed$1(()=>o.value.year()),m=computed$1(()=>o.value.month());function f(e,t){const i=d("el.datepicker.year");if("year"===e.value){const e=10*Math.floor(t.value/10);return i?`${e} ${i} - ${e+9} ${i}`:`${e} - ${e+9}`}return`${t.value} ${i}`}function v(e){null==e||e.focus()}async function b(t,i){if(e.disabled)return;const o="left"===t?r:a;("left"===t?n:s).value=i,await nextTick(),v(o.value)}async function _(t,l,d){if(e.disabled)return;const h="left"===l,p=h?i:o,g=h?o:i,m=h?n:s,f=h?r:a;if("year"===t){const e=p.value.year(d);p.value=getValidDateOfYear(e,u.value,c)}"month"===t&&(p.value=getValidDateOfMonth(p.value,p.value.year(),d,u.value,c)),e.unlinkPanels||(g.value="left"===l?p.value.add(1,"month"):p.value.subtract(1,"month")),m.value="year"===t?"month":"date",await nextTick(),v(f.value),y(t)}function y(e){t("panel-change",[i.value.toDate(),o.value.toDate()],e)}return{leftCurrentView:n,rightCurrentView:s,leftCurrentViewRef:r,rightCurrentViewRef:a,leftYear:h,rightYear:g,leftMonth:p,rightMonth:m,leftYearLabel:computed$1(()=>f(n,h)),rightYearLabel:computed$1(()=>f(s,g)),showLeftPicker:e=>b("left",e),showRightPicker:e=>b("right",e),handleLeftYearPick:e=>_("year","left",e),handleRightYearPick:e=>_("year","right",e),handleLeftMonthPick:e=>_("month","left",e),handleRightMonthPick:e=>_("month","right",e),handlePanelChange:y,adjustDateByView:function(e,t,i){const o=i?"add":"subtract";return"year"===e?t[o](10,"year"):t[o](1,"year")}}},unit$2="month",_sfc_main$X=defineComponent({__name:"panel-date-range",props:panelDateRangeProps,emits:["pick","set-picker-option","calendar-change","panel-change"],setup(e,{emit:t}){const i=e,o=inject(PICKER_BASE_INJECTION_KEY),n=inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,void 0),{disabledDate:r,cellClassName:s,defaultTime:a,clearable:l}=o.props,c=toRef(o.props,"format"),d=toRef(o.props,"shortcuts"),u=toRef(o.props,"defaultValue"),{lang:h}=useLocale(),p=ref$1(dayjs().locale(h.value)),g=ref$1(dayjs().locale(h.value).add(1,unit$2));let m=!0;const{minDate:f,maxDate:v,rangeState:b,ppNs:_,drpNs:y,handleChangeRange:C,handleRangeConfirm:w,handleShortcutClick:x,onSelect:S,onReset:k,t:E}=useRangePicker(i,{defaultValue:u,defaultTime:a,leftDate:p,rightDate:g,unit:unit$2,onParsedValueChanged:function(e,t){if(i.unlinkPanels&&t){const i=(null==e?void 0:e.year())||0,o=(null==e?void 0:e.month())||0,n=t.year(),r=t.month();g.value=i===n&&o===r?t.add(1,unit$2):t}else g.value=p.value.add(1,unit$2),t&&(g.value=g.value.hour(t.hour()).minute(t.minute()).second(t.second()))}});watch(()=>i.visible,e=>{!e&&b.value.selecting&&(k(i.parsedValue),S(!1))});const I=ref$1({min:null,max:null}),T=ref$1({min:null,max:null}),{leftCurrentView:D,rightCurrentView:L,leftCurrentViewRef:N,rightCurrentViewRef:M,leftYear:$,rightYear:R,leftMonth:A,rightMonth:O,leftYearLabel:P,rightYearLabel:B,showLeftPicker:F,showRightPicker:z,handleLeftYearPick:V,handleRightYearPick:H,handleLeftMonthPick:W,handleRightMonthPick:K,handlePanelChange:U,adjustDateByView:j}=usePanelDateRange(i,t,p,g),G=computed$1(()=>!!d.value.length),q=computed$1(()=>null!==I.value.min?I.value.min:f.value?f.value.format(J.value):""),Y=computed$1(()=>null!==I.value.max?I.value.max:v.value||f.value?(v.value||f.value).format(J.value):""),X=computed$1(()=>null!==T.value.min?T.value.min:f.value?f.value.format(Z.value):""),Q=computed$1(()=>null!==T.value.max?T.value.max:v.value||f.value?(v.value||f.value).format(Z.value):""),Z=computed$1(()=>i.timeFormat||extractTimeFormat(c.value||"")||DEFAULT_FORMATS_TIME),J=computed$1(()=>i.dateFormat||extractDateFormat(c.value||"")||DEFAULT_FORMATS_DATE),ee=()=>{p.value=j(D.value,p.value,!1),i.unlinkPanels||(g.value=p.value.add(1,"month")),U("year")},te=()=>{p.value=p.value.subtract(1,"month"),i.unlinkPanels||(g.value=p.value.add(1,"month")),U("month")},ie=()=>{i.unlinkPanels?g.value=j(L.value,g.value,!0):(p.value=j(L.value,p.value,!0),g.value=p.value.add(1,"month")),U("year")},oe=()=>{i.unlinkPanels?g.value=g.value.add(1,"month"):(p.value=p.value.add(1,"month"),g.value=p.value.add(1,"month")),U("month")},ne=()=>{p.value=j(D.value,p.value,!0),U("year")},re=()=>{p.value=p.value.add(1,"month"),U("month")},se=()=>{g.value=j(L.value,g.value,!1),U("year")},ae=()=>{g.value=g.value.subtract(1,"month"),U("month")},le=computed$1(()=>{const e=(A.value+1)%12,t=A.value+1>=12?1:0;return i.unlinkPanels&&new Date($.value+t,e)i.unlinkPanels&&12*R.value+O.value-(12*$.value+A.value+1)>=12),de=computed$1(()=>!(f.value&&v.value&&!b.value.selecting&&isValidRange([f.value,v.value]))),ue=computed$1(()=>"datetime"===i.type||"datetimerange"===i.type),he=(e,t)=>{if(e){if(a){return dayjs(a[t]||a).locale(h.value).year(e.year()).month(e.month()).date(e.date())}return e}},pe=(e,i=!0)=>{const o=e.minDate,n=e.maxDate,r=he(o,0),s=he(n,1);v.value===s&&f.value===r||(t("calendar-change",[o.toDate(),n&&n.toDate()]),v.value=s,f.value=r,!ue.value&&i&&(i=!r||!s),m=i)};watch([v,f],([e,t])=>{e&&t&&(w(m),m=!0)});const ge=ref$1(!1),me=ref$1(!1),fe=()=>{ge.value=!1},ve=()=>{me.value=!1},be=(e,t)=>{I.value[t]=e;const o=dayjs(e,J.value).locale(h.value);if(o.isValid()){if(r&&r(o.toDate()))return;"min"===t?(p.value=o,f.value=(f.value||p.value).year(o.year()).month(o.month()).date(o.date()),i.unlinkPanels||v.value&&!v.value.isBefore(f.value)||(g.value=o.add(1,"month"),v.value=f.value.add(1,"month"))):(g.value=o,v.value=(v.value||g.value).year(o.year()).month(o.month()).date(o.date()),i.unlinkPanels||f.value&&!f.value.isAfter(v.value)||(p.value=o.subtract(1,"month"),f.value=v.value.subtract(1,"month")))}},_e=(e,t)=>{I.value[t]=null},ye=(e,t)=>{T.value[t]=e;const i=dayjs(e,Z.value).locale(h.value);i.isValid()&&("min"===t?(ge.value=!0,f.value=(f.value||p.value).hour(i.hour()).minute(i.minute()).second(i.second())):(me.value=!0,v.value=(v.value||g.value).hour(i.hour()).minute(i.minute()).second(i.second()),g.value=v.value))},Ce=(e,t)=>{T.value[t]=null,"min"===t?(p.value=f.value,ge.value=!1,v.value&&!v.value.isBefore(f.value)||(v.value=f.value)):(g.value=v.value,me.value=!1,v.value&&v.value.isBefore(f.value)&&(f.value=v.value))},we=(e,t,o)=>{T.value.min||(e&&(p.value=e,f.value=(f.value||p.value).hour(e.hour()).minute(e.minute()).second(e.second())),o||(ge.value=t),v.value&&!v.value.isBefore(f.value)||(v.value=f.value,g.value=e,nextTick(()=>{k(i.parsedValue)})))},xe=(e,t,i)=>{T.value.max||(e&&(g.value=e,v.value=(v.value||g.value).hour(e.hour()).minute(e.minute()).second(e.second())),i||(me.value=t),v.value&&v.value.isBefore(f.value)&&(f.value=v.value))},Se=()=>{p.value=getDefaultValue(unref(u),{lang:unref(h),unit:"month",unlinkPanels:i.unlinkPanels})[0],g.value=p.value.add(1,"month"),v.value=void 0,f.value=void 0,t("pick",null)};return t("set-picker-option",["isValidValue",e=>isValidRange(e)&&(!r||!r(e[0].toDate())&&!r(e[1].toDate()))]),t("set-picker-option",["parseUserInput",e=>correctlyParseUserInput(e,c.value||"",h.value,n)]),t("set-picker-option",["formatToString",e=>isArray$1(e)?e.map(e=>e.format(c.value)):e.format(c.value)]),t("set-picker-option",["handleClear",Se]),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(_).b(),unref(y).b(),unref(_).is("border",e.border),unref(_).is("disabled",e.disabled),{"has-sidebar":e.$slots.sidebar||unref(G),"has-time":unref(ue)}])},[createBaseVNode("div",{class:normalizeClass(unref(_).e("body-wrapper"))},[renderSlot(e.$slots,"sidebar",{class:normalizeClass(unref(_).e("sidebar"))}),unref(G)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(_).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(d),(t,i)=>(openBlock(),createElementBlock("button",{key:i,type:"button",disabled:e.disabled,class:normalizeClass(unref(_).e("shortcut")),onClick:e=>unref(x)(t)},toDisplayString(t.text),11,["disabled","onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(_).e("body"))},[unref(ue)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(y).e("time-header"))},[createBaseVNode("span",{class:normalizeClass(unref(y).e("editors-wrap"))},[createBaseVNode("span",{class:normalizeClass(unref(y).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",disabled:unref(b).selecting||e.disabled,placeholder:unref(E)("el.datepicker.startDate"),class:normalizeClass(unref(y).e("editor")),"model-value":unref(q),"validate-event":!1,onInput:e=>be(e,"min"),onChange:e=>_e(0,"min")},null,8,["disabled","placeholder","class","model-value","onInput","onChange"])],2),withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass(unref(y).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",class:normalizeClass(unref(y).e("editor")),disabled:unref(b).selecting||e.disabled,placeholder:unref(E)("el.datepicker.startTime"),"model-value":unref(X),"validate-event":!1,onFocus:e=>ge.value=!0,onInput:e=>ye(e,"min"),onChange:e=>Ce(0,"min")},null,8,["class","disabled","placeholder","model-value","onFocus","onInput","onChange"]),createVNode(unref(TimePickPanel),{visible:ge.value,format:unref(Z),"datetime-role":"start","parsed-value":p.value,onPick:we},null,8,["visible","format","parsed-value"])],2)),[[unref(ClickOutside),fe]])],2),createBaseVNode("span",null,[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})]),createBaseVNode("span",{class:normalizeClass([unref(y).e("editors-wrap"),"is-right"])},[createBaseVNode("span",{class:normalizeClass(unref(y).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",class:normalizeClass(unref(y).e("editor")),disabled:unref(b).selecting||e.disabled,placeholder:unref(E)("el.datepicker.endDate"),"model-value":unref(Y),readonly:!unref(f),"validate-event":!1,onInput:e=>be(e,"max"),onChange:e=>_e(0,"max")},null,8,["class","disabled","placeholder","model-value","readonly","onInput","onChange"])],2),withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass(unref(y).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",class:normalizeClass(unref(y).e("editor")),disabled:unref(b).selecting||e.disabled,placeholder:unref(E)("el.datepicker.endTime"),"model-value":unref(Q),readonly:!unref(f),"validate-event":!1,onFocus:e=>unref(f)&&(me.value=!0),onInput:e=>ye(e,"max"),onChange:e=>Ce(0,"max")},null,8,["class","disabled","placeholder","model-value","readonly","onFocus","onInput","onChange"]),createVNode(unref(TimePickPanel),{"datetime-role":"end",visible:me.value,format:unref(Z),"parsed-value":g.value,onPick:xe},null,8,["visible","format","parsed-value"])],2)),[[unref(ClickOutside),ve]])],2)],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([[unref(_).e("content"),unref(y).e("content")],"is-left"])},[createBaseVNode("div",{class:normalizeClass(unref(y).e("header"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(_).e("icon-btn"),"d-arrow-left"]),"aria-label":unref(E)("el.datepicker.prevYear"),disabled:e.disabled,onClick:ee},[renderSlot(e.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["aria-label","disabled"]),withDirectives(createBaseVNode("button",{type:"button",class:normalizeClass([unref(_).e("icon-btn"),"arrow-left"]),"aria-label":unref(E)("el.datepicker.prevMonth"),disabled:e.disabled,onClick:te},[renderSlot(e.$slots,"prev-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_left_default))]),_:1})])],10,["aria-label","disabled"]),[[vShow,"date"===unref(D)]]),e.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(ce)||e.disabled,class:normalizeClass([[unref(_).e("icon-btn"),unref(_).is("disabled",!unref(ce)||e.disabled)],"d-arrow-right"]),"aria-label":unref(E)("el.datepicker.nextYear"),onClick:ne},[renderSlot(e.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),e.unlinkPanels&&"date"===unref(D)?(openBlock(),createElementBlock("button",{key:1,type:"button",disabled:!unref(le)||e.disabled,class:normalizeClass([[unref(_).e("icon-btn"),unref(_).is("disabled",!unref(le)||e.disabled)],"arrow-right"]),"aria-label":unref(E)("el.datepicker.nextMonth"),onClick:re},[renderSlot(e.$slots,"next-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),createBaseVNode("div",null,[createBaseVNode("span",{role:"button",class:normalizeClass(unref(y).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:withKeys(e=>unref(F)("year"),["enter"]),onClick:e=>unref(F)("year")},toDisplayString(unref(P)),43,["onKeydown","onClick"]),withDirectives(createBaseVNode("span",{role:"button","aria-live":"polite",tabindex:"0",class:normalizeClass([unref(y).e("header-label"),{active:"month"===unref(D)}]),onKeydown:withKeys(e=>unref(F)("month"),["enter"]),onClick:e=>unref(F)("month")},toDisplayString(unref(E)(`el.datepicker.month${p.value.month()+1}`)),43,["onKeydown","onClick"]),[[vShow,"date"===unref(D)]])])],2),"date"===unref(D)?(openBlock(),createBlock(DateTable,{key:0,ref_key:"leftCurrentViewRef",ref:N,"selection-mode":"range",date:p.value,"min-date":unref(f),"max-date":unref(v),"range-state":unref(b),"disabled-date":unref(r),"cell-class-name":unref(s),"show-week-number":e.showWeekNumber,disabled:e.disabled,onChangerange:unref(C),onPick:pe,onSelect:unref(S)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):createCommentVNode("v-if",!0),"year"===unref(D)?(openBlock(),createBlock(YearTable,{key:1,ref_key:"leftCurrentViewRef",ref:N,"selection-mode":"year",date:p.value,"disabled-date":unref(r),"parsed-value":e.parsedValue,disabled:e.disabled,onPick:unref(V)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):createCommentVNode("v-if",!0),"month"===unref(D)?(openBlock(),createBlock(MonthTable,{key:2,ref_key:"leftCurrentViewRef",ref:N,"selection-mode":"month",date:p.value,"parsed-value":e.parsedValue,"disabled-date":unref(r),disabled:e.disabled,onPick:unref(W)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):createCommentVNode("v-if",!0)],2),createBaseVNode("div",{class:normalizeClass([[unref(_).e("content"),unref(y).e("content")],"is-right"])},[createBaseVNode("div",{class:normalizeClass([unref(y).e("header"),unref(_).is("disabled",!unref(ce)||e.disabled)])},[e.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(ce)||e.disabled,class:normalizeClass([unref(_).e("icon-btn"),"d-arrow-left"]),"aria-label":unref(E)("el.datepicker.prevYear"),onClick:se},[renderSlot(e.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),e.unlinkPanels&&"date"===unref(L)?(openBlock(),createElementBlock("button",{key:1,type:"button",disabled:!unref(le)||e.disabled,class:normalizeClass([unref(_).e("icon-btn"),"arrow-left"]),"aria-label":unref(E)("el.datepicker.prevMonth"),onClick:ae},[renderSlot(e.$slots,"prev-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_left_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button","aria-label":unref(E)("el.datepicker.nextYear"),class:normalizeClass([unref(_).e("icon-btn"),"d-arrow-right"]),disabled:e.disabled,onClick:ie},[renderSlot(e.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["aria-label","disabled"]),withDirectives(createBaseVNode("button",{type:"button",class:normalizeClass([unref(_).e("icon-btn"),"arrow-right"]),disabled:e.disabled,"aria-label":unref(E)("el.datepicker.nextMonth"),onClick:oe},[renderSlot(e.$slots,"next-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})])],10,["disabled","aria-label"]),[[vShow,"date"===unref(L)]]),createBaseVNode("div",null,[createBaseVNode("span",{role:"button",class:normalizeClass(unref(y).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:withKeys(e=>unref(z)("year"),["enter"]),onClick:e=>unref(z)("year")},toDisplayString(unref(B)),43,["onKeydown","onClick"]),withDirectives(createBaseVNode("span",{role:"button","aria-live":"polite",tabindex:"0",class:normalizeClass([unref(y).e("header-label"),{active:"month"===unref(L)}]),onKeydown:withKeys(e=>unref(z)("month"),["enter"]),onClick:e=>unref(z)("month")},toDisplayString(unref(E)(`el.datepicker.month${g.value.month()+1}`)),43,["onKeydown","onClick"]),[[vShow,"date"===unref(L)]])])],2),"date"===unref(L)?(openBlock(),createBlock(DateTable,{key:0,ref_key:"rightCurrentViewRef",ref:M,"selection-mode":"range",date:g.value,"min-date":unref(f),"max-date":unref(v),"range-state":unref(b),"disabled-date":unref(r),"cell-class-name":unref(s),"show-week-number":e.showWeekNumber,disabled:e.disabled,onChangerange:unref(C),onPick:pe,onSelect:unref(S)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):createCommentVNode("v-if",!0),"year"===unref(L)?(openBlock(),createBlock(YearTable,{key:1,ref_key:"rightCurrentViewRef",ref:M,"selection-mode":"year",date:g.value,"disabled-date":unref(r),"parsed-value":e.parsedValue,disabled:e.disabled,onPick:unref(H)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):createCommentVNode("v-if",!0),"month"===unref(L)?(openBlock(),createBlock(MonthTable,{key:2,ref_key:"rightCurrentViewRef",ref:M,"selection-mode":"month",date:g.value,"parsed-value":e.parsedValue,"disabled-date":unref(r),disabled:e.disabled,onPick:unref(K)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):createCommentVNode("v-if",!0)],2)],2)],2),e.showFooter&&unref(ue)&&(e.showConfirm||unref(l))?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(_).e("footer"))},[unref(l)?(openBlock(),createBlock(unref(ElButton),{key:0,text:"",size:"small",class:normalizeClass(unref(_).e("link-btn")),onClick:Se},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(E)("el.datepicker.clear")),1)]),_:1},8,["class"])):createCommentVNode("v-if",!0),e.showConfirm?(openBlock(),createBlock(unref(ElButton),{key:1,plain:"",size:"small",class:normalizeClass(unref(_).e("link-btn")),disabled:unref(de),onClick:e=>unref(w)(!1)},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(E)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled","onClick"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],2))}});var DateRangePickPanel=_export_sfc$1(_sfc_main$X,[["__file","panel-date-range.vue"]]);const panelMonthRangeProps=buildProps({...panelRangeSharedProps}),panelMonthRangeEmits=["pick","set-picker-option","calendar-change"],useMonthRangeHeader=({unlinkPanels:e,leftDate:t,rightDate:i})=>{const{t:o}=useLocale();return{leftPrevYear:()=>{t.value=t.value.subtract(1,"year"),e.value||(i.value=i.value.subtract(1,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(1,"year")),i.value=i.value.add(1,"year")},leftNextYear:()=>{t.value=t.value.add(1,"year")},rightPrevYear:()=>{i.value=i.value.subtract(1,"year")},leftLabel:computed$1(()=>`${t.value.year()} ${o("el.datepicker.year")}`),rightLabel:computed$1(()=>`${i.value.year()} ${o("el.datepicker.year")}`),leftYear:computed$1(()=>t.value.year()),rightYear:computed$1(()=>i.value.year()===t.value.year()?t.value.year()+1:i.value.year())}},unit$1="year",__default__$v=defineComponent({name:"DatePickerMonthRange"}),_sfc_main$W=defineComponent({...__default__$v,props:panelMonthRangeProps,emits:panelMonthRangeEmits,setup(e,{emit:t}){const i=e,{lang:o}=useLocale(),n=inject(PICKER_BASE_INJECTION_KEY),r=inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,void 0),{shortcuts:s,disabledDate:a,cellClassName:l}=n.props,c=toRef(n.props,"format"),d=toRef(n.props,"defaultValue"),u=ref$1(dayjs().locale(o.value)),h=ref$1(dayjs().locale(o.value).add(1,unit$1)),{minDate:p,maxDate:g,rangeState:m,ppNs:f,drpNs:v,handleChangeRange:b,handleRangeConfirm:_,handleShortcutClick:y,onSelect:C,onReset:w}=useRangePicker(i,{defaultValue:d,leftDate:u,rightDate:h,unit:unit$1,onParsedValueChanged:function(e,t){if(i.unlinkPanels&&t){const i=(null==e?void 0:e.year())||0,o=t.year();h.value=i===o?t.add(1,unit$1):t}else h.value=u.value.add(1,unit$1)}}),x=computed$1(()=>!!s.length),{leftPrevYear:S,rightNextYear:k,leftNextYear:E,rightPrevYear:I,leftLabel:T,rightLabel:D,leftYear:L,rightYear:N}=useMonthRangeHeader({unlinkPanels:toRef(i,"unlinkPanels"),leftDate:u,rightDate:h}),M=computed$1(()=>i.unlinkPanels&&N.value>L.value+1),$=(e,i=!0)=>{const o=e.minDate,n=e.maxDate;g.value===n&&p.value===o||(t("calendar-change",[o.toDate(),n&&n.toDate()]),g.value=n,p.value=o,i&&_())};return watch(()=>i.visible,e=>{!e&&m.value.selecting&&(w(i.parsedValue),C(!1))}),t("set-picker-option",["isValidValue",isValidRange]),t("set-picker-option",["formatToString",e=>isArray$1(e)?e.map(e=>e.format(c.value)):e.format(c.value)]),t("set-picker-option",["parseUserInput",e=>correctlyParseUserInput(e,c.value,o.value,r)]),t("set-picker-option",["handleClear",()=>{u.value=getDefaultValue(unref(d),{lang:unref(o),unit:"year",unlinkPanels:i.unlinkPanels})[0],h.value=u.value.add(1,"year"),t("pick",null)}]),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(f).b(),unref(v).b(),unref(f).is("border",e.border),unref(f).is("disabled",e.disabled),{"has-sidebar":Boolean(e.$slots.sidebar)||unref(x)}])},[createBaseVNode("div",{class:normalizeClass(unref(f).e("body-wrapper"))},[renderSlot(e.$slots,"sidebar",{class:normalizeClass(unref(f).e("sidebar"))}),unref(x)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(f).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(s),(t,i)=>(openBlock(),createElementBlock("button",{key:i,type:"button",class:normalizeClass(unref(f).e("shortcut")),disabled:e.disabled,onClick:e=>unref(y)(t)},toDisplayString(t.text),11,["disabled","onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(f).e("body"))},[createBaseVNode("div",{class:normalizeClass([[unref(f).e("content"),unref(v).e("content")],"is-left"])},[createBaseVNode("div",{class:normalizeClass(unref(v).e("header"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(f).e("icon-btn"),"d-arrow-left"]),disabled:e.disabled,onClick:unref(S)},[renderSlot(e.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","onClick"]),e.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(M)||e.disabled,class:normalizeClass([[unref(f).e("icon-btn"),{[unref(f).is("disabled")]:!unref(M)}],"d-arrow-right"]),onClick:unref(E)},[renderSlot(e.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","onClick"])):createCommentVNode("v-if",!0),createBaseVNode("div",null,toDisplayString(unref(T)),1)],2),createVNode(MonthTable,{"selection-mode":"range",date:u.value,"min-date":unref(p),"max-date":unref(g),"range-state":unref(m),"disabled-date":unref(a),disabled:e.disabled,"cell-class-name":unref(l),onChangerange:unref(b),onPick:$,onSelect:unref(C)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),createBaseVNode("div",{class:normalizeClass([[unref(f).e("content"),unref(v).e("content")],"is-right"])},[createBaseVNode("div",{class:normalizeClass(unref(v).e("header"))},[e.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(M)||e.disabled,class:normalizeClass([[unref(f).e("icon-btn"),{"is-disabled":!unref(M)}],"d-arrow-left"]),onClick:unref(I)},[renderSlot(e.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","onClick"])):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button",class:normalizeClass([unref(f).e("icon-btn"),"d-arrow-right"]),disabled:e.disabled,onClick:unref(k)},[renderSlot(e.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","onClick"]),createBaseVNode("div",null,toDisplayString(unref(D)),1)],2),createVNode(MonthTable,{"selection-mode":"range",date:h.value,"min-date":unref(p),"max-date":unref(g),"range-state":unref(m),"disabled-date":unref(a),disabled:e.disabled,"cell-class-name":unref(l),onChangerange:unref(b),onPick:$,onSelect:unref(C)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2)],2)],2)],2))}});var MonthRangePickPanel=_export_sfc$1(_sfc_main$W,[["__file","panel-month-range.vue"]]);const panelYearRangeProps=buildProps({...panelRangeSharedProps}),panelYearRangeEmits=["pick","set-picker-option","calendar-change"],useYearRangeHeader=({unlinkPanels:e,leftDate:t,rightDate:i})=>({leftPrevYear:()=>{t.value=t.value.subtract(10,"year"),e.value||(i.value=i.value.subtract(10,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(10,"year")),i.value=i.value.add(10,"year")},leftNextYear:()=>{t.value=t.value.add(10,"year")},rightPrevYear:()=>{i.value=i.value.subtract(10,"year")},leftLabel:computed$1(()=>{const e=10*Math.floor(t.value.year()/10);return`${e}-${e+9}`}),rightLabel:computed$1(()=>{const e=10*Math.floor(i.value.year()/10);return`${e}-${e+9}`}),leftYear:computed$1(()=>10*Math.floor(t.value.year()/10)+9),rightYear:computed$1(()=>10*Math.floor(i.value.year()/10))}),step=10,unit="year",__default__$u=defineComponent({name:"DatePickerYearRange"}),_sfc_main$V=defineComponent({...__default__$u,props:panelYearRangeProps,emits:panelYearRangeEmits,setup(e,{emit:t}){const i=e,{lang:o}=useLocale(),n=ref$1(dayjs().locale(o.value)),r=ref$1(dayjs().locale(o.value).add(step,unit)),s=inject(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,void 0),a=inject(PICKER_BASE_INJECTION_KEY),{shortcuts:l,disabledDate:c,cellClassName:d}=a.props,u=toRef(a.props,"format"),h=toRef(a.props,"defaultValue"),{minDate:p,maxDate:g,rangeState:m,ppNs:f,drpNs:v,handleChangeRange:b,handleRangeConfirm:_,handleShortcutClick:y,onSelect:C,onReset:w}=useRangePicker(i,{defaultValue:h,leftDate:n,rightDate:r,step:step,unit:unit,onParsedValueChanged:function(e,t){if(i.unlinkPanels&&t){const i=(null==e?void 0:e.year())||0,o=t.year();r.value=i+step>o?t.add(step,unit):t}else r.value=n.value.add(step,unit)}}),{leftPrevYear:x,rightNextYear:S,leftNextYear:k,rightPrevYear:E,leftLabel:I,rightLabel:T,leftYear:D,rightYear:L}=useYearRangeHeader({unlinkPanels:toRef(i,"unlinkPanels"),leftDate:n,rightDate:r}),N=computed$1(()=>!!l.length),M=computed$1(()=>[f.b(),v.b(),f.is("border",i.border),f.is("disabled",i.disabled),{"has-sidebar":Boolean(useSlots().sidebar)||N.value}]),$=computed$1(()=>({content:[f.e("content"),v.e("content"),"is-left"],arrowLeftBtn:[f.e("icon-btn"),"d-arrow-left"],arrowRightBtn:[f.e("icon-btn"),{[f.is("disabled")]:!A.value},"d-arrow-right"]})),R=computed$1(()=>({content:[f.e("content"),v.e("content"),"is-right"],arrowLeftBtn:[f.e("icon-btn"),{"is-disabled":!A.value},"d-arrow-left"],arrowRightBtn:[f.e("icon-btn"),"d-arrow-right"]})),A=computed$1(()=>i.unlinkPanels&&L.value>D.value+1),O=(e,i=!0)=>{const o=e.minDate,n=e.maxDate;g.value===n&&p.value===o||(t("calendar-change",[o.toDate(),n&&n.toDate()]),g.value=n,p.value=o,i&&_())};return watch(()=>i.visible,e=>{!e&&m.value.selecting&&(w(i.parsedValue),C(!1))}),t("set-picker-option",["isValidValue",e=>isValidRange(e)&&(!c||!c(e[0].toDate())&&!c(e[1].toDate()))]),t("set-picker-option",["parseUserInput",e=>correctlyParseUserInput(e,u.value,o.value,s)]),t("set-picker-option",["formatToString",e=>isArray$1(e)?e.map(e=>e.format(u.value)):e.format(u.value)]),t("set-picker-option",["handleClear",()=>{const e=getDefaultValue(unref(h),{lang:unref(o),step:step,unit:unit,unlinkPanels:i.unlinkPanels});n.value=e[0],r.value=e[1],t("pick",null)}]),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(M))},[createBaseVNode("div",{class:normalizeClass(unref(f).e("body-wrapper"))},[renderSlot(e.$slots,"sidebar",{class:normalizeClass(unref(f).e("sidebar"))}),unref(N)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(f).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(l),(t,i)=>(openBlock(),createElementBlock("button",{key:i,type:"button",class:normalizeClass(unref(f).e("shortcut")),disabled:e.disabled,onClick:e=>unref(y)(t)},toDisplayString(t.text),11,["disabled","onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(f).e("body"))},[createBaseVNode("div",{class:normalizeClass(unref($).content)},[createBaseVNode("div",{class:normalizeClass(unref(v).e("header"))},[createBaseVNode("button",{type:"button",class:normalizeClass(unref($).arrowLeftBtn),disabled:e.disabled,onClick:unref(x)},[renderSlot(e.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","onClick"]),e.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(A)||e.disabled,class:normalizeClass(unref($).arrowRightBtn),onClick:unref(k)},[renderSlot(e.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","onClick"])):createCommentVNode("v-if",!0),createBaseVNode("div",null,toDisplayString(unref(I)),1)],2),createVNode(YearTable,{"selection-mode":"range",date:n.value,"min-date":unref(p),"max-date":unref(g),"range-state":unref(m),"disabled-date":unref(c),disabled:e.disabled,"cell-class-name":unref(d),onChangerange:unref(b),onPick:O,onSelect:unref(C)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),createBaseVNode("div",{class:normalizeClass(unref(R).content)},[createBaseVNode("div",{class:normalizeClass(unref(v).e("header"))},[e.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(A)||e.disabled,class:normalizeClass(unref(R).arrowLeftBtn),onClick:unref(E)},[renderSlot(e.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","onClick"])):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button",class:normalizeClass(unref(R).arrowRightBtn),disabled:e.disabled,onClick:unref(S)},[renderSlot(e.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","onClick"]),createBaseVNode("div",null,toDisplayString(unref(T)),1)],2),createVNode(YearTable,{"selection-mode":"range",date:r.value,"min-date":unref(p),"max-date":unref(g),"range-state":unref(m),"disabled-date":unref(c),disabled:e.disabled,"cell-class-name":unref(d),onChangerange:unref(b),onPick:O,onSelect:unref(C)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2)],2)],2)],2))}});var YearRangePickPanel=_export_sfc$1(_sfc_main$V,[["__file","panel-year-range.vue"]]);const getPanel=function(e){switch(e){case"daterange":case"datetimerange":return DateRangePickPanel;case"monthrange":return MonthRangePickPanel;case"yearrange":return YearRangePickPanel;default:return DatePickPanel}};function _isSlot$1(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!isVNode(e)}dayjs.extend(localeData),dayjs.extend(advancedFormat),dayjs.extend(customParseFormat),dayjs.extend(weekOfYear),dayjs.extend(weekYear),dayjs.extend(dayOfYear),dayjs.extend(isSameOrAfter),dayjs.extend(isSameOrBefore);var DatePickerPanel=defineComponent({name:"ElDatePickerPanel",install:null,props:datePickerPanelProps,emits:[UPDATE_MODEL_EVENT,"calendar-change","panel-change","visible-change","pick"],setup(e,{slots:t,emit:i}){const o=useNamespace("picker-panel"),n=inject(PICKER_BASE_INJECTION_KEY,void 0);if(isUndefined(n)){const t=reactive$1({...toRefs(e)});provide(PICKER_BASE_INJECTION_KEY,{props:t})}provide(ROOT_PICKER_INJECTION_KEY,{slots:t,pickerNs:o});const{parsedValue:r,onCalendarChange:s,onPanelChange:a,onSetPickerOption:l,onPick:c}=inject(ROOT_COMMON_PICKER_INJECTION_KEY,()=>useCommonPicker(e,i),!0);return()=>{const i=getPanel(e.type);return createVNode(i,mergeProps(e,{parsedValue:r.value,"onSet-picker-option":l,"onCalendar-change":s,"onPanel-change":a,onPick:c}),_isSlot$1(t)?t:{default:()=>[t]})}}});const ElDatePickerPanel=withInstall(DatePickerPanel),datePickerProps=buildProps({...timePickerDefaultProps,type:{type:definePropType(String),default:"date"}});function _isSlot(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!isVNode(e)}var DatePicker=defineComponent({name:"ElDatePicker",install:null,props:datePickerProps,emits:[UPDATE_MODEL_EVENT],setup(e,{expose:t,emit:i,slots:o}){const n=computed$1(()=>!e.format);provide(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,n),provide(PICKER_POPPER_OPTIONS_INJECTION_KEY,reactive$1(toRef(e,"popperOptions")));const r=ref$1(),s={focus:()=>{var e;null==(e=r.value)||e.focus()},blur:()=>{var e;null==(e=r.value)||e.blur()},handleOpen:()=>{var e;null==(e=r.value)||e.handleOpen()},handleClose:()=>{var e;null==(e=r.value)||e.handleClose()}};t(s);const a=e=>{i(UPDATE_MODEL_EVENT,e)};return()=>{var t;const i=null!=(t=e.format)?t:DEFAULT_FORMATS_DATEPICKER[e.type]||DEFAULT_FORMATS_DATE;return createVNode(CommonPicker,mergeProps(e,{format:i,type:e.type,ref:r,"onUpdate:modelValue":a}),{default:e=>createVNode(ElDatePickerPanel,mergeProps({border:!1},e),_isSlot(o)?o:{default:()=>[o]}),"range-separator":o["range-separator"]})}}});const ElDatePicker=withInstall(DatePicker),useSameTarget=e=>{if(!e)return{onClick:NOOP,onMousedown:NOOP,onMouseup:NOOP};let t=!1,i=!1;return{onClick:o=>{t&&i&&e(o),t=i=!1},onMousedown:e=>{t=e.target===e.currentTarget},onMouseup:e=>{i=e.target===e.currentTarget}}},overlayProps=buildProps({mask:{type:Boolean,default:!0},customMaskEvent:Boolean,overlayClass:{type:definePropType([String,Array,Object])},zIndex:{type:definePropType([String,Number])}}),overlayEmits={click:e=>e instanceof MouseEvent},BLOCK="overlay";var Overlay=defineComponent({name:"ElOverlay",props:overlayProps,emits:overlayEmits,setup(e,{slots:t,emit:i}){const o=useNamespace(BLOCK),{onClick:n,onMousedown:r,onMouseup:s}=useSameTarget(e.customMaskEvent?void 0:e=>{i("click",e)});return()=>e.mask?createVNode("div",{class:[o.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:n,onMousedown:r,onMouseup:s},[renderSlot(t,"default")],PatchFlags.STYLE|PatchFlags.CLASS|PatchFlags.PROPS,["onClick","onMouseup","onMousedown"]):h$2("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[renderSlot(t,"default")])}});const ElOverlay=Overlay,dialogInjectionKey=Symbol("dialogInjectionKey"),DEFAULT_DIALOG_TRANSITION="dialog-fade",dialogContentProps=buildProps({center:Boolean,alignCenter:{type:Boolean,default:void 0},closeIcon:{type:iconPropType},draggable:{type:Boolean,default:void 0},overflow:{type:Boolean,default:void 0},fullscreen:Boolean,headerClass:String,bodyClass:String,footerClass:String,showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),dialogContentEmits={close:()=>!0},useDraggable=(e,t,i,o)=>{const n={offsetX:0,offsetY:0},r=ref$1(!1),s=(t,i)=>{if(e.value){const{offsetX:r,offsetY:s}=n,a=e.value.getBoundingClientRect(),l=a.left,c=a.top,d=a.width,u=a.height,h=document.documentElement.clientWidth,p=document.documentElement.clientHeight,g=-l+r,m=-c+s,f=h-l-d+r,v=p-c-(u{const t=e.clientX,i=e.clientY,{offsetX:o,offsetY:a}=n,l=e=>{r.value||(r.value=!0);const n=o+e.clientX-t,l=a+e.clientY-i;s(n,l)},c=()=>{r.value=!1,document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",c)};document.addEventListener("mousemove",l),document.addEventListener("mouseup",c)},l=()=>{t.value&&e.value&&(t.value.removeEventListener("mousedown",a),window.removeEventListener("resize",c))},c=()=>{const{offsetX:e,offsetY:t}=n;s(e,t)};return onMounted(()=>{watchEffect(()=>{i.value?t.value&&e.value&&(t.value.addEventListener("mousedown",a),window.addEventListener("resize",c)):l()})}),onBeforeUnmount(()=>{l()}),{isDragging:r,resetPosition:()=>{n.offsetX=0,n.offsetY=0,e.value&&(e.value.style.transform="")},updatePosition:c}},composeRefs=(...e)=>t=>{e.forEach(e=>{isFunction$1(e)?e(t):e.value=t})},__default__$t=defineComponent({name:"ElDialogContent"}),_sfc_main$U=defineComponent({...__default__$t,props:dialogContentProps,emits:dialogContentEmits,setup(e,{expose:t}){const i=e,{t:o}=useLocale(),{Close:n}=CloseComponents,{dialogRef:r,headerRef:s,bodyId:a,ns:l,style:c}=inject(dialogInjectionKey),{focusTrapRef:d}=inject(FOCUS_TRAP_INJECTION_KEY),u=composeRefs(d,r),h=computed$1(()=>!!i.draggable),p=computed$1(()=>!!i.overflow),{resetPosition:g,updatePosition:m,isDragging:f}=useDraggable(r,s,h,p),v=computed$1(()=>[l.b(),l.is("fullscreen",i.fullscreen),l.is("draggable",h.value),l.is("dragging",f.value),l.is("align-center",!!i.alignCenter),{[l.m("center")]:i.center}]);return t({resetPosition:g,updatePosition:m}),(e,t)=>(openBlock(),createElementBlock("div",{ref:unref(u),class:normalizeClass(unref(v)),style:normalizeStyle(unref(c)),tabindex:"-1"},[createBaseVNode("header",{ref_key:"headerRef",ref:s,class:normalizeClass([unref(l).e("header"),e.headerClass,{"show-close":e.showClose}])},[renderSlot(e.$slots,"header",{},()=>[createBaseVNode("span",{role:"heading","aria-level":e.ariaLevel,class:normalizeClass(unref(l).e("title"))},toDisplayString(e.title),11,["aria-level"])]),e.showClose?(openBlock(),createElementBlock("button",{key:0,"aria-label":unref(o)("el.dialog.close"),class:normalizeClass(unref(l).e("headerbtn")),type:"button",onClick:t=>e.$emit("close")},[createVNode(unref(ElIcon),{class:normalizeClass(unref(l).e("close"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.closeIcon||unref(n))))]),_:1},8,["class"])],10,["aria-label","onClick"])):createCommentVNode("v-if",!0)],2),createBaseVNode("div",{id:unref(a),class:normalizeClass([unref(l).e("body"),e.bodyClass])},[renderSlot(e.$slots,"default")],10,["id"]),e.$slots.footer?(openBlock(),createElementBlock("footer",{key:0,class:normalizeClass([unref(l).e("footer"),e.footerClass])},[renderSlot(e.$slots,"footer")],2)):createCommentVNode("v-if",!0)],6))}});var ElDialogContent=_export_sfc$1(_sfc_main$U,[["__file","dialog-content.vue"]]);const dialogProps=buildProps({...dialogContentProps,appendToBody:Boolean,appendTo:{type:teleportProps.to.type,default:"body"},beforeClose:{type:definePropType(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modalPenetrable:Boolean,openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:String,headerClass:String,bodyClass:String,footerClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:Boolean,headerAriaLevel:{type:String,default:"2"},transition:{type:definePropType([String,Object]),default:void 0}}),dialogEmits={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[UPDATE_MODEL_EVENT]:e=>isBoolean(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},useLockscreen=(e,t={})=>{isRef(e)||throwError("[useLockscreen]","You need to pass a ref param to this function");const i=t.ns||useNamespace("popup"),o=computed$1(()=>i.bm("parent","hidden"));if(!isClient||hasClass(document.body,o.value))return;let n=0,r=!1,s="0";const a=()=>{setTimeout(()=>{"undefined"!=typeof document&&r&&document&&(document.body.style.width=s,removeClass(document.body,o.value))},200)};watch(e,e=>{if(!e)return void a();r=!hasClass(document.body,o.value),r&&(s=document.body.style.width,addClass(document.body,o.value)),n=getScrollBarWidth(i.namespace.value);const t=document.documentElement.clientHeight0&&(t||"scroll"===l)&&r&&(document.body.style.width=`calc(100% - ${n}px)`)}),onScopeDispose(()=>a())},useDialog=(e,t)=>{var i;const o=getCurrentInstance$1().emit,{nextZIndex:n}=useZIndex();let r="";const s=useId(),a=useId(),l=ref$1(!1),c=ref$1(!1),d=ref$1(!1),u=ref$1(null!=(i=e.zIndex)?i:n());let h,p;const g=useGlobalConfig(),m=computed$1(()=>{var e,t;return null!=(t=null==(e=g.value)?void 0:e.namespace)?t:defaultNamespace}),f=computed$1(()=>{var e;return null==(e=g.value)?void 0:e.dialog}),v=computed$1(()=>{const t={},i=`--${m.value}-dialog`;return e.fullscreen||(e.top&&(t[`${i}-margin-top`]=e.top),e.width&&(t[`${i}-width`]=addUnit(e.width))),t}),b=computed$1(()=>{var t,i,o;return null!=(o=null!=(i=e.draggable)?i:null==(t=f.value)?void 0:t.draggable)&&o&&!e.fullscreen}),_=computed$1(()=>{var t,i,o;return null!=(o=null!=(i=e.alignCenter)?i:null==(t=f.value)?void 0:t.alignCenter)&&o}),y=computed$1(()=>{var t,i,o;return null!=(o=null!=(i=e.overflow)?i:null==(t=f.value)?void 0:t.overflow)&&o}),C=computed$1(()=>_.value?{display:"flex"}:{}),w=computed$1(()=>{var t,i,o;const n=null!=(o=null!=(i=e.transition)?i:null==(t=f.value)?void 0:t.transition)?o:DEFAULT_DIALOG_TRANSITION,r={name:n,onAfterEnter:x,onBeforeLeave:k,onAfterLeave:S};if(isObject(n)){const e={...n},t=(e,t)=>i=>{isArray$1(e)?e.forEach(e=>{isFunction$1(e)&&e(i)}):isFunction$1(e)&&e(i),t()};return e.onAfterEnter=t(e.onAfterEnter,x),e.onBeforeLeave=t(e.onBeforeLeave,k),e.onAfterLeave=t(e.onAfterLeave,S),e.name||(e.name=DEFAULT_DIALOG_TRANSITION),e}return r});function x(){o("opened")}function S(){o("closed"),o(UPDATE_MODEL_EVENT,!1),e.destroyOnClose&&(d.value=!1)}function k(){o("close")}function E(){null==p||p(),null==h||h(),e.openDelay&&e.openDelay>0?({stop:h}=useTimeoutFn(()=>D(),e.openDelay)):D()}function I(){null==h||h(),null==p||p(),e.closeDelay&&e.closeDelay>0?({stop:p}=useTimeoutFn(()=>L(),e.closeDelay)):L()}function T(){e.beforeClose?e.beforeClose(function(e){e||(c.value=!0,l.value=!1)}):I()}function D(){isClient&&(l.value=!0)}function L(){l.value=!1}return e.lockScroll&&useLockscreen(l),watch(()=>e.zIndex,()=>{var t;u.value=null!=(t=e.zIndex)?t:n()}),watch(()=>e.modelValue,i=>{var r;i?(c.value=!1,E(),d.value=!0,u.value=null!=(r=e.zIndex)?r:n(),nextTick(()=>{o("open"),t.value&&(t.value.parentElement.scrollTop=0,t.value.parentElement.scrollLeft=0,t.value.scrollTop=0)})):l.value&&I()}),watch(()=>e.fullscreen,e=>{t.value&&(e?(r=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=r)}),onMounted(()=>{e.modelValue&&(l.value=!0,d.value=!0,E())}),{afterEnter:x,afterLeave:S,beforeLeave:k,handleClose:T,onModalClick:function(){e.closeOnClickModal&&T()},close:I,doClose:L,onOpenAutoFocus:function(){o("openAutoFocus")},onCloseAutoFocus:function(){o("closeAutoFocus")},onCloseRequested:function(){e.closeOnPressEscape&&T()},onFocusoutPrevented:function(e){var t;"pointer"===(null==(t=e.detail)?void 0:t.focusReason)&&e.preventDefault()},titleId:s,bodyId:a,closed:c,style:v,overlayDialogStyle:C,rendered:d,visible:l,zIndex:u,transitionConfig:w,_draggable:b,_alignCenter:_,_overflow:y}},__default__$s=defineComponent({name:"ElDialog",inheritAttrs:!1}),_sfc_main$T=defineComponent({...__default__$s,props:dialogProps,emits:dialogEmits,setup(e,{expose:t}){const i=e,o=useSlots();useDeprecated({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},computed$1(()=>!!o.title));const n=useNamespace("dialog"),r=ref$1(),s=ref$1(),a=ref$1(),{visible:l,titleId:c,bodyId:d,style:u,overlayDialogStyle:h,rendered:p,transitionConfig:g,zIndex:m,_draggable:f,_alignCenter:v,_overflow:b,handleClose:_,onModalClick:y,onOpenAutoFocus:C,onCloseAutoFocus:w,onCloseRequested:x,onFocusoutPrevented:S}=useDialog(i,r);provide(dialogInjectionKey,{dialogRef:r,headerRef:s,bodyId:d,ns:n,rendered:p,style:u});const k=useSameTarget(y),E=computed$1(()=>i.modalPenetrable&&!i.modal&&!i.fullscreen);return t({visible:l,dialogContentRef:a,resetPosition:()=>{var e;null==(e=a.value)||e.resetPosition()},handleClose:_}),(e,t)=>(openBlock(),createBlock(unref(ElTeleport),{to:e.appendTo,disabled:"body"===e.appendTo&&!e.appendToBody},{default:withCtx(()=>[createVNode(Transition,mergeProps(unref(g),{persisted:""}),{default:withCtx(()=>{var t;return[withDirectives(createVNode(unref(ElOverlay),{"custom-mask-event":"",mask:e.modal,"overlay-class":[null!=(t=e.modalClass)?t:"",`${unref(n).namespace.value}-modal-dialog`,unref(n).is("penetrable",unref(E))],"z-index":unref(m)},{default:withCtx(()=>[createBaseVNode("div",{role:"dialog","aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:unref(c),"aria-describedby":unref(d),class:normalizeClass(`${unref(n).namespace.value}-overlay-dialog`),style:normalizeStyle(unref(h)),onClick:unref(k).onClick,onMousedown:unref(k).onMousedown,onMouseup:unref(k).onMouseup},[createVNode(unref(ElFocusTrap),{loop:"",trapped:unref(l),"focus-start-el":"container",onFocusAfterTrapped:unref(C),onFocusAfterReleased:unref(w),onFocusoutPrevented:unref(S),onReleaseRequested:unref(x)},{default:withCtx(()=>[unref(p)?(openBlock(),createBlock(ElDialogContent,mergeProps({key:0,ref_key:"dialogContentRef",ref:a},e.$attrs,{center:e.center,"align-center":unref(v),"close-icon":e.closeIcon,draggable:unref(f),overflow:unref(b),fullscreen:e.fullscreen,"header-class":e.headerClass,"body-class":e.bodyClass,"footer-class":e.footerClass,"show-close":e.showClose,title:e.title,"aria-level":e.headerAriaLevel,onClose:unref(_)}),createSlots({header:withCtx(()=>[e.$slots.title?renderSlot(e.$slots,"title",{key:1}):renderSlot(e.$slots,"header",{key:0,close:unref(_),titleId:unref(c),titleClass:unref(n).e("title")})]),default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:2},[e.$slots.footer?{name:"footer",fn:withCtx(()=>[renderSlot(e.$slots,"footer")])}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose"])):createCommentVNode("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,["aria-label","aria-labelledby","aria-describedby","onClick","onMousedown","onMouseup"])]),_:3},8,["mask","overlay-class","z-index"]),[[vShow,unref(l)]])]}),_:3},16)]),_:3},8,["to","disabled"]))}});var Dialog=_export_sfc$1(_sfc_main$T,[["__file","dialog.vue"]]);const ElDialog=withInstall(Dialog),dividerProps=buildProps({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:definePropType(String),default:"solid"}}),__default__$r=defineComponent({name:"ElDivider"}),_sfc_main$S=defineComponent({...__default__$r,props:dividerProps,setup(e){const t=e,i=useNamespace("divider"),o=computed$1(()=>i.cssVar({"border-style":t.borderStyle}));return(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(i).b(),unref(i).m(e.direction)]),style:normalizeStyle(unref(o)),role:"separator"},[e.$slots.default&&"vertical"!==e.direction?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(i).e("text"),unref(i).is(e.contentPosition)])},[renderSlot(e.$slots,"default")],2)):createCommentVNode("v-if",!0)],6))}});var Divider=_export_sfc$1(_sfc_main$S,[["__file","divider.vue"]]);const ElDivider=withInstall(Divider),splitterProps=buildProps({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),splitterRootContextKey=Symbol("splitterRootContextKey");function useContainer(e){const t=ref$1(),{width:i,height:o}=useElementSize(t);return{containerEl:t,containerSize:computed$1(()=>"horizontal"===e.value?i.value:o.value)}}function getPct(e){return Number(e.slice(0,-1))/100}function getPx(e){return Number(e.slice(0,-2))}function isPct(e){return isString$1(e)&&e.endsWith("%")}function isPx(e){return isString$1(e)&&e.endsWith("px")}function useSize(e,t){const i=computed$1(()=>e.value.map(e=>e.size)),o=computed$1(()=>e.value.length),n=ref$1([]);watch([i,o,t],()=>{var i;let r=[],s=0;for(let n=0;ne+(t||0),0);if(a>1||!s){const e=1/a;r=r.map(t=>void 0===t?0:t*e)}else{const e=(1-a)/s;r=r.map(t=>void 0===t?e:t)}n.value=r});const r=e=>e*t.value,s=computed$1(()=>n.value.map(r));return{percentSizes:n,pxSizes:s}}function useResize(e,t,i,o){function n(e,i){return isPct(e)?getPct(e)*t.value||0:isPx(e)?getPx(e):null!=e?e:i}const r=ref$1(0),s=ref$1(null);let a=[],l=NOOP;const c=computed$1(()=>e.value.map(e=>[e.min,e.max]));watch(o,()=>{if(r.value){const e=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(e)}});const d=[];return{lazyOffset:r,onMoveStart:e=>{r.value=0,s.value={index:e,confirmed:!1},a=i.value},onMoving:(i,d)=>{var u,h;let p=null;if(!(s.value&&s.value.confirmed||0===d))if(d>0)p=i,s.value={index:i,confirmed:!0};else for(let e=i;e>=0;e-=1)if(a[e]>0){p=e,s.value={index:e,confirmed:!0};break}const g=null!=(h=null!=p?p:null==(u=s.value)?void 0:u.index)?h:i,m=[...a],f=g+1,v=n(c.value[g][0],0),b=n(c.value[f][0],0),_=n(c.value[g][1],t.value||0),y=n(c.value[f][1],t.value||0);let C=d;m[g]+C_&&(C=_-m[g]),m[f]-C>y&&(C=m[f]-y),m[g]+=C,m[f]-=C,r.value=C,l=()=>{e.value.forEach((e,t)=>{e.size=m[t]}),l=NOOP},o.value||l()},onMoveEnd:()=>{o.value&&l(),r.value=0,s.value=null,a=[]},movingIndex:s,onCollapse:(t,o)=>{d.length||d.push(...i.value);const n=i.value,r="start"===o?t:t+1,s="start"===o?t+1:t,a=n[r],l=n[s];if(0!==a&&0!==l)n[r]=0,n[s]+=a,d[t]=a;else{const e=a+l,i=d[t],o=e-i;n[s]=i,n[r]=o}e.value.forEach((e,t)=>{e.size=n[t]})}}}const __default__$q=defineComponent({name:"ElSplitter"}),_sfc_main$R=defineComponent({...__default__$q,props:splitterProps,emits:["resizeStart","resize","resizeEnd","collapse"],setup(e,{emit:t}){const i=e,o=useNamespace("splitter"),n=toRef(i,"layout"),r=toRef(i,"lazy"),{containerEl:s,containerSize:a}=useContainer(n),{removeChild:l,children:c,addChild:d,ChildrenSorter:u}=useOrderedChildren(getCurrentInstance$1(),"ElSplitterPanel");watch(c,()=>{c.value.forEach((e,t)=>{e.setIndex(t)})});const{percentSizes:h,pxSizes:p}=useSize(c,a),{lazyOffset:g,movingIndex:m,onMoveStart:f,onMoving:v,onMoveEnd:b,onCollapse:_}=useResize(c,a,p,r),y=computed$1(()=>({[`--${o.b()}-bar-offset`]:r.value?`${g.value}px`:void 0}));return provide(splitterRootContextKey,reactive$1({panels:c,percentSizes:h,pxSizes:p,layout:n,lazy:r,movingIndex:m,containerSize:a,onMoveStart:e=>{f(e),t("resizeStart",e,p.value)},onMoving:(e,i)=>{v(e,i),r.value||t("resize",e,p.value)},onMoveEnd:e=>{b(),t("resizeEnd",e,p.value)},onCollapse:(e,i)=>{_(e,i),t("collapse",e,i,p.value)},registerPanel:d,unregisterPanel:l})),(e,t)=>(openBlock(),createElementBlock("div",{ref_key:"containerEl",ref:s,class:normalizeClass([unref(o).b(),unref(o).e(unref(n))]),style:normalizeStyle(unref(y))},[renderSlot(e.$slots,"default"),createVNode(unref(u)),createCommentVNode(" Prevent iframe touch events from breaking "),unref(m)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(o).e("mask"),unref(o).e(`mask-${unref(n)}`)])},null,2)):createCommentVNode("v-if",!0)],6))}});var Splitter=_export_sfc$1(_sfc_main$R,[["__file","splitter.vue"]]);function getCollapsible(e){return e&&isObject(e)?e:{start:!!e,end:!!e}}function isCollapsible(e,t,i,o){return!!((null==e?void 0:e.collapsible.end)&&t>0)||!!((null==i?void 0:i.collapsible.start)&&0===o&&t>0)}const __default__$p=defineComponent({name:"ElSplitterBar"}),_sfc_main$Q=defineComponent({...__default__$p,props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(e,{emit:t}){const i=e,o=useNamespace("splitter-bar"),n=computed$1(()=>"horizontal"===i.layout),r=computed$1(()=>n.value?{width:0}:{height:0}),s=computed$1(()=>({width:n.value?"16px":"100%",height:n.value?"100%":"16px",cursor:n.value?"col-resize":"row-resize",touchAction:"none"})),a=computed$1(()=>{const e=o.e("dragger");return{[`${e}-horizontal`]:n.value,[`${e}-vertical`]:!n.value,[`${e}-active`]:!!l.value}}),l=ref$1(null),c=e=>{i.resizable&&(l.value=[e.pageX,e.pageY],t("moveStart",i.index),window.addEventListener("mouseup",p),window.addEventListener("mousemove",u))},d=e=>{if(i.resizable&&1===e.touches.length){e.preventDefault();const o=e.touches[0];l.value=[o.pageX,o.pageY],t("moveStart",i.index),window.addEventListener("touchend",g),window.addEventListener("touchmove",h)}},u=e=>{const{pageX:o,pageY:r}=e,s=o-l.value[0],a=r-l.value[1],c=n.value?s:a;t("moving",i.index,c)},h=e=>{if(1===e.touches.length){e.preventDefault();const o=e.touches[0],r=o.pageX-l.value[0],s=o.pageY-l.value[1],a=n.value?r:s;t("moving",i.index,a)}},p=()=>{l.value=null,window.removeEventListener("mouseup",p),window.removeEventListener("mousemove",u),t("moveEnd",i.index)},g=()=>{l.value=null,window.removeEventListener("touchend",g),window.removeEventListener("touchmove",h),t("moveEnd",i.index)},m=computed$1(()=>n.value?arrow_left_default:arrow_up_default),f=computed$1(()=>n.value?arrow_right_default:arrow_down_default);return(i,n)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(o).b()]),style:normalizeStyle(unref(r))},[e.startCollapsible?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(o).e("collapse-icon"),unref(o).e(`${e.layout}-collapse-icon-start`)]),onClick:i=>t("collapse",e.index,"start")},[renderSlot(i.$slots,"start-collapsible",{},()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(m)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([unref(o).e("dragger"),unref(a),e.resizable?"":unref(o).e("disable"),unref(o).is("lazy",e.resizable&&e.lazy)]),style:normalizeStyle(unref(s)),onMousedown:c,onTouchstart:d},null,38),e.endCollapsible?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass([unref(o).e("collapse-icon"),unref(o).e(`${e.layout}-collapse-icon-end`)]),onClick:i=>t("collapse",e.index,"end")},[renderSlot(i.$slots,"end-collapsible",{},()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(f)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):createCommentVNode("v-if",!0)],6))}});var SplitBar=_export_sfc$1(_sfc_main$Q,[["__file","split-bar.vue"]]);const splitterPanelProps=buildProps({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),COMPONENT_NAME$9="ElSplitterPanel",__default__$o=defineComponent({name:COMPONENT_NAME$9}),_sfc_main$P=defineComponent({...__default__$o,props:splitterPanelProps,emits:["update:size"],setup(e,{emit:t}){const i=e,o=useNamespace("splitter-panel"),n=inject(splitterRootContextKey);n||throwError(COMPONENT_NAME$9,"usage: ");const{panels:r,layout:s,lazy:a,containerSize:l,pxSizes:c}=toRefs(n),{registerPanel:d,unregisterPanel:u,onCollapse:h,onMoveEnd:p,onMoveStart:g,onMoving:m}=n,f=ref$1(),v=getCurrentInstance$1(),b=v.uid,_=ref$1(0),y=computed$1(()=>r.value[_.value]),C=computed$1(()=>{var e;return y.value&&null!=(e=c.value[_.value])?e:0}),w=computed$1(()=>{var e;return y.value&&null!=(e=c.value[_.value+1])?e:0}),x=computed$1(()=>y.value?r.value[_.value+1]:null),S=computed$1(()=>{var e;return!!x.value&&(i.resizable&&(null==(e=x.value)?void 0:e.resizable)&&(0!==C.value||!i.min)&&(0!==w.value||!x.value.min))}),k=computed$1(()=>!!y.value&&_.value!==r.value.length-1),E=computed$1(()=>isCollapsible(y.value,C.value,x.value,w.value)),I=computed$1(()=>isCollapsible(x.value,w.value,y.value,C.value));function T(e){return isPct(e)?getPct(e)*l.value||0:isPx(e)?getPx(e):null!=e?e:0}let D=!1;watch(()=>i.size,()=>{if(!D&&y.value){const e=T(i.size),o=T(i.max),n=T(i.min),r=Math.min(Math.max(e,n||0),o||e);r!==e&&t("update:size",r),y.value.size=r}}),watch(()=>{var e;return null==(e=y.value)?void 0:e.size},e=>{e!==i.size&&(D=!0,t("update:size",e),nextTick(()=>D=!1))}),watch(()=>i.resizable,e=>{y.value&&(y.value.resizable=e)});const L=reactive$1({el:f.value,uid:b,getVnode:()=>v.vnode,setIndex:e=>{_.value=e},...i,collapsible:computed$1(()=>getCollapsible(i.collapsible))});return d(L),onBeforeUnmount(()=>u(L)),(e,t)=>(openBlock(),createElementBlock(Fragment,null,[createBaseVNode("div",mergeProps({ref_key:"panelEl",ref:f,class:[unref(o).b()],style:{flexBasis:`${unref(C)}px`}},e.$attrs),[renderSlot(e.$slots,"default")],16),unref(k)?(openBlock(),createBlock(SplitBar,{key:0,index:_.value,layout:unref(s),lazy:unref(a),resizable:unref(S),"start-collapsible":unref(E),"end-collapsible":unref(I),onMoveStart:unref(g),onMoving:unref(m),onMoveEnd:unref(p),onCollapse:unref(h)},{"start-collapsible":withCtx(()=>[renderSlot(e.$slots,"start-collapsible")]),"end-collapsible":withCtx(()=>[renderSlot(e.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):createCommentVNode("v-if",!0)],64))}});var SplitPanel=_export_sfc$1(_sfc_main$P,[["__file","split-panel.vue"]]);const ElSplitter=withInstall(Splitter,{SplitPanel:SplitPanel}),ElSplitterPanel=withNoopInstall(SplitPanel),drawerProps=buildProps({...dialogProps,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},resizable:Boolean,size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),drawerEmits=dialogEmits,__default__$n=defineComponent({name:"ElDrawer",inheritAttrs:!1}),_sfc_main$O=defineComponent({...__default__$n,props:drawerProps,emits:drawerEmits,setup(e,{expose:t}){const i=e,o=useSlots();useDeprecated({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},computed$1(()=>!!o.title));const n=ref$1(),r=ref$1(),s=useNamespace("drawer"),{t:a}=useLocale(),{afterEnter:l,afterLeave:c,beforeLeave:d,visible:u,rendered:h,titleId:p,bodyId:g,zIndex:m,onModalClick:f,onOpenAutoFocus:v,onCloseAutoFocus:b,onFocusoutPrevented:_,onCloseRequested:y,handleClose:C}=useDialog(i,n),w=computed$1(()=>"rtl"===i.direction||"ltr"===i.direction),x=computed$1(()=>addUnit(i.size));return t({handleClose:C,afterEnter:l,afterLeave:c}),(e,t)=>(openBlock(),createBlock(unref(ElTeleport),{to:e.appendTo,disabled:"body"===e.appendTo&&!e.appendToBody},{default:withCtx(()=>[createVNode(Transition,{name:unref(s).b("fade"),onAfterEnter:unref(l),onAfterLeave:unref(c),onBeforeLeave:unref(d),persisted:""},{default:withCtx(()=>[withDirectives(createVNode(unref(ElOverlay),{mask:e.modal,"overlay-class":e.modalClass,"z-index":unref(m),onClick:unref(f)},{default:withCtx(()=>[createVNode(unref(ElFocusTrap),{loop:"",trapped:unref(u),"focus-trap-el":n.value,"focus-start-el":r.value,onFocusAfterTrapped:unref(v),onFocusAfterReleased:unref(b),onFocusoutPrevented:unref(_),onReleaseRequested:unref(y)},{default:withCtx(()=>[createVNode(unref(ElSplitter),{class:normalizeClass(unref(s).b("splitter")),layout:unref(w)?"horizontal":"vertical"},{default:withCtx(()=>[["rtl","btt"].includes(e.direction)?(openBlock(),createBlock(unref(ElSplitterPanel),{key:0,onClick:unref(f)},null,8,["onClick"])):createCommentVNode("v-if",!0),createVNode(unref(ElSplitterPanel),{resizable:e.resizable,size:unref(x)},{default:withCtx(()=>[createBaseVNode("div",mergeProps({ref_key:"drawerRef",ref:n,"aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:unref(p),"aria-describedby":unref(g)},e.$attrs,{class:[unref(s).b(),e.direction,unref(u)&&"open"],role:"dialog",onClick:withModifiers(()=>{},["stop"])}),[createBaseVNode("span",{ref_key:"focusStartRef",ref:r,class:normalizeClass(unref(s).e("sr-focus")),tabindex:"-1"},null,2),e.withHeader?(openBlock(),createElementBlock("header",{key:0,class:normalizeClass([unref(s).e("header"),e.headerClass])},[e.$slots.title?renderSlot(e.$slots,"title",{key:1},()=>[createCommentVNode(" DEPRECATED SLOT ")]):renderSlot(e.$slots,"header",{key:0,close:unref(C),titleId:unref(p),titleClass:unref(s).e("title")},()=>[e.$slots.title?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("span",{key:0,id:unref(p),role:"heading","aria-level":e.headerAriaLevel,class:normalizeClass(unref(s).e("title"))},toDisplayString(e.title),11,["id","aria-level"]))]),e.showClose?(openBlock(),createElementBlock("button",{key:2,"aria-label":unref(a)("el.drawer.close"),class:normalizeClass(unref(s).e("close-btn")),type:"button",onClick:unref(C)},[createVNode(unref(ElIcon),{class:normalizeClass(unref(s).e("close"))},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class"])],10,["aria-label","onClick"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),unref(h)?(openBlock(),createElementBlock("div",{key:1,id:unref(g),class:normalizeClass([unref(s).e("body"),e.bodyClass])},[renderSlot(e.$slots,"default")],10,["id"])):createCommentVNode("v-if",!0),e.$slots.footer?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass([unref(s).e("footer"),e.footerClass])},[renderSlot(e.$slots,"footer")],2)):createCommentVNode("v-if",!0)],16,["aria-label","aria-labelledby","aria-describedby","onClick"])]),_:3},8,["resizable","size"]),["ltr","ttb"].includes(e.direction)?(openBlock(),createBlock(unref(ElSplitterPanel),{key:1,onClick:unref(f)},null,8,["onClick"])):createCommentVNode("v-if",!0)]),_:3},8,["class","layout"])]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[vShow,unref(u)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])]),_:3},8,["to","disabled"]))}});var Drawer=_export_sfc$1(_sfc_main$O,[["__file","drawer.vue"]]);const ElDrawer=withInstall(Drawer),_sfc_main$N=defineComponent({inheritAttrs:!1});function _sfc_render$j(e,t,i,o,n,r){return renderSlot(e.$slots,"default")}var Collection=_export_sfc$1(_sfc_main$N,[["render",_sfc_render$j],["__file","collection.vue"]]);const _sfc_main$M=defineComponent({name:"ElCollectionItem",inheritAttrs:!1});function _sfc_render$i(e,t,i,o,n,r){return renderSlot(e.$slots,"default")}var CollectionItem=_export_sfc$1(_sfc_main$M,[["render",_sfc_render$i],["__file","collection-item.vue"]]);const COLLECTION_ITEM_SIGN="data-el-collection-item",createCollectionWithScope=e=>{const t=`El${e}Collection`,i=`${t}Item`,o=Symbol(t),n=Symbol(i),r={...Collection,name:t,setup(){const e=ref$1(),t=new Map;provide(o,{itemMap:t,getItems:()=>{const i=unref(e);if(!i)return[];const o=Array.from(i.querySelectorAll(`[${COLLECTION_ITEM_SIGN}]`));return[...t.values()].sort((e,t)=>o.indexOf(e.ref)-o.indexOf(t.ref))},collectionRef:e})}},s={...CollectionItem,name:i,setup(e,{attrs:t}){const i=ref$1(),r=inject(o,void 0);provide(n,{collectionItemRef:i}),onMounted(()=>{const e=unref(i);e&&r.itemMap.set(e,{ref:e,...t})}),onBeforeUnmount(()=>{const e=unref(i);r.itemMap.delete(e)})}};return{COLLECTION_INJECTION_KEY:o,COLLECTION_ITEM_INJECTION_KEY:n,ElCollection:r,ElCollectionItem:s}},rovingFocusGroupProps=buildProps({style:{type:definePropType([String,Array,Object])},currentTabId:{type:definePropType(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:definePropType(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:ElCollection$1,ElCollectionItem:ElCollectionItem$1,COLLECTION_INJECTION_KEY:COLLECTION_INJECTION_KEY$1,COLLECTION_ITEM_INJECTION_KEY:COLLECTION_ITEM_INJECTION_KEY$1}=createCollectionWithScope("RovingFocusGroup"),ROVING_FOCUS_GROUP_INJECTION_KEY=Symbol("elRovingFocusGroup"),ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY=Symbol("elRovingFocusGroupItem"),MAP_KEY_TO_FOCUS_INTENT={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},getDirectionAwareKey=(e,t)=>e,getFocusIntent=(e,t,i)=>{const o=getDirectionAwareKey(e.code);return MAP_KEY_TO_FOCUS_INTENT[o]},reorderArray=(e,t)=>e.map((i,o)=>e[(o+t)%e.length]),focusFirst=e=>{const{activeElement:t}=document;for(const i of e){if(i===t)return;if(i.focus(),t!==document.activeElement)return}},CURRENT_TAB_ID_CHANGE_EVT="currentTabIdChange",ENTRY_FOCUS_EVT="rovingFocusGroup.entryFocus",EVT_OPTS={bubbles:!1,cancelable:!0},_sfc_main$L=defineComponent({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:rovingFocusGroupProps,emits:[CURRENT_TAB_ID_CHANGE_EVT,"entryFocus"],setup(e,{emit:t}){var i;const o=ref$1(null!=(i=e.currentTabId||e.defaultCurrentTabId)?i:null),n=ref$1(!1),r=ref$1(!1),s=ref$1(),{getItems:a}=inject(COLLECTION_INJECTION_KEY$1,void 0),l=computed$1(()=>[{outline:"none"},e.style]),c=composeEventHandlers(t=>{var i;null==(i=e.onMousedown)||i.call(e,t)},()=>{r.value=!0}),d=composeEventHandlers(t=>{var i;null==(i=e.onFocus)||i.call(e,t)},e=>{const t=!unref(r),{target:i,currentTarget:s}=e;if(i===s&&t&&!unref(n)){const e=new Event(ENTRY_FOCUS_EVT,EVT_OPTS);if(null==s||s.dispatchEvent(e),!e.defaultPrevented){const e=a().filter(e=>e.focusable),t=[e.find(e=>e.active),e.find(e=>e.id===unref(o)),...e].filter(Boolean).map(e=>e.ref);focusFirst(t)}}r.value=!1}),u=composeEventHandlers(t=>{var i;null==(i=e.onBlur)||i.call(e,t)},()=>{n.value=!1});provide(ROVING_FOCUS_GROUP_INJECTION_KEY,{currentTabbedId:readonly(o),loop:toRef(e,"loop"),tabIndex:computed$1(()=>unref(n)?-1:0),rovingFocusGroupRef:s,rovingFocusGroupRootStyle:l,orientation:toRef(e,"orientation"),dir:toRef(e,"dir"),onItemFocus:e=>{t(CURRENT_TAB_ID_CHANGE_EVT,e)},onItemShiftTab:()=>{n.value=!0},onBlur:u,onFocus:d,onMousedown:c}),watch(()=>e.currentTabId,e=>{o.value=null!=e?e:null}),useEventListener(s,ENTRY_FOCUS_EVT,(...e)=>{t("entryFocus",...e)})}});function _sfc_render$h(e,t,i,o,n,r){return renderSlot(e.$slots,"default")}var ElRovingFocusGroupImpl=_export_sfc$1(_sfc_main$L,[["render",_sfc_render$h],["__file","roving-focus-group-impl.vue"]]);const _sfc_main$K=defineComponent({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:ElCollection$1,ElRovingFocusGroupImpl:ElRovingFocusGroupImpl}});function _sfc_render$g(e,t,i,o,n,r){const s=resolveComponent("el-roving-focus-group-impl"),a=resolveComponent("el-focus-group-collection");return openBlock(),createBlock(a,null,{default:withCtx(()=>[createVNode(s,normalizeProps(guardReactiveProps(e.$attrs)),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16)]),_:3})}var ElRovingFocusGroup=_export_sfc$1(_sfc_main$K,[["render",_sfc_render$g],["__file","roving-focus-group.vue"]]);const dropdownProps=buildProps({trigger:useTooltipTriggerProps.trigger,triggerKeys:{type:definePropType(Array),default:()=>[EVENT_CODE.enter,EVENT_CODE.numpadEnter,EVENT_CODE.space,EVENT_CODE.down]},effect:{...useTooltipContentProps.effect,default:"light"},type:{type:definePropType(String)},placement:{type:definePropType(String),default:"bottom"},popperOptions:{type:definePropType(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:definePropType([Number,String]),default:0},maxHeight:{type:definePropType([Number,String]),default:""},popperClass:{type:String,default:""},disabled:Boolean,role:{type:String,values:roleTypes,default:"menu"},buttonProps:{type:definePropType(Object)},teleported:useTooltipContentProps.teleported,persistent:{type:Boolean,default:!0}}),dropdownItemProps=buildProps({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:iconPropType}}),dropdownMenuProps=buildProps({onKeydown:{type:definePropType(Function)}}),FIRST_KEYS=[EVENT_CODE.down,EVENT_CODE.pageDown,EVENT_CODE.home],LAST_KEYS=[EVENT_CODE.up,EVENT_CODE.pageUp,EVENT_CODE.end],FIRST_LAST_KEYS=[...FIRST_KEYS,...LAST_KEYS],{ElCollection:ElCollection,ElCollectionItem:ElCollectionItem,COLLECTION_INJECTION_KEY:COLLECTION_INJECTION_KEY,COLLECTION_ITEM_INJECTION_KEY:COLLECTION_ITEM_INJECTION_KEY}=createCollectionWithScope("Dropdown"),DROPDOWN_INJECTION_KEY=Symbol("elDropdown"),DROPDOWN_INSTANCE_INJECTION_KEY="elDropdown",{ButtonGroup:ElButtonGroup}=ElButton,_sfc_main$J=defineComponent({name:"ElDropdown",components:{ElButton:ElButton,ElButtonGroup:ElButtonGroup,ElScrollbar:ElScrollbar,ElDropdownCollection:ElCollection,ElTooltip:ElTooltip,ElRovingFocusGroup:ElRovingFocusGroup,ElOnlyChild:OnlyChild,ElIcon:ElIcon,ArrowDown:arrow_down_default},props:dropdownProps,emits:["visible-change","click","command"],setup(e,{emit:t}){const i=getCurrentInstance$1(),o=useNamespace("dropdown"),{t:n}=useLocale(),r=ref$1(),s=ref$1(),a=ref$1(),l=ref$1(),c=ref$1(null),d=ref$1(null),u=ref$1(!1),h=computed$1(()=>({maxHeight:addUnit(e.maxHeight)})),p=computed$1(()=>[o.m(b.value)]),g=computed$1(()=>castArray$1(e.trigger)),m=useId().value,f=computed$1(()=>e.id||m);function v(){var e;null==(e=a.value)||e.onClose()}watch([r,g],([e,t],[i])=>{var o,n,r;(null==(o=null==i?void 0:i.$el)?void 0:o.removeEventListener)&&i.$el.removeEventListener("pointerenter",_),(null==(n=null==e?void 0:e.$el)?void 0:n.removeEventListener)&&e.$el.removeEventListener("pointerenter",_),(null==(r=null==e?void 0:e.$el)?void 0:r.addEventListener)&&t.includes("hover")&&e.$el.addEventListener("pointerenter",_)},{immediate:!0}),onBeforeUnmount(()=>{var e,t;(null==(t=null==(e=r.value)?void 0:e.$el)?void 0:t.removeEventListener)&&r.value.$el.removeEventListener("pointerenter",_)});const b=useFormSize();function _(){var e,t;null==(t=null==(e=r.value)?void 0:e.$el)||t.focus({preventScroll:!0})}provide(DROPDOWN_INJECTION_KEY,{contentRef:l,role:computed$1(()=>e.role),triggerId:f,isUsingKeyboard:u,onItemEnter:function(){},onItemLeave:function(){const e=unref(l);g.value.includes("hover")&&(null==e||e.focus({preventScroll:!0})),d.value=null}}),provide(DROPDOWN_INSTANCE_INJECTION_KEY,{instance:i,dropdownSize:b,handleClick:function(){v()},commandHandler:function(...e){t("command",...e)},trigger:toRef(e,"trigger"),hideOnClick:toRef(e,"hideOnClick")});return{t:n,ns:o,scrollbar:c,wrapStyle:h,dropdownTriggerKls:p,dropdownSize:b,triggerId:f,currentTabId:d,handleCurrentTabIdChange:function(e){d.value=e},handlerMainButtonClick:e=>{t("click",e)},handleEntryFocus:function(e){u.value||(e.preventDefault(),e.stopImmediatePropagation())},handleClose:v,handleOpen:function(){var e;null==(e=a.value)||e.onOpen()},handleBeforeShowTooltip:function(){t("visible-change",!0)},handleShowTooltip:function(e){var t;"keydown"===(null==e?void 0:e.type)&&(null==(t=l.value)||t.focus())},handleBeforeHideTooltip:function(){t("visible-change",!1)},onFocusAfterTrapped:e=>{var t,i;e.preventDefault(),null==(i=null==(t=l.value)?void 0:t.focus)||i.call(t,{preventScroll:!0})},popperRef:a,contentRef:l,triggeringElementRef:r,referenceElementRef:s}}});function _sfc_render$f(e,t,i,o,n,r){var s;const a=resolveComponent("el-dropdown-collection"),l=resolveComponent("el-roving-focus-group"),c=resolveComponent("el-scrollbar"),d=resolveComponent("el-only-child"),u=resolveComponent("el-tooltip"),h=resolveComponent("el-button"),p=resolveComponent("arrow-down"),g=resolveComponent("el-icon"),m=resolveComponent("el-button-group");return openBlock(),createElementBlock("div",{class:normalizeClass([e.ns.b(),e.ns.is("disabled",e.disabled)])},[createVNode(u,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"hide-after":"hover"===e.trigger?e.hideTimeout:0,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":null==(s=e.referenceElementRef)?void 0:s.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-after":"hover"===e.trigger?e.showTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":e.triggeringElementRef,"virtual-triggering":e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},createSlots({content:withCtx(()=>[createVNode(c,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:withCtx(()=>[createVNode(l,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:withCtx(()=>[createVNode(a,null,{default:withCtx(()=>[renderSlot(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:withCtx(()=>[createVNode(d,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","hide-after","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-after","virtual-ref","virtual-triggering","disabled","transition","teleported","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(openBlock(),createBlock(m,{key:0},{default:withCtx(()=>[createVNode(h,mergeProps({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),createVNode(h,mergeProps({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:withCtx(()=>[createVNode(g,{class:normalizeClass(e.ns.e("icon"))},{default:withCtx(()=>[createVNode(p)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):createCommentVNode("v-if",!0)],2)}var Dropdown=_export_sfc$1(_sfc_main$J,[["render",_sfc_render$f],["__file","dropdown.vue"]]);const _sfc_main$I=defineComponent({components:{ElRovingFocusCollectionItem:ElCollectionItem$1},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:i,loop:o,onItemFocus:n,onItemShiftTab:r}=inject(ROVING_FOCUS_GROUP_INJECTION_KEY,void 0),{getItems:s}=inject(COLLECTION_INJECTION_KEY$1,void 0),a=useId(),l=ref$1(),c=composeEventHandlers(e=>{t("mousedown",e)},t=>{e.focusable?n(unref(a)):t.preventDefault()}),d=composeEventHandlers(e=>{t("focus",e)},()=>{n(unref(a))}),u=composeEventHandlers(e=>{t("keydown",e)},e=>{const{code:t,shiftKey:i,target:n,currentTarget:a}=e;if(t===EVENT_CODE.tab&&i)return void r();if(n!==a)return;const l=getFocusIntent(e);if(l){e.preventDefault();let t=s().filter(e=>e.focusable).map(e=>e.ref);switch(l){case"last":t.reverse();break;case"prev":case"next":{"prev"===l&&t.reverse();const e=t.indexOf(a);t=o.value?reorderArray(t,e+1):t.slice(e+1);break}}nextTick(()=>{focusFirst(t)})}}),h=computed$1(()=>i.value===unref(a));return provide(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,{rovingFocusGroupItemRef:l,tabIndex:computed$1(()=>unref(h)?0:-1),handleMousedown:c,handleFocus:d,handleKeydown:u}),{id:a,handleKeydown:u,handleFocus:d,handleMousedown:c}}});function _sfc_render$e(e,t,i,o,n,r){const s=resolveComponent("el-roving-focus-collection-item");return openBlock(),createBlock(s,{id:e.id,focusable:e.focusable,active:e.active},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["id","focusable","active"])}var ElRovingFocusItem=_export_sfc$1(_sfc_main$I,[["render",_sfc_render$e],["__file","roving-focus-item.vue"]]);const _sfc_main$H=defineComponent({name:"DropdownItemImpl",components:{ElIcon:ElIcon},props:dropdownItemProps,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const i=useNamespace("dropdown"),{role:o}=inject(DROPDOWN_INJECTION_KEY,void 0),{collectionItemRef:n}=inject(COLLECTION_ITEM_INJECTION_KEY,void 0),{collectionItemRef:r}=inject(COLLECTION_ITEM_INJECTION_KEY$1,void 0),{rovingFocusGroupItemRef:s,tabIndex:a,handleFocus:l,handleKeydown:c,handleMousedown:d}=inject(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,void 0),u=composeRefs(n,r,s),h=computed$1(()=>"menu"===o.value?"menuitem":"navigation"===o.value?"link":"button"),p=composeEventHandlers(e=>{if([EVENT_CODE.enter,EVENT_CODE.numpadEnter,EVENT_CODE.space].includes(e.code))return e.preventDefault(),e.stopImmediatePropagation(),t("clickimpl",e),!0},c);return{ns:i,itemRef:u,dataset:{[COLLECTION_ITEM_SIGN]:""},role:h,tabIndex:a,handleFocus:l,handleKeydown:p,handleMousedown:d}}});function _sfc_render$d(e,t,i,o,n,r){const s=resolveComponent("el-icon");return openBlock(),createElementBlock(Fragment,null,[e.divided?(openBlock(),createElementBlock("li",{key:0,role:"separator",class:normalizeClass(e.ns.bem("menu","item","divided"))},null,2)):createCommentVNode("v-if",!0),createBaseVNode("li",mergeProps({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t=>e.$emit("clickimpl",t),onFocus:e.handleFocus,onKeydown:withModifiers(e.handleKeydown,["self"]),onMousedown:e.handleMousedown,onPointermove:t=>e.$emit("pointermove",t),onPointerleave:t=>e.$emit("pointerleave",t)}),[e.icon?(openBlock(),createBlock(s,{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.icon)))]),_:1})):createCommentVNode("v-if",!0),renderSlot(e.$slots,"default")],16,["aria-disabled","tabindex","role","onClick","onFocus","onKeydown","onMousedown","onPointermove","onPointerleave"])],64)}var ElDropdownItemImpl=_export_sfc$1(_sfc_main$H,[["render",_sfc_render$d],["__file","dropdown-item-impl.vue"]]);const useDropdown=()=>{const e=inject(DROPDOWN_INSTANCE_INJECTION_KEY,{}),t=computed$1(()=>null==e?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:t}},_sfc_main$G=defineComponent({name:"ElDropdownItem",components:{ElDropdownCollectionItem:ElCollectionItem,ElRovingFocusItem:ElRovingFocusItem,ElDropdownItemImpl:ElDropdownItemImpl},inheritAttrs:!1,props:dropdownItemProps,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:i}){const{elDropdown:o}=useDropdown(),n=getCurrentInstance$1(),r=ref$1(null),s=computed$1(()=>{var e,t;return null!=(t=null==(e=unref(r))?void 0:e.textContent)?t:""}),{onItemEnter:a,onItemLeave:l}=inject(DROPDOWN_INJECTION_KEY,void 0),c=composeEventHandlers(e=>(t("pointermove",e),e.defaultPrevented),whenMouse(t=>{if(e.disabled)return void l(t);const i=t.currentTarget;i===document.activeElement||i.contains(document.activeElement)||(a(t),t.defaultPrevented||null==i||i.focus({preventScroll:!0}))})),d=composeEventHandlers(e=>(t("pointerleave",e),e.defaultPrevented),whenMouse(l)),u=composeEventHandlers(i=>{if(!e.disabled)return t("click",i),"keydown"!==i.type&&i.defaultPrevented},t=>{var i,r,s;e.disabled?t.stopImmediatePropagation():((null==(i=null==o?void 0:o.hideOnClick)?void 0:i.value)&&(null==(r=o.handleClick)||r.call(o)),null==(s=o.commandHandler)||s.call(o,e.command,n,t))});return{handleClick:u,handlePointerMove:c,handlePointerLeave:d,textContent:s,propsAndAttrs:computed$1(()=>({...e,...i}))}}});function _sfc_render$c(e,t,i,o,n,r){var s;const a=resolveComponent("el-dropdown-item-impl"),l=resolveComponent("el-roving-focus-item"),c=resolveComponent("el-dropdown-collection-item");return openBlock(),createBlock(c,{disabled:e.disabled,"text-value":null!=(s=e.textValue)?s:e.textContent},{default:withCtx(()=>[createVNode(l,{focusable:!e.disabled},{default:withCtx(()=>[createVNode(a,mergeProps(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}var DropdownItem=_export_sfc$1(_sfc_main$G,[["render",_sfc_render$c],["__file","dropdown-item.vue"]]);const _sfc_main$F=defineComponent({name:"ElDropdownMenu",props:dropdownMenuProps,setup(e){const t=useNamespace("dropdown"),{_elDropdownSize:i}=useDropdown(),o=i.value,{focusTrapRef:n,onKeydown:r}=inject(FOCUS_TRAP_INJECTION_KEY,void 0),{contentRef:s,role:a,triggerId:l}=inject(DROPDOWN_INJECTION_KEY,void 0),{collectionRef:c,getItems:d}=inject(COLLECTION_INJECTION_KEY,void 0),{rovingFocusGroupRef:u,rovingFocusGroupRootStyle:h,tabIndex:p,onBlur:g,onFocus:m,onMousedown:f}=inject(ROVING_FOCUS_GROUP_INJECTION_KEY,void 0),{collectionRef:v}=inject(COLLECTION_INJECTION_KEY$1,void 0),b=computed$1(()=>[t.b("menu"),t.bm("menu",null==o?void 0:o.value)]),_=composeRefs(s,c,n,u,v),y=composeEventHandlers(t=>{var i;null==(i=e.onKeydown)||i.call(e,t)},e=>{const{currentTarget:t,code:i,target:o}=e;if(t.contains(o),EVENT_CODE.tab===i&&e.stopImmediatePropagation(),e.preventDefault(),o!==unref(s)||!FIRST_LAST_KEYS.includes(i))return;const n=d().filter(e=>!e.disabled).map(e=>e.ref);LAST_KEYS.includes(i)&&n.reverse(),focusFirst(n)});return{size:o,rovingFocusGroupRootStyle:h,tabIndex:p,dropdownKls:b,role:a,triggerId:l,dropdownListWrapperRef:_,handleKeydown:e=>{y(e),r(e)},onBlur:g,onFocus:m,onMousedown:f}}});function _sfc_render$b(e,t,i,o,n,r){return openBlock(),createElementBlock("ul",{ref:e.dropdownListWrapperRef,class:normalizeClass(e.dropdownKls),style:normalizeStyle(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:e.onBlur,onFocus:e.onFocus,onKeydown:withModifiers(e.handleKeydown,["self"]),onMousedown:withModifiers(e.onMousedown,["self"])},[renderSlot(e.$slots,"default")],46,["role","aria-labelledby","onBlur","onFocus","onKeydown","onMousedown"])}var DropdownMenu=_export_sfc$1(_sfc_main$F,[["render",_sfc_render$b],["__file","dropdown-menu.vue"]]);const ElDropdown=withInstall(Dropdown,{DropdownItem:DropdownItem,DropdownMenu:DropdownMenu}),ElDropdownItem=withNoopInstall(DropdownItem),ElDropdownMenu=withNoopInstall(DropdownMenu),formMetaProps=buildProps({size:{type:String,values:componentSizes},disabled:Boolean}),formProps=buildProps({...formMetaProps,model:Object,rules:{type:definePropType(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:definePropType([Object,Boolean]),default:!0}}),formEmits={validate:(e,t,i)=>(isArray$1(e)||isString$1(e))&&isBoolean(t)&&isString$1(i)};function useFormLabelWidth(){const e=ref$1([]),t=computed$1(()=>{if(!e.value.length)return"0";const t=Math.max(...e.value);return t?`${t}px`:""});function i(i){const o=e.value.indexOf(i);return-1===o&&t.value,o}return{autoLabelWidth:t,registerLabelWidth:function(t,o){if(t&&o){const n=i(o);e.value.splice(n,1,t)}else t&&e.value.push(t)},deregisterLabelWidth:function(t){const o=i(t);o>-1&&e.value.splice(o,1)}}}const filterFields=(e,t)=>{const i=castArray$1(t).map(e=>isArray$1(e)?e.join("."):e);return i.length>0?e.filter(e=>e.propString&&i.includes(e.propString)):e},COMPONENT_NAME$8="ElForm",__default__$m=defineComponent({name:COMPONENT_NAME$8}),_sfc_main$E=defineComponent({...__default__$m,props:formProps,emits:formEmits,setup(t,{expose:i,emit:o}){const n=t,r=ref$1(),s=reactive$1([]),a=useFormSize(),l=useNamespace("form"),c=computed$1(()=>{const{labelPosition:e,inline:t}=n;return[l.b(),l.m(a.value||"default"),{[l.m(`label-${e}`)]:e,[l.m("inline")]:t}]}),d=e=>filterFields(s,[e])[0],u=(e=[])=>{n.model&&filterFields(s,e).forEach(e=>e.resetField())},h=(e=[])=>{filterFields(s,e).forEach(e=>e.clearValidate())},p=computed$1(()=>!!n.model),g=async e=>f(void 0,e),m=async(e=[])=>{if(!p.value)return!1;const t=(e=>{if(0===s.length)return[];const t=filterFields(s,e);return t.length?t:[]})(e);if(0===t.length)return!0;let i={};for(const n of t)try{await n.validate(""),"error"!==n.validateState||n.error||n.resetField()}catch(o){i={...i,...o}}return 0===Object.keys(i).length||Promise.reject(i)},f=async(t=[],i)=>{let o=!1;const s=!isFunction$1(i);try{return o=await m(t),!0===o&&await(null==i?void 0:i(o)),o}catch(e){if(e instanceof Error)throw e;const a=e;if(n.scrollToError&&r.value){const e=r.value.querySelector(`.${l.b()}-item.is-error`);null==e||e.scrollIntoView(n.scrollIntoViewOptions)}return!o&&await(null==i?void 0:i(!1,a)),s&&Promise.reject(a)}};return watch(()=>n.rules,()=>{n.validateOnRuleChange&&g().catch(e=>debugWarn())},{deep:!0,flush:"post"}),provide(formContextKey,reactive$1({...toRefs(n),emit:o,resetFields:u,clearValidate:h,validateField:f,getField:d,addField:e=>{s.push(e)},removeField:e=>{e.prop&&s.splice(s.indexOf(e),1)},...useFormLabelWidth()})),i({validate:g,validateField:f,resetFields:u,clearValidate:h,scrollToField:e=>{var t;const i=d(e);i&&(null==(t=i.$el)||t.scrollIntoView(n.scrollIntoViewOptions))},getField:d,fields:s}),(e,t)=>(openBlock(),createElementBlock("form",{ref_key:"formRef",ref:r,class:normalizeClass(unref(c))},[renderSlot(e.$slots,"default")],2))}});var Form=_export_sfc$1(_sfc_main$E,[["__file","form.vue"]]);function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?t-1:0),o=1;o=r)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(_){return"[Circular]"}break;default:return e}});return s}return e}function isNativeStringType(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}function isEmptyValue(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!isNativeStringType(t)||"string"!=typeof e||e))}function asyncParallelArray(e,t,i){var o=[],n=0,r=e.length;function s(e){o.push.apply(o,e||[]),++n===r&&i(o)}e.forEach(function(e){t(e,s)})}function asyncSerialArray(e,t,i){var o=0,n=e.length;!function r(s){if(s&&s.length)i(s);else{var a=o;o+=1,a()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},types={integer:function(e){return types.number(e)&&parseInt(e,10)===e},float:function(e){return types.number(e)&&!types.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch(e){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime())},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"==typeof e&&!types.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&e.length<=320&&!!e.match(pattern$2.email)},url:function(e){return"string"==typeof e&&e.length<=2048&&!!e.match(getUrlRegex())},hex:function(e){return"string"==typeof e&&!!e.match(pattern$2.hex)}},type$1=function(e,t,i,o,n){if(e.required&&void 0===t)required$1(e,t,i,o,n);else{var r=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(r)>-1?types[r](t)||o.push(format(n.messages.types[r],e.fullField,e.type)):r&&typeof t!==e.type&&o.push(format(n.messages.types[r],e.fullField,e.type))}},range=function(e,t,i,o,n){var r="number"==typeof e.len,s="number"==typeof e.min,a="number"==typeof e.max,l=t,c=null,d="number"==typeof t,u="string"==typeof t,h=Array.isArray(t);if(d?c="number":u?c="string":h&&(c="array"),!c)return!1;h&&(l=t.length),u&&(l=t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),r?l!==e.len&&o.push(format(n.messages[c].len,e.fullField,e.len)):s&&!a&&le.max?o.push(format(n.messages[c].max,e.fullField,e.max)):s&&a&&(le.max)&&o.push(format(n.messages[c].range,e.fullField,e.min,e.max))},ENUM$1="enum",enumerable$1=function(e,t,i,o,n){e[ENUM$1]=Array.isArray(e[ENUM$1])?e[ENUM$1]:[],-1===e[ENUM$1].indexOf(t)&&o.push(format(n.messages[ENUM$1],e.fullField,e[ENUM$1].join(", ")))},pattern$1=function(e,t,i,o,n){if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||o.push(format(n.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||o.push(format(n.messages.pattern.mismatch,e.fullField,t,e.pattern))}},rules={required:required$1,whitespace:whitespace,type:type$1,range:range,enum:enumerable$1,pattern:pattern$1},string=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t,"string")&&!e.required)return i();rules.required(e,t,o,r,n,"string"),isEmptyValue(t,"string")||(rules.type(e,t,o,r,n),rules.range(e,t,o,r,n),rules.pattern(e,t,o,r,n),!0===e.whitespace&&rules.whitespace(e,t,o,r,n))}i(r)},method2=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,o,r,n),void 0!==t&&rules.type(e,t,o,r,n)}i(r)},number2=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(""===t&&(t=void 0),isEmptyValue(t)&&!e.required)return i();rules.required(e,t,o,r,n),void 0!==t&&(rules.type(e,t,o,r,n),rules.range(e,t,o,r,n))}i(r)},_boolean=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,o,r,n),void 0!==t&&rules.type(e,t,o,r,n)}i(r)},regexp2=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,o,r,n),isEmptyValue(t)||rules.type(e,t,o,r,n)}i(r)},integer2=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,o,r,n),void 0!==t&&(rules.type(e,t,o,r,n),rules.range(e,t,o,r,n))}i(r)},floatFn=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,o,r,n),void 0!==t&&(rules.type(e,t,o,r,n),rules.range(e,t,o,r,n))}i(r)},array2=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(null==t&&!e.required)return i();rules.required(e,t,o,r,n,"array"),null!=t&&(rules.type(e,t,o,r,n),rules.range(e,t,o,r,n))}i(r)},object2=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,o,r,n),void 0!==t&&rules.type(e,t,o,r,n)}i(r)},ENUM="enum",enumerable2=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,o,r,n),void 0!==t&&rules[ENUM](e,t,o,r,n)}i(r)},pattern2=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t,"string")&&!e.required)return i();rules.required(e,t,o,r,n),isEmptyValue(t,"string")||rules.pattern(e,t,o,r,n)}i(r)},date2=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t,"date")&&!e.required)return i();var s;if(rules.required(e,t,o,r,n),!isEmptyValue(t,"date"))s=t instanceof Date?t:new Date(t),rules.type(e,s,o,r,n),s&&rules.range(e,s.getTime(),o,r,n)}i(r)},required2=function(e,t,i,o,n){var r=[],s=Array.isArray(t)?"array":typeof t;rules.required(e,t,o,r,n,s),i(r)},type2=function(e,t,i,o,n){var r=e.type,s=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t,r)&&!e.required)return i();rules.required(e,t,o,s,n,r),isEmptyValue(t,r)||rules.type(e,t,o,s,n)}i(s)},any=function(e,t,i,o,n){var r=[];if(e.required||!e.required&&o.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,o,r,n)}i(r)},validators={string:string,method:method2,number:number2,boolean:_boolean,regexp:regexp2,integer:integer2,float:floatFn,array:array2,object:object2,enum:enumerable2,pattern:pattern2,date:date2,url:type2,hex:type2,email:type2,required:required2,any:any};function newMessages(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var messages=newMessages(),Schema=function(){function e(e){this.rules=null,this._messages=messages,this.define(e)}var t=e.prototype;return t.define=function(e){var t=this;if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach(function(i){var o=e[i];t.rules[i]=Array.isArray(o)?o:[o]})},t.messages=function(e){return e&&(this._messages=deepMerge(newMessages(),e)),this._messages},t.validate=function(t,i,o){var n=this;void 0===i&&(i={}),void 0===o&&(o=function(){});var r=t,s=i,a=o;if("function"==typeof s&&(a=s,s={}),!this.rules||0===Object.keys(this.rules).length)return a&&a(null,r),Promise.resolve(r);if(s.messages){var l=this.messages();l===messages&&(l=newMessages()),deepMerge(l,s.messages),s.messages=l}else s.messages=this.messages();var c={};(s.keys||Object.keys(this.rules)).forEach(function(e){var i=n.rules[e],o=r[e];i.forEach(function(i){var s=i;"function"==typeof s.transform&&(r===t&&(r=_extends({},r)),o=r[e]=s.transform(o)),(s="function"==typeof s?{validator:s}:_extends({},s)).validator=n.getValidationMethod(s),s.validator&&(s.field=e,s.fullField=s.fullField||e,s.type=n.getType(s),c[e]=c[e]||[],c[e].push({rule:s,value:o,source:r,field:e}))})});var d={};return asyncMap(c,s,function(t,i){var o,n=t.rule,a=!("object"!==n.type&&"array"!==n.type||"object"!=typeof n.fields&&"object"!=typeof n.defaultField);function l(e,t){return _extends({},t,{fullField:n.fullField+"."+e,fullFields:n.fullFields?[].concat(n.fullFields,[e]):[e]})}function c(o){void 0===o&&(o=[]);var c=Array.isArray(o)?o:[o];!s.suppressWarning&&c.length&&e.warning("async-validator:",c),c.length&&void 0!==n.message&&(c=[].concat(n.message));var u=c.map(complementError(n,r));if(s.first&&u.length)return d[n.field]=1,i(u);if(a){if(n.required&&!t.value)return void 0!==n.message?u=[].concat(n.message).map(complementError(n,r)):s.error&&(u=[s.error(n,format(s.messages.required,n.field))]),i(u);var h={};n.defaultField&&Object.keys(t.value).map(function(e){h[e]=n.defaultField}),h=_extends({},h,t.rule.fields);var p={};Object.keys(h).forEach(function(e){var t=h[e],i=Array.isArray(t)?t:[t];p[e]=i.map(l.bind(null,e))});var g=new e(p);g.messages(s.messages),t.rule.options&&(t.rule.options.messages=s.messages,t.rule.options.error=s.error),g.validate(t.value,t.rule.options||s,function(e){var t=[];u&&u.length&&t.push.apply(t,u),e&&e.length&&t.push.apply(t,e),i(t.length?t:null)})}else i(u)}if(a=a&&(n.required||!n.required&&t.value),n.field=t.field,n.asyncValidator)o=n.asyncValidator(n,t.value,c,t.source,s);else if(n.validator){try{o=n.validator(n,t.value,c,t.source,s)}catch(error){null==console.error||console.error(error),s.suppressValidatorError||setTimeout(function(){throw error},0),c(error.message)}!0===o?c():!1===o?c("function"==typeof n.message?n.message(n.fullField||n.field):n.message||(n.fullField||n.field)+" fails"):o instanceof Array?c(o):o instanceof Error&&c(o.message)}o&&o.then&&o.then(function(){return c()},function(e){return c(e)})},function(e){!function(e){var t=[],i={};function o(e){var i;Array.isArray(e)?t=(i=t).concat.apply(i,e):t.push(e)}for(var n=0;n");const n=useNamespace("form"),r=ref$1(),s=ref$1(0),a=(o="update")=>{nextTick(()=>{t.default&&e.isAutoWidth&&("update"===o?s.value=(()=>{var e;if(null==(e=r.value)?void 0:e.firstElementChild){const e=window.getComputedStyle(r.value.firstElementChild).width;return Math.ceil(Number.parseFloat(e))}return 0})():"remove"===o&&(null==i||i.deregisterLabelWidth(s.value)))})},l=()=>a("update");return onMounted(()=>{l()}),onBeforeUnmount(()=>{a("remove")}),onUpdated(()=>l()),watch(s,(t,o)=>{e.updateAll&&(null==i||i.registerLabelWidth(t,o))}),useResizeObserver(computed$1(()=>{var e,t;return null!=(t=null==(e=r.value)?void 0:e.firstElementChild)?t:null}),l),()=>{var a,l;if(!t)return null;const{isAutoWidth:c}=e;if(c){const e=null==i?void 0:i.autoLabelWidth,l={};if((null==o?void 0:o.hasLabel)&&e&&"auto"!==e){const t=Math.max(0,Number.parseInt(e,10)-s.value),n=o.labelPosition||i.labelPosition;t&&(l["left"===n?"marginRight":"marginLeft"]=`${t}px`)}return createVNode("div",{ref:r,class:[n.be("item","label-wrap")],style:l},[null==(a=t.default)?void 0:a.call(t)])}return createVNode(Fragment,{ref:r},[null==(l=t.default)?void 0:l.call(t)])}}});const __default__$l=defineComponent({name:"ElFormItem"}),_sfc_main$D=defineComponent({...__default__$l,props:formItemProps,setup(e,{expose:t}){const i=e,o=useSlots(),n=inject(formContextKey,void 0),r=inject(formItemContextKey,void 0),s=useFormSize(void 0,{formItem:!1}),a=useNamespace("form-item"),l=useId().value,c=ref$1([]),d=ref$1(""),u=refDebounced(d,100),h=ref$1(""),p=ref$1();let g,m=!1;const f=computed$1(()=>i.labelPosition||(null==n?void 0:n.labelPosition)),v=computed$1(()=>{if("top"===f.value)return{};const e=addUnit(i.labelWidth||(null==n?void 0:n.labelWidth)||"");return e?{width:e}:{}}),b=computed$1(()=>{if("top"===f.value||(null==n?void 0:n.inline))return{};if(!i.label&&!i.labelWidth&&E)return{};const e=addUnit(i.labelWidth||(null==n?void 0:n.labelWidth)||"");return i.label||o.label?{}:{marginLeft:e}}),_=computed$1(()=>[a.b(),a.m(s.value),a.is("error","error"===d.value),a.is("validating","validating"===d.value),a.is("success","success"===d.value),a.is("required",L.value||i.required),a.is("no-asterisk",null==n?void 0:n.hideRequiredAsterisk),"right"===(null==n?void 0:n.requireAsteriskPosition)?"asterisk-right":"asterisk-left",{[a.m("feedback")]:null==n?void 0:n.statusIcon,[a.m(`label-${f.value}`)]:f.value}]),y=computed$1(()=>isBoolean(i.inlineMessage)?i.inlineMessage:(null==n?void 0:n.inlineMessage)||!1),C=computed$1(()=>[a.e("error"),{[a.em("error","inline")]:y.value}]),w=computed$1(()=>i.prop?isArray$1(i.prop)?i.prop.join("."):i.prop:""),x=computed$1(()=>!(!i.label&&!o.label)),S=computed$1(()=>{var e;return null!=(e=i.for)?e:1===c.value.length?c.value[0]:void 0}),k=computed$1(()=>!S.value&&x.value),E=!!r,I=computed$1(()=>{const e=null==n?void 0:n.model;if(e&&i.prop)return getProp(e,i.prop).value}),T=computed$1(()=>{const{required:e}=i,t=[];i.rules&&t.push(...castArray$1(i.rules));const o=null==n?void 0:n.rules;if(o&&i.prop){const e=getProp(o,i.prop).value;e&&t.push(...castArray$1(e))}if(void 0!==e){const i=t.map((e,t)=>[e,t]).filter(([e])=>Object.keys(e).includes("required"));if(i.length>0)for(const[o,n]of i)o.required!==e&&(t[n]={...o,required:e});else t.push({required:e})}return t}),D=computed$1(()=>T.value.length>0),L=computed$1(()=>T.value.some(e=>e.required)),N=computed$1(()=>{var e;return"error"===u.value&&i.showMessage&&(null==(e=null==n?void 0:n.showMessage)||e)}),M=computed$1(()=>`${i.label||""}${(null==n?void 0:n.labelSuffix)||""}`),$=e=>{d.value=e},R=async e=>{const t=w.value;return new Schema({[t]:e}).validate({[t]:I.value},{firstFields:!0}).then(()=>($("success"),null==n||n.emit("validate",i.prop,!0,""),!0)).catch(e=>((e=>{var t,o;const{errors:r,fields:s}=e;r&&s||console.error(e),$("error"),h.value=r?null!=(o=null==(t=null==r?void 0:r[0])?void 0:t.message)?o:`${i.prop} is required`:"",null==n||n.emit("validate",i.prop,!1,h.value)})(e),Promise.reject(e)))},A=async(e,t)=>{if(m||!i.prop)return!1;const o=isFunction$1(t);if(!D.value)return null==t||t(!1),!1;const n=(e=>T.value.filter(t=>!t.trigger||!e||(isArray$1(t.trigger)?t.trigger.includes(e):t.trigger===e)).map(({trigger:e,...t})=>t))(e);return 0===n.length?(null==t||t(!0),!0):($("validating"),R(n).then(()=>(null==t||t(!0),!0)).catch(e=>{const{fields:i}=e;return null==t||t(!1,i),!o&&Promise.reject(i)}))},O=()=>{$(""),h.value="",m=!1},P=async()=>{const e=null==n?void 0:n.model;if(!e||!i.prop)return;const t=getProp(e,i.prop);m=!0,t.value=clone$2(g),await nextTick(),O(),m=!1};watch(()=>i.error,e=>{h.value=e||"",$(e?"error":"")},{immediate:!0}),watch(()=>i.validateStatus,e=>$(e||""));const B=reactive$1({...toRefs(i),$el:p,size:s,validateMessage:h,validateState:d,labelId:l,inputIds:c,isGroup:k,hasLabel:x,fieldValue:I,addInputId:e=>{c.value.includes(e)||c.value.push(e)},removeInputId:e=>{c.value=c.value.filter(t=>t!==e)},resetField:P,clearValidate:O,validate:A,propString:w});return provide(formItemContextKey,B),onMounted(()=>{i.prop&&(null==n||n.addField(B),g=clone$2(I.value))}),onBeforeUnmount(()=>{null==n||n.removeField(B)}),t({size:s,validateMessage:h,validateState:d,validate:A,clearValidate:O,resetField:P}),(e,t)=>{var i;return openBlock(),createElementBlock("div",{ref_key:"formItemRef",ref:p,class:normalizeClass(unref(_)),role:unref(k)?"group":void 0,"aria-labelledby":unref(k)?unref(l):void 0},[createVNode(unref(FormLabelWrap),{"is-auto-width":"auto"===unref(v).width,"update-all":"auto"===(null==(i=unref(n))?void 0:i.labelWidth)},{default:withCtx(()=>[unref(x)?(openBlock(),createBlock(resolveDynamicComponent(unref(S)?"label":"div"),{key:0,id:unref(l),for:unref(S),class:normalizeClass(unref(a).e("label")),style:normalizeStyle(unref(v))},{default:withCtx(()=>[renderSlot(e.$slots,"label",{label:unref(M)},()=>[createTextVNode(toDisplayString(unref(M)),1)])]),_:3},8,["id","for","class","style"])):createCommentVNode("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),createBaseVNode("div",{class:normalizeClass(unref(a).e("content")),style:normalizeStyle(unref(b))},[renderSlot(e.$slots,"default"),createVNode(TransitionGroup,{name:`${unref(a).namespace.value}-zoom-in-top`},{default:withCtx(()=>[unref(N)?renderSlot(e.$slots,"error",{key:0,error:h.value},()=>[createBaseVNode("div",{class:normalizeClass(unref(C))},toDisplayString(h.value),3)]):createCommentVNode("v-if",!0)]),_:3},8,["name"])],6)],10,["role","aria-labelledby"])}}});var FormItem=_export_sfc$1(_sfc_main$D,[["__file","form-item.vue"]]);const ElForm=withInstall(Form,{FormItem:FormItem}),ElFormItem=withNoopInstall(FormItem),inputNumberProps=buildProps({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},readonly:Boolean,disabled:Boolean,size:useSizeProp,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>null===e||isNumber(e)||["min","max"].includes(e),default:null},name:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0},...useAriaProps(["ariaLabel"]),inputmode:{type:definePropType(String),default:void 0},align:{type:definePropType(String),default:"center"},disabledScientific:Boolean}),inputNumberEmits={[CHANGE_EVENT]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[INPUT_EVENT]:e=>isNumber(e)||isNil(e),[UPDATE_MODEL_EVENT]:e=>isNumber(e)||isNil(e)},__default__$k=defineComponent({name:"ElInputNumber"}),_sfc_main$C=defineComponent({...__default__$k,props:inputNumberProps,emits:inputNumberEmits,setup(e,{expose:t,emit:i}){const o=e,{t:n}=useLocale(),r=useNamespace("input-number"),s=ref$1(),a=reactive$1({currentValue:o.modelValue,userInput:null}),{formItem:l}=useFormItem(),c=computed$1(()=>isNumber(o.modelValue)&&o.modelValue<=o.min),d=computed$1(()=>isNumber(o.modelValue)&&o.modelValue>=o.max),u=computed$1(()=>{const e=v(o.step);return isUndefined(o.precision)?Math.max(v(o.modelValue),e):(o.precision,o.precision)}),h=computed$1(()=>o.controls&&"right"===o.controlsPosition),p=useFormSize(),g=useFormDisabled(),m=computed$1(()=>{if(null!==a.userInput)return a.userInput;let e=a.currentValue;if(isNil(e))return"";if(isNumber(e)){if(Number.isNaN(e))return"";isUndefined(o.precision)||(e=e.toFixed(o.precision))}return e}),f=(e,t)=>{if(isUndefined(t)&&(t=u.value),0===t)return Math.round(e);let i=String(e);const o=i.indexOf(".");if(-1===o)return e;if(!i.replace(".","").split("")[o+t])return e;const n=i.length;return"5"===i.charAt(n-1)&&(i=`${i.slice(0,Math.max(0,n-1))}6`),Number.parseFloat(Number(i).toFixed(t))},v=e=>{if(isNil(e))return 0;const t=e.toString(),i=t.indexOf(".");let o=0;return-1!==i&&(o=t.length-i-1),o},b=(e,t=1)=>isNumber(e)?e>=Number.MAX_SAFE_INTEGER&&1===t||e<=Number.MIN_SAFE_INTEGER&&-1===t?e:f(e+o.step*t):a.currentValue,_=e=>{var t;const i=e;if(o.disabledScientific&&["e","E"].includes(i.key))return void i.preventDefault();const n={[EVENT_CODE.up]:()=>{i.preventDefault(),y()},[EVENT_CODE.down]:()=>{i.preventDefault(),C()}};null==(t=n[i.key])||t.call(n)},y=()=>{if(o.readonly||g.value||d.value)return;const e=Number(m.value)||0,t=b(e);x(t),i(INPUT_EVENT,a.currentValue),T()},C=()=>{if(o.readonly||g.value||c.value)return;const e=Number(m.value)||0,t=b(e,-1);x(t),i(INPUT_EVENT,a.currentValue),T()},w=(e,t)=>{const{max:n,min:r,step:s,precision:a,stepStrictly:l,valueOnClear:c}=o;nn||dn?n:r,t&&i(UPDATE_MODEL_EVENT,d)),d},x=(e,t=!0)=>{var n;const r=a.currentValue,s=w(e);t?r===s&&e||(a.userInput=null,i(UPDATE_MODEL_EVENT,s),r!==s&&i(CHANGE_EVENT,s,r),o.validateEvent&&(null==(n=null==l?void 0:l.validate)||n.call(l,"change").catch(e=>debugWarn())),a.currentValue=s):i(UPDATE_MODEL_EVENT,s)},S=e=>{a.userInput=e;const t=""===e?null:Number(e);i(INPUT_EVENT,t),x(t,!1)},k=e=>{const t=""!==e?Number(e):"";(isNumber(t)&&!Number.isNaN(t)||""===e)&&x(t),T(),a.userInput=null},E=e=>{i("focus",e)},I=e=>{var t,n;a.userInput=null,null===a.currentValue&&(null==(t=s.value)?void 0:t.input)&&(s.value.input.value=""),i("blur",e),o.validateEvent&&(null==(n=null==l?void 0:l.validate)||n.call(l,"blur").catch(e=>debugWarn()))},T=()=>{a.currentValue!==o.modelValue&&(a.currentValue=o.modelValue)},D=e=>{document.activeElement===e.target&&e.preventDefault()};return watch(()=>o.modelValue,(e,t)=>{const i=w(e,!0);null===a.userInput&&i!==t&&(a.currentValue=i)},{immediate:!0}),watch(()=>o.precision,()=>{a.currentValue=w(o.modelValue)}),onMounted(()=>{var e;const{min:t,max:n,modelValue:r}=o,l=null==(e=s.value)?void 0:e.input;if(l.setAttribute("role","spinbutton"),Number.isFinite(n)?l.setAttribute("aria-valuemax",String(n)):l.removeAttribute("aria-valuemax"),Number.isFinite(t)?l.setAttribute("aria-valuemin",String(t)):l.removeAttribute("aria-valuemin"),l.setAttribute("aria-valuenow",a.currentValue||0===a.currentValue?String(a.currentValue):""),l.setAttribute("aria-disabled",String(g.value)),!isNumber(r)&&null!=r){let e=Number(r);Number.isNaN(e)&&(e=null),i(UPDATE_MODEL_EVENT,e)}l.addEventListener("wheel",D,{passive:!1})}),onUpdated(()=>{var e,t;const i=null==(e=s.value)?void 0:e.input;null==i||i.setAttribute("aria-valuenow",`${null!=(t=a.currentValue)?t:""}`)}),t({focus:()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.focus)||t.call(e)},blur:()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.blur)||t.call(e)}}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(r).b(),unref(r).m(unref(p)),unref(r).is("disabled",unref(g)),unref(r).is("without-controls",!e.controls),unref(r).is("controls-right",unref(h)),unref(r).is(e.align,!!e.align)]),onDragstart:withModifiers(()=>{},["prevent"])},[e.controls?withDirectives((openBlock(),createElementBlock("span",{key:0,role:"button","aria-label":unref(n)("el.inputNumber.decrease"),class:normalizeClass([unref(r).e("decrease"),unref(r).is("disabled",unref(c))]),onKeydown:withKeys(C,["enter"])},[renderSlot(e.$slots,"decrease-icon",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[unref(h)?(openBlock(),createBlock(unref(arrow_down_default),{key:0})):(openBlock(),createBlock(unref(minus_default),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[unref(vRepeatClick),C]]):createCommentVNode("v-if",!0),e.controls?withDirectives((openBlock(),createElementBlock("span",{key:1,role:"button","aria-label":unref(n)("el.inputNumber.increase"),class:normalizeClass([unref(r).e("increase"),unref(r).is("disabled",unref(d))]),onKeydown:withKeys(y,["enter"])},[renderSlot(e.$slots,"increase-icon",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[unref(h)?(openBlock(),createBlock(unref(arrow_up_default),{key:0})):(openBlock(),createBlock(unref(plus_default),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[unref(vRepeatClick),y]]):createCommentVNode("v-if",!0),createVNode(unref(ElInput),{id:e.id,ref_key:"input",ref:s,type:"number",step:e.step,"model-value":unref(m),placeholder:e.placeholder,readonly:e.readonly,disabled:unref(g),size:unref(p),max:e.max,min:e.min,name:e.name,"aria-label":e.ariaLabel,"validate-event":!1,inputmode:e.inputmode,onKeydown:_,onBlur:I,onFocus:E,onInput:S,onChange:k},createSlots({_:2},[e.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(e.$slots,"prefix")])}:void 0,e.$slots.suffix?{name:"suffix",fn:withCtx(()=>[renderSlot(e.$slots,"suffix")])}:void 0]),1032,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode"])],42,["onDragstart"]))}});var InputNumber=_export_sfc$1(_sfc_main$C,[["__file","input-number.vue"]]);const ElInputNumber=withInstall(InputNumber),MINIMUM_INPUT_WIDTH=11;function useCalcInputWidth(){const e=shallowRef(),t=ref$1(0),i=computed$1(()=>({minWidth:`${Math.max(t.value,MINIMUM_INPUT_WIDTH)}px`}));return useResizeObserver(e,()=>{var i,o;t.value=null!=(o=null==(i=e.value)?void 0:i.getBoundingClientRect().width)?o:0}),{calculatorRef:e,calculatorWidth:t,inputStyle:i}}const elPaginationKey=Symbol("elPaginationKey"),paginationPrevProps=buildProps({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:iconPropType}}),paginationPrevEmits={click:e=>e instanceof MouseEvent},__default__$j=defineComponent({name:"ElPaginationPrev"}),_sfc_main$B=defineComponent({...__default__$j,props:paginationPrevProps,emits:paginationPrevEmits,setup(e){const t=e,{t:i}=useLocale(),o=computed$1(()=>t.disabled||t.currentPage<=1);return(e,t)=>(openBlock(),createElementBlock("button",{type:"button",class:"btn-prev",disabled:unref(o),"aria-label":e.prevText||unref(i)("el.pagination.prev"),"aria-disabled":unref(o),onClick:t=>e.$emit("click",t)},[e.prevText?(openBlock(),createElementBlock("span",{key:0},toDisplayString(e.prevText),1)):(openBlock(),createBlock(unref(ElIcon),{key:1},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.prevIcon)))]),_:1}))],8,["disabled","aria-label","aria-disabled","onClick"]))}});var Prev=_export_sfc$1(_sfc_main$B,[["__file","prev.vue"]]);const paginationNextProps=buildProps({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:iconPropType}}),__default__$i=defineComponent({name:"ElPaginationNext"}),_sfc_main$A=defineComponent({...__default__$i,props:paginationNextProps,emits:["click"],setup(e){const t=e,{t:i}=useLocale(),o=computed$1(()=>t.disabled||t.currentPage===t.pageCount||0===t.pageCount);return(e,t)=>(openBlock(),createElementBlock("button",{type:"button",class:"btn-next",disabled:unref(o),"aria-label":e.nextText||unref(i)("el.pagination.next"),"aria-disabled":unref(o),onClick:t=>e.$emit("click",t)},[e.nextText?(openBlock(),createElementBlock("span",{key:0},toDisplayString(e.nextText),1)):(openBlock(),createBlock(unref(ElIcon),{key:1},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.nextIcon)))]),_:1}))],8,["disabled","aria-label","aria-disabled","onClick"]))}});var Next=_export_sfc$1(_sfc_main$A,[["__file","next.vue"]]);const defaultProps$3={label:"label",value:"value",disabled:"disabled",options:"options"};function useProps(e){const t=computed$1(()=>({...defaultProps$3,...e.props}));return{aliasProps:t,getLabel:e=>get(e,t.value.label),getValue:e=>get(e,t.value.value),getDisabled:e=>get(e,t.value.disabled),getOptions:e=>get(e,t.value.options)}}const selectGroupKey=Symbol("ElSelectGroup"),selectKey=Symbol("ElSelect"),COMPONENT_NAME$6="ElOption",optionProps=buildProps({value:{type:[String,Number,Boolean,Object],required:!0},label:{type:[String,Number]},created:Boolean,disabled:Boolean}),escapeStringRegexp=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),capitalize=e=>capitalize$1(e);function useOption(e,t){const i=inject(selectKey);i||throwError(COMPONENT_NAME$6,"usage: ");const o=inject(selectGroupKey,{disabled:!1}),n=computed$1(()=>d(castArray$1(i.props.modelValue),e.value)),r=computed$1(()=>{var e;if(i.props.multiple){const t=castArray$1(null!=(e=i.props.modelValue)?e:[]);return!n.value&&t.length>=i.props.multipleLimit&&i.props.multipleLimit>0}return!1}),s=computed$1(()=>{var t;return null!=(t=e.label)?t:isObject(e.value)?"":e.value}),a=computed$1(()=>e.value||e.label||""),l=computed$1(()=>e.disabled||t.groupDisabled||r.value),c=getCurrentInstance$1(),d=(t=[],o)=>{if(isObject(e.value)){const e=i.props.valueKey;return t&&t.some(t=>toRaw(get(t,e))===get(o,e))}return t&&t.includes(o)};return watch(()=>s.value,()=>{e.created||i.props.remote||i.setSelected()}),watch(()=>e.value,(t,o)=>{const{remote:n,valueKey:r}=i.props;if((n?t!==o:!isEqual(t,o))&&(i.onOptionDestroy(o,c.proxy),i.onOptionCreate(c.proxy)),!e.created&&!n){if(r&&isObject(t)&&isObject(o)&&t[r]===o[r])return;i.setSelected()}}),watch(()=>o.disabled,()=>{t.groupDisabled=o.disabled},{immediate:!0}),{select:i,currentLabel:s,currentValue:a,itemSelected:n,isDisabled:l,hoverItem:()=>{e.disabled||o.disabled||(i.states.hoveringIndex=i.optionsArray.indexOf(c.proxy))},updateOption:i=>{const o=new RegExp(escapeStringRegexp(i),"i");t.visible=o.test(String(s.value))||e.created}}}const _sfc_main$z=defineComponent({name:COMPONENT_NAME$6,componentName:COMPONENT_NAME$6,props:optionProps,setup(e){const t=useNamespace("select"),i=useId(),o=computed$1(()=>[t.be("dropdown","item"),t.is("disabled",unref(a)),t.is("selected",unref(s)),t.is("hovering",unref(h))]),n=reactive$1({index:-1,groupDisabled:!1,visible:!0,hover:!1}),{currentLabel:r,itemSelected:s,isDisabled:a,select:l,hoverItem:c,updateOption:d}=useOption(e,n),{visible:u,hover:h}=toRefs(n),p=getCurrentInstance$1().proxy;return l.onOptionCreate(p),onBeforeUnmount(()=>{const e=p.value;nextTick(()=>{const{selected:t}=l.states,i=t.some(e=>e.value===p.value);l.states.cachedOptions.get(e)!==p||i||l.states.cachedOptions.delete(e)}),l.onOptionDestroy(e,p)}),{ns:t,id:i,containerKls:o,currentLabel:r,itemSelected:s,isDisabled:a,select:l,visible:u,hover:h,states:n,hoverItem:c,updateOption:d,selectOptionClick:function(){a.value||l.handleOptionSelect(p)}}}});function _sfc_render$a(e,t){return withDirectives((openBlock(),createElementBlock("li",{id:e.id,class:normalizeClass(e.containerKls),role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected,onMousemove:e.hoverItem,onClick:withModifiers(e.selectOptionClick,["stop"])},[renderSlot(e.$slots,"default",{},()=>[createBaseVNode("span",null,toDisplayString(e.currentLabel),1)])],42,["id","aria-disabled","aria-selected","onMousemove","onClick"])),[[vShow,e.visible]])}var Option=_export_sfc$1(_sfc_main$z,[["render",_sfc_render$a],["__file","option.vue"]]);const _sfc_main$y=defineComponent({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=inject(selectKey),t=useNamespace("select"),i=computed$1(()=>e.props.popperClass),o=computed$1(()=>e.props.multiple),n=computed$1(()=>e.props.fitInputWidth),r=ref$1("");function s(){var t;r.value=`${null==(t=e.selectRef)?void 0:t.offsetWidth}px`}return onMounted(()=>{s(),useResizeObserver(e.selectRef,s)}),{ns:t,minWidth:r,popperClass:i,isMultiple:o,isFitInputWidth:n}}});function _sfc_render$9(e,t,i,o,n,r){return openBlock(),createElementBlock("div",{class:normalizeClass([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:normalizeStyle({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(e.ns.be("dropdown","header"))},[renderSlot(e.$slots,"header")],2)):createCommentVNode("v-if",!0),renderSlot(e.$slots,"default"),e.$slots.footer?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(e.ns.be("dropdown","footer"))},[renderSlot(e.$slots,"footer")],2)):createCommentVNode("v-if",!0)],6)}var ElSelectMenu=_export_sfc$1(_sfc_main$y,[["render",_sfc_render$9],["__file","select-dropdown.vue"]]);const useSelect=(e,t)=>{const{t:i}=useLocale(),o=useId(),n=useNamespace("select"),r=useNamespace("input"),s=reactive$1({inputValue:"",options:new Map,cachedOptions:new Map,optionValues:[],selected:[],selectionWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),a=ref$1(),l=ref$1(),c=ref$1(),d=ref$1(),u=ref$1(),h=ref$1(),p=ref$1(),g=ref$1(),m=ref$1(),f=ref$1(),v=ref$1(),b=ref$1(!1),_=ref$1(),{form:y,formItem:C}=useFormItem(),{inputId:w}=useFormItemInputId(e,{formItemContext:C}),{valueOnClear:x,isEmptyValue:S}=useEmptyValues(e),{isComposing:k,handleCompositionStart:E,handleCompositionUpdate:I,handleCompositionEnd:T}=useComposition({afterComposition:e=>le(e)}),D=computed$1(()=>e.disabled||!!(null==y?void 0:y.disabled)),{wrapperRef:L,isFocused:N,handleBlur:M}=useFocusController(u,{disabled:D,afterFocus(){e.automaticDropdown&&!b.value&&(b.value=!0,s.menuVisibleOnFocus=!0)},beforeBlur(e){var t,i;return(null==(t=c.value)?void 0:t.isFocusInsideContent(e))||(null==(i=d.value)?void 0:i.isFocusInsideContent(e))},afterBlur(){var t;b.value=!1,s.menuVisibleOnFocus=!1,e.validateEvent&&(null==(t=null==C?void 0:C.validate)||t.call(C,"blur").catch(e=>debugWarn()))}}),$=computed$1(()=>isArray$1(e.modelValue)?e.modelValue.length>0:!S(e.modelValue)),R=computed$1(()=>{var e;return null!=(e=null==y?void 0:y.statusIcon)&&e}),A=computed$1(()=>e.clearable&&!D.value&&$.value&&(N.value||s.inputHovering)),O=computed$1(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),P=computed$1(()=>n.is("reverse",!(!O.value||!b.value))),B=computed$1(()=>(null==C?void 0:C.validateState)||""),F=computed$1(()=>B.value&&ValidateComponentsMap[B.value]),z=computed$1(()=>e.remote?300:0),V=computed$1(()=>e.remote&&!s.inputValue&&0===s.options.size),H=computed$1(()=>e.loading?e.loadingText||i("el.select.loading"):e.filterable&&s.inputValue&&s.options.size>0&&0===W.value?e.noMatchText||i("el.select.noMatch"):0===s.options.size?e.noDataText||i("el.select.noData"):null),W=computed$1(()=>K.value.filter(e=>e.visible).length),K=computed$1(()=>{const e=Array.from(s.options.values()),t=[];return s.optionValues.forEach(i=>{const o=e.findIndex(e=>e.value===i);o>-1&&t.push(e[o])}),t.length>=e.length?t:e}),U=computed$1(()=>Array.from(s.cachedOptions.values())),j=computed$1(()=>{const t=K.value.filter(e=>!e.created).some(e=>e.currentLabel===s.inputValue);return e.filterable&&e.allowCreate&&""!==s.inputValue&&!t}),G=()=>{e.filterable&&isFunction$1(e.filterMethod)||e.filterable&&e.remote&&isFunction$1(e.remoteMethod)||K.value.forEach(e=>{var t;null==(t=e.updateOption)||t.call(e,s.inputValue)})},q=useFormSize(),Y=computed$1(()=>["small"].includes(q.value)?"small":"default"),X=computed$1({get:()=>b.value&&!V.value,set(e){b.value=e}}),Q=computed$1(()=>{if(e.multiple&&!isUndefined(e.modelValue))return 0===castArray$1(e.modelValue).length&&!s.inputValue;const t=isArray$1(e.modelValue)?e.modelValue[0]:e.modelValue;return!e.filterable&&!isUndefined(t)||!s.inputValue}),Z=computed$1(()=>{var t;const o=null!=(t=e.placeholder)?t:i("el.select.placeholder");return e.multiple||!$.value?o:s.selectedLabel}),J=computed$1(()=>isIOS?null:"mouseenter");watch(()=>e.modelValue,(t,i)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(s.inputValue="",ee("")),ie(),!isEqual(t,i)&&e.validateEvent&&(null==C||C.validate("change").catch(e=>debugWarn()))},{flush:"post",deep:!0}),watch(()=>b.value,e=>{e?ee(s.inputValue):(s.inputValue="",s.previousQuery=null,s.isBeforeHide=!0),t("visible-change",e)}),watch(()=>s.options.entries(),()=>{isClient&&(ie(),e.defaultFirstOption&&(e.filterable||e.remote)&&W.value&&te())},{flush:"post"}),watch([()=>s.hoveringIndex,K],([e])=>{isNumber(e)&&e>-1?_.value=K.value[e]||{}:_.value={},K.value.forEach(e=>{e.hover=_.value===e})}),watchEffect(()=>{s.isBeforeHide||G()});const ee=t=>{s.previousQuery===t||k.value||(s.previousQuery=t,e.filterable&&isFunction$1(e.filterMethod)?e.filterMethod(t):e.filterable&&e.remote&&isFunction$1(e.remoteMethod)&&e.remoteMethod(t),e.defaultFirstOption&&(e.filterable||e.remote)&&W.value?nextTick(te):nextTick(ne))},te=()=>{const e=K.value.filter(e=>e.visible&&!e.disabled&&!e.states.groupDisabled),t=e.find(e=>e.created),i=e[0],o=K.value.map(e=>e.value);s.hoveringIndex=pe(o,t||i)},ie=()=>{if(!e.multiple){const t=isArray$1(e.modelValue)?e.modelValue[0]:e.modelValue,i=oe(t);return s.selectedLabel=i.currentLabel,void(s.selected=[i])}s.selectedLabel="";const t=[];isUndefined(e.modelValue)||castArray$1(e.modelValue).forEach(e=>{t.push(oe(e))}),s.selected=t},oe=t=>{let i;const o=isPlainObject(t);for(let n=s.cachedOptions.size-1;n>=0;n--){const r=U.value[n];if(o?get(r.value,e.valueKey)===get(t,e.valueKey):r.value===t){i={value:t,currentLabel:r.currentLabel,get isDisabled(){return r.isDisabled}};break}}if(i)return i;return{value:t,currentLabel:o?t.label:null!=t?t:""}},ne=()=>{s.hoveringIndex=K.value.findIndex(e=>s.selected.some(t=>be(t)===be(e)))},re=()=>{var e,t;null==(t=null==(e=c.value)?void 0:e.updatePopper)||t.call(e)},se=()=>{var e,t;null==(t=null==(e=d.value)?void 0:e.updatePopper)||t.call(e)},ae=()=>{s.inputValue.length>0&&!b.value&&(b.value=!0),ee(s.inputValue)},le=t=>{if(s.inputValue=t.target.value,!e.remote)return ae();ce()},ce=debounce(()=>{ae()},z.value),de=i=>{isEqual(e.modelValue,i)||t(CHANGE_EVENT,i)},ue=i=>{i.stopPropagation();const o=e.multiple?[]:x.value;if(e.multiple)for(const e of s.selected)e.isDisabled&&o.push(e.value);t(UPDATE_MODEL_EVENT,o),de(o),s.hoveringIndex=-1,b.value=!1,t("clear"),fe()},he=i=>{var o;if(e.multiple){const n=castArray$1(null!=(o=e.modelValue)?o:[]).slice(),r=pe(n,i);r>-1?n.splice(r,1):(e.multipleLimit<=0||n.length{ge(i)})},pe=(t,i)=>isUndefined(i)?-1:isObject(i.value)?t.findIndex(t=>isEqual(get(t,e.valueKey),be(i))):t.indexOf(i.value),ge=e=>{var t,i,o,r,s;const a=isArray$1(e)?e[0]:e;let l=null;if(null==a?void 0:a.value){const e=K.value.filter(e=>e.value===a.value);e.length>0&&(l=e[0].$el)}if(c.value&&l){const e=null==(r=null==(o=null==(i=null==(t=c.value)?void 0:t.popperRef)?void 0:i.contentRef)?void 0:o.querySelector)?void 0:r.call(o,`.${n.be("dropdown","wrap")}`);e&&scrollIntoView(e,l)}null==(s=v.value)||s.handleScroll()},me=computed$1(()=>{var e,t;return null==(t=null==(e=c.value)?void 0:e.popperRef)?void 0:t.contentRef}),fe=()=>{var e;null==(e=u.value)||e.focus()},ve=()=>{D.value||(isIOS&&(s.inputHovering=!0),s.menuVisibleOnFocus?s.menuVisibleOnFocus=!1:b.value=!b.value)},be=t=>isObject(t.value)?get(t.value,e.valueKey):t.value,_e=computed$1(()=>K.value.filter(e=>e.visible).every(e=>e.isDisabled)),ye=computed$1(()=>e.multiple?e.collapseTags?s.selected.slice(0,e.maxCollapseTags):s.selected:[]),Ce=computed$1(()=>e.multiple&&e.collapseTags?s.selected.slice(e.maxCollapseTags):[]),we=e=>{if(b.value){if(0!==s.options.size&&0!==W.value&&!k.value&&!_e.value){"next"===e?(s.hoveringIndex++,s.hoveringIndex===s.options.size&&(s.hoveringIndex=0)):"prev"===e&&(s.hoveringIndex--,s.hoveringIndex<0&&(s.hoveringIndex=s.options.size-1));const t=K.value[s.hoveringIndex];!t.isDisabled&&t.visible||we(e),nextTick(()=>ge(_.value))}}else b.value=!0},xe=computed$1(()=>{const t=(()=>{if(!l.value)return 0;const e=window.getComputedStyle(l.value);return Number.parseFloat(e.gap||"6px")})(),i=e.filterable?t+MINIMUM_INPUT_WIDTH:0;return{maxWidth:`${f.value&&1===e.maxCollapseTags?s.selectionWidth-s.collapseItemWidth-t-i:s.selectionWidth-i}px`}}),Se=computed$1(()=>({maxWidth:`${s.selectionWidth}px`}));let ke;return useResizeObserver(l,()=>{s.selectionWidth=Number.parseFloat(window.getComputedStyle(l.value).width)}),useResizeObserver(L,re),useResizeObserver(m,se),useResizeObserver(f,()=>{s.collapseItemWidth=f.value.getBoundingClientRect().width}),watch(()=>X.value,e=>{e?ke=useResizeObserver(g,re).stop:(null==ke||ke(),ke=void 0)}),onMounted(()=>{ie()}),{inputId:w,contentId:o,nsSelect:n,nsInput:r,states:s,isFocused:N,expanded:b,optionsArray:K,hoverOption:_,selectSize:q,filteredOptionsCount:W,updateTooltip:re,updateTagTooltip:se,debouncedOnInputChange:ce,onInput:le,deletePrevTag:i=>{if(e.multiple&&i.code!==EVENT_CODE.delete&&i.target.value.length<=0){const i=castArray$1(e.modelValue).slice(),o=(e=>findLastIndex$1(e,e=>{const t=s.cachedOptions.get(e);return t&&!t.disabled&&!t.states.groupDisabled}))(i);if(o<0)return;const n=i[o];i.splice(o,1),t(UPDATE_MODEL_EVENT,i),de(i),t("remove-tag",n)}},deleteTag:(i,o)=>{const n=s.selected.indexOf(o);if(n>-1&&!D.value){const i=castArray$1(e.modelValue).slice();i.splice(n,1),t(UPDATE_MODEL_EVENT,i),de(i),t("remove-tag",o.value)}i.stopPropagation(),fe()},deleteSelected:ue,handleOptionSelect:he,scrollToOption:ge,hasModelValue:$,shouldShowPlaceholder:Q,currentPlaceholder:Z,mouseEnterEventName:J,needStatusIcon:R,showClearBtn:A,iconComponent:O,iconReverse:P,validateState:B,validateIcon:F,showNewOption:j,updateOptions:G,collapseTagSize:Y,setSelected:ie,selectDisabled:D,emptyText:H,handleCompositionStart:E,handleCompositionUpdate:I,handleCompositionEnd:T,onOptionCreate:e=>{s.options.set(e.value,e),s.cachedOptions.set(e.value,e)},onOptionDestroy:(e,t)=>{s.options.get(e)===t&&s.options.delete(e)},handleMenuEnter:()=>{s.isBeforeHide=!1,nextTick(()=>{var e;null==(e=v.value)||e.update(),ge(s.selected)})},focus:fe,blur:()=>{var e;if(b.value)return b.value=!1,void nextTick(()=>{var e;return null==(e=u.value)?void 0:e.blur()});null==(e=u.value)||e.blur()},handleClearClick:e=>{ue(e)},handleClickOutside:e=>{if(b.value=!1,N.value){const t=new FocusEvent("blur",e);nextTick(()=>M(t))}},handleEsc:()=>{s.inputValue.length>0?s.inputValue="":b.value=!1},toggleMenu:ve,selectOption:()=>{if(b.value){const e=K.value[s.hoveringIndex];e&&!e.isDisabled&&he(e)}else ve()},getValueKey:be,navigateOptions:we,dropdownMenuVisible:X,showTagList:ye,collapseTagList:Ce,popupScroll:e=>{t("popup-scroll",e)},tagStyle:xe,collapseTagStyle:Se,popperRef:me,inputRef:u,tooltipRef:c,tagTooltipRef:d,prefixRef:h,suffixRef:p,selectRef:a,wrapperRef:L,selectionRef:l,scrollbarRef:v,menuRef:g,tagMenuRef:m,collapseItemRef:f}};var ElOptions=defineComponent({name:"ElOptions",setup(e,{slots:t}){const i=inject(selectKey);let o=[];return()=>{var e,n;const r=null==(e=t.default)?void 0:e.call(t),s=[];return r.length&&function e(t){isArray$1(t)&&t.forEach(t=>{var i,o,n,r;const a=null==(i=(null==t?void 0:t.type)||{})?void 0:i.name;"ElOptionGroup"===a?e(isString$1(t.children)||isArray$1(t.children)||!isFunction$1(null==(o=t.children)?void 0:o.default)?t.children:null==(n=t.children)?void 0:n.default()):"ElOption"===a?s.push(null==(r=t.props)?void 0:r.value):isArray$1(t.children)&&e(t.children)})}(null==(n=r[0])?void 0:n.children),isEqual(s,o)||(o=s,i&&(i.states.optionValues=s)),r}}});const selectProps=buildProps({name:String,id:String,modelValue:{type:definePropType([Array,String,Number,Boolean,Object]),default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:useSizeProp,effect:{type:definePropType(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperStyle:{type:definePropType([String,Object])},popperOptions:{type:definePropType(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:{type:definePropType(Function)},filterMethod:{type:definePropType(Function)},multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:useTooltipContentProps.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:iconPropType,default:circle_close_default},fitInputWidth:Boolean,suffixIcon:{type:iconPropType,default:arrow_down_default},tagType:{...tagProps.type,default:"info"},tagEffect:{...tagProps.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:definePropType(String),values:Ee,default:"bottom-start"},fallbackPlacements:{type:definePropType(Array),default:["bottom-start","top-start","right","left"]},tabindex:{type:[String,Number],default:0},appendTo:useTooltipContentProps.appendTo,options:{type:definePropType(Array)},props:{type:definePropType(Object),default:()=>defaultProps$3},...useEmptyValuesProps,...useAriaProps(["ariaLabel"])});scrollbarEmits.scroll;const _sfc_main$x=defineComponent({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const t=useNamespace("select"),i=ref$1(),o=getCurrentInstance$1(),n=ref$1([]);provide(selectGroupKey,reactive$1({...toRefs(e)}));const r=computed$1(()=>n.value.some(e=>!0===e.visible)),s=e=>{const t=castArray$1(e),i=[];return t.forEach(e=>{var t;isVNode(e)&&((e=>{var t;return"ElOption"===e.type.name&&!!(null==(t=e.component)?void 0:t.proxy)})(e)?i.push(e.component.proxy):isArray$1(e.children)&&e.children.length?i.push(...s(e.children)):(null==(t=e.component)?void 0:t.subTree)&&i.push(...s(e.component.subTree)))}),i},a=()=>{n.value=s(o.subTree)};return onMounted(()=>{a()}),useMutationObserver(i,a,{attributes:!0,subtree:!0,childList:!0}),{groupRef:i,visible:r,ns:t}}});function _sfc_render$8(e,t,i,o,n,r){return withDirectives((openBlock(),createElementBlock("ul",{ref:"groupRef",class:normalizeClass(e.ns.be("group","wrap"))},[createBaseVNode("li",{class:normalizeClass(e.ns.be("group","title"))},toDisplayString(e.label),3),createBaseVNode("li",null,[createBaseVNode("ul",{class:normalizeClass(e.ns.b("group"))},[renderSlot(e.$slots,"default")],2)])],2)),[[vShow,e.visible]])}var OptionGroup=_export_sfc$1(_sfc_main$x,[["render",_sfc_render$8],["__file","option-group.vue"]]);const COMPONENT_NAME$5="ElSelect",_sfc_main$w=defineComponent({name:COMPONENT_NAME$5,componentName:COMPONENT_NAME$5,components:{ElSelectMenu:ElSelectMenu,ElOption:Option,ElOptions:ElOptions,ElOptionGroup:OptionGroup,ElTag:ElTag,ElScrollbar:ElScrollbar,ElTooltip:ElTooltip,ElIcon:ElIcon},directives:{ClickOutside:ClickOutside},props:selectProps,emits:[UPDATE_MODEL_EVENT,CHANGE_EVENT,"remove-tag","clear","visible-change","focus","blur","popup-scroll"],setup(e,{emit:t,slots:i}){const o=getCurrentInstance$1();o.appContext.config.warnHandler=(...e)=>{e[0]&&!e[0].includes('Slot "default" invoked outside of the render function')&&console.warn(...e)};const n=computed$1(()=>{const{modelValue:t,multiple:i}=e,o=i?[]:void 0;return isArray$1(t)?i?t:o:i?o:t}),r=reactive$1({...toRefs(e),modelValue:n}),s=useSelect(r,t),{calculatorRef:a,inputStyle:l}=useCalcInputWidth(),{getLabel:c,getValue:d,getOptions:u,getDisabled:h}=useProps(e),p=e=>e.reduce((e,t)=>(e.push(t),t.children&&t.children.length>0&&e.push(...p(t.children)),e),[]);watch(()=>{var e;return null==(e=i.default)?void 0:e.call(i)},t=>{e.persistent||flattedChildren(t||[]).forEach(e=>{var t;if(isObject(e)&&("ElOption"===e.type.name||"ElTree"===e.type.name)){const i=e.type.name;if("ElTree"===i){const i=(null==(t=e.props)?void 0:t.data)||[];p(i).forEach(e=>{e.currentLabel=e.label||(isObject(e.value)?"":e.value),s.onOptionCreate(e)})}else if("ElOption"===i){const t={...e.props};t.currentLabel=t.label||(isObject(t.value)?"":t.value),s.onOptionCreate(t)}}})},{immediate:!0}),provide(selectKey,reactive$1({props:r,states:s.states,selectRef:s.selectRef,optionsArray:s.optionsArray,setSelected:s.setSelected,handleOptionSelect:s.handleOptionSelect,onOptionCreate:s.onOptionCreate,onOptionDestroy:s.onOptionDestroy}));const g=computed$1(()=>e.multiple?s.states.selected.map(e=>e.currentLabel):s.states.selectedLabel);return onBeforeUnmount(()=>{o.appContext.config.warnHandler=void 0}),{...s,modelValue:n,selectedLabel:g,calculatorRef:a,inputStyle:l,getLabel:c,getValue:d,getOptions:u,getDisabled:h,getOptionProps:e=>({label:c(e),value:d(e),disabled:h(e)})}}});function _sfc_render$7(e,t){const i=resolveComponent("el-tag"),o=resolveComponent("el-tooltip"),n=resolveComponent("el-icon"),r=resolveComponent("el-option"),s=resolveComponent("el-option-group"),a=resolveComponent("el-options"),l=resolveComponent("el-scrollbar"),c=resolveComponent("el-select-menu"),d=resolveDirective("click-outside");return withDirectives((openBlock(),createElementBlock("div",{ref:"selectRef",class:normalizeClass([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),[toHandlerKey(e.mouseEnterEventName)]:t=>e.states.inputHovering=!0,onMouseleave:t=>e.states.inputHovering=!1},[createVNode(o,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:t=>e.states.isBeforeHide=!1},{default:withCtx(()=>{var t;return[createBaseVNode("div",{ref:"wrapperRef",class:normalizeClass([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:withModifiers(e.toggleMenu,["prevent"])},[e.$slots.prefix?(openBlock(),createElementBlock("div",{key:0,ref:"prefixRef",class:normalizeClass(e.nsSelect.e("prefix"))},[renderSlot(e.$slots,"prefix")],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{ref:"selectionRef",class:normalizeClass([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?renderSlot(e.$slots,"tag",{key:0,data:e.states.selected,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.showTagList,t=>(openBlock(),createElementBlock("div",{key:e.getValueKey(t),class:normalizeClass(e.nsSelect.e("selected-item"))},[createVNode(i,{closable:!e.selectDisabled&&!t.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:normalizeStyle(e.tagStyle),onClose:i=>e.deleteTag(i,t)},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(e.nsSelect.e("tags-text"))},[renderSlot(e.$slots,"label",{label:t.currentLabel,value:t.value},()=>[createTextVNode(toDisplayString(t.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(openBlock(),createBlock(o,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,teleported:e.teleported},{default:withCtx(()=>[createBaseVNode("div",{ref:"collapseItemRef",class:normalizeClass(e.nsSelect.e("selected-item"))},[createVNode(i,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:normalizeStyle(e.collapseTagStyle)},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(e.nsSelect.e("tags-text"))}," + "+toDisplayString(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:withCtx(()=>[createBaseVNode("div",{ref:"tagMenuRef",class:normalizeClass(e.nsSelect.e("selection"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.collapseTagList,t=>(openBlock(),createElementBlock("div",{key:e.getValueKey(t),class:normalizeClass(e.nsSelect.e("selected-item"))},[createVNode(i,{class:"in-tooltip",closable:!e.selectDisabled&&!t.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:i=>e.deleteTag(i,t)},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(e.nsSelect.e("tags-text"))},[renderSlot(e.$slots,"label",{label:t.currentLabel,value:t.value},()=>[createTextVNode(toDisplayString(t.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","effect","popper-class","popper-style","teleported"])):createCommentVNode("v-if",!0)]):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable)])},[withDirectives(createBaseVNode("input",{id:e.inputId,ref:"inputRef","onUpdate:modelValue":t=>e.states.inputValue=t,type:"text",name:e.name,class:normalizeClass([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:normalizeStyle(e.inputStyle),tabindex:e.tabindex,role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":(null==(t=e.hoverOption)?void 0:t.id)||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onKeydown:[withKeys(withModifiers(t=>e.navigateOptions("next"),["stop","prevent"]),["down"]),withKeys(withModifiers(t=>e.navigateOptions("prev"),["stop","prevent"]),["up"]),withKeys(withModifiers(e.handleEsc,["stop","prevent"]),["esc"]),withKeys(withModifiers(e.selectOption,["stop","prevent"]),["enter"]),withKeys(withModifiers(e.deletePrevTag,["stop"]),["delete"])],onCompositionstart:e.handleCompositionStart,onCompositionupdate:e.handleCompositionUpdate,onCompositionend:e.handleCompositionEnd,onInput:e.onInput,onClick:withModifiers(e.toggleMenu,["stop"])},null,46,["id","onUpdate:modelValue","name","disabled","autocomplete","tabindex","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label","onKeydown","onCompositionstart","onCompositionupdate","onCompositionend","onInput","onClick"]),[[vModelText,e.states.inputValue]]),e.filterable?(openBlock(),createElementBlock("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:normalizeClass(e.nsSelect.e("input-calculator")),textContent:toDisplayString(e.states.inputValue)},null,10,["textContent"])):createCommentVNode("v-if",!0)],2),e.shouldShowPlaceholder?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?renderSlot(e.$slots,"label",{key:0,label:e.currentPlaceholder,value:e.modelValue},()=>[createBaseVNode("span",null,toDisplayString(e.currentPlaceholder),1)]):(openBlock(),createElementBlock("span",{key:1},toDisplayString(e.currentPlaceholder),1))],2)):createCommentVNode("v-if",!0)],2),createBaseVNode("div",{ref:"suffixRef",class:normalizeClass(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClearBtn?(openBlock(),createBlock(n,{key:0,class:normalizeClass([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.iconComponent)))]),_:1},8,["class"])):createCommentVNode("v-if",!0),e.showClearBtn&&e.clearIcon?(openBlock(),createBlock(n,{key:1,class:normalizeClass([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.nsSelect.e("clear")]),onClick:e.handleClearClick},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.clearIcon)))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(openBlock(),createBlock(n,{key:2,class:normalizeClass([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading","validating"===e.validateState)])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.validateIcon)))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],2)],10,["onClick"])]}),content:withCtx(()=>[createVNode(c,{ref:"menuRef"},{default:withCtx(()=>[e.$slots.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(e.nsSelect.be("dropdown","header")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(e.$slots,"header")],10,["onClick"])):createCommentVNode("v-if",!0),withDirectives(createVNode(l,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:normalizeClass([e.nsSelect.is("empty",0===e.filteredOptionsCount)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical",onScroll:e.popupScroll},{default:withCtx(()=>[e.showNewOption?(openBlock(),createBlock(r,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):createCommentVNode("v-if",!0),createVNode(a,null,{default:withCtx(()=>[renderSlot(e.$slots,"default",{},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.options,(t,i)=>{var o;return openBlock(),createElementBlock(Fragment,{key:i},[(null==(o=e.getOptions(t))?void 0:o.length)?(openBlock(),createBlock(s,{key:0,label:e.getLabel(t),disabled:e.getDisabled(t)},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.getOptions(t),t=>(openBlock(),createBlock(r,mergeProps({key:e.getValue(t)},e.getOptionProps(t)),null,16))),128))]),_:2},1032,["label","disabled"])):(openBlock(),createBlock(r,normalizeProps(mergeProps({key:1},e.getOptionProps(t))),null,16))],64)}),128))])]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label","onScroll"]),[[vShow,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(e.nsSelect.be("dropdown","loading"))},[renderSlot(e.$slots,"loading")],2)):e.loading||0===e.filteredOptionsCount?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(e.nsSelect.be("dropdown","empty"))},[renderSlot(e.$slots,"empty",{},()=>[createBaseVNode("span",null,toDisplayString(e.emptyText),1)])],2)):createCommentVNode("v-if",!0),e.$slots.footer?(openBlock(),createElementBlock("div",{key:3,class:normalizeClass(e.nsSelect.be("dropdown","footer")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(e.$slots,"footer")],10,["onClick"])):createCommentVNode("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","transition","persistent","append-to","show-arrow","offset","onBeforeShow","onHide"])],16,["onMouseleave"])),[[d,e.handleClickOutside,e.popperRef]])}var Select=_export_sfc$1(_sfc_main$w,[["render",_sfc_render$7],["__file","select.vue"]]);const ElSelect=withInstall(Select,{Option:Option,OptionGroup:OptionGroup}),ElOption=withNoopInstall(Option),ElOptionGroup=withNoopInstall(OptionGroup),usePagination=()=>inject(elPaginationKey,{}),paginationSizesProps=buildProps({pageSize:{type:Number,required:!0},pageSizes:{type:definePropType(Array),default:()=>mutable([10,20,30,40,50,100])},popperClass:{type:String},disabled:Boolean,teleported:Boolean,size:{type:String,values:componentSizes},appendSizeTo:String}),__default__$h=defineComponent({name:"ElPaginationSizes"}),_sfc_main$v=defineComponent({...__default__$h,props:paginationSizesProps,emits:["page-size-change"],setup(e,{emit:t}){const i=e,{t:o}=useLocale(),n=useNamespace("pagination"),r=usePagination(),s=ref$1(i.pageSize);watch(()=>i.pageSizes,(e,o)=>{if(!isEqual(e,o)&&isArray$1(e)){const o=e.includes(i.pageSize)?i.pageSize:i.pageSizes[0];t("page-size-change",o)}}),watch(()=>i.pageSize,e=>{s.value=e});const a=computed$1(()=>i.pageSizes);function l(e){var t;e!==s.value&&(s.value=e,null==(t=r.handleSizeChange)||t.call(r,Number(e)))}return(e,t)=>(openBlock(),createElementBlock("span",{class:normalizeClass(unref(n).e("sizes"))},[createVNode(unref(ElSelect),{"model-value":s.value,disabled:e.disabled,"popper-class":e.popperClass,size:e.size,teleported:e.teleported,"validate-event":!1,"append-to":e.appendSizeTo,onChange:l},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(a),e=>(openBlock(),createBlock(unref(ElOption),{key:e,value:e,label:e+unref(o)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","size","teleported","append-to"])],2))}});var Sizes=_export_sfc$1(_sfc_main$v,[["__file","sizes.vue"]]);const paginationJumperProps=buildProps({size:{type:String,values:componentSizes}}),__default__$g=defineComponent({name:"ElPaginationJumper"}),_sfc_main$u=defineComponent({...__default__$g,props:paginationJumperProps,setup(e){const{t:t}=useLocale(),i=useNamespace("pagination"),{pageCount:o,disabled:n,currentPage:r,changeEvent:s}=usePagination(),a=ref$1(),l=computed$1(()=>{var e;return null!=(e=a.value)?e:null==r?void 0:r.value});function c(e){a.value=e?+e:""}function d(e){e=Math.trunc(+e),null==s||s(e),a.value=void 0}return(e,r)=>(openBlock(),createElementBlock("span",{class:normalizeClass(unref(i).e("jump")),disabled:unref(n)},[createBaseVNode("span",{class:normalizeClass([unref(i).e("goto")])},toDisplayString(unref(t)("el.pagination.goto")),3),createVNode(unref(ElInput),{size:e.size,class:normalizeClass([unref(i).e("editor"),unref(i).is("in-pagination")]),min:1,max:unref(o),disabled:unref(n),"model-value":unref(l),"validate-event":!1,"aria-label":unref(t)("el.pagination.page"),type:"number","onUpdate:modelValue":c,onChange:d},null,8,["size","class","max","disabled","model-value","aria-label"]),createBaseVNode("span",{class:normalizeClass([unref(i).e("classifier")])},toDisplayString(unref(t)("el.pagination.pageClassifier")),3)],10,["disabled"]))}});var Jumper=_export_sfc$1(_sfc_main$u,[["__file","jumper.vue"]]);const paginationTotalProps=buildProps({total:{type:Number,default:1e3}}),__default__$f=defineComponent({name:"ElPaginationTotal"}),_sfc_main$t=defineComponent({...__default__$f,props:paginationTotalProps,setup(e){const{t:t}=useLocale(),i=useNamespace("pagination"),{disabled:o}=usePagination();return(e,n)=>(openBlock(),createElementBlock("span",{class:normalizeClass(unref(i).e("total")),disabled:unref(o)},toDisplayString(unref(t)("el.pagination.total",{total:e.total})),11,["disabled"]))}});var Total=_export_sfc$1(_sfc_main$t,[["__file","total.vue"]]);const paginationPagerProps=buildProps({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),__default__$e=defineComponent({name:"ElPaginationPager"}),_sfc_main$s=defineComponent({...__default__$e,props:paginationPagerProps,emits:[CHANGE_EVENT],setup(e,{emit:t}){const i=e,o=useNamespace("pager"),n=useNamespace("icon"),{t:r}=useLocale(),s=ref$1(!1),a=ref$1(!1),l=ref$1(!1),c=ref$1(!1),d=ref$1(!1),u=ref$1(!1),h=computed$1(()=>{const e=i.pagerCount,t=(e-1)/2,o=Number(i.currentPage),n=Number(i.pageCount);let r=!1,s=!1;n>e&&(o>e-t&&(r=!0),o["more","btn-quickprev",n.b(),o.is("disabled",i.disabled)]),g=computed$1(()=>["more","btn-quicknext",n.b(),o.is("disabled",i.disabled)]),m=computed$1(()=>i.disabled?-1:0);function f(e=!1){i.disabled||(e?l.value=!0:c.value=!0)}function v(e=!1){e?d.value=!0:u.value=!0}function b(e){const o=e.target;if("li"===o.tagName.toLowerCase()&&Array.from(o.classList).includes("number")){const e=Number(o.textContent);e!==i.currentPage&&t(CHANGE_EVENT,e)}else"li"===o.tagName.toLowerCase()&&Array.from(o.classList).includes("more")&&_(e)}function _(e){const o=e.target;if("ul"===o.tagName.toLowerCase()||i.disabled)return;let n=Number(o.textContent);const r=i.pageCount,s=i.currentPage,a=i.pagerCount-2;o.className.includes("more")&&(o.className.includes("quickprev")?n=s-a:o.className.includes("quicknext")&&(n=s+a)),Number.isNaN(+n)||(n<1&&(n=1),n>r&&(n=r)),n!==s&&t(CHANGE_EVENT,n)}return watch(()=>[i.pageCount,i.pagerCount,i.currentPage],([e,t,i])=>{const o=(t-1)/2;let n=!1,r=!1;e>t&&(n=i>t-o,r=i(openBlock(),createElementBlock("ul",{class:normalizeClass(unref(o).b()),onClick:_,onKeyup:withKeys(b,["enter"])},[e.pageCount>0?(openBlock(),createElementBlock("li",{key:0,class:normalizeClass([[unref(o).is("active",1===e.currentPage),unref(o).is("disabled",e.disabled)],"number"]),"aria-current":1===e.currentPage,"aria-label":unref(r)("el.pagination.currentPage",{pager:1}),tabindex:unref(m)}," 1 ",10,["aria-current","aria-label","tabindex"])):createCommentVNode("v-if",!0),s.value?(openBlock(),createElementBlock("li",{key:1,class:normalizeClass(unref(p)),tabindex:unref(m),"aria-label":unref(r)("el.pagination.prevPages",{pager:e.pagerCount-2}),onMouseenter:e=>f(!0),onMouseleave:e=>l.value=!1,onFocus:e=>v(!0),onBlur:e=>d.value=!1},[!l.value&&!d.value||e.disabled?(openBlock(),createBlock(unref(more_filled_default),{key:1})):(openBlock(),createBlock(unref(d_arrow_left_default),{key:0}))],42,["tabindex","aria-label","onMouseenter","onMouseleave","onFocus","onBlur"])):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(h),t=>(openBlock(),createElementBlock("li",{key:t,class:normalizeClass([[unref(o).is("active",e.currentPage===t),unref(o).is("disabled",e.disabled)],"number"]),"aria-current":e.currentPage===t,"aria-label":unref(r)("el.pagination.currentPage",{pager:t}),tabindex:unref(m)},toDisplayString(t),11,["aria-current","aria-label","tabindex"]))),128)),a.value?(openBlock(),createElementBlock("li",{key:2,class:normalizeClass(unref(g)),tabindex:unref(m),"aria-label":unref(r)("el.pagination.nextPages",{pager:e.pagerCount-2}),onMouseenter:e=>f(),onMouseleave:e=>c.value=!1,onFocus:e=>v(),onBlur:e=>u.value=!1},[!c.value&&!u.value||e.disabled?(openBlock(),createBlock(unref(more_filled_default),{key:1})):(openBlock(),createBlock(unref(d_arrow_right_default),{key:0}))],42,["tabindex","aria-label","onMouseenter","onMouseleave","onFocus","onBlur"])):createCommentVNode("v-if",!0),e.pageCount>1?(openBlock(),createElementBlock("li",{key:3,class:normalizeClass([[unref(o).is("active",e.currentPage===e.pageCount),unref(o).is("disabled",e.disabled)],"number"]),"aria-current":e.currentPage===e.pageCount,"aria-label":unref(r)("el.pagination.currentPage",{pager:e.pageCount}),tabindex:unref(m)},toDisplayString(e.pageCount),11,["aria-current","aria-label","tabindex"])):createCommentVNode("v-if",!0)],42,["onKeyup"]))}});var Pager=_export_sfc$1(_sfc_main$s,[["__file","pager.vue"]]);const isAbsent=e=>"number"!=typeof e,paginationProps=buildProps({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>isNumber(e)&&Math.trunc(e)===e&&e>4&&e<22&&e%2==1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:definePropType(Array),default:()=>mutable([10,20,30,40,50,100])},popperClass:{type:String,default:""},prevText:{type:String,default:""},prevIcon:{type:iconPropType,default:()=>arrow_left_default},nextText:{type:String,default:""},nextIcon:{type:iconPropType,default:()=>arrow_right_default},teleported:{type:Boolean,default:!0},small:Boolean,size:useSizeProp,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean,appendSizeTo:String}),paginationEmits={"update:current-page":e=>isNumber(e),"update:page-size":e=>isNumber(e),"size-change":e=>isNumber(e),change:(e,t)=>isNumber(e)&&isNumber(t),"current-change":e=>isNumber(e),"prev-click":e=>isNumber(e),"next-click":e=>isNumber(e)},componentName="ElPagination";var Pagination=defineComponent({name:componentName,props:paginationProps,emits:paginationEmits,setup(e,{emit:t,slots:i}){const{t:o}=useLocale(),n=useNamespace("pagination"),r=getCurrentInstance$1().vnode.props||{},s=useGlobalSize(),a=computed$1(()=>{var t;return e.small?"small":null!=(t=e.size)?t:s.value});useDeprecated({from:"small",replacement:"size",version:"3.0.0",scope:"el-pagination",ref:"https://element-plus.org/zh-CN/component/pagination.html"},computed$1(()=>!!e.small));const l="onUpdate:currentPage"in r||"onUpdate:current-page"in r||"onCurrentChange"in r,c="onUpdate:pageSize"in r||"onUpdate:page-size"in r||"onSizeChange"in r,d=computed$1(()=>{if(isAbsent(e.total)&&isAbsent(e.pageCount))return!1;if(!isAbsent(e.currentPage)&&!l)return!1;if(e.layout.includes("sizes"))if(isAbsent(e.pageCount)){if(!isAbsent(e.total)&&!isAbsent(e.pageSize)&&!c)return!1}else if(!c)return!1;return!0}),u=ref$1(isAbsent(e.defaultPageSize)?10:e.defaultPageSize),h=ref$1(isAbsent(e.defaultCurrentPage)?1:e.defaultCurrentPage),p=computed$1({get:()=>isAbsent(e.pageSize)?u.value:e.pageSize,set(i){isAbsent(e.pageSize)&&(u.value=i),c&&(t("update:page-size",i),t("size-change",i))}}),g=computed$1(()=>{let t=0;return isAbsent(e.pageCount)?isAbsent(e.total)||(t=Math.max(1,Math.ceil(e.total/p.value))):t=e.pageCount,t}),m=computed$1({get:()=>isAbsent(e.currentPage)?h.value:e.currentPage,set(i){let o=i;i<1?o=1:i>g.value&&(o=g.value),isAbsent(e.currentPage)&&(h.value=o),l&&(t("update:current-page",o),t("current-change",o))}});function f(e){m.value=e}function v(){e.disabled||(m.value-=1,t("prev-click",m.value))}function b(){e.disabled||(m.value+=1,t("next-click",m.value))}function _(e,t){e&&(e.props||(e.props={}),e.props.class=[e.props.class,t].join(" "))}return watch(g,e=>{m.value>e&&(m.value=e)}),watch([m,p],e=>{t(CHANGE_EVENT,...e)},{flush:"post"}),provide(elPaginationKey,{pageCount:g,disabled:computed$1(()=>e.disabled),currentPage:m,changeEvent:f,handleSizeChange:function(e){p.value=e;const t=g.value;m.value>t&&(m.value=t)}}),()=>{var t,r;if(!d.value)return debugWarn(componentName,o("el.pagination.deprecationWarning")),null;if(!e.layout)return null;if(e.hideOnSinglePage&&g.value<=1)return null;const s=[],l=[],c=h$2("div",{class:n.e("rightwrapper")},l),u={prev:h$2(Prev,{disabled:e.disabled,currentPage:m.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:v}),jumper:h$2(Jumper,{size:a.value}),pager:h$2(Pager,{currentPage:m.value,pageCount:g.value,pagerCount:e.pagerCount,onChange:f,disabled:e.disabled}),next:h$2(Next,{disabled:e.disabled,currentPage:m.value,pageCount:g.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:b}),sizes:h$2(Sizes,{pageSize:p.value,pageSizes:e.pageSizes,popperClass:e.popperClass,disabled:e.disabled,teleported:e.teleported,size:a.value,appendSizeTo:e.appendSizeTo}),slot:null!=(r=null==(t=null==i?void 0:i.default)?void 0:t.call(i))?r:null,total:h$2(Total,{total:isAbsent(e.total)?0:e.total})},h=e.layout.split(",").map(e=>e.trim());let y=!1;return h.forEach(e=>{"->"!==e?y?l.push(u[e]):s.push(u[e]):y=!0}),_(s[0],n.is("first")),_(s[s.length-1],n.is("last")),y&&l.length>0&&(_(l[0],n.is("first")),_(l[l.length-1],n.is("last")),s.push(c)),h$2("div",{class:[n.b(),n.is("background",e.background),n.m(a.value)]},s)}}});const ElPagination=withInstall(Pagination),progressProps=buildProps({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:definePropType(String),default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:definePropType([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:definePropType(Function),default:e=>`${e}%`}}),__default__$d=defineComponent({name:"ElProgress"}),_sfc_main$r=defineComponent({...__default__$d,props:progressProps,setup(e){const t=e,i={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},o=useNamespace("progress"),n=computed$1(()=>{const e={width:`${t.percentage}%`,animationDuration:`${t.duration}s`},i=v(t.percentage);return i.includes("gradient")?e.background=i:e.backgroundColor=i,e}),r=computed$1(()=>(t.strokeWidth/t.width*100).toFixed(1)),s=computed$1(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(""+(50-Number.parseFloat(r.value)/2),10):0),a=computed$1(()=>{const e=s.value,i="dashboard"===t.type;return`\n M 50 50\n m 0 ${i?"":"-"}${e}\n a ${e} ${e} 0 1 1 0 ${i?"-":""}${2*e}\n a ${e} ${e} 0 1 1 0 ${i?"":"-"}${2*e}\n `}),l=computed$1(()=>2*Math.PI*s.value),c=computed$1(()=>"dashboard"===t.type?.75:1),d=computed$1(()=>`${-1*l.value*(1-c.value)/2}px`),u=computed$1(()=>({strokeDasharray:`${l.value*c.value}px, ${l.value}px`,strokeDashoffset:d.value})),h=computed$1(()=>({strokeDasharray:`${l.value*c.value*(t.percentage/100)}px, ${l.value}px`,strokeDashoffset:d.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),p=computed$1(()=>{let e;return e=t.color?v(t.percentage):i[t.status]||i.default,e}),g=computed$1(()=>"warning"===t.status?warning_filled_default:"line"===t.type?"success"===t.status?circle_check_default:circle_close_default:"success"===t.status?check_default:close_default),m=computed$1(()=>"line"===t.type?12+.4*t.strokeWidth:.111111*t.width+2),f=computed$1(()=>t.format(t.percentage));const v=e=>{var i;const{color:o}=t;if(isFunction$1(o))return o(e);if(isString$1(o))return o;{const t=function(e){const t=100/e.length,i=e.map((e,i)=>isString$1(e)?{color:e,percentage:(i+1)*t}:e);return i.sort((e,t)=>e.percentage-t.percentage)}(o);for(const i of t)if(i.percentage>e)return i.color;return null==(i=t[t.length-1])?void 0:i.color}};return(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(o).b(),unref(o).m(e.type),unref(o).is(e.status),{[unref(o).m("without-text")]:!e.showText,[unref(o).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},["line"===e.type?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(o).b("bar"))},[createBaseVNode("div",{class:normalizeClass(unref(o).be("bar","outer")),style:normalizeStyle({height:`${e.strokeWidth}px`})},[createBaseVNode("div",{class:normalizeClass([unref(o).be("bar","inner"),{[unref(o).bem("bar","inner","indeterminate")]:e.indeterminate},{[unref(o).bem("bar","inner","striped")]:e.striped},{[unref(o).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:normalizeStyle(unref(n))},[(e.showText||e.$slots.default)&&e.textInside?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(o).be("bar","innerText"))},[renderSlot(e.$slots,"default",{percentage:e.percentage},()=>[createBaseVNode("span",null,toDisplayString(unref(f)),1)])],2)):createCommentVNode("v-if",!0)],6)],6)],2)):(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(o).b("circle")),style:normalizeStyle({height:`${e.width}px`,width:`${e.width}px`})},[(openBlock(),createElementBlock("svg",{viewBox:"0 0 100 100"},[createBaseVNode("path",{class:normalizeClass(unref(o).be("circle","track")),d:unref(a),stroke:`var(${unref(o).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":unref(r),fill:"none",style:normalizeStyle(unref(u))},null,14,["d","stroke","stroke-linecap","stroke-width"]),createBaseVNode("path",{class:normalizeClass(unref(o).be("circle","path")),d:unref(a),stroke:unref(p),fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":unref(r),style:normalizeStyle(unref(h))},null,14,["d","stroke","opacity","stroke-linecap","stroke-width"])]))],6)),!e.showText&&!e.$slots.default||e.textInside?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(unref(o).e("text")),style:normalizeStyle({fontSize:`${unref(m)}px`})},[renderSlot(e.$slots,"default",{percentage:e.percentage},()=>[e.status?(openBlock(),createBlock(unref(ElIcon),{key:1},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(g))))]),_:1})):(openBlock(),createElementBlock("span",{key:0},toDisplayString(unref(f)),1))])],6))],10,["aria-valuenow"]))}});var Progress=_export_sfc$1(_sfc_main$r,[["__file","progress.vue"]]);const ElProgress=withInstall(Progress),RowJustify=["start","center","end","space-around","space-between","space-evenly"],RowAlign=["top","middle","bottom"],rowProps=buildProps({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:RowJustify,default:"start"},align:{type:String,values:RowAlign}}),__default__$c=defineComponent({name:"ElRow"}),_sfc_main$q=defineComponent({...__default__$c,props:rowProps,setup(e){const t=e,i=useNamespace("row"),o=computed$1(()=>t.gutter);provide(rowContextKey,{gutter:o});const n=computed$1(()=>{const e={};return t.gutter?(e.marginRight=e.marginLeft=`-${t.gutter/2}px`,e):e}),r=computed$1(()=>[i.b(),i.is(`justify-${t.justify}`,"start"!==t.justify),i.is(`align-${t.align}`,!!t.align)]);return(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(e.tag),{class:normalizeClass(unref(r)),style:normalizeStyle(unref(n))},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["class","style"]))}});var Row=_export_sfc$1(_sfc_main$q,[["__file","row.vue"]]);const ElRow=withInstall(Row),stepsProps=buildProps({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),stepsEmits={[CHANGE_EVENT]:(e,t)=>[e,t].every(isNumber)},STEPS_INJECTION_KEY="ElSteps",__default__$b=defineComponent({name:"ElSteps"}),_sfc_main$p=defineComponent({...__default__$b,props:stepsProps,emits:stepsEmits,setup(e,{emit:t}){const i=e,o=useNamespace("steps"),{children:n,addChild:r,removeChild:s,ChildrenSorter:a}=useOrderedChildren(getCurrentInstance$1(),"ElStep");return watch(n,()=>{n.value.forEach((e,t)=>{e.setIndex(t)})}),provide(STEPS_INJECTION_KEY,{props:i,steps:n,addStep:r,removeStep:s}),watch(()=>i.active,(e,i)=>{t(CHANGE_EVENT,e,i)}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(o).b(),unref(o).m(e.simple?"simple":e.direction)])},[renderSlot(e.$slots,"default"),createVNode(unref(a))],2))}});var Steps=_export_sfc$1(_sfc_main$p,[["__file","steps.vue"]]);const stepProps=buildProps({title:{type:String,default:""},icon:{type:iconPropType},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}}),__default__$a=defineComponent({name:"ElStep"}),_sfc_main$o=defineComponent({...__default__$a,props:stepProps,setup(e){const t=e,i=useNamespace("step"),o=ref$1(-1),n=ref$1({}),r=ref$1(""),s=inject(STEPS_INJECTION_KEY),a=getCurrentInstance$1();onMounted(()=>{watch([()=>s.props.active,()=>s.props.processStatus,()=>s.props.finishStatus],([e])=>{b(e)},{immediate:!0})});const l=computed$1(()=>t.status||r.value),c=computed$1(()=>{const e=s.steps.value[o.value-1];return e?e.internalStatus.value:"wait"}),d=computed$1(()=>s.props.alignCenter),u=computed$1(()=>"vertical"===s.props.direction),h=computed$1(()=>s.props.simple),p=computed$1(()=>s.steps.value.length),g=computed$1(()=>{var e;return(null==(e=s.steps.value[p.value-1])?void 0:e.uid)===a.uid}),m=computed$1(()=>h.value?"":s.props.space),f=computed$1(()=>[i.b(),i.is(h.value?"simple":s.props.direction),i.is("flex",g.value&&!m.value&&!d.value),i.is("center",d.value&&!u.value&&!h.value)]),v=computed$1(()=>{const e={flexBasis:isNumber(m.value)?`${m.value}px`:m.value?m.value:100/(p.value-(d.value?0:1))+"%"};return u.value||g.value&&(e.maxWidth=100/p.value+"%"),e}),b=e=>{e>o.value?r.value=s.props.finishStatus:e===o.value&&"error"!==c.value?r.value=s.props.processStatus:r.value="wait";const t=s.steps.value[o.value-1];t&&t.calcProgress(r.value)},_={uid:a.uid,getVnode:()=>a.vnode,currentStatus:l,internalStatus:r,setIndex:e=>{o.value=e},calcProgress:e=>{const t="wait"===e,i={transitionDelay:`${t?"-":""}${150*o.value}ms`},r=e===s.props.processStatus||t?0:100;i.borderWidth=r&&!h.value?"1px":0,i["vertical"===s.props.direction?"height":"width"]=`${r}%`,n.value=i}};return s.addStep(_),onBeforeUnmount(()=>{s.removeStep(_)}),(e,t)=>(openBlock(),createElementBlock("div",{style:normalizeStyle(unref(v)),class:normalizeClass(unref(f))},[createCommentVNode(" icon & line "),createBaseVNode("div",{class:normalizeClass([unref(i).e("head"),unref(i).is(unref(l))])},[unref(h)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(i).e("line"))},[createBaseVNode("i",{class:normalizeClass(unref(i).e("line-inner")),style:normalizeStyle(n.value)},null,6)],2)),createBaseVNode("div",{class:normalizeClass([unref(i).e("icon"),unref(i).is(e.icon||e.$slots.icon?"icon":"text")])},[renderSlot(e.$slots,"icon",{},()=>[e.icon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(i).e("icon-inner"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.icon)))]),_:1},8,["class"])):"success"===unref(l)?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(i).e("icon-inner"),unref(i).is("status")])},{default:withCtx(()=>[createVNode(unref(check_default))]),_:1},8,["class"])):"error"===unref(l)?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass([unref(i).e("icon-inner"),unref(i).is("status")])},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class"])):unref(h)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",{key:3,class:normalizeClass(unref(i).e("icon-inner"))},toDisplayString(o.value+1),3))])],2)],2),createCommentVNode(" title & description "),createBaseVNode("div",{class:normalizeClass(unref(i).e("main"))},[createBaseVNode("div",{class:normalizeClass([unref(i).e("title"),unref(i).is(unref(l))])},[renderSlot(e.$slots,"title",{},()=>[createTextVNode(toDisplayString(e.title),1)])],2),unref(h)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(i).e("arrow"))},null,2)):(openBlock(),createElementBlock("div",{key:1,class:normalizeClass([unref(i).e("description"),unref(i).is(unref(l))])},[renderSlot(e.$slots,"description",{},()=>[createTextVNode(toDisplayString(e.description),1)])],2))],2)],6))}});var Step=_export_sfc$1(_sfc_main$o,[["__file","item.vue"]]);const ElSteps=withInstall(Steps,{Step:Step}),ElStep=withNoopInstall(Step),isValidComponentSize=e=>["",...componentSizes].includes(e),switchProps=buildProps({modelValue:{type:[Boolean,String,Number],default:!1},disabled:Boolean,loading:Boolean,size:{type:String,validator:isValidComponentSize},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:iconPropType},activeActionIcon:{type:iconPropType},activeIcon:{type:iconPropType},inactiveIcon:{type:iconPropType},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:definePropType(Function)},id:String,tabindex:{type:[String,Number]},...useAriaProps(["ariaLabel"])}),switchEmits={[UPDATE_MODEL_EVENT]:e=>isBoolean(e)||isString$1(e)||isNumber(e),[CHANGE_EVENT]:e=>isBoolean(e)||isString$1(e)||isNumber(e),[INPUT_EVENT]:e=>isBoolean(e)||isString$1(e)||isNumber(e)},COMPONENT_NAME$4="ElSwitch",__default__$9=defineComponent({name:COMPONENT_NAME$4}),_sfc_main$n=defineComponent({...__default__$9,props:switchProps,emits:switchEmits,setup(e,{expose:t,emit:i}){const o=e,{formItem:n}=useFormItem(),r=useFormSize(),s=useNamespace("switch"),{inputId:a}=useFormItemInputId(o,{formItemContext:n}),l=useFormDisabled(computed$1(()=>o.loading)),c=ref$1(!1!==o.modelValue),d=ref$1(),u=ref$1(),h=computed$1(()=>[s.b(),s.m(r.value),s.is("disabled",l.value),s.is("checked",v.value)]),p=computed$1(()=>[s.e("label"),s.em("label","left"),s.is("active",!v.value)]),g=computed$1(()=>[s.e("label"),s.em("label","right"),s.is("active",v.value)]),m=computed$1(()=>({width:addUnit(o.width)}));watch(()=>o.modelValue,()=>{c.value=!0});const f=computed$1(()=>!!c.value&&o.modelValue),v=computed$1(()=>f.value===o.activeValue);[o.activeValue,o.inactiveValue].includes(f.value)||(i(UPDATE_MODEL_EVENT,o.inactiveValue),i(CHANGE_EVENT,o.inactiveValue),i(INPUT_EVENT,o.inactiveValue)),watch(v,e=>{var t;d.value.checked=e,o.validateEvent&&(null==(t=null==n?void 0:n.validate)||t.call(n,"change").catch(e=>debugWarn()))});const b=()=>{const e=v.value?o.inactiveValue:o.activeValue;i(UPDATE_MODEL_EVENT,e),i(CHANGE_EVENT,e),i(INPUT_EVENT,e),nextTick(()=>{d.value.checked=v.value})},_=()=>{if(l.value)return;const{beforeChange:e}=o;if(!e)return void b();const t=e();[isPromise(t),isBoolean(t)].includes(!0)||throwError(COMPONENT_NAME$4,"beforeChange must return type `Promise` or `boolean`"),isPromise(t)?t.then(e=>{e&&b()}).catch(e=>{}):t&&b()};return onMounted(()=>{d.value.checked=v.value}),t({focus:()=>{var e,t;null==(t=null==(e=d.value)?void 0:e.focus)||t.call(e)},checked:v}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(h)),onClick:withModifiers(_,["prevent"])},[createBaseVNode("input",{id:unref(a),ref_key:"input",ref:d,class:normalizeClass(unref(s).e("input")),type:"checkbox",role:"switch","aria-checked":unref(v),"aria-disabled":unref(l),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:unref(l),tabindex:e.tabindex,onChange:b,onKeydown:withKeys(_,["enter"])},null,42,["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"]),e.inlinePrompt||!e.inactiveIcon&&!e.inactiveText?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(p))},[e.inactiveIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.inactiveIcon)))]),_:1})):createCommentVNode("v-if",!0),!e.inactiveIcon&&e.inactiveText?(openBlock(),createElementBlock("span",{key:1,"aria-hidden":unref(v)},toDisplayString(e.inactiveText),9,["aria-hidden"])):createCommentVNode("v-if",!0)],2)),createBaseVNode("span",{ref_key:"core",ref:u,class:normalizeClass(unref(s).e("core")),style:normalizeStyle(unref(m))},[e.inlinePrompt?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(s).e("inner"))},[e.activeIcon||e.inactiveIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(s).is("icon"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(v)?e.activeIcon:e.inactiveIcon)))]),_:1},8,["class"])):e.activeText||e.inactiveText?(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(unref(s).is("text")),"aria-hidden":!unref(v)},toDisplayString(unref(v)?e.activeText:e.inactiveText),11,["aria-hidden"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(s).e("action"))},[e.loading?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(s).is("loading"))},{default:withCtx(()=>[createVNode(unref(loading_default))]),_:1},8,["class"])):unref(v)?renderSlot(e.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.activeActionIcon)))]),_:1})):createCommentVNode("v-if",!0)]):unref(v)?createCommentVNode("v-if",!0):renderSlot(e.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.inactiveActionIcon)))]),_:1})):createCommentVNode("v-if",!0)])],2)],6),e.inlinePrompt||!e.activeIcon&&!e.activeText?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(unref(g))},[e.activeIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.activeIcon)))]),_:1})):createCommentVNode("v-if",!0),!e.activeIcon&&e.activeText?(openBlock(),createElementBlock("span",{key:1,"aria-hidden":!unref(v)},toDisplayString(e.activeText),9,["aria-hidden"])):createCommentVNode("v-if",!0)],2))],10,["onClick"]))}});var Switch=_export_sfc$1(_sfc_main$n,[["__file","switch.vue"]]);const ElSwitch=withInstall(Switch),getCell=function(e){var t;return null==(t=e.target)?void 0:t.closest("td")},orderBy=function(e,t,i,o,n){if(!t&&!o&&(!n||isArray$1(n)&&!n.length))return e;i=isString$1(i)?"descending"===i?-1:1:i&&i<0?-1:1;const r=o?null:function(i,o){return n?flatMap(castArray$1(n),t=>isString$1(t)?get(i,t):t(i,o,e)):("$key"!==t&&isObject(i)&&"$value"in i&&(i=i.$value),[isObject(i)?t?get(i,t):null:i])};return e.map((e,t)=>({value:e,index:t,key:r?r(e,t):null})).sort((e,t)=>{let n=function(e,t){var i,n,r,s,a,l;if(o)return o(e.value,t.value);for(let o=0,c=null!=(n=null==(i=e.key)?void 0:i.length)?n:0;o(null==(l=t.key)?void 0:l[o]))return 1}return 0}(e,t);return n||(n=e.index-t.index),n*+i}).map(e=>e.value)},getColumnById=function(e,t){let i=null;return e.columns.forEach(e=>{e.id===t&&(i=e)}),i},getColumnByKey=function(e,t){let i=null;for(let o=0;o{if(!e)throw new Error("Row is required when get row identity");if(isString$1(t)){if(!t.includes("."))return`${e[t]}`;const i=t.split(".");let o=e;for(const e of i)o=o[e];return`${o}`}return isFunction$1(t)?t.call(null,e):""},getKeysMap=function(e,t,i=!1,o="children"){const n={};return(e||[]).forEach((e,r)=>{if(n[getRowIdentity(e,t)]={row:e,index:r},i){const i=e[o];isArray$1(i)&&Object.assign(n,getKeysMap(i,t,!0,o))}}),n};function mergeOptions$1(e,t){const i={};let o;for(o in e)i[o]=e[o];for(o in t)if(hasOwn(t,o)){const e=t[o];isUndefined(e)||(i[o]=e)}return i}function parseWidth(e){return""===e||isUndefined(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function parseMinWidth(e){return""===e||isUndefined(e)||(e=parseWidth(e),Number.isNaN(e)&&(e=80)),e}function parseHeight(e){return isNumber(e)?e:isString$1(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function compose(...e){return 0===e.length?e=>e:1===e.length?e[0]:e.reduce((e,t)=>(...i)=>e(t(...i)))}function toggleRowStatus(e,t,i,o,n,r,s){let a=null!=r?r:0,l=!1;const c=(()=>{if(!s)return e.indexOf(t);const i=getRowIdentity(t,s);return e.findIndex(e=>getRowIdentity(e,s)===i)})(),d=-1!==c,u=null==n?void 0:n.call(null,t,a),h=i=>{"add"===i?e.push(t):e.splice(c,1),l=!0},p=e=>{let t=0;const i=(null==o?void 0:o.children)&&e[o.children];return i&&isArray$1(i)&&(t+=i.length,i.forEach(e=>{t+=p(e)})),t};return n&&!u||(isBoolean(i)?i&&!d?h("add"):!i&&d&&h("remove"):h(d?"remove":"add")),!(null==o?void 0:o.checkStrictly)&&(null==o?void 0:o.children)&&isArray$1(t[o.children])&&t[o.children].forEach(t=>{const r=toggleRowStatus(e,t,null!=i?i:!d,o,n,a+1,s);a+=p(t)+1,r&&(l=r)}),l}function walkTreeNode(e,t,i="children",o="hasChildren",n=!1){const r=e=>!(isArray$1(e)&&e.length);function s(e,a,l){t(e,a,l),a.forEach(e=>{if(e[o]&&n)return void t(e,null,l+1);const a=e[i];r(a)||s(e,a,l+1)})}e.forEach(e=>{if(e[o]&&n)return void t(e,null,0);const a=e[i];r(a)||s(e,a,0)})}const getTableOverflowTooltipProps=(e,t,i,o)=>{const n={strategy:"fixed",...e.popperOptions},r=isFunction$1(null==o?void 0:o.tooltipFormatter)?o.tooltipFormatter({row:i,column:o,cellValue:getProp(i,o.property).value}):void 0;return isVNode(r)?{slotContent:r,content:null,...e,popperOptions:n}:{slotContent:null,content:null!=r?r:t,...e,popperOptions:n}};let removePopper=null;function createTablePopper(e,t,i,o,n,r){var s;const a=getTableOverflowTooltipProps(e,t,i,o),l={...a,slotContent:void 0};if((null==removePopper?void 0:removePopper.trigger)===n){const e=null==(s=removePopper.vm)?void 0:s.component;return merge$1(null==e?void 0:e.props,l),void(e&&a.slotContent&&(e.slots.content=()=>[a.slotContent]))}null==removePopper||removePopper();const c=null==r?void 0:r.refs.tableWrapper,d=null==c?void 0:c.dataset.prefix,u=createVNode(ElTooltip,{virtualTriggering:!0,virtualRef:n,appendTo:c,placement:"top",transition:"none",offset:0,hideAfter:0,...l},a.slotContent?{content:()=>a.slotContent}:void 0);u.appContext={...r.appContext,...r};const h=document.createElement("div");render(u,h),u.component.exposed.onOpen();const p=null==c?void 0:c.querySelector(`.${d}-scrollbar__wrap`);removePopper=()=>{var e,t;(null==(t=null==(e=u.component)?void 0:e.exposed)?void 0:t.onClose)&&u.component.exposed.onClose(),render(null,h);const i=removePopper;null==p||p.removeEventListener("scroll",i),i.trigger=void 0,i.vm=void 0,removePopper=null},removePopper.trigger=null!=n?n:void 0,removePopper.vm=u,null==p||p.addEventListener("scroll",removePopper)}function getCurrentColumns(e){return e.children?flatMap(e.children,getCurrentColumns):[e]}function getColSpan(e,t){return e+t.colSpan}const isFixedColumn=(e,t,i,o)=>{let n=0,r=e;const s=i.states.columns.value;if(o){const t=getCurrentColumns(o[e]);n=s.slice(0,s.indexOf(t[0])).reduce(getColSpan,0),r=n+t.reduce(getColSpan,0)-1}else n=e;let a;switch(t){case"left":r=s.length-i.states.rightFixedLeafColumnsLength.value&&(a="right");break;default:r=s.length-i.states.rightFixedLeafColumnsLength.value&&(a="right")}return a?{direction:a,start:n,after:r}:{}},getFixedColumnsClass=(e,t,i,o,n,r=0)=>{const s=[],{direction:a,start:l,after:c}=isFixedColumn(t,i,o,n);if(a){const t="left"===a;s.push(`${e}-fixed-column--${a}`),t&&c+r===o.states.fixedLeafColumnsLength.value-1?s.push("is-last-column"):t||l-r!==o.states.columns.value.length-o.states.rightFixedLeafColumnsLength.value||s.push("is-first-column")}return s};function getOffset(e,t){return e+(isNull(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const getFixedColumnOffset=(e,t,i,o)=>{const{direction:n,start:r=0,after:s=0}=isFixedColumn(e,t,i,o);if(!n)return;const a={},l="left"===n,c=i.states.columns.value;return l?a.left=c.slice(0,r).reduce(getOffset,0):a.right=c.slice(s+1).reverse().reduce(getOffset,0),a},ensurePosition=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function useExpand(e){const t=getCurrentInstance$1(),i=ref$1(!1),o=ref$1([]);return{updateExpandRows:()=>{const t=e.data.value||[],n=e.rowKey.value;if(i.value)o.value=t.slice();else if(n){const e=getKeysMap(o.value,n);o.value=t.reduce((t,i)=>{const o=getRowIdentity(i,n);return e[o]&&t.push(i),t},[])}else o.value=[]},toggleRowExpansion:(i,n)=>{toggleRowStatus(o.value,i,n,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",i,o.value.slice())},setExpandRowKeys:i=>{t.store.assertRowKey();const n=e.data.value||[],r=e.rowKey.value,s=getKeysMap(n,r);o.value=i.reduce((e,t)=>{const i=s[t];return i&&e.push(i.row),e},[])},isRowExpanded:t=>{const i=e.rowKey.value;if(i){return!!getKeysMap(o.value,i)[getRowIdentity(t,i)]}return o.value.includes(t)},states:{expandRows:o,defaultExpandAll:i}}}function useCurrent(e){const t=getCurrentInstance$1(),i=ref$1(null),o=ref$1(null),n=()=>{i.value=null},r=i=>{var n;const{data:r,rowKey:s}=e;let a=null;s.value&&(a=null!=(n=(unref(r)||[]).find(e=>getRowIdentity(e,s.value)===i))?n:null),o.value=null!=a?a:null,t.emit("current-change",o.value,null)};return{setCurrentRowKey:e=>{t.store.assertRowKey(),i.value=e,r(e)},restoreCurrentRowKey:n,setCurrentRowByKey:r,updateCurrentRow:e=>{const i=o.value;if(e&&e!==i)return o.value=e,void t.emit("current-change",o.value,i);!e&&i&&(o.value=null,t.emit("current-change",null,i))},updateCurrentRowData:()=>{const s=e.rowKey.value,a=e.data.value||[],l=o.value;if(l&&!a.includes(l)){if(s){const e=getRowIdentity(l,s);r(e)}else o.value=null;isNull(o.value)&&t.emit("current-change",null,l)}else i.value&&(r(i.value),n())},states:{_currentRowKey:i,currentRow:o}}}function useTree(e){const t=ref$1([]),i=ref$1({}),o=ref$1(16),n=ref$1(!1),r=ref$1({}),s=ref$1("hasChildren"),a=ref$1("children"),l=ref$1(!1),c=getCurrentInstance$1(),d=computed$1(()=>{if(!e.rowKey.value)return{};const t=e.data.value||[];return h(t)}),u=computed$1(()=>{const t=e.rowKey.value,i=Object.keys(r.value),o={};return i.length?(i.forEach(e=>{if(r.value[e].length){const i={children:[]};r.value[e].forEach(e=>{const n=getRowIdentity(e,t);i.children.push(n),e[s.value]&&!o[n]&&(o[n]={children:[]})}),o[e]=i}}),o):o}),h=t=>{const i=e.rowKey.value,o={};return walkTreeNode(t,(e,t,r)=>{const s=getRowIdentity(e,i);isArray$1(t)?o[s]={children:t.map(e=>getRowIdentity(e,i)),level:r}:n.value&&(o[s]={children:[],lazy:!0,level:r})},a.value,s.value,n.value),o},p=(e=!1,o)=>{var r,s;o||(o=null==(r=c.store)?void 0:r.states.defaultExpandAll.value);const a=d.value,l=u.value,h=Object.keys(a),p={};if(h.length){const r=unref(i),s=[],c=(i,n)=>{if(e)return t.value?o||t.value.includes(n):!(!o&&!(null==i?void 0:i.expanded));{const e=o||t.value&&t.value.includes(n);return!(!(null==i?void 0:i.expanded)&&!e)}};h.forEach(e=>{const t=r[e],i={...a[e]};if(i.expanded=c(t,e),i.lazy){const{loaded:o=!1,loading:n=!1}=t||{};i.loaded=!!o,i.loading=!!n,s.push(e)}p[e]=i});const d=Object.keys(l);n.value&&d.length&&s.length&&d.forEach(e=>{var t;const i=r[e],o=l[e].children;if(s.includes(e)){if(0!==(null==(t=p[e].children)?void 0:t.length))throw new Error("[ElTable]children must be an empty array.");p[e].children=o}else{const{loaded:t=!1,loading:n=!1}=i||{};p[e]={lazy:!0,loaded:!!t,loading:!!n,expanded:c(i,e),children:o,level:void 0}}})}i.value=p,null==(s=c.store)||s.updateTableScrollY()};watch(()=>t.value,()=>{p(!0)}),watch(()=>d.value,()=>{p()}),watch(()=>u.value,()=>{p()});const g=e=>n.value&&e&&"loaded"in e&&!e.loaded,m=(t,o)=>{c.store.assertRowKey();const n=e.rowKey.value,r=getRowIdentity(t,n),s=r&&i.value[r];if(r&&s&&"expanded"in s){const e=s.expanded;o=isUndefined(o)?!s.expanded:o,i.value[r].expanded=o,e!==o&&c.emit("expand-change",t,o),g(s)&&f(t,r,s),c.store.updateTableScrollY()}},f=(e,t,o)=>{const{load:n}=c.props;n&&!i.value[t].loaded&&(i.value[t].loading=!0,n(e,o,o=>{if(!isArray$1(o))throw new TypeError("[ElTable] data must be an array");i.value[t].loading=!1,i.value[t].loaded=!0,i.value[t].expanded=!0,o.length&&(r.value[t]=o),c.emit("expand-change",e,!0)}))};return{loadData:f,loadOrToggle:t=>{c.store.assertRowKey();const o=e.rowKey.value,n=getRowIdentity(t,o),r=i.value[n];g(r)?f(t,n,r):m(t,void 0)},toggleTreeExpansion:m,updateTreeExpandKeys:e=>{t.value=e,p()},updateTreeData:p,updateKeyChildren:(e,t)=>{const{lazy:i,rowKey:o}=c.props;if(i){if(!o)throw new Error("[Table] rowKey is required in updateKeyChild");r.value[e]&&(r.value[e]=t)}},normalize:h,states:{expandRowKeys:t,treeData:i,indent:o,lazy:n,lazyTreeNodeMap:r,lazyColumnIdentifier:s,childrenColumnName:a,checkStrictly:l}}}const sortData=(e,t)=>{const i=t.sortingColumn;return!i||isString$1(i.sortable)?e:orderBy(e,t.sortProp,t.sortOrder,i.sortMethod,i.sortBy)},doFlattenColumns=e=>{const t=[];return e.forEach(e=>{e.children&&e.children.length>0?t.push.apply(t,doFlattenColumns(e.children)):t.push(e)}),t};function useWatcher$1(){var e;const t=getCurrentInstance$1(),{size:i}=toRefs(null==(e=t.proxy)?void 0:e.$props),o=ref$1(null),n=ref$1([]),r=ref$1([]),s=ref$1(!1),a=ref$1([]),l=ref$1([]),c=ref$1([]),d=ref$1([]),u=ref$1([]),h=ref$1([]),p=ref$1([]),g=ref$1([]),m=ref$1(0),f=ref$1(0),v=ref$1(0),b=ref$1(!1),_=ref$1([]),y=ref$1(!1),C=ref$1(!1),w=ref$1(null),x=ref$1({}),S=ref$1(null),k=ref$1(null),E=ref$1(null),I=ref$1(null),T=ref$1(null),D=computed$1(()=>o.value?getKeysMap(_.value,o.value):void 0);watch(n,()=>{var e;if(t.state){M(!1);"auto"===t.props.tableLayout&&(null==(e=t.refs.tableHeaderRef)||e.updateFixedColumnStyle())}},{deep:!0});const L=e=>{var t;null==(t=e.children)||t.forEach(t=>{t.fixed=e.fixed,L(t)})},N=()=>{a.value.forEach(e=>{L(e)}),d.value=a.value.filter(e=>[!0,"left"].includes(e.fixed));const e=a.value.find(e=>"selection"===e.type);let t;if(e&&"right"!==e.fixed&&!d.value.includes(e)){0===a.value.indexOf(e)&&d.value.length&&(d.value.unshift(e),t=!0)}u.value=a.value.filter(e=>"right"===e.fixed);const i=a.value.filter(e=>!(t&&"selection"===e.type||e.fixed));l.value=Array.from(d.value).concat(i).concat(u.value);const o=doFlattenColumns(i),n=doFlattenColumns(d.value),r=doFlattenColumns(u.value);m.value=o.length,f.value=n.length,v.value=r.length,c.value=Array.from(n).concat(o).concat(r),s.value=d.value.length>0||u.value.length>0},M=(e,i=!1)=>{e&&N(),i?t.state.doLayout():t.state.debouncedUpdateLayout()},$=e=>D.value?!!D.value[getRowIdentity(e,o.value)]:_.value.includes(e),R=e=>{var i;if(!t||!t.store)return 0;const{treeData:o}=t.store.states;let n=0;const r=null==(i=o.value[e])?void 0:i.children;return r&&(n+=r.length,r.forEach(e=>{n+=R(e)})),n},A=(e,t,i)=>{k.value&&k.value!==e&&(k.value.order=null),k.value=e,E.value=t,I.value=i},O=()=>{let e=unref(r);Object.keys(x.value).forEach(t=>{const i=x.value[t];if(!i||0===i.length)return;const o=getColumnById({columns:c.value},t);o&&o.filterMethod&&(e=e.filter(e=>i.some(t=>o.filterMethod.call(null,t,e,o))))}),S.value=e},P=()=>{var e;n.value=sortData(null!=(e=S.value)?e:[],{sortingColumn:k.value,sortProp:E.value,sortOrder:I.value})},{setExpandRowKeys:B,toggleRowExpansion:F,updateExpandRows:z,states:V,isRowExpanded:H}=useExpand({data:n,rowKey:o}),{updateTreeExpandKeys:W,toggleTreeExpansion:K,updateTreeData:U,updateKeyChildren:j,loadOrToggle:G,states:q}=useTree({data:n,rowKey:o}),{updateCurrentRowData:Y,updateCurrentRow:X,setCurrentRowKey:Q,states:Z}=useCurrent({data:n,rowKey:o});return{assertRowKey:()=>{if(!o.value)throw new Error("[ElTable] prop row-key is required")},updateColumns:N,scheduleLayout:M,isSelected:$,clearSelection:()=>{b.value=!1;const e=_.value;_.value=[],e.length&&t.emit("selection-change",[])},cleanSelection:()=>{var e,i;let r;if(o.value){r=[];const s=null==(i=null==(e=null==t?void 0:t.store)?void 0:e.states)?void 0:i.childrenColumnName.value,a=getKeysMap(n.value,o.value,!0,s);for(const e in D.value)hasOwn(D.value,e)&&!a[e]&&r.push(D.value[e].row)}else r=_.value.filter(e=>!n.value.includes(e));if(r.length){const e=_.value.filter(e=>!r.includes(e));_.value=e,t.emit("selection-change",e.slice())}},getSelectionRows:()=>(_.value||[]).slice(),toggleRowSelection:(e,i,r=!0,s=!1)=>{var a,l,c,d;const u={children:null==(l=null==(a=null==t?void 0:t.store)?void 0:a.states)?void 0:l.childrenColumnName.value,checkStrictly:null==(d=null==(c=null==t?void 0:t.store)?void 0:c.states)?void 0:d.checkStrictly.value};if(toggleRowStatus(_.value,e,i,u,s?void 0:w.value,n.value.indexOf(e),o.value)){const i=(_.value||[]).slice();r&&t.emit("select",i,e),t.emit("selection-change",i)}},_toggleAllSelection:()=>{var e,i;const o=C.value?!b.value:!(b.value||_.value.length);b.value=o;let r=!1,s=0;const a=null==(i=null==(e=null==t?void 0:t.store)?void 0:e.states)?void 0:i.rowKey.value,{childrenColumnName:l}=t.store.states,c={children:l.value,checkStrictly:!1};n.value.forEach((e,t)=>{const i=t+s;toggleRowStatus(_.value,e,o,c,w.value,i,a)&&(r=!0),s+=R(getRowIdentity(e,a))}),r&&t.emit("selection-change",_.value?_.value.slice():[]),t.emit("select-all",(_.value||[]).slice())},toggleAllSelection:null,updateAllSelected:()=>{var e;if(0===(null==(e=n.value)?void 0:e.length))return void(b.value=!1);const{childrenColumnName:i}=t.store.states;let o=0,r=0;const s=e=>{var t;for(const n of e){const e=w.value&&w.value.call(null,n,o);if($(n))r++;else if(!w.value||e)return!1;if(o++,(null==(t=n[i.value])?void 0:t.length)&&!s(n[i.value]))return!1}return!0},a=s(n.value||[]);b.value=0!==r&&a},updateFilters:(e,t)=>{const i={};return castArray$1(e).forEach(e=>{x.value[e.id]=t,i[e.columnKey||e.id]=t}),i},updateCurrentRow:X,updateSort:A,execFilter:O,execSort:P,execQuery:(e=void 0)=>{(null==e?void 0:e.filter)||O(),P()},clearFilter:e=>{const{tableHeaderRef:i}=t.refs;if(!i)return;const o=Object.assign({},i.filterPanels),n=Object.keys(o);if(n.length)if(isString$1(e)&&(e=[e]),isArray$1(e)){const i=e.map(e=>getColumnByKey({columns:c.value},e));n.forEach(e=>{const t=i.find(t=>t.id===e);t&&(t.filteredValue=[])}),t.store.commit("filterChange",{column:i,values:[],silent:!0,multi:!0})}else n.forEach(e=>{const t=c.value.find(t=>t.id===e);t&&(t.filteredValue=[])}),x.value={},t.store.commit("filterChange",{column:{},values:[],silent:!0})},clearSort:()=>{k.value&&(A(null,null,null),t.store.commit("changeSortCondition",{silent:!0}))},toggleRowExpansion:F,setExpandRowKeysAdapter:e=>{B(e),W(e)},setCurrentRowKey:Q,toggleRowExpansionAdapter:(e,t)=>{c.value.some(({type:e})=>"expand"===e)?F(e,t):K(e,t)},isRowExpanded:H,updateExpandRows:z,updateCurrentRowData:Y,loadOrToggle:G,updateTreeData:U,updateKeyChildren:j,states:{tableSize:i,rowKey:o,data:n,_data:r,isComplex:s,_columns:a,originColumns:l,columns:c,fixedColumns:d,rightFixedColumns:u,leafColumns:h,fixedLeafColumns:p,rightFixedLeafColumns:g,updateOrderFns:[],leafColumnsLength:m,fixedLeafColumnsLength:f,rightFixedLeafColumnsLength:v,isAllSelected:b,selection:_,reserveSelection:y,selectOnIndeterminate:C,selectable:w,filters:x,filteredData:S,sortingColumn:k,sortProp:E,sortOrder:I,hoverRow:T,...V,...q,...Z}}}function replaceColumn(e,t){return e.map(e=>{var i;return e.id===t.id?t:((null==(i=e.children)?void 0:i.length)&&(e.children=replaceColumn(e.children,t)),e)})}function sortColumn(e){e.forEach(e=>{var t,i;e.no=null==(t=e.getColumnIndex)?void 0:t.call(e),(null==(i=e.children)?void 0:i.length)&&sortColumn(e.children)}),e.sort((e,t)=>e.no-t.no)}function useStore(){const e=getCurrentInstance$1(),t=useWatcher$1(),i=useNamespace("table"),o={setData(t,i){const o=unref(t._data)!==i;t.data.value=i,t._data.value=i,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),unref(t.reserveSelection)?e.store.assertRowKey():o?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(t,i,o,n){var r;const s=unref(t._columns);let a=[];o?(o&&!o.children&&(o.children=[]),null==(r=o.children)||r.push(i),a=replaceColumn(s,o)):(s.push(i),a=s),sortColumn(a),t._columns.value=a,t.updateOrderFns.push(n),"selection"===i.type&&(t.selectable.value=i.selectable,t.reserveSelection.value=i.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(t,i){var o;(null==(o=i.getColumnIndex)?void 0:o.call(i))!==i.no&&(sortColumn(t._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(t,i,o,n){var r;const s=unref(t._columns)||[];if(o)null==(r=o.children)||r.splice(o.children.findIndex(e=>e.id===i.id),1),nextTick(()=>{var e;0===(null==(e=o.children)?void 0:e.length)&&delete o.children}),t._columns.value=replaceColumn(s,o);else{const e=s.indexOf(i);e>-1&&(s.splice(e,1),t._columns.value=s)}const a=t.updateOrderFns.indexOf(n);a>-1&&t.updateOrderFns.splice(a,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(t,i){const{prop:o,order:n,init:r}=i;if(o){const i=unref(t.columns).find(e=>e.property===o);i&&(i.order=n,e.store.updateSort(i,o,n),e.store.commit("changeSortCondition",{init:r}))}},changeSortCondition(t,i){const{sortingColumn:o,sortProp:n,sortOrder:r}=t,s=unref(o),a=unref(n),l=unref(r);isNull(l)&&(t.sortingColumn.value=null,t.sortProp.value=null);e.store.execQuery({filter:!0}),i&&(i.silent||i.init)||e.emit("sort-change",{column:s,prop:a,order:l}),e.store.updateTableScrollY()},filterChange(t,i){const{column:o,values:n,silent:r}=i,s=e.store.updateFilters(o,n);e.store.execQuery(),r||e.emit("filter-change",s),e.store.updateTableScrollY()},toggleAllSelection(){var t,i;null==(i=(t=e.store).toggleAllSelection)||i.call(t)},rowSelectedChanged(t,i){e.store.toggleRowSelection(i),e.store.updateAllSelected()},setHoverRow(e,t){e.hoverRow.value=t},setCurrentRow(t,i){e.store.updateCurrentRow(i)}};return{ns:i,...t,mutations:o,commit:function(t,...i){const o=e.store.mutations;if(!o[t])throw new Error(`Action not found: ${t}`);o[t].apply(e,[e.store.states,...i])},updateTableScrollY:function(){nextTick(()=>e.layout.updateScrollY.apply(e.layout))}}}const InitialStateMap={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy",data:"data","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function createStore(e,t){if(!e)throw new Error("Table is required.");const i=useStore();return i.toggleAllSelection=debounce(i._toggleAllSelection,10),Object.keys(InitialStateMap).forEach(e=>{handleValue(getArrKeysValue(t,e),e,i)}),proxyTableProps(i,t),i}function proxyTableProps(e,t){Object.keys(InitialStateMap).forEach(i=>{watch(()=>getArrKeysValue(t,i),t=>{handleValue(t,i,e)})})}function handleValue(e,t,i){let o=e,n=InitialStateMap[t];isObject(n)&&(o=o||n.default,n=n.key),i.states[n].value=o}function getArrKeysValue(e,t){if(t.includes(".")){const i=t.split(".");let o=e;return i.forEach(e=>{o=o[e]}),o}return e[t]}class TableLayout{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=ref$1(null),this.scrollX=ref$1(!1),this.scrollY=ref$1(!1),this.bodyWidth=ref$1(null),this.fixedWidth=ref$1(null),this.rightFixedWidth=ref$1(null),this.gutterWidth=0;for(const t in e)hasOwn(e,t)&&(isRef(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){if(isNull(this.height.value))return!1;const e=this.table.refs.scrollBarRef;if(this.table.vnode.el&&(null==e?void 0:e.wrapRef)){let t=!0;const i=this.scrollY.value;return t=e.wrapRef.scrollHeight>e.wrapRef.clientHeight,this.scrollY.value=t,i!==t}return!1}setHeight(e,t="height"){if(!isClient)return;const i=this.table.vnode.el;e=parseHeight(e),this.height.value=Number(e),i||!e&&0!==e?i&&isNumber(e)?(i.style[t]=`${e}px`,this.updateElsHeight()):i&&isString$1(e)&&(i.style[t]=e,this.updateElsHeight()):nextTick(()=>this.setHeight(e,t))}setMaxHeight(e){this.setHeight(e,"max-height")}getFlattenColumns(){const e=[];return this.table.store.states.columns.value.forEach(t=>{t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(e){if(!e)return!0;let t=e;for(;"DIV"!==t.tagName;){if("none"===getComputedStyle(t).display)return!0;t=t.parentElement}return!1}updateColumnsWidth(){var e;if(!isClient)return;const t=this.fit,i=null==(e=this.table.vnode.el)?void 0:e.clientWidth;let o=0;const n=this.getFlattenColumns(),r=n.filter(e=>!isNumber(e.width));if(n.forEach(e=>{isNumber(e.width)&&e.realWidth&&(e.realWidth=null)}),r.length>0&&t){if(n.forEach(e=>{o+=Number(e.width||e.minWidth||80)}),o<=i){this.scrollX.value=!1;const e=i-o;if(1===r.length)r[0].realWidth=Number(r[0].minWidth||80)+e;else{const t=e/r.reduce((e,t)=>e+Number(t.minWidth||80),0);let i=0;r.forEach((e,o)=>{if(0===o)return;const n=Math.floor(Number(e.minWidth||80)*t);i+=n,e.realWidth=Number(e.minWidth||80)+n}),r[0].realWidth=Number(r[0].minWidth||80)+e-i}}else this.scrollX.value=!0,r.forEach(e=>{e.realWidth=Number(e.minWidth)});this.bodyWidth.value=Math.max(o,i),this.table.state.resizeState.value.width=this.bodyWidth.value}else n.forEach(e=>{e.width||e.minWidth?e.realWidth=Number(e.width||e.minWidth):e.realWidth=80,o+=e.realWidth}),this.scrollX.value=o>i,this.bodyWidth.value=o;const s=this.store.states.fixedColumns.value;if(s.length>0){let e=0;s.forEach(t=>{e+=Number(t.realWidth||t.width)}),this.fixedWidth.value=e}const a=this.store.states.rightFixedColumns.value;if(a.length>0){let e=0;a.forEach(t=>{e+=Number(t.realWidth||t.width)}),this.rightFixedWidth.value=e}this.notifyObservers("columns")}addObserver(e){this.observers.push(e)}removeObserver(e){const t=this.observers.indexOf(e);-1!==t&&this.observers.splice(t,1)}notifyObservers(e){this.observers.forEach(t=>{var i,o;switch(e){case"columns":null==(i=t.state)||i.onColumnsChange(this);break;case"scrollable":null==(o=t.state)||o.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${e}.`)}})}}const{CheckboxGroup:ElCheckboxGroup}=ElCheckbox,_sfc_main$m=defineComponent({name:"ElTableFilterPanel",components:{ElCheckbox:ElCheckbox,ElCheckboxGroup:ElCheckboxGroup,ElScrollbar:ElScrollbar,ElTooltip:ElTooltip,ElIcon:ElIcon,ArrowDown:arrow_down_default,ArrowUp:arrow_up_default},directives:{ClickOutside:ClickOutside},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:useTooltipContentProps.appendTo},setup(e){const t=getCurrentInstance$1(),{t:i}=useLocale(),o=useNamespace("table-filter"),n=null==t?void 0:t.parent;e.column&&!n.filterPanels.value[e.column.id]&&(n.filterPanels.value[e.column.id]=t);const r=ref$1(!1),s=ref$1(null),a=computed$1(()=>e.column&&e.column.filters),l=computed$1(()=>e.column&&e.column.filterClassName?`${o.b()} ${e.column.filterClassName}`:o.b()),c=computed$1({get:()=>{var t;return((null==(t=e.column)?void 0:t.filteredValue)||[])[0]},set:e=>{d.value&&(isPropAbsent(e)?d.value.splice(0,1):d.value.splice(0,1,e))}}),d=computed$1({get:()=>e.column&&e.column.filteredValue||[],set(t){var i;e.column&&(null==(i=e.upDataColumn)||i.call(e,"filteredValue",t))}}),u=computed$1(()=>!e.column||e.column.filterMultiple),h=()=>{r.value=!1},p=t=>{var i,o;null==(i=e.store)||i.commit("filterChange",{column:e.column,values:t}),null==(o=e.store)||o.updateAllSelected()};watch(r,t=>{var i;e.column&&(null==(i=e.upDataColumn)||i.call(e,"filterOpened",t))},{immediate:!0});const g=computed$1(()=>{var e,t;return null==(t=null==(e=s.value)?void 0:e.popperRef)?void 0:t.contentRef});return{tooltipVisible:r,multiple:u,filterClassName:l,filteredValue:d,filterValue:c,filters:a,handleConfirm:()=>{p(d.value),h()},handleReset:()=>{d.value=[],p(d.value),h()},handleSelect:e=>{c.value=e,isPropAbsent(e)?p([]):p(d.value),h()},isPropAbsent:isPropAbsent,isActive:e=>e.value===c.value,t:i,ns:o,showFilterPanel:e=>{e.stopPropagation(),r.value=!r.value},hideFilterPanel:()=>{r.value=!1},popperPaneRef:g,tooltip:s}}});function _sfc_render$6(e,t,i,o,n,r){const s=resolveComponent("el-checkbox"),a=resolveComponent("el-checkbox-group"),l=resolveComponent("el-scrollbar"),c=resolveComponent("arrow-up"),d=resolveComponent("arrow-down"),u=resolveComponent("el-icon"),h=resolveComponent("el-tooltip"),p=resolveDirective("click-outside");return openBlock(),createBlock(h,{ref:"tooltip",visible:e.tooltipVisible,offset:0,placement:e.placement,"show-arrow":!1,"stop-popper-mouse-event":!1,teleported:"",effect:"light",pure:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo},{content:withCtx(()=>[e.multiple?(openBlock(),createElementBlock("div",{key:0},[createBaseVNode("div",{class:normalizeClass(e.ns.e("content"))},[createVNode(l,{"wrap-class":e.ns.e("wrap")},{default:withCtx(()=>[createVNode(a,{modelValue:e.filteredValue,"onUpdate:modelValue":t=>e.filteredValue=t,class:normalizeClass(e.ns.e("checkbox-group"))},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.filters,e=>(openBlock(),createBlock(s,{key:e.value,value:e.value},{default:withCtx(()=>[createTextVNode(toDisplayString(e.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","class"])]),_:1},8,["wrap-class"])],2),createBaseVNode("div",{class:normalizeClass(e.ns.e("bottom"))},[createBaseVNode("button",{class:normalizeClass({[e.ns.is("disabled")]:0===e.filteredValue.length}),disabled:0===e.filteredValue.length,type:"button",onClick:e.handleConfirm},toDisplayString(e.t("el.table.confirmFilter")),11,["disabled","onClick"]),createBaseVNode("button",{type:"button",onClick:e.handleReset},toDisplayString(e.t("el.table.resetFilter")),9,["onClick"])],2)])):(openBlock(),createElementBlock("ul",{key:1,class:normalizeClass(e.ns.e("list"))},[createBaseVNode("li",{class:normalizeClass([e.ns.e("list-item"),{[e.ns.is("active")]:e.isPropAbsent(e.filterValue)}]),onClick:t=>e.handleSelect(null)},toDisplayString(e.t("el.table.clearFilter")),11,["onClick"]),(openBlock(!0),createElementBlock(Fragment,null,renderList(e.filters,t=>(openBlock(),createElementBlock("li",{key:t.value,class:normalizeClass([e.ns.e("list-item"),e.ns.is("active",e.isActive(t))]),label:t.value,onClick:i=>e.handleSelect(t.value)},toDisplayString(t.text),11,["label","onClick"]))),128))],2))]),default:withCtx(()=>[withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass([`${e.ns.namespace.value}-table__column-filter-trigger`,`${e.ns.namespace.value}-none-outline`]),onClick:e.showFilterPanel},[createVNode(u,null,{default:withCtx(()=>[renderSlot(e.$slots,"filter-icon",{},()=>{var t;return[(null==(t=e.column)?void 0:t.filterOpened)?(openBlock(),createBlock(c,{key:0})):(openBlock(),createBlock(d,{key:1}))]})]),_:3})],10,["onClick"])),[[p,e.hideFilterPanel,e.popperPaneRef]])]),_:3},8,["visible","placement","popper-class","append-to"])}var FilterPanel=_export_sfc$1(_sfc_main$m,[["render",_sfc_render$6],["__file","filter-panel.vue"]]);function useLayoutObserver(e){const t=getCurrentInstance$1();onBeforeMount(()=>{i.value.addObserver(t)}),onMounted(()=>{o(i.value),n(i.value)}),onUpdated(()=>{o(i.value),n(i.value)}),onUnmounted(()=>{i.value.removeObserver(t)});const i=computed$1(()=>{const t=e.layout;if(!t)throw new Error("Can not find table layout.");return t}),o=t=>{var i;const o=(null==(i=e.vnode.el)?void 0:i.querySelectorAll("colgroup > col"))||[];if(!o.length)return;const n=t.getFlattenColumns(),r={};n.forEach(e=>{r[e.id]=e});for(let e=0,s=o.length;e{var i,o;const n=(null==(i=e.vnode.el)?void 0:i.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let e=0,s=n.length;e{e.stopPropagation()},r=ref$1(null),s=ref$1(!1),a=ref$1(),l=(t,i,n)=>{var r;t.stopPropagation();const s=i.order===n?null:n||(({order:e,sortOrders:t})=>{if(""===e)return t[0];const i=t.indexOf(e||null);return t[i>t.length-2?0:i+1]})(i),a=null==(r=t.target)?void 0:r.closest("th");if(a&&hasClass(a,"noclick"))return void removeClass(a,"noclick");if(!i.sortable)return;const l=t.currentTarget;if(["ascending","descending"].some(e=>hasClass(l,e)&&!i.sortOrders.includes(e)))return;const c=e.store.states;let d,u=c.sortProp.value;const h=c.sortingColumn.value;(h!==i||h===i&&isNull(h.order))&&(h&&(h.order=null),c.sortingColumn.value=i,u=i.property),d=i.order=s||null,c.sortProp.value=u,c.sortOrder.value=d,null==o||o.store.commit("changeSortCondition")};return{handleHeaderClick:(e,t)=>{!t.filters&&t.sortable?l(e,t,!1):t.filterable&&!t.sortable&&n(e),null==o||o.emit("header-click",t,e)},handleHeaderContextMenu:(e,t)=>{null==o||o.emit("header-contextmenu",t,e)},handleMouseDown:(n,l)=>{var c,d;if(isClient&&!(l.children&&l.children.length>0)&&r.value&&e.border){s.value=!0;const u=o;t("set-drag-visible",!0);const h=null==u?void 0:u.vnode.el,p=null==h?void 0:h.getBoundingClientRect().left,g=null==(d=null==(c=null==i?void 0:i.vnode)?void 0:c.el)?void 0:d.querySelector(`th.${l.id}`),m=g.getBoundingClientRect(),f=m.left-p+30;addClass(g,"noclick"),a.value={startMouseLeft:n.clientX,startLeft:m.right-p,startColumnLeft:m.left-p,tableLeft:p};const v=null==u?void 0:u.refs.resizeProxy;v.style.left=`${a.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const b=e=>{const t=e.clientX-a.value.startMouseLeft,i=a.value.startLeft+t;v.style.left=`${Math.max(f,i)}px`},_=()=>{if(s.value){const{startColumnLeft:i,startLeft:o}=a.value,c=Number.parseInt(v.style.left,10)-i;l.width=l.realWidth=c,null==u||u.emit("header-dragend",l.width,o-i,l,n),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",s.value=!1,r.value=null,a.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",_),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{removeClass(g,"noclick")},0)};document.addEventListener("mousemove",b),document.addEventListener("mouseup",_)}},handleMouseMove:(t,i)=>{var o;if(i.children&&i.children.length>0)return;const n=t.target;if(!isElement(n))return;const a=null==n?void 0:n.closest("th");if(i&&i.resizable&&a&&!s.value&&e.border){const n=a.getBoundingClientRect(),l=document.body.style,c=(null==(o=a.parentNode)?void 0:o.lastElementChild)===a,d=e.allowDragLastColumn||!c;n.width>12&&n.right-t.clientX<8&&d?(l.cursor="col-resize",hasClass(a,"is-sortable")&&(a.style.cursor="col-resize"),r.value=i):s.value||(l.cursor="",hasClass(a,"is-sortable")&&(a.style.cursor="pointer"),r.value=null)}},handleMouseOut:()=>{isClient&&(document.body.style.cursor="")},handleSortClick:l,handleFilterClick:n}}function useStyle$2(e){const t=inject(TABLE_INJECTION_KEY),i=useNamespace("table");return{getHeaderRowStyle:e=>{const i=null==t?void 0:t.props.headerRowStyle;return isFunction$1(i)?i.call(null,{rowIndex:e}):i},getHeaderRowClass:e=>{const i=[],o=null==t?void 0:t.props.headerRowClassName;return isString$1(o)?i.push(o):isFunction$1(o)&&i.push(o.call(null,{rowIndex:e})),i.join(" ")},getHeaderCellStyle:(i,o,n,r)=>{var s;let a=null!=(s=null==t?void 0:t.props.headerCellStyle)?s:{};isFunction$1(a)&&(a=a.call(null,{rowIndex:i,columnIndex:o,row:n,column:r}));const l=getFixedColumnOffset(o,r.fixed,e.store,n);return ensurePosition(l,"left"),ensurePosition(l,"right"),Object.assign({},a,l)},getHeaderCellClass:(o,n,r,s)=>{const a=getFixedColumnsClass(i.b(),n,s.fixed,e.store,r),l=[s.id,s.order,s.headerAlign,s.className,s.labelClassName,...a];s.children||l.push("is-leaf"),s.sortable&&l.push("is-sortable");const c=null==t?void 0:t.props.headerCellClassName;return isString$1(c)?l.push(c):isFunction$1(c)&&l.push(c.call(null,{rowIndex:o,columnIndex:n,row:r,column:s})),l.push(i.e("cell")),l.filter(e=>Boolean(e)).join(" ")}}}const getAllColumns=e=>{const t=[];return e.forEach(e=>{e.children?(t.push(e),t.push.apply(t,getAllColumns(e.children))):t.push(e)}),t},convertToRows=e=>{let t=1;const i=(e,o)=>{if(o&&(e.level=o.level+1,t{i(o,e),t+=o.colSpan}),e.colSpan=t}else e.colSpan=1};e.forEach(e=>{e.level=1,i(e,void 0)});const o=[];for(let n=0;n{e.children?(e.rowSpan=1,e.children.forEach(e=>e.isSubColumn=!0)):e.rowSpan=t-e.level+1,o[e.level-1].push(e)}),o};function useUtils$1(e){const t=inject(TABLE_INJECTION_KEY),i=computed$1(()=>convertToRows(e.store.states.originColumns.value));return{isGroup:computed$1(()=>{const e=i.value.length>1;return e&&t&&(t.state.isGroup.value=!0),e}),toggleAllSelection:e=>{e.stopPropagation(),null==t||t.store.commit("toggleAllSelection")},columnRows:i}}var TableHeader=defineComponent({name:"ElTableHeader",components:{ElCheckbox:ElCheckbox},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const i=getCurrentInstance$1(),o=inject(TABLE_INJECTION_KEY),n=useNamespace("table"),r=ref$1({}),{onColumnsChange:s,onScrollableChange:a}=useLayoutObserver(o),l="auto"===(null==o?void 0:o.props.tableLayout),c=reactive$1(new Map),d=ref$1();let u;const h=()=>{u=setTimeout(()=>{c.size>0&&(c.forEach((e,t)=>{const i=d.value.querySelector(`.${t.replace(/\s/g,".")}`);if(i){const t=i.getBoundingClientRect().width;e.width=t||e.width}}),c.clear())})};watch(c,h),onBeforeUnmount(()=>{u&&(clearTimeout(u),u=void 0)}),onMounted(async()=>{await nextTick(),await nextTick();const{prop:t,order:i}=e.defaultSort;null==o||o.store.commit("sort",{prop:t,order:i,init:!0}),h()});const{handleHeaderClick:p,handleHeaderContextMenu:g,handleMouseDown:m,handleMouseMove:f,handleMouseOut:v,handleSortClick:b,handleFilterClick:_}=useEvent(e,t),{getHeaderRowStyle:y,getHeaderRowClass:C,getHeaderCellStyle:w,getHeaderCellClass:x}=useStyle$2(e),{isGroup:S,toggleAllSelection:k,columnRows:E}=useUtils$1(e);return i.state={onColumnsChange:s,onScrollableChange:a},i.filterPanels=r,{ns:n,filterPanels:r,onColumnsChange:s,onScrollableChange:a,columnRows:E,getHeaderRowClass:C,getHeaderRowStyle:y,getHeaderCellClass:x,getHeaderCellStyle:w,handleHeaderClick:p,handleHeaderContextMenu:g,handleMouseDown:m,handleMouseMove:f,handleMouseOut:v,handleSortClick:b,handleFilterClick:_,isGroup:S,toggleAllSelection:k,saveIndexSelection:c,isTableLayoutAuto:l,theadRef:d,updateFixedColumnStyle:h}},render(){const{ns:e,isGroup:t,columnRows:i,getHeaderCellStyle:o,getHeaderCellClass:n,getHeaderRowClass:r,getHeaderRowStyle:s,handleHeaderClick:a,handleHeaderContextMenu:l,handleMouseDown:c,handleMouseMove:d,handleSortClick:u,handleMouseOut:h,store:p,$parent:g,saveIndexSelection:m,isTableLayoutAuto:f}=this;let v=1;return h$2("thead",{ref:"theadRef",class:{[e.is("group")]:t}},i.map((e,t)=>h$2("tr",{class:r(t),key:t,style:s(t)},e.map((i,r)=>{i.rowSpan>v&&(v=i.rowSpan);const s=n(t,r,e,i);return f&&i.fixed&&m.set(s,i),h$2("th",{class:s,colspan:i.colSpan,key:`${i.id}-thead`,rowspan:i.rowSpan,style:o(t,r,e,i),onClick:e=>{var t;(null==(t=e.currentTarget)?void 0:t.classList.contains("noclick"))||a(e,i)},onContextmenu:e=>l(e,i),onMousedown:e=>c(e,i),onMousemove:e=>d(e,i),onMouseout:h},[h$2("div",{class:["cell",i.filteredValue&&i.filteredValue.length>0?"highlight":""]},[i.renderHeader?i.renderHeader({column:i,$index:r,store:p,_self:g}):i.label,i.sortable&&h$2("span",{onClick:e=>u(e,i),class:"caret-wrapper"},[h$2("i",{onClick:e=>u(e,i,"ascending"),class:"sort-caret ascending"}),h$2("i",{onClick:e=>u(e,i,"descending"),class:"sort-caret descending"})]),i.filterable&&h$2(FilterPanel,{store:p,placement:i.filterPlacement||"bottom-start",appendTo:null==g?void 0:g.appendFilterPanelTo,column:i,upDataColumn:(e,t)=>{i[e]=t}},{"filter-icon":()=>i.renderFilterIcon?i.renderFilterIcon({filterOpened:i.filterOpened}):null})])])}))))}});function isGreaterThan(e,t,i=.03){return e-t>i}function useEvents(e){const t=inject(TABLE_INJECTION_KEY),i=ref$1(""),o=ref$1(h$2("div")),n=(i,o,n)=>{var r,s,a;const l=t,c=getCell(i);let d=null;const u=null==(r=null==l?void 0:l.vnode.el)?void 0:r.dataset.prefix;c&&(d=getColumnByCell({columns:null!=(a=null==(s=e.store)?void 0:s.states.columns.value)?a:[]},c,u),d&&(null==l||l.emit(`cell-${n}`,o,d,c,i))),null==l||l.emit(`row-${n}`,o,d,i)},r=debounce(t=>{var i;null==(i=e.store)||i.commit("setHoverRow",t)},30),s=debounce(()=>{var t;null==(t=e.store)||t.commit("setHoverRow",null)},30),a=(e,t,i)=>{var o;let n=null==(o=null==t?void 0:t.target)?void 0:o.parentNode;for(;e>1&&(n=null==n?void 0:n.nextSibling,n&&"TR"===n.nodeName);)i(n,"hover-row hover-fixed-row"),e--};return{handleDoubleClick:(e,t)=>{n(e,t,"dblclick")},handleClick:(t,i)=>{var o;null==(o=e.store)||o.commit("setCurrentRow",i),n(t,i,"click")},handleContextMenu:(e,t)=>{n(e,t,"contextmenu")},handleMouseEnter:r,handleMouseLeave:s,handleCellMouseEnter:(i,o,n)=>{var r,s,l,c,d,u,h,p;if(!t)return;const g=t,m=getCell(i),f=null==(r=null==g?void 0:g.vnode.el)?void 0:r.dataset.prefix;let v=null;if(m){if(v=getColumnByCell({columns:null!=(l=null==(s=e.store)?void 0:s.states.columns.value)?l:[]},m,f),!v)return;m.rowSpan>1&&a(m.rowSpan,i,addClass);const t=g.hoverState={cell:m,column:v,row:o};null==g||g.emit("cell-mouse-enter",t.row,t.column,t.cell,i)}if(!n)return void((null==(c=removePopper)?void 0:c.trigger)===m&&(null==(d=removePopper)||d()));const b=i.target.querySelector(".cell");if(!hasClass(b,`${f}-tooltip`)||!b.childNodes.length)return;const _=document.createRange();_.setStart(b,0),_.setEnd(b,b.childNodes.length);const{width:y,height:C}=_.getBoundingClientRect(),{width:w,height:x}=b.getBoundingClientRect(),{top:S,left:k,right:E,bottom:I}=(e=>{const t=window.getComputedStyle(e,null);return{left:Number.parseInt(t.paddingLeft,10)||0,right:Number.parseInt(t.paddingRight,10)||0,top:Number.parseInt(t.paddingTop,10)||0,bottom:Number.parseInt(t.paddingBottom,10)||0}})(b),T=S+I;isGreaterThan(y+(k+E),w)||isGreaterThan(C+T,x)||isGreaterThan(b.scrollWidth,w)?createTablePopper(n,null!=(u=(null==m?void 0:m.innerText)||(null==m?void 0:m.textContent))?u:"",o,v,m,g):(null==(h=removePopper)?void 0:h.trigger)===m&&(null==(p=removePopper)||p())},handleCellMouseLeave:e=>{const i=getCell(e);if(!i)return;i.rowSpan>1&&a(i.rowSpan,e,removeClass);const o=null==t?void 0:t.hoverState;null==t||t.emit("cell-mouse-leave",null==o?void 0:o.row,null==o?void 0:o.column,null==o?void 0:o.cell,e)},tooltipContent:i,tooltipTrigger:o}}function useStyles(e){const t=inject(TABLE_INJECTION_KEY),i=useNamespace("table");return{getRowStyle:(e,i)=>{const o=null==t?void 0:t.props.rowStyle;return isFunction$1(o)?o.call(null,{row:e,rowIndex:i}):o||null},getRowClass:(o,n)=>{var r;const s=[i.e("row")];(null==t?void 0:t.props.highlightCurrentRow)&&o===(null==(r=e.store)?void 0:r.states.currentRow.value)&&s.push("current-row"),e.stripe&&n%2==1&&s.push(i.em("row","striped"));const a=null==t?void 0:t.props.rowClassName;return isString$1(a)?s.push(a):isFunction$1(a)&&s.push(a.call(null,{row:o,rowIndex:n})),s},getCellStyle:(i,o,n,r)=>{const s=null==t?void 0:t.props.cellStyle;let a=null!=s?s:{};isFunction$1(s)&&(a=s.call(null,{rowIndex:i,columnIndex:o,row:n,column:r}));const l=getFixedColumnOffset(o,null==e?void 0:e.fixed,e.store);return ensurePosition(l,"left"),ensurePosition(l,"right"),Object.assign({},a,l)},getCellClass:(o,n,r,s,a)=>{const l=getFixedColumnsClass(i.b(),n,null==e?void 0:e.fixed,e.store,void 0,a),c=[s.id,s.align,s.className,...l],d=null==t?void 0:t.props.cellClassName;return isString$1(d)?c.push(d):isFunction$1(d)&&c.push(d.call(null,{rowIndex:o,columnIndex:n,row:r,column:s})),c.push(i.e("cell")),c.filter(e=>Boolean(e)).join(" ")},getSpan:(e,i,o,n)=>{let r=1,s=1;const a=null==t?void 0:t.props.spanMethod;if(isFunction$1(a)){const t=a({row:e,column:i,rowIndex:o,columnIndex:n});isArray$1(t)?(r=t[0],s=t[1]):isObject(t)&&(r=t.rowspan,s=t.colspan)}return{rowspan:r,colspan:s}},getColspanRealWidth:(e,t,i)=>{if(t<1)return e[i].realWidth;const o=e.map(({realWidth:e,width:t})=>e||t).slice(i,i+t);return Number(o.reduce((e,t)=>Number(e)+Number(t),-1))}}}const __default__$8=defineComponent({name:"TableTdWrapper"}),_sfc_main$l=defineComponent({...__default__$8,props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup:e=>(t,i)=>(openBlock(),createElementBlock("td",{colspan:e.colspan,rowspan:e.rowspan},[renderSlot(t.$slots,"default")],8,["colspan","rowspan"]))});var TdWrapper=_export_sfc$1(_sfc_main$l,[["__file","td-wrapper.vue"]]);function useRender$1(e){const t=inject(TABLE_INJECTION_KEY),i=useNamespace("table"),{handleDoubleClick:o,handleClick:n,handleContextMenu:r,handleMouseEnter:s,handleMouseLeave:a,handleCellMouseEnter:l,handleCellMouseLeave:c,tooltipContent:d,tooltipTrigger:u}=useEvents(e),{getRowStyle:h,getRowClass:p,getCellStyle:g,getCellClass:m,getSpan:f,getColspanRealWidth:v}=useStyles(e),b=computed$1(()=>{var t;return null==(t=e.store)?void 0:t.states.columns.value.findIndex(({type:e})=>"default"===e)}),_=(e,i)=>{var o;const n=null==(o=null==t?void 0:t.props)?void 0:o.rowKey;return n?getRowIdentity(e,n):i},y=(d,u,y,w=!1)=>{const{tooltipEffect:x,tooltipOptions:S,store:k}=e,{indent:E,columns:I}=k.states,T=p(d,u);let D=!0;y&&(T.push(i.em("row",`level-${y.level}`)),D=!!y.display);return h$2("tr",{style:[D?null:{display:"none"},h(d,u)],class:T,key:_(d,u),onDblclick:e=>o(e,d),onClick:e=>n(e,d),onContextmenu:e=>r(e,d),onMouseenter:()=>s(u),onMouseleave:a},I.value.map((i,o)=>{const{rowspan:n,colspan:r}=f(d,i,u,o);if(!n||!r)return null;const s=Object.assign({},i);s.realWidth=v(I.value,r,o);const a={store:k,_self:e.context||t,column:s,row:d,$index:u,cellIndex:o,expanded:w};o===b.value&&y&&(a.treeNode={indent:y.level&&y.level*E.value,level:y.level},isBoolean(y.expanded)&&(a.treeNode.expanded=y.expanded,"loading"in y&&(a.treeNode.loading=y.loading),"noLazyChildren"in y&&(a.treeNode.noLazyChildren=y.noLazyChildren)));const h=`${_(d,u)},${o}`,p=s.columnKey||s.rawColumnKey||"",T=i.showOverflowTooltip&&merge$1({effect:x},S,i.showOverflowTooltip);return h$2(TdWrapper,{style:g(u,o,d,i),class:m(u,o,d,i,r-1),key:`${p}${h}`,rowspan:n,colspan:r,onMouseenter:e=>l(e,d,T),onMouseleave:c},{default:()=>C(o,i,a)})}))},C=(e,t,i)=>t.renderCell(i);return{wrappedRowRender:(o,n)=>{const r=e.store,{isRowExpanded:s,assertRowKey:a}=r,{treeData:l,lazyTreeNodeMap:c,childrenColumnName:d,rowKey:u}=r.states,h=r.states.columns.value;if(h.some(({type:e})=>"expand"===e)){const e=s(o),a=y(o,n,void 0,e),l=null==t?void 0:t.renderExpanded;if(!l)return console.error("[Element Error]renderExpanded is required."),a;const c=[[a]];return(t.props.preserveExpandedContent||e)&&c[0].push(h$2("tr",{key:`expanded-row__${a.key}`,style:{display:e?"":"none"}},[h$2("td",{colspan:h.length,class:`${i.e("cell")} ${i.e("expanded-cell")}`},[l({row:o,$index:n,store:r,expanded:e})])])),c}if(Object.keys(l.value).length){a();const e=getRowIdentity(o,u.value);let t=l.value[e],i=null;t&&(i={expanded:t.expanded,level:t.level,display:!0,noLazyChildren:void 0,loading:void 0},isBoolean(t.lazy)&&(i&&isBoolean(t.loaded)&&t.loaded&&(i.noLazyChildren=!(t.children&&t.children.length)),i.loading=t.loading));const r=[y(o,n,null!=i?i:void 0)];if(t){let i=0;const s=(e,o)=>{e&&e.length&&o&&e.forEach(e=>{const a={display:o.display&&o.expanded,level:o.level+1,expanded:!1,noLazyChildren:!1,loading:!1},h=getRowIdentity(e,u.value);if(isPropAbsent(h))throw new Error("For nested data item, row-key is required.");if(t={...l.value[h]},t&&(a.expanded=t.expanded,t.level=t.level||a.level,t.display=!(!t.expanded||!a.display),isBoolean(t.lazy)&&(isBoolean(t.loaded)&&t.loaded&&(a.noLazyChildren=!(t.children&&t.children.length)),a.loading=t.loading)),i++,r.push(y(e,n+i,a)),t){const i=c.value[h]||e[d.value];s(i,t)}})};t.display=!0;const a=c.value[e]||o[d.value];s(a,t)}return r}return y(o,n,void 0)},tooltipContent:d,tooltipTrigger:u}}const defaultProps$2={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var TableBody=defineComponent({name:"ElTableBody",props:defaultProps$2,setup(e){var t;const i=getCurrentInstance$1(),o=inject(TABLE_INJECTION_KEY),n=useNamespace("table"),{wrappedRowRender:r,tooltipContent:s,tooltipTrigger:a}=useRender$1(e),{onColumnsChange:l,onScrollableChange:c}=useLayoutObserver(o),d=[];return watch(null==(t=e.store)?void 0:t.states.hoverRow,(t,o)=>{var r,s;const a=null==i?void 0:i.vnode.el,l=Array.from((null==a?void 0:a.children)||[]).filter(e=>null==e?void 0:e.classList.contains(`${n.e("row")}`));let c=t;const u=null==(r=l[c])?void 0:r.childNodes;if(null==u?void 0:u.length){let e=0;const i=Array.from(u).reduce((t,i,o)=>{var n,r;return(null==(n=u[o])?void 0:n.colSpan)>1&&(e=null==(r=u[o])?void 0:r.colSpan),"TD"!==i.nodeName&&0===e&&t.push(o),e>0&&e--,t},[]);i.forEach(e=>{var i;for(c=t;c>0;){const t=null==(i=l[c-1])?void 0:i.childNodes;if(t[e]&&"TD"===t[e].nodeName&&t[e].rowSpan>1){addClass(t[e],"hover-cell"),d.push(t[e]);break}c--}})}else d.forEach(e=>removeClass(e,"hover-cell")),d.length=0;(null==(s=e.store)?void 0:s.states.isComplex.value)&&isClient&&rAF(()=>{const e=l[o],i=l[t];e&&!e.classList.contains("hover-fixed-row")&&removeClass(e,"hover-row"),i&&addClass(i,"hover-row")})}),onUnmounted(()=>{var e;null==(e=removePopper)||e()}),{ns:n,onColumnsChange:l,onScrollableChange:c,wrappedRowRender:r,tooltipContent:s,tooltipTrigger:a}},render(){const{wrappedRowRender:e,store:t}=this;return h$2("tbody",{tabIndex:-1},[((null==t?void 0:t.states.data.value)||[]).reduce((t,i)=>t.concat(e(i,t.length)),[])])}});function useMapState(){const e=inject(TABLE_INJECTION_KEY),t=null==e?void 0:e.store,i=computed$1(()=>{var e;return null!=(e=null==t?void 0:t.states.fixedLeafColumnsLength.value)?e:0}),o=computed$1(()=>{var e;return null!=(e=null==t?void 0:t.states.rightFixedColumns.value.length)?e:0}),n=computed$1(()=>{var e;return null!=(e=null==t?void 0:t.states.columns.value.length)?e:0}),r=computed$1(()=>{var e;return null!=(e=null==t?void 0:t.states.fixedColumns.value.length)?e:0}),s=computed$1(()=>{var e;return null!=(e=null==t?void 0:t.states.rightFixedColumns.value.length)?e:0});return{leftFixedLeafCount:i,rightFixedLeafCount:o,columnsCount:n,leftFixedCount:r,rightFixedCount:s,columns:computed$1(()=>{var e;return null!=(e=null==t?void 0:t.states.columns.value)?e:[]})}}function useStyle$1(e){const{columns:t}=useMapState(),i=useNamespace("table");return{getCellClasses:(t,o)=>{const n=t[o],r=[i.e("cell"),n.id,n.align,n.labelClassName,...getFixedColumnsClass(i.b(),o,n.fixed,e.store)];return n.className&&r.push(n.className),n.children||r.push(i.is("leaf")),r},getCellStyles:(t,i)=>{const o=getFixedColumnOffset(i,t.fixed,e.store);return ensurePosition(o,"left"),ensurePosition(o,"right"),o},columns:t}}var TableFooter=defineComponent({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=inject(TABLE_INJECTION_KEY),i=useNamespace("table"),{getCellClasses:o,getCellStyles:n,columns:r}=useStyle$1(e),{onScrollableChange:s,onColumnsChange:a}=useLayoutObserver(t);return{ns:i,onScrollableChange:s,onColumnsChange:a,getCellClasses:o,getCellStyles:n,columns:r}},render(){const{columns:e,getCellStyles:t,getCellClasses:i,summaryMethod:o,sumText:n}=this,r=this.store.states.data.value;let s=[];return o?s=o({columns:e,data:r}):e.forEach((e,t)=>{if(0===t)return void(s[t]=n);const i=r.map(t=>Number(t[e.property])),o=[];let a=!0;i.forEach(e=>{if(!Number.isNaN(+e)){a=!1;const t=`${e}`.split(".")[1];o.push(t?t.length:0)}});const l=Math.max.apply(null,o);s[t]=a?"":i.reduce((e,t)=>{const i=Number(t);return Number.isNaN(+i)?e:Number.parseFloat((e+t).toFixed(Math.min(l,20)))},0)}),h$2(h$2("tfoot",[h$2("tr",{},[...e.map((o,n)=>h$2("td",{key:n,colspan:o.colSpan,rowspan:o.rowSpan,class:i(e,n),style:t(o,n)},[h$2("div",{class:["cell",o.labelClassName]},[s[n]])]))])]))}});function useUtils(e){return{setCurrentRow:t=>{e.commit("setCurrentRow",t)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(t,i,o=!0)=>{e.toggleRowSelection(t,i,!1,o),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:t=>{e.clearFilter(t)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(t,i)=>{e.toggleRowExpansionAdapter(t,i)},clearSort:()=>{e.clearSort()},sort:(t,i)=>{e.commit("sort",{prop:t,order:i})},updateKeyChildren:(t,i)=>{e.updateKeyChildren(t,i)}}}function useStyle(e,t,i,o){const n=ref$1(!1),r=ref$1(null),s=ref$1(!1),a=ref$1({width:null,height:null,headerHeight:null}),l=ref$1(!1),c=ref$1(),d=ref$1(0),u=ref$1(0),h=ref$1(0),p=ref$1(0),g=ref$1(0);watchEffect(()=>{var i;t.setHeight(null!=(i=e.height)?i:null)}),watchEffect(()=>{var i;t.setMaxHeight(null!=(i=e.maxHeight)?i:null)}),watch(()=>[e.currentRowKey,i.states.rowKey],([e,t])=>{unref(t)&&unref(e)&&i.setCurrentRowKey(`${e}`)},{immediate:!0}),watch(()=>e.data,e=>{o.store.commit("setData",e)},{immediate:!0,deep:!0}),watchEffect(()=>{e.expandRowKeys&&i.setExpandRowKeysAdapter(e.expandRowKeys)});const m=computed$1(()=>e.height||e.maxHeight||i.states.fixedColumns.value.length>0||i.states.rightFixedColumns.value.length>0),f=computed$1(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),v=()=>{m.value&&t.updateElsHeight(),t.updateColumnsWidth(),"undefined"!=typeof window&&requestAnimationFrame(_)};onMounted(async()=>{await nextTick(),i.updateColumns(),y(),requestAnimationFrame(v);const t=o.vnode.el,n=o.refs.headerWrapper;e.flexible&&t&&t.parentElement&&(t.parentElement.style.minWidth="0"),a.value={width:c.value=t.offsetWidth,height:t.offsetHeight,headerHeight:e.showHeader&&n?n.offsetHeight:null},i.states.columns.value.forEach(e=>{e.filteredValue&&e.filteredValue.length&&o.store.commit("filterChange",{column:e,values:e.filteredValue,silent:!0})}),o.$ready=!0});const b=e=>{const{tableWrapper:i}=o.refs;((e,i)=>{if(!e)return;const o=Array.from(e.classList).filter(e=>!e.startsWith("is-scrolling-"));o.push(t.scrollX.value?i:"is-scrolling-none"),e.className=o.join(" ")})(i,e)},_=function(){if(!o.refs.scrollBarRef)return;if(!t.scrollX.value){const e="is-scrolling-none";return void((e=>{const{tableWrapper:t}=o.refs;return!(!t||!t.classList.contains(e))})(e)||b(e))}const e=o.refs.scrollBarRef.wrapRef;if(!e)return;const{scrollLeft:i,offsetWidth:n,scrollWidth:r}=e,{headerWrapper:s,footerWrapper:a}=o.refs;s&&(s.scrollLeft=i),a&&(a.scrollLeft=i);b(i>=r-n-1?"is-scrolling-right":0===i?"is-scrolling-left":"is-scrolling-middle")},y=()=>{o.refs.scrollBarRef&&(o.refs.scrollBarRef.wrapRef&&useEventListener(o.refs.scrollBarRef.wrapRef,"scroll",_,{passive:!0}),e.fit?useResizeObserver(o.vnode.el,C):useEventListener(window,"resize",C),useResizeObserver(o.refs.bodyWrapper,()=>{var e,t;C(),null==(t=null==(e=o.refs)?void 0:e.scrollBarRef)||t.update()}))},C=()=>{var t,i,n,r;const s=o.vnode.el;if(!o.$ready||!s)return;let l=!1;const{width:f,height:b,headerHeight:_}=a.value,y=c.value=s.offsetWidth;f!==y&&(l=!0);const C=s.offsetHeight;(e.height||m.value)&&b!==C&&(l=!0);const w="fixed"===e.tableLayout?o.refs.headerWrapper:null==(t=o.refs.tableHeaderRef)?void 0:t.$el;e.showHeader&&(null==w?void 0:w.offsetHeight)!==_&&(l=!0),d.value=(null==(i=o.refs.tableWrapper)?void 0:i.scrollHeight)||0,h.value=(null==w?void 0:w.scrollHeight)||0,p.value=(null==(n=o.refs.footerWrapper)?void 0:n.offsetHeight)||0,g.value=(null==(r=o.refs.appendWrapper)?void 0:r.offsetHeight)||0,u.value=d.value-h.value-p.value-g.value,l&&(a.value={width:y,height:C,headerHeight:e.showHeader&&(null==w?void 0:w.offsetHeight)||0},v())},w=useFormSize(),x=computed$1(()=>{const{bodyWidth:e,scrollY:i,gutterWidth:o}=t;return e.value?e.value-(i.value?o:0)+"px":""}),S=computed$1(()=>e.maxHeight?"fixed":e.tableLayout),k=computed$1(()=>{if(e.data&&e.data.length)return;let t="100%";e.height&&u.value&&(t=`${u.value}px`);const i=c.value;return{width:i?`${i}px`:"",height:t}}),E=computed$1(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${h.value+p.value}px)`}:{maxHeight:+e.maxHeight-h.value-p.value+"px"}:{});return{isHidden:n,renderExpanded:r,setDragVisible:e=>{s.value=e},isGroup:l,handleMouseLeave:()=>{o.store.commit("setHoverRow",null),o.hoverState&&(o.hoverState=null)},handleHeaderFooterMousewheel:(e,t)=>{const{pixelX:i,pixelY:n}=t;Math.abs(i)>=Math.abs(n)&&(o.refs.bodyWrapper.scrollLeft+=t.pixelX/5)},tableSize:w,emptyBlockStyle:k,resizeProxyVisible:s,bodyWidth:x,resizeState:a,doLayout:v,tableBodyStyles:f,tableLayout:S,scrollbarViewStyle:{display:"inline-block",verticalAlign:"middle"},scrollbarStyle:E}}function useKeyRender(e){const t=ref$1();onMounted(()=>{(()=>{const i=e.vnode.el.querySelector(".hidden-columns"),o=e.store.states.updateOrderFns;t.value=new MutationObserver(()=>{o.forEach(e=>e())}),t.value.observe(i,{childList:!0,subtree:!0})})()}),onUnmounted(()=>{var e;null==(e=t.value)||e.disconnect()})}var defaultProps$1={data:{type:Array,default:()=>[]},size:useSizeProp,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:[Boolean,Object],tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};function hColgroup(e){const t="auto"===e.tableLayout;let i=e.columns||[];t&&i.every(({width:e})=>isUndefined(e))&&(i=[]);return h$2("colgroup",{},i.map(i=>h$2("col",(i=>{const o={key:`${e.tableLayout}_${i.id}`,style:{},name:void 0};return t?o.style={width:`${i.width}px`}:o.name=i.id,o})(i))))}hColgroup.props=["columns","tableLayout"];const useScrollbar=()=>{const e=ref$1(),t=(t,i)=>{const o=e.value;o&&isNumber(i)&&["Top","Left"].includes(t)&&o[`setScroll${t}`](i)};return{scrollBarRef:e,scrollTo:(t,i)=>{const o=e.value;o&&o.scrollTo(t,i)},setScrollTop:e=>t("Top",e),setScrollLeft:e=>t("Left",e)}};var v=!1,o,f,s,u,d,N,l,p,m,w,D,x,E,M,F;function a(){if(!v){v=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),i=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(x=/\b(iPhone|iP[ao]d)/.exec(e),E=/\b(iP[ao]d)/.exec(e),w=/Android/i.exec(e),M=/FBAN\/\w+;/i.exec(e),F=/Mobile/i.exec(e),D=!!/Win64/.exec(e),t){(o=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN)&&document&&document.documentMode&&(o=document.documentMode);var n=/(?:Trident\/(\d+.\d+))/.exec(e);N=n?parseFloat(n[1])+4:o,f=t[2]?parseFloat(t[2]):NaN,s=t[3]?parseFloat(t[3]):NaN,(u=t[4]?parseFloat(t[4]):NaN)?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),d=t&&t[1]?parseFloat(t[1]):NaN):d=NaN}else o=f=s=d=u=NaN;if(i){if(i[1]){var r=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);l=!r||parseFloat(r[1].replace("_","."))}else l=!1;p=!!i[2],m=!!i[3]}else l=p=m=!1}}var _={ie:function(){return a()||o},ieCompatibilityMode:function(){return a()||N>o},ie64:function(){return _.ie()&&D},firefox:function(){return a()||f},opera:function(){return a()||s},webkit:function(){return a()||u},safari:function(){return _.webkit()},chrome:function(){return a()||d},windows:function(){return a()||p},osx:function(){return a()||l},linux:function(){return a()||m},iphone:function(){return a()||x},mobile:function(){return a()||x||E||w||F},nativeApp:function(){return a()||M},android:function(){return a()||w},ipad:function(){return a()||E}},A=_,c=!!(typeof window<"u"&&window.document&&window.document.createElement),U={canUseDOM:c},h=U,X;function S(e,t){if(!h.canUseDOM||t&&!("addEventListener"in document))return!1;var i="on"+e,o=i in document;if(!o){var n=document.createElement("div");n.setAttribute(i,"return;"),o="function"==typeof n[i]}return!o&&X&&"wheel"===e&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}h.canUseDOM&&(X=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("",""));var b=S,O=10,I=40,P=800;function T(e){var t=0,i=0,o=0,n=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),o=t*O,n=i*O,"deltaY"in e&&(n=e.deltaY),"deltaX"in e&&(o=e.deltaX),(o||n)&&e.deltaMode&&(1==e.deltaMode?(o*=I,n*=I):(o*=P,n*=P)),o&&!t&&(t=o<1?-1:1),n&&!i&&(i=n<1?-1:1),{spinX:t,spinY:i,pixelX:o,pixelY:n}}T.getEventType=function(){return A.firefox()?"DOMMouseScroll":b("wheel")?"wheel":"mousewheel"};var Y=T; /** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */const mousewheel=function(e,t){if(e&&e.addEventListener){const i=function(e){const i=Y(e);t&&Reflect.apply(t,this,[e,i])};e.addEventListener("wheel",i,{passive:!0})}},Mousewheel={beforeMount(e,t){mousewheel(e,t.value)}};let tableIdSeed=1;const _sfc_main$k=defineComponent({name:"ElTable",directives:{Mousewheel:Mousewheel},components:{TableHeader:TableHeader,TableBody:TableBody,TableFooter:TableFooter,ElScrollbar:ElScrollbar,hColgroup:hColgroup},props:defaultProps$1,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e){const{t:t}=useLocale(),i=useNamespace("table"),o=getCurrentInstance$1();provide(TABLE_INJECTION_KEY,o);const n=createStore(o,e);o.store=n;const r=new TableLayout({store:o.store,table:o,fit:e.fit,showHeader:e.showHeader});o.layout=r;const s=computed$1(()=>0===(n.states.data.value||[]).length),{setCurrentRow:a,getSelectionRows:l,toggleRowSelection:c,clearSelection:d,clearFilter:u,toggleAllSelection:h,toggleRowExpansion:p,clearSort:g,sort:m,updateKeyChildren:f}=useUtils(n),{isHidden:v,renderExpanded:b,setDragVisible:_,isGroup:y,handleMouseLeave:C,handleHeaderFooterMousewheel:w,tableSize:x,emptyBlockStyle:S,resizeProxyVisible:k,bodyWidth:E,resizeState:I,doLayout:T,tableBodyStyles:D,tableLayout:L,scrollbarViewStyle:N,scrollbarStyle:M}=useStyle(e,r,n,o),{scrollBarRef:$,scrollTo:R,setScrollLeft:A,setScrollTop:O}=useScrollbar(),P=debounce(T,50),B=`${i.namespace.value}-table_${tableIdSeed++}`;o.tableId=B,o.state={isGroup:y,resizeState:I,doLayout:T,debouncedUpdateLayout:P};const F=computed$1(()=>{var i;return null!=(i=e.sumText)?i:t("el.table.sumText")}),z=computed$1(()=>{var i;return null!=(i=e.emptyText)?i:t("el.table.emptyText")}),V=computed$1(()=>convertToRows(n.states.originColumns.value)[0]);return useKeyRender(o),onBeforeUnmount(()=>{P.cancel()}),{ns:i,layout:r,store:n,columns:V,handleHeaderFooterMousewheel:w,handleMouseLeave:C,tableId:B,tableSize:x,isHidden:v,isEmpty:s,renderExpanded:b,resizeProxyVisible:k,resizeState:I,isGroup:y,bodyWidth:E,tableBodyStyles:D,emptyBlockStyle:S,debouncedUpdateLayout:P,setCurrentRow:a,getSelectionRows:l,toggleRowSelection:c,clearSelection:d,clearFilter:u,toggleAllSelection:h,toggleRowExpansion:p,clearSort:g,doLayout:T,sort:m,updateKeyChildren:f,t:t,setDragVisible:_,context:o,computedSumText:F,computedEmptyText:z,tableLayout:L,scrollbarViewStyle:N,scrollbarStyle:M,scrollBarRef:$,scrollTo:R,setScrollLeft:A,setScrollTop:O,allowDragLastColumn:e.allowDragLastColumn}}});function _sfc_render$5(e,t,i,o,n,r){const s=resolveComponent("hColgroup"),a=resolveComponent("table-header"),l=resolveComponent("table-body"),c=resolveComponent("table-footer"),d=resolveComponent("el-scrollbar"),u=resolveDirective("mousewheel");return openBlock(),createElementBlock("div",{ref:"tableWrapper",class:normalizeClass([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:0!==(e.store.states.data.value||[]).length&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:normalizeStyle(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:e.handleMouseLeave},[createBaseVNode("div",{class:normalizeClass(e.ns.e("inner-wrapper"))},[createBaseVNode("div",{ref:"hiddenColumns",class:"hidden-columns"},[renderSlot(e.$slots,"default")],512),e.showHeader&&"fixed"===e.tableLayout?withDirectives((openBlock(),createElementBlock("div",{key:0,ref:"headerWrapper",class:normalizeClass(e.ns.e("header-wrapper"))},[createBaseVNode("table",{ref:"tableHeader",class:normalizeClass(e.ns.e("header")),style:normalizeStyle(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[createVNode(s,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),createVNode(a,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[u,e.handleHeaderFooterMousewheel]]):createCommentVNode("v-if",!0),createBaseVNode("div",{ref:"bodyWrapper",class:normalizeClass(e.ns.e("body-wrapper"))},[createVNode(d,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:t=>e.$emit("scroll",t)},{default:withCtx(()=>[createBaseVNode("table",{ref:"tableBody",class:normalizeClass(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:normalizeStyle({width:e.bodyWidth,tableLayout:e.tableLayout})},[createVNode(s,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&"auto"===e.tableLayout?(openBlock(),createBlock(a,{key:0,ref:"tableHeaderRef",class:normalizeClass(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):createCommentVNode("v-if",!0),createVNode(l,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.tooltipEffect,"tooltip-options":e.tooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&"auto"===e.tableLayout?(openBlock(),createBlock(c,{key:1,class:normalizeClass(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):createCommentVNode("v-if",!0)],6),e.isEmpty?(openBlock(),createElementBlock("div",{key:0,ref:"emptyBlock",style:normalizeStyle(e.emptyBlockStyle),class:normalizeClass(e.ns.e("empty-block"))},[createBaseVNode("span",{class:normalizeClass(e.ns.e("empty-text"))},[renderSlot(e.$slots,"empty",{},()=>[createTextVNode(toDisplayString(e.computedEmptyText),1)])],2)],6)):createCommentVNode("v-if",!0),e.$slots.append?(openBlock(),createElementBlock("div",{key:1,ref:"appendWrapper",class:normalizeClass(e.ns.e("append-wrapper"))},[renderSlot(e.$slots,"append")],2)):createCommentVNode("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native","onScroll"])],2),e.showSummary&&"fixed"===e.tableLayout?withDirectives((openBlock(),createElementBlock("div",{key:1,ref:"footerWrapper",class:normalizeClass(e.ns.e("footer-wrapper"))},[createBaseVNode("table",{class:normalizeClass(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:normalizeStyle(e.tableBodyStyles)},[createVNode(s,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),createVNode(c,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[vShow,!e.isEmpty],[u,e.handleHeaderFooterMousewheel]]):createCommentVNode("v-if",!0),e.border||e.isGroup?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(e.ns.e("border-left-patch"))},null,2)):createCommentVNode("v-if",!0)],2),withDirectives(createBaseVNode("div",{ref:"resizeProxy",class:normalizeClass(e.ns.e("column-resize-proxy"))},null,2),[[vShow,e.resizeProxyVisible]])],46,["data-prefix","onMouseleave"])}var Table=_export_sfc$1(_sfc_main$k,[["render",_sfc_render$5],["__file","table.vue"]]);const defaultClassNames={selection:"table-column--selection",expand:"table__expand-column"},cellStarts={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},getDefaultClassName=e=>defaultClassNames[e]||"",cellForced={selection:{renderHeader({store:e,column:t}){var i;return h$2(ElCheckbox,{disabled:e.states.data.value&&0===e.states.data.value.length,size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":null!=(i=e.toggleAllSelection)?i:void 0,modelValue:e.states.isAllSelected.value,ariaLabel:t.label})},renderCell:({row:e,column:t,store:i,$index:o})=>h$2(ElCheckbox,{disabled:!!t.selectable&&!t.selectable.call(null,e,o),size:i.states.tableSize.value,onChange:()=>{i.commit("rowSelectedChanged",e)},onClick:e=>e.stopPropagation(),modelValue:i.isSelected(e),ariaLabel:t.label}),sortable:!1,resizable:!1},index:{renderHeader:({column:e})=>e.label||"#",renderCell({column:e,$index:t}){let i=t+1;const o=e.index;return isNumber(o)?i=t+o:isFunction$1(o)&&(i=o(t)),h$2("div",{},[i])},sortable:!1},expand:{renderHeader:({column:e})=>e.label||"",renderCell({column:e,row:t,store:i,expanded:o}){const{ns:n}=i,r=[n.e("expand-icon")];!e.renderExpand&&o&&r.push(n.em("expand-icon","expanded"));return h$2("div",{class:r,onClick:function(e){e.stopPropagation(),i.toggleRowExpansion(t)}},{default:()=>e.renderExpand?[e.renderExpand({expanded:o})]:[h$2(ElIcon,null,{default:()=>[h$2(arrow_right_default)]})]})},sortable:!1,resizable:!1}};function defaultRenderCell({row:e,column:t,$index:i}){var o;const n=t.property,r=n&&getProp(e,n).value;return t&&t.formatter?t.formatter(e,t,r,i):(null==(o=null==r?void 0:r.toString)?void 0:o.call(r))||""}function treeCellPrefix({row:e,treeNode:t,store:i},o=!1){const{ns:n}=i;if(!t)return o?[h$2("span",{class:n.e("placeholder")})]:null;const r=[],s=function(o){o.stopPropagation(),t.loading||i.loadOrToggle(e)};if(t.indent&&r.push(h$2("span",{class:n.e("indent"),style:{"padding-left":`${t.indent}px`}})),isBoolean(t.expanded)&&!t.noLazyChildren){const e=[n.e("expand-icon"),t.expanded?n.em("expand-icon","expanded"):""];let i=arrow_right_default;t.loading&&(i=loading_default),r.push(h$2("div",{class:e,onClick:s},{default:()=>[h$2(ElIcon,{class:{[n.is("loading")]:t.loading}},{default:()=>[h$2(i)]})]}))}else r.push(h$2("span",{class:n.e("placeholder")}));return r}function getAllAliases(e,t){return e.reduce((e,t)=>(e[t]=t,e),t)}function useWatcher(e,t){const i=getCurrentInstance$1();return{registerComplexWatchers:()=>{const o={realWidth:"width",realMinWidth:"minWidth"},n=getAllAliases(["fixed"],o);Object.keys(n).forEach(n=>{const r=o[n];hasOwn(t,r)&&watch(()=>t[r],t=>{let o=t;"width"===r&&"realWidth"===n&&(o=parseWidth(t)),"minWidth"===r&&"realMinWidth"===n&&(o=parseMinWidth(t)),i.columnConfig.value[r]=o,i.columnConfig.value[n]=o;const s="fixed"===r;e.value.store.scheduleLayout(s)})})},registerNormalWatchers:()=>{const o={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},n=getAllAliases(["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter"],o);Object.keys(n).forEach(e=>{const n=o[e];hasOwn(t,n)&&watch(()=>t[n],t=>{i.columnConfig.value[e]=t})}),["showOverflowTooltip"].forEach(t=>{hasOwn(e.value.props,t)&&watch(()=>e.value.props[t],e=>{i.columnConfig.value[t]=e})})}}}function useRender(e,t,i){const o=getCurrentInstance$1(),n=ref$1(""),r=ref$1(!1),s=ref$1(),a=ref$1(),l=useNamespace("table");watchEffect(()=>{s.value=e.align?`is-${e.align}`:null,s.value}),watchEffect(()=>{a.value=e.headerAlign?`is-${e.headerAlign}`:s.value,a.value});const c=computed$1(()=>{let e=o.vnode.vParent||o.parent;for(;e&&!e.tableId&&!e.columnId;)e=e.vnode.vParent||e.parent;return e}),d=computed$1(()=>{const{store:e}=o.parent;if(!e)return!1;const{treeData:t}=e.states,i=t.value;return i&&Object.keys(i).length>0}),u=ref$1(parseWidth(e.width)),h=ref$1(parseMinWidth(e.minWidth));return{columnId:n,realAlign:s,isSubColumn:r,realHeaderAlign:a,columnOrTableParent:c,setColumnWidth:e=>(u.value&&(e.width=u.value),h.value&&(e.minWidth=h.value),!u.value&&h.value&&(e.width=void 0),e.minWidth||(e.minWidth=80),e.realWidth=Number(isUndefined(e.width)?e.minWidth:e.width),e),setColumnForcedProps:e=>{const t=e.type,i=cellForced[t]||{};Object.keys(i).forEach(t=>{const o=i[t];"className"===t||isUndefined(o)||(e[t]=o)});const o=getDefaultClassName(t);if(o){const t=`${unref(l.namespace)}-${o}`;e.className=e.className?`${e.className} ${t}`:t}return e},setColumnRenders:n=>{e.renderHeader||"selection"!==n.type&&(n.renderHeader=e=>(o.columnConfig.value.label,renderSlot(t,"header",e,()=>[n.label]))),t["filter-icon"]&&(n.renderFilterIcon=e=>renderSlot(t,"filter-icon",e)),t.expand&&(n.renderExpand=e=>renderSlot(t,"expand",e));let r=n.renderCell;return"expand"===n.type?(n.renderCell=e=>h$2("div",{class:"cell"},[r(e)]),i.value.renderExpanded=e=>t.default?t.default(e):t.default):(r=r||defaultRenderCell,n.renderCell=e=>{let s=null;if(t.default){const i=t.default(e);s=i.some(e=>e.type!==Comment)?i:r(e)}else s=r(e);const{columns:a}=i.value.store.states,c=a.value.findIndex(e=>"default"===e.type),u=treeCellPrefix(e,d.value&&e.cellIndex===c),h={class:"cell",style:{}};return n.showOverflowTooltip&&(h.class=`${h.class} ${unref(l.namespace)}-tooltip`,h.style={width:(e.column.realWidth||Number(e.column.width))-1+"px"}),(e=>{function t(e){var t;"ElTableColumn"===(null==(t=null==e?void 0:e.type)?void 0:t.name)&&(e.vParent=o)}isArray$1(e)?e.forEach(e=>t(e)):t(e)})(s),h$2("div",h,[u,s])}),n},getPropsData:(...t)=>t.reduce((t,i)=>(isArray$1(i)&&i.forEach(i=>{t[i]=e[i]}),t),{}),getColumnElIndex:(e,t)=>Array.prototype.indexOf.call(e,t),updateColumnOrder:()=>{i.value.store.commit("updateColumnOrder",o.columnConfig.value)}}}var defaultProps={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(e=>["ascending","descending",null].includes(e))}};let columnIdSeed=1;var ElTableColumn$1=defineComponent({name:"ElTableColumn",components:{ElCheckbox:ElCheckbox},props:defaultProps,setup(e,{slots:t}){const i=getCurrentInstance$1(),o=ref$1({}),n=computed$1(()=>{let e=i.parent;for(;e&&!e.tableId;)e=e.parent;return e}),{registerNormalWatchers:r,registerComplexWatchers:s}=useWatcher(n,e),{columnId:a,isSubColumn:l,realHeaderAlign:c,columnOrTableParent:d,setColumnWidth:u,setColumnForcedProps:h,setColumnRenders:p,getPropsData:g,getColumnElIndex:m,realAlign:f,updateColumnOrder:v}=useRender(e,t,n),b=d.value;a.value=`${"tableId"in b&&b.tableId||"columnId"in b&&b.columnId}_column_${columnIdSeed++}`,onBeforeMount(()=>{l.value=n.value!==b;const t=e.type||"default",d=""===e.sortable||e.sortable,m="selection"!==t&&(isUndefined(e.showOverflowTooltip)?b.props.showOverflowTooltip:e.showOverflowTooltip),v=isUndefined(e.tooltipFormatter)?b.props.tooltipFormatter:e.tooltipFormatter,_={...cellStarts[t],id:a.value,type:t,property:e.prop||e.property,align:f,headerAlign:c,showOverflowTooltip:m,tooltipFormatter:v,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:d,index:e.index,rawColumnKey:i.vnode.key};let y=g(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);y=mergeOptions$1(_,y);y=compose(p,u,h)(y),o.value=y,r(),s()}),onMounted(()=>{var e,t;const r=d.value,s=l.value?null==(e=r.vnode.el)?void 0:e.children:null==(t=r.refs.hiddenColumns)?void 0:t.children,a=()=>m(s||[],i.vnode.el);o.value.getColumnIndex=a;a()>-1&&n.value.store.commit("insertColumn",o.value,l.value?"columnConfig"in r&&r.columnConfig.value:null,v)}),onBeforeUnmount(()=>{const e=o.value.getColumnIndex;(e?e():-1)>-1&&n.value.store.commit("removeColumn",o.value,l.value?"columnConfig"in b&&b.columnConfig.value:null,v)}),i.columnId=a.value,i.columnConfig=o},render(){var t,i,o;try{const e=null==(i=(t=this.$slots).default)?void 0:i.call(t,{row:{},column:{},$index:-1}),n=[];if(isArray$1(e))for(const t of e)"ElTableColumn"===(null==(o=t.type)?void 0:o.name)||2&t.shapeFlag?n.push(t):t.type===Fragment&&isArray$1(t.children)&&t.children.forEach(e=>{1024===(null==e?void 0:e.patchFlag)||isString$1(null==e?void 0:e.children)||n.push(e)});return h$2("div",n)}catch(e){return h$2("div",[])}}});const ElTable=withInstall(Table,{TableColumn:ElTableColumn$1}),ElTableColumn=withNoopInstall(ElTableColumn$1),tabsRootContextKey=Symbol("tabsRootContextKey"),tabBarProps=buildProps({tabs:{type:definePropType(Array),default:()=>mutable([])},tabRefs:{type:definePropType(Object),default:()=>mutable({})}}),COMPONENT_NAME$3="ElTabBar",__default__$7=defineComponent({name:COMPONENT_NAME$3}),_sfc_main$j=defineComponent({...__default__$7,props:tabBarProps,setup(e,{expose:t}){const i=e,o=inject(tabsRootContextKey);o||throwError(COMPONENT_NAME$3,"");const n=useNamespace("tabs"),r=ref$1(),s=ref$1(),a=()=>s.value=(()=>{let e=0,t=0;const n=["top","bottom"].includes(o.props.tabPosition)?"width":"height",r="width"===n?"x":"y",s="x"===r?"left":"top";return i.tabs.every(o=>{if(isUndefined(o.paneName))return!1;const r=i.tabRefs[o.paneName];if(!r)return!1;if(!o.active)return!0;e=r[`offset${capitalize(s)}`],t=r[`client${capitalize(n)}`];const a=window.getComputedStyle(r);return"width"===n&&(t-=Number.parseFloat(a.paddingLeft)+Number.parseFloat(a.paddingRight),e+=Number.parseFloat(a.paddingLeft)),!1}),{[n]:`${t}px`,transform:`translate${capitalize(r)}(${e}px)`}})(),l=[];watch(()=>i.tabs,async()=>{await nextTick(),a(),l.forEach(e=>e.stop()),l.length=0,Object.values(i.tabRefs).forEach(e=>{l.push(useResizeObserver(e,a))})},{immediate:!0});const c=useResizeObserver(r,()=>a());return onBeforeUnmount(()=>{l.forEach(e=>e.stop()),l.length=0,c.stop()}),t({ref:r,update:a}),(e,t)=>(openBlock(),createElementBlock("div",{ref_key:"barRef",ref:r,class:normalizeClass([unref(n).e("active-bar"),unref(n).is(unref(o).props.tabPosition)]),style:normalizeStyle(s.value)},null,6))}});var TabBar=_export_sfc$1(_sfc_main$j,[["__file","tab-bar.vue"]]);const tabNavProps=buildProps({panes:{type:definePropType(Array),default:()=>mutable([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),tabNavEmits={tabClick:(e,t,i)=>i instanceof Event,tabRemove:(e,t)=>t instanceof Event},COMPONENT_NAME$2="ElTabNav",TabNav=defineComponent({name:COMPONENT_NAME$2,props:tabNavProps,emits:tabNavEmits,setup(e,{expose:t,emit:i}){const o=inject(tabsRootContextKey);o||throwError(COMPONENT_NAME$2,"");const n=useNamespace("tabs"),r=useDocumentVisibility(),s=useWindowFocus(),a=ref$1(),l=ref$1(),c=ref$1(),d=ref$1({}),u=ref$1(),h=ref$1(!1),p=ref$1(0),g=ref$1(!1),m=ref$1(!0),f=shallowRef(),v=computed$1(()=>["top","bottom"].includes(o.props.tabPosition)?"width":"height"),b=computed$1(()=>({transform:`translate${"width"===v.value?"X":"Y"}(-${p.value}px)`})),_=()=>{if(!a.value)return;const e=a.value[`offset${capitalize(v.value)}`],t=p.value;if(!t)return;const i=t>e?t-e:0;p.value=i},y=()=>{if(!a.value||!l.value)return;const e=l.value[`offset${capitalize(v.value)}`],t=a.value[`offset${capitalize(v.value)}`],i=p.value;if(e-i<=t)return;const o=e-i>2*t?i+t:e-t;p.value=o},C=async()=>{const t=l.value;if(!(h.value&&c.value&&a.value&&t))return;await nextTick();const i=d.value[e.currentName];if(!i)return;const n=a.value,r=["top","bottom"].includes(o.props.tabPosition),s=i.getBoundingClientRect(),u=n.getBoundingClientRect(),g=r?t.offsetWidth-u.width:t.offsetHeight-u.height,m=p.value;let f=m;r?(s.leftu.right&&(f=m+s.right-u.right)):(s.topu.bottom&&(f=m+(s.bottom-u.bottom))),f=Math.max(f,0),p.value=Math.min(f,g)},w=()=>{var t;if(!l.value||!a.value)return;e.stretch&&(null==(t=u.value)||t.update());const i=l.value[`offset${capitalize(v.value)}`],o=a.value[`offset${capitalize(v.value)}`],n=p.value;o0&&(p.value=0))},x=e=>{let t=0;switch(e.code){case EVENT_CODE.left:case EVENT_CODE.up:t=-1;break;case EVENT_CODE.right:case EVENT_CODE.down:t=1;break;default:return}const i=Array.from(e.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let o=i.indexOf(e.target)+t;o<0?o=i.length-1:o>=i.length&&(o=0),i[o].focus({preventScroll:!0}),i[o].click(),S()},S=()=>{m.value&&(g.value=!0)},k=()=>g.value=!1;return watch(r,e=>{"hidden"===e?m.value=!1:"visible"===e&&setTimeout(()=>m.value=!0,50)}),watch(s,e=>{e?setTimeout(()=>m.value=!0,50):m.value=!1}),useResizeObserver(c,w),onMounted(()=>setTimeout(()=>C(),0)),onUpdated(()=>w()),t({scrollToActiveTab:C,removeFocus:k,focusActiveTab:async()=>{await nextTick();const t=d.value[e.currentName];null==t||t.focus({preventScroll:!0})},tabListRef:l,tabBarRef:u,scheduleRender:()=>triggerRef(f)}),()=>{const t=h.value?[createVNode("span",{class:[n.e("nav-prev"),n.is("disabled",!h.value.prev)],onClick:_},[createVNode(ElIcon,null,{default:()=>[createVNode(arrow_left_default,null,null)]})]),createVNode("span",{class:[n.e("nav-next"),n.is("disabled",!h.value.next)],onClick:y},[createVNode(ElIcon,null,{default:()=>[createVNode(arrow_right_default,null,null)]})])]:null,r=e.panes.map((t,r)=>{var s,a,l,c;const u=t.uid,h=t.props.disabled,p=null!=(a=null!=(s=t.props.name)?s:t.index)?a:`${r}`,m=!h&&(t.isClosable||e.editable);t.index=`${r}`;const f=m?createVNode(ElIcon,{class:"is-icon-close",onClick:e=>i("tabRemove",t,e)},{default:()=>[createVNode(close_default,null,null)]}):null,v=(null==(c=(l=t.slots).label)?void 0:c.call(l))||t.props.label,b=!h&&t.active?0:-1;return createVNode("div",{ref:e=>((e,t)=>{d.value[t]=e})(e,p),class:[n.e("item"),n.is(o.props.tabPosition),n.is("active",t.active),n.is("disabled",h),n.is("closable",m),n.is("focus",g.value)],id:`tab-${p}`,key:`tab-${u}`,"aria-controls":`pane-${p}`,role:"tab","aria-selected":t.active,tabindex:b,onFocus:()=>S(),onBlur:()=>k(),onClick:e=>{k(),i("tabClick",t,p,e)},onKeydown:e=>{!m||e.code!==EVENT_CODE.delete&&e.code!==EVENT_CODE.backspace||i("tabRemove",t,e)}},[v,f])});return f.value,createVNode("div",{ref:c,class:[n.e("nav-wrap"),n.is("scrollable",!!h.value),n.is(o.props.tabPosition)]},[t,createVNode("div",{class:n.e("nav-scroll"),ref:a},[e.panes.length>0?createVNode("div",{class:[n.e("nav"),n.is(o.props.tabPosition),n.is("stretch",e.stretch&&["top","bottom"].includes(o.props.tabPosition))],ref:l,style:b.value,role:"tablist",onKeydown:x},[e.type?null:createVNode(TabBar,{ref:u,tabs:[...e.panes],tabRefs:d.value},null),r]):null])])}}}),tabsProps=buildProps({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:definePropType(Function),default:()=>!0},stretch:Boolean}),isPaneName=e=>isString$1(e)||isNumber(e),tabsEmits={[UPDATE_MODEL_EVENT]:e=>isPaneName(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>isPaneName(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>isPaneName(e),tabAdd:()=>!0},Tabs=defineComponent({name:"ElTabs",props:tabsProps,emits:tabsEmits,setup(t,{emit:i,slots:o,expose:n}){var r;const s=useNamespace("tabs"),a=computed$1(()=>["left","right"].includes(t.tabPosition)),{children:l,addChild:c,removeChild:d,ChildrenSorter:u}=useOrderedChildren(getCurrentInstance$1(),"ElTabPane"),h=ref$1(),p=ref$1(null!=(r=t.modelValue)?r:"0"),g=async(o,n=!1)=>{var r,s,a,c;if(p.value!==o&&!isUndefined(o))try{let e;if(t.beforeLeave){const i=t.beforeLeave(o,p.value);e=i instanceof Promise?await i:i}else e=!0;if(!1!==e){const e=null==(r=l.value.find(e=>e.paneName===p.value))?void 0:r.isFocusInsidePane();p.value=o,n&&(i(UPDATE_MODEL_EVENT,o),i("tabChange",o)),null==(a=null==(s=h.value)?void 0:s.removeFocus)||a.call(s),e&&(null==(c=h.value)||c.focusActiveTab())}}catch(e){}},m=(e,t,o)=>{e.props.disabled||(i("tabClick",e,o),g(t,!0))},f=(e,t)=>{e.props.disabled||isUndefined(e.props.name)||(t.stopPropagation(),i("edit",e.props.name,"remove"),i("tabRemove",e.props.name))},v=()=>{i("edit",void 0,"add"),i("tabAdd")},b=e=>{const i=e.el.firstChild,o=["bottom","right"].includes(t.tabPosition)?e.children[0].el:e.children[1].el;i!==o&&i.before(o)};return watch(()=>t.modelValue,e=>g(e)),watch(p,async()=>{var e;await nextTick(),null==(e=h.value)||e.scrollToActiveTab()}),provide(tabsRootContextKey,{props:t,currentName:p,registerPane:c,unregisterPane:d,nav$:h}),n({currentName:p,get tabNavRef(){return omit(h.value,["scheduleRender"])}}),()=>{const e=o["add-icon"],i=t.editable||t.addable?createVNode("div",{class:[s.e("new-tab"),a.value&&s.e("new-tab-vertical")],tabindex:"0",onClick:v,onKeydown:e=>{[EVENT_CODE.enter,EVENT_CODE.numpadEnter].includes(e.code)&&v()}},[e?renderSlot(o,"add-icon"):createVNode(ElIcon,{class:s.is("icon-plus")},{default:()=>[createVNode(plus_default,null,null)]})]):null,n=createVNode("div",{class:[s.e("header"),a.value&&s.e("header-vertical"),s.is(t.tabPosition)]},[createVNode(u,null,{default:()=>createVNode(TabNav,{ref:h,currentName:p.value,editable:t.editable,type:t.type,panes:l.value,stretch:t.stretch,onTabClick:m,onTabRemove:f},null),$stable:!0}),i]),r=createVNode("div",{class:s.e("content")},[renderSlot(o,"default")]);return createVNode("div",{class:[s.b(),s.m(t.tabPosition),{[s.m("card")]:"card"===t.type,[s.m("border-card")]:"border-card"===t.type}],onVnodeMounted:b,onVnodeUpdated:b},[r,n])}}});var Tabs$1=Tabs;const tabPaneProps=buildProps({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),COMPONENT_NAME$1="ElTabPane",__default__$6=defineComponent({name:COMPONENT_NAME$1}),_sfc_main$i=defineComponent({...__default__$6,props:tabPaneProps,setup(e){const t=e,i=getCurrentInstance$1(),o=useSlots(),n=inject(tabsRootContextKey);n||throwError(COMPONENT_NAME$1,"usage: ");const r=useNamespace("tab-pane"),s=ref$1(),a=ref$1(),l=computed$1(()=>t.closable||n.props.closable),c=computedEager(()=>{var e;return n.currentName.value===(null!=(e=t.name)?e:a.value)}),d=ref$1(c.value),u=computed$1(()=>{var e;return null!=(e=t.name)?e:a.value}),h=computedEager(()=>!t.lazy||d.value||c.value);watch(c,e=>{e&&(d.value=!0)});const p=reactive$1({uid:i.uid,getVnode:()=>i.vnode,slots:o,props:t,paneName:u,active:c,index:a,isClosable:l,isFocusInsidePane:()=>{var e;return null==(e=s.value)?void 0:e.contains(document.activeElement)}});return n.registerPane(p),onBeforeUnmount(()=>{n.unregisterPane(p)}),onBeforeUpdate(()=>{var e;o.label&&(null==(e=n.nav$.value)||e.scheduleRender())}),(e,t)=>unref(h)?withDirectives((openBlock(),createElementBlock("div",{key:0,id:`pane-${unref(u)}`,ref_key:"paneRef",ref:s,class:normalizeClass(unref(r).b()),role:"tabpanel","aria-hidden":!unref(c),"aria-labelledby":`tab-${unref(u)}`},[renderSlot(e.$slots,"default")],10,["id","aria-hidden","aria-labelledby"])),[[vShow,unref(c)]]):createCommentVNode("v-if",!0)}});var TabPane=_export_sfc$1(_sfc_main$i,[["__file","tab-pane.vue"]]);const ElTabs=withInstall(Tabs$1,{TabPane:TabPane}),ElTabPane=withNoopInstall(TabPane),textProps=buildProps({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:componentSizes,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),__default__$5=defineComponent({name:"ElText"}),_sfc_main$h=defineComponent({...__default__$5,props:textProps,setup(e){const t=e,i=ref$1(),o=useFormSize(),n=useNamespace("text"),r=computed$1(()=>[n.b(),n.m(t.type),n.m(o.value),n.is("truncated",t.truncated),n.is("line-clamp",!isUndefined(t.lineClamp))]),s=()=>{var e,o,n,r,s,a,l;if(useAttrs$1().title)return;let c=!1;const d=(null==(e=i.value)?void 0:e.textContent)||"";if(t.truncated){const e=null==(o=i.value)?void 0:o.offsetWidth,t=null==(n=i.value)?void 0:n.scrollWidth;e&&t&&t>e&&(c=!0)}else if(!isUndefined(t.lineClamp)){const e=null==(r=i.value)?void 0:r.offsetHeight,t=null==(s=i.value)?void 0:s.scrollHeight;e&&t&&t>e&&(c=!0)}c?null==(a=i.value)||a.setAttribute("title",d):null==(l=i.value)||l.removeAttribute("title")};return onMounted(s),onUpdated(s),(e,t)=>(openBlock(),createBlock(resolveDynamicComponent(e.tag),{ref_key:"textRef",ref:i,class:normalizeClass(unref(r)),style:normalizeStyle({"-webkit-line-clamp":e.lineClamp})},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["class","style"]))}});var Text=_export_sfc$1(_sfc_main$h,[["__file","text.vue"]]);const ElText=withInstall(Text),NODE_KEY="$treeNodeId",markNodeData=function(e,t){t&&!t[NODE_KEY]&&Object.defineProperty(t,NODE_KEY,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},getNodeKey=(e,t)=>null==t?void 0:t[e||NODE_KEY],handleCurrentChange=(e,t,i)=>{const o=e.value.currentNode;i();const n=e.value.currentNode;o!==n&&t("current-change",n?n.data:null,n)},getChildState=e=>{let t=!0,i=!0,o=!0;for(let n=0,r=e.length;n{e.canFocus=t,setCanFocus(e.childNodes,t)})};let nodeIdSeed=0,Node$1=class e{constructor(e){this.isLeafByUser=void 0,this.isLeaf=void 0,this.id=nodeIdSeed++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const t in e)hasOwn(e,t)&&(this[t]=e[t]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){var e;const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const i=t.props;if(i&&void 0!==i.isLeaf){const e=getPropertyFromData(this,"isLeaf");isBoolean(e)&&(this.isLeafByUser=e)}if(!0!==t.lazy&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&!this.isLeafByUser&&this.expand(),isArray$1(this.data)||markNodeData(this,this.data),!this.data)return;const o=t.defaultExpandedKeys,n=t.key;n&&!isNil(this.key)&&o&&o.includes(this.key)&&this.expand(null,t.autoExpandParent),n&&void 0!==t.currentNodeKey&&this.key===t.currentNodeKey&&(t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),1!==this.level&&!0!==(null==(e=this.parent)?void 0:e.expanded)||(this.canFocus=!0)}setData(e){let t;isArray$1(e)||markNodeData(this,e),this.data=e,this.childNodes=[],t=0===this.level&&isArray$1(this.data)?this.data:getPropertyFromData(this,"children")||[];for(let i=0,o=t.length;i-1)return e.childNodes[t+1]}return null}get previousSibling(){const e=this.parent;if(e){const t=e.childNodes.indexOf(this);if(t>-1)return t>0?e.childNodes[t-1]:null}return null}contains(e,t=!0){return(this.childNodes||[]).some(i=>i===e||t&&i.contains(e))}remove(){const e=this.parent;e&&e.removeChild(this)}insertChild(t,i,o){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof e)){if(!o){const e=this.getChildren(!0);(null==e?void 0:e.includes(t.data))||(isUndefined(i)||i<0?null==e||e.push(t.data):null==e||e.splice(i,0,t.data))}Object.assign(t,{parent:this,store:this.store}),(t=reactive$1(new e(t)))instanceof e&&t.initialize()}t.level=this.level+1,isUndefined(i)||i<0?this.childNodes.push(t):this.childNodes.splice(i,0,t),this.updateLeafState()}insertBefore(e,t){let i;t&&(i=this.childNodes.indexOf(t)),this.insertChild(e,i)}insertAfter(e,t){let i;t&&(i=this.childNodes.indexOf(t),-1!==i&&(i+=1)),this.insertChild(e,i)}removeChild(e){const t=this.getChildren()||[],i=t.indexOf(e.data);i>-1&&t.splice(i,1);const o=this.childNodes.indexOf(e);o>-1&&(this.store&&this.store.deregisterNode(e),e.parent=null,this.childNodes.splice(o,1)),this.updateLeafState()}removeChildByData(e){let t=null;for(let i=0;i{if(t){let e=this.parent;for(;e&&e.level>0;)e.expanded=!0,e=e.parent}this.expanded=!0,e&&e(),setCanFocus(this.childNodes,!0)};this.shouldLoadData()?this.loadData(e=>{isArray$1(e)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||reInitChecked(this),i())}):i()}doCreateChildren(e,t={}){e.forEach(e=>{this.insertChild(Object.assign({data:e},t),void 0,!0)})}collapse(){this.expanded=!1,setCanFocus(this.childNodes,!1)}shouldLoadData(){return Boolean(!0===this.store.lazy&&this.store.load&&!this.loaded)}updateLeafState(){if(!0===this.store.lazy&&!0!==this.loaded&&void 0!==this.isLeafByUser)return void(this.isLeaf=this.isLeafByUser);const e=this.childNodes;!this.store.lazy||!0===this.store.lazy&&!0===this.loaded?this.isLeaf=!e||0===e.length:this.isLeaf=!1}setChecked(e,t,i,o){if(this.indeterminate="half"===e,this.checked=!0===e,this.store.checkStrictly)return;if(!this.shouldLoadData()||this.store.checkDescendants){const{all:i,allWithoutDisable:n}=getChildState(this.childNodes);this.isLeaf||i||!n||(this.checked=!1,e=!1);const r=()=>{if(t){const i=this.childNodes;for(let s=0,a=i.length;s{r(),reInitChecked(this)},{checked:!1!==e});r()}const n=this.parent;n&&0!==n.level&&(i||reInitChecked(n))}getChildren(e=!1){if(0===this.level)return this.data;const t=this.data;if(!t)return null;const i=this.store.props;let o="children";return i&&(o=i.children||"children"),isUndefined(t[o])&&(t[o]=null),e&&!t[o]&&(t[o]=[]),t[o]}updateChildren(){const e=this.getChildren()||[],t=this.childNodes.map(e=>e.data),i={},o=[];e.forEach((e,n)=>{const r=e[NODE_KEY];!!r&&t.findIndex(e=>(null==e?void 0:e[NODE_KEY])===r)>=0?i[r]={index:n,data:e}:o.push({index:n,data:e})}),this.store.lazy||t.forEach(e=>{i[null==e?void 0:e[NODE_KEY]]||this.removeChildByData(e)}),o.forEach(({index:e,data:t})=>{this.insertChild({data:t},e)}),this.updateLeafState()}loadData(e,t={}){if(!0!==this.store.lazy||!this.store.load||this.loaded||this.loading&&!Object.keys(t).length)e&&e.call(this);else{this.loading=!0;const i=i=>{this.childNodes=[],this.doCreateChildren(i,t),this.loaded=!0,this.loading=!1,this.updateLeafState(),e&&e.call(this,i)},o=()=>{this.loading=!1};this.store.load(this,i,o)}}eachNode(e){const t=[this];for(;t.length;){const i=t.shift();t.unshift(...i.childNodes),e(i)}}reInitChecked(){this.store.checkStrictly||reInitChecked(this)}};class TreeStore{constructor(e){this.lazy=!1,this.checkStrictly=!1,this.autoExpandParent=!1,this.defaultExpandAll=!1,this.checkDescendants=!1,this.currentNode=null,this.currentNodeKey=null;for(const t in e)hasOwn(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new Node$1({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){(0,this.load)(this.root,e=>{this.root.doCreateChildren(e),this._initDefaultCheckedNodes()},NOOP)}else this._initDefaultCheckedNodes()}filter(e){const t=this.filterNodeMethod,i=this.lazy,o=async function(n){const r=n.root?n.root.childNodes:n.childNodes;for(const[i,s]of r.entries())s.visible=!!(null==t?void 0:t.call(s,e,s.data,s)),i%80==0&&i>0&&await nextTick(),await o(s);if(!n.visible&&r.length){let e=!0;e=!r.some(e=>e.visible),n.root?n.root.visible=!1===e:n.visible=!1===e}e&&n.visible&&!n.isLeaf&&(i&&!n.loaded||n.expand())};o(this)}setData(e){e!==this.root.data?(this.nodesMap={},this.root.setData(e),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey)):this.root.updateChildren()}getNode(e){if(e instanceof Node$1)return e;const t=isObject(e)?getNodeKey(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){var i;const o=this.getNode(t);null==(i=o.parent)||i.insertBefore({data:e},o)}insertAfter(e,t){var i;const o=this.getNode(t);null==(i=o.parent)||i.insertAfter({data:e},o)}remove(e){const t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){const i=isPropAbsent(t)?this.root:this.getNode(t);i&&i.insertChild({data:e})}_initDefaultCheckedNodes(){const e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach(e=>{const i=t[e];i&&i.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(e){const t=this.defaultCheckedKeys||[];!isNil(e.key)&&t.includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){const t=this.key;if(e&&e.data)if(t){const t=e.key;isNil(t)||(this.nodesMap[t]=e)}else this.nodesMap[e.id]=e}deregisterNode(e){this.key&&e&&e.data&&(e.childNodes.forEach(e=>{this.deregisterNode(e)}),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){const i=[],o=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(n=>{(n.checked||t&&n.indeterminate)&&(!e||e&&n.isLeaf)&&i.push(n.data),o(n)})};return o(this),i}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map(e=>(e||{})[this.key])}getHalfCheckedNodes(){const e=[],t=function(i){(i.root?i.root.childNodes:i.childNodes).forEach(i=>{i.indeterminate&&e.push(i.data),t(i)})};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(e=>(e||{})[this.key])}_getAllNodes(){const e=[],t=this.nodesMap;for(const i in t)hasOwn(t,i)&&e.push(t[i]);return e}updateChildren(e,t){const i=this.nodesMap[e];if(!i)return;const o=i.childNodes;for(let n=o.length-1;n>=0;n--){const e=o[n];this.remove(e.data)}for(let n=0,r=t.length;ne.level-t.level),n=Object.create(null),r=Object.keys(i);o.forEach(e=>e.setChecked(!1,!1));const s=t=>{t.childNodes.forEach(t=>{var i;n[t.data[e]]=!0,(null==(i=t.childNodes)?void 0:i.length)&&s(t)})};for(let a=0,l=o.length;a{t.isLeaf||t.setChecked(!1,!1),e(t)})};e(i)}}else i.checked&&!n[l]&&i.setChecked(!1,!1)}}setCheckedNodes(e,t=!1){const i=this.key,o={};e.forEach(e=>{o[(e||{})[i]]=!0}),this._setCheckedKeys(i,t,o)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;const i=this.key,o={};e.forEach(e=>{o[e]=!0}),this._setCheckedKeys(i,t,o)}setDefaultExpandedKeys(e){e=e||[],this.defaultExpandedKeys=e,e.forEach(e=>{const t=this.getNode(e);t&&t.expand(null,this.autoExpandParent)})}setChecked(e,t,i){const o=this.getNode(e);o&&o.setChecked(!!t,i)}getCurrentNode(){return this.currentNode}setCurrentNode(e){const t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){var i;const o=e[this.key],n=this.nodesMap[o];this.setCurrentNode(n),t&&this.currentNode&&this.currentNode.level>1&&(null==(i=this.currentNode.parent)||i.expand(null,!0))}setCurrentNodeKey(e,t=!0){var i;if(this.currentNodeKey=e,isPropAbsent(e))return this.currentNode&&(this.currentNode.isCurrent=!1),void(this.currentNode=null);const o=this.getNode(e);o&&(this.setCurrentNode(o),t&&this.currentNode&&this.currentNode.level>1&&(null==(i=this.currentNode.parent)||i.expand(null,!0)))}}const ROOT_TREE_INJECTION_KEY="RootTree",NODE_INSTANCE_INJECTION_KEY="NodeInstance",TREE_NODE_MAP_INJECTION_KEY="TreeNodeMap",_sfc_main$g=defineComponent({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=useNamespace("tree"),i=inject(NODE_INSTANCE_INJECTION_KEY),o=inject(ROOT_TREE_INJECTION_KEY);return()=>{const n=e.node,{data:r,store:s}=n;return e.renderContent?e.renderContent(h$2,{_self:i,node:n,data:r,store:s}):renderSlot(o.ctx.slots,"default",{node:n,data:r},()=>[h$2(ElText,{tag:"span",truncated:!0,class:t.be("node","label")},()=>[n.label])])}}});var NodeContent=_export_sfc$1(_sfc_main$g,[["__file","tree-node-content.vue"]]);function useNodeExpandEventBroadcast(e){const t=inject(TREE_NODE_MAP_INJECTION_KEY,null),i={treeNodeExpand:t=>{var i;e.node!==t&&(null==(i=e.node)||i.collapse())},children:[]};return t&&t.children.push(i),provide(TREE_NODE_MAP_INJECTION_KEY,i),{broadcastExpanded:t=>{if(e.accordion)for(const e of i.children)e.treeNodeExpand(t)}}}const dragEventsKey=Symbol("dragEvents");function useDragNodeHandler({props:t,ctx:i,el$:o,dropIndicator$:n,store:r}){const s=useNamespace("tree"),a=ref$1({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return provide(dragEventsKey,{treeNodeDragStart:({event:o,treeNode:n})=>{if(o.dataTransfer){if(isFunction$1(t.allowDrag)&&!t.allowDrag(n.node))return o.preventDefault(),!1;o.dataTransfer.effectAllowed="move";try{o.dataTransfer.setData("text/plain","")}catch(e){}a.value.draggingNode=n,i.emit("node-drag-start",n.node,o)}},treeNodeDragOver:({event:e,treeNode:r})=>{if(!e.dataTransfer)return;const l=r,c=a.value.dropNode;c&&c.node.id!==l.node.id&&removeClass(c.$el,s.is("drop-inner"));const d=a.value.draggingNode;if(!d||!l)return;let u=!0,h=!0,p=!0,g=!0;isFunction$1(t.allowDrop)&&(u=t.allowDrop(d.node,l.node,"prev"),g=h=t.allowDrop(d.node,l.node,"inner"),p=t.allowDrop(d.node,l.node,"next")),e.dataTransfer.dropEffect=h||u||p?"move":"none",(u||h||p)&&(null==c?void 0:c.node.id)!==l.node.id&&(c&&i.emit("node-drag-leave",d.node,c.node,e),i.emit("node-drag-enter",d.node,l.node,e)),a.value.dropNode=u||h||p?l:null,l.node.nextSibling===d.node&&(p=!1),l.node.previousSibling===d.node&&(u=!1),l.node.contains(d.node,!1)&&(h=!1),(d.node===l.node||d.node.contains(l.node))&&(u=!1,h=!1,p=!1);const m=l.$el,f=m.querySelector(`.${s.be("node","content")}`).getBoundingClientRect(),v=o.value.getBoundingClientRect();let b;const _=u?h?.25:p?.45:1:-1,y=p?h?.75:u?.55:0:1;let C=-9999;const w=e.clientY-f.top;b=wf.height*y?"after":h?"inner":"none";const x=m.querySelector(`.${s.be("node","expand-icon")}`).getBoundingClientRect(),S=n.value;"before"===b?C=x.top-v.top:"after"===b&&(C=x.bottom-v.top),S.style.top=`${C}px`,S.style.left=x.right-v.left+"px","inner"===b?addClass(m,s.is("drop-inner")):removeClass(m,s.is("drop-inner")),a.value.showDropIndicator="before"===b||"after"===b,a.value.allowDrop=a.value.showDropIndicator||g,a.value.dropType=b,i.emit("node-drag-over",d.node,l.node,e)},treeNodeDragEnd:e=>{var t,o;const{draggingNode:n,dropType:l,dropNode:c}=a.value;if(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move"),(null==n?void 0:n.node.data)&&c){const a={data:n.node.data};"none"!==l&&n.node.remove(),"before"===l?null==(t=c.node.parent)||t.insertBefore(a,c.node):"after"===l?null==(o=c.node.parent)||o.insertAfter(a,c.node):"inner"===l&&c.node.insertChild(a),"none"!==l&&(r.value.registerNode(a),r.value.key&&n.node.eachNode(e=>{var t;null==(t=r.value.nodesMap[e.data[r.value.key]])||t.setChecked(e.checked,!r.value.checkStrictly)})),removeClass(c.$el,s.is("drop-inner")),i.emit("node-drag-end",n.node,c.node,l,e),"none"!==l&&i.emit("node-drop",n.node,c.node,l,e)}n&&!c&&i.emit("node-drag-end",n.node,null,l,e),a.value.showDropIndicator=!1,a.value.draggingNode=null,a.value.dropNode=null,a.value.allowDrop=!0}}),{dragState:a}}const _sfc_main$f=defineComponent({name:"ElTreeNode",components:{ElCollapseTransition:ElCollapseTransition,ElCheckbox:ElCheckbox,NodeContent:NodeContent,ElIcon:ElIcon,Loading:loading_default},props:{node:{type:Node$1,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:["node-expand"],setup(e,t){const i=useNamespace("tree"),{broadcastExpanded:o}=useNodeExpandEventBroadcast(e),n=inject(ROOT_TREE_INJECTION_KEY),r=ref$1(!1),s=ref$1(!1),a=ref$1(),l=ref$1(),c=ref$1(),d=inject(dragEventsKey),u=getCurrentInstance$1();provide(NODE_INSTANCE_INJECTION_KEY,u),e.node.expanded&&(r.value=!0,s.value=!0);const h=n.props.props.children||"children";watch(()=>{var t;const i=null==(t=e.node.data)?void 0:t[h];return i&&[...i]},()=>{e.node.updateChildren()}),watch(()=>e.node.indeterminate,t=>{g(e.node.checked,t)}),watch(()=>e.node.checked,t=>{g(t,e.node.indeterminate)}),watch(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),watch(()=>e.node.expanded,e=>{nextTick(()=>r.value=e),e&&(s.value=!0)});const p=e=>getNodeKey(n.props.nodeKey,e.data),g=(t,i)=>{a.value===t&&l.value===i||n.ctx.emit("check-change",e.node.data,t,i),a.value=t,l.value=i},m=()=>{e.node.isLeaf||(r.value?(n.ctx.emit("node-collapse",e.node.data,e.node,u),e.node.collapse()):e.node.expand(()=>{t.emit("node-expand",e.node.data,e.node,u)}))},f=t=>{e.node.setChecked(t,!(null==n?void 0:n.props.checkStrictly)),nextTick(()=>{const t=n.store.value;n.ctx.emit("check",e.node.data,{checkedNodes:t.getCheckedNodes(),checkedKeys:t.getCheckedKeys(),halfCheckedNodes:t.getHalfCheckedNodes(),halfCheckedKeys:t.getHalfCheckedKeys()})})};return{ns:i,node$:c,tree:n,expanded:r,childNodeRendered:s,oldChecked:a,oldIndeterminate:l,getNodeKey:p,getNodeClass:t=>{const i=e.props.class;if(!i)return{};let o;if(isFunction$1(i)){const{data:e}=t;o=i(e,t)}else o=i;return isString$1(o)?{[o]:!0}:o},handleSelectChange:g,handleClick:t=>{handleCurrentChange(n.store,n.ctx.emit,()=>{var t;if(null==(t=null==n?void 0:n.props)?void 0:t.nodeKey){const t=p(e.node);n.store.value.setCurrentNodeKey(t)}else n.store.value.setCurrentNode(e.node)}),n.currentNode.value=e.node,n.props.expandOnClickNode&&m(),(n.props.checkOnClickNode||e.node.isLeaf&&n.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&f(!e.node.checked),n.ctx.emit("node-click",e.node.data,e.node,u,t)},handleContextMenu:t=>{var i;(null==(i=n.instance.vnode.props)?void 0:i.onNodeContextmenu)&&(t.stopPropagation(),t.preventDefault()),n.ctx.emit("node-contextmenu",t,e.node.data,e.node,u)},handleExpandIconClick:m,handleCheckChange:f,handleChildNodeExpand:(e,t,i)=>{o(t),n.ctx.emit("node-expand",e,t,i)},handleDragStart:t=>{n.props.draggable&&d.treeNodeDragStart({event:t,treeNode:e})},handleDragOver:t=>{t.preventDefault(),n.props.draggable&&d.treeNodeDragOver({event:t,treeNode:{$el:c.value,node:e.node}})},handleDrop:e=>{e.preventDefault()},handleDragEnd:e=>{n.props.draggable&&d.treeNodeDragEnd(e)},CaretRight:caret_right_default}}});function _sfc_render$4(e,t,i,o,n,r){const s=resolveComponent("el-icon"),a=resolveComponent("el-checkbox"),l=resolveComponent("loading"),c=resolveComponent("node-content"),d=resolveComponent("el-tree-node"),u=resolveComponent("el-collapse-transition");return withDirectives((openBlock(),createElementBlock("div",{ref:"node$",class:normalizeClass([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:withModifiers(e.handleClick,["stop"]),onContextmenu:e.handleContextMenu,onDragstart:withModifiers(e.handleDragStart,["stop"]),onDragover:withModifiers(e.handleDragOver,["stop"]),onDragend:withModifiers(e.handleDragEnd,["stop"]),onDrop:withModifiers(e.handleDrop,["stop"])},[createBaseVNode("div",{class:normalizeClass(e.ns.be("node","content")),style:normalizeStyle({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(openBlock(),createBlock(s,{key:0,class:normalizeClass([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:withModifiers(e.handleExpandIconClick,["stop"])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0),e.showCheckbox?(openBlock(),createBlock(a,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:withModifiers(()=>{},["stop"]),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onClick","onChange"])):createCommentVNode("v-if",!0),e.node.loading?(openBlock(),createBlock(s,{key:2,class:normalizeClass([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:withCtx(()=>[createVNode(l)]),_:1},8,["class"])):createCommentVNode("v-if",!0),createVNode(c,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),createVNode(u,null,{default:withCtx(()=>[!e.renderAfterExpand||e.childNodeRendered?withDirectives((openBlock(),createElementBlock("div",{key:0,class:normalizeClass(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded,onClick:withModifiers(()=>{},["stop"])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.node.childNodes,t=>(openBlock(),createBlock(d,{key:e.getNodeKey(t),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:t,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,["aria-expanded","onClick"])),[[vShow,e.expanded]]):createCommentVNode("v-if",!0)]),_:1})],42,["aria-expanded","aria-disabled","aria-checked","draggable","data-key","onClick","onContextmenu","onDragstart","onDragover","onDragend","onDrop"])),[[vShow,e.node.visible]])}var ElTreeNode=_export_sfc$1(_sfc_main$f,[["render",_sfc_render$4],["__file","tree-node.vue"]]);function useKeydown({el$:e},t){const i=useNamespace("tree");function o(e,i){var o,n;const r=t.value.getNode(e[i].dataset.key);return r.canFocus&&r.visible&&((null==(o=r.parent)?void 0:o.expanded)||0===(null==(n=r.parent)?void 0:n.level))}onMounted(()=>{n()}),onUpdated(()=>{Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(e=>{e.setAttribute("tabindex","-1")})});useEventListener(e,"keydown",t=>{const n=t.target;if(!n.className.includes(i.b("node")))return;const r=t.code,s=Array.from(e.value.querySelectorAll(`.${i.is("focusable")}[role=treeitem]`)),a=s.indexOf(n);let l;if([EVENT_CODE.up,EVENT_CODE.down].includes(r)){if(t.preventDefault(),r===EVENT_CODE.up){l=-1===a?0:0!==a?a-1:s.length-1;const e=l;for(;!o(s,l);){if(l--,l===e){l=-1;break}l<0&&(l=s.length-1)}}else{l=-1===a?0:a=s.length&&(l=0)}}-1!==l&&s[l].focus()}[EVENT_CODE.left,EVENT_CODE.right].includes(r)&&(t.preventDefault(),n.click());const c=n.querySelector('[type="checkbox"]');[EVENT_CODE.enter,EVENT_CODE.numpadEnter,EVENT_CODE.space].includes(r)&&c&&(t.preventDefault(),c.click())});const n=()=>{var t;if(!e.value)return;const o=Array.from(e.value.querySelectorAll(`.${i.is("focusable")}[role=treeitem]`));Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(e=>{e.setAttribute("tabindex","-1")});const n=e.value.querySelectorAll(`.${i.is("checked")}[role=treeitem]`);n.length?n[0].setAttribute("tabindex","0"):null==(t=o[0])||t.setAttribute("tabindex","0")}}const _sfc_main$e=defineComponent({name:"ElTree",components:{ElTreeNode:ElTreeNode},props:{data:{type:definePropType(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:{type:definePropType(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:definePropType(Function)},allowDrop:{type:definePropType(Function)},props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:Boolean,highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},icon:{type:iconPropType}},emits:["check-change","current-change","node-click","node-contextmenu","node-collapse","node-expand","check","node-drag-start","node-drag-end","node-drop","node-drag-leave","node-drag-enter","node-drag-over"],setup(e,t){const{t:i}=useLocale(),o=useNamespace("tree"),n=inject(selectKey,null),r=ref$1(new TreeStore({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));r.value.initialize();const s=ref$1(r.value.root),a=ref$1(null),l=ref$1(null),c=ref$1(null),{broadcastExpanded:d}=useNodeExpandEventBroadcast(e),{dragState:u}=useDragNodeHandler({props:e,ctx:t,el$:l,dropIndicator$:c,store:r});useKeydown({el$:l},r);const h=computed$1(()=>{const{childNodes:e}=s.value,t=!!n&&0!==n.hasFilteredOptions;return(!e||0===e.length||e.every(({visible:e})=>!e))&&!t});watch(()=>e.currentNodeKey,e=>{r.value.setCurrentNodeKey(null!=e?e:null)}),watch(()=>e.defaultCheckedKeys,(e,t)=>{isEqual(e,t)||r.value.setDefaultCheckedKey(null!=e?e:[])}),watch(()=>e.defaultExpandedKeys,e=>{r.value.setDefaultExpandedKeys(null!=e?e:[])}),watch(()=>e.data,e=>{r.value.setData(e)},{deep:!0}),watch(()=>e.checkStrictly,e=>{r.value.checkStrictly=e});const p=()=>{const e=r.value.getCurrentNode();return e?e.data:null};return provide(ROOT_TREE_INJECTION_KEY,{ctx:t,props:e,store:r,root:s,currentNode:a,instance:getCurrentInstance$1()}),provide(formItemContextKey,void 0),{ns:o,store:r,root:s,currentNode:a,dragState:u,el$:l,dropIndicator$:c,isEmpty:h,filter:t=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");r.value.filter(t)},getNodeKey:t=>getNodeKey(e.nodeKey,t.data),getNodePath:t=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");const i=r.value.getNode(t);if(!i)return[];const o=[i.data];let n=i.parent;for(;n&&n!==s.value;)o.push(n.data),n=n.parent;return o.reverse()},getCheckedNodes:(e,t)=>r.value.getCheckedNodes(e,t),getCheckedKeys:e=>r.value.getCheckedKeys(e),getCurrentNode:p,getCurrentKey:()=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");const t=p();return t?t[e.nodeKey]:null},setCheckedNodes:(t,i)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");r.value.setCheckedNodes(t,i)},setCheckedKeys:(t,i)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");r.value.setCheckedKeys(t,i)},setChecked:(e,t,i)=>{r.value.setChecked(e,t,i)},getHalfCheckedNodes:()=>r.value.getHalfCheckedNodes(),getHalfCheckedKeys:()=>r.value.getHalfCheckedKeys(),setCurrentNode:(i,o=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");handleCurrentChange(r,t.emit,()=>{d(i),r.value.setUserCurrentNode(i,o)})},setCurrentKey:(i,o=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");handleCurrentChange(r,t.emit,()=>{d(),r.value.setCurrentNodeKey(null!=i?i:null,o)})},t:i,getNode:e=>r.value.getNode(e),remove:e=>{r.value.remove(e)},append:(e,t)=>{r.value.append(e,t)},insertBefore:(e,t)=>{r.value.insertBefore(e,t)},insertAfter:(e,t)=>{r.value.insertAfter(e,t)},handleNodeExpand:(e,i,o)=>{d(i),t.emit("node-expand",e,i,o)},updateKeyChildren:(t,i)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");r.value.updateChildren(t,i)}}}});function _sfc_render$3(e,t,i,o,n,r){const s=resolveComponent("el-tree-node");return openBlock(),createElementBlock("div",{ref:"el$",class:normalizeClass([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner","inner"===e.dragState.dropType),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.root.childNodes,t=>(openBlock(),createBlock(s,{key:e.getNodeKey(t),node:t,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(e.ns.e("empty-block"))},[renderSlot(e.$slots,"empty",{},()=>{var t;return[createBaseVNode("span",{class:normalizeClass(e.ns.e("empty-text"))},toDisplayString(null!=(t=e.emptyText)?t:e.t("el.tree.emptyText")),3)]})],2)):createCommentVNode("v-if",!0),withDirectives(createBaseVNode("div",{ref:"dropIndicator$",class:normalizeClass(e.ns.e("drop-indicator"))},null,2),[[vShow,e.dragState.showDropIndicator]])],2)}var Tree=_export_sfc$1(_sfc_main$e,[["render",_sfc_render$3],["__file","tree.vue"]]);const ElTree=withInstall(Tree),uploadContextKey=Symbol("uploadContextKey"),SCOPE$1="ElUpload";class UploadAjaxError extends Error{constructor(e,t,i,o){super(e),this.name="UploadAjaxError",this.status=t,this.method=i,this.url=o}}function getError(e,t,i){let o;return o=i.response?`${i.response.error||i.response}`:i.responseText?`${i.responseText}`:`fail to ${t.method} ${e} ${i.status}`,new UploadAjaxError(o,i.status,t.method,e)}function getBody(t){const i=t.responseText||t.response;if(!i)return i;try{return JSON.parse(i)}catch(e){return i}}const ajaxUpload=e=>{"undefined"==typeof XMLHttpRequest&&throwError(SCOPE$1,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,i=e.action;t.upload&&t.upload.addEventListener("progress",t=>{const i=t;i.percent=t.total>0?t.loaded/t.total*100:0,e.onProgress(i)});const o=new FormData;if(e.data)for(const[r,s]of Object.entries(e.data))isArray$1(s)&&s.length?o.append(r,...s):o.append(r,s);o.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(getError(i,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(getError(i,e,t));e.onSuccess(getBody(t))}),t.open(e.method,i,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const n=e.headers||{};if(n instanceof Headers)n.forEach((e,i)=>t.setRequestHeader(i,e));else for(const[r,s]of Object.entries(n))isNil(s)||t.setRequestHeader(r,String(s));return t.send(o),t},uploadListTypes=["text","picture","picture-card"];let fileId=1;const genFileId=()=>Date.now()+fileId++,uploadBaseProps=buildProps({action:{type:String,default:"#"},headers:{type:definePropType(Object)},method:{type:String,default:"post"},data:{type:definePropType([Object,Function,Promise]),default:()=>mutable({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:definePropType(Array),default:()=>mutable([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:uploadListTypes,default:"text"},httpRequest:{type:definePropType(Function),default:ajaxUpload},disabled:Boolean,limit:Number}),uploadProps=buildProps({...uploadBaseProps,beforeUpload:{type:definePropType(Function),default:NOOP},beforeRemove:{type:definePropType(Function)},onRemove:{type:definePropType(Function),default:NOOP},onChange:{type:definePropType(Function),default:NOOP},onPreview:{type:definePropType(Function),default:NOOP},onSuccess:{type:definePropType(Function),default:NOOP},onProgress:{type:definePropType(Function),default:NOOP},onError:{type:definePropType(Function),default:NOOP},onExceed:{type:definePropType(Function),default:NOOP},crossorigin:{type:definePropType(String)}}),uploadListProps=buildProps({files:{type:definePropType(Array),default:()=>mutable([])},disabled:Boolean,handlePreview:{type:definePropType(Function),default:NOOP},listType:{type:String,values:uploadListTypes,default:"text"},crossorigin:{type:definePropType(String)}}),uploadListEmits={remove:e=>!!e},__default__$4=defineComponent({name:"ElUploadList"}),_sfc_main$d=defineComponent({...__default__$4,props:uploadListProps,emits:uploadListEmits,setup(e,{emit:t}){const i=e,{t:o}=useLocale(),n=useNamespace("upload"),r=useNamespace("icon"),s=useNamespace("list"),a=useFormDisabled(),l=ref$1(!1),c=computed$1(()=>[n.b("list"),n.bm("list",i.listType),n.is("disabled",i.disabled)]),d=e=>{t("remove",e)};return(e,t)=>(openBlock(),createBlock(TransitionGroup,{tag:"ul",class:normalizeClass(unref(c)),name:unref(s).b()},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.files,(t,i)=>(openBlock(),createElementBlock("li",{key:t.uid||t.name,class:normalizeClass([unref(n).be("list","item"),unref(n).is(t.status),{focusing:l.value}]),tabindex:"0",onKeydown:withKeys(e=>!unref(a)&&d(t),["delete"]),onFocus:e=>l.value=!0,onBlur:e=>l.value=!1,onClick:e=>l.value=!1},[renderSlot(e.$slots,"default",{file:t,index:i},()=>["picture"===e.listType||"uploading"!==t.status&&"picture-card"===e.listType?(openBlock(),createElementBlock("img",{key:0,class:normalizeClass(unref(n).be("list","item-thumbnail")),src:t.url,crossorigin:e.crossorigin,alt:""},null,10,["src","crossorigin"])):createCommentVNode("v-if",!0),"uploading"===t.status||"picture-card"!==e.listType?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(n).be("list","item-info"))},[createBaseVNode("a",{class:normalizeClass(unref(n).be("list","item-name")),onClick:withModifiers(i=>e.handlePreview(t),["prevent"])},[createVNode(unref(ElIcon),{class:normalizeClass(unref(r).m("document"))},{default:withCtx(()=>[createVNode(unref(document_default))]),_:1},8,["class"]),createBaseVNode("span",{class:normalizeClass(unref(n).be("list","item-file-name")),title:t.name},toDisplayString(t.name),11,["title"])],10,["onClick"]),"uploading"===t.status?(openBlock(),createBlock(unref(ElProgress),{key:0,type:"picture-card"===e.listType?"circle":"line","stroke-width":"picture-card"===e.listType?6:2,percentage:Number(t.percentage),style:normalizeStyle("picture-card"===e.listType?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),createBaseVNode("label",{class:normalizeClass(unref(n).be("list","item-status-label"))},["text"===e.listType?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass([unref(r).m("upload-success"),unref(r).m("circle-check")])},{default:withCtx(()=>[createVNode(unref(circle_check_default))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(r).m("upload-success"),unref(r).m("check")])},{default:withCtx(()=>[createVNode(unref(check_default))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],2),unref(a)?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass(unref(r).m("close")),onClick:e=>d(t)},{default:withCtx(()=>[createVNode(unref(close_default))]),_:2},1032,["class","onClick"])),createCommentVNode(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),createCommentVNode(" This is a bug which needs to be fixed "),createCommentVNode(" TODO: Fix the incorrect navigation interaction "),unref(a)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("i",{key:3,class:normalizeClass(unref(r).m("close-tip"))},toDisplayString(unref(o)("el.upload.deleteTip")),3)),"picture-card"===e.listType?(openBlock(),createElementBlock("span",{key:4,class:normalizeClass(unref(n).be("list","item-actions"))},[createBaseVNode("span",{class:normalizeClass(unref(n).be("list","item-preview")),onClick:i=>e.handlePreview(t)},[createVNode(unref(ElIcon),{class:normalizeClass(unref(r).m("zoom-in"))},{default:withCtx(()=>[createVNode(unref(zoom_in_default))]),_:1},8,["class"])],10,["onClick"]),unref(a)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(n).be("list","item-delete")),onClick:e=>d(t)},[createVNode(unref(ElIcon),{class:normalizeClass(unref(r).m("delete"))},{default:withCtx(()=>[createVNode(unref(delete_default))]),_:1},8,["class"])],10,["onClick"]))],2)):createCommentVNode("v-if",!0)])],42,["onKeydown","onFocus","onBlur","onClick"]))),128)),renderSlot(e.$slots,"append")]),_:3},8,["class","name"]))}});var UploadList=_export_sfc$1(_sfc_main$d,[["__file","upload-list.vue"]]);const uploadDraggerProps=buildProps({disabled:Boolean}),uploadDraggerEmits={file:e=>isArray$1(e)},COMPONENT_NAME="ElUploadDrag",__default__$3=defineComponent({name:COMPONENT_NAME}),_sfc_main$c=defineComponent({...__default__$3,props:uploadDraggerProps,emits:uploadDraggerEmits,setup(e,{emit:t}){inject(uploadContextKey)||throwError(COMPONENT_NAME,"usage: ");const i=useNamespace("upload"),o=ref$1(!1),n=useFormDisabled(),r=e=>{if(n.value)return;o.value=!1,e.stopPropagation();const i=Array.from(e.dataTransfer.files),r=e.dataTransfer.items||[];i.forEach((e,t)=>{var i;const o=r[t],n=null==(i=null==o?void 0:o.webkitGetAsEntry)?void 0:i.call(o);n&&(e.isDirectory=n.isDirectory)}),t("file",i)},s=()=>{n.value||(o.value=!0)},a=e=>{e.currentTarget.contains(e.relatedTarget)||(o.value=!1)};return(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(i).b("dragger"),unref(i).is("dragover",o.value)]),onDrop:withModifiers(r,["prevent"]),onDragover:withModifiers(s,["prevent"]),onDragleave:withModifiers(a,["prevent"])},[renderSlot(e.$slots,"default")],42,["onDrop","onDragover","onDragleave"]))}});var UploadDragger=_export_sfc$1(_sfc_main$c,[["__file","upload-dragger.vue"]]);const uploadContentProps=buildProps({...uploadBaseProps,beforeUpload:{type:definePropType(Function),default:NOOP},onRemove:{type:definePropType(Function),default:NOOP},onStart:{type:definePropType(Function),default:NOOP},onSuccess:{type:definePropType(Function),default:NOOP},onProgress:{type:definePropType(Function),default:NOOP},onError:{type:definePropType(Function),default:NOOP},onExceed:{type:definePropType(Function),default:NOOP}}),__default__$2=defineComponent({name:"ElUploadContent",inheritAttrs:!1}),_sfc_main$b=defineComponent({...__default__$2,props:uploadContentProps,setup(t,{expose:i}){const o=t,n=useNamespace("upload"),r=useFormDisabled(),s=shallowRef({}),a=shallowRef(),l=e=>{if(0===e.length)return;const{autoUpload:t,limit:i,fileList:n,multiple:r,onStart:s,onExceed:a}=o;if(i&&n.length+e.length>i)a(e,n);else{r||(e=e.slice(0,1));for(const i of e){const e=i;e.uid=genFileId(),s(e),t&&c(e)}}},c=async t=>{if(a.value.value="",!o.beforeUpload)return d(t);let i,n={};try{const e=o.data,r=o.beforeUpload(t);n=isPlainObject(o.data)?cloneDeep(o.data):o.data,i=await r,isPlainObject(o.data)&&isEqual(e,n)&&(n=cloneDeep(o.data))}catch(e){i=!1}if(!1===i)return void o.onRemove(t);let r=t;i instanceof Blob&&(r=i instanceof File?i:new File([i],t.name,{type:t.type})),d(Object.assign(r,{uid:t.uid}),n)},d=async(t,i)=>{const{headers:n,data:r,method:a,withCredentials:l,name:c,action:d,onProgress:u,onSuccess:h,onError:p,httpRequest:g}=o;try{i=await(async(e,t)=>isFunction$1(e)?e(t):e)(null!=i?i:r,t)}catch(e){return void o.onRemove(t)}const{uid:m}=t,f={headers:n||{},withCredentials:l,file:t,data:i,method:a,filename:c,action:d,onProgress:e=>{u(e,t)},onSuccess:e=>{h(e,t),delete s.value[m]},onError:e=>{p(e,t),delete s.value[m]}},v=g(f);s.value[m]=v,v instanceof Promise&&v.then(f.onSuccess,f.onError)},u=e=>{const t=e.target.files;t&&l(Array.from(t))},h=()=>{r.value||(a.value.value="",a.value.click())},p=()=>{h()};return i({abort:e=>{const t=entriesOf(s.value).filter(e?([t])=>String(e.uid)===t:()=>!0);t.forEach(([e,t])=>{t instanceof XMLHttpRequest&&t.abort(),delete s.value[e]})},upload:c}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(n).b(),unref(n).m(e.listType),unref(n).is("drag",e.drag),unref(n).is("disabled",unref(r))]),tabindex:unref(r)?"-1":"0",onClick:h,onKeydown:withKeys(withModifiers(p,["self"]),["enter","space"])},[e.drag?(openBlock(),createBlock(UploadDragger,{key:0,disabled:unref(r),onFile:l},{default:withCtx(()=>[renderSlot(e.$slots,"default")]),_:3},8,["disabled"])):renderSlot(e.$slots,"default",{key:1}),createBaseVNode("input",{ref_key:"inputRef",ref:a,class:normalizeClass(unref(n).e("input")),name:e.name,disabled:unref(r),multiple:e.multiple,accept:e.accept,type:"file",onChange:u,onClick:withModifiers(()=>{},["stop"])},null,42,["name","disabled","multiple","accept","onClick"])],42,["tabindex","onKeydown"]))}});var UploadContent=_export_sfc$1(_sfc_main$b,[["__file","upload-content.vue"]]);const SCOPE="ElUpload",revokeFileObjectURL=e=>{var t;(null==(t=e.url)?void 0:t.startsWith("blob:"))&&URL.revokeObjectURL(e.url)},useHandlers=(e,t)=>{const i=useVModel(e,"fileList",void 0,{passive:!0}),o=e=>i.value.find(t=>t.uid===e.uid);function n(e){var i;null==(i=t.value)||i.abort(e)}function r(e){i.value=i.value.filter(t=>t.uid!==e.uid)}return watch(()=>e.listType,t=>{"picture-card"!==t&&"picture"!==t||(i.value=i.value.map(t=>{const{raw:o,url:n}=t;if(!n&&o)try{t.url=URL.createObjectURL(o)}catch(r){e.onError(r,t,i.value)}return t}))}),watch(i,e=>{for(const t of e)t.uid||(t.uid=genFileId()),t.status||(t.status="success")},{immediate:!0,deep:!0}),{uploadFiles:i,abort:n,clearFiles:function(e=["ready","uploading","success","fail"]){i.value=i.value.filter(t=>!e.includes(t.status))},handleError:(t,n)=>{const s=o(n);s&&(console.error(t),s.status="fail",r(s),e.onError(t,s,i.value),e.onChange(s,i.value))},handleProgress:(t,n)=>{const r=o(n);r&&(e.onProgress(t,r,i.value),r.status="uploading",r.percentage=Math.round(t.percent))},handleStart:t=>{isNil(t.uid)&&(t.uid=genFileId());const o={name:t.name,percentage:0,status:"ready",size:t.size,raw:t,uid:t.uid};if("picture-card"===e.listType||"picture"===e.listType)try{o.url=URL.createObjectURL(t)}catch(n){debugWarn(SCOPE,n.message),e.onError(n,o,i.value)}i.value=[...i.value,o],e.onChange(o,i.value)},handleSuccess:(t,n)=>{const r=o(n);r&&(r.status="success",r.response=t,e.onSuccess(t,r,i.value),e.onChange(r,i.value))},handleRemove:async t=>{const s=t instanceof File?o(t):t;s||throwError(SCOPE,"file to be removed not found");const a=t=>{n(t),r(t),e.onRemove(t,i.value),revokeFileObjectURL(t)};if(e.beforeRemove){!1!==await e.beforeRemove(s,i.value)&&a(s)}else a(s)},submit:function(){i.value.filter(({status:e})=>"ready"===e).forEach(({raw:e})=>{var i;return e&&(null==(i=t.value)?void 0:i.upload(e))})},revokeFileObjectURL:revokeFileObjectURL}},__default__$1=defineComponent({name:"ElUpload"}),_sfc_main$a=defineComponent({...__default__$1,props:uploadProps,setup(e,{expose:t}){const i=e,o=useFormDisabled(),n=shallowRef(),{abort:r,submit:s,clearFiles:a,uploadFiles:l,handleStart:c,handleError:d,handleRemove:u,handleSuccess:h,handleProgress:p,revokeFileObjectURL:g}=useHandlers(i,n),m=computed$1(()=>"picture-card"===i.listType),f=computed$1(()=>({...i,fileList:l.value,onStart:c,onProgress:p,onSuccess:h,onError:d,onRemove:u}));return onBeforeUnmount(()=>{l.value.forEach(g)}),provide(uploadContextKey,{accept:toRef(i,"accept")}),t({abort:r,submit:s,clearFiles:a,handleStart:c,handleRemove:u}),(e,t)=>(openBlock(),createElementBlock("div",null,[unref(m)&&e.showFileList?(openBlock(),createBlock(UploadList,{key:0,disabled:unref(o),"list-type":e.listType,files:unref(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:unref(u)},createSlots({append:withCtx(()=>[createVNode(UploadContent,mergeProps({ref_key:"uploadRef",ref:n},unref(f)),{default:withCtx(()=>[e.$slots.trigger?renderSlot(e.$slots,"trigger",{key:0}):createCommentVNode("v-if",!0),!e.$slots.trigger&&e.$slots.default?renderSlot(e.$slots,"default",{key:1}):createCommentVNode("v-if",!0)]),_:3},16)]),_:2},[e.$slots.file?{name:"default",fn:withCtx(({file:t,index:i})=>[renderSlot(e.$slots,"file",{file:t,index:i})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):createCommentVNode("v-if",!0),!unref(m)||unref(m)&&!e.showFileList?(openBlock(),createBlock(UploadContent,mergeProps({key:1,ref_key:"uploadRef",ref:n},unref(f)),{default:withCtx(()=>[e.$slots.trigger?renderSlot(e.$slots,"trigger",{key:0}):createCommentVNode("v-if",!0),!e.$slots.trigger&&e.$slots.default?renderSlot(e.$slots,"default",{key:1}):createCommentVNode("v-if",!0)]),_:3},16)):createCommentVNode("v-if",!0),e.$slots.trigger?renderSlot(e.$slots,"default",{key:2}):createCommentVNode("v-if",!0),renderSlot(e.$slots,"tip"),!unref(m)&&e.showFileList?(openBlock(),createBlock(UploadList,{key:3,disabled:unref(o),"list-type":e.listType,files:unref(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:unref(u)},createSlots({_:2},[e.$slots.file?{name:"default",fn:withCtx(({file:t,index:i})=>[renderSlot(e.$slots,"file",{file:t,index:i})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):createCommentVNode("v-if",!0)]))}});var Upload=_export_sfc$1(_sfc_main$a,[["__file","upload.vue"]]);const ElUpload=withInstall(Upload);function createLoadingComponent(e,t){let i;const o=ref$1(!1),n=reactive$1({...e,originalPosition:"",originalOverflow:"",visible:!1});function r(){var e,t;null==(t=null==(e=c.$el)?void 0:e.parentNode)||t.removeChild(c.$el)}function s(){if(!o.value)return;const e=n.parent;o.value=!1,e.vLoadingAddClassList=void 0,function(){const e=n.parent,t=c.ns;if(!e.vLoadingAddClassList){let i=e.getAttribute("loading-number");i=Number.parseInt(i)-1,i?e.setAttribute("loading-number",i.toString()):(removeClass(e,t.bm("parent","relative")),e.removeAttribute("loading-number")),removeClass(e,t.bm("parent","hidden"))}r(),l.unmount()}()}const a=defineComponent({name:"ElLoading",setup(e,{expose:t}){const{ns:i,zIndex:o}=useGlobalComponentSettings("loading");return t({ns:i,zIndex:o}),()=>{const e=n.spinner||n.svg,t=h$2("svg",{class:"circular",viewBox:n.svgViewBox?n.svgViewBox:"0 0 50 50",...e?{innerHTML:e}:{}},[h$2("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),o=n.text?h$2("p",{class:i.b("text")},[n.text]):void 0;return h$2(Transition,{name:i.b("fade"),onAfterLeave:s},{default:withCtx(()=>[withDirectives(createVNode("div",{style:{backgroundColor:n.background||""},class:[i.b("mask"),n.customClass,n.fullscreen?"is-fullscreen":""]},[h$2("div",{class:i.b("spinner")},[t,o])]),[[vShow,n.visible]])])})}}}),l=createApp(a);Object.assign(l._context,null!=t?t:{});const c=l.mount(document.createElement("div"));return{...toRefs(n),setText:function(e){n.text=e},removeElLoadingChild:r,close:function(){var t;e.beforeClose&&!e.beforeClose()||(o.value=!0,clearTimeout(i),i=setTimeout(s,400),n.visible=!1,null==(t=e.closed)||t.call(e))},handleAfterLeave:s,vm:c,get $el(){return c.$el}}}let fullscreenInstance;const Loading=function(e={}){if(!isClient)return;const t=resolveOptions(e);if(t.fullscreen&&fullscreenInstance)return fullscreenInstance;const i=createLoadingComponent({...t,closed:()=>{var e;null==(e=t.closed)||e.call(t),t.fullscreen&&(fullscreenInstance=void 0)}},Loading._context);addStyle(t,t.parent,i),addClassList(t,t.parent,i),t.parent.vLoadingAddClassList=()=>addClassList(t,t.parent,i);let o=t.parent.getAttribute("loading-number");return o=o?`${Number.parseInt(o)+1}`:"1",t.parent.setAttribute("loading-number",o),t.parent.appendChild(i.$el),nextTick(()=>i.visible.value=t.visible),t.fullscreen&&(fullscreenInstance=i),i},resolveOptions=e=>{var t,i,o,n;let r;return r=isString$1(e.target)?null!=(t=document.querySelector(e.target))?t:document.body:e.target||document.body,{parent:r===document.body||e.body?document.body:r,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:r===document.body&&(null==(i=e.fullscreen)||i),lock:null!=(o=e.lock)&&o,customClass:e.customClass||"",visible:null==(n=e.visible)||n,beforeClose:e.beforeClose,closed:e.closed,target:r}},addStyle=async(e,t,i)=>{const{nextZIndex:o}=i.vm.zIndex||i.vm._.exposed.zIndex,n={};if(e.fullscreen)i.originalPosition.value=getStyle(document.body,"position"),i.originalOverflow.value=getStyle(document.body,"overflow"),n.zIndex=o();else if(e.parent===document.body){i.originalPosition.value=getStyle(document.body,"position"),await nextTick();for(const t of["top","left"]){const i="top"===t?"scrollTop":"scrollLeft";n[t]=e.target.getBoundingClientRect()[t]+document.body[i]+document.documentElement[i]-Number.parseInt(getStyle(document.body,`margin-${t}`),10)+"px"}for(const t of["height","width"])n[t]=`${e.target.getBoundingClientRect()[t]}px`}else i.originalPosition.value=getStyle(t,"position");for(const[r,s]of Object.entries(n))i.$el.style[r]=s},addClassList=(e,t,i)=>{const o=i.vm.ns||i.vm._.exposed.ns;["absolute","fixed","sticky"].includes(i.originalPosition.value)?removeClass(t,o.bm("parent","relative")):addClass(t,o.bm("parent","relative")),e.fullscreen&&e.lock?addClass(t,o.bm("parent","hidden")):removeClass(t,o.bm("parent","hidden"))};Loading._context=null;const INSTANCE_KEY=Symbol("ElLoading"),getAttributeName=e=>`element-loading-${hyphenate(e)}`,createInstance=(e,t)=>{var i,o,n,r;const s=t.instance,a=e=>isObject(t.value)?t.value[e]:void 0,l=t=>{return i=a(t)||e.getAttribute(getAttributeName(t)),ref$1(isString$1(i)&&(null==s?void 0:s[i])||i);var i},c=null!=(i=a("fullscreen"))?i:t.modifiers.fullscreen,d={text:l("text"),svg:l("svg"),svgViewBox:l("svgViewBox"),spinner:l("spinner"),background:l("background"),customClass:l("customClass"),fullscreen:c,target:null!=(o=a("target"))?o:c?void 0:e,body:null!=(n=a("body"))?n:t.modifiers.body,lock:null!=(r=a("lock"))?r:t.modifiers.lock},u=Loading(d);u._context=vLoading._context,e[INSTANCE_KEY]={options:d,instance:u}},updateOptions=(e,t)=>{for(const i of Object.keys(e))isRef(e[i])&&(e[i].value=t[i])},vLoading={mounted(e,t){t.value&&createInstance(e,t)},updated(e,t){const i=e[INSTANCE_KEY];if(!t.value)return null==i||i.instance.close(),void(e[INSTANCE_KEY]=null);i?updateOptions(i.options,isObject(t.value)?t.value:{text:e.getAttribute(getAttributeName("text")),svg:e.getAttribute(getAttributeName("svg")),svgViewBox:e.getAttribute(getAttributeName("svgViewBox")),spinner:e.getAttribute(getAttributeName("spinner")),background:e.getAttribute(getAttributeName("background")),customClass:e.getAttribute(getAttributeName("customClass"))}):createInstance(e,t)},unmounted(e){var t;null==(t=e[INSTANCE_KEY])||t.instance.close(),e[INSTANCE_KEY]=null},_context:null},ElLoading={directive:vLoading},messageTypes=["primary","success","info","warning","error"],messagePlacement=["top","top-left","top-right","bottom","bottom-left","bottom-right"],MESSAGE_DEFAULT_PLACEMENT="top",messageDefaults=mutable({customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:isClient?document.body:void 0}),messageProps=buildProps({customClass:{type:String,default:messageDefaults.customClass},dangerouslyUseHTMLString:{type:Boolean,default:messageDefaults.dangerouslyUseHTMLString},duration:{type:Number,default:messageDefaults.duration},icon:{type:iconPropType,default:messageDefaults.icon},id:{type:String,default:messageDefaults.id},message:{type:definePropType([String,Object,Function]),default:messageDefaults.message},onClose:{type:definePropType(Function),default:messageDefaults.onClose},showClose:{type:Boolean,default:messageDefaults.showClose},type:{type:String,values:messageTypes,default:messageDefaults.type},plain:{type:Boolean,default:messageDefaults.plain},offset:{type:Number,default:messageDefaults.offset},placement:{type:String,values:messagePlacement,default:messageDefaults.placement},zIndex:{type:Number,default:messageDefaults.zIndex},grouping:{type:Boolean,default:messageDefaults.grouping},repeatNum:{type:Number,default:messageDefaults.repeatNum}}),messageEmits={destroy:()=>!0},placementInstances=shallowReactive({}),getOrCreatePlacementInstances=e=>(placementInstances[e]||(placementInstances[e]=shallowReactive([])),placementInstances[e]),getInstance=(e,t)=>{const i=placementInstances[t]||[],o=i.findIndex(t=>t.id===e),n=i[o];let r;return o>0&&(r=i[o-1]),{current:n,prev:r}},getLastOffset=(e,t)=>{const{prev:i}=getInstance(e,t);return i?i.vm.exposed.bottom.value:0},getOffsetOrSpace=(e,t,i)=>(placementInstances[i]||[]).findIndex(t=>t.id===e)>0?16:t,__default__=defineComponent({name:"ElMessage"}),_sfc_main$9=defineComponent({...__default__,props:messageProps,emits:messageEmits,setup(e,{expose:t,emit:i}){const o=e,{Close:n}=TypeComponents,r=ref$1(!1),{ns:s,zIndex:a}=useGlobalComponentSettings("message"),{currentZIndex:l,nextZIndex:c}=a,d=ref$1(),u=ref$1(!1),h=ref$1(0);let p;const g=computed$1(()=>o.type?"error"===o.type?"danger":o.type:"info"),m=computed$1(()=>{const e=o.type;return{[s.bm("icon",e)]:e&&TypeComponentsMap[e]}}),f=computed$1(()=>o.icon||TypeComponentsMap[o.type]||""),v=computed$1(()=>o.placement||MESSAGE_DEFAULT_PLACEMENT),b=computed$1(()=>getLastOffset(o.id,v.value)),_=computed$1(()=>getOffsetOrSpace(o.id,o.offset,v.value)+b.value),y=computed$1(()=>h.value+_.value),C=computed$1(()=>v.value.includes("left")?s.is("left"):v.value.includes("right")?s.is("right"):s.is("center")),w=computed$1(()=>v.value.startsWith("top")?"top":"bottom"),x=computed$1(()=>({[w.value]:`${_.value}px`,zIndex:l.value}));function S(){0!==o.duration&&({stop:p}=useTimeoutFn(()=>{E()},o.duration))}function k(){null==p||p()}function E(){u.value=!1,nextTick(()=>{var e;r.value||(null==(e=o.onClose)||e.call(o),i("destroy"))})}return onMounted(()=>{S(),c(),u.value=!0}),watch(()=>o.repeatNum,()=>{k(),S()}),useEventListener(document,"keydown",function({code:e}){e===EVENT_CODE.esc&&E()}),useResizeObserver(d,()=>{h.value=d.value.getBoundingClientRect().height}),t({visible:u,bottom:y,close:E}),(e,t)=>(openBlock(),createBlock(Transition,{name:unref(s).b("fade"),onBeforeEnter:e=>r.value=!0,onBeforeLeave:e.onClose,onAfterLeave:t=>e.$emit("destroy"),persisted:""},{default:withCtx(()=>[withDirectives(createBaseVNode("div",{id:e.id,ref_key:"messageRef",ref:d,class:normalizeClass([unref(s).b(),{[unref(s).m(e.type)]:e.type},unref(s).is("closable",e.showClose),unref(s).is("plain",e.plain),unref(s).is("bottom","bottom"===unref(w)),unref(C),e.customClass]),style:normalizeStyle(unref(x)),role:"alert",onMouseenter:k,onMouseleave:S},[e.repeatNum>1?(openBlock(),createBlock(unref(ElBadge),{key:0,value:e.repeatNum,type:unref(g),class:normalizeClass(unref(s).e("badge"))},null,8,["value","type","class"])):createCommentVNode("v-if",!0),unref(f)?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(s).e("icon"),unref(m)])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(f))))]),_:1},8,["class"])):createCommentVNode("v-if",!0),renderSlot(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(openBlock(),createElementBlock(Fragment,{key:1},[createCommentVNode(" Caution here, message could've been compromised, never use user's input as message "),createBaseVNode("p",{class:normalizeClass(unref(s).e("content")),innerHTML:e.message},null,10,["innerHTML"])],2112)):(openBlock(),createElementBlock("p",{key:0,class:normalizeClass(unref(s).e("content"))},toDisplayString(e.message),3))]),e.showClose?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass(unref(s).e("closeBtn")),onClick:withModifiers(E,["stop"])},{default:withCtx(()=>[createVNode(unref(n))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0)],46,["id"]),[[vShow,u.value]])]),_:3},8,["name","onBeforeEnter","onBeforeLeave","onAfterLeave"]))}});var MessageConstructor=_export_sfc$1(_sfc_main$9,[["__file","message.vue"]]);let seed=1;const normalizeAppendTo=e=>{if(e.appendTo){if(isString$1(e.appendTo)){let t=document.querySelector(e.appendTo);isElement(t)||(t=document.body),e.appendTo=t}}else e.appendTo=document.body},normalizePlacement=e=>{!e.placement&&isString$1(messageConfig.placement)&&messageConfig.placement&&(e.placement=messageConfig.placement),e.placement||(e.placement=MESSAGE_DEFAULT_PLACEMENT),messagePlacement.includes(e.placement)||(e.placement=MESSAGE_DEFAULT_PLACEMENT)},normalizeOptions=e=>{const t=!e||isString$1(e)||isVNode(e)||isFunction$1(e)?{message:e}:e,i={...messageDefaults,...t};return normalizeAppendTo(i),normalizePlacement(i),isBoolean(messageConfig.grouping)&&!i.grouping&&(i.grouping=messageConfig.grouping),isNumber(messageConfig.duration)&&3e3===i.duration&&(i.duration=messageConfig.duration),isNumber(messageConfig.offset)&&16===i.offset&&(i.offset=messageConfig.offset),isBoolean(messageConfig.showClose)&&!i.showClose&&(i.showClose=messageConfig.showClose),isBoolean(messageConfig.plain)&&!i.plain&&(i.plain=messageConfig.plain),i},closeMessage=e=>{const t=e.props.placement||MESSAGE_DEFAULT_PLACEMENT,i=placementInstances[t],o=i.indexOf(e);if(-1===o)return;i.splice(o,1);const{handler:n}=e;n.close()},createMessage=({appendTo:e,...t},i)=>{const o="message_"+seed++,n=t.onClose,r=document.createElement("div"),s={...t,id:o,onClose:()=>{null==n||n(),closeMessage(d)},onDestroy:()=>{render(null,r)}},a=createVNode(MessageConstructor,s,isFunction$1(s.message)||isVNode(s.message)?{default:isFunction$1(s.message)?s.message:()=>s.message}:null);a.appContext=i||message._context,render(a,r),e.appendChild(r.firstElementChild);const l=a.component,c={close:()=>{l.exposed.close()}},d={id:o,vnode:a,vm:l,handler:c,props:a.component.props};return d},message=(e={},t)=>{if(!isClient)return{close:()=>{}};const i=normalizeOptions(e),o=getOrCreatePlacementInstances(i.placement||MESSAGE_DEFAULT_PLACEMENT);if(i.grouping&&o.length){const e=o.find(({vnode:e})=>{var t;return(null==(t=e.props)?void 0:t.message)===i.message});if(e)return e.props.repeatNum+=1,e.props.type=i.type,e.handler}if(isNumber(messageConfig.max)&&o.length>=messageConfig.max)return{close:()=>{}};const n=createMessage(i,t);return o.push(n),n.handler};function closeAll(e){for(const t in placementInstances)if(hasOwn(placementInstances,t)){const i=[...placementInstances[t]];for(const t of i)e&&e!==t.props.type||t.handler.close()}}function closeAllByPlacement(e){if(!placementInstances[e])return;[...placementInstances[e]].forEach(e=>e.handler.close())}messageTypes.forEach(e=>{message[e]=(t={},i)=>{const o=normalizeOptions(t);return message({...o,type:e},i)}}),message.closeAll=closeAll,message.closeAllByPlacement=closeAllByPlacement,message._context=null;const ElMessage=withInstallFunction(message,"$message"),FOCUSABLE_CHILDREN="_trap-focus-children",FOCUS_STACK=[],FOCUS_HANDLER=e=>{if(0===FOCUS_STACK.length)return;const t=FOCUS_STACK[FOCUS_STACK.length-1][FOCUSABLE_CHILDREN];if(t.length>0&&e.code===EVENT_CODE.tab){if(1===t.length)return e.preventDefault(),void(document.activeElement!==t[0]&&t[0].focus());const i=e.shiftKey,o=e.target===t[0],n=e.target===t[t.length-1];o&&i&&(e.preventDefault(),t[t.length-1].focus()),n&&!i&&(e.preventDefault(),t[0].focus())}},TrapFocus={beforeMount(e){e[FOCUSABLE_CHILDREN]=obtainAllFocusableElements$1(e),FOCUS_STACK.push(e),FOCUS_STACK.length<=1&&document.addEventListener("keydown",FOCUS_HANDLER)},updated(e){nextTick(()=>{e[FOCUSABLE_CHILDREN]=obtainAllFocusableElements$1(e)})},unmounted(){FOCUS_STACK.shift(),0===FOCUS_STACK.length&&document.removeEventListener("keydown",FOCUS_HANDLER)}},_sfc_main$8=defineComponent({name:"ElMessageBox",directives:{TrapFocus:TrapFocus},components:{ElButton:ElButton,ElFocusTrap:ElFocusTrap,ElInput:ElInput,ElOverlay:ElOverlay,ElIcon:ElIcon,...TypeComponents},inheritAttrs:!1,props:{buttonSize:{type:String,validator:isValidComponentSize},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:i,zIndex:o,ns:n,size:r}=useGlobalComponentSettings("message-box",computed$1(()=>e.buttonSize)),{t:s}=i,{nextZIndex:a}=o,l=ref$1(!1),c=reactive$1({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:markRaw(loading_default),cancelButtonLoadingIcon:markRaw(loading_default),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:a()}),d=computed$1(()=>{const e=c.type;return{[n.bm("icon",e)]:e&&TypeComponentsMap[e]}}),u=useId(),h=useId(),p=computed$1(()=>{const e=c.type;return c.icon||e&&TypeComponentsMap[e]||""}),g=computed$1(()=>!!c.message),m=ref$1(),f=ref$1(),v=ref$1(),b=ref$1(),_=ref$1(),y=computed$1(()=>c.confirmButtonClass);watch(()=>c.inputValue,async t=>{await nextTick(),"prompt"===e.boxType&&t&&T()},{immediate:!0}),watch(()=>l.value,t=>{var i,o;t&&("prompt"!==e.boxType&&(c.autofocus?v.value=null!=(o=null==(i=_.value)?void 0:i.$el)?o:m.value:v.value=m.value),c.zIndex=a()),"prompt"===e.boxType&&(t?nextTick().then(()=>{var e;b.value&&b.value.$el&&(c.autofocus?v.value=null!=(e=D())?e:m.value:v.value=m.value)}):(c.editorErrorMessage="",c.validateError=!1))});const C=computed$1(()=>e.draggable),w=computed$1(()=>e.overflow),{isDragging:x}=useDraggable(m,f,C,w);function S(){l.value&&(l.value=!1,nextTick(()=>{c.action&&t("action",c.action)}))}onMounted(async()=>{await nextTick(),e.closeOnHashChange&&window.addEventListener("hashchange",S)}),onBeforeUnmount(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",S)});const k=()=>{e.closeOnClickModal&&I(c.distinguishCancelAndClose?"close":"cancel")},E=useSameTarget(k),I=t=>{var i;("prompt"!==e.boxType||"confirm"!==t||T())&&(c.action=t,c.beforeClose?null==(i=c.beforeClose)||i.call(c,t,c,S):S())},T=()=>{if("prompt"===e.boxType){const e=c.inputPattern;if(e&&!e.test(c.inputValue||""))return c.editorErrorMessage=c.inputErrorMessage||s("el.messagebox.error"),c.validateError=!0,!1;const t=c.inputValidator;if(isFunction$1(t)){const e=t(c.inputValue);if(!1===e)return c.editorErrorMessage=c.inputErrorMessage||s("el.messagebox.error"),c.validateError=!0,!1;if(isString$1(e))return c.editorErrorMessage=e,c.validateError=!0,!1}}return c.editorErrorMessage="",c.validateError=!1,!0},D=()=>{var e,t;const i=null==(e=b.value)?void 0:e.$refs;return null!=(t=null==i?void 0:i.input)?t:null==i?void 0:i.textarea},L=()=>{I("close")};return e.lockScroll&&useLockscreen(l),{...toRefs(c),ns:n,overlayEvent:E,visible:l,hasMessage:g,typeClass:d,contentId:u,inputId:h,btnSize:r,iconComponent:p,confirmButtonClasses:y,rootRef:m,focusStartRef:v,headerRef:f,inputRef:b,isDragging:x,confirmRef:_,doClose:S,handleClose:L,onCloseRequested:()=>{e.closeOnPressEscape&&L()},handleWrapperClick:k,handleInputEnter:e=>{if("textarea"!==c.inputType)return e.preventDefault(),I("confirm")},handleAction:I,t:s}}});function _sfc_render$2(e,t,i,o,n,r){const s=resolveComponent("el-icon"),a=resolveComponent("el-input"),l=resolveComponent("el-button"),c=resolveComponent("el-focus-trap"),d=resolveComponent("el-overlay");return openBlock(),createBlock(Transition,{name:"fade-in-linear",onAfterLeave:t=>e.$emit("vanish"),persisted:""},{default:withCtx(()=>[withDirectives(createVNode(d,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:withCtx(()=>[createBaseVNode("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:normalizeClass(`${e.ns.namespace.value}-overlay-message-box`),onClick:e.overlayEvent.onClick,onMousedown:e.overlayEvent.onMousedown,onMouseup:e.overlayEvent.onMouseup},[createVNode(c,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:withCtx(()=>[createBaseVNode("div",{ref:"rootRef",class:normalizeClass([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),e.ns.is("dragging",e.isDragging),{[e.ns.m("center")]:e.center}]),style:normalizeStyle(e.customStyle),tabindex:"-1",onClick:withModifiers(()=>{},["stop"])},[null!==e.title&&void 0!==e.title?(openBlock(),createElementBlock("div",{key:0,ref:"headerRef",class:normalizeClass([e.ns.e("header"),{"show-close":e.showClose}])},[createBaseVNode("div",{class:normalizeClass(e.ns.e("title"))},[e.iconComponent&&e.center?(openBlock(),createBlock(s,{key:0,class:normalizeClass([e.ns.e("status"),e.typeClass])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.iconComponent)))]),_:1},8,["class"])):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(e.title),1)],2),e.showClose?(openBlock(),createElementBlock("button",{key:0,type:"button",class:normalizeClass(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),onKeydown:withKeys(withModifiers(t=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"])},[createVNode(s,{class:normalizeClass(e.ns.e("close"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.closeIcon||"close")))]),_:1},8,["class"])],42,["aria-label","onClick","onKeydown"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{id:e.contentId,class:normalizeClass(e.ns.e("content"))},[createBaseVNode("div",{class:normalizeClass(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(openBlock(),createBlock(s,{key:0,class:normalizeClass([e.ns.e("status"),e.typeClass])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.iconComponent)))]),_:1},8,["class"])):createCommentVNode("v-if",!0),e.hasMessage?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(e.ns.e("message"))},[renderSlot(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(openBlock(),createBlock(resolveDynamicComponent(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(openBlock(),createBlock(resolveDynamicComponent(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0,textContent:toDisplayString(e.message)},null,8,["for","textContent"]))])],2)):createCommentVNode("v-if",!0)],2),withDirectives(createBaseVNode("div",{class:normalizeClass(e.ns.e("input"))},[createVNode(a,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t=>e.inputValue=t,type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:normalizeClass({invalid:e.validateError}),onKeydown:withKeys(e.handleInputEnter,["enter"])},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","aria-invalid","class","onKeydown"]),createBaseVNode("div",{class:normalizeClass(e.ns.e("errormsg")),style:normalizeStyle({visibility:e.editorErrorMessage?"visible":"hidden"})},toDisplayString(e.editorErrorMessage),7)],2),[[vShow,e.showInput]])],10,["id"]),createBaseVNode("div",{class:normalizeClass(e.ns.e("btns"))},[e.showCancelButton?(openBlock(),createBlock(l,{key:0,loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:normalizeClass([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t=>e.handleAction("cancel"),onKeydown:withKeys(withModifiers(t=>e.handleAction("cancel"),["prevent"]),["enter"])},{default:withCtx(()=>[createTextVNode(toDisplayString(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","loading-icon","class","round","size","onClick","onKeydown"])):createCommentVNode("v-if",!0),withDirectives(createVNode(l,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:normalizeClass([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t=>e.handleAction("confirm"),onKeydown:withKeys(withModifiers(t=>e.handleAction("confirm"),["prevent"]),["enter"])},{default:withCtx(()=>[createTextVNode(toDisplayString(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","loading-icon","class","round","disabled","size","onClick","onKeydown"]),[[vShow,e.showConfirmButton]])],2)],14,["onClick"])]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,["aria-label","aria-describedby","onClick","onMousedown","onMouseup"])]),_:3},8,["z-index","overlay-class","mask"]),[[vShow,e.visible]])]),_:3},8,["onAfterLeave"])}var MessageBoxConstructor=_export_sfc$1(_sfc_main$8,[["render",_sfc_render$2],["__file","index.vue"]]);const messageInstance=new Map,getAppendToElement=e=>{let t=document.body;return e.appendTo&&(isString$1(e.appendTo)&&(t=document.querySelector(e.appendTo)),isElement(e.appendTo)&&(t=e.appendTo),isElement(t)||(t=document.body)),t},initInstance=(e,t,i=null)=>{const o=createVNode(MessageBoxConstructor,e,isFunction$1(e.message)||isVNode(e.message)?{default:isFunction$1(e.message)?e.message:()=>e.message}:null);return o.appContext=i,render(o,t),getAppendToElement(e).appendChild(t.firstElementChild),o.component},genContainer=()=>document.createElement("div"),showMessage=(e,t)=>{const i=genContainer();e.onVanish=()=>{render(null,i),messageInstance.delete(n)},e.onAction=t=>{const i=messageInstance.get(n);let r;r=e.showInput?{value:n.inputValue,action:t}:t,e.callback?e.callback(r,o.proxy):"cancel"===t||"close"===t?e.distinguishCancelAndClose&&"cancel"!==t?i.reject("close"):i.reject("cancel"):i.resolve(r)};const o=initInstance(e,i,t),n=o.proxy;for(const r in e)hasOwn(e,r)&&!hasOwn(n.$props,r)&&("closeIcon"===r&&isObject(e[r])?n[r]=markRaw(e[r]):n[r]=e[r]);return n.visible=!0,n};function MessageBox(e,t=null){if(!isClient)return Promise.reject();let i;return isString$1(e)||isVNode(e)?e={message:e}:i=e.callback,new Promise((o,n)=>{const r=showMessage(e,null!=t?t:MessageBox._context);messageInstance.set(r,{options:e,callback:i,resolve:o,reject:n})})}const MESSAGE_BOX_VARIANTS=["alert","confirm","prompt"],MESSAGE_BOX_DEFAULT_OPTS={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};function messageBoxFactory(e){return(t,i,o,n)=>{let r="";return isObject(i)?(o=i,r=""):r=isUndefined(i)?"":i,MessageBox(Object.assign({title:r,message:t,type:"",...MESSAGE_BOX_DEFAULT_OPTS[e]},o,{boxType:e}),n)}}MESSAGE_BOX_VARIANTS.forEach(e=>{MessageBox[e]=messageBoxFactory(e)}),MessageBox.close=()=>{messageInstance.forEach((e,t)=>{t.doClose()}),messageInstance.clear()},MessageBox._context=null;const _MessageBox=MessageBox;_MessageBox.install=e=>{_MessageBox._context=e._context,e.config.globalProperties.$msgbox=_MessageBox,e.config.globalProperties.$messageBox=_MessageBox,e.config.globalProperties.$alert=_MessageBox.alert,e.config.globalProperties.$confirm=_MessageBox.confirm,e.config.globalProperties.$prompt=_MessageBox.prompt};const ElMessageBox=_MessageBox,adapter={useZIndex:useZIndex,message:ElMessage,messageBox:ElMessageBox,components:{autocomplete:{component:ElAutocomplete,props:e=>e},badge:{component:ElBadge,props:e=>e},button:{component:ElButton,props:e=>e},card:{component:ElCard,props:e=>e},cascader:{component:ElCascader,props:e=>e},checkbox:{component:ElCheckbox,props:e=>e},checkboxGroup:{component:ElCheckboxGroup$1,props:e=>e},col:{component:ElCol,props:e=>e},collapse:{component:ElCollapse,props:e=>e},collapseItem:{component:ElCollapseItem,props:e=>e},colorPicker:{component:ElColorPicker,props:e=>e},datePicker:{component:ElDatePicker,props:e=>e},dialog:{component:ElDialog,props:e=>e},divider:{component:ElDivider,props:e=>e},drawer:{component:ElDrawer,props:e=>e},dropdown:{component:ElDropdown,props:e=>e},dropdownItem:{component:ElDropdownItem,props:e=>e},dropdownMenu:{component:ElDropdownMenu,props:()=>({})},form:{component:ElForm,props:e=>e},formItem:{component:ElFormItem,props:e=>e},icon:{component:ElIcon,props:e=>e},input:{component:ElInput,props:e=>e},inputNumber:{component:ElInputNumber,props:e=>e},option:{component:ElOption,props:e=>e},optionGroup:{component:ElOptionGroup,props:e=>e},pagination:{component:ElPagination,props:e=>e},radio:{component:ElRadio,props:e=>e},radioButton:{component:ElRadioButton,props:e=>e},radioGroup:{component:ElRadioGroup,props:e=>e},row:{component:ElRow,props:()=>({})},scrollbar:{component:ElScrollbar,props:()=>({})},select:{component:ElSelect,props:e=>e},step:{component:ElStep,props:e=>e},steps:{component:ElSteps,props:e=>e},switch:{component:ElSwitch,props:e=>e},table:{component:ElTable,props:e=>e},tableColumn:{component:ElTableColumn,props:e=>e},tabPane:{component:ElTabPane,props:e=>e},tabs:{component:ElTabs,props:e=>e},tag:{component:ElTag,props:e=>e},timePicker:{component:ElTimePicker,props:e=>e},tooltip:{component:ElTooltip,props:e=>e},tree:{component:ElTree,props:e=>e},upload:{component:ElUpload,props:e=>e}},loading:ElLoading.directive},_sfc_main$7={name:"App"},_export_sfc=(e,t)=>{const i=e.__vccOpts||e;for(const[o,n]of t)i[o]=n;return i};function _sfc_render$1(e,t,i,o,n,r){const s=resolveComponent("router-view");return openBlock(),createBlock(s)}const App=_export_sfc(_sfc_main$7,[["render",_sfc_render$1]]),isBrowser="undefined"!=typeof document; /*! * vue-router v4.5.1 * (c) 2025 Eduardo San Martin Morote * @license MIT */function isRouteComponent(e){return"object"==typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}function isESModule(e){return e.__esModule||"Module"===e[Symbol.toStringTag]||e.default&&isRouteComponent(e.default)}const assign=Object.assign;function applyToParams(e,t){const i={};for(const o in t){const n=t[o];i[o]=isArray(n)?n.map(e):e(n)}return i}const noop=()=>{},isArray=Array.isArray,HASH_RE=/#/g,AMPERSAND_RE=/&/g,SLASH_RE=/\//g,EQUAL_RE=/=/g,IM_RE=/\?/g,PLUS_RE=/\+/g,ENC_BRACKET_OPEN_RE=/%5B/g,ENC_BRACKET_CLOSE_RE=/%5D/g,ENC_CARET_RE=/%5E/g,ENC_BACKTICK_RE=/%60/g,ENC_CURLY_OPEN_RE=/%7B/g,ENC_PIPE_RE=/%7C/g,ENC_CURLY_CLOSE_RE=/%7D/g,ENC_SPACE_RE=/%20/g;function commonEncode(e){return encodeURI(""+e).replace(ENC_PIPE_RE,"|").replace(ENC_BRACKET_OPEN_RE,"[").replace(ENC_BRACKET_CLOSE_RE,"]")}function encodeHash(e){return commonEncode(e).replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryValue(e){return commonEncode(e).replace(PLUS_RE,"%2B").replace(ENC_SPACE_RE,"+").replace(HASH_RE,"%23").replace(AMPERSAND_RE,"%26").replace(ENC_BACKTICK_RE,"`").replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryKey(e){return encodeQueryValue(e).replace(EQUAL_RE,"%3D")}function encodePath(e){return commonEncode(e).replace(HASH_RE,"%23").replace(IM_RE,"%3F")}function encodeParam(e){return null==e?"":encodePath(e).replace(SLASH_RE,"%2F")}function decode(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}const TRAILING_SLASH_RE=/\/$/,removeTrailingSlash=e=>e.replace(TRAILING_SLASH_RE,"");function parseURL(e,t,i="/"){let o,n={},r="",s="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(o=t.slice(0,l),r=t.slice(l+1,a>-1?a:t.length),n=e(r)),a>-1&&(o=o||t.slice(0,a),s=t.slice(a,t.length)),o=resolveRelativePath(null!=o?o:t,i),{fullPath:o+(r&&"?")+r+s,path:o,query:n,hash:decode(s)}}function stringifyURL(e,t){const i=t.query?e(t.query):"";return t.path+(i&&"?")+i+(t.hash||"")}function stripBase(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function isSameRouteLocation(e,t,i){const o=t.matched.length-1,n=i.matched.length-1;return o>-1&&o===n&&isSameRouteRecord(t.matched[o],i.matched[n])&&isSameRouteLocationParams(t.params,i.params)&&e(t.query)===e(i.query)&&t.hash===i.hash}function isSameRouteRecord(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function isSameRouteLocationParams(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!isSameRouteLocationParamsValue(e[i],t[i]))return!1;return!0}function isSameRouteLocationParamsValue(e,t){return isArray(e)?isEquivalentArray(e,t):isArray(t)?isEquivalentArray(t,e):e===t}function isEquivalentArray(e,t){return isArray(t)?e.length===t.length&&e.every((e,i)=>e===t[i]):1===e.length&&e[0]===t}function resolveRelativePath(e,t){if(e.startsWith("/"))return e;if(!e)return t;const i=t.split("/"),o=e.split("/"),n=o[o.length-1];".."!==n&&"."!==n||o.push("");let r,s,a=i.length-1;for(r=0;r1&&a--}return i.slice(0,a).join("/")+"/"+o.slice(r).join("/")}const START_LOCATION_NORMALIZED={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var NavigationType,NavigationType2,NavigationDirection,NavigationDirection2;function normalizeBase(e){if(!e)if(isBrowser){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),removeTrailingSlash(e)}NavigationType2=NavigationType||(NavigationType={}),NavigationType2.pop="pop",NavigationType2.push="push",NavigationDirection2=NavigationDirection||(NavigationDirection={}),NavigationDirection2.back="back",NavigationDirection2.forward="forward",NavigationDirection2.unknown="";const BEFORE_HASH_RE=/^[^#]+#/;function createHref(e,t){return e.replace(BEFORE_HASH_RE,"#")+t}function getElementPosition(e,t){const i=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-i.left-(t.left||0),top:o.top-i.top-(t.top||0)}}const computeScrollPosition=()=>({left:window.scrollX,top:window.scrollY});function scrollToPosition(e){let t;if("el"in e){const i=e.el,o="string"==typeof i&&i.startsWith("#"),n="string"==typeof i?o?document.getElementById(i.slice(1)):document.querySelector(i):i;if(!n)return;t=getElementPosition(n,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.scrollX,null!=t.top?t.top:window.scrollY)}function getScrollKey(e,t){return(history.state?history.state.position-t:-1)+e}const scrollPositions=new Map;function saveScrollPosition(e,t){scrollPositions.set(e,t)}function getSavedScrollPosition(e){const t=scrollPositions.get(e);return scrollPositions.delete(e),t}let createBaseLocation=()=>location.protocol+"//"+location.host;function createCurrentLocation(e,t){const{pathname:i,search:o,hash:n}=t,r=e.indexOf("#");if(r>-1){let t=n.includes(e.slice(r))?e.slice(r).length:1,i=n.slice(t);return"/"!==i[0]&&(i="/"+i),stripBase(i,"")}return stripBase(i,e)+o+n}function useHistoryListeners(e,t,i,o){let n=[],r=[],s=null;const a=({state:r})=>{const a=createCurrentLocation(e,location),l=i.value,c=t.value;let d=0;if(r){if(i.value=a,t.value=r,s&&s===l)return void(s=null);d=c?r.position-c.position:0}else o(a);n.forEach(e=>{e(i.value,l,{delta:d,type:NavigationType.pop,direction:d?d>0?NavigationDirection.forward:NavigationDirection.back:NavigationDirection.unknown})})};function l(){const{history:e}=window;e.state&&e.replaceState(assign({},e.state,{scroll:computeScrollPosition()}),"")}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:function(){s=i.value},listen:function(e){n.push(e);const t=()=>{const t=n.indexOf(e);t>-1&&n.splice(t,1)};return r.push(t),t},destroy:function(){for(const e of r)e();r=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}}}function buildState(e,t,i,o=!1,n=!1){return{back:e,current:t,forward:i,replaced:o,position:window.history.length,scroll:n?computeScrollPosition():null}}function useHistoryStateNavigation(e){const{history:t,location:i}=window,o={value:createCurrentLocation(e,i)},n={value:t.state};function r(o,r,s){const a=e.indexOf("#"),l=a>-1?(i.host&&document.querySelector("base")?e:e.slice(a))+o:createBaseLocation()+e+o;try{t[s?"replaceState":"pushState"](r,"",l),n.value=r}catch(c){console.error(c),i[s?"replace":"assign"](l)}}return n.value||r(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:o,state:n,push:function(e,i){const s=assign({},n.value,t.state,{forward:e,scroll:computeScrollPosition()});r(s.current,s,!0),r(e,assign({},buildState(o.value,e,null),{position:s.position+1},i),!1),o.value=e},replace:function(e,i){r(e,assign({},t.state,buildState(n.value.back,e,n.value.forward,!0),i,{position:n.value.position}),!0),o.value=e}}}function createWebHistory(e){const t=useHistoryStateNavigation(e=normalizeBase(e)),i=useHistoryListeners(e,t.state,t.location,t.replace);const o=assign({location:"",base:e,go:function(e,t=!0){t||i.pauseListeners(),history.go(e)},createHref:createHref.bind(null,e)},t,i);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function createWebHashHistory(e){return(e=location.host?e||location.pathname+location.search:"").includes("#")||(e+="#"),createWebHistory(e)}function isRouteLocation(e){return"string"==typeof e||e&&"object"==typeof e}function isRouteName(e){return"string"==typeof e||"symbol"==typeof e}const NavigationFailureSymbol=Symbol("");var NavigationFailureType,NavigationFailureType2;function createRouterError(e,t){return assign(new Error,{type:e,[NavigationFailureSymbol]:!0},t)}function isNavigationFailure(e,t){return e instanceof Error&&NavigationFailureSymbol in e&&(null==t||!!(e.type&t))}NavigationFailureType2=NavigationFailureType||(NavigationFailureType={}),NavigationFailureType2[NavigationFailureType2.aborted=4]="aborted",NavigationFailureType2[NavigationFailureType2.cancelled=8]="cancelled",NavigationFailureType2[NavigationFailureType2.duplicated=16]="duplicated";const BASE_PARAM_PATTERN="[^/]+?",BASE_PATH_PARSER_OPTIONS={sensitive:!1,strict:!1,start:!0,end:!0},REGEX_CHARS_RE=/[.+*?^${}()[\]/\\]/g;function tokensToParser(e,t){const i=assign({},BASE_PATH_PARSER_OPTIONS,t),o=[];let n=i.start?"^":"";const r=[];for(const l of e){const e=l.length?[]:[90];i.strict&&!l.length&&(n+="/");for(let t=0;tt.length?1===t.length&&80===t[0]?1:-1:0}function comparePathParserScore(e,t){let i=0;const o=e.score,n=t.score;for(;i0&&t[t.length-1]<0}const ROOT_TOKEN={type:0,value:""},VALID_PARAM_RE=/[a-zA-Z0-9_]/;function tokenizePath(e){if(!e)return[[]];if("/"===e)return[[ROOT_TOKEN]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(e){throw new Error(`ERR (${i})/"${c}": ${e}`)}let i=0,o=i;const n=[];let r;function s(){r&&n.push(r),r=[]}let a,l=0,c="",d="";function u(){c&&(0===i?r.push({type:0,value:c}):1===i||2===i||3===i?(r.length>1&&("*"===a||"+"===a)&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:c,regexp:d,repeatable:"*"===a||"+"===a,optional:"*"===a||"?"===a})):t("Invalid state to consume buffer"),c="")}function h(){c+=a}for(;l{r(h)}:noop}function r(e){if(isRouteName(e)){const t=o.get(e);t&&(o.delete(e),i.splice(i.indexOf(t),1),t.children.forEach(r),t.alias.forEach(r))}else{const t=i.indexOf(e);t>-1&&(i.splice(t,1),e.record.name&&o.delete(e.record.name),e.children.forEach(r),e.alias.forEach(r))}}function s(e){const t=findInsertionIndex(e,i);i.splice(t,0,e),e.record.name&&!isAliasRecord(e)&&o.set(e.record.name,e)}return t=mergeOptions({strict:!1,end:!0,sensitive:!1},t),e.forEach(e=>n(e)),{addRoute:n,resolve:function(e,t){let n,r,s,a={};if("name"in e&&e.name){if(n=o.get(e.name),!n)throw createRouterError(1,{location:e});s=n.record.name,a=assign(paramsFromLocation(t.params,n.keys.filter(e=>!e.optional).concat(n.parent?n.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&¶msFromLocation(e.params,n.keys.map(e=>e.name))),r=n.stringify(a)}else if(null!=e.path)r=e.path,n=i.find(e=>e.re.test(r)),n&&(a=n.parse(r),s=n.record.name);else{if(n=t.name?o.get(t.name):i.find(e=>e.re.test(t.path)),!n)throw createRouterError(1,{location:e,currentLocation:t});s=n.record.name,a=assign({},t.params,e.params),r=n.stringify(a)}const l=[];let c=n;for(;c;)l.unshift(c.record),c=c.parent;return{name:s,path:r,params:a,matched:l,meta:mergeMetaFields(l)}},removeRoute:r,clearRoutes:function(){i.length=0,o.clear()},getRoutes:function(){return i},getRecordMatcher:function(e){return o.get(e)}}}function paramsFromLocation(e,t){const i={};for(const o of t)o in e&&(i[o]=e[o]);return i}function normalizeRouteRecord(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:normalizeRecordProps(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function normalizeRecordProps(e){const t={},i=e.props||!1;if("component"in e)t.default=i;else for(const o in e.components)t[o]="object"==typeof i?i[o]:i;return t}function isAliasRecord(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function mergeMetaFields(e){return e.reduce((e,t)=>assign(e,t.meta),{})}function mergeOptions(e,t){const i={};for(const o in e)i[o]=o in t?t[o]:e[o];return i}function findInsertionIndex(e,t){let i=0,o=t.length;for(;i!==o;){const n=i+o>>1;comparePathParserScore(e,t[n])<0?o=n:i=n+1}const n=getInsertionAncestor(e);return n&&(o=t.lastIndexOf(n,o-1)),o}function getInsertionAncestor(e){let t=e;for(;t=t.parent;)if(isMatchable(t)&&0===comparePathParserScore(e,t))return t}function isMatchable({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function parseQuery(e){const t={};if(""===e||"?"===e)return t;const i=("?"===e[0]?e.slice(1):e).split("&");for(let o=0;oe&&encodeQueryValue(e)):[o&&encodeQueryValue(o)];n.forEach(e=>{void 0!==e&&(t+=(t.length?"&":"")+i,null!=e&&(t+="="+e))})}return t}function normalizeQuery(e){const t={};for(const i in e){const o=e[i];void 0!==o&&(t[i]=isArray(o)?o.map(e=>null==e?null:""+e):null==o?o:""+o)}return t}const matchedRouteKey=Symbol(""),viewDepthKey=Symbol(""),routerKey=Symbol(""),routeLocationKey=Symbol(""),routerViewLocationKey=Symbol("");function useCallbacks(){let e=[];return{add:function(t){return e.push(t),()=>{const i=e.indexOf(t);i>-1&&e.splice(i,1)}},list:()=>e.slice(),reset:function(){e=[]}}}function guardToPromiseFn(e,t,i,o,n,r=e=>e()){const s=o&&(o.enterCallbacks[n]=o.enterCallbacks[n]||[]);return()=>new Promise((a,l)=>{const c=e=>{!1===e?l(createRouterError(4,{from:i,to:t})):e instanceof Error?l(e):isRouteLocation(e)?l(createRouterError(2,{from:t,to:e})):(s&&o.enterCallbacks[n]===s&&"function"==typeof e&&s.push(e),a())},d=r(()=>e.call(o&&o.instances[n],t,i,c));let u=Promise.resolve(d);e.length<3&&(u=u.then(c)),u.catch(e=>l(e))})}function extractComponentsGuards(e,t,i,o,n=e=>e()){const r=[];for(const s of e)for(const e in s.components){let a=s.components[e];if("beforeRouteEnter"===t||s.instances[e])if(isRouteComponent(a)){const l=(a.__vccOpts||a)[t];l&&r.push(guardToPromiseFn(l,i,o,s,e,n))}else{let l=a();r.push(()=>l.then(r=>{if(!r)throw new Error(`Couldn't resolve component "${e}" at "${s.path}"`);const a=isESModule(r)?r.default:r;s.mods[e]=r,s.components[e]=a;const l=(a.__vccOpts||a)[t];return l&&guardToPromiseFn(l,i,o,s,e,n)()}))}}return r}function useLink(e){const t=inject(routerKey),i=inject(routeLocationKey),o=computed$1(()=>{const i=unref(e.to);return t.resolve(i)}),n=computed$1(()=>{const{matched:e}=o.value,{length:t}=e,n=e[t-1],r=i.matched;if(!n||!r.length)return-1;const s=r.findIndex(isSameRouteRecord.bind(null,n));if(s>-1)return s;const a=getOriginalPath(e[t-2]);return t>1&&getOriginalPath(n)===a&&r[r.length-1].path!==a?r.findIndex(isSameRouteRecord.bind(null,e[t-2])):s}),r=computed$1(()=>n.value>-1&&includesParams(i.params,o.value.params)),s=computed$1(()=>n.value>-1&&n.value===i.matched.length-1&&isSameRouteLocationParams(i.params,o.value.params));return{route:o,href:computed$1(()=>o.value.href),isActive:r,isExactActive:s,navigate:function(i={}){if(guardEvent(i)){const i=t[unref(e.replace)?"replace":"push"](unref(e.to)).catch(noop);return e.viewTransition&&"undefined"!=typeof document&&"startViewTransition"in document&&document.startViewTransition(()=>i),i}return Promise.resolve()}}}function preferSingleVNode(e){return 1===e.length?e[0]:e}const RouterLinkImpl=defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:useLink,setup(e,{slots:t}){const i=reactive$1(useLink(e)),{options:o}=inject(routerKey),n=computed$1(()=>({[getLinkClass(e.activeClass,o.linkActiveClass,"router-link-active")]:i.isActive,[getLinkClass(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:i.isExactActive}));return()=>{const o=t.default&&preferSingleVNode(t.default(i));return e.custom?o:h$2("a",{"aria-current":i.isExactActive?e.ariaCurrentValue:null,href:i.href,onClick:i.navigate,class:n.value},o)}}}),RouterLink=RouterLinkImpl;function guardEvent(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function includesParams(e,t){for(const i in t){const o=t[i],n=e[i];if("string"==typeof o){if(o!==n)return!1}else if(!isArray(n)||n.length!==o.length||o.some((e,t)=>e!==n[t]))return!1}return!0}function getOriginalPath(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const getLinkClass=(e,t,i)=>null!=e?e:null!=t?t:i,RouterViewImpl=defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:i}){const o=inject(routerViewLocationKey),n=computed$1(()=>e.route||o.value),r=inject(viewDepthKey,0),s=computed$1(()=>{let e=unref(r);const{matched:t}=n.value;let i;for(;(i=t[e])&&!i.components;)e++;return e}),a=computed$1(()=>n.value.matched[s.value]);provide(viewDepthKey,computed$1(()=>s.value+1)),provide(matchedRouteKey,a),provide(routerViewLocationKey,n);const l=ref$1();return watch(()=>[l.value,a.value,e.name],([e,t,i],[o,n,r])=>{t&&(t.instances[i]=e,n&&n!==t&&e&&e===o&&(t.leaveGuards.size||(t.leaveGuards=n.leaveGuards),t.updateGuards.size||(t.updateGuards=n.updateGuards))),!e||!t||n&&isSameRouteRecord(t,n)&&o||(t.enterCallbacks[i]||[]).forEach(t=>t(e))},{flush:"post"}),()=>{const o=n.value,r=e.name,s=a.value,c=s&&s.components[r];if(!c)return normalizeSlot(i.default,{Component:c,route:o});const d=s.props[r],u=d?!0===d?o.params:"function"==typeof d?d(o):d:null,h=h$2(c,assign({},u,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[r]=null)},ref:l}));return normalizeSlot(i.default,{Component:h,route:o})||h}}});function normalizeSlot(e,t){if(!e)return null;const i=e(t);return 1===i.length?i[0]:i}const RouterView=RouterViewImpl;function createRouter(e){const t=createRouterMatcher(e.routes,e),i=e.parseQuery||parseQuery,o=e.stringifyQuery||stringifyQuery,n=e.history,r=useCallbacks(),s=useCallbacks(),a=useCallbacks(),l=shallowRef(START_LOCATION_NORMALIZED);let c=START_LOCATION_NORMALIZED;isBrowser&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=applyToParams.bind(null,e=>""+e),u=applyToParams.bind(null,encodeParam),h=applyToParams.bind(null,decode);function p(e,r){if(r=assign({},r||l.value),"string"==typeof e){const o=parseURL(i,e,r.path),s=t.resolve({path:o.path},r),a=n.createHref(o.fullPath);return assign(o,s,{params:h(s.params),hash:decode(o.hash),redirectedFrom:void 0,href:a})}let s;if(null!=e.path)s=assign({},e,{path:parseURL(i,e.path,r.path).path});else{const t=assign({},e.params);for(const e in t)null==t[e]&&delete t[e];s=assign({},e,{params:u(t)}),r.params=u(r.params)}const a=t.resolve(s,r),c=e.hash||"";a.params=d(h(a.params));const p=stringifyURL(o,assign({},e,{hash:encodeHash(c),path:a.path})),g=n.createHref(p);return assign({fullPath:p,hash:c,query:o===stringifyQuery?normalizeQuery(e.query):e.query||{}},a,{redirectedFrom:void 0,href:g})}function g(e){return"string"==typeof e?parseURL(i,e,l.value.path):assign({},e)}function m(e,t){if(c!==e)return createRouterError(8,{from:t,to:e})}function f(e){return b(e)}function v(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:i}=t;let o="function"==typeof i?i(e):i;return"string"==typeof o&&(o=o.includes("?")||o.includes("#")?o=g(o):{path:o},o.params={}),assign({query:e.query,hash:e.hash,params:null!=o.path?{}:e.params},o)}}function b(e,t){const i=c=p(e),n=l.value,r=e.state,s=e.force,a=!0===e.replace,d=v(i);if(d)return b(assign(g(d),{state:"object"==typeof d?assign({},r,d.state):r,force:s,replace:a}),t||i);const u=i;let h;return u.redirectedFrom=t,!s&&isSameRouteLocation(o,n,i)&&(h=createRouterError(16,{to:u,from:n}),L(n,n,!0,!1)),(h?Promise.resolve(h):C(u,n)).catch(e=>isNavigationFailure(e)?isNavigationFailure(e,2)?e:D(e):T(e,u,n)).then(e=>{if(e){if(isNavigationFailure(e,2))return b(assign({replace:a},g(e.to),{state:"object"==typeof e.to?assign({},r,e.to.state):r,force:s}),t||u)}else e=x(u,n,!0,a,r);return w(u,n,e),e})}function _(e,t){const i=m(e,t);return i?Promise.reject(i):Promise.resolve()}function y(e){const t=$.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function C(e,t){let i;const[o,n,a]=extractChangingRecords(e,t);i=extractComponentsGuards(o.reverse(),"beforeRouteLeave",e,t);for(const r of o)r.leaveGuards.forEach(o=>{i.push(guardToPromiseFn(o,e,t))});const l=_.bind(null,e,t);return i.push(l),A(i).then(()=>{i=[];for(const o of r.list())i.push(guardToPromiseFn(o,e,t));return i.push(l),A(i)}).then(()=>{i=extractComponentsGuards(n,"beforeRouteUpdate",e,t);for(const o of n)o.updateGuards.forEach(o=>{i.push(guardToPromiseFn(o,e,t))});return i.push(l),A(i)}).then(()=>{i=[];for(const o of a)if(o.beforeEnter)if(isArray(o.beforeEnter))for(const n of o.beforeEnter)i.push(guardToPromiseFn(n,e,t));else i.push(guardToPromiseFn(o.beforeEnter,e,t));return i.push(l),A(i)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),i=extractComponentsGuards(a,"beforeRouteEnter",e,t,y),i.push(l),A(i))).then(()=>{i=[];for(const o of s.list())i.push(guardToPromiseFn(o,e,t));return i.push(l),A(i)}).catch(e=>isNavigationFailure(e,8)?e:Promise.reject(e))}function w(e,t,i){a.list().forEach(o=>y(()=>o(e,t,i)))}function x(e,t,i,o,r){const s=m(e,t);if(s)return s;const a=t===START_LOCATION_NORMALIZED,c=isBrowser?history.state:{};i&&(o||a?n.replace(e.fullPath,assign({scroll:a&&c&&c.scroll},r)):n.push(e.fullPath,r)),l.value=e,L(e,t,i,a),D()}let S;let k,E=useCallbacks(),I=useCallbacks();function T(e,t,i){D(e);const o=I.list();return o.length?o.forEach(o=>o(e,t,i)):console.error(e),Promise.reject(e)}function D(e){return k||(k=!e,S||(S=n.listen((e,t,i)=>{if(!R.listening)return;const o=p(e),r=v(o);if(r)return void b(assign(r,{replace:!0,force:!0}),o).catch(noop);c=o;const s=l.value;isBrowser&&saveScrollPosition(getScrollKey(s.fullPath,i.delta),computeScrollPosition()),C(o,s).catch(e=>isNavigationFailure(e,12)?e:isNavigationFailure(e,2)?(b(assign(g(e.to),{force:!0}),o).then(e=>{isNavigationFailure(e,20)&&!i.delta&&i.type===NavigationType.pop&&n.go(-1,!1)}).catch(noop),Promise.reject()):(i.delta&&n.go(-i.delta,!1),T(e,o,s))).then(e=>{(e=e||x(o,s,!1))&&(i.delta&&!isNavigationFailure(e,8)?n.go(-i.delta,!1):i.type===NavigationType.pop&&isNavigationFailure(e,20)&&n.go(-1,!1)),w(o,s,e)}).catch(noop)})),E.list().forEach(([t,i])=>e?i(e):t()),E.reset()),e}function L(t,i,o,n){const{scrollBehavior:r}=e;if(!isBrowser||!r)return Promise.resolve();const s=!o&&getSavedScrollPosition(getScrollKey(t.fullPath,0))||(n||!o)&&history.state&&history.state.scroll||null;return nextTick().then(()=>r(t,i,s)).then(e=>e&&scrollToPosition(e)).catch(e=>T(e,t,i))}const N=e=>n.go(e);let M;const $=new Set,R={currentRoute:l,listening:!0,addRoute:function(e,i){let o,n;return isRouteName(e)?(o=t.getRecordMatcher(e),n=i):n=e,t.addRoute(n,o)},removeRoute:function(e){const i=t.getRecordMatcher(e);i&&t.removeRoute(i)},clearRoutes:t.clearRoutes,hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map(e=>e.record)},resolve:p,options:e,push:f,replace:function(e){return f(assign(g(e),{replace:!0}))},go:N,back:()=>N(-1),forward:()=>N(1),beforeEach:r.add,beforeResolve:s.add,afterEach:a.add,onError:I.add,isReady:function(){return k&&l.value!==START_LOCATION_NORMALIZED?Promise.resolve():new Promise((e,t)=>{E.add([e,t])})},install(e){e.component("RouterLink",RouterLink),e.component("RouterView",RouterView),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>unref(l)}),isBrowser&&!M&&l.value===START_LOCATION_NORMALIZED&&(M=!0,f(n.location).catch(e=>{}));const t={};for(const o in START_LOCATION_NORMALIZED)Object.defineProperty(t,o,{get:()=>l.value[o],enumerable:!0});e.provide(routerKey,this),e.provide(routeLocationKey,shallowReactive(t)),e.provide(routerViewLocationKey,l);const i=e.unmount;$.add(e),e.unmount=function(){$.delete(e),$.size<1&&(c=START_LOCATION_NORMALIZED,S&&S(),S=null,l.value=START_LOCATION_NORMALIZED,M=!1,k=!1),i()}}};function A(e){return e.reduce((e,t)=>e.then(()=>y(t)),Promise.resolve())}return R}function extractChangingRecords(e,t){const i=[],o=[],n=[],r=Math.max(t.matched.length,e.matched.length);for(let s=0;sisSameRouteRecord(e,r))?o.push(r):i.push(r));const a=e.matched[s];a&&(t.matched.find(e=>isSameRouteRecord(e,a))||n.push(a))}return[i,o,n]}function useRouter(){return inject(routerKey)}var DeviceType=(e=>(e.Phone="phone",e.Pad="pad",e.PC="pc",e))(DeviceType||{});const uaMap={phone:"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",pad:"Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1",pc:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"},_sfc_main$6=defineComponent({__name:"DeviceGroup",props:{modelValue:{default:()=>({width:375,height:817})},modelModifiers:{}},emits:["update:modelValue"],setup(e,{expose:t}){const i=inject("services"),o={phone:817,pad:1024,pc:"100%"},n={phone:375,pad:768,pc:"100%"},r=useModel(e,"modelValue"),s=computed$1(()=>i?.uiService.get("stageContainerRect")),a=ref$1(DeviceType.Phone),l=async e=>{const t=n[e];const l=(e=>o[e])(e);r.value={width:t,height:l},await nextTick(),(()=>{if(!i)return;const e=i.editorService.get("stage")?.renderer?.iframe;if(!e?.contentWindow)return;const t=e.contentWindow.appInstance;if(t)if(t.setEnv(uaMap[a.value]),t.env.isWeb){const e=i.uiService.get("stageRect"),o=convertToNumber(e.width,convertToNumber(s.value?.width||0));t.setDesignWidth(o)}else t.setDesignWidth(375)})()};return t({viewerDevice:a}),(e,t)=>(openBlock(),createBlock(unref(_sfc_main$f$3),{size:"small",modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=e=>a.value=e),class:normalizeClass(a.value),onChange:l},{default:withCtx(()=>[createVNode(unref(_sfc_main$g$3),{value:"phone"},{default:withCtx(()=>[...t[1]||(t[1]=[createTextVNode("Phone",-1)])]),_:1}),createVNode(unref(_sfc_main$g$3),{value:"pad"},{default:withCtx(()=>[...t[2]||(t[2]=[createTextVNode("Pad",-1)])]),_:1}),createVNode(unref(_sfc_main$g$3),{value:"pc"},{default:withCtx(()=>[...t[3]||(t[3]=[createTextVNode("PC",-1)])]),_:1})]),_:1},8,["modelValue","class"]))}}),componentGroupList=[{title:"示例容器",items:[{icon:folder_opened_default,text:"组",type:"container"},{icon:folder_opened_default,text:"蒙层",type:"overlay"},{icon:ticket_default,text:"页面片容器",type:"page-fragment-container"},{icon:files_default,text:"迭代器容器",type:"iterator-container"}]},{title:"示例组件",items:[{icon:tickets_default,text:"文本",type:"text"},{icon:switch_button_default,text:"按钮",type:"button"},{icon:picture_filled_default,text:"图片",type:"img"},{icon:grid_default,text:"二维码",type:"qrcode"}]},{title:"组合",items:[{icon:tickets_default,text:"弹窗",data:{type:"overlay",style:{position:"fixed",width:"100%",height:"100%",top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.8)"},name:"弹窗",items:[{type:"container",style:{position:"absolute",width:"80%",height:"400",top:"143.87",left:37.5,backgroundColor:"rgba(255, 255, 255, 1)",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%"},name:"组",items:[],layout:"absolute"}]}}]}],dsl={id:"1",name:"test",type:NodeType.ROOT,codeBlocks:{code_5336:{name:"getData",content:({app:e,params:t})=>{console.log("this is getData function",t,e)},params:[{name:"age",type:"number",tip:"年纪"},{name:"studentName",type:"text",tip:"学生姓名"}]},code_5316:{name:"getList",content:()=>{console.log("this is getList function")},params:[]},code_5317:{name:"code1",content:({flowState:e})=>{console.log("code1: set flowState.name=lisa"),e.name="lisa"},params:[]},code_5318:{name:"code2",content:({flowState:e})=>{console.log("print flowState.name",e.name),e.abort()},params:[]},code_6778:{name:"toOtherPage",desc:"",timing:"",params:[{name:"pageId",extra:"",type:""}],content:({app:e,params:t})=>{e.setPage(t.pageId)}}},items:[{type:NodeType.PAGE,id:"page_299",name:"index",title:"",layout:"absolute",style:{position:"relative",left:0,top:0,right:"",bottom:"",width:"100%",height:"1728",backgroundImage:"",backgroundColor:"rgba(248, 218, 218, 1)",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:""},events:[{name:"magic:common:events:click",actions:[{actionType:ActionType.CODE,codeId:"code_5336",params:{age:12}}]},{name:"magic:common:events:click",actions:[{actionType:ActionType.CODE,codeId:"code_5316",params:{}}]}],created:{hookType:"code",hookData:[{codeId:"code_5336",params:{studentName:"lisa",age:14}},{codeId:"code_5316",params:{}}]},items:[{type:"text",id:"text_9027",style:{width:"280.75",height:"38.97",position:"absolute",top:"107.90",left:"46.96",right:"",bottom:"",backgroundImage:"",backgroundColor:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"20",fontWeight:""},name:"文本",text:"Tmagic editor 营销活动编辑器",multiple:!0,events:[],displayConds:[]},{type:"qrcode",id:"qrcode_4738",style:{position:"absolute",left:"91.92",width:"176",height:"176",top:"565.50",right:"",bottom:"",backgroundImage:"",backgroundColor:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:""},name:"二维码",url:"https://github.com/Tencent/tmagic-editor",events:[],created:[],displayConds:[]},{type:"img",id:"img_3877",style:{position:"absolute",left:"95.91",width:"176",height:"176",top:"325.71",right:"",bottom:"",backgroundImage:"",backgroundColor:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:""},name:"图片",src:"https://vfiles.gtimg.cn/vupload/20210811/388ed01628667545737.png",url:"",events:[],created:[],displayConds:[]},{type:"button",id:"button_430",style:{position:"absolute",width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00",top:"206.82",left:"55.95",right:"",bottom:"",backgroundImage:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:"",borderWidth:"0",borderColor:"",borderStyle:"none",transform:{rotate:"",scale:""}},name:"按钮",text:"${ds_b64c92b5.text}",multiple:!0,events:[{name:"magic:common:events:click",actions:[{actionType:ActionType.COMP,to:"overlay_2159",method:"openOverlay"}]}],created:[],displayConds:[]},{id:"button_1cb163ad",text:"前往page2",multiple:!0,style:{width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00",position:"absolute",left:56,top:266},type:"button",name:"按钮",events:[{name:"magic:common:events:click",actions:[{actionType:ActionType.CODE,codeId:"code_6778",params:{pageId:"page_171ff161"}}]}],displayConds:[]},{type:"overlay",id:"overlay_2159",style:{position:"fixed",width:"100%",height:"100%",top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.8)"},name:"蒙层",items:[{type:"container",id:"container_607",style:{position:"absolute",width:"80%",height:"400",top:"143.87",left:37.5,right:"",bottom:"",backgroundImage:"",backgroundColor:"rgba(255, 255, 255, 1)",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:""},name:"组",items:[{type:"button",id:"button_7265",style:{position:"absolute",width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00",top:"322.71",left:"15.99",right:"",bottom:"",backgroundImage:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:"",borderWidth:"0",borderColor:"",borderStyle:"none",transform:{rotate:"",scale:""}},name:"按钮",text:"关闭弹窗",multiple:!0,events:[{name:"magic:common:events:click",actions:[{actionType:"comp",to:"overlay_2159",method:"closeOverlay"}]}],created:[]},{type:"img",id:"img_3291",style:{position:"absolute",left:"63.94",width:"176",height:"176",top:"105.91"},name:"图片",src:"https://puui.qpic.cn/vupload/0/1573555382625_bhp0wud8l6w.png/0",url:""},{type:"text",id:"text_8598",style:{position:"absolute",width:"86.92",height:"37.97",left:"106.90",top:"35.97",right:"",bottom:"",backgroundImage:"",backgroundColor:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"24",fontWeight:""},name:"文本",text:"Tmagic",multiple:!1,events:[],created:[]}],layout:"absolute",events:[],created:[]}]}]},{id:"page_171ff161",items:[{id:"button_80ca1076",text:"返回",multiple:!0,style:{width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00",position:"absolute",left:48,top:297},type:"button",name:"按钮",events:[{name:"magic:common:events:click",actions:[{actionType:ActionType.CODE,codeId:"code_6778",params:{pageId:"page_299"}}]}],displayConds:[]}],style:{width:"100%",height:"100%",position:"relative",top:0,left:0},type:NodeType.PAGE,name:"page2",title:"",layout:"absolute"}],dataSources:[{id:"ds_b64c92b5",type:"base",title:"button",description:"按钮",fields:[{name:"text",title:"按钮文案",type:"string",description:"",enable:!0,defaultValue:"打开弹窗",fields:[]},{name:"array",title:"array",type:"array",description:"",enable:!0,defaultValue:[{a:1},{a:2}],fields:[{name:"a",title:"a",type:"number",description:"",enable:!0,defaultValue:1,fields:[]}]},{name:"object",title:"object",type:"object",description:"",enable:!0,defaultValue:{a:1},fields:[{name:"a",title:"a",type:"number",description:"",enable:!0,defaultValue:1,fields:[]}]}],methods:[],events:[],mocks:[],beforeRequest:"",afterResponse:""},{id:"ds_d1a460c5",type:"base",title:"style",description:"",fields:[{name:"color",title:"color",type:"string",description:"",enable:!0,defaultValue:"#fff",fields:[]}],methods:[{name:"setCorlor",desc:"",timing:"",params:[],content:({dataSource:e})=>{setTimeout(()=>{e.setData("red","color")},1e3)}}],events:[],mocks:[],beforeRequest:"",afterResponse:""}]},useEditorContentMenuData=()=>{const e={id:"",name:"蒙层",isTarget:(e,t)=>"string"==typeof e&&"string"==typeof t&&e.includes("events")&&t.startsWith("overlay_"),isCollectByDefault:!1};return{contentMenuData:computed$1(()=>[{type:"button",text:"复制(带关联信息)",icon:markRaw(copy_document_default),handler:t=>{const i=t?.editorService?.get("nodes");i&&t?.editorService?.copyWithRelated(cloneDeep(i),e),i&&t?.codeBlockService?.copyWithRelated(cloneDeep(i)),i&&t?.dataSourceService?.copyWithRelated(cloneDeep(i))}},{type:"button",text:"粘贴(带关联信息)",icon:markRaw(document_copy_default),display:e=>!!e?.storageService?.getItem(COPY_STORAGE_KEY),handler:t=>{const i=t?.editorService?.get("nodes");i&&0!==i.length&&(t?.editorService?.paste({},e),t?.codeBlockService?.paste(),t?.dataSourceService?.paste())}}])}},useEditorMenu=(t,i)=>{const o=useRouter(),n=shallowRef(),r=shallowRef(),s=ref$1(!1);return{menu:{left:[{type:"text",text:"魔方"}],center:["delete","undo","redo","guides","rule","zoom"],right:[{type:"button",text:"Form Playground",handler:()=>o.push("form")},{type:"button",text:"Form Editor Playground",handler:()=>o.push("form-editor")},{type:"button",text:"Table Playground",handler:()=>o.push("table")},"/",{type:"button",text:"预览",icon:connection_default,handler:async t=>{if(t?.editorService.get("modifiedNodeIds").size>0)try{await tMagicMessageBox.confirm("有修改未保存,是否先保存再预览","提示",{confirmButtonText:"保存并预览",cancelButtonText:"预览",type:"warning"}),i(),tMagicMessage.success("保存成功")}catch(e){console.error(e)}s.value=!0,await nextTick(),r.value?.contentWindow&&n.value?.viewerDevice&&Object.defineProperty(r.value.contentWindow.navigator,"userAgent",{value:uaMap[n.value.viewerDevice],writable:!0})}},{type:"button",text:"保存",icon:coin_default,handler:()=>{i(),tMagicMessage.success("保存成功")}},"/",{type:"button",icon:document_default,tooltip:"源码",handler:e=>e?.uiService.set("showSrc",!e?.uiService.get("showSrc"))}]},deviceGroup:n,iframe:r,previewVisible:s,save:i}},useEditorMoveableOptions=e=>{let t=!1;return onMounted(()=>{if(!e.value)return;const i=()=>{e.value?.keybindingService.registerCommand("moveable-options-rotatable-endable",()=>{t=!0,e.value?.editorService.get("stage")?.actionManager?.updateMoveableOptions(),e.value?.keybindingService.unregisterCommand("moveable-options-rotatable-endable")})};i(),e.value.keybindingService.registerCommand("moveable-options-rotatable-disable",()=>{t=!1,e.value?.editorService.get("stage")?.actionManager?.updateMoveableOptions(),i()}),e.value.keybindingService.register([{command:"moveable-options-rotatable-endable",keybinding:"shift",when:[["stage","keydown"]]},{command:"moveable-options-rotatable-disable",keybinding:"shift",when:[["stage","keyup"]]}])}),{moveableOptions:i=>{const o={};if(!e.value)return o;const n=e.value.editorService.get("page"),r=i.targetElIds||[];let s=n&&r.includes(`${n.id}`);if(!s){const t=i.targetElId;if(t){const i=e.value.editorService.getNodeById(t);s=i?.type===NodeType.PAGE}}return o.draggable=!s,o.resizable=!s,o.rotatable=!s,o.keepRatio=t,i?.targetEl?.parentElement?.classList.contains("tmagic-editor-sub-stage-wrap")&&(o.draggable=!1,o.resizable=!1,o.rotatable=!1),o}}},__vite_import_meta_env__$1={LEGACY:!0,VITE_ENTRY_PATH:"./entry/vue"},{VITE_ENTRY_PATH:VITE_ENTRY_PATH}=__vite_import_meta_env__$1,useEditorRes=()=>{const e=ref$1({}),t=ref$1({}),i=ref$1({}),o=ref$1({}),n=ref$1({}),r=ref$1({base:{events:[],methods:[]}});return asyncLoadJs(`${VITE_ENTRY_PATH}/config/index.umd.cjs`).then(()=>{t.value=globalThis.magicPresetConfigs}),asyncLoadJs(`${VITE_ENTRY_PATH}/value/index.umd.cjs`).then(()=>{e.value=globalThis.magicPresetValues}),asyncLoadJs(`${VITE_ENTRY_PATH}/event/index.umd.cjs`).then(()=>{i.value=globalThis.magicPresetEvents}),asyncLoadJs(`${VITE_ENTRY_PATH}/ds-config/index.umd.cjs`).then(()=>{o.value=globalThis.magicPresetDsConfigs}),asyncLoadJs(`${VITE_ENTRY_PATH}/ds-value/index.umd.cjs`).then(()=>{n.value=globalThis.magicPresetDsValues}),{propsValues:e,propsConfigs:t,eventMethodList:i,datasourceConfigs:o,datasourceValues:n,datasourceEventMethodList:r}},__vite_import_meta_env__={LEGACY:!0,VITE_RUNTIME_PATH:"/tmagic-editor/playground/runtime/vue"},_hoisted_1$3={class:"editor-app"},_hoisted_2$2=["height","src"],_sfc_main$5=defineComponent({__name:"Editor",setup(__props){const{VITE_RUNTIME_PATH:VITE_RUNTIME_PATH}=__vite_import_meta_env__,datasourceList=[],runtimeUrl=`${VITE_RUNTIME_PATH}/playground/index.html`,{propsValues:propsValues,propsConfigs:propsConfigs,eventMethodList:eventMethodList,datasourceConfigs:datasourceConfigs,datasourceValues:datasourceValues,datasourceEventMethodList:datasourceEventMethodList}=useEditorRes(),{contentMenuData:contentMenuData}=useEditorContentMenuData(),editor=shallowRef(),value=ref$1(dsl),defaultSelected=ref$1(dsl.items[0].id),stageRect=ref$1({width:375,height:817}),previewUrl=computed$1(()=>`${VITE_RUNTIME_PATH}/page/index.html?localPreview=1&page=${editor.value?.editorService.get("page")?.id}`),{moveableOptions:moveableOptions}=useEditorMoveableOptions(editor),save=()=>{localStorage.setItem("magicDSL",serialize(toRaw(value.value),{space:2,unsafe:!0}).replace(/"(\w+)":\s/g,"$1: ")),editor.value?.editorService.resetModifiedNodeId()},{menu:menu,deviceGroup:deviceGroup,iframe:iframe,previewVisible:previewVisible}=useEditorMenu(value,save);try{const magicDSL=eval(`(${localStorage.getItem("magicDSL")})`);magicDSL?value.value=magicDSL:save()}catch(e){console.error(e),save()}editorService.usePlugin({beforeDoAdd:(e,t)=>"overlay"===e.type?(e.style={...e.style,left:0,top:0},[e,editorService.get("page")]):[e,t]}),propsService.usePlugin({beforeFillConfig:e=>[e,"100px"]}),onBeforeUnmount(()=>{editorService.removeAllPlugins()});const propsSubmitErrorHandler=async e=>{console.error(e),tMagicMessage.closeAll(),tMagicMessage.error(e.message)};return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$3,[createVNode(unref(_sfc_main$1J),{modelValue:value.value,"onUpdate:modelValue":t[1]||(t[1]=e=>value.value=e),ref_key:"editor",ref:editor,menu:unref(menu),"runtime-url":runtimeUrl,"props-configs":unref(propsConfigs),"props-values":unref(propsValues),"event-method-list":unref(eventMethodList),"datasource-event-method-list":unref(datasourceEventMethodList),"datasource-configs":unref(datasourceConfigs),"datasource-values":unref(datasourceValues),"component-group-list":unref(componentGroupList),"datasource-list":datasourceList,"default-selected":defaultSelected.value,"moveable-options":unref(moveableOptions),"auto-scroll-into-view":!0,"stage-rect":stageRect.value,layerContentMenu:unref(contentMenuData),stageContentMenu:unref(contentMenuData),onPropsSubmitError:propsSubmitErrorHandler},{"workspace-content":withCtx(()=>[createVNode(_sfc_main$6,{ref_key:"deviceGroup",ref:deviceGroup,modelValue:stageRect.value,"onUpdate:modelValue":t[0]||(t[0]=e=>stageRect.value=e)},null,8,["modelValue"])]),_:1},8,["modelValue","menu","props-configs","props-values","event-method-list","datasource-event-method-list","datasource-configs","datasource-values","component-group-list","default-selected","moveable-options","stage-rect","layerContentMenu","stageContentMenu"]),createVNode(unref(_sfc_main$w$3),{modelValue:unref(previewVisible),"onUpdate:modelValue":t[2]||(t[2]=e=>isRef(previewVisible)?previewVisible.value=e:null),"destroy-on-close":"",class:"pre-viewer",title:"预览",width:stageRect.value?.width},{default:withCtx(()=>[unref(previewVisible)?(openBlock(),createElementBlock("iframe",{key:0,ref_key:"iframe",ref:iframe,width:"100%",style:{border:"none"},height:stageRect.value?.height,src:previewUrl.value},null,8,_hoisted_2$2)):createCommentVNode("",!0)]),_:1},8,["modelValue","width"])]))}}),_sfc_main$4=defineComponent({name:"nav-menu",props:{data:{type:Array,default:()=>[]}},components:{TMagicIcon:_sfc_main$o$3,TMagicButton:_sfc_main$G$2}}),_hoisted_1$2={class:"m-editor-nav-menu"};function _sfc_render(e,t,i,o,n,r){const s=resolveComponent("TMagicIcon"),a=resolveComponent("TMagicButton");return openBlock(),createElementBlock("div",_hoisted_1$2,[(openBlock(!0),createElementBlock(Fragment,null,renderList(e.data,(e,t)=>(openBlock(),createBlock(a,{class:"menu-item button",key:t,size:"small",link:"",onClick:e.handler},{default:withCtx(()=>[createVNode(s,null,{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(e.icon)))]),_:2},1024),createBaseVNode("span",null,toDisplayString(e.text),1)]),_:2},1032,["onClick"]))),128))])}const NavMenu=_export_sfc(_sfc_main$4,[["render",_sfc_render],["__scopeId","data-v-67f3d725"]]),formDsl=createForm([{text:"文本",name:"text",tooltip:(e,{model:t})=>t.text,extra:(e,{model:t})=>`${t.text}extra`,rules:[{required:!0,message:"请输入活动名称",trigger:"blur"}]},{type:"checkbox",text:"checkbox",name:"option",activeValue:1,inactiveValue:0,defaultValue:1},{type:"link",displayText:"链接",text:"link",name:"link",href:"",tooltip:"element-ui"},{type:"display",text:"展示",name:"display",initValue:"display",tooltip:"hello"},{type:"number",text:"计数器",name:"number"},{type:"textarea",text:"输入框",name:"textarea1"},{type:"datetime",text:"日期",name:"datetime"},{type:"switch",text:"开关",name:"switch",filter:"number",defaultValue:1},{type:"daterange",text:"日期范围",name:"daterange"},{type:"time",text:"日期选择",name:"time"},{type:"colorPicker",text:"取色器",name:"colorPicker"},{type:"checkbox-group",text:"选项组",name:"checkGroup",options:[{value:1,text:"one"},{value:2,text:"two"}]},{type:"radio-group",text:"单选框",name:"radioGroup",options:[{value:1,text:"one"},{value:2,text:"two"}]},{type:"cascader",text:"级联选择",placeholder:"test",name:"cascader",options:[{value:1,label:"one",children:[{value:3,label:"three",children:[{value:8,label:"eight"}]},{value:4,label:"four"},{value:6,label:"six"}]},{value:2,label:"two",children:[{value:5,label:"five"},{value:7,label:"seven"}]}]},{type:"dynamic-field",name:"dynamic-field",dynamicKey:"textarea",text:"动态表单",returnFields:()=>[{name:"one",label:"number",defaultValue:"yes"}]},{type:"row",items:[{type:"date",text:"日期",name:"date"},{type:"checkbox",text:"多选框",name:"checkbox",tooltip:"分组xxxxxxxxxxxx",extra:"extra"}]},{type:"fieldset",name:"fieldset",legend:"分组",extra:"extra",checkbox:!0,expand:!0,items:[{type:"select",text:"下拉选项",name:"select",options:[{text:"选项1",value:1},{text:"选项2",value:2}]}]},{type:"tab",name:"tab",editable:!0,dynamic:!0,active:"0",tabType:"border-card",items:[{name:"xx",items:[{name:"text",text:"text"}]}]},{type:"table",name:"table",copyable:!0,defautSort:{prop:"name",order:"descending"},extra:"extra",itemExtra:(e,{model:t})=>`${t.text}itemExtra`,items:[{label:"id",name:"id",sortable:!0,tooltip:"分组xxxxxxxxxxxx",rules:[{required:!0,message:"请输入活动名称",trigger:"blur"}]},{label:"名称",name:"name"}]},{type:"groupList",name:"groupList",extra:"分组xxxxxxxxxxxx",copyable:!0,moveSpecifyLocation:!0,itemExtra:(e,{model:t})=>`${t.name}extra`,items:[{text:"id",name:"id",rules:[{required:!0,message:"请输入活动名称",trigger:"blur"}]},{text:"名称",name:"name"}]},{type:"panel",title:"panel",extra:"panel",schematic:"https://vfiles.gtimg.cn/vupload/20210329/9712631617027075445.png",items:[{text:"名称",name:"name"}]},{type:"step",items:[{name:"step1",title:"step1",items:[{text:"名称",name:"name"}]},{name:"step2",title:"step2",items:[{text:"名称2",name:"name"}]}]}]),_hoisted_1$1={style:{width:"100%","overflow-y":"auto"}},_hoisted_2$1={class:"diff-form"},_hoisted_3={class:"form-content"},_hoisted_4=["innerHTML"],_sfc_main$3=defineComponent({__name:"Form",setup(__props){const router=useRouter(),resultVisible=ref$1(!1),result=ref$1(""),form=ref$1(),diffFormConfig=ref$1([{type:"tab",items:[{title:"tab1",labelWidth:"80px",items:[{name:"text1",text:"文本字段1"},{name:"text2",text:"文本字段2"},{type:"number",text:"计数器",name:"number"}]},{title:"tab2",labelWidth:"80px",items:[{type:"colorPicker",text:"取色器",name:"colorPicker"}]}]}]),currentVersion=ref$1({text1:"当前版本的文本内容",text2:"你好",number:10,colorPicker:"#ffffff"}),lastVersion=ref$1({text1:"上一版本的文本内容",text2:"你好",number:12,colorPicker:"#000000"}),config=ref$1(formDsl),initValue=ref$1({text:"文本",number:10,fieldset:{select:1},table:[{id:1,name:"a"},{id:2,name:"b"}]}),menu=[{type:"button",text:"Editor Playground",handler:()=>router.push("/")},{type:"button",text:"Form Editor Playground",handler:()=>router.push("form-editor")},{type:"button",text:"Table Playground",handler:()=>router.push("table")},{type:"button",text:"提交",icon:markRaw(coin_default),handler:()=>{submit()}}];async function submit(){try{const e=await(form.value?.submitForm());resultVisible.value=!0,result.value=JSON.stringify(e,null,2)}catch(e){console.error(e),tMagicMessage.error(e.message)}}function change(value){try{config.value=eval(value),tMagicMessage.success("更新成功")}catch(e){tMagicMessage.error(e.message)}}return(e,t)=>{const i=resolveComponent("magic-code-editor");return openBlock(),createElementBlock(Fragment,null,[createBaseVNode("div",_hoisted_1$1,[createVNode(NavMenu,{data:menu}),createBaseVNode("div",_hoisted_2$1,[t[1]||(t[1]=createBaseVNode("div",null,"开启表单对比功能",-1)),createVNode(unref(_sfc_main$d$2),{ref_key:"form",ref:form,config:diffFormConfig.value,"is-compare":!0,"init-values":currentVersion.value,"last-values":lastVersion.value,size:"small",height:"100%"},null,8,["config","init-values","last-values"])]),t[2]||(t[2]=createBaseVNode("div",{class:"title"},"表单字段展示",-1)),createBaseVNode("div",_hoisted_3,[createVNode(unref(_sfc_main$d$2),{ref_key:"form",ref:form,config:config.value,"init-values":initValue.value,size:"small",height:"100%"},null,8,["config","init-values"]),createVNode(i,{class:"code-editor-content","init-values":config.value,onSave:change},null,8,["init-values"])])]),createVNode(unref(_sfc_main$w$3),{modelValue:resultVisible.value,"onUpdate:modelValue":t[0]||(t[0]=e=>resultVisible.value=e),title:"result","append-to-body":""},{default:withCtx(()=>[createBaseVNode("pre",null,[createBaseVNode("code",{class:"language-javascript hljs",innerHTML:result.value},null,8,_hoisted_4)])]),_:1},8,["modelValue"])],64)}}}),cssStyle='@charset "UTF-8";:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:0.3s;--el-transition-duration-fast:0.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(0.645,0.045,0.355,1);--el-transition-function-fast-bezier:cubic-bezier(0.23,1,0.32,1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:rgb(121,187,255);--el-color-primary-light-5:rgb(160,207,255);--el-color-primary-light-7:rgb(198,226,255);--el-color-primary-light-8:rgb(217,236,255);--el-color-primary-light-9:rgb(236,245,255);--el-color-primary-dark-2:rgb(51,126,204);--el-color-success:#67c23a;--el-color-success-light-3:rgb(149,212,117);--el-color-success-light-5:rgb(179,225,157);--el-color-success-light-7:rgb(209,237,196);--el-color-success-light-8:rgb(225,243,216);--el-color-success-light-9:rgb(240,249,235);--el-color-success-dark-2:rgb(82,155,46);--el-color-warning:#e6a23c;--el-color-warning-light-3:rgb(238,190,119);--el-color-warning-light-5:rgb(243,209,158);--el-color-warning-light-7:rgb(248,227,197);--el-color-warning-light-8:rgb(250,236,216);--el-color-warning-light-9:rgb(253,246,236);--el-color-warning-dark-2:rgb(184,130,48);--el-color-danger:#f56c6c;--el-color-danger-light-3:rgb(248,152,152);--el-color-danger-light-5:rgb(250,182,182);--el-color-danger-light-7:rgb(252,211,211);--el-color-danger-light-8:rgb(253,226,226);--el-color-danger-light-9:rgb(254,240,240);--el-color-danger-dark-2:rgb(196,86,86);--el-color-error:#f56c6c;--el-color-error-light-3:rgb(248,152,152);--el-color-error-light-5:rgb(250,182,182);--el-color-error-light-7:rgb(252,211,211);--el-color-error-light-8:rgb(253,226,226);--el-color-error-light-9:rgb(254,240,240);--el-color-error-dark-2:rgb(196,86,86);--el-color-info:#909399;--el-color-info-light-3:rgb(177,179,184);--el-color-info-light-5:rgb(200,201,204);--el-color-info-light-7:rgb(222,223,224);--el-color-info-light-8:rgb(233,233,235);--el-color-info-light-9:rgb(244,244,245);--el-color-info-dark-2:rgb(115,118,122);--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0,0,0,0.04),0px 8px 20px rgba(0,0,0,0.08);--el-box-shadow-light:0px 0px 12px rgba(0,0,0,0.12);--el-box-shadow-lighter:0px 0px 6px rgba(0,0,0,0.12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0,0,0,0.08),0px 12px 32px rgba(0,0,0,0.12),0px 8px 16px -8px rgba(0,0,0,0.16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0,0,0,0.8);--el-overlay-color-light:rgba(0,0,0,0.7);--el-overlay-color-lighter:rgba(0,0,0,0.5);--el-mask-color:rgba(255,255,255,0.9);--el-mask-color-extra-light:rgba(255,255,255,0.3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-icon{--color:inherit;align-items:center;display:inline-flex;height:1em;justify-content:center;line-height:1em;position:relative;width:1em;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;align-items:center;background-color:var(--el-color-white);border-radius:var(--el-alert-border-radius-base);box-sizing:border-box;display:flex;margin:0;opacity:1;overflow:hidden;padding:var(--el-alert-padding);position:relative;transition:opacity var(--el-transition-duration-fast);width:100%}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color)}.el-alert--primary.is-light,.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color)}.el-alert--success.is-light,.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color)}.el-alert--info.is-light,.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color)}.el-alert--warning.is-light,.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color)}.el-alert--error.is-light,.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{display:flex;flex-direction:column;gap:4px}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);margin-right:8px;width:var(--el-alert-icon-size)}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);margin-right:12px;width:var(--el-alert-icon-large-size)}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{cursor:pointer;font-size:var(--el-alert-close-font-size);opacity:1;position:absolute;right:16px;top:12px}.el-alert .el-alert__close-btn.is-customed{font-size:var(--el-alert-close-customed-font-size);font-style:normal;line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;flex-shrink:0;overflow:auto;width:var(--el-aside-width,300px)}.el-autocomplete{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;position:relative;width:var(--el-input-width)}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper,.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__header{border-bottom:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__footer{border-top:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);line-height:34px;list-style:none;margin:0;overflow:hidden;padding:0 20px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{color:var(--el-text-color-secondary);cursor:default;font-size:20px;height:100px;line-height:100px;text-align:center}.el-autocomplete-suggestion.is-loading li:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size-small:24px;--el-avatar-size:40px;align-items:center;background:var(--el-avatar-bg-color);box-sizing:border-box;color:var(--el-avatar-text-color);display:inline-flex;font-size:var(--el-avatar-text-size);height:var(--el-avatar-size);justify-content:center;outline:none;overflow:hidden;text-align:center;width:var(--el-avatar-size)}.el-avatar>img{display:block;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);align-items:center;background-color:var(--el-backtop-bg-color);border-radius:50%;box-shadow:var(--el-box-shadow-lighter);color:var(--el-backtop-text-color);cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:fixed;width:40px;z-index:5}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;display:inline-block;position:relative;vertical-align:middle;width:-moz-fit-content;width:fit-content}.el-badge__content{align-items:center;background-color:var(--el-badge-bg-color);border:1px solid var(--el-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;font-size:var(--el-badge-font-size);height:var(--el-badge-size);justify-content:center;padding:0 var(--el-badge-padding);white-space:nowrap}.el-badge__content.is-fixed{position:absolute;right:calc(1px + var(--el-badge-size)/2);top:0;transform:translateY(-50%) translateX(100%);z-index:var(--el-index-normal)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;height:8px;padding:0;right:0;width:8px}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{content:"";display:table}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);font-weight:bold;margin:0 9px}.el-breadcrumb__separator.el-icon{font-weight:normal;margin:0 6px}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{align-items:center;display:inline-flex;float:left}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{color:var(--el-text-color-primary);font-weight:bold;text-decoration:none;transition:var(--el-transition-color)}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{color:var(--el-text-color-regular);cursor:text;font-weight:normal}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{content:"";display:table}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.el-button-group>.el-button:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-bottom-left-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-bottom-left-radius:0;border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0}.el-button-group .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255,255,255,0.5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);align-items:center;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);box-sizing:border-box;color:var(--el-button-text-color);cursor:pointer;display:inline-flex;font-weight:var(--el-button-font-weight);height:32px;justify-content:center;line-height:1;outline:none;text-align:center;transition:.1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-button:hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color);color:var(--el-button-hover-text-color);outline:none}.el-button:active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base)}.el-button,.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{background-color:var(--el-button-disabled-bg-color);background-image:none;border-color:var(--el-button-disabled-border-color);color:var(--el-button-disabled-text-color);cursor:not-allowed}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{background-color:var(--el-mask-color-extra-light);border-radius:inherit;bottom:-1px;content:"";left:-1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:1}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px;width:32px}.el-button.is-text{background-color:transparent;border:0 solid transparent;color:var(--el-button-text-color)}.el-button.is-text.is-disabled{background-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{background:transparent;border-color:transparent;color:var(--el-button-text-color);height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-link:not(.is-disabled):active,.el-button.is-link:not(.is-disabled):hover{background-color:transparent;border-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color)}.el-button--text{background:transparent;border-color:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button--text:not(.is-disabled):hover{background-color:transparent;border-color:transparent;color:var(--el-color-primary-light-3)}.el-button--text:not(.is-disabled):active{background-color:transparent;border-color:transparent;color:var(--el-color-primary-dark-2)}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8);color:var(--el-color-primary-light-5)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8);color:var(--el-color-success-light-5)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8);color:var(--el-color-warning-light-5)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8);color:var(--el-color-danger-light-5)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8);color:var(--el-color-info-light-5)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{padding:12px;width:var(--el-button-size)}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:12px;padding:5px 11px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{padding:5px;width:var(--el-button-size)}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);display:flex;justify-content:space-between;padding:12px 20px}.el-calendar__title{align-self:center;color:var(--el-text-color)}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);font-weight:normal;padding:12px 0}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);transition:background-color var(--el-transition-duration-fast) ease;vertical-align:top}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{background-color:var(--el-calendar-selected-bg-color);cursor:pointer}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);background-color:var(--el-card-bg-color);border:1px solid var(--el-card-border-color);border-radius:var(--el-card-border-radius);color:var(--el-text-color-primary);overflow:hidden;transition:var(--el-transition-duration)}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{border-top:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-carousel__item{display:inline-block;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.el-carousel__item,.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item--card,.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{height:50%;width:100%}.el-carousel__mask{background-color:var(--el-color-white);height:100%;left:0;opacity:.24;position:absolute;top:0;transition:var(--el-transition-duration-fast);width:100%}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:rgba(31,45,61,0.11);--el-carousel-arrow-hover-background:rgba(31,45,61,0.23);--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{align-items:center;background-color:var(--el-carousel-arrow-background);border:none;border-radius:50%;color:#ffffff;cursor:pointer;display:inline-flex;font-size:var(--el-carousel-arrow-font-size);height:var(--el-carousel-arrow-size);justify-content:center;margin:0;outline:none;padding:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);transition:var(--el-transition-duration);width:var(--el-carousel-arrow-size);z-index:10}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{list-style:none;margin:0;padding:0;position:absolute;z-index:calc(var(--el-index-normal) + 1)}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:calc(var(--el-carousel-indicator-height) + var(--el-carousel-indicator-padding-vertical)*2);position:static;text-align:center;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels{left:0;right:0;text-align:center;transform:none}.el-carousel__indicators--labels .el-carousel__button{color:#000000;font-size:12px;height:auto;padding:2px 18px;width:auto}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal)}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{height:calc(var(--el-carousel-indicator-width)/2);width:var(--el-carousel-indicator-height)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{background-color:#ffffff;border:none;cursor:pointer;display:block;height:var(--el-carousel-indicator-height);margin:0;opacity:.48;outline:none;padding:0;transition:var(--el-transition-duration);width:var(--el-carousel-indicator-width)}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%) translateX(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%) translateX(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);display:flex;font-size:var(--el-cascader-menu-font-size)}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{border-right:var(--el-cascader-menu-border);box-sizing:border-box;color:var(--el-cascader-menu-text-color);min-width:180px}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;list-style:none;margin:0;min-height:100%;padding:6px 0;position:relative}.el-cascader-menu__hover-zone{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.el-cascader-menu__empty-text{align-items:center;color:var(--el-cascader-color-empty);display:flex;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{align-items:center;display:flex;height:34px;line-height:34px;outline:none;padding:0 30px 0 20px;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:var(--el-cascader-menu-selected-text-color);font-weight:bold}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{left:10px;position:absolute}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{flex:1;overflow:hidden;padding:0 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);display:inline-block;font-size:var(--el-font-size-base);line-height:32px;outline:none;position:relative;vertical-align:middle}.el-cascader:not(.is-disabled):hover .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset;cursor:pointer}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{cursor:pointer;text-overflow:ellipsis}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{font-size:14px;transition:transform var(--el-transition-duration)}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{color:var(--el-disabled-text-color);z-index:calc(var(--el-index-normal) + 1)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);font-size:var(--el-cascader-menu-font-size)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill)}.el-cascader__dropdown.el-popper,.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-cascader__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-cascader__tags{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px;left:0;line-height:normal;padding:4px;position:absolute;right:30px;text-align:left;top:50%;transform:translateY(-50%)}.el-cascader__tags .el-tag{align-items:center;background:var(--el-cascader-tag-background);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{flex:1;line-height:normal;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{align-items:center;background:var(--el-fill-color);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{flex:1;line-height:normal;overflow:hidden;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__collapse-tags .el-tag{margin:2px 0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-list{color:var(--el-cascader-menu-text-color);font-size:var(--el-font-size-base);margin:0;max-height:204px;padding:6px 0;text-align:center}.el-cascader__suggestion-item{align-items:center;cursor:pointer;display:flex;height:34px;justify-content:space-between;outline:none;padding:0 15px;text-align:left}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:bold}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{background:transparent;border:none;box-sizing:border-box;color:var(--el-cascader-menu-text-color);flex:1;height:24px;margin-left:7px;min-width:60px;outline:none;padding:0}.el-cascader__search-input::-moz-placeholder{color:transparent}.el-cascader__search-input::placeholder{color:transparent}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:bold;line-height:var(--el-font-size-base);padding:7px 15px;transition:var(--el-transition-all)}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--primary.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.el-check-tag--primary.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.el-check-tag--primary.is-checked.is-disabled{background-color:var(--el-color-primary-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-checked.is-disabled:hover{background-color:var(--el-color-primary-light-8)}.el-check-tag.el-check-tag--primary.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-check-tag.el-check-tag--success.is-checked{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.el-check-tag--success.is-checked:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.el-check-tag--success.is-checked.is-disabled{background-color:var(--el-color-success-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-checked.is-disabled:hover{background-color:var(--el-color-success-light-8)}.el-check-tag.el-check-tag--success.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-disabled,.el-check-tag.el-check-tag--success.is-disabled:hover{background-color:var(--el-color-success-light-9)}.el-check-tag.el-check-tag--warning.is-checked{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.el-check-tag--warning.is-checked:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.el-check-tag--warning.is-checked.is-disabled{background-color:var(--el-color-warning-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-checked.is-disabled:hover{background-color:var(--el-color-warning-light-8)}.el-check-tag.el-check-tag--warning.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-disabled,.el-check-tag.el-check-tag--warning.is-disabled:hover{background-color:var(--el-color-warning-light-9)}.el-check-tag.el-check-tag--danger.is-checked{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.el-check-tag--danger.is-checked:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.el-check-tag--danger.is-checked.is-disabled{background-color:var(--el-color-danger-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-checked.is-disabled:hover{background-color:var(--el-color-danger-light-8)}.el-check-tag.el-check-tag--danger.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-disabled,.el-check-tag.el-check-tag--danger.is-disabled:hover{background-color:var(--el-color-danger-light-9)}.el-check-tag.el-check-tag--error.is-checked{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.el-check-tag--error.is-checked:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.el-check-tag--error.is-checked.is-disabled{background-color:var(--el-color-error-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-checked.is-disabled:hover{background-color:var(--el-color-error-light-8)}.el-check-tag.el-check-tag--error.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-disabled,.el-check-tag.el-check-tag--error.is-disabled:hover{background-color:var(--el-color-error-light-9)}.el-check-tag.el-check-tag--info.is-checked{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.el-check-tag--info.is-checked:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--info.is-checked.is-disabled{background-color:var(--el-color-info-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-checked.is-disabled:hover{background-color:var(--el-color-info-light-8)}.el-check-tag.el-check-tag--info.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-disabled,.el-check-tag.el-check-tag--info.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);display:inline-block;position:relative}.el-checkbox-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left-color:transparent;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);line-height:1;margin:0;outline:none;padding:8px 15px;position:relative;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{margin:0;opacity:0;outline:none;position:absolute;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7);color:var(--el-checkbox-button-checked-text-color)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button:first-child .el-checkbox-button__inner{border-bottom-left-radius:var(--el-border-radius-base);border-left:var(--el-border);border-top-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-bottom-right-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-checkbox-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);height:var(--el-checkbox-height,32px);margin-right:30px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{border-radius:var(--el-checkbox-border-radius);outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px}.el-checkbox__input{cursor:pointer;display:inline-flex;outline:none;position:relative;white-space:nowrap}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-icon-color);cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%) rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-checked-icon-color);content:"";display:block;height:2px;left:0;position:absolute;right:0;top:5px;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{background-color:var(--el-checkbox-bg-color);border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;display:inline-block;height:var(--el-checkbox-input-height);position:relative;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);width:var(--el-checkbox-input-width);z-index:var(--el-index-normal)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{border:1px solid transparent;border-left:0;border-top:0;box-sizing:content-box;content:"";height:7px;left:50%;position:absolute;top:50%;transform:translate(-45%,-60%) rotate(45deg) scaleY(0);transform-origin:center;transition:transform .15s ease-in .05s;width:3px}.el-checkbox__original{height:0;margin:0;opacity:0;outline:none;position:absolute;width:0;z-index:-1}.el-checkbox__label{display:inline-block;font-size:var(--el-checkbox-font-size);line-height:1;padding-left:8px}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{display:block;min-height:1px}.el-col-0{flex:0 0 0%;max-width:0}.el-col-0,.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{left:0;position:relative}.el-col-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-1,.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.1666666667%}.el-col-pull-1{position:relative;right:4.1666666667%}.el-col-push-1{left:4.1666666667%;position:relative}.el-col-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-2,.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.3333333333%}.el-col-pull-2{position:relative;right:8.3333333333%}.el-col-push-2{left:8.3333333333%;position:relative}.el-col-3{flex:0 0 12.5%;max-width:12.5%}.el-col-3,.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{left:12.5%;position:relative}.el-col-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-4,.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6666666667%}.el-col-pull-4{position:relative;right:16.6666666667%}.el-col-push-4{left:16.6666666667%;position:relative}.el-col-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-5,.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333333333%}.el-col-pull-5{position:relative;right:20.8333333333%}.el-col-push-5{left:20.8333333333%;position:relative}.el-col-6{flex:0 0 25%;max-width:25%}.el-col-6,.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{left:25%;position:relative}.el-col-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-7,.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1666666667%}.el-col-pull-7{position:relative;right:29.1666666667%}.el-col-push-7{left:29.1666666667%;position:relative}.el-col-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-8,.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333333333%}.el-col-pull-8{position:relative;right:33.3333333333%}.el-col-push-8{left:33.3333333333%;position:relative}.el-col-9{flex:0 0 37.5%;max-width:37.5%}.el-col-9,.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{left:37.5%;position:relative}.el-col-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-10,.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6666666667%}.el-col-pull-10{position:relative;right:41.6666666667%}.el-col-push-10{left:41.6666666667%;position:relative}.el-col-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-11,.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333333333%}.el-col-pull-11{position:relative;right:45.8333333333%}.el-col-push-11{left:45.8333333333%;position:relative}.el-col-12{flex:0 0 50%;max-width:50%}.el-col-12,.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%;position:relative}.el-col-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-13,.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1666666667%}.el-col-pull-13{position:relative;right:54.1666666667%}.el-col-push-13{left:54.1666666667%;position:relative}.el-col-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-14,.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333333333%}.el-col-pull-14{position:relative;right:58.3333333333%}.el-col-push-14{left:58.3333333333%;position:relative}.el-col-15{flex:0 0 62.5%;max-width:62.5%}.el-col-15,.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{left:62.5%;position:relative}.el-col-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-16,.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6666666667%}.el-col-pull-16{position:relative;right:66.6666666667%}.el-col-push-16{left:66.6666666667%;position:relative}.el-col-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-17,.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333333333%}.el-col-pull-17{position:relative;right:70.8333333333%}.el-col-push-17{left:70.8333333333%;position:relative}.el-col-18{flex:0 0 75%;max-width:75%}.el-col-18,.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{left:75%;position:relative}.el-col-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-19,.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1666666667%}.el-col-pull-19{position:relative;right:79.1666666667%}.el-col-push-19{left:79.1666666667%;position:relative}.el-col-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-20,.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333333333%}.el-col-pull-20{position:relative;right:83.3333333333%}.el-col-push-20{left:83.3333333333%;position:relative}.el-col-21{flex:0 0 87.5%;max-width:87.5%}.el-col-21,.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{left:87.5%;position:relative}.el-col-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-22,.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6666666667%}.el-col-pull-22{position:relative;right:91.6666666667%}.el-col-push-22{left:91.6666666667%;position:relative}.el-col-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-23,.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333333333%}.el-col-pull-23{position:relative;right:95.8333333333%}.el-col-push-23{left:95.8333333333%;position:relative}.el-col-24{flex:0 0 100%;max-width:100%}.el-col-24,.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{left:100%;position:relative}@media only screen and (max-width:767px){.el-col-xs-0{display:none;flex:0 0 0%;max-width:0}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{left:0;position:relative}.el-col-xs-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xs-1,.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.1666666667%}.el-col-xs-pull-1{position:relative;right:4.1666666667%}.el-col-xs-push-1{left:4.1666666667%;position:relative}.el-col-xs-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xs-2,.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.3333333333%}.el-col-xs-pull-2{position:relative;right:8.3333333333%}.el-col-xs-push-2{left:8.3333333333%;position:relative}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xs-3,.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{left:12.5%;position:relative}.el-col-xs-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xs-4,.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6666666667%}.el-col-xs-pull-4{position:relative;right:16.6666666667%}.el-col-xs-push-4{left:16.6666666667%;position:relative}.el-col-xs-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xs-5,.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333333333%}.el-col-xs-pull-5{position:relative;right:20.8333333333%}.el-col-xs-push-5{left:20.8333333333%;position:relative}.el-col-xs-6{flex:0 0 25%;max-width:25%}.el-col-xs-6,.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{left:25%;position:relative}.el-col-xs-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xs-7,.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1666666667%}.el-col-xs-pull-7{position:relative;right:29.1666666667%}.el-col-xs-push-7{left:29.1666666667%;position:relative}.el-col-xs-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xs-8,.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333333333%}.el-col-xs-pull-8{position:relative;right:33.3333333333%}.el-col-xs-push-8{left:33.3333333333%;position:relative}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xs-9,.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{left:37.5%;position:relative}.el-col-xs-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6666666667%}.el-col-xs-pull-10{position:relative;right:41.6666666667%}.el-col-xs-push-10{left:41.6666666667%;position:relative}.el-col-xs-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333333333%}.el-col-xs-pull-11{position:relative;right:45.8333333333%}.el-col-xs-push-11{left:45.8333333333%;position:relative}.el-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{left:50%;position:relative}.el-col-xs-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1666666667%}.el-col-xs-pull-13{position:relative;right:54.1666666667%}.el-col-xs-push-13{left:54.1666666667%;position:relative}.el-col-xs-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333333333%}.el-col-xs-pull-14{position:relative;right:58.3333333333%}.el-col-xs-push-14{left:58.3333333333%;position:relative}.el-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{left:62.5%;position:relative}.el-col-xs-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6666666667%}.el-col-xs-pull-16{position:relative;right:66.6666666667%}.el-col-xs-push-16{left:66.6666666667%;position:relative}.el-col-xs-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333333333%}.el-col-xs-pull-17{position:relative;right:70.8333333333%}.el-col-xs-push-17{left:70.8333333333%;position:relative}.el-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{left:75%;position:relative}.el-col-xs-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1666666667%}.el-col-xs-pull-19{position:relative;right:79.1666666667%}.el-col-xs-push-19{left:79.1666666667%;position:relative}.el-col-xs-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333333333%}.el-col-xs-pull-20{position:relative;right:83.3333333333%}.el-col-xs-push-20{left:83.3333333333%;position:relative}.el-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{left:87.5%;position:relative}.el-col-xs-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6666666667%}.el-col-xs-pull-22{position:relative;right:91.6666666667%}.el-col-xs-push-22{left:91.6666666667%;position:relative}.el-col-xs-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333333333%}.el-col-xs-pull-23{position:relative;right:95.8333333333%}.el-col-xs-push-23{left:95.8333333333%;position:relative}.el-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{left:100%;position:relative}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;flex:0 0 0%;max-width:0}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{left:0;position:relative}.el-col-sm-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-sm-1,.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.1666666667%}.el-col-sm-pull-1{position:relative;right:4.1666666667%}.el-col-sm-push-1{left:4.1666666667%;position:relative}.el-col-sm-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-sm-2,.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.3333333333%}.el-col-sm-pull-2{position:relative;right:8.3333333333%}.el-col-sm-push-2{left:8.3333333333%;position:relative}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%}.el-col-sm-3,.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{left:12.5%;position:relative}.el-col-sm-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-sm-4,.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6666666667%}.el-col-sm-pull-4{position:relative;right:16.6666666667%}.el-col-sm-push-4{left:16.6666666667%;position:relative}.el-col-sm-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-sm-5,.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333333333%}.el-col-sm-pull-5{position:relative;right:20.8333333333%}.el-col-sm-push-5{left:20.8333333333%;position:relative}.el-col-sm-6{flex:0 0 25%;max-width:25%}.el-col-sm-6,.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{left:25%;position:relative}.el-col-sm-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-sm-7,.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1666666667%}.el-col-sm-pull-7{position:relative;right:29.1666666667%}.el-col-sm-push-7{left:29.1666666667%;position:relative}.el-col-sm-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-sm-8,.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333333333%}.el-col-sm-pull-8{position:relative;right:33.3333333333%}.el-col-sm-push-8{left:33.3333333333%;position:relative}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%}.el-col-sm-9,.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{left:37.5%;position:relative}.el-col-sm-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6666666667%}.el-col-sm-pull-10{position:relative;right:41.6666666667%}.el-col-sm-push-10{left:41.6666666667%;position:relative}.el-col-sm-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333333333%}.el-col-sm-pull-11{position:relative;right:45.8333333333%}.el-col-sm-push-11{left:45.8333333333%;position:relative}.el-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{left:50%;position:relative}.el-col-sm-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1666666667%}.el-col-sm-pull-13{position:relative;right:54.1666666667%}.el-col-sm-push-13{left:54.1666666667%;position:relative}.el-col-sm-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333333333%}.el-col-sm-pull-14{position:relative;right:58.3333333333%}.el-col-sm-push-14{left:58.3333333333%;position:relative}.el-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{left:62.5%;position:relative}.el-col-sm-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6666666667%}.el-col-sm-pull-16{position:relative;right:66.6666666667%}.el-col-sm-push-16{left:66.6666666667%;position:relative}.el-col-sm-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333333333%}.el-col-sm-pull-17{position:relative;right:70.8333333333%}.el-col-sm-push-17{left:70.8333333333%;position:relative}.el-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{left:75%;position:relative}.el-col-sm-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1666666667%}.el-col-sm-pull-19{position:relative;right:79.1666666667%}.el-col-sm-push-19{left:79.1666666667%;position:relative}.el-col-sm-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333333333%}.el-col-sm-pull-20{position:relative;right:83.3333333333%}.el-col-sm-push-20{left:83.3333333333%;position:relative}.el-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{left:87.5%;position:relative}.el-col-sm-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6666666667%}.el-col-sm-pull-22{position:relative;right:91.6666666667%}.el-col-sm-push-22{left:91.6666666667%;position:relative}.el-col-sm-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333333333%}.el-col-sm-pull-23{position:relative;right:95.8333333333%}.el-col-sm-push-23{left:95.8333333333%;position:relative}.el-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{left:100%;position:relative}}@media only screen and (min-width:992px){.el-col-md-0{display:none;flex:0 0 0%;max-width:0}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{left:0;position:relative}.el-col-md-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-md-1,.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.1666666667%}.el-col-md-pull-1{position:relative;right:4.1666666667%}.el-col-md-push-1{left:4.1666666667%;position:relative}.el-col-md-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-md-2,.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.3333333333%}.el-col-md-pull-2{position:relative;right:8.3333333333%}.el-col-md-push-2{left:8.3333333333%;position:relative}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%}.el-col-md-3,.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{left:12.5%;position:relative}.el-col-md-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-md-4,.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6666666667%}.el-col-md-pull-4{position:relative;right:16.6666666667%}.el-col-md-push-4{left:16.6666666667%;position:relative}.el-col-md-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-md-5,.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333333333%}.el-col-md-pull-5{position:relative;right:20.8333333333%}.el-col-md-push-5{left:20.8333333333%;position:relative}.el-col-md-6{flex:0 0 25%;max-width:25%}.el-col-md-6,.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{left:25%;position:relative}.el-col-md-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-md-7,.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1666666667%}.el-col-md-pull-7{position:relative;right:29.1666666667%}.el-col-md-push-7{left:29.1666666667%;position:relative}.el-col-md-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-md-8,.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333333333%}.el-col-md-pull-8{position:relative;right:33.3333333333%}.el-col-md-push-8{left:33.3333333333%;position:relative}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%}.el-col-md-9,.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{left:37.5%;position:relative}.el-col-md-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6666666667%}.el-col-md-pull-10{position:relative;right:41.6666666667%}.el-col-md-push-10{left:41.6666666667%;position:relative}.el-col-md-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333333333%}.el-col-md-pull-11{position:relative;right:45.8333333333%}.el-col-md-push-11{left:45.8333333333%;position:relative}.el-col-md-12{display:block;flex:0 0 50%;max-width:50%}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{left:50%;position:relative}.el-col-md-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1666666667%}.el-col-md-pull-13{position:relative;right:54.1666666667%}.el-col-md-push-13{left:54.1666666667%;position:relative}.el-col-md-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333333333%}.el-col-md-pull-14{position:relative;right:58.3333333333%}.el-col-md-push-14{left:58.3333333333%;position:relative}.el-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{left:62.5%;position:relative}.el-col-md-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6666666667%}.el-col-md-pull-16{position:relative;right:66.6666666667%}.el-col-md-push-16{left:66.6666666667%;position:relative}.el-col-md-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333333333%}.el-col-md-pull-17{position:relative;right:70.8333333333%}.el-col-md-push-17{left:70.8333333333%;position:relative}.el-col-md-18{display:block;flex:0 0 75%;max-width:75%}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{left:75%;position:relative}.el-col-md-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1666666667%}.el-col-md-pull-19{position:relative;right:79.1666666667%}.el-col-md-push-19{left:79.1666666667%;position:relative}.el-col-md-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333333333%}.el-col-md-pull-20{position:relative;right:83.3333333333%}.el-col-md-push-20{left:83.3333333333%;position:relative}.el-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{left:87.5%;position:relative}.el-col-md-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6666666667%}.el-col-md-pull-22{position:relative;right:91.6666666667%}.el-col-md-push-22{left:91.6666666667%;position:relative}.el-col-md-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333333333%}.el-col-md-pull-23{position:relative;right:95.8333333333%}.el-col-md-push-23{left:95.8333333333%;position:relative}.el-col-md-24{display:block;flex:0 0 100%;max-width:100%}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{left:100%;position:relative}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;flex:0 0 0%;max-width:0}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{left:0;position:relative}.el-col-lg-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-lg-1,.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.1666666667%}.el-col-lg-pull-1{position:relative;right:4.1666666667%}.el-col-lg-push-1{left:4.1666666667%;position:relative}.el-col-lg-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-lg-2,.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.3333333333%}.el-col-lg-pull-2{position:relative;right:8.3333333333%}.el-col-lg-push-2{left:8.3333333333%;position:relative}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%}.el-col-lg-3,.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{left:12.5%;position:relative}.el-col-lg-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-lg-4,.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6666666667%}.el-col-lg-pull-4{position:relative;right:16.6666666667%}.el-col-lg-push-4{left:16.6666666667%;position:relative}.el-col-lg-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-lg-5,.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333333333%}.el-col-lg-pull-5{position:relative;right:20.8333333333%}.el-col-lg-push-5{left:20.8333333333%;position:relative}.el-col-lg-6{flex:0 0 25%;max-width:25%}.el-col-lg-6,.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{left:25%;position:relative}.el-col-lg-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-lg-7,.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1666666667%}.el-col-lg-pull-7{position:relative;right:29.1666666667%}.el-col-lg-push-7{left:29.1666666667%;position:relative}.el-col-lg-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-lg-8,.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333333333%}.el-col-lg-pull-8{position:relative;right:33.3333333333%}.el-col-lg-push-8{left:33.3333333333%;position:relative}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%}.el-col-lg-9,.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{left:37.5%;position:relative}.el-col-lg-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6666666667%}.el-col-lg-pull-10{position:relative;right:41.6666666667%}.el-col-lg-push-10{left:41.6666666667%;position:relative}.el-col-lg-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333333333%}.el-col-lg-pull-11{position:relative;right:45.8333333333%}.el-col-lg-push-11{left:45.8333333333%;position:relative}.el-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{left:50%;position:relative}.el-col-lg-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1666666667%}.el-col-lg-pull-13{position:relative;right:54.1666666667%}.el-col-lg-push-13{left:54.1666666667%;position:relative}.el-col-lg-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333333333%}.el-col-lg-pull-14{position:relative;right:58.3333333333%}.el-col-lg-push-14{left:58.3333333333%;position:relative}.el-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{left:62.5%;position:relative}.el-col-lg-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6666666667%}.el-col-lg-pull-16{position:relative;right:66.6666666667%}.el-col-lg-push-16{left:66.6666666667%;position:relative}.el-col-lg-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333333333%}.el-col-lg-pull-17{position:relative;right:70.8333333333%}.el-col-lg-push-17{left:70.8333333333%;position:relative}.el-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{left:75%;position:relative}.el-col-lg-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1666666667%}.el-col-lg-pull-19{position:relative;right:79.1666666667%}.el-col-lg-push-19{left:79.1666666667%;position:relative}.el-col-lg-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333333333%}.el-col-lg-pull-20{position:relative;right:83.3333333333%}.el-col-lg-push-20{left:83.3333333333%;position:relative}.el-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{left:87.5%;position:relative}.el-col-lg-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6666666667%}.el-col-lg-pull-22{position:relative;right:91.6666666667%}.el-col-lg-push-22{left:91.6666666667%;position:relative}.el-col-lg-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333333333%}.el-col-lg-pull-23{position:relative;right:95.8333333333%}.el-col-lg-push-23{left:95.8333333333%;position:relative}.el-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{left:100%;position:relative}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;flex:0 0 0%;max-width:0}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{left:0;position:relative}.el-col-xl-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xl-1,.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.1666666667%}.el-col-xl-pull-1{position:relative;right:4.1666666667%}.el-col-xl-push-1{left:4.1666666667%;position:relative}.el-col-xl-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xl-2,.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.3333333333%}.el-col-xl-pull-2{position:relative;right:8.3333333333%}.el-col-xl-push-2{left:8.3333333333%;position:relative}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xl-3,.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{left:12.5%;position:relative}.el-col-xl-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xl-4,.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6666666667%}.el-col-xl-pull-4{position:relative;right:16.6666666667%}.el-col-xl-push-4{left:16.6666666667%;position:relative}.el-col-xl-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xl-5,.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333333333%}.el-col-xl-pull-5{position:relative;right:20.8333333333%}.el-col-xl-push-5{left:20.8333333333%;position:relative}.el-col-xl-6{flex:0 0 25%;max-width:25%}.el-col-xl-6,.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{left:25%;position:relative}.el-col-xl-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xl-7,.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1666666667%}.el-col-xl-pull-7{position:relative;right:29.1666666667%}.el-col-xl-push-7{left:29.1666666667%;position:relative}.el-col-xl-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xl-8,.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333333333%}.el-col-xl-pull-8{position:relative;right:33.3333333333%}.el-col-xl-push-8{left:33.3333333333%;position:relative}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xl-9,.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{left:37.5%;position:relative}.el-col-xl-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6666666667%}.el-col-xl-pull-10{position:relative;right:41.6666666667%}.el-col-xl-push-10{left:41.6666666667%;position:relative}.el-col-xl-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333333333%}.el-col-xl-pull-11{position:relative;right:45.8333333333%}.el-col-xl-push-11{left:45.8333333333%;position:relative}.el-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{left:50%;position:relative}.el-col-xl-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1666666667%}.el-col-xl-pull-13{position:relative;right:54.1666666667%}.el-col-xl-push-13{left:54.1666666667%;position:relative}.el-col-xl-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333333333%}.el-col-xl-pull-14{position:relative;right:58.3333333333%}.el-col-xl-push-14{left:58.3333333333%;position:relative}.el-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{left:62.5%;position:relative}.el-col-xl-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6666666667%}.el-col-xl-pull-16{position:relative;right:66.6666666667%}.el-col-xl-push-16{left:66.6666666667%;position:relative}.el-col-xl-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333333333%}.el-col-xl-pull-17{position:relative;right:70.8333333333%}.el-col-xl-push-17{left:70.8333333333%;position:relative}.el-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{left:75%;position:relative}.el-col-xl-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1666666667%}.el-col-xl-pull-19{position:relative;right:79.1666666667%}.el-col-xl-push-19{left:79.1666666667%;position:relative}.el-col-xl-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333333333%}.el-col-xl-pull-20{position:relative;right:83.3333333333%}.el-col-xl-push-20{left:83.3333333333%;position:relative}.el-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{left:87.5%;position:relative}.el-col-xl-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6666666667%}.el-col-xl-pull-22{position:relative;right:91.6666666667%}.el-col-xl-push-22{left:91.6666666667%;position:relative}.el-col-xl-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333333333%}.el-col-xl-pull-23{position:relative;right:95.8333333333%}.el-col-xl-push-23{left:95.8333333333%;position:relative}.el-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{left:100%;position:relative}}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-bottom:1px solid var(--el-collapse-border-color);border-top:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{align-items:center;background-color:var(--el-collapse-header-bg-color);border:none;border-bottom:1px solid var(--el-collapse-border-color);color:var(--el-collapse-header-text-color);cursor:pointer;display:flex;font-size:var(--el-collapse-header-font-size);font-weight:500;line-height:var(--el-collapse-header-height);min-height:var(--el-collapse-header-height);outline:none;padding:0;transition:border-bottom-color var(--el-transition-duration);width:100%}.el-collapse-item__arrow{font-weight:300;transition:transform var(--el-transition-duration)}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{flex:auto;text-align:left}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{background-color:var(--el-collapse-content-bg-color);border-bottom:1px solid var(--el-collapse-border-color);box-sizing:border-box;overflow:hidden;will-change:height}.el-collapse-item__content{color:var(--el-collapse-content-text-color);font-size:var(--el-collapse-content-font-size);line-height:1.7692307692;padding-bottom:25px}.el-collapse-item:last-child{margin-bottom:-1px}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-color-picker-panel{background:var(--el-bg-color-overlay);box-sizing:content-box;padding:12px;width:300px}.el-color-picker-panel.is-border{border:1px solid var(--el-border-color-lighter);border-radius:4px}.el-color-picker-panel__wrapper{margin-bottom:6px}.el-color-picker-panel__footer{display:flex;justify-content:space-between;margin-top:12px;text-align:right}.el-color-picker-panel__footer .el-input{color:#000000;font-size:12px;line-height:26px;width:160px}.el-color-picker-panel.is-disabled .el-color-hue-slider,.el-color-picker-panel.is-disabled .el-color-svpanel{cursor:not-allowed;opacity:.3}.el-color-picker-panel.is-disabled .el-color-hue-slider__thumb{cursor:not-allowed}.el-color-picker-panel.is-disabled .el-color-alpha-slider,.el-color-picker-panel.is-disabled .el-color-predefine .el-color-predefine__color-selector{cursor:not-allowed;opacity:.3}.el-color-predefine{display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:flex;flex:1;flex-wrap:wrap;gap:8px}.el-color-predefine__color-selector{border-radius:4px;cursor:pointer;height:20px;width:20px}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector>div{border-radius:3px;display:flex;height:100%}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{background-color:#f00;box-sizing:border-box;float:right;height:12px;padding:0 2px;position:relative;width:280px}.el-color-hue-slider__bar{background:linear-gradient(90deg,#f00 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00);height:100%;position:relative}.el-color-hue-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{height:180px;padding:2px 0;width:12px}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(180deg,#f00 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-svpanel{height:180px;position:relative;width:280px}.el-color-svpanel__black,.el-color-svpanel__white{bottom:0;left:0;position:absolute;right:0;top:0}.el-color-svpanel__white{background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:linear-gradient(0deg,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{border-radius:50%;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);cursor:head;height:4px;transform:translate(-2px,-2px);width:4px}.el-color-alpha-slider{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;box-sizing:border-box;height:12px;position:relative;width:280px}.el-color-alpha-slider.is-disabled .el-color-alpha-slider__thumb{cursor:not-allowed}.el-color-alpha-slider__bar{background:linear-gradient(to right,rgba(255,255,255,0) 0,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{height:180px;width:20px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(180deg,rgba(255,255,255,0) 0,rgb(255,255,255))}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-picker-panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker-panel{--el-color-picker-alpha-bg-a:#333333}.el-color-picker{display:inline-block;height:32px;line-height:normal;outline:none;position:relative;width:32px}.el-color-picker:hover:not(.is-disabled,.is-focused) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{background-color:var(--el-fill-color-light);cursor:not-allowed}.el-color-picker.is-disabled .el-color-picker__color{opacity:.3}.el-color-picker--large{height:40px;width:40px}.el-color-picker--small{height:24px;width:24px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{transform:scale(.8)}.el-color-picker__trigger{align-items:center;border:1px solid var(--el-border-color);border-radius:4px;cursor:pointer;display:inline-flex;font-size:0;justify-content:center;padding:4px}.el-color-picker__color,.el-color-picker__trigger{box-sizing:border-box;height:100%;position:relative;width:100%}.el-color-picker__color{border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);display:block;text-align:center}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{align-items:center;color:#ffffff;display:inline-flex;font-size:12px;justify-content:center}.el-color-picker__panel{background-color:#ffffff;border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light)}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333333}.el-container{box-sizing:border-box;display:flex;flex:1;flex-basis:auto;flex-direction:row;min-width:0}.el-container.is-vertical{flex-direction:column}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;cursor:pointer;height:30px;padding:4px 0;position:relative;text-align:center;width:32px}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;display:block;height:24px;left:50%;line-height:24px;margin:0 auto;position:absolute;transform:translateX(-50%);width:24px}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:bold}.el-date-table td.today.end-date .el-date-table-cell__text,.el-date-table td.today.start-date .el-date-table-cell__text{color:#ffffff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.end-date .el-date-table-cell,.el-date-table td.start-date .el-date-table-cell{color:#ffffff}.el-date-table td.end-date .el-date-table-cell__text,.el-date-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed;opacity:1}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);border-radius:15px;color:#ffffff}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{border-bottom:1px solid var(--el-border-color-lighter);color:var(--el-datepicker-header-text-color);font-weight:400;padding:5px}.el-date-table th.el-date-table__week-header{padding:0;width:24px}.el-month-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-month-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:bold}.el-month-table td.today.end-date .el-date-table-cell__text,.el-month-table td.today.start-date .el-date-table-cell__text{color:#ffffff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translateX(-50%);width:54px}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.end-date .el-date-table-cell,.el-month-table td.start-date .el-date-table-cell{color:#ffffff}.el-month-table td.end-date .el-date-table-cell__text,.el-month-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-month-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:bold}.el-year-table td.today.end-date .el-date-table-cell__text,.el-year-table td.today.start-date .el-date-table-cell__text{color:#ffffff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translateX(-50%);width:60px}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.end-date .el-date-table-cell,.el-year-table td.start-date .el-date-table-cell{color:#ffffff}.el-year-table td.end-date .el-date-table-cell__text,.el-year-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-year-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{display:inline-block;max-height:192px;overflow:auto;position:relative;vertical-align:top;width:50%}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;overflow:hidden;text-align:center}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;height:30px;left:0;line-height:30px;position:absolute;text-align:center;width:100%;z-index:var(--el-index-normal)}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__list{list-style:none;margin:0}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;height:80px;width:100%}.el-time-spinner__item{color:var(--el-text-color-regular);font-size:12px;height:32px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:bold}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper,.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;position:relative;text-align:left;vertical-align:middle}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{height:var(--el-input-height,var(--el-component-size));width:var(--el-date-editor-width)}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .clear-icon,.el-date-editor .close-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{color:var(--el-text-color-placeholder);float:left;font-size:14px;height:inherit}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-text-color-regular);display:inline-block;font-size:var(--el-font-size-base);height:30px;line-height:30px;margin:0;outline:none;padding:0;text-align:center;width:39%}.el-date-editor .el-range-input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{align-items:center;color:var(--el-text-color-primary);display:inline-flex;flex:1;font-size:14px;height:100%;justify-content:center;margin:0;overflow-wrap:break-word;padding:0 5px}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);cursor:pointer;font-size:14px;height:inherit;width:unset}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{align-items:center;display:inline-flex;padding:0 10px;vertical-align:middle}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{font-size:14px;height:38px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{font-size:12px;height:22px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled,.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{background:var(--el-bg-color-overlay);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));color:var(--el-text-color-regular);line-height:30px}.el-picker-panel .el-time-panel{background-color:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{clear:both;content:"";display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{background-color:var(--el-bg-color-overlay);border-top:1px solid var(--el-datepicker-inner-border-color);font-size:0;padding:4px 12px;position:relative;text-align:right}.el-picker-panel__shortcut{background-color:transparent;border:0;color:var(--el-datepicker-text-color);cursor:pointer;display:block;font-size:14px;line-height:28px;outline:none;padding-left:12px;text-align:left;width:100%}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:var(--el-datepicker-active-color)}.el-picker-panel__btn{background-color:transparent;border:1px solid var(--el-fill-color-darker);border-radius:2px;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:24px;outline:none;padding:0 20px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{background:transparent;border:0;color:var(--el-datepicker-icon-color);cursor:pointer;font-size:12px;margin-top:8px;outline:none}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);bottom:0;box-sizing:border-box;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-picker__header{padding:12px 12px 0;text-align:center}.el-date-picker__header--bordered{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{cursor:pointer;float:left;line-height:30px;margin-left:10px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{height:28px;position:relative;text-align:center}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;float:left;margin:0;padding:16px;width:50%}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-range-picker__time-header>.el-icon-arrow-right{color:var(--el-datepicker-icon-color);display:table-cell;font-size:20px;vertical-align:middle}.el-date-range-picker__time-picker-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{background:#ffffff;position:absolute;right:0;top:13px;z-index:1}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{overflow:visible;width:354px}.el-time-range-picker__content{padding:10px;position:relative;text-align:center;z-index:1}.el-time-range-picker__cell{box-sizing:border-box;display:inline-block;margin:0;padding:4px 7px 7px;width:50%}.el-time-range-picker__header{font-size:14px;margin-bottom:5px;text-align:center}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{border-radius:2px;box-sizing:content-box;left:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:180px;z-index:var(--el-index-top)}.el-time-panel__content{font-size:0;overflow:hidden;position:relative}.el-time-panel__content:after,.el-time-panel__content:before{box-sizing:border-box;content:"";height:32px;left:0;margin-top:-16px;padding-top:6px;position:absolute;right:0;text-align:left;top:50%;z-index:-1}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{border-bottom:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6666666667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333333333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));box-sizing:border-box;height:36px;line-height:25px;padding:4px;text-align:right}.el-time-panel__btn{background-color:transparent;border:none;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:28px;margin:0 5px;outline:none;padding:0 5px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:1px solid var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;height:100%;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;color:var(--el-text-color-primary);font-size:var(--el-font-size-base)}.el-descriptions__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:bold}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;font-size:14px;line-height:23px;text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{background:var(--el-descriptions-item-bordered-label-background);color:var(--el-text-color-regular);font-weight:bold}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:0.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{background:var(--el-popup-modal-bg-color);height:100%;left:0;opacity:var(--el-popup-modal-opacity);position:fixed;top:0;width:100%}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;margin:var(--el-dialog-margin-top,15vh) auto 50px;overflow-wrap:break-word;padding:var(--el-dialog-padding-primary);position:relative;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{bottom:0;left:0;margin:0;overflow:auto;position:fixed;right:0;top:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:48px;outline:none;padding:0;position:absolute;right:0;top:0;width:48px}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{color:var(--el-text-color-primary);font-size:var(--el-dialog-title-font-size);line-height:var(--el-dialog-font-line-height)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{box-sizing:border-box;padding-top:var(--el-dialog-padding-primary);text-align:right}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);display:block;height:1px;margin:24px 0;width:100%}.el-divider--vertical{border-left:1px var(--el-border-color) var(--el-border-style);display:inline-block;height:1em;margin:0 8px;position:relative;vertical-align:middle;width:1px}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);font-size:14px;font-weight:500;padding:0 20px;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all var(--el-transition-duration);width:100%}.el-drawer .btt,.el-drawer .ltr,.el-drawer .rtl,.el-drawer .ttb{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:var(--el-text-color-primary);display:flex;margin-bottom:32px;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{flex:1;font-size:16px;line-height:inherit;margin:0}.el-drawer__footer{padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{background-color:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:var(--el-font-size-extra-large);outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;overflow:auto;padding:var(--el-drawer-padding-primary)}.el-drawer__body>*{box-sizing:border-box}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__disable{display:none}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger-horizontal:before{width:1px}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger-vertical:before{height:1px}.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger:not(.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger-active,.el-drawer-splitter>.el-splitter-bar .el-splitter-bar__dragger:hover):before{background-color:transparent}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active .el-splitter-bar__dragger,.el-drawer-fade-leave-active .el-splitter-bar__dragger{display:none}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:transparent!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translateX(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translateX(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);line-height:1;position:relative;vertical-align:top}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper,.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:0}.el-dropdown .el-dropdown__caret-button{align-items:center;border-left:none;display:inline-flex;justify-content:center;padding-left:0;padding-right:0;width:32px}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{background:var(--el-overlay-color-lighter);bottom:-1px;content:"";display:block;left:0;position:absolute;top:-1px;width:1px}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{background-color:var(--el-bg-color-overlay);border:none;border-radius:var(--el-border-radius-base);box-shadow:none;left:0;list-style:none;margin:0;padding:5px 0;position:relative;top:0;z-index:var(--el-dropdown-menu-index)}.el-dropdown-menu__item{align-items:center;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:var(--el-font-size-base);line-height:22px;list-style:none;margin:0;outline:none;padding:5px 16px;white-space:nowrap}.el-dropdown-menu__item:not(.is-disabled):focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{font-size:14px;line-height:22px;padding:7px 20px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{font-size:12px;line-height:20px;padding:2px 12px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-empty-padding);text-align:center}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{height:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top;width:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:100%;vertical-align:top;width:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height);padding:var(--el-footer-padding)}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{display:inline-flex;margin-right:32px;vertical-align:middle}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{justify-content:flex-start;text-align:left}.el-form-item--label-right .el-form-item__label{justify-content:flex-end;text-align:right}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{display:block;height:auto;line-height:22px;margin-bottom:8px;text-align:left;width:-moz-fit-content;width:fit-content}.el-form-item__label-wrap{display:flex}.el-form-item__label{align-items:flex-start;box-sizing:border-box;color:var(--el-text-color-regular);display:inline-flex;flex:0 0 auto;font-size:var(--el-form-label-font-size);height:32px;line-height:32px;padding:0 12px 0 0}.el-form-item__content{align-items:center;display:flex;flex:1;flex-wrap:wrap;font-size:var(--font-size);line-height:32px;min-width:0;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;left:0;line-height:1;padding-top:2px;position:absolute;top:100%}.el-form-item__error--inline{display:inline-block;left:auto;margin-left:10px;position:relative;top:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{color:var(--el-color-danger);content:"*";margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{color:var(--el-color-danger);content:"*";margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px transparent}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-header{--el-header-padding:0 20px;--el-header-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-header-height);padding:var(--el-header-padding)}.el-image-viewer__wrapper{bottom:0;left:0;position:fixed;right:0;top:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{align-items:center;border-radius:50%;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;opacity:.8;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{font-size:40px;height:40px;right:40px;top:40px;width:40px}.el-image-viewer__canvas{align-items:center;display:flex;height:100%;justify-content:center;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;bottom:30px;height:44px;left:50%;padding:0 23px;transform:translateX(-50%)}.el-image-viewer__actions__inner{align-items:center;color:#fff;cursor:default;display:flex;font-size:23px;gap:22px;height:100%;justify-content:space-around;padding:0 6px;width:100%}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{bottom:90px;color:#fff;cursor:default;left:50%;transform:translateX(-50%)}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;top:50%;transform:translateY(-50%);width:44px}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__close{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;width:44px}.el-image-viewer__mask{background:#000;height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}.el-image__error,.el-image__inner,.el-image__placeholder,.el-image__wrapper{height:100%;width:100%}.el-image{display:inline-block;overflow:hidden;position:relative}.el-image__inner{opacity:1;vertical-align:top}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{left:0;position:absolute;top:0}.el-image__error,.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{align-items:center;color:var(--el-text-color-placeholder);display:flex;font-size:14px;justify-content:center;vertical-align:middle}.el-image__preview{cursor:pointer}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;font-size:var(--el-font-size-base);position:relative;vertical-align:bottom;width:100%}.el-textarea__inner{-webkit-appearance:none;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;font-family:inherit;font-size:inherit;line-height:1.5;padding:5px 11px;position:relative;resize:vertical;transition:var(--el-transition-box-shadow);width:100%}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea .el-input__count{background:var(--el-fill-color-blank);bottom:5px;color:var(--el-color-info);font-size:12px;line-height:14px;position:absolute;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);box-sizing:border-box;display:inline-flex;font-size:var(--el-font-size-base);line-height:var(--el-input-height);position:relative;vertical-align:middle;width:var(--el-input-width)}.el-input::-webkit-scrollbar{width:6px;z-index:11}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{align-items:center;color:var(--el-color-info);display:inline-flex;font-size:12px;height:100%}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);display:inline-block;line-height:normal;padding-left:8px}.el-input__wrapper{align-items:center;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;cursor:text;display:inline-flex;flex-grow:1;justify-content:center;padding:1px 11px;transform:translateZ(0);transition:var(--el-transition-box-shadow)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px)}.el-input__inner{-webkit-appearance:none;background:none;border:none;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));flex-grow:1;font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);outline:none;padding:0;width:100%}.el-input__inner:focus{outline:none}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__prefix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__suffix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{align-items:center;display:flex;height:inherit;justify-content:center;line-height:inherit;margin-left:8px;transition:all var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;cursor:not-allowed}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{align-items:stretch;display:inline-flex;width:100%}.el-input-group__append,.el-input-group__prepend{align-items:center;background-color:var(--el-fill-color-light);border-radius:var(--el-input-border-radius);color:var(--el-color-info);display:inline-flex;justify-content:center;min-height:100%;padding:0 20px;position:relative;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;flex:1;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{background-color:transparent;border-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper,.el-input-group__append{border-bottom-left-radius:0;border-top-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{border-bottom-right-radius:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--append>.el-input__wrapper{border-bottom-right-radius:0;border-top-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{border-bottom-left-radius:0;border-top-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-hidden{display:none!important}.el-input-number{display:inline-flex;line-height:30px;position:relative;vertical-align:middle;width:150px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;line-height:1;text-align:center}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__decrease,.el-input-number__increase{align-items:center;background:var(--el-fill-color-light);bottom:1px;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:13px;height:auto;justify-content:center;position:absolute;top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:32px;z-index:1}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-left:var(--el-border);border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{line-height:38px;width:180px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{font-size:14px;width:40px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{line-height:22px;width:120px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{font-size:12px;width:24px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-bottom:var(--el-border);border-radius:0 var(--el-border-radius-base) 0 0;bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;border-right:none;left:auto;right:1px;top:auto}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px}.el-input-tag{--el-input-tag-border-color-hover:var(--el-border-color-hover);--el-input-tag-placeholder-color:var(--el-text-color-placeholder);--el-input-tag-disabled-color:var(--el-disabled-text-color);--el-input-tag-disabled-border:var(--el-disabled-border-color);--el-input-tag-font-size:var(--el-font-size-base);--el-input-tag-close-hover-color:var(--el-text-color-secondary);--el-input-tag-text-color:var(--el-text-color-regular);--el-input-tag-input-focus-border-color:var(--el-color-primary);--el-input-tag-width:100%;--el-input-tag-mini-height:var(--el-component-size);--el-input-tag-gap:6px;--el-input-tag-padding:4px;--el-input-tag-inner-padding:8px;--el-input-tag-line-height:24px;align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:var(--el-input-tag-font-size);line-height:var(--el-input-tag-line-height);min-height:var(--el-input-tag-mini-height);padding:var(--el-input-tag-padding);transform:translateZ(0);transition:var(--el-transition-duration);width:var(--el-input-tag-width)}.el-input-tag.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-tag.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-input-tag.is-disabled{background-color:var(--el-fill-color-light);cursor:not-allowed}.el-input-tag.is-disabled,.el-input-tag.is-disabled:hover{box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input-tag.is-disabled .el-input-tag__inner .el-input-tag__input,.el-input-tag.is-disabled .el-input-tag__inner .el-tag{cursor:not-allowed}.el-input-tag__prefix,.el-input-tag__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;padding:0 var(--el-input-tag-inner-padding)}.el-input-tag__suffix{gap:8px}.el-input-tag__input-tag-list{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;position:relative}.el-input-tag__input-tag-list.is-near{margin-left:-8px}.el-input-tag__input-tag-list .el-tag{border-color:transparent;cursor:pointer}.el-input-tag__input-tag-list .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__input-tag-list .el-tag .el-tag__content{min-width:0}.el-input-tag__inner{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:var(--el-input-tag-gap);max-width:100%;min-width:0;position:relative}.el-input-tag__inner.is-left-space{margin-left:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-right-space{margin-right:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-draggable .el-tag{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-input-tag__drop-indicator{background-color:var(--el-color-primary);height:var(--el-input-tag-line-height);position:absolute;top:0;width:1px}.el-input-tag__inner .el-tag{border-color:transparent;cursor:pointer;max-width:100%}.el-input-tag__inner .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__inner .el-tag .el-tag__content{line-height:normal;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-input-tag__input-wrapper{flex:1}.el-input-tag__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-input-tag-text-color);font-family:inherit;font-size:inherit;line-height:inherit;outline:none;padding:0;width:100%}.el-input-tag__input::-moz-placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input::placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-input-tag--large{--el-input-tag-gap:6px;--el-input-tag-padding:8px;--el-input-tag-padding-left:8px;--el-input-tag-font-size:14px}.el-input-tag--small{--el-input-tag-gap:4px;--el-input-tag-padding:2px;--el-input-tag-padding-left:6px;--el-input-tag-font-size:12px;--el-input-tag-line-height:20px;--el-input-tag-mini-height:var(--el-component-size-small)}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);align-items:center;color:var(--el-link-text-color);cursor:pointer;display:inline-flex;flex-direction:row;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);justify-content:center;outline:none;padding:0;position:relative;text-decoration:none;vertical-align:middle}.el-link.is-hover-underline:hover:after{border-bottom:1px solid var(--el-link-hover-text-color);bottom:0;content:"";height:0;left:0;position:absolute;right:0}.el-link.is-underline:after{border-bottom:1px solid var(--el-link-text-color);bottom:0;content:"";height:0;left:0;position:absolute;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link__inner{align-items:center;display:inline-flex;justify-content:center}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{background-color:var(--el-mask-color);bottom:0;left:0;margin:0;position:absolute;right:0;top:0;transition:opacity var(--el-transition-duration);z-index:2000}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size))/2);position:absolute;text-align:center;top:50%;width:100%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);font-size:14px;margin:3px 0}.el-loading-spinner .circular{animation:loading-rotate 2s linear infinite;display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size)}.el-loading-spinner .path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(1turn)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;display:block;flex:1;flex-basis:auto;overflow:auto;padding:var(--el-main-padding)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{background-color:var(--el-menu-bg-color);border-right:1px solid var(--el-menu-border-color);box-sizing:border-box;list-style:none;margin:0;padding-left:0;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level)*var(--el-menu-level-padding));white-space:nowrap}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{border-right:none;display:flex;flex-wrap:nowrap;height:var(--el-menu-horizontal-height)}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:1px solid var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{align-items:center;border-bottom:2px solid transparent;color:var(--el-menu-text-color);display:inline-flex;height:100%;justify-content:center;margin:0}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{border-bottom:2px solid transparent;color:var(--el-menu-text-color);height:100%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{align-items:center;background-color:var(--el-menu-bg-color);color:var(--el-menu-text-color);display:flex;height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);padding:0 10px}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{background-color:var(--el-menu-hover-bg-color);color:var(--el-menu-active-color,var(--el-menu-hover-text-color));outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding)*2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{display:inline-block;height:0;overflow:hidden;visibility:hidden;width:0}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{border:none;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light);min-width:200px;padding:5px 0;z-index:100}.el-menu .el-icon{flex-shrink:0}.el-menu-item{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-menu-item [class^=el-icon]{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{align-items:center;box-sizing:border-box;display:inline-flex;height:100%;left:0;padding:0 var(--el-menu-base-level-padding);position:absolute;top:0;width:100%}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:none}.el-sub-menu__title.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu .el-icon{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{font-size:12px;margin-right:0;margin-top:-6px;position:absolute;right:var(--el-menu-base-level-padding);top:50%;transition:transform var(--el-transition-duration);width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{color:var(--el-text-color-secondary);font-size:12px;line-height:normal;padding:7px 0 7px var(--el-menu-base-level-padding)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{opacity:0;transition:var(--el-transition-duration-fast)}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);backface-visibility:hidden;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);box-shadow:var(--el-messagebox-box-shadow);box-sizing:border-box;display:inline-block;font-size:var(--el-messagebox-font-size);max-width:var(--el-messagebox-width);overflow:hidden;overflow-wrap:break-word;padding:var(--el-messagebox-padding-primary);position:relative;text-align:left;vertical-align:middle;width:100%}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{bottom:0;left:0;overflow:auto;padding:16px;position:fixed;right:0;text-align:center;top:0}.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;vertical-align:middle;width:0}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size, 16px))}.el-message-box__title{color:var(--el-messagebox-title-color);font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;display:flex;gap:12px}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0;min-width:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding-top:var(--el-messagebox-padding-primary)}.el-message-box--center .el-message-box__title{align-items:center;display:flex;gap:6px;justify-content:center}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);align-items:center;background-color:var(--el-message-bg-color);border-color:var(--el-message-border-color);border-radius:var(--el-border-radius-base);border-style:var(--el-border-style);border-width:var(--el-border-width);box-sizing:border-box;display:flex;gap:8px;max-width:calc(100% - 32px);padding:var(--el-message-padding);position:fixed;transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;width:-moz-fit-content;width:fit-content}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translateX(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;right:-8px;top:-8px}.el-message__content{font-size:14px;line-height:1;padding:0}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{color:var(--el-message-close-icon-color);cursor:pointer;font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from:is(.is-left,.is-right),.el-message-fade-leave-to:is(.is-left,.is-right){transform:translateY(-100%)}.el-message-fade-enter-from:is(.is-left,.is-right).is-bottom,.el-message-fade-leave-to:is(.is-left,.is-right).is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);background-color:var(--el-bg-color-overlay);border:1px solid var(--el-notification-border-color);border-radius:var(--el-notification-radius);box-shadow:var(--el-notification-shadow);box-sizing:border-box;display:flex;overflow:hidden;overflow-wrap:break-word;padding:var(--el-notification-padding);position:fixed;transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);width:var(--el-notification-width);z-index:9999}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{flex:1;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right);min-width:0}.el-notification__title{color:var(--el-notification-title-color);font-size:var(--el-notification-title-font-size);font-weight:bold;line-height:var(--el-notification-icon-size);margin:0}.el-notification__content{color:var(--el-notification-content-color);font-size:var(--el-notification-content-font-size);line-height:24px;margin:6px 0 0}.el-notification__content p{margin:0}.el-notification .el-notification__icon{flex-shrink:0;font-size:var(--el-notification-icon-size);height:var(--el-notification-icon-size);width:var(--el-notification-icon-size)}.el-notification .el-notification__closeBtn{color:var(--el-notification-close-color);cursor:pointer;font-size:var(--el-notification-close-font-size);position:absolute;right:15px;top:18px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--primary{--el-notification-icon-color:var(--el-color-primary);color:var(--el-notification-icon-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translateX(100%)}.el-notification-fade-enter-from.left{left:0;transform:translateX(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{background-color:var(--el-overlay-color-lighter);bottom:0;height:100%;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2000}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{align-items:center;display:flex;justify-content:space-between;line-height:24px}.el-page-header__left{align-items:center;display:flex;margin-right:40px;position:relative}.el-page-header__back{align-items:center;cursor:pointer;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;display:flex;font-size:16px;margin-right:10px}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;align-items:center;color:var(--el-pagination-text-color);display:flex;font-size:var(--el-pagination-font-size);font-weight:normal;white-space:nowrap}.el-pagination .el-input__inner{-moz-appearance:textfield;text-align:center}.el-pagination .el-select{width:128px}.el-pagination button{align-items:center;background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;display:flex;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pagination button *{pointer-events:none}.el-pagination button:focus{outline:none}.el-pagination button.is-active,.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button.is-active{cursor:default;font-weight:bold}.el-pagination button.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:bold}.el-pagination button.is-disabled,.el-pagination button:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pagination button:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:bold;width:inherit}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{color:var(--el-text-color-regular);font-weight:normal;margin-left:var(--el-pagination-item-gap)}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{align-items:center;color:var(--el-text-color-regular);display:flex;font-weight:normal;margin-left:var(--el-pagination-item-gap)}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{box-sizing:border-box;text-align:center}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{align-items:center;display:flex;flex:1;justify-content:flex-end}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.is-disabled,.el-pagination.is-background .el-pager li:disabled{background-color:var(--el-disabled-bg-color);color:var(--el-text-color-placeholder)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active{background-color:var(--el-fill-color-dark);color:var(--el-text-color-secondary)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li{font-size:var(--el-pagination-font-size-small);height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-next,.el-pagination--large .btn-prev,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{font-size:0;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-pager,.el-pager li{align-items:center;display:flex}.el-pager li{background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li.is-active,.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{cursor:default;font-weight:bold}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:bold}.el-pager li.is-disabled,.el-pager li:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{margin-top:8px;text-align:right}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border:1px solid var(--el-popover-border-color);border-radius:var(--el-popover-border-radius);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;color:var(--el-text-color-regular);font-size:var(--el-popover-font-size);line-height:1.4;min-width:150px;overflow-wrap:break-word;padding:var(--el-popover-padding);z-index:var(--el-index-popper)}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}.el-progress{align-items:center;display:flex;line-height:1;position:relative}.el-progress__text{color:var(--el-text-color-regular);font-size:14px;line-height:1;margin-left:5px;min-width:50px}.el-progress__text i{display:block;vertical-align:middle}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{left:0;margin:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{display:inline-block;vertical-align:middle}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{display:block;margin-right:0;padding-right:0}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);border-radius:100px;height:6px;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{background-color:var(--el-color-primary);border-radius:100px;height:100%;left:0;line-height:1;position:absolute;text-align:right;top:0;transition:width .6s ease;white-space:nowrap}.el-progress-bar__inner:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{animation:indeterminate 3s infinite;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 0,transparent 50%,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 75%,transparent 0,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{color:#ffffff;display:inline-block;font-size:12px;margin:0 5px;vertical-align:middle}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light)}.el-radio-button,.el-radio-button__inner{display:inline-block;outline:none;position:relative}.el-radio-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left:0;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;font-size:var(--el-font-size-base);font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));line-height:1;margin:0;padding:8px 15px;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:var(--el-border);border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary));color:var(--el-radio-button-checked-text-color,var(--el-color-white))}.el-radio-button__original-radio{opacity:0;outline:none;position:absolute;z-index:-1}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));border-radius:var(--el-border-radius-base);box-shadow:none;outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2}.el-radio-button__original-radio:disabled+.el-radio-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{align-items:center;display:inline-flex;flex-wrap:wrap;font-size:0}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-radio-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-radio-font-weight);height:32px;margin-right:30px;outline:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.el-radio__input.is-disabled .el-radio__inner{border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled .el-radio__inner:after{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{background:var(--el-color-primary);border-color:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{background-color:var(--el-color-white);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{background-color:var(--el-radio-input-bg-color);border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);box-sizing:border-box;cursor:pointer;display:inline-block;height:var(--el-radio-input-height);position:relative;width:var(--el-radio-input-width)}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{border-radius:var(--el-radio-input-border-radius);content:"";height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in;width:4px}.el-radio__original{bottom:0;left:0;margin:0;opacity:0;outline:none;position:absolute;right:0;top:0;z-index:-1}.el-radio__original:focus-visible+.el-radio__inner{border-radius:var(--el-radio-input-border-radius);outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{height:12px;width:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);align-items:center;display:inline-flex;height:32px}.el-rate:active,.el-rate:focus{outline:none}.el-rate__item{color:var(--el-rate-void-color);cursor:pointer;display:inline-block;font-size:0;line-height:normal;position:relative;vertical-align:middle}.el-rate .el-rate__icon{display:inline-block;font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);position:relative;transition:var(--el-transition-duration)}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{left:0;position:absolute;top:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;overflow:hidden}.el-rate__decimal,.el-rate__decimal--box{left:0;position:absolute;top:0}.el-rate__text{color:var(--el-rate-text-color);font-size:var(--el-rate-font-size);vertical-align:middle}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{color:var(--el-rate-disabled-void-color);cursor:auto}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-result-padding);text-align:center}.el-result__icon svg{height:var(--el-result-icon-font-size);width:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{color:var(--el-text-color-primary);font-size:var(--el-result-title-font-size);line-height:1.3;margin:0}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{color:var(--el-text-color-regular);font-size:var(--el-font-size-base);line-height:1.3;margin:0}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;display:flex;flex-wrap:wrap;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:0.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:0.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;overflow:hidden;position:relative}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));border-radius:inherit;cursor:pointer;display:block;height:0;opacity:var(--el-scrollbar-opacity,.3);position:relative;transition:var(--el-transition-duration) background-color;width:0}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{border-radius:4px;bottom:2px;position:absolute;right:2px;z-index:1}.el-scrollbar__bar.is-vertical{top:2px;width:6px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty,.el-select-dropdown__loading{color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0;text-align:center}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:6px 0}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);height:34px;line-height:34px;overflow:hidden;padding:0 32px 0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:bold}.el-select-dropdown__item.is-disabled{background-color:unset;color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{background-color:var(--el-color-primary);background-position:50%;background-repeat:no-repeat;border-right:none;border-top:none;content:"";height:12px;mask:url("data:image/svg+xml;utf8,%3Csvg class=\'icon\' width=\'200\' height=\'200\' viewBox=\'0 0 1024 1024\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath fill=\'currentColor\' d=\'M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z\'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class=\'icon\' width=\'200\' height=\'200\' viewBox=\'0 0 1024 1024\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath fill=\'currentColor\' d=\'M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z\'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{list-style:none;margin:0;padding:0;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);font-size:12px;line-height:34px;overflow:hidden;padding:0 20px;text-overflow:ellipsis;white-space:nowrap}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;display:inline-block;position:relative;vertical-align:middle;width:var(--el-select-width)}.el-select__wrapper{align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:14px;gap:6px;line-height:24px;min-height:32px;padding:4px 12px;position:relative;text-align:left;transform:translateZ(0);transition:var(--el-transition-duration)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select__wrapper.is-disabled,.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;gap:6px}.el-select__caret{color:var(--el-select-input-color);cursor:pointer;font-size:var(--el-select-input-font-size);transform:rotate(0deg);transition:var(--el-transition-duration)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{border-color:transparent;cursor:pointer}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{display:flex;flex-wrap:wrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__tags-text{line-height:normal}.el-select__placeholder,.el-select__tags-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select__placeholder{color:var(--el-input-text-color,var(--el-text-color-regular));position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:-1}.el-select__placeholder.is-transparent{color:var(--el-text-color-placeholder);-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper,.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;position:absolute;z-index:-1}.el-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-select-multiple-input-color);font-family:inherit;font-size:inherit;height:24px;outline:none;padding:0;width:100%}.el-select__input.is-disabled{cursor:not-allowed}.el-select__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-select--large .el-select__wrapper{font-size:14px;gap:6px;line-height:24px;min-height:40px;padding:8px 16px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{font-size:12px;gap:4px;line-height:20px;min-height:24px;padding:2px 8px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);display:inline-block;height:16px;width:100%}.el-skeleton__circle{border-radius:50%;height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);width:var(--el-skeleton-circle-size)}.el-skeleton__button{border-radius:4px;height:40px;width:64px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{height:var(--el-font-size-small);width:100%}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{align-items:center;border-radius:0;display:flex;justify-content:center;width:unset}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:22%;width:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{animation:el-skeleton-loading 1.4s ease infinite;background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;display:flex;height:32px;width:100%}.el-slider__runway{background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;height:var(--el-slider-height);position:relative}.el-slider__runway.show-input{margin-right:30px;width:auto}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{transform:scale(1)}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{cursor:not-allowed}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{background-color:var(--el-slider-main-bg-color);border-bottom-left-radius:var(--el-slider-border-radius);border-top-left-radius:var(--el-slider-border-radius);height:var(--el-slider-height);position:absolute}.el-slider__button-wrapper{background-color:transparent;height:var(--el-slider-button-wrapper-size);line-height:normal;outline:none;position:absolute;text-align:center;top:var(--el-slider-button-wrapper-offset);transform:translateX(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--el-slider-button-wrapper-size);z-index:1}.el-slider__button-wrapper:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{background-color:var(--el-color-white);border:2px solid var(--el-slider-main-bg-color);border-radius:50%;box-sizing:border-box;display:inline-block;height:var(--el-slider-button-size);transition:var(--el-transition-duration-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:var(--el-slider-button-size)}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{background-color:var(--el-slider-stop-bg-color);border-radius:var(--el-border-radius-circle);height:var(--el-slider-height);position:absolute;transform:translateX(-50%);width:var(--el-slider-height)}.el-slider__marks{height:100%;left:12px;top:0;width:18px}.el-slider__marks-text{color:var(--el-color-info);font-size:14px;margin-top:15px;position:absolute;transform:translateX(-50%);white-space:pre}.el-slider.is-vertical{display:inline-flex;flex:0;height:100%;position:relative;width:auto}.el-slider.is-vertical .el-slider__runway{height:100%;margin:0 16px;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__bar{border-radius:0 0 3px 3px;height:auto;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__button-wrapper{left:var(--el-slider-button-wrapper-offset);top:auto;transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{left:15px;margin-top:0;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{display:inline-flex;vertical-align:top}.el-space__item{display:flex;flex-wrap:wrap}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{animation:rotate 2s linear infinite;height:50px;width:50px}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(1turn)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-basis:auto!important;flex-grow:0;flex-shrink:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{border-color:var(--el-text-color-primary);color:var(--el-text-color-primary)}.el-step__head.is-wait{border-color:var(--el-text-color-placeholder);color:var(--el-text-color-placeholder)}.el-step__head.is-success{border-color:var(--el-color-success);color:var(--el-color-success)}.el-step__head.is-error{border-color:var(--el-color-danger);color:var(--el-color-danger)}.el-step__head.is-finish{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-step__icon{align-items:center;background:var(--el-bg-color);box-sizing:border-box;display:inline-flex;font-size:14px;height:24px;justify-content:center;position:relative;transition:.15s ease-out;width:24px;z-index:1}.el-step__icon.is-text{border:2px solid;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{color:inherit;display:inline-block;font-weight:bold;line-height:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:normal}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:currentColor;position:absolute}.el-step__line-inner{border:1px solid;box-sizing:border-box;display:block;height:0;transition:.15s ease-out;width:0}.el-step__main{text-align:left;white-space:normal}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:bold}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{font-size:12px;font-weight:normal;line-height:20px;margin-top:-5px;padding-right:10%}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;left:0;right:0;top:11px}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{bottom:0;left:11px;top:0;width:2px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{font-size:0;padding-right:10px;width:auto}.el-step.is-simple .el-step__icon{background:transparent;font-size:12px;height:16px;width:16px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{align-items:stretch;display:flex;flex-grow:1;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;overflow-wrap:break-word}.el-step.is-simple .el-step__arrow{align-items:center;display:flex;flex-grow:1;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{background:var(--el-text-color-placeholder);content:"";display:inline-block;height:15px;position:absolute;width:1px}.el-step.is-simple .el-step__arrow:before{transform:rotate(-45deg) translateY(-4px);transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{transform:rotate(45deg) translateY(4px);transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);align-items:center;display:inline-flex;font-size:14px;height:32px;line-height:20px;position:relative;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{color:var(--el-text-color-primary);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;height:20px;transition:var(--el-transition-duration-fast);vertical-align:middle}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{display:inline-block;font-size:14px;line-height:1}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{height:0;margin:0;opacity:0;position:absolute;width:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{align-items:center;background:var(--el-switch-off-color);border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));border-radius:10px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:20px;min-width:40px;outline:none;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration)}.el-switch__core .el-switch__inner{align-items:center;display:flex;height:16px;justify-content:center;overflow:hidden;padding:0 4px 0 18px;transition:all var(--el-transition-duration);width:100%}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{color:var(--el-color-white);font-size:12px;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-switch__core .el-switch__action{align-items:center;background-color:var(--el-color-white);border-radius:var(--el-border-radius-circle);color:var(--el-switch-off-color);display:flex;height:16px;justify-content:center;left:1px;position:absolute;transition:all var(--el-transition-duration);width:16px}.el-switch.is-checked .el-switch__core{background-color:var(--el-switch-on-color);border-color:var(--el-switch-border-color,var(--el-switch-on-color))}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;height:40px;line-height:24px}.el-switch--large .el-switch__label{font-size:14px;height:24px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;height:24px;min-width:50px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{height:20px;width:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{font-size:12px;height:24px;line-height:16px}.el-switch--small .el-switch__label{font-size:12px;height:16px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;height:16px;min-width:30px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{height:12px;width:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{background-color:#ffffff;border:1px solid var(--el-border-color-lighter);border-radius:2px;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{list-style:none;margin:0;min-width:100px;padding:5px 0}.el-table-filter__list-item{cursor:pointer;font-size:var(--el-font-size-base);line-height:36px;padding:0 10px}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#ffffff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:transparent;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:none}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{align-items:center;display:flex;height:unset;margin-bottom:12px;margin-left:5px;margin-right:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,0.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,0.15);--el-table-index:var(--el-index-normal);background-color:var(--el-table-bg-color);box-sizing:border-box;color:var(--el-table-text-color);font-size:var(--el-font-size-base);height:-moz-fit-content;height:fit-content;max-width:100%;overflow:hidden;position:relative;width:100%}.el-table__inner-wrapper{display:flex;flex-direction:column;height:100%;position:relative}.el-table__inner-wrapper:before{bottom:0;height:1px;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell,.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{align-items:center;display:flex;justify-content:center;left:0;min-height:60px;position:sticky;text-align:center;width:100%}.el-table__empty-text{color:var(--el-text-color-secondary);line-height:60px;width:50%}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table__expand-icon{color:var(--el-text-color-regular);cursor:pointer;font-size:12px;height:20px;position:relative;transition:transform var(--el-transition-duration-fast) ease-in-out}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;min-width:0;padding:8px 0;position:relative;text-align:left;text-overflow:ellipsis;vertical-align:middle;z-index:var(--el-table-index)}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;padding:0;width:15px}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;line-height:23px;overflow:hidden;overflow-wrap:break-word;padding:0 12px;text-overflow:ellipsis;white-space:normal}.el-table .cell.el-tooltip{min-width:50px;white-space:nowrap}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{background:#ff4d51;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;vertical-align:middle;width:8px}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border .el-table__inner-wrapper:after,.el-table--border:after,.el-table--border:before,.el-table__inner-wrapper:before{background-color:var(--el-table-border-color);content:"";position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table--border .el-table__inner-wrapper:after{height:1px;left:0;top:0;width:100%;z-index:calc(var(--el-table-index) + 2)}.el-table--border:before{height:100%;left:0;top:-1px;width:1px}.el-table--border:after{height:100%;right:0;top:-1px;width:1px}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right,.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background:inherit;position:sticky!important;z-index:calc(var(--el-table-index) + 1)}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{bottom:-1px;box-shadow:none;content:"";overflow-x:hidden;overflow-y:hidden;pointer-events:none;position:absolute;top:0;touch-action:none;width:10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch,.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch{background:#fff;position:sticky!important;right:0;z-index:calc(var(--el-table-index) + 1)}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body,.el-table__footer,.el-table__header{border-collapse:separate;table-layout:fixed}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__body-wrapper .el-table-column--selection>.cell,.el-table__header-wrapper .el-table-column--selection>.cell{align-items:center;display:inline-flex;height:23px}.el-table__body-wrapper .el-table-column--selection .el-checkbox,.el-table__header-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;overflow:hidden;position:relative}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{align-items:center;cursor:pointer;display:inline-flex;flex-direction:column;height:14px;overflow:initial;position:relative;vertical-align:middle;width:24px}.el-table .sort-caret{border:5px solid transparent;height:0;left:7px;position:absolute;width:0}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{position:absolute;visibility:hidden;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{position:sticky;top:0;z-index:calc(var(--el-table-index) + 2)}.el-table.el-table--scrollable-y .el-table__body-footer{bottom:0;position:sticky;z-index:calc(var(--el-table-index) + 2)}.el-table__column-resize-proxy{border-left:var(--el-table-border);bottom:0;left:200px;position:absolute;top:0;width:0;z-index:calc(var(--el-table-index) + 9)}.el-table__column-filter-trigger{cursor:pointer;display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{height:100%;top:0;width:1px}.el-table__border-bottom-patch,.el-table__border-left-patch{background-color:var(--el-table-border-color);left:0;position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table__border-bottom-patch{height:1px}.el-table__border-right-patch{background-color:var(--el-table-border-color);height:100%;position:absolute;top:0;width:1px;z-index:calc(var(--el-table-index) + 2)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;height:12px;line-height:12px;margin-right:8px;text-align:center;width:12px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,0.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,0.15);--el-table-index:var(--el-index-normal);font-size:var(--el-font-size-base)}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);box-shadow:2px 0 4px 0 rgba(0,0,0,.06);display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__horizontal,.el-table-v2__left .el-vl__vertical{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);box-shadow:-2px 0 4px 0 rgba(0,0,0,.06);display:flex;flex-direction:column-reverse;overflow:hidden;position:absolute;right:0;top:0}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__horizontal,.el-table-v2__right .el-vl__vertical{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{overflow:hidden;position:relative}.el-table-v2__header .el-checkbox{z-index:0}.el-table-v2__footer{bottom:0;overflow:hidden;right:0}.el-table-v2__empty,.el-table-v2__footer,.el-table-v2__overlay{left:0;position:absolute}.el-table-v2__overlay{bottom:0;right:0;top:0;z-index:9999}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{align-items:center;background-color:var(--el-table-header-bg-color);color:var(--el-table-header-text-color);display:flex;font-weight:bold;height:100%;overflow:hidden;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table-v2__header-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__header-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{display:none;opacity:.6;transition:opacity,display var(--el-transition-duration)}.el-table-v2__sort-icon.is-sorting{display:block;opacity:1}.el-table-v2__row{align-items:center;border-bottom:var(--el-table-border);display:flex;transition:background-color var(--el-transition-duration)}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;display:flex;height:100%;overflow:hidden;padding:0 8px}.el-table-v2__row-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__row-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__expand-icon{cursor:pointer;margin:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{align-items:center;display:flex;justify-content:space-between;margin:0 0 15px;padding:0;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);bottom:0;height:2px;left:0;list-style:none;position:absolute;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);z-index:1}.el-tabs__new-tab{align-items:center;border:1px solid var(--el-border-color);border-radius:3px;color:var(--el-text-color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:20px;justify-content:center;line-height:20px;margin:10px 0 10px 10px;text-align:center;transition:all .15s;width:20px}.el-tabs__new-tab .is-icon-plus{height:inherit;transform:scale(.8);width:inherit}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:1 auto;margin-bottom:-1px;overflow:hidden;position:relative}.el-tabs__nav-wrap:after{background-color:var(--el-border-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%;z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;line-height:44px;position:absolute;text-align:center;width:20px}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;float:left;position:relative;transition:transform var(--el-transition-duration);white-space:nowrap;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{display:flex;min-width:100%}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{align-items:center;box-sizing:border-box;color:var(--el-text-color-primary);display:flex;font-size:var(--el-font-size-base);font-weight:500;height:var(--el-tabs-header-height);justify-content:center;list-style:none;padding:0 20px;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{border-radius:3px;box-shadow:0 0 2px 2px var(--el-color-primary) inset}.el-tabs__item .is-icon-close{border-radius:50%;margin-left:5px;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#ffffff}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--el-color-primary)}.el-tabs__item:hover{cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;overflow:hidden;position:relative}.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);box-sizing:border-box;height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{font-size:12px;height:14px;overflow:hidden;position:relative;right:-2px;transform-origin:100% 50%;width:0}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);margin-top:-1px;transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{border:1px solid transparent;color:var(--el-text-color-secondary);margin-top:-1px;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:var(--el-bg-color-overlay);border-left-color:var(--el-border-color);border-right-color:var(--el-border-color);color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-bottom:0;margin-top:-1px}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{bottom:auto;height:auto;top:0;width:2px}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{cursor:pointer;height:30px;line-height:30px;text-align:center;width:100%}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{bottom:auto;height:100%;top:0;width:2px}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-bottom:none;border-left:none;border-right:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-radius:4px 0 0 4px;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:1px solid #fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);left:0;position:absolute;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);left:0;position:absolute;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform:translateX(100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInRight-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(100%);transform-origin:0 0}}@keyframes slideInLeft-enter{0%{opacity:0;transform:translateX(-100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInLeft-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(-100%);transform-origin:0 0}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;align-items:center;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);border-radius:var(--el-tag-border-radius);border-style:solid;border-width:1px;box-sizing:border-box;color:var(--el-tag-text-color);display:inline-flex;font-size:var(--el-tag-font-size);height:24px;justify-content:center;line-height:1;padding:0 9px;vertical-align:middle;white-space:nowrap;--el-icon-size:14px}.el-tag,.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{background-color:var(--el-tag-hover-color);color:var(--el-color-white)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-text-color:var(--el-color-white)}.el-tag--dark,.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info,.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{height:32px;padding:0 11px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{height:20px;padding:0 7px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);align-self:center;color:var(--el-text-color);font-size:var(--el-text-font-size);margin:0;overflow-wrap:break-word;padding:0}.el-text.is-truncated{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-text.is-line-clamp{display:-webkit-inline-box;-webkit-box-orient:vertical;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{margin:0;max-height:200px}.time-select-item{font-size:14px;line-height:20px;padding:8px 10px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:bold}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:bold}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{padding-left:28px;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;left:4px;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{align-items:center;background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);border-radius:50%;box-sizing:border-box;display:flex;justify-content:center;position:absolute}.el-timeline-item__node--normal{height:var(--el-timeline-node-size-normal);left:-1px;width:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{height:var(--el-timeline-node-size-large);left:-2px;width:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{align-items:center;display:flex;justify-content:center;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);font-size:var(--el-font-size-small);line-height:1}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);list-style:none;margin:0}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{display:block;height:calc(50% - 10px)}.el-tooltip-v2__content{--el-tooltip-v2-padding:5px 10px;--el-tooltip-v2-border-radius:4px;--el-tooltip-v2-border-color:var(--el-border-color);background-color:var(--el-color-white);border:1px solid var(--el-border-color);border-radius:var(--el-tooltip-v2-border-radius);color:var(--el-color-black);padding:var(--el-tooltip-v2-padding)}.el-tooltip-v2__arrow{color:var(--el-color-white);height:var(--el-tooltip-v2-arrow-height);left:var(--el-tooltip-v2-arrow-x);pointer-events:none;position:absolute;top:var(--el-tooltip-v2-arrow-y);width:var(--el-tooltip-v2-arrow-width)}.el-tooltip-v2__arrow:after,.el-tooltip-v2__arrow:before{border:var(--el-tooltip-v2-arrow-border-width) solid transparent;content:"";height:0;position:absolute;width:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow{bottom:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:before{border-bottom:0;border-top-color:var(--el-color-white);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:after{border-bottom:0;border-top-color:var(--el-border-color);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:100%;z-index:-1}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow{top:0}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:before{border-bottom-color:var(--el-color-white);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:after{border-bottom-color:var(--el-border-color);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:100%;z-index:-1}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow{right:0}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:before{border-left-color:var(--el-color-white);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:after{border-left-color:var(--el-border-color);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:100%;z-index:-1}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow{left:0}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:before{border-left:0;border-right-color:var(--el-color-white);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:after{border-left:0;border-right-color:var(--el-border-color);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:100%;z-index:-1}.el-tooltip-v2__content.is-dark{--el-tooltip-v2-border-color:transparent;color:var(--el-color-white)}.el-tooltip-v2__content.is-dark,.el-tooltip-v2__content.is-dark .el-tooltip-v2__arrow{background-color:var(--el-color-black);border-color:transparent}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{display:inline-block;padding:0 30px;vertical-align:middle}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);box-sizing:border-box;display:inline-block;max-height:100%;overflow:hidden;position:relative;text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width)}.el-transfer-panel__body{border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);height:var(--el-transfer-panel-body-height);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.el-transfer-panel__list{box-sizing:border-box;height:var(--el-transfer-panel-body-height);list-style:none;margin:0;overflow:auto;padding:6px 0}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{display:block!important;height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular);margin-right:30px}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{box-sizing:border-box;display:block;line-height:var(--el-transfer-item-height);overflow:hidden;padding-left:22px;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{box-sizing:border-box;padding:15px;text-align:center}.el-transfer-panel__filter .el-input__inner{box-sizing:border-box;display:inline-block;font-size:12px;height:var(--el-transfer-filter-height);width:100%}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{align-items:center;background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);display:flex;height:var(--el-transfer-panel-header-height);margin:0;padding-left:15px}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;display:flex;position:relative;width:100%}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{color:var(--el-text-color-primary);font-size:16px;font-weight:normal}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{color:var(--el-text-color-secondary);font-size:12px;font-weight:normal;position:absolute;right:15px;top:50%;transform:translate3d(0,-50%,0)}.el-transfer-panel .el-transfer-panel__footer{background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);height:var(--el-transfer-panel-footer-height);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{color:var(--el-text-color-secondary);height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);margin:0;padding:6px 15px 0;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);background:var(--el-fill-color-blank);color:var(--el-tree-text-color);cursor:default;font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{height:100%;min-height:60px;position:relative;text-align:center;width:100%}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;left:0;position:absolute;right:0}.el-tree-node{outline:none;white-space:nowrap}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);align-items:center;cursor:pointer;display:flex;height:var(--el-tree-node-content-height)}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{color:var(--el-tree-expand-icon-color);cursor:pointer;font-size:12px;transform:rotate(0deg);transition:transform var(--el-transition-duration) ease-in-out}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{color:var(--el-tree-expand-icon-color);font-size:var(--el-font-size-base);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:transparent;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__list>.el-select-dropdown__item{padding-left:32px}.el-tree-select__popper .el-select-dropdown__item{background:transparent!important;flex:1;height:20px;line-height:20px;padding-left:0}.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;outline:none}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{color:inherit}.el-upload.is-disabled:focus,.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);font-size:12px;margin-top:7px}.el-upload iframe{filter:alpha(opacity=0);left:0;opacity:0;position:absolute;top:0;z-index:-1}.el-upload--picture-card{--el-upload-picture-card-size:148px;align-items:center;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--el-upload-picture-card-size);justify-content:center;vertical-align:top;width:var(--el-upload-picture-card-size)}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{color:var(--el-color-primary)}.el-upload:focus,.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);position:relative;text-align:center}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);font-size:67px;line-height:50px;margin-bottom:16px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary);padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px)}.el-upload-list{list-style:none;margin:10px 0 0;padding:0;position:relative}.el-upload-list__item{border-radius:4px;box-sizing:border-box;color:var(--el-text-color-regular);font-size:14px;margin-bottom:5px;position:relative;transition:all .5s cubic-bezier(.55,0,.1,1);width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{color:var(--el-text-color-regular);cursor:pointer;display:none;opacity:.75;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:opacity var(--el-transition-duration)}.el-upload-list__item .el-icon--close:hover{color:var(--el-color-primary);opacity:1}.el-upload-list__item .el-icon--close-tip{color:var(--el-color-primary);cursor:pointer;display:none;font-size:12px;font-style:normal;opacity:1;position:absolute;right:5px;top:1px}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;flex-direction:column;justify-content:center;margin-left:4px;width:calc(100% - 30px)}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{align-items:center;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);padding:0 4px;text-align:center;transition:color var(--el-transition-duration)}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{align-items:center;display:none;height:100%;justify-content:center;line-height:inherit;position:absolute;right:5px;top:0;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{color:var(--el-text-color-regular);display:none;font-size:12px;position:absolute;right:10px;top:0}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:inline-flex;height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;overflow:hidden;padding:0;width:var(--el-upload-list-picture-card-size)}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#ffffff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:block;opacity:0}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{align-items:center;background-color:var(--el-overlay-color-lighter);color:#fff;cursor:default;display:inline-flex;font-size:20px;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--el-transition-duration);width:100%}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{color:inherit;font-size:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{bottom:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{align-items:center;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:flex;margin-top:10px;overflow:hidden;padding:10px;z-index:0}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#ffffff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{display:inline-flex;opacity:0}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{align-items:center;background-color:var(--el-color-white);display:inline-flex;height:70px;justify-content:center;-o-object-fit:contain;object-fit:contain;position:relative;width:70px;z-index:1}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);height:26px;position:absolute;right:-17px;text-align:center;top:-7px;transform:rotate(45deg);width:46px}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{cursor:default;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:10}.el-upload-cover:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;height:100%;width:100%}.el-upload-cover__label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-cover__label i{color:#fff;font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-cover__progress{display:inline-block;position:static;vertical-align:middle;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{height:100%;left:0;position:absolute;top:0;width:100%}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);bottom:0;height:100%;left:0;position:absolute;text-align:center;width:100%}.el-upload-cover__interact .btn{color:#ffffff;cursor:pointer;display:inline-block;font-size:14px;margin-top:60px;transition:var(--el-transition-md-fade);vertical-align:middle}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#ffffff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{background-color:#ffffff;bottom:0;color:var(--el-text-color-primary);font-size:14px;font-weight:normal;height:36px;left:0;line-height:36px;margin:0;overflow:hidden;padding:0 10px;position:absolute;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-vl__wrapper{position:relative}.el-vl__wrapper.always-on .el-virtual-scrollbar,.el-vl__wrapper:hover .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);border-radius:var(--el-popper-border-radius);font-size:12px;line-height:20px;min-width:10px;overflow-wrap:break-word;padding:5px 11px;position:absolute;visibility:visible;word-break:normal;z-index:2000}.el-popper.is-dark{color:var(--el-bg-color)}.el-popper.is-dark,.el-popper.is-dark>.el-popper__arrow:before{background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{right:0}.el-popper.is-light,.el-popper.is-light>.el-popper__arrow:before{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{right:0}.el-popper.is-pure{padding:0}.el-popper__arrow,.el-popper__arrow:before{height:10px;position:absolute;width:10px;z-index:-1}.el-popper__arrow:before{background:var(--el-text-color-primary);box-sizing:border-box;content:" ";transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-left-color:transparent!important;border-top-color:transparent!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{color:var(--el-statistic-title-color);font-size:var(--el-statistic-title-font-size);font-weight:var(--el-statistic-title-font-weight);line-height:20px;margin-bottom:4px}.el-statistic__content{color:var(--el-statistic-content-color);font-size:var(--el-statistic-content-font-size);font-weight:var(--el-statistic-content-font-weight)}.el-statistic__value{display:inline-block}.el-statistic__prefix{display:inline-block;margin-right:4px}.el-statistic__suffix{display:inline-block;margin-left:4px}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);box-shadow:var(--el-box-shadow-light);outline:none;overflow-wrap:break-word;padding:var(--el-tour-padding-primary);width:var(--el-tour-width)}.el-tour__arrow,.el-tour__content{background:var(--el-tour-bg-color);box-sizing:border-box}.el-tour__arrow{height:10px;pointer-events:none;position:absolute;transform:rotate(45deg);width:10px}.el-tour__content[data-side^=top] .el-tour__arrow{border-left-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:transparent;border-right-color:transparent}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:transparent;border-left-color:transparent}.el-tour__content[data-side^=right] .el-tour__arrow{border-right-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size, 16px))}.el-tour__title{color:var(--el-tour-title-text-color);font-size:var(--el-tour-title-font-size);font-weight:var(--el-tour-title-font-weight);line-height:var(--el-tour-font-line-height)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{box-sizing:border-box;display:flex;justify-content:space-between;padding-top:var(--el-tour-padding-primary)}.el-tour__content .el-tour-indicators{display:inline-block;flex:1}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;display:inline-block;height:6px;margin-right:6px;width:6px}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{background:#fff;border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:rgba(255,255,255,.15)}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);border-radius:4px;opacity:0;position:absolute;z-index:0}.el-anchor.el-anchor--vertical .el-anchor__marker{height:14px;left:0;top:8px;transition:top .25s ease-in-out,opacity .25s;width:4px}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{background-color:rgba(5,5,5,.06);content:"";height:100%;left:0;position:absolute;width:2px}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{bottom:0;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;width:20px}.el-anchor.el-anchor--horizontal .el-anchor__list{display:flex;padding-bottom:4px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{background-color:rgba(5,5,5,.06);bottom:0;content:"";height:2px;position:absolute;width:100%}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{display:flex;flex-direction:column;overflow:hidden}.el-anchor__link{cursor:pointer;font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);max-width:100%;outline:none;overflow:hidden;padding:4px 0;text-decoration:none;text-overflow:ellipsis;transition:color var(--el-transition-duration);white-space:nowrap}.el-anchor__link,.el-anchor__link:focus,.el-anchor__link:hover{color:var(--el-anchor-color)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);align-items:stretch;background:var(--el-segmented-bg-color);border-radius:var(--el-border-radius-base);box-sizing:border-box;color:var(--el-segmented-color);display:inline-flex;font-size:14px;min-height:32px;padding:var(--el-segmented-padding)}.el-segmented__group{align-items:stretch;display:flex;position:relative;width:100%}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:all .3s;width:10px}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{border-radius:inherit;bottom:0;content:"";left:0;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute;right:0;top:0}.el-segmented__item{align-items:center;border-radius:calc(var(--el-border-radius-base) - 2px);cursor:pointer;display:flex;flex:1;padding:0 11px}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{background:var(--el-segmented-item-hover-bg-color);color:var(--el-segmented-item-hover-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{color:var(--el-segmented-item-disabled-color);cursor:not-allowed}.el-segmented__item-input{height:0;margin:0;opacity:0;pointer-events:none;position:absolute;width:0}.el-segmented__item-label{flex:1;line-height:normal;overflow:hidden;text-align:center;text-overflow:ellipsis;transition:color .3s;white-space:nowrap;z-index:1}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);font-size:16px;min-height:40px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:14px;min-height:24px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 3px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 3px);padding:0 7px}.el-mention{position:relative;width:100%}.el-mention__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-mention__popper.el-popper,.el-mention__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-mention__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-mention-dropdown{--el-mention-font-size:var(--el-font-size-base);--el-mention-bg-color:var(--el-bg-color-overlay);--el-mention-shadow:var(--el-box-shadow-light);--el-mention-border:1px solid var(--el-border-color-light);--el-mention-option-color:var(--el-text-color-regular);--el-mention-option-height:34px;--el-mention-option-min-width:100px;--el-mention-option-hover-background:var(--el-fill-color-light);--el-mention-option-selected-color:var(--el-color-primary);--el-mention-option-disabled-color:var(--el-text-color-placeholder);--el-mention-option-loading-color:var(--el-text-color-secondary);--el-mention-option-loading-padding:10px 0;--el-mention-max-height:174px;--el-mention-padding:6px 0;--el-mention-header-padding:10px;--el-mention-footer-padding:10px}.el-mention-dropdown__item{box-sizing:border-box;color:var(--el-mention-option-color);cursor:pointer;font-size:var(--el-mention-font-size);height:var(--el-mention-option-height);line-height:var(--el-mention-option-height);min-width:var(--el-mention-option-min-width);overflow:hidden;padding:0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-mention-dropdown__item.is-hovering{background-color:var(--el-mention-option-hover-background)}.el-mention-dropdown__item.is-selected{color:var(--el-mention-option-selected-color);font-weight:bold}.el-mention-dropdown__item.is-disabled{background-color:unset;color:var(--el-mention-option-disabled-color);cursor:not-allowed}.el-mention-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-mention-dropdown__loading{color:var(--el-mention-option-loading-color);font-size:12px;margin:0;min-width:var(--el-mention-option-min-width);padding:10px 0;text-align:center}.el-mention-dropdown__wrap{max-height:var(--el-mention-max-height)}.el-mention-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:var(--el-mention-padding)}.el-mention-dropdown__header{border-bottom:var(--el-mention-border);padding:var(--el-mention-header-padding)}.el-mention-dropdown__footer{border-top:var(--el-mention-border);padding:var(--el-mention-footer-padding)}.el-splitter{display:flex;height:100%;margin:0;padding:0;position:relative;width:100%}.el-splitter__mask{bottom:0;left:0;position:absolute;right:0;top:0;z-index:999}.el-splitter__mask-horizontal{cursor:col-resize}.el-splitter__mask-vertical{cursor:row-resize}.el-splitter__horizontal{flex-direction:row}.el-splitter__vertical{flex-direction:column}.el-splitter-bar{flex:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-splitter-bar__disable{cursor:auto!important}.el-splitter-bar__disable:before{background-color:var(--el-border-color-light)!important}.el-splitter-bar__dragger{background:transparent;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.el-splitter-bar__dragger:after,.el-splitter-bar__dragger:before{background-color:var(--el-border-color-light);content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:not(.is-lazy):after{display:none}.el-splitter-bar__dragger:after{opacity:.4}.el-splitter-bar__dragger:hover:before{background-color:var(--el-color-primary-light-5)}.el-splitter-bar__dragger-horizontal:after,.el-splitter-bar__dragger-horizontal:before{height:100%;width:2px}.el-splitter-bar__dragger-vertical:after,.el-splitter-bar__dragger-vertical:before{height:2px;width:100%}.el-splitter-bar__dragger-active:after,.el-splitter-bar__dragger-active:before{background-color:var(--el-color-primary-light-3)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-horizontal:after{transform:translate(calc(-50% + var(--el-splitter-bar-offset)),-50%)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-vertical:after{transform:translate(-50%,calc(-50% + var(--el-splitter-bar-offset)))}.el-splitter-bar:hover .el-splitter-bar__collapse-icon{opacity:1}.el-splitter-bar__collapse-icon{align-items:center;background:var(--el-border-color-light);border-radius:2px;cursor:pointer;display:flex;justify-content:center;opacity:0;position:absolute;z-index:9}.el-splitter-bar__collapse-icon:hover{background-color:var(--el-color-primary-light-5);opacity:1}.el-splitter-bar__horizontal-collapse-icon-start{height:24px;left:-12px;top:50%;transform:translate(-50%,-50%);width:16px}.el-splitter-bar__horizontal-collapse-icon-end{height:24px;left:12px;top:50%;transform:translate(-50%,-50%);width:16px}.el-splitter-bar__vertical-collapse-icon-start{height:16px;right:50%;top:-12px;transform:translate(50%,-50%);width:24px}.el-splitter-bar__vertical-collapse-icon-end{height:16px;right:50%;top:12px;transform:translate(50%,-50%);width:24px}.el-splitter-panel{box-sizing:border-box;flex-grow:0;overflow:auto;scrollbar-width:thin}',commonConfig=createForm([{name:"id",type:"hidden"},{name:"type",type:"hidden"},{name:"name",text:"表单key",extra:"字段名"},{name:"text",text:"标签文本",extra:"label 标签的文本"},{name:"labelWidth",text:"标签宽度",extra:'表单域标签的的宽度,例如 "50px"。支持 auto。'},{name:"disabled",text:"是否禁用",type:"switch",defaultValue:!1}]),useFormConfig=e=>{const{contentWindow:t}=e.stage.renderer,i=ref$1(),o=ref$1(),n=ref$1({}),r=ref$1(),s=ref$1(),a=computed$1(()=>o.value?.items?.find(e=>e.id===r.value)||o.value?.items?.[0]),l=computed$1(()=>e.fillConfig(a.value?.items||[],i));let c=new App$1({ua:t?.navigator.userAgent,disabledFlexible:!0,platform:"editor"});c.mForm=i;const d=()=>{initValue(i.value?.formState,{initValues:{},config:l.value}).then(e=>{n.value=e})},u=({data:e})=>{e.tmagicRuntimeReady&&t?.magic?.onRuntimeReady({getApp:()=>c,updateRootConfig(e){o.value=e,c?.setConfig(e,r.value)},updatePageId(e){r.value=e,c?.setPage(e)},select(e){s.value=e,c?.getPage(e)&&this.updatePageId?.(e);const t=getElById()(document,`${e}`);return t||nextTick().then(()=>getElById()(document,`${e}`))},add({config:e,parentId:t}){if(!o.value)throw new Error("error");if(!s.value)throw new Error("error");if(!t)throw new Error("error");const i=getNodePath(t,[o.value]).pop();if(!i)throw new Error("未找到父节点");if("page"!==e.type){const t=c?.page?.getNode(i.id);t&&c?.page?.initNode(e,t)}if(i.id!==s.value){const t=i.items?.findIndex(e=>e.id===s.value);i.items?.splice(t+1,0,e)}else i.items?.push(e);d()},update({config:e,parentId:t}){if(!o.value||!c)throw new Error("error");const i=c.dataSourceManager?.compiledNode(e)||e;replaceChildNode(reactive$1(i),[o.value],t);const n=c.page?.getNode(e.id);n&&n.setData(e),d()},remove({id:e,parentId:t}){if(!o.value)throw new Error("error");const i=getNodePath(e,[o.value]).pop();if(!i)throw new Error("未找到目标元素");const n=getNodePath(t,[o.value]).pop();if(!n)throw new Error("未找到父元素");"page"===i.type?c?.deletePage():c?.page?.deleteNode(i.id);const r=n.items?.findIndex(e=>e.id===i.id);n.items.splice(r,1),d()}})};return t?.addEventListener("message",u),onBeforeUnmount(()=>{c?.destroy(),c=void 0,t?.removeEventListener("message",u)}),{mForm:i,config:a,formConfig:l,values:n}},_sfc_main$2=defineComponent({__name:"App",props:{stage:{},fillConfig:{type:Function}},setup(e){const t=e,{mForm:i,formConfig:o,config:n,values:r}=useFormConfig(t);return watch(o,async()=>{setTimeout(()=>{const e=t.stage.renderer?.getDocument()?.querySelector(".m-form");e&&t.stage.renderer?.contentWindow?.magic.onPageElUpdate(e)})}),(e,t)=>(openBlock(),createBlock(unref(_sfc_main$d$2),{ref_key:"mForm",ref:i,key:unref(n)?.id,"data-tmagic-id":unref(n)?.id,config:unref(o),"init-values":unref(r)},null,8,["data-tmagic-id","config","init-values"]))}}),checkbox=createForm([{name:"activeValue",text:"选中时的值",defaultValue:!0},{name:"inactiveValue",text:"没有选中时的值",defaultValue:!1}]),display=createForm([]),number=createForm([{type:"number",name:"min",text:"最小值"},{type:"number",name:"max",text:"最大值"},{type:"number",name:"step",text:"步数"},{name:"placeholder",text:"placeholder"}]),switchConfig=createForm([]),text=createForm([{name:"placeholder",text:"placeholder"},{name:"append",legend:"后置按钮",type:"fieldset",labelWidth:"80px",checkbox:!0,expand:!0,items:[{name:"type",type:"hidden",defaultValue:"button"},{name:"text",text:"按钮文案"},{name:"handler",type:"vs-code",height:"400px",text:"点击"}]}]),configs={text:text,checkbox:checkbox,display:display,number:number,switch:switchConfig},COMPONENT_GROUP_LIST=[{title:"容器",items:[{text:"普通容器",type:"container",data:{items:[]}},{text:"表格",type:"table",data:{items:[]}},{text:"组列表",type:"group-list",data:{items:[]}},{text:"面板",type:"panel",data:{items:[]}},{text:"行",type:"row",data:{items:[]}}]},{title:"表单组件",items:[{text:"输入框",type:"text",data:{text:"输入框",name:"text"}},{text:"数字输入框",type:"number",data:{text:"数字输入框",name:"number"}},{text:"文本域",type:"textarea",data:{text:"文本域",name:"textarea"}},{text:"链接",type:"link",data:{text:"链接",name:"link"}},{text:"日期",type:"datetime",data:{text:"日期",name:"datetime"}},{text:"时间",type:"time",data:{text:"时间",name:"time"}},{text:"选中器",type:"select",data:{text:"选中器",name:"select"}},{text:"级联选择器",type:"cascader",data:{text:"级联选择器",name:"cascader"}},{text:"开关",type:"switch",data:{text:"开关",name:"switch"}},{text:"多选框",type:"checkbox",data:{text:"多选框",name:"checkbox"}},{text:"多选组",type:"checkboxGroup",data:{text:"多选组",name:"checkboxGroup"}},{text:"单选框",type:"radio",data:{text:"单选框",name:"radio"}},{text:"单选组",type:"radioGroup",data:{text:"单选组",name:"radioGroup"}},{text:"取色器",type:"colorPicker",data:{text:"取色器",name:"colorPicker"}}]}],propsConfigs=configs,useRuntime=({plugins:e=[],fillConfig:t=e=>e}={})=>(propsService.usePlugin({afterFillConfig:async(e,t,i="80px")=>[{type:"tab",items:[{title:"属性",labelWidth:i,items:[...commonConfig,...t]}]}]}),editorService.usePlugin({afterGetLayout:async()=>Layout.RELATIVE}),onBeforeUnmount(()=>{propsService.removeAllPlugins(),editorService.removeAllPlugins()}),{render:i=>{const o=i.renderer?.getDocument();o&&(injectStyle$1(o,cssStyle),injectStyle$1(o,"html,\n body,\n #app {\n width: 100%;\n height: 100%;\n margin: 0;\n }\n ::-webkit-scrollbar {\n width: 0;\n }\n "));const n=globalThis.document.createElement("div");n.id="app",n.style.overflow="auto";const r=createApp(_sfc_main$2,{stage:i,fillConfig:t});return r.use(index$2),e.forEach(e=>r.use(e)),r.mount(n),setTimeout(()=>{uiService.set("showRule",!1)}),n}}),_sfc_main$1=defineComponent({__name:"FormEditor",setup(e){formDsl.forEach(e=>{traverseNode(e,e=>{e.type=e.type||(e.items?"container":"text"),e.id=`${e.type}_${guid()}`,e.style={left:0,top:0,position:"relative"}})});const t=ref$1({type:NodeType.ROOT,id:"app_form",items:[]}),{render:i}=useRuntime(),o=useRouter(),n={left:[{type:"text",text:"魔方"}],center:["delete","undo","redo","zoom"],right:[{type:"button",text:"Editor Playground",handler:()=>o.push("/")},{type:"button",text:"Form Playground",handler:()=>o.push("form")},{type:"button",text:"Table Playground",handler:()=>o.push("table")},"/",{type:"button",icon:document_default,tooltip:"源码",handler:e=>e?.uiService.set("showSrc",!e?.uiService.get("showSrc"))}]},r={type:"tabs",status:"组件",items:["component-list","layer"]};return(e,o)=>(openBlock(),createBlock(unref(_sfc_main$1J),{modelValue:t.value,"onUpdate:modelValue":o[0]||(o[0]=e=>t.value=e),menu:n,sidebar:r,"component-group-list":unref(COMPONENT_GROUP_LIST),"props-configs":unref(propsConfigs),render:unref(i),"disabled-page-fragment":!0,"disabled-stage-overlay":!0,"stage-rect":{width:"calc(100% - 70px)",height:"100%"},"moveable-options":{resizable:!1}},{"layer-node-label":withCtx(({data:e})=>[createTextVNode(toDisplayString(e.text||e.name||"container"),1)]),_:1},8,["modelValue","component-group-list","props-configs","render"]))}}),_hoisted_1={style:{width:"100%"}},_hoisted_2={class:"table-content"},_sfc_main=defineComponent({__name:"Table",setup(__props){const router=useRouter(),columns=ref$1([{type:"expand",prop:"b",table:[{prop:"a",label:"1"}]},{prop:"a",label:"1231"}]),data=ref$1([{a:"a1",b:[{a:1}]}]),menu=[{type:"button",text:"Editor Playground",handler:()=>router.push("/")},{type:"button",text:"Form Editor Playground",handler:()=>router.push("form-editor")},{type:"button",text:"Form Playground",handler:()=>router.push("form")}];function change(value){try{columns.value=eval(value),tMagicMessage.success("更新成功")}catch(e){tMagicMessage.error(e.message)}}function changeData(value){try{data.value=eval(value),tMagicMessage.success("更新成功")}catch(e){tMagicMessage.error(e.message)}}return(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1,[createVNode(NavMenu,{data:menu}),createBaseVNode("div",_hoisted_2,[createVNode(unref(_sfc_main$1K),{class:"left-panel",columns:columns.value,data:data.value,"show-header":!0},null,8,["columns","data"]),createVNode(unref(_sfc_main$5$4),{class:"right-panel",modelValue:"columns"},{default:withCtx(()=>[createVNode(unref(_sfc_main$6$3),{label:"columns",name:"columns"},{default:withCtx(()=>[createVNode(unref(_sfc_main$1q$1),{class:"code-editor-content","init-values":columns.value,onSave:change},null,8,["init-values"])]),_:1}),createVNode(unref(_sfc_main$6$3),{label:"data",name:"data"},{default:withCtx(()=>[createVNode(unref(_sfc_main$1q$1),{class:"code-editor-content","init-values":data.value,onSave:changeData},null,8,["init-values"])]),_:1})]),_:1})])]))}}),routes=[{path:"/",component:_sfc_main$5},{path:"/form",component:_sfc_main$3},{path:"/form-editor",component:_sfc_main$1},{path:"/table",component:_sfc_main}],router=createRouter({history:createWebHashHistory(),routes:routes});globalThis.MonacoEnvironment={getWorker:(e,t)=>"json"===t?new WorkerWrapper$2:"css"===t||"scss"===t||"less"===t?new WorkerWrapper$4:"html"===t||"handlebars"===t||"razor"===t?new WorkerWrapper$3:"typescript"===t||"javascript"===t?new WorkerWrapper$1:new WorkerWrapper$5},languages.typescript.typescriptDefaults.setEagerModelSync(!0);const app=createApp(App);app.use(router),app.use(index,adapter),app.mount("#app")}}})})(); //# sourceMappingURL=index-legacy-dO0QHObJ.js.map