var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); import { bG as BaseStyle, bH as script$2, bZ as ZIndex, bU as addClass, bL as focus, cy as blockBodyScroll, cA as unblockBodyScroll, cB as FocusTrap, l as script$3, ca as script$4, cl as script$5, bR as resolveComponent, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, f as createElementBlock, at as mergeProps, k as createVNode, bI as Transition, i as withDirectives, A as renderSlot, F as Fragment, m as createBaseVNode, aj as normalizeClass, E as toDisplayString, B as createCommentVNode, C as resolveDynamicComponent, dd as commonjsGlobal, de as getDefaultExportFromCjs, H as markRaw, df as xtermExports, p as onMounted, d8 as onUnmounted, d as defineComponent, bw as mergeModels, bq as useModel, bp as BaseTerminal, j as unref, b9 as electronAPI } from "./index-DqXp9vW4.js"; var theme = /* @__PURE__ */ __name(function theme2(_ref) { var dt = _ref.dt; return "\n.p-drawer {\n display: flex;\n flex-direction: column;\n transform: translate3d(0px, 0px, 0px);\n position: relative;\n transition: transform 0.3s;\n background: ".concat(dt("drawer.background"), ";\n color: ").concat(dt("drawer.color"), ";\n border: 1px solid ").concat(dt("drawer.border.color"), ";\n box-shadow: ").concat(dt("drawer.shadow"), ";\n}\n\n.p-drawer-content {\n overflow-y: auto;\n flex-grow: 1;\n padding: ").concat(dt("drawer.content.padding"), ";\n}\n\n.p-drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n padding: ").concat(dt("drawer.header.padding"), ";\n}\n\n.p-drawer-footer {\n padding: ").concat(dt("drawer.footer.padding"), ";\n}\n\n.p-drawer-title {\n font-weight: ").concat(dt("drawer.title.font.weight"), ";\n font-size: ").concat(dt("drawer.title.font.size"), ";\n}\n\n.p-drawer-full .p-drawer {\n transition: none;\n transform: none;\n width: 100vw !important;\n height: 100vh !important;\n max-height: 100%;\n top: 0px !important;\n left: 0px !important;\n border-width: 1px;\n}\n\n.p-drawer-left .p-drawer-enter-from,\n.p-drawer-left .p-drawer-leave-to {\n transform: translateX(-100%);\n}\n\n.p-drawer-right .p-drawer-enter-from,\n.p-drawer-right .p-drawer-leave-to {\n transform: translateX(100%);\n}\n\n.p-drawer-top .p-drawer-enter-from,\n.p-drawer-top .p-drawer-leave-to {\n transform: translateY(-100%);\n}\n\n.p-drawer-bottom .p-drawer-enter-from,\n.p-drawer-bottom .p-drawer-leave-to {\n transform: translateY(100%);\n}\n\n.p-drawer-full .p-drawer-enter-from,\n.p-drawer-full .p-drawer-leave-to {\n opacity: 0;\n}\n\n.p-drawer-full .p-drawer-enter-active,\n.p-drawer-full .p-drawer-leave-active {\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n\n.p-drawer-left .p-drawer {\n width: 20rem;\n height: 100%;\n border-inline-end-width: 1px;\n}\n\n.p-drawer-right .p-drawer {\n width: 20rem;\n height: 100%;\n border-inline-start-width: 1px;\n}\n\n.p-drawer-top .p-drawer {\n height: 10rem;\n width: 100%;\n border-block-end-width: 1px;\n}\n\n.p-drawer-bottom .p-drawer {\n height: 10rem;\n width: 100%;\n border-block-start-width: 1px;\n}\n\n.p-drawer-left .p-drawer-content,\n.p-drawer-right .p-drawer-content,\n.p-drawer-top .p-drawer-content,\n.p-drawer-bottom .p-drawer-content {\n width: 100%;\n height: 100%;\n}\n\n.p-drawer-open {\n display: flex;\n}\n\n.p-drawer-mask:dir(rtl) {\n flex-direction: row-reverse;\n}\n"); }, "theme"); var inlineStyles = { mask: /* @__PURE__ */ __name(function mask(_ref2) { var position = _ref2.position, modal = _ref2.modal; return { position: "fixed", height: "100%", width: "100%", left: 0, top: 0, display: "flex", justifyContent: position === "left" ? "flex-start" : position === "right" ? "flex-end" : "center", alignItems: position === "top" ? "flex-start" : position === "bottom" ? "flex-end" : "center", pointerEvents: modal ? "auto" : "none" }; }, "mask"), root: { pointerEvents: "auto" } }; var classes = { mask: /* @__PURE__ */ __name(function mask2(_ref3) { var instance = _ref3.instance, props = _ref3.props; var positions = ["left", "right", "top", "bottom"]; var pos = positions.find(function(item) { return item === props.position; }); return ["p-drawer-mask", { "p-overlay-mask p-overlay-mask-enter": props.modal, "p-drawer-open": instance.containerVisible, "p-drawer-full": instance.fullScreen }, pos ? "p-drawer-".concat(pos) : ""]; }, "mask"), root: /* @__PURE__ */ __name(function root(_ref4) { var instance = _ref4.instance; return ["p-drawer p-component", { "p-drawer-full": instance.fullScreen }]; }, "root"), header: "p-drawer-header", title: "p-drawer-title", pcCloseButton: "p-drawer-close-button", content: "p-drawer-content", footer: "p-drawer-footer" }; var DrawerStyle = BaseStyle.extend({ name: "drawer", theme, classes, inlineStyles }); var script$1 = { name: "BaseDrawer", "extends": script$2, props: { visible: { type: Boolean, "default": false }, position: { type: String, "default": "left" }, header: { type: null, "default": null }, baseZIndex: { type: Number, "default": 0 }, autoZIndex: { type: Boolean, "default": true }, dismissable: { type: Boolean, "default": true }, showCloseIcon: { type: Boolean, "default": true }, closeButtonProps: { type: Object, "default": /* @__PURE__ */ __name(function _default() { return { severity: "secondary", text: true, rounded: true }; }, "_default") }, closeIcon: { type: String, "default": void 0 }, modal: { type: Boolean, "default": true }, blockScroll: { type: Boolean, "default": false } }, style: DrawerStyle, provide: /* @__PURE__ */ __name(function provide() { return { $pcDrawer: this, $parentInstance: this }; }, "provide") }; var script = { name: "Drawer", "extends": script$1, inheritAttrs: false, emits: ["update:visible", "show", "after-show", "hide", "after-hide"], data: /* @__PURE__ */ __name(function data() { return { containerVisible: this.visible }; }, "data"), container: null, mask: null, content: null, headerContainer: null, footerContainer: null, closeButton: null, outsideClickListener: null, documentKeydownListener: null, watch: { dismissable: /* @__PURE__ */ __name(function dismissable(newValue) { if (newValue) { this.enableDocumentSettings(); } else { this.disableDocumentSettings(); } }, "dismissable") }, updated: /* @__PURE__ */ __name(function updated() { if (this.visible) { this.containerVisible = this.visible; } }, "updated"), beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { this.disableDocumentSettings(); if (this.mask && this.autoZIndex) { ZIndex.clear(this.mask); } this.container = null; this.mask = null; }, "beforeUnmount"), methods: { hide: /* @__PURE__ */ __name(function hide() { this.$emit("update:visible", false); }, "hide"), onEnter: /* @__PURE__ */ __name(function onEnter() { this.$emit("show"); this.focus(); this.bindDocumentKeyDownListener(); if (this.autoZIndex) { ZIndex.set("modal", this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal); } }, "onEnter"), onAfterEnter: /* @__PURE__ */ __name(function onAfterEnter() { this.enableDocumentSettings(); this.$emit("after-show"); }, "onAfterEnter"), onBeforeLeave: /* @__PURE__ */ __name(function onBeforeLeave() { if (this.modal) { !this.isUnstyled && addClass(this.mask, "p-overlay-mask-leave"); } }, "onBeforeLeave"), onLeave: /* @__PURE__ */ __name(function onLeave() { this.$emit("hide"); }, "onLeave"), onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave() { if (this.autoZIndex) { ZIndex.clear(this.mask); } this.unbindDocumentKeyDownListener(); this.containerVisible = false; this.disableDocumentSettings(); this.$emit("after-hide"); }, "onAfterLeave"), onMaskClick: /* @__PURE__ */ __name(function onMaskClick(event) { if (this.dismissable && this.modal && this.mask === event.target) { this.hide(); } }, "onMaskClick"), focus: /* @__PURE__ */ __name(function focus$1() { var findFocusableElement = /* @__PURE__ */ __name(function findFocusableElement2(container) { return container && container.querySelector("[autofocus]"); }, "findFocusableElement"); var focusTarget = this.$slots.header && findFocusableElement(this.headerContainer); if (!focusTarget) { focusTarget = this.$slots["default"] && findFocusableElement(this.container); if (!focusTarget) { focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer); if (!focusTarget) { focusTarget = this.closeButton; } } } focusTarget && focus(focusTarget); }, "focus$1"), enableDocumentSettings: /* @__PURE__ */ __name(function enableDocumentSettings() { if (this.dismissable && !this.modal) { this.bindOutsideClickListener(); } if (this.blockScroll) { blockBodyScroll(); } }, "enableDocumentSettings"), disableDocumentSettings: /* @__PURE__ */ __name(function disableDocumentSettings() { this.unbindOutsideClickListener(); if (this.blockScroll) { unblockBodyScroll(); } }, "disableDocumentSettings"), onKeydown: /* @__PURE__ */ __name(function onKeydown(event) { if (event.code === "Escape") { this.hide(); } }, "onKeydown"), containerRef: /* @__PURE__ */ __name(function containerRef(el) { this.container = el; }, "containerRef"), maskRef: /* @__PURE__ */ __name(function maskRef(el) { this.mask = el; }, "maskRef"), contentRef: /* @__PURE__ */ __name(function contentRef(el) { this.content = el; }, "contentRef"), headerContainerRef: /* @__PURE__ */ __name(function headerContainerRef(el) { this.headerContainer = el; }, "headerContainerRef"), footerContainerRef: /* @__PURE__ */ __name(function footerContainerRef(el) { this.footerContainer = el; }, "footerContainerRef"), closeButtonRef: /* @__PURE__ */ __name(function closeButtonRef(el) { this.closeButton = el ? el.$el : void 0; }, "closeButtonRef"), bindDocumentKeyDownListener: /* @__PURE__ */ __name(function bindDocumentKeyDownListener() { if (!this.documentKeydownListener) { this.documentKeydownListener = this.onKeydown; document.addEventListener("keydown", this.documentKeydownListener); } }, "bindDocumentKeyDownListener"), unbindDocumentKeyDownListener: /* @__PURE__ */ __name(function unbindDocumentKeyDownListener() { if (this.documentKeydownListener) { document.removeEventListener("keydown", this.documentKeydownListener); this.documentKeydownListener = null; } }, "unbindDocumentKeyDownListener"), bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener() { var _this = this; if (!this.outsideClickListener) { this.outsideClickListener = function(event) { if (_this.isOutsideClicked(event)) { _this.hide(); } }; document.addEventListener("click", this.outsideClickListener); } }, "bindOutsideClickListener"), unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener() { if (this.outsideClickListener) { document.removeEventListener("click", this.outsideClickListener); this.outsideClickListener = null; } }, "unbindOutsideClickListener"), isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked(event) { return this.container && !this.container.contains(event.target); }, "isOutsideClicked") }, computed: { fullScreen: /* @__PURE__ */ __name(function fullScreen() { return this.position === "full"; }, "fullScreen"), closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() { return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0; }, "closeAriaLabel") }, directives: { focustrap: FocusTrap }, components: { Button: script$3, Portal: script$4, TimesIcon: script$5 } }; var _hoisted_1 = ["aria-modal"]; function render(_ctx, _cache, $props, $setup, $data, $options) { var _component_Button = resolveComponent("Button"); var _component_Portal = resolveComponent("Portal"); var _directive_focustrap = resolveDirective("focustrap"); return openBlock(), createBlock(_component_Portal, null, { "default": withCtx(function() { return [$data.containerVisible ? (openBlock(), createElementBlock("div", mergeProps({ key: 0, ref: $options.maskRef, onMousedown: _cache[0] || (_cache[0] = function() { return $options.onMaskClick && $options.onMaskClick.apply($options, arguments); }), "class": _ctx.cx("mask"), style: _ctx.sx("mask", true, { position: _ctx.position, modal: _ctx.modal }) }, _ctx.ptm("mask")), [createVNode(Transition, mergeProps({ name: "p-drawer", onEnter: $options.onEnter, onAfterEnter: $options.onAfterEnter, onBeforeLeave: $options.onBeforeLeave, onLeave: $options.onLeave, onAfterLeave: $options.onAfterLeave, appear: "" }, _ctx.ptm("transition")), { "default": withCtx(function() { return [_ctx.visible ? withDirectives((openBlock(), createElementBlock("div", mergeProps({ key: 0, ref: $options.containerRef, "class": _ctx.cx("root"), style: _ctx.sx("root"), role: "complementary", "aria-modal": _ctx.modal }, _ctx.ptmi("root")), [_ctx.$slots.container ? renderSlot(_ctx.$slots, "container", { key: 0, closeCallback: $options.hide }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createBaseVNode("div", mergeProps({ ref: $options.headerContainerRef, "class": _ctx.cx("header") }, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header", { "class": normalizeClass(_ctx.cx("title")) }, function() { return [_ctx.header ? (openBlock(), createElementBlock("div", mergeProps({ key: 0, "class": _ctx.cx("title") }, _ctx.ptm("title")), toDisplayString(_ctx.header), 17)) : createCommentVNode("", true)]; }), _ctx.showCloseIcon ? (openBlock(), createBlock(_component_Button, mergeProps({ key: 0, ref: $options.closeButtonRef, type: "button", "class": _ctx.cx("pcCloseButton"), "aria-label": $options.closeAriaLabel, unstyled: _ctx.unstyled, onClick: $options.hide }, _ctx.closeButtonProps, { pt: _ctx.ptm("pcCloseButton"), "data-pc-group-section": "iconcontainer" }), { icon: withCtx(function(slotProps) { return [renderSlot(_ctx.$slots, "closeicon", {}, function() { return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.closeIcon ? "span" : "TimesIcon"), mergeProps({ "class": [_ctx.closeIcon, slotProps["class"]] }, _ctx.ptm("pcCloseButton")["icon"]), null, 16, ["class"]))]; })]; }), _: 3 }, 16, ["class", "aria-label", "unstyled", "onClick", "pt"])) : createCommentVNode("", true)], 16), createBaseVNode("div", mergeProps({ ref: $options.contentRef, "class": _ctx.cx("content") }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps({ key: 0, ref: $options.footerContainerRef, "class": _ctx.cx("footer") }, _ctx.ptm("footer")), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 64))], 16, _hoisted_1)), [[_directive_focustrap]]) : createCommentVNode("", true)]; }), _: 3 }, 16, ["onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"])], 16)) : createCommentVNode("", true)]; }), _: 3 }); } __name(render, "render"); script.render = render; var addonSerialize$2 = { exports: {} }; var addonSerialize = addonSerialize$2.exports; (function(module, exports) { !function(e, t) { true ? module.exports = t() : false ? (void 0)([], t) : true ? exports.SerializeAddon = t() : e.SerializeAddon = t(); }(commonjsGlobal, () => (() => { "use strict"; var e = { 930: (e2, t2, s2) => { Object.defineProperty(t2, "__esModule", { value: true }), t2.ColorContrastCache = void 0; const r2 = s2(485); t2.ColorContrastCache = class { constructor() { this._color = new r2.TwoKeyMap(), this._css = new r2.TwoKeyMap(); } setCss(e3, t3, s3) { this._css.set(e3, t3, s3); } getCss(e3, t3) { return this._css.get(e3, t3); } setColor(e3, t3, s3) { this._color.set(e3, t3, s3); } getColor(e3, t3) { return this._color.get(e3, t3); } clear() { this._color.clear(), this._css.clear(); } }; }, 997: function(e2, t2, s2) { var r2 = this && this.__decorate || function(e3, t3, s3, r3) { var o2, i2 = arguments.length, n2 = i2 < 3 ? t3 : null === r3 ? r3 = Object.getOwnPropertyDescriptor(t3, s3) : r3; if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) n2 = Reflect.decorate(e3, t3, s3, r3); else for (var l2 = e3.length - 1; l2 >= 0; l2--) (o2 = e3[l2]) && (n2 = (i2 < 3 ? o2(n2) : i2 > 3 ? o2(t3, s3, n2) : o2(t3, s3)) || n2); return i2 > 3 && n2 && Object.defineProperty(t3, s3, n2), n2; }, o = this && this.__param || function(e3, t3) { return function(s3, r3) { t3(s3, r3, e3); }; }; Object.defineProperty(t2, "__esModule", { value: true }), t2.ThemeService = t2.DEFAULT_ANSI_COLORS = void 0; const i = s2(930), n = s2(160), l = s2(345), a = s2(859), c = s2(97), h = n.css.toColor("#ffffff"), u = n.css.toColor("#000000"), _ = n.css.toColor("#ffffff"), d = n.css.toColor("#000000"), C = { css: "rgba(255, 255, 255, 0.3)", rgba: 4294967117 }; t2.DEFAULT_ANSI_COLORS = Object.freeze((() => { const e3 = [n.css.toColor("#2e3436"), n.css.toColor("#cc0000"), n.css.toColor("#4e9a06"), n.css.toColor("#c4a000"), n.css.toColor("#3465a4"), n.css.toColor("#75507b"), n.css.toColor("#06989a"), n.css.toColor("#d3d7cf"), n.css.toColor("#555753"), n.css.toColor("#ef2929"), n.css.toColor("#8ae234"), n.css.toColor("#fce94f"), n.css.toColor("#729fcf"), n.css.toColor("#ad7fa8"), n.css.toColor("#34e2e2"), n.css.toColor("#eeeeec")], t3 = [0, 95, 135, 175, 215, 255]; for (let s3 = 0; s3 < 216; s3++) { const r3 = t3[s3 / 36 % 6 | 0], o2 = t3[s3 / 6 % 6 | 0], i2 = t3[s3 % 6]; e3.push({ css: n.channels.toCss(r3, o2, i2), rgba: n.channels.toRgba(r3, o2, i2) }); } for (let t4 = 0; t4 < 24; t4++) { const s3 = 8 + 10 * t4; e3.push({ css: n.channels.toCss(s3, s3, s3), rgba: n.channels.toRgba(s3, s3, s3) }); } return e3; })()); let f = t2.ThemeService = class extends a.Disposable { get colors() { return this._colors; } constructor(e3) { super(), this._optionsService = e3, this._contrastCache = new i.ColorContrastCache(), this._halfContrastCache = new i.ColorContrastCache(), this._onChangeColors = this.register(new l.EventEmitter()), this.onChangeColors = this._onChangeColors.event, this._colors = { foreground: h, background: u, cursor: _, cursorAccent: d, selectionForeground: void 0, selectionBackgroundTransparent: C, selectionBackgroundOpaque: n.color.blend(u, C), selectionInactiveBackgroundTransparent: C, selectionInactiveBackgroundOpaque: n.color.blend(u, C), ansi: t2.DEFAULT_ANSI_COLORS.slice(), contrastCache: this._contrastCache, halfContrastCache: this._halfContrastCache }, this._updateRestoreColors(), this._setTheme(this._optionsService.rawOptions.theme), this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio", () => this._contrastCache.clear())), this.register(this._optionsService.onSpecificOptionChange("theme", () => this._setTheme(this._optionsService.rawOptions.theme))); } _setTheme(e3 = {}) { const s3 = this._colors; if (s3.foreground = g(e3.foreground, h), s3.background = g(e3.background, u), s3.cursor = g(e3.cursor, _), s3.cursorAccent = g(e3.cursorAccent, d), s3.selectionBackgroundTransparent = g(e3.selectionBackground, C), s3.selectionBackgroundOpaque = n.color.blend(s3.background, s3.selectionBackgroundTransparent), s3.selectionInactiveBackgroundTransparent = g(e3.selectionInactiveBackground, s3.selectionBackgroundTransparent), s3.selectionInactiveBackgroundOpaque = n.color.blend(s3.background, s3.selectionInactiveBackgroundTransparent), s3.selectionForeground = e3.selectionForeground ? g(e3.selectionForeground, n.NULL_COLOR) : void 0, s3.selectionForeground === n.NULL_COLOR && (s3.selectionForeground = void 0), n.color.isOpaque(s3.selectionBackgroundTransparent)) { const e4 = 0.3; s3.selectionBackgroundTransparent = n.color.opacity(s3.selectionBackgroundTransparent, e4); } if (n.color.isOpaque(s3.selectionInactiveBackgroundTransparent)) { const e4 = 0.3; s3.selectionInactiveBackgroundTransparent = n.color.opacity(s3.selectionInactiveBackgroundTransparent, e4); } if (s3.ansi = t2.DEFAULT_ANSI_COLORS.slice(), s3.ansi[0] = g(e3.black, t2.DEFAULT_ANSI_COLORS[0]), s3.ansi[1] = g(e3.red, t2.DEFAULT_ANSI_COLORS[1]), s3.ansi[2] = g(e3.green, t2.DEFAULT_ANSI_COLORS[2]), s3.ansi[3] = g(e3.yellow, t2.DEFAULT_ANSI_COLORS[3]), s3.ansi[4] = g(e3.blue, t2.DEFAULT_ANSI_COLORS[4]), s3.ansi[5] = g(e3.magenta, t2.DEFAULT_ANSI_COLORS[5]), s3.ansi[6] = g(e3.cyan, t2.DEFAULT_ANSI_COLORS[6]), s3.ansi[7] = g(e3.white, t2.DEFAULT_ANSI_COLORS[7]), s3.ansi[8] = g(e3.brightBlack, t2.DEFAULT_ANSI_COLORS[8]), s3.ansi[9] = g(e3.brightRed, t2.DEFAULT_ANSI_COLORS[9]), s3.ansi[10] = g(e3.brightGreen, t2.DEFAULT_ANSI_COLORS[10]), s3.ansi[11] = g(e3.brightYellow, t2.DEFAULT_ANSI_COLORS[11]), s3.ansi[12] = g(e3.brightBlue, t2.DEFAULT_ANSI_COLORS[12]), s3.ansi[13] = g(e3.brightMagenta, t2.DEFAULT_ANSI_COLORS[13]), s3.ansi[14] = g(e3.brightCyan, t2.DEFAULT_ANSI_COLORS[14]), s3.ansi[15] = g(e3.brightWhite, t2.DEFAULT_ANSI_COLORS[15]), e3.extendedAnsi) { const r3 = Math.min(s3.ansi.length - 16, e3.extendedAnsi.length); for (let o2 = 0; o2 < r3; o2++) s3.ansi[o2 + 16] = g(e3.extendedAnsi[o2], t2.DEFAULT_ANSI_COLORS[o2 + 16]); } this._contrastCache.clear(), this._halfContrastCache.clear(), this._updateRestoreColors(), this._onChangeColors.fire(this.colors); } restoreColor(e3) { this._restoreColor(e3), this._onChangeColors.fire(this.colors); } _restoreColor(e3) { if (void 0 !== e3) switch (e3) { case 256: this._colors.foreground = this._restoreColors.foreground; break; case 257: this._colors.background = this._restoreColors.background; break; case 258: this._colors.cursor = this._restoreColors.cursor; break; default: this._colors.ansi[e3] = this._restoreColors.ansi[e3]; } else for (let e4 = 0; e4 < this._restoreColors.ansi.length; ++e4) this._colors.ansi[e4] = this._restoreColors.ansi[e4]; } modifyColors(e3) { e3(this._colors), this._onChangeColors.fire(this.colors); } _updateRestoreColors() { this._restoreColors = { foreground: this._colors.foreground, background: this._colors.background, cursor: this._colors.cursor, ansi: this._colors.ansi.slice() }; } }; function g(e3, t3) { if (void 0 !== e3) try { return n.css.toColor(e3); } catch { } return t3; } __name(g, "g"); t2.ThemeService = f = r2([o(0, c.IOptionsService)], f); }, 160: (e2, t2) => { Object.defineProperty(t2, "__esModule", { value: true }), t2.contrastRatio = t2.toPaddedHex = t2.rgba = t2.rgb = t2.css = t2.color = t2.channels = t2.NULL_COLOR = void 0; let s2 = 0, r2 = 0, o = 0, i = 0; var n, l, a, c, h; function u(e3) { const t3 = e3.toString(16); return t3.length < 2 ? "0" + t3 : t3; } __name(u, "u"); function _(e3, t3) { return e3 < t3 ? (t3 + 0.05) / (e3 + 0.05) : (e3 + 0.05) / (t3 + 0.05); } __name(_, "_"); t2.NULL_COLOR = { css: "#00000000", rgba: 0 }, function(e3) { e3.toCss = function(e4, t3, s3, r3) { return void 0 !== r3 ? `#${u(e4)}${u(t3)}${u(s3)}${u(r3)}` : `#${u(e4)}${u(t3)}${u(s3)}`; }, e3.toRgba = function(e4, t3, s3, r3 = 255) { return (e4 << 24 | t3 << 16 | s3 << 8 | r3) >>> 0; }, e3.toColor = function(t3, s3, r3, o2) { return { css: e3.toCss(t3, s3, r3, o2), rgba: e3.toRgba(t3, s3, r3, o2) }; }; }(n || (t2.channels = n = {})), function(e3) { function t3(e4, t4) { return i = Math.round(255 * t4), [s2, r2, o] = h.toChannels(e4.rgba), { css: n.toCss(s2, r2, o, i), rgba: n.toRgba(s2, r2, o, i) }; } __name(t3, "t"); e3.blend = function(e4, t4) { if (i = (255 & t4.rgba) / 255, 1 === i) return { css: t4.css, rgba: t4.rgba }; const l2 = t4.rgba >> 24 & 255, a2 = t4.rgba >> 16 & 255, c2 = t4.rgba >> 8 & 255, h2 = e4.rgba >> 24 & 255, u2 = e4.rgba >> 16 & 255, _2 = e4.rgba >> 8 & 255; return s2 = h2 + Math.round((l2 - h2) * i), r2 = u2 + Math.round((a2 - u2) * i), o = _2 + Math.round((c2 - _2) * i), { css: n.toCss(s2, r2, o), rgba: n.toRgba(s2, r2, o) }; }, e3.isOpaque = function(e4) { return 255 == (255 & e4.rgba); }, e3.ensureContrastRatio = function(e4, t4, s3) { const r3 = h.ensureContrastRatio(e4.rgba, t4.rgba, s3); if (r3) return n.toColor(r3 >> 24 & 255, r3 >> 16 & 255, r3 >> 8 & 255); }, e3.opaque = function(e4) { const t4 = (255 | e4.rgba) >>> 0; return [s2, r2, o] = h.toChannels(t4), { css: n.toCss(s2, r2, o), rgba: t4 }; }, e3.opacity = t3, e3.multiplyOpacity = function(e4, s3) { return i = 255 & e4.rgba, t3(e4, i * s3 / 255); }, e3.toColorRGB = function(e4) { return [e4.rgba >> 24 & 255, e4.rgba >> 16 & 255, e4.rgba >> 8 & 255]; }; }(l || (t2.color = l = {})), function(e3) { let t3, l2; try { const e4 = document.createElement("canvas"); e4.width = 1, e4.height = 1; const s3 = e4.getContext("2d", { willReadFrequently: true }); s3 && (t3 = s3, t3.globalCompositeOperation = "copy", l2 = t3.createLinearGradient(0, 0, 1, 1)); } catch { } e3.toColor = function(e4) { if (e4.match(/#[\da-f]{3,8}/i)) switch (e4.length) { case 4: return s2 = parseInt(e4.slice(1, 2).repeat(2), 16), r2 = parseInt(e4.slice(2, 3).repeat(2), 16), o = parseInt(e4.slice(3, 4).repeat(2), 16), n.toColor(s2, r2, o); case 5: return s2 = parseInt(e4.slice(1, 2).repeat(2), 16), r2 = parseInt(e4.slice(2, 3).repeat(2), 16), o = parseInt(e4.slice(3, 4).repeat(2), 16), i = parseInt(e4.slice(4, 5).repeat(2), 16), n.toColor(s2, r2, o, i); case 7: return { css: e4, rgba: (parseInt(e4.slice(1), 16) << 8 | 255) >>> 0 }; case 9: return { css: e4, rgba: parseInt(e4.slice(1), 16) >>> 0 }; } const a2 = e4.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/); if (a2) return s2 = parseInt(a2[1]), r2 = parseInt(a2[2]), o = parseInt(a2[3]), i = Math.round(255 * (void 0 === a2[5] ? 1 : parseFloat(a2[5]))), n.toColor(s2, r2, o, i); if (!t3 || !l2) throw new Error("css.toColor: Unsupported css format"); if (t3.fillStyle = l2, t3.fillStyle = e4, "string" != typeof t3.fillStyle) throw new Error("css.toColor: Unsupported css format"); if (t3.fillRect(0, 0, 1, 1), [s2, r2, o, i] = t3.getImageData(0, 0, 1, 1).data, 255 !== i) throw new Error("css.toColor: Unsupported css format"); return { rgba: n.toRgba(s2, r2, o, i), css: e4 }; }; }(a || (t2.css = a = {})), function(e3) { function t3(e4, t4, s3) { const r3 = e4 / 255, o2 = t4 / 255, i2 = s3 / 255; return 0.2126 * (r3 <= 0.03928 ? r3 / 12.92 : Math.pow((r3 + 0.055) / 1.055, 2.4)) + 0.7152 * (o2 <= 0.03928 ? o2 / 12.92 : Math.pow((o2 + 0.055) / 1.055, 2.4)) + 0.0722 * (i2 <= 0.03928 ? i2 / 12.92 : Math.pow((i2 + 0.055) / 1.055, 2.4)); } __name(t3, "t"); e3.relativeLuminance = function(e4) { return t3(e4 >> 16 & 255, e4 >> 8 & 255, 255 & e4); }, e3.relativeLuminance2 = t3; }(c || (t2.rgb = c = {})), function(e3) { function t3(e4, t4, s3) { const r3 = e4 >> 24 & 255, o2 = e4 >> 16 & 255, i2 = e4 >> 8 & 255; let n2 = t4 >> 24 & 255, l3 = t4 >> 16 & 255, a2 = t4 >> 8 & 255, h2 = _(c.relativeLuminance2(n2, l3, a2), c.relativeLuminance2(r3, o2, i2)); for (; h2 < s3 && (n2 > 0 || l3 > 0 || a2 > 0); ) n2 -= Math.max(0, Math.ceil(0.1 * n2)), l3 -= Math.max(0, Math.ceil(0.1 * l3)), a2 -= Math.max(0, Math.ceil(0.1 * a2)), h2 = _(c.relativeLuminance2(n2, l3, a2), c.relativeLuminance2(r3, o2, i2)); return (n2 << 24 | l3 << 16 | a2 << 8 | 255) >>> 0; } __name(t3, "t"); function l2(e4, t4, s3) { const r3 = e4 >> 24 & 255, o2 = e4 >> 16 & 255, i2 = e4 >> 8 & 255; let n2 = t4 >> 24 & 255, l3 = t4 >> 16 & 255, a2 = t4 >> 8 & 255, h2 = _(c.relativeLuminance2(n2, l3, a2), c.relativeLuminance2(r3, o2, i2)); for (; h2 < s3 && (n2 < 255 || l3 < 255 || a2 < 255); ) n2 = Math.min(255, n2 + Math.ceil(0.1 * (255 - n2))), l3 = Math.min(255, l3 + Math.ceil(0.1 * (255 - l3))), a2 = Math.min(255, a2 + Math.ceil(0.1 * (255 - a2))), h2 = _(c.relativeLuminance2(n2, l3, a2), c.relativeLuminance2(r3, o2, i2)); return (n2 << 24 | l3 << 16 | a2 << 8 | 255) >>> 0; } __name(l2, "l"); e3.blend = function(e4, t4) { if (i = (255 & t4) / 255, 1 === i) return t4; const l3 = t4 >> 24 & 255, a2 = t4 >> 16 & 255, c2 = t4 >> 8 & 255, h2 = e4 >> 24 & 255, u2 = e4 >> 16 & 255, _2 = e4 >> 8 & 255; return s2 = h2 + Math.round((l3 - h2) * i), r2 = u2 + Math.round((a2 - u2) * i), o = _2 + Math.round((c2 - _2) * i), n.toRgba(s2, r2, o); }, e3.ensureContrastRatio = function(e4, s3, r3) { const o2 = c.relativeLuminance(e4 >> 8), i2 = c.relativeLuminance(s3 >> 8); if (_(o2, i2) < r3) { if (i2 < o2) { const i3 = t3(e4, s3, r3), n3 = _(o2, c.relativeLuminance(i3 >> 8)); if (n3 < r3) { const t4 = l2(e4, s3, r3); return n3 > _(o2, c.relativeLuminance(t4 >> 8)) ? i3 : t4; } return i3; } const n2 = l2(e4, s3, r3), a2 = _(o2, c.relativeLuminance(n2 >> 8)); if (a2 < r3) { const i3 = t3(e4, s3, r3); return a2 > _(o2, c.relativeLuminance(i3 >> 8)) ? n2 : i3; } return n2; } }, e3.reduceLuminance = t3, e3.increaseLuminance = l2, e3.toChannels = function(e4) { return [e4 >> 24 & 255, e4 >> 16 & 255, e4 >> 8 & 255, 255 & e4]; }; }(h || (t2.rgba = h = {})), t2.toPaddedHex = u, t2.contrastRatio = _; }, 345: (e2, t2) => { Object.defineProperty(t2, "__esModule", { value: true }), t2.runAndSubscribe = t2.forwardEvent = t2.EventEmitter = void 0, t2.EventEmitter = class { constructor() { this._listeners = [], this._disposed = false; } get event() { return this._event || (this._event = (e3) => (this._listeners.push(e3), { dispose: /* @__PURE__ */ __name(() => { if (!this._disposed) { for (let t3 = 0; t3 < this._listeners.length; t3++) if (this._listeners[t3] === e3) return void this._listeners.splice(t3, 1); } }, "dispose") })), this._event; } fire(e3, t3) { const s2 = []; for (let e4 = 0; e4 < this._listeners.length; e4++) s2.push(this._listeners[e4]); for (let r2 = 0; r2 < s2.length; r2++) s2[r2].call(void 0, e3, t3); } dispose() { this.clearListeners(), this._disposed = true; } clearListeners() { this._listeners && (this._listeners.length = 0); } }, t2.forwardEvent = function(e3, t3) { return e3((e4) => t3.fire(e4)); }, t2.runAndSubscribe = function(e3, t3) { return t3(void 0), e3((e4) => t3(e4)); }; }, 859: (e2, t2) => { function s2(e3) { for (const t3 of e3) t3.dispose(); e3.length = 0; } __name(s2, "s"); Object.defineProperty(t2, "__esModule", { value: true }), t2.getDisposeArrayDisposable = t2.disposeArray = t2.toDisposable = t2.MutableDisposable = t2.Disposable = void 0, t2.Disposable = class { constructor() { this._disposables = [], this._isDisposed = false; } dispose() { this._isDisposed = true; for (const e3 of this._disposables) e3.dispose(); this._disposables.length = 0; } register(e3) { return this._disposables.push(e3), e3; } unregister(e3) { const t3 = this._disposables.indexOf(e3); -1 !== t3 && this._disposables.splice(t3, 1); } }, t2.MutableDisposable = class { constructor() { this._isDisposed = false; } get value() { return this._isDisposed ? void 0 : this._value; } set value(e3) { this._isDisposed || e3 === this._value || (this._value?.dispose(), this._value = e3); } clear() { this.value = void 0; } dispose() { this._isDisposed = true, this._value?.dispose(), this._value = void 0; } }, t2.toDisposable = function(e3) { return { dispose: e3 }; }, t2.disposeArray = s2, t2.getDisposeArrayDisposable = function(e3) { return { dispose: /* @__PURE__ */ __name(() => s2(e3), "dispose") }; }; }, 485: (e2, t2) => { Object.defineProperty(t2, "__esModule", { value: true }), t2.FourKeyMap = t2.TwoKeyMap = void 0; class s2 { static { __name(this, "s"); } constructor() { this._data = {}; } set(e3, t3, s3) { this._data[e3] || (this._data[e3] = {}), this._data[e3][t3] = s3; } get(e3, t3) { return this._data[e3] ? this._data[e3][t3] : void 0; } clear() { this._data = {}; } } t2.TwoKeyMap = s2, t2.FourKeyMap = class { constructor() { this._data = new s2(); } set(e3, t3, r2, o, i) { this._data.get(e3, t3) || this._data.set(e3, t3, new s2()), this._data.get(e3, t3).set(r2, o, i); } get(e3, t3, s3, r2) { return this._data.get(e3, t3)?.get(s3, r2); } clear() { this._data.clear(); } }; }, 726: (e2, t2) => { Object.defineProperty(t2, "__esModule", { value: true }), t2.createDecorator = t2.getServiceDependencies = t2.serviceRegistry = void 0; const s2 = "di$target", r2 = "di$dependencies"; t2.serviceRegistry = /* @__PURE__ */ new Map(), t2.getServiceDependencies = function(e3) { return e3[r2] || []; }, t2.createDecorator = function(e3) { if (t2.serviceRegistry.has(e3)) return t2.serviceRegistry.get(e3); const o = /* @__PURE__ */ __name(function(e4, t3, i) { if (3 !== arguments.length) throw new Error("@IServiceName-decorator can only be used to decorate a parameter"); !function(e5, t4, o2) { t4[s2] === t4 ? t4[r2].push({ id: e5, index: o2 }) : (t4[r2] = [{ id: e5, index: o2 }], t4[s2] = t4); }(o, e4, i); }, "o"); return o.toString = () => e3, t2.serviceRegistry.set(e3, o), o; }; }, 97: (e2, t2, s2) => { Object.defineProperty(t2, "__esModule", { value: true }), t2.IDecorationService = t2.IUnicodeService = t2.IOscLinkService = t2.IOptionsService = t2.ILogService = t2.LogLevelEnum = t2.IInstantiationService = t2.ICharsetService = t2.ICoreService = t2.ICoreMouseService = t2.IBufferService = void 0; const r2 = s2(726); var o; t2.IBufferService = (0, r2.createDecorator)("BufferService"), t2.ICoreMouseService = (0, r2.createDecorator)("CoreMouseService"), t2.ICoreService = (0, r2.createDecorator)("CoreService"), t2.ICharsetService = (0, r2.createDecorator)("CharsetService"), t2.IInstantiationService = (0, r2.createDecorator)("InstantiationService"), function(e3) { e3[e3.TRACE = 0] = "TRACE", e3[e3.DEBUG = 1] = "DEBUG", e3[e3.INFO = 2] = "INFO", e3[e3.WARN = 3] = "WARN", e3[e3.ERROR = 4] = "ERROR", e3[e3.OFF = 5] = "OFF"; }(o || (t2.LogLevelEnum = o = {})), t2.ILogService = (0, r2.createDecorator)("LogService"), t2.IOptionsService = (0, r2.createDecorator)("OptionsService"), t2.IOscLinkService = (0, r2.createDecorator)("OscLinkService"), t2.IUnicodeService = (0, r2.createDecorator)("UnicodeService"), t2.IDecorationService = (0, r2.createDecorator)("DecorationService"); } }, t = {}; function s(r2) { var o = t[r2]; if (void 0 !== o) return o.exports; var i = t[r2] = { exports: {} }; return e[r2].call(i.exports, i, i.exports, s), i.exports; } __name(s, "s"); var r = {}; return (() => { var e2 = r; Object.defineProperty(e2, "__esModule", { value: true }), e2.HTMLSerializeHandler = e2.SerializeAddon = void 0; const t2 = s(997); function o(e3, t3, s2) { return Math.max(t3, Math.min(e3, s2)); } __name(o, "o"); class i { static { __name(this, "i"); } constructor(e3) { this._buffer = e3; } serialize(e3, t3) { const s2 = this._buffer.getNullCell(), r2 = this._buffer.getNullCell(); let o2 = s2; const i2 = e3.start.y, n2 = e3.end.y, l2 = e3.start.x, a2 = e3.end.x; this._beforeSerialize(n2 - i2, i2, n2); for (let t4 = i2; t4 <= n2; t4++) { const i3 = this._buffer.getLine(t4); if (i3) { const n3 = t4 === e3.start.y ? l2 : 0, c2 = t4 === e3.end.y ? a2 : i3.length; for (let e4 = n3; e4 < c2; e4++) { const n4 = i3.getCell(e4, o2 === s2 ? r2 : s2); n4 ? (this._nextCell(n4, o2, t4, e4), o2 = n4) : console.warn(`Can't get cell at row=${t4}, col=${e4}`); } } this._rowEnd(t4, t4 === n2); } return this._afterSerialize(), this._serializeString(t3); } _nextCell(e3, t3, s2, r2) { } _rowEnd(e3, t3) { } _beforeSerialize(e3, t3, s2) { } _afterSerialize() { } _serializeString(e3) { return ""; } } function n(e3, t3) { return e3.getFgColorMode() === t3.getFgColorMode() && e3.getFgColor() === t3.getFgColor(); } __name(n, "n"); function l(e3, t3) { return e3.getBgColorMode() === t3.getBgColorMode() && e3.getBgColor() === t3.getBgColor(); } __name(l, "l"); function a(e3, t3) { return e3.isInverse() === t3.isInverse() && e3.isBold() === t3.isBold() && e3.isUnderline() === t3.isUnderline() && e3.isOverline() === t3.isOverline() && e3.isBlink() === t3.isBlink() && e3.isInvisible() === t3.isInvisible() && e3.isItalic() === t3.isItalic() && e3.isDim() === t3.isDim() && e3.isStrikethrough() === t3.isStrikethrough(); } __name(a, "a"); class c extends i { static { __name(this, "c"); } constructor(e3, t3) { super(e3), this._terminal = t3, this._rowIndex = 0, this._allRows = new Array(), this._allRowSeparators = new Array(), this._currentRow = "", this._nullCellCount = 0, this._cursorStyle = this._buffer.getNullCell(), this._cursorStyleRow = 0, this._cursorStyleCol = 0, this._backgroundCell = this._buffer.getNullCell(), this._firstRow = 0, this._lastCursorRow = 0, this._lastCursorCol = 0, this._lastContentCursorRow = 0, this._lastContentCursorCol = 0, this._thisRowLastChar = this._buffer.getNullCell(), this._thisRowLastSecondChar = this._buffer.getNullCell(), this._nextRowFirstChar = this._buffer.getNullCell(); } _beforeSerialize(e3, t3, s2) { this._allRows = new Array(e3), this._lastContentCursorRow = t3, this._lastCursorRow = t3, this._firstRow = t3; } _rowEnd(e3, t3) { this._nullCellCount > 0 && !l(this._cursorStyle, this._backgroundCell) && (this._currentRow += `\x1B[${this._nullCellCount}X`); let s2 = ""; if (!t3) { e3 - this._firstRow >= this._terminal.rows && this._buffer.getLine(this._cursorStyleRow)?.getCell(this._cursorStyleCol, this._backgroundCell); const t4 = this._buffer.getLine(e3), r2 = this._buffer.getLine(e3 + 1); if (r2.isWrapped) { s2 = ""; const o2 = t4.getCell(t4.length - 1, this._thisRowLastChar), i2 = t4.getCell(t4.length - 2, this._thisRowLastSecondChar), n2 = r2.getCell(0, this._nextRowFirstChar), a2 = n2.getWidth() > 1; let c2 = false; (n2.getChars() && a2 ? this._nullCellCount <= 1 : this._nullCellCount <= 0) && ((o2.getChars() || 0 === o2.getWidth()) && l(o2, n2) && (c2 = true), a2 && (i2.getChars() || 0 === i2.getWidth()) && l(o2, n2) && l(i2, n2) && (c2 = true)), c2 || (s2 = "-".repeat(this._nullCellCount + 1), s2 += "\x1B[1D\x1B[1X", this._nullCellCount > 0 && (s2 += "\x1B[A", s2 += `\x1B[${t4.length - this._nullCellCount}C`, s2 += `\x1B[${this._nullCellCount}X`, s2 += `\x1B[${t4.length - this._nullCellCount}D`, s2 += "\x1B[B"), this._lastContentCursorRow = e3 + 1, this._lastContentCursorCol = 0, this._lastCursorRow = e3 + 1, this._lastCursorCol = 0); } else s2 = "\r\n", this._lastCursorRow = e3 + 1, this._lastCursorCol = 0; } this._allRows[this._rowIndex] = this._currentRow, this._allRowSeparators[this._rowIndex++] = s2, this._currentRow = "", this._nullCellCount = 0; } _diffStyle(e3, t3) { const s2 = [], r2 = !n(e3, t3), o2 = !l(e3, t3), i2 = !a(e3, t3); if (r2 || o2 || i2) if (e3.isAttributeDefault()) t3.isAttributeDefault() || s2.push(0); else { if (r2) { const t4 = e3.getFgColor(); e3.isFgRGB() ? s2.push(38, 2, t4 >>> 16 & 255, t4 >>> 8 & 255, 255 & t4) : e3.isFgPalette() ? t4 >= 16 ? s2.push(38, 5, t4) : s2.push(8 & t4 ? 90 + (7 & t4) : 30 + (7 & t4)) : s2.push(39); } if (o2) { const t4 = e3.getBgColor(); e3.isBgRGB() ? s2.push(48, 2, t4 >>> 16 & 255, t4 >>> 8 & 255, 255 & t4) : e3.isBgPalette() ? t4 >= 16 ? s2.push(48, 5, t4) : s2.push(8 & t4 ? 100 + (7 & t4) : 40 + (7 & t4)) : s2.push(49); } i2 && (e3.isInverse() !== t3.isInverse() && s2.push(e3.isInverse() ? 7 : 27), e3.isBold() !== t3.isBold() && s2.push(e3.isBold() ? 1 : 22), e3.isUnderline() !== t3.isUnderline() && s2.push(e3.isUnderline() ? 4 : 24), e3.isOverline() !== t3.isOverline() && s2.push(e3.isOverline() ? 53 : 55), e3.isBlink() !== t3.isBlink() && s2.push(e3.isBlink() ? 5 : 25), e3.isInvisible() !== t3.isInvisible() && s2.push(e3.isInvisible() ? 8 : 28), e3.isItalic() !== t3.isItalic() && s2.push(e3.isItalic() ? 3 : 23), e3.isDim() !== t3.isDim() && s2.push(e3.isDim() ? 2 : 22), e3.isStrikethrough() !== t3.isStrikethrough() && s2.push(e3.isStrikethrough() ? 9 : 29)); } return s2; } _nextCell(e3, t3, s2, r2) { if (0 === e3.getWidth()) return; const o2 = "" === e3.getChars(), i2 = this._diffStyle(e3, this._cursorStyle); if (o2 ? !l(this._cursorStyle, e3) : i2.length > 0) { this._nullCellCount > 0 && (l(this._cursorStyle, this._backgroundCell) || (this._currentRow += `\x1B[${this._nullCellCount}X`), this._currentRow += `\x1B[${this._nullCellCount}C`, this._nullCellCount = 0), this._lastContentCursorRow = this._lastCursorRow = s2, this._lastContentCursorCol = this._lastCursorCol = r2, this._currentRow += `\x1B[${i2.join(";")}m`; const e4 = this._buffer.getLine(s2); void 0 !== e4 && (e4.getCell(r2, this._cursorStyle), this._cursorStyleRow = s2, this._cursorStyleCol = r2); } o2 ? this._nullCellCount += e3.getWidth() : (this._nullCellCount > 0 && (l(this._cursorStyle, this._backgroundCell) || (this._currentRow += `\x1B[${this._nullCellCount}X`), this._currentRow += `\x1B[${this._nullCellCount}C`, this._nullCellCount = 0), this._currentRow += e3.getChars(), this._lastContentCursorRow = this._lastCursorRow = s2, this._lastContentCursorCol = this._lastCursorCol = r2 + e3.getWidth()); } _serializeString(e3) { let t3 = this._allRows.length; this._buffer.length - this._firstRow <= this._terminal.rows && (t3 = this._lastContentCursorRow + 1 - this._firstRow, this._lastCursorCol = this._lastContentCursorCol, this._lastCursorRow = this._lastContentCursorRow); let s2 = ""; for (let e4 = 0; e4 < t3; e4++) s2 += this._allRows[e4], e4 + 1 < t3 && (s2 += this._allRowSeparators[e4]); if (!e3) { const e4 = this._buffer.baseY + this._buffer.cursorY, t4 = this._buffer.cursorX, o3 = /* @__PURE__ */ __name((e5) => { e5 > 0 ? s2 += `\x1B[${e5}C` : e5 < 0 && (s2 += `\x1B[${-e5}D`); }, "o"); (e4 !== this._lastCursorRow || t4 !== this._lastCursorCol) && ((r2 = e4 - this._lastCursorRow) > 0 ? s2 += `\x1B[${r2}B` : r2 < 0 && (s2 += `\x1B[${-r2}A`), o3(t4 - this._lastCursorCol)); } var r2; const o2 = this._terminal._core._inputHandler._curAttrData, i2 = this._diffStyle(o2, this._cursorStyle); return i2.length > 0 && (s2 += `\x1B[${i2.join(";")}m`), s2; } } e2.SerializeAddon = class { activate(e3) { this._terminal = e3; } _serializeBufferByScrollback(e3, t3, s2) { const r2 = t3.length, i2 = void 0 === s2 ? r2 : o(s2 + e3.rows, 0, r2); return this._serializeBufferByRange(e3, t3, { start: r2 - i2, end: r2 - 1 }, false); } _serializeBufferByRange(e3, t3, s2, r2) { return new c(t3, e3).serialize({ start: { x: 0, y: "number" == typeof s2.start ? s2.start : s2.start.line }, end: { x: e3.cols, y: "number" == typeof s2.end ? s2.end : s2.end.line } }, r2); } _serializeBufferAsHTML(e3, t3) { const s2 = e3.buffer.active, r2 = new h(s2, e3, t3); if (!t3.onlySelection) { const i3 = s2.length, n2 = t3.scrollback, l2 = void 0 === n2 ? i3 : o(n2 + e3.rows, 0, i3); return r2.serialize({ start: { x: 0, y: i3 - l2 }, end: { x: e3.cols, y: i3 - 1 } }); } const i2 = this._terminal?.getSelectionPosition(); return void 0 !== i2 ? r2.serialize({ start: { x: i2.start.x, y: i2.start.y }, end: { x: i2.end.x, y: i2.end.y } }) : ""; } _serializeModes(e3) { let t3 = ""; const s2 = e3.modes; if (s2.applicationCursorKeysMode && (t3 += "\x1B[?1h"), s2.applicationKeypadMode && (t3 += "\x1B[?66h"), s2.bracketedPasteMode && (t3 += "\x1B[?2004h"), s2.insertMode && (t3 += "\x1B[4h"), s2.originMode && (t3 += "\x1B[?6h"), s2.reverseWraparoundMode && (t3 += "\x1B[?45h"), s2.sendFocusMode && (t3 += "\x1B[?1004h"), false === s2.wraparoundMode && (t3 += "\x1B[?7l"), "none" !== s2.mouseTrackingMode) switch (s2.mouseTrackingMode) { case "x10": t3 += "\x1B[?9h"; break; case "vt200": t3 += "\x1B[?1000h"; break; case "drag": t3 += "\x1B[?1002h"; break; case "any": t3 += "\x1B[?1003h"; } return t3; } serialize(e3) { if (!this._terminal) throw new Error("Cannot use addon until it has been loaded"); let t3 = e3?.range ? this._serializeBufferByRange(this._terminal, this._terminal.buffer.normal, e3.range, true) : this._serializeBufferByScrollback(this._terminal, this._terminal.buffer.normal, e3?.scrollback); return e3?.excludeAltBuffer || "alternate" !== this._terminal.buffer.active.type || (t3 += `\x1B[?1049h\x1B[H${this._serializeBufferByScrollback(this._terminal, this._terminal.buffer.alternate, void 0)}`), e3?.excludeModes || (t3 += this._serializeModes(this._terminal)), t3; } serializeAsHTML(e3) { if (!this._terminal) throw new Error("Cannot use addon until it has been loaded"); return this._serializeBufferAsHTML(this._terminal, e3 || {}); } dispose() { } }; class h extends i { static { __name(this, "h"); } constructor(e3, s2, r2) { super(e3), this._terminal = s2, this._options = r2, this._currentRow = "", this._htmlContent = "", s2._core._themeService ? this._ansiColors = s2._core._themeService.colors.ansi : this._ansiColors = t2.DEFAULT_ANSI_COLORS; } _padStart(e3, t3, s2) { return t3 >>= 0, s2 = s2 ?? " ", e3.length > t3 ? e3 : ((t3 -= e3.length) > s2.length && (s2 += s2.repeat(t3 / s2.length)), s2.slice(0, t3) + e3); } _beforeSerialize(e3, t3, s2) { this._htmlContent += "
"; let r2 = "#000000", o2 = "#ffffff"; this._options.includeGlobalBackground && (r2 = this._terminal.options.theme?.foreground ?? "#ffffff", o2 = this._terminal.options.theme?.background ?? "#000000"); const i2 = []; i2.push("color: " + r2 + ";"), i2.push("background-color: " + o2 + ";"), i2.push("font-family: " + this._terminal.options.fontFamily + ";"), i2.push("font-size: " + this._terminal.options.fontSize + "px;"), this._htmlContent += ""; } _rowEnd(e3, t3) { this._htmlContent += ""; } _afterSerialize() { this._htmlContent += "", this._htmlContent += "