tabby-rdp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop.service.js","sourceRoot":"","sources":["../src/desktop.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.askNewDesktop = askNewDesktop;
4
+ /**
5
+ * "Add a desktop behind <host>": a form over the pane (plain DOM, like the sign-in form; uses its styles).
6
+ * While it shows, the terminal can't take focus, and focus that leaves the form comes back to it.
7
+ * Resolves with the new `remoteDesktop.desktops` entry, or null when cancelled.
8
+ */
9
+ function askNewDesktop(pane, via, viaLabel) {
10
+ const overlay = document.createElement('div');
11
+ overlay.className = 'trd-overlay trd-form-overlay';
12
+ overlay.innerHTML = `
13
+ <div class="trd-signin">
14
+ <form autocomplete="off">
15
+ <div class="trd-signin-title"></div>
16
+ <div class="trd-signin-error"></div>
17
+ <input class="form-control" name="name" placeholder="Name, e.g. Windows VM" spellcheck="false">
18
+ <input class="form-control" name="address" placeholder="Address as seen from the host, e.g. 127.0.0.1:3389" spellcheck="false">
19
+ <select class="form-control" name="kind">
20
+ <option value="windows">Windows (or another RDP server)</option>
21
+ <option value="gnome">GNOME Remote Desktop (needs the graphics pipeline)</option>
22
+ </select>
23
+ <input class="form-control" name="username" placeholder="User name (optional; asked when connecting)" spellcheck="false">
24
+ <div class="trd-signin-buttons">
25
+ <button type="button" class="btn btn-secondary" name="cancel">Cancel</button>
26
+ <button type="submit" class="btn btn-primary">Add and open</button>
27
+ </div>
28
+ </form>
29
+ </div>`;
30
+ const form = overlay.querySelector('form');
31
+ const field = (name) => form.querySelector(`[name="${name}"]`);
32
+ form.querySelector('.trd-signin-title').textContent = `Add a desktop reached through ${viaLabel}`;
33
+ const error = form.querySelector('.trd-signin-error');
34
+ field('address').value = '127.0.0.1:3389';
35
+ if (getComputedStyle(pane).position === 'static') {
36
+ pane.style.position = 'relative';
37
+ }
38
+ pane.appendChild(overlay);
39
+ // Same as a desktop layer: the terminal underneath can't take the keyboard while the form shows.
40
+ const inputs = Array.from(pane.querySelectorAll('textarea.xterm-helper-textarea')).filter(t => !t.disabled);
41
+ inputs.forEach(t => { t.disabled = true; });
42
+ const focusForm = () => {
43
+ if (!form.contains(document.activeElement)) {
44
+ field('name').focus();
45
+ }
46
+ };
47
+ const reclaim = (event) => {
48
+ if (!overlay.contains(event.target)) {
49
+ setTimeout(focusForm);
50
+ }
51
+ };
52
+ pane.addEventListener('focusin', reclaim, true);
53
+ setTimeout(focusForm);
54
+ return new Promise(resolve => {
55
+ const done = (result) => {
56
+ pane.removeEventListener('focusin', reclaim, true);
57
+ inputs.forEach(t => { t.disabled = false; });
58
+ overlay.remove();
59
+ resolve(result);
60
+ };
61
+ form.addEventListener('submit', event => {
62
+ event.preventDefault();
63
+ const name = field('name').value.trim();
64
+ // host:port, [v6]:port, or a bare host (RDP's 3389).
65
+ const m = /^\[([^\]]+)\](?::(\d+))?$|^([^:\s]+)(?::(\d+))?$/.exec(field('address').value.trim());
66
+ const host = m?.[1] ?? m?.[3];
67
+ const port = Number(m?.[2] ?? m?.[4] ?? 3389);
68
+ if (!name) {
69
+ error.textContent = 'Give it a name.';
70
+ field('name').focus();
71
+ return;
72
+ }
73
+ if (!host || !Number.isInteger(port) || port < 1 || port > 65535) {
74
+ error.textContent = 'The address should look like 127.0.0.1:3389 or vm.local:3389.';
75
+ field('address').focus();
76
+ return;
77
+ }
78
+ const username = field('username').value.trim();
79
+ done({
80
+ name,
81
+ via,
82
+ host,
83
+ port,
84
+ kind: field('kind').value === 'gnome' ? 'gnome' : 'windows',
85
+ ...username ? { username } : {},
86
+ });
87
+ });
88
+ field('cancel').addEventListener('click', () => done(null));
89
+ form.addEventListener('keydown', event => {
90
+ if (event.key === 'Escape') {
91
+ done(null);
92
+ }
93
+ });
94
+ });
95
+ }
96
+ //# sourceMappingURL=desktopForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktopForm.js","sourceRoot":"","sources":["../src/desktopForm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OWN_DESKTOP = void 0;
4
+ exports.viaMatches = viaMatches;
5
+ exports.desktopsFor = desktopsFor;
6
+ exports.sessionKey = sessionKey;
7
+ exports.OWN_DESKTOP = 'own';
8
+ /** Whether a `via` value names this SSH target: its alias (label), hostname, user@hostname, or full key. */
9
+ function viaMatches(via, target) {
10
+ const v = via.trim().toLowerCase();
11
+ const key = target.key.toLowerCase(); // user@hostname:port
12
+ const userHost = key.replace(/:\d+$/, '');
13
+ const hostname = userHost.replace(/^[^@]*@/, '');
14
+ return !!v && [key, userHost, hostname, target.label.toLowerCase()].includes(v);
15
+ }
16
+ /** The SSH host's own desktop, then the configured desktops behind it. */
17
+ function desktopsFor(target, extras) {
18
+ const specs = [{ id: exports.OWN_DESKTOP, name: `${target.label} desktop`, kind: 'gnome', host: '127.0.0.1', port: 0 }];
19
+ for (const extra of Array.isArray(extras) ? extras : []) {
20
+ const port = Number(extra?.port ?? 3389);
21
+ if (!extra?.via || !viaMatches(extra.via, target) || !Number.isInteger(port) || port <= 0 || port > 65535) {
22
+ continue;
23
+ }
24
+ const host = String(extra.host ?? '127.0.0.1');
25
+ const id = `${host}:${port}`;
26
+ if (specs.some(s => s.id === id)) {
27
+ continue;
28
+ }
29
+ specs.push({
30
+ id,
31
+ name: extra.name ? String(extra.name) : `${host}:${port}`,
32
+ kind: extra.kind === 'gnome' ? 'gnome' : 'windows',
33
+ host,
34
+ port,
35
+ username: extra.username ? String(extra.username) : undefined,
36
+ domain: extra.domain ? String(extra.domain) : undefined,
37
+ });
38
+ }
39
+ return specs;
40
+ }
41
+ /** One desktop per key: the remote account for its own desktop, plus the RDP server for one behind it. */
42
+ function sessionKey(target, spec) {
43
+ return spec.id === exports.OWN_DESKTOP ? target.key : `${target.key}#${spec.id}`;
44
+ }
45
+ //# sourceMappingURL=desktops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktops.js","sourceRoot":"","sources":["../src/desktops.ts"],"names":[],"mappings":"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"}
package/dist/header.js ADDED
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HeaderControls = void 0;
13
+ const core_1 = require("@angular/core");
14
+ const tabby_core_1 = require("tabby-core");
15
+ const desktop_service_1 = require("./desktop.service");
16
+ const ssh_1 = require("./ssh");
17
+ const targets_1 = require("./targets");
18
+ const ui_1 = require("./ui");
19
+ // Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free
20
+ // (Icons: CC BY 4.0) Copyright 2024 Fonticons, Inc.
21
+ const ICON_DESKTOP = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M64 0C28.7 0 0 28.7 0 64L0 352c0 35.3 28.7 64 64 64l176 0-10.7 32L160 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-69.3 0L336 416l176 0c35.3 0 64-28.7 64-64l0-288c0-35.3-28.7-64-64-64L64 0zM512 64l0 224L64 288 64 64l448 0z"/></svg>';
22
+ const ICON_TERMINAL = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M9.4 86.6C-3.1 74.1-3.1 53.9 9.4 41.4s32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6zM256 416l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>';
23
+ const ICON_DISCONNECT = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>';
24
+ /**
25
+ * Desktop/console switch and Disconnect in Tabby's header, left of the settings gear, for the active
26
+ * tab's SSH pane. Tabby builds its own header buttons once at startup, so these are plain DOM kept in
27
+ * sync with the active tab and the desktop state.
28
+ */
29
+ let HeaderControls = class HeaderControls {
30
+ constructor(app, desktop, targets, platform, zone) {
31
+ this.app = app;
32
+ this.desktop = desktop;
33
+ this.targets = targets;
34
+ this.platform = platform;
35
+ this.zone = zone;
36
+ this.group = null;
37
+ this.scheduled = false;
38
+ }
39
+ // All watching and DOM syncing runs outside Angular's zone: inside it, every observer callback and
40
+ // animation frame triggers app-wide change detection, whose DOM updates re-trigger the observer
41
+ // (an endless loop while no header group can be found, e.g. on the start page with no tabs open).
42
+ // Only user actions re-enter the zone, so Tabby's UI updates for tab switches.
43
+ install() {
44
+ this.zone.runOutsideAngular(() => {
45
+ this.app.activeTabChange$.subscribe(() => this.schedule());
46
+ this.desktop.changed$.subscribe(() => this.schedule());
47
+ // Focus moves between panes of a split without an activeTabChange$.
48
+ document.addEventListener('focusin', () => this.schedule(), true);
49
+ // The header renders after plugins load, and is re-rendered when the layout changes.
50
+ new MutationObserver(() => {
51
+ if (!this.group?.isConnected) {
52
+ this.schedule();
53
+ }
54
+ }).observe(document.body, { childList: true, subtree: true });
55
+ // A local terminal qualifies once `ssh` runs in it (and stops when it exits): keep checking the active one.
56
+ this.app.activeTabChange$.subscribe(() => this.detect());
57
+ setInterval(() => this.detect(), 2000);
58
+ this.schedule();
59
+ });
60
+ }
61
+ async detect() {
62
+ const pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
63
+ if (!pane) {
64
+ return;
65
+ }
66
+ await this.targets.targetOf(pane);
67
+ this.schedule();
68
+ }
69
+ schedule() {
70
+ if (this.scheduled) {
71
+ return;
72
+ }
73
+ this.scheduled = true;
74
+ // A timer, not requestAnimationFrame: Chromium stops animation frames while the window is hidden.
75
+ this.zone.runOutsideAngular(() => setTimeout(() => {
76
+ this.scheduled = false;
77
+ this.refresh();
78
+ }, 16));
79
+ }
80
+ ensureGroup() {
81
+ if (this.group?.isConnected) {
82
+ return true;
83
+ }
84
+ // The right-hand header group: settings gear (and update button).
85
+ const right = document.querySelector('app-root .btn-space ~ .btn-group');
86
+ if (!right) {
87
+ return false;
88
+ }
89
+ // Tabby's header button styles are scoped to its root component; borrow its scope attribute.
90
+ const reference = right.querySelector('button.btn-tab-bar');
91
+ const scope = reference ? Array.from(reference.attributes).filter(a => a.name.startsWith('_ngcontent')) : [];
92
+ const scoped = (el) => {
93
+ scope.forEach(a => el.setAttribute(a.name, a.value));
94
+ return el;
95
+ };
96
+ const button = (cls, onClick) => {
97
+ const b = scoped(document.createElement('button'));
98
+ b.className = `btn btn-secondary btn-tab-bar ${cls}`;
99
+ b.addEventListener('click', () => this.zone.run(onClick));
100
+ return b;
101
+ };
102
+ this.group = scoped(document.createElement('div'));
103
+ // Inline flex, not Bootstrap's d-flex: that is `display: flex !important` and can't be hidden.
104
+ this.group.className = 'trd-header';
105
+ this.group.style.display = 'flex';
106
+ this.toggleButton = button('trd-header-toggle', () => {
107
+ const pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
108
+ if (pane) {
109
+ this.desktop.toggle(pane);
110
+ }
111
+ });
112
+ this.disconnectButton = button('trd-header-disconnect', () => {
113
+ const pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
114
+ if (pane) {
115
+ this.desktop.disconnect(pane);
116
+ }
117
+ });
118
+ this.toggleButton.addEventListener('contextmenu', event => {
119
+ event.preventDefault();
120
+ this.zone.run(() => {
121
+ const pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
122
+ const choices = pane ? (0, ui_1.desktopChoices)(this.desktop, pane, this.targets.cached(pane)?.label) : [];
123
+ const settings = { label: 'Remote desktop settings', submenu: (0, ui_1.settingsMenu)(this.desktop) };
124
+ this.platform.popupContextMenu(choices.length ? [...choices, { type: 'separator' }, settings] : (0, ui_1.settingsMenu)(this.desktop), event);
125
+ });
126
+ });
127
+ this.disconnectButton.title = 'Disconnect remote desktop';
128
+ this.disconnectButton.innerHTML = ICON_DISCONNECT;
129
+ this.group.append(this.toggleButton, this.disconnectButton);
130
+ right.insertBefore(this.group, right.firstChild);
131
+ return true;
132
+ }
133
+ refresh() {
134
+ if (!this.ensureGroup()) {
135
+ return;
136
+ }
137
+ let pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
138
+ // SSH tabs always qualify; local terminals only while they run ssh (see detect()).
139
+ if (pane && !(0, ssh_1.isSSHTab)(pane) && !this.desktop.has(pane) && !this.targets.cached(pane)) {
140
+ pane = null;
141
+ }
142
+ this.group.style.display = pane ? 'flex' : 'none';
143
+ if (!pane) {
144
+ return;
145
+ }
146
+ const visible = this.desktop.isVisible(pane);
147
+ const title = (0, ui_1.toggleLabel)(this.desktop, pane);
148
+ if (this.toggleButton.title !== title) {
149
+ this.toggleButton.title = title;
150
+ this.toggleButton.innerHTML = visible ? ICON_TERMINAL : ICON_DESKTOP;
151
+ }
152
+ this.disconnectButton.style.display = this.desktop.has(pane) ? '' : 'none';
153
+ }
154
+ };
155
+ exports.HeaderControls = HeaderControls;
156
+ exports.HeaderControls = HeaderControls = __decorate([
157
+ (0, core_1.Injectable)({ providedIn: 'root' }),
158
+ __metadata("design:paramtypes", [tabby_core_1.AppService,
159
+ desktop_service_1.RemoteDesktopService,
160
+ targets_1.RemoteTargets,
161
+ tabby_core_1.PlatformService,
162
+ core_1.NgZone])
163
+ ], HeaderControls);
164
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../src/header.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const core_1 = require("@angular/core");
13
+ const tabby_core_1 = require("tabby-core");
14
+ const tabby_terminal_1 = require("tabby-terminal");
15
+ const desktop_service_1 = require("./desktop.service");
16
+ const desk_1 = require("./desk");
17
+ const header_1 = require("./header");
18
+ const ssh_1 = require("./ssh");
19
+ const targets_1 = require("./targets");
20
+ const ui_1 = require("./ui");
21
+ let RemoteDesktopModule = class RemoteDesktopModule {
22
+ constructor(app, hotkeys, desktop, header, targets, injector) {
23
+ (0, desktop_service_1.installStyle)();
24
+ header.install();
25
+ hotkeys.hotkey$.subscribe((id) => {
26
+ if (id !== ui_1.TOGGLE_HOTKEY) {
27
+ return;
28
+ }
29
+ const pane = (0, targets_1.desktopPaneOf)(app.activeTab);
30
+ if (pane) {
31
+ desktop.toggle(pane);
32
+ }
33
+ });
34
+ // Handle for tests and troubleshooting from DevTools.
35
+ const w = window;
36
+ w.__remoteDesktop = { app, desktop, targets, desktopPaneOf: targets_1.desktopPaneOf, injector, execRemote: ssh_1.execRemote };
37
+ }
38
+ };
39
+ RemoteDesktopModule = __decorate([
40
+ (0, core_1.NgModule)({
41
+ providers: [
42
+ { provide: tabby_core_1.HotkeyProvider, useClass: ui_1.RemoteDesktopHotkeys, multi: true },
43
+ { provide: tabby_core_1.ConfigProvider, useClass: ui_1.RemoteDesktopConfig, multi: true },
44
+ { provide: tabby_core_1.TabContextMenuItemProvider, useClass: ui_1.RemoteDesktopContextMenu, multi: true },
45
+ { provide: tabby_terminal_1.TerminalDecorator, useClass: ui_1.RemoteDesktopToolbarButton, multi: true },
46
+ { provide: tabby_terminal_1.TerminalDecorator, useClass: desk_1.DeskTriggerDecorator, multi: true },
47
+ ],
48
+ }),
49
+ __metadata("design:paramtypes", [tabby_core_1.AppService, tabby_core_1.HotkeysService, desktop_service_1.RemoteDesktopService, header_1.HeaderControls, targets_1.RemoteTargets, core_1.Injector])
50
+ ], RemoteDesktopModule);
51
+ exports.default = RemoteDesktopModule;
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,wCAAkD;AAClD,2CAAmH;AACnH,mDAAkD;AAClD,uDAAsE;AACtE,iCAA6C;AAC7C,qCAAyC;AACzC,+BAAkC;AAClC,uCAAwD;AACxD,6BAEa;AAWE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACpC,YAAa,GAAe,EAAE,OAAuB,EAAE,OAA6B,EAAE,MAAsB,EAAE,OAAsB,EAAE,QAAkB;QACpJ,IAAA,8BAAY,GAAE,CAAA;QACd,MAAM,CAAC,OAAO,EAAE,CAAA;QAChB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAU,EAAE,EAAE;YACrC,IAAI,EAAE,KAAK,kBAAa,EAAE,CAAC;gBACvB,OAAM;YACV,CAAC;YACD,MAAM,IAAI,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACzC,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxB,CAAC;QACL,CAAC,CAAC,CAAA;QACF,sDAAsD;QACtD,MAAM,CAAC,GAAG,MAAa,CAAA;QACvB,CAAC,CAAC,eAAe,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAb,uBAAa,EAAE,QAAQ,EAAE,UAAU,EAAV,gBAAU,EAAE,CAAA;IACtF,CAAC;CACJ,CAAA;AAjBoB,mBAAmB;IATvC,IAAA,eAAQ,EAAC;QACN,SAAS,EAAE;YACP,EAAE,OAAO,EAAE,2BAAc,EAAE,QAAQ,EAAE,yBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE;YACxE,EAAE,OAAO,EAAE,2BAAc,EAAE,QAAQ,EAAE,wBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE;YACvE,EAAE,OAAO,EAAE,uCAA0B,EAAE,QAAQ,EAAE,6BAAwB,EAAE,KAAK,EAAE,IAAI,EAAE;YACxF,EAAE,OAAO,EAAE,kCAAiB,EAAE,QAAQ,EAAE,+BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE;YACjF,EAAE,OAAO,EAAE,kCAAiB,EAAE,QAAQ,EAAE,2BAAoB,EAAE,KAAK,EAAE,IAAI,EAAE;SAC9E;KACJ,CAAC;qCAEoB,uBAAU,EAAW,2BAAc,EAAW,sCAAoB,EAAU,uBAAc,EAAW,uBAAa,EAAY,eAAQ;GADvI,mBAAmB,CAiBvC;kBAjBoB,mBAAmB"}