@theia/plugin-ext-vscode 1.75.0-next.39 → 1.75.0-next.42

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.
@@ -1,5 +1,5 @@
1
1
  import { Command, CommandContribution, CommandRegistry, MessageService, ILogger } from '@theia/core';
2
- import { ApplicationShell, OpenerService, QuickInputService } from '@theia/core/lib/browser';
2
+ import { ApplicationShell, OpenerService, QuickInputService, TabBar, Widget } from '@theia/core/lib/browser';
3
3
  import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
4
4
  import { ApplicationShellMouseTracker } from '@theia/core/lib/browser/shell/application-shell-mouse-tracker';
5
5
  import { CommandService } from '@theia/core/lib/common/command';
@@ -56,6 +56,15 @@ export interface HidDeviceData {
56
56
  readonly productName: string;
57
57
  readonly collections: [];
58
58
  }
59
+ export type EditorGroupNavigationDirection = 'left' | 'right' | 'up' | 'down';
60
+ export interface EditorGroupNavigationRect {
61
+ left: number;
62
+ right: number;
63
+ top: number;
64
+ bottom: number;
65
+ width: number;
66
+ height: number;
67
+ }
59
68
  export declare class PluginVscodeCommandsContribution implements CommandContribution {
60
69
  protected readonly commandService: CommandService;
61
70
  protected readonly contextKeyService: ContextKeyService;
@@ -81,6 +90,12 @@ export declare class PluginVscodeCommandsContribution implements CommandContribu
81
90
  protected scmContribution: ScmContribution;
82
91
  protected readonly logger: ILogger;
83
92
  private openWith;
93
+ protected navigateEditorGroup(direction: EditorGroupNavigationDirection): boolean;
94
+ protected findClosestEditorGroup(source: EditorGroupNavigationRect, candidates: ReadonlyArray<EditorGroupNavigationRect>, direction: EditorGroupNavigationDirection): number;
95
+ protected navigateEditorGroups(): boolean;
96
+ protected currentMainAreaTabBar(): TabBar<Widget> | undefined;
97
+ protected getEditorGroupRect(tabBar: TabBar<Widget>): EditorGroupNavigationRect | undefined;
98
+ protected activateEditorGroup(tabBar: TabBar<Widget>): boolean;
84
99
  registerCommands(commands: CommandRegistry): void;
85
100
  private deployPlugin;
86
101
  private resolveLanguageId;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-vscode-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-vscode-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,63 @@ var VscodeCommands;
82
82
  id: 'workbench.extensions.command.installFromVSIX'
83
83
  };
84
84
  })(VscodeCommands || (exports.VscodeCommands = VscodeCommands = {}));
85
+ function isInDirection(source, candidate, direction) {
86
+ const sourceCenter = rectCenter(source);
87
+ const candidateCenter = rectCenter(candidate);
88
+ switch (direction) {
89
+ case 'left':
90
+ return candidateCenter.x < sourceCenter.x;
91
+ case 'right':
92
+ return candidateCenter.x > sourceCenter.x;
93
+ case 'up':
94
+ return candidateCenter.y < sourceCenter.y;
95
+ case 'down':
96
+ return candidateCenter.y > sourceCenter.y;
97
+ }
98
+ }
99
+ function score(source, candidate, direction) {
100
+ const horizontal = direction === 'left' || direction === 'right';
101
+ const sourceCenter = rectCenter(source);
102
+ const candidateCenter = rectCenter(candidate);
103
+ const orthogonalOverlap = horizontal
104
+ ? intervalOverlap(source.top, source.bottom, candidate.top, candidate.bottom)
105
+ : intervalOverlap(source.left, source.right, candidate.left, candidate.right);
106
+ return [
107
+ orthogonalOverlap > 0 ? 0 : 1,
108
+ Math.max(0, -orthogonalOverlap),
109
+ directionalDistance(source, candidate, direction),
110
+ horizontal ? Math.abs(sourceCenter.y - candidateCenter.y) : Math.abs(sourceCenter.x - candidateCenter.x),
111
+ horizontal ? candidate.top : candidate.left
112
+ ];
113
+ }
114
+ function compareScore(left, right) {
115
+ return left[0] - right[0]
116
+ || left[1] - right[1]
117
+ || left[2] - right[2]
118
+ || left[3] - right[3]
119
+ || left[4] - right[4];
120
+ }
121
+ function directionalDistance(source, candidate, direction) {
122
+ switch (direction) {
123
+ case 'left':
124
+ return Math.max(0, source.left - candidate.right);
125
+ case 'right':
126
+ return Math.max(0, candidate.left - source.right);
127
+ case 'up':
128
+ return Math.max(0, source.top - candidate.bottom);
129
+ case 'down':
130
+ return Math.max(0, candidate.top - source.bottom);
131
+ }
132
+ }
133
+ function rectCenter(rect) {
134
+ return {
135
+ x: rect.left + rect.width / 2,
136
+ y: rect.top + rect.height / 2
137
+ };
138
+ }
139
+ function intervalOverlap(start, end, candidateStart, candidateEnd) {
140
+ return Math.min(end, candidateEnd) - Math.max(start, candidateStart);
141
+ }
85
142
  let PluginVscodeCommandsContribution = class PluginVscodeCommandsContribution {
86
143
  async openWith(commandId, resource, columnOrOptions, openerId) {
87
144
  if (!resource) {
@@ -124,6 +181,98 @@ let PluginVscodeCommandsContribution = class PluginVscodeCommandsContribution {
124
181
  }
125
182
  return false;
126
183
  }
184
+ navigateEditorGroup(direction) {
185
+ const current = this.currentMainAreaTabBar();
186
+ const currentRect = current && this.getEditorGroupRect(current);
187
+ if (!current || current.titles.length === 0 || !currentRect) {
188
+ return false;
189
+ }
190
+ const candidates = [];
191
+ const candidateRects = [];
192
+ for (const tabBar of this.shell.mainAreaTabBars) {
193
+ if (tabBar === current || tabBar.titles.length === 0) {
194
+ continue;
195
+ }
196
+ const candidateRect = this.getEditorGroupRect(tabBar);
197
+ if (candidateRect) {
198
+ candidates.push(tabBar);
199
+ candidateRects.push(candidateRect);
200
+ }
201
+ }
202
+ const index = this.findClosestEditorGroup(currentRect, candidateRects, direction);
203
+ return index === -1 ? false : this.activateEditorGroup(candidates[index]);
204
+ }
205
+ findClosestEditorGroup(source, candidates, direction) {
206
+ let bestIndex = -1;
207
+ let bestScore;
208
+ for (let index = 0; index < candidates.length; index++) {
209
+ const candidate = candidates[index];
210
+ if (!isInDirection(source, candidate, direction)) {
211
+ continue;
212
+ }
213
+ const candidateScore = score(source, candidate, direction);
214
+ if (!bestScore || compareScore(candidateScore, bestScore) < 0) {
215
+ bestIndex = index;
216
+ bestScore = candidateScore;
217
+ }
218
+ }
219
+ return bestIndex;
220
+ }
221
+ navigateEditorGroups() {
222
+ const current = this.currentMainAreaTabBar();
223
+ const tabBars = this.shell.mainAreaTabBars.filter(tabBar => tabBar.titles.length > 0);
224
+ if (!current || tabBars.length < 2) {
225
+ return false;
226
+ }
227
+ const currentIndex = tabBars.indexOf(current);
228
+ if (currentIndex === -1) {
229
+ return false;
230
+ }
231
+ const target = tabBars[(currentIndex + 1) % tabBars.length];
232
+ return this.activateEditorGroup(target);
233
+ }
234
+ currentMainAreaTabBar() {
235
+ const mainAreaTabBars = this.shell.mainAreaTabBars;
236
+ const currentTabBar = this.shell.currentTabBar;
237
+ if (currentTabBar && mainAreaTabBars.includes(currentTabBar)) {
238
+ return currentTabBar;
239
+ }
240
+ const currentEditor = this.editorManager.currentEditor || this.editorManager.activeEditor;
241
+ if (currentEditor) {
242
+ const tabBar = this.shell.getTabBarFor(currentEditor);
243
+ if (tabBar && mainAreaTabBars.includes(tabBar)) {
244
+ return tabBar;
245
+ }
246
+ }
247
+ return undefined;
248
+ }
249
+ getEditorGroupRect(tabBar) {
250
+ const title = tabBar.currentTitle || tabBar.titles[0];
251
+ const rects = [
252
+ tabBar.node.getBoundingClientRect(),
253
+ title?.owner.node.getBoundingClientRect()
254
+ ].filter((rect) => !!rect && rect.width > 0 && rect.height > 0);
255
+ if (rects.length === 0) {
256
+ return undefined;
257
+ }
258
+ const left = Math.min(...rects.map(rect => rect.left));
259
+ const right = Math.max(...rects.map(rect => rect.right));
260
+ const top = Math.min(...rects.map(rect => rect.top));
261
+ const bottom = Math.max(...rects.map(rect => rect.bottom));
262
+ return { left, right, top, bottom, width: right - left, height: bottom - top };
263
+ }
264
+ activateEditorGroup(tabBar) {
265
+ let title = tabBar.currentTitle;
266
+ if (!title && tabBar.titles.length > 0) {
267
+ tabBar.currentIndex = 0;
268
+ title = tabBar.currentTitle;
269
+ }
270
+ if (!title) {
271
+ return false;
272
+ }
273
+ this.shell.activateWidget(title.owner.id);
274
+ return true;
275
+ }
127
276
  registerCommands(commands) {
128
277
  commands.registerCommand(VscodeCommands.GET_CODE_EXCHANGE_ENDPOINTS, {
129
278
  execute: () => undefined // this is a dummy implementation: only used in the case of web apps, which is not supported yet.
@@ -418,6 +567,41 @@ let PluginVscodeCommandsContribution = class PluginVscodeCommandsContribution {
418
567
  commands.registerCommand({ id: 'workbench.action.previousEditor' }, {
419
568
  execute: () => this.shell.activatePreviousTab()
420
569
  });
570
+ commands.registerCommand({
571
+ id: 'workbench.action.navigateLeft',
572
+ label: nls_1.nls.localizeByDefault('Navigate to the View on the Left'),
573
+ category: nls_1.nls.localizeByDefault('View')
574
+ }, {
575
+ execute: () => this.navigateEditorGroup('left')
576
+ });
577
+ commands.registerCommand({
578
+ id: 'workbench.action.navigateRight',
579
+ label: nls_1.nls.localizeByDefault('Navigate to the View on the Right'),
580
+ category: nls_1.nls.localizeByDefault('View')
581
+ }, {
582
+ execute: () => this.navigateEditorGroup('right')
583
+ });
584
+ commands.registerCommand({
585
+ id: 'workbench.action.navigateUp',
586
+ label: nls_1.nls.localizeByDefault('Navigate to the View Above'),
587
+ category: nls_1.nls.localizeByDefault('View')
588
+ }, {
589
+ execute: () => this.navigateEditorGroup('up')
590
+ });
591
+ commands.registerCommand({
592
+ id: 'workbench.action.navigateDown',
593
+ label: nls_1.nls.localizeByDefault('Navigate to the View Below'),
594
+ category: nls_1.nls.localizeByDefault('View')
595
+ }, {
596
+ execute: () => this.navigateEditorGroup('down')
597
+ });
598
+ commands.registerCommand({
599
+ id: 'workbench.action.navigateEditorGroups',
600
+ label: nls_1.nls.localizeByDefault('Navigate Between Editor Groups'),
601
+ category: nls_1.nls.localizeByDefault('View')
602
+ }, {
603
+ execute: () => this.navigateEditorGroups()
604
+ });
421
605
  commands.registerCommand({ id: 'workbench.action.navigateBack' }, {
422
606
  execute: () => commands.executeCommand(browser_2.EditorCommands.GO_BACK.id)
423
607
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-vscode-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,sCAA2J;AAC3J,qDAWiC;AACjC,qFAAgF;AAChF,mHAA6G;AAC7G,4DAAgE;AAChE,oDAAkD;AAClD,uDAA0E;AAa1E,sFAAsF;AACtF,kFAA2G;AAE3G,0DAAiE;AACjE,sFAAkG;AAClG,4EAAwE;AACxE,4DAAmF;AAEnF,8DAAoD;AACpD,kFAAoH;AACpH,+GAA0G;AAC1G,4FAAuF;AACvF,wFAAoF;AACpF,gGAG6D;AAC7D,0DAAsF;AACtF,gFAAiF;AAEjF,6EAAyE;AACzE,8DAAsG;AACtG,8DAAsG;AACtG,mGAA6F;AAC7F,wHAKiF;AACjF,iHAA4G;AAC5G,oDAAiD;AACjD,kFAA8E;AAC9E,oDAAoD;AACpD,mEAAiE;AACjE,oHAA2G;AAC3G,yGAAoG;AAEpG,iFAA6E;AAC7E,8EAA0E;AAC1E,mFAA4G;AAE5G,IAAiB,cAAc,CAmC9B;AAnCD,WAAiB,cAAc;IAEd,0CAA2B,GAAY;QAChD,EAAE,EAAE,yCAAyC,CAAC,mDAAmD;QACjG,kJAAkJ;KACrJ,CAAC;IAEW,mBAAI,GAAY;QACzB,EAAE,EAAE,aAAa;KACpB,CAAC;IAEW,wBAAS,GAAY;QAC9B,EAAE,EAAE,iBAAiB;KACxB,CAAC;IAEW,0BAAW,GAAY;QAChC,EAAE,EAAE,mBAAmB;KAC1B,CAAC;IAEW,mBAAI,GAAY;QACzB,EAAE,EAAE,aAAa;KACpB,CAAC;IAEW,+CAAgC,GAAY;QACrD,EAAE,EAAE,uCAAuC;KAC9C,CAAC;IAEW,kCAAmB,GAAY;QACxC,EAAE,EAAE,yCAAyC;KAChD,CAAC;IAEF,sJAAsJ;IACzI,kDAAmC,GAAY;QACxD,EAAE,EAAE,8CAA8C;KACrD,CAAC;AACN,CAAC,EAnCgB,cAAc,8BAAd,cAAc,QAmC9B;AAuCM,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAiDjC,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,QAAa,EAAE,eAAsD,EAAE,QAAiB;QAC9H,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,0CAA0C,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,qCAAqC,QAAQ,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,OAA4C,CAAC;QACjD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,GAAG;gBACN,UAAU,EAAE,eAAe;aAC9B,CAAC;QACN,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YACzB,OAAO,GAAG;gBACN,GAAG,eAAe;aACrB,CAAC;QACN,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,kCAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEnF,IAAI,WAAoC,CAAC;QACzC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;oBAChC,WAAW,GAAG,MAAM,CAAC;oBACrB,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,2BAA2B,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,iGAAiG;SAC7H,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAsB,EAAE,eAAsD,EAAE,EAAE;gBAC9F,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC/B,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,SAAG,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC7E,MAAM,MAAM,GAAG,SAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;oBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAgB,EAAE,eAAsD,EAAE,EAAE;gBACvG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,cAAc,CAAC,SAAS,UAAU,CAAC,CAAC;gBAC5F,CAAC;gBAED,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;oBACvC,OAAO,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACtF,CAAC;gBAED,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACnG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,yCAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxI,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,GAAG,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAQH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,EAAE;YACjD,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAc,EAAE,MAA8C,EAAE,EAAE,EAAE;gBAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,OAAO,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,WAAW,CAAC,EAAE,qCAAqC,QAAQ,EAAE,CAAC,CAAC;gBAC1H,CAAC;gBACD,IAAI,OAAmC,CAAC;gBACxC,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACJ,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,8DAA8D;YAC9D,OAAO,EAAE,KAAK,EAAE,IAAS,EAAE,KAAU,EAAE,KAAc,EAAE,OAAiC,EAAE,EAAE;gBACxF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,4DAA4D,IAAI,WAAW,KAAK,eAAe,CAAC,CAAC;gBAC3I,CAAC;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,IAAI,CAAC,EAAE,kEAAkE,IAAI,EAAE,CAAC,CAAC;gBAC5I,CAAC;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,IAAI,CAAC,EAAE,oEAAoE,KAAK,EAAE,CAAC,CAAC;gBAC/I,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,aAAQ,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,aAAa,GAAG,kCAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnF,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,aAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YAC9F,CAAC;SACJ,CAAC,CAAC;QAEH,wEAAwE;QACxE;;;;;;;WAOG;QACH,IAAI,CAAC,kBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,YAAK,EAAE,CAAC;YACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,uCAAuC,EAAE,EAAE;gBACtE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,QAAQ,CAAC,aAAa,CAAC,uCAAuC,EAAE,2BAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,iCAAiC,EAAE,2BAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC1F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,mCAAmC,EAAE,EAAE;YAClE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,mCAAmC,EAAE,2BAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,EAAE,EAAE;YAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,gCAAgC,EAAE,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACjF,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,kCAAkC,EAAE,2BAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACnG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,EAAE;YAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;SAC7E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,2BAA2B,EAAE,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACxF,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,4BAA4B,EAAE,EAAE;YAC3D,OAAO,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SAChG,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;SAClG,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,+BAA+B,EAAE,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC5F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,0CAA0C,EAAE,EAAE;YACzE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC;SACnF,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,0CAA0C,EAAE,2BAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC7G,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE;YAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,8CAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACrF,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,6CAA6C,EAAE,8CAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,gCAAgC,EAAE;YACtE,OAAO,EAAE,KAAK,EAAE,oBAAuD,EAAE,EAAE;gBACvE,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;oBAC3C,IAAI,WAAW,GAAG,oBAAoB,CAAC;oBACvC,IAAI,IAAqC,CAAC;oBAC1C,MAAM,WAAW,GAAG,mCAAiB,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;oBACxF,IAAI,WAAW,EAAE,CAAC;wBACd,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC;wBAC7B,IAAI,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;oBACvE,CAAC;oBACD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,sCAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBACxG,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;gBAClD,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,mCAAmC,EAAE;YACzE,OAAO,EAAE,KAAK,EAAE,IAA6D,EAAE,EAAE;gBAC7E,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,CAAC;oBAChB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;wBACpC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,mBAAmB,EAAE;YACzD,OAAO,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;gBAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,SAAG,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,YAAY,GAAG,mCAAiB,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,kDAAkD,CAAC,CAAC;gBACnG,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,mCAAiB,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC;YACjG,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6BAA6B,GAAG,EAAE;YAC7D,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE;gBAC1B,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACvC,MAAM,WAAW,GAAG,kBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,2BAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;wBACpF,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;oBACjE,CAAC,CAAC,CAAC;oBACH,IAAI,kBAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtB,kBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,GAAG,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;SACtC,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,EAAE;YACnE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,cAAc,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,oCAAoC,EAAE,wBAAc,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC/F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,EAAE;YACnE,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;gBAChC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC1E,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACrC,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;wBACvC,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;oBACjE,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,iDAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1G,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,CACzB,EAGS,EACT,GAAgB,EACZ,EAAE;YACN,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACrC,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;oBACvC,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;gBACjE,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,MAAM,EAAE,CAAC;oBACT,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,sCAAsC;YAC1C,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,4BAA4B,CAAC;SAC7D,EAAE;YACC,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;SACjF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;SACpD,EAAE;YACC,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;SAChF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,4CAA4C,EAAE,EAAE;YAC3E,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;wBACzC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;4BAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAChD,CAAC;wBACN,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,wCAAwC,EAAE,EAAE;YACvE,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,CAAC;wBACT,IAAI,IAAI,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACV,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gCACnB,IAAI,GAAG,KAAK,CAAC;gCACb,OAAO,KAAK,CAAC;4BACjB,CAAC;4BACD,OAAO,IAAI,IAAI,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBAClD,CAAC,CACJ,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,yCAAyC,EAAE,EAAE;YACxE,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,CAAC;wBACT,IAAI,IAAI,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACV,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gCACnB,IAAI,GAAG,KAAK,CAAC;gCACb,OAAO,KAAK,CAAC;4BACjB,CAAC;4BACD,OAAO,CAAC,IAAI,IAAI,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBACnD,CAAC,CACJ,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,iDAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrF,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6BAA6B,EAAE,EAAE;YAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;SAC9C,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,OAAO,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,+BAA+B,EAAE,wBAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnF,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,UAAU,CAAC,EAAE,CAAC;SACvE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,kCAAkC,EAAE,wBAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzF,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE;YAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,YAAY,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,6CAA6C,EAAE,wBAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEtG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE;YAC/C,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1G,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC;SACJ,CAAC,CAAC;QAEH;;;;;;;;WAQG;QAEH,8CAA8C;QAC9C,4DAA4D;QAC5D,uDAAuD;QAEvD,oDAAoD;QACpD,wGAAwG;QACxG,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC9G,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,mCAAmC;SAC1C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC/G,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAClH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAClH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAU,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SACtG,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAsB,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SACvH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,iCAAiC;SACxC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAa,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC1J,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,gCAAgC,EAChF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CACxC,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,SAAS,CAAC;gBACrB,CAAC;gBACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,gCAAc,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;SACL,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,OAA0B,EAAE,EAAE,CACpD,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;SACjH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,mCAAmC;SAC1C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,KAAY,EAAE,OAA0B,EAAE,EAAE,CAClE,QAAQ,CAAC,cAAc,CAAa,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACrH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,oCAAoC;SAC3C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAU,EAAE,OAA0B,EAAE,EAAE,CACpF,QAAQ,CAAC,cAAc,CAAa,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;SAC7H,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,oCAAoC;SAC3C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAChH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,KAAY,EAAE,IAAa,EAAE,gBAAyB,EAAE,EAAE,CAChF,QAAQ,CAAC,cAAc,CAAa,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;SACnI,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAwB,EAAE,gBAAyB,EAAE,gBAAyB,EAAE,EAAE,CACxG,QAAQ,CAAC,cAAc,CACnB,gCAAgC,EAChC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzB,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,EACzD,gBAAgB,EAChB,gBAAgB,CACnB,CACJ;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,uCAAuC;SAC9C,EACD;YACI,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,EAAE,CACnC,CAAC,MAAM,OAAO,CAAC,GAAG,CACd,IAAI,CAAC,eAAe,CAAC,wBAAwB;iBACxC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,IAAI,8BAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC1H,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;iBAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACxC,CACJ,CAAC;QAEF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAkB,EAAgC,EAAE;gBAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAG,MAAM,QAAQ,EAAE,iBAAiB,CAChD,QAAQ,CAAC,IAAI,EACb,IAAA,4BAAU,EAAC,QAAQ,CAAC,EACpB,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACb,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBAAA,CAAC;gBACF,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAwC,EAAE;gBAC7E,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,MAAM,QAAQ,EAAE,UAAU,CAC5C,IAAA,sDAAyB,EAAC,IAAI,CAAC,EAC/B,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,aAAa,CAAC,GAAG,CAAC,oFAAuD,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAwC,EAAE;gBAC7E,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,MAAM,QAAQ,EAAE,UAAU,EAAE,CAC9C,IAAA,sDAAyB,EAAC,IAAI,CAAC,EAC/B,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,aAAa,CAAC,GAAG,CAAC,oFAAuD,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAkB,EAAgC,EAAE;gBAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,OAAO,GAAG,MAAM,QAAQ,EAAE,cAAc,CAC1C,QAAQ,CAAC,IAAI,EACb,IAAA,4BAAU,EAAC,QAAQ,CAAC,EACpB,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,0BAA0B;SACjC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAgC,EAAE;gBACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,iBAAiB,CAC3C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,wBAAwB;SAC/B,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAgC,EAAE;gBACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,eAAe,CACzC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAC7B,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,QAAQ,CAAC,CAAC,CAAC;YAEvF,CAAC;SACJ,CACJ,CAAC;QAEF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,6BAA6B;SACpC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,oBAAoB;SAC3B,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,oBAAoB,EAAE,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,wCAAwC;SAC/C,EAAE;YACC,OAAO,EAAE,CAAC,IAAwB,EAAE,EAAE;gBAClC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAChD,OAAO;gBACX,CAAC;gBAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBAE7D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO;gBACX,CAAC;gBAED,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,gCAAgC;SACvC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBAE7D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO;gBACX,CAAC;gBAED,eAAe,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yBAAyB;SAChC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,8CAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,yBAAyB,EAAE,8CAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,cAAc;SACrB,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,SAAS,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,wBAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpE,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,sBAAsB;SAC7B,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,uBAAuB,CAAC,EAAE,CAAC;SACvF,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,sBAAsB,EAAE,2BAAiB,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC7F,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,kBAAkB;SACzB,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,QAAsB,EAAE,EAAE;gBACtC,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,OAAO;gBACX,CAAC;gBACD,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,2BAAiB,CAAC,CAAC;gBACjE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,yDAAgC,CAAC,CAAC;oBAC3E,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,2BAAiB,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,SAAS,YAAY,6BAAmB,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC9B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5D,IAAI,mCAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yCAAyC;SAChD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAsC,EAAE;gBACrF,MAAM,GAAG,GAAI,SAAiB,CAAC,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,OAAO;oBACH,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC5B,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,0CAA0C;SACjD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAuC,EAAE;gBACtF,MAAM,MAAM,GAAI,SAAiB,CAAC,MAAM,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO;oBACH,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;iBAClC,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yCAAyC;SAChD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAsC,EAAE;gBACrF,MAAM,GAAG,GAAI,SAAiB,CAAC,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO;oBACH,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;iBAClC,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,4DAA4D;QAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC3E,CAAC,CAAC;QAEH,yBAAyB;QACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE;YACnD,OAAO,EAAE,KAAK,IAAmB,EAAE;gBAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;SACJ,CAAC,CAAC;QAgBH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE;YAClD,OAAO,EAAE,KAAK,EAAE,GAA8B,EAAiB,EAAE;gBAC7D,MAAM,UAAU,GAAG,CAAC,CAAyB,EAAY,EAAE;oBACvD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACxB,OAAO,IAAI,aAAQ,CAAC,CAAC,CAAC,CAAC;oBAC3B,CAAC;oBACD,OAAO,aAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC,CAAC;gBAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtG,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtG,MAAM,GAAG,GAAG,6BAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE9E,IAAI,UAAU,GAAG,SAAS,CAAC;gBAC3B,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;oBAClD,UAAU,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBAChD,CAAC;gBACD,IAAI,UAAU,GAAG,SAAS,CAAC;gBAC3B,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;oBAClD,UAAU,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBAChD,CAAC;gBACD,MAAM,OAAO,GAA6B,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;gBAEtF,MAAM,IAAA,cAAI,EAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;SACJ,CAAC,CAAC;QAEH,8EAA8E;QAC9E,4DAA4D;QAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,EAAE,EAAE;YAC/D,OAAO,EAAE,KAAK,EAAE,OAIf,EAAiB,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBAC7B,OAAO;gBACX,CAAC;gBACD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;gBACnD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,gBAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtF,MAAM,MAAM,GAAG,SAAS;oBACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,SAAS,CAAC;oBAClF,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,gBAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,gBAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;oBAChB,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACtF,CAAC;qBAAM,IAAI,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,IAAI,EAAE,CAAC;oBACd,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAA6B;QACpD,MAAM,OAAO,GAAG,IAAA,iCAAe,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAa;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/C,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,6BAA6B,CAAC,QAAa;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;IAES,KAAK,CAAC,6BAA6B,CAAC,QAAa;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;CACJ,CAAA;AA39BY,4EAAgC;AAEtB;IADlB,IAAA,kBAAM,EAAC,wBAAc,CAAC;;wEAC2B;AAE/B;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;2EAC8B;AAErC;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;sCACY,uBAAa;uEAAC;AAE7B;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACC,0BAAgB;+DAAC;AAExB;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;qEAAC;AAEzB;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;;uEAC0B;AAE7B;IADlB,IAAA,kBAAM,EAAC,8DAA4B,CAAC;sCACJ,8DAA4B;sEAAC;AAE3C;IADlB,IAAA,kBAAM,EAAC,2BAAiB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;oEACW;AAE9B;IADlB,IAAA,kBAAM,EAAC,oCAAgB,CAAC;sCACY,oCAAgB;0EAAC;AAEnC;IADlB,IAAA,kBAAM,EAAC,6DAA4B,CAAC;sCACI,6DAA4B;8EAAC;AAEnD;IADlB,IAAA,kBAAM,EAAC,yCAAkB,CAAC;sCACY,yCAAkB;4EAAC;AAEvC;IADlB,IAAA,kBAAM,EAAC,kCAAe,CAAC;;yEAC4B;AAEjC;IADlB,IAAA,kBAAM,EAAC,8BAAY,CAAC;;sEACyB;AAE3B;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;qEAAC;AAEzB;IADlB,IAAA,kBAAM,EAAC,sCAA4B,CAAC;sCACK,sCAA4B;+EAAC;AAEpD;IADlB,IAAA,kBAAM,EAAC,sCAA4B,CAAC;sCACK,sCAA4B;+EAAC;AAEpD;IADlB,IAAA,kBAAM,EAAC,kDAAsB,CAAC;sCACM,kDAAsB;0EAAC;AAEzC;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;uEAC0B;AAE7B;IADlB,IAAA,kBAAM,EAAC,qBAAc,CAAC;sCACY,qBAAc;wEAAC;AAExC;IADT,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACG,mDAAuB;iFAAC;AAEjD;IADT,IAAA,kBAAM,EAAC,kCAAe,CAAC;sCACG,kCAAe;yEAAC;AAEjC;IADT,IAAA,kBAAM,EAAC,kCAAe,CAAC;sCACG,kCAAe;yEAAC;AAGxB;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,oDAAoD,CAAC;;gEAC1C;2CA/C1B,gCAAgC;IAD5C,IAAA,sBAAU,GAAE;GACA,gCAAgC,CA29B5C"}
1
+ {"version":3,"file":"plugin-vscode-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,sCAA2J;AAC3J,qDAWiC;AACjC,qFAAgF;AAChF,mHAA6G;AAC7G,4DAAgE;AAChE,oDAAkD;AAClD,uDAA0E;AAa1E,sFAAsF;AACtF,kFAA2G;AAE3G,0DAAiE;AACjE,sFAAkG;AAClG,4EAAwE;AACxE,4DAAmF;AAEnF,8DAAoD;AACpD,kFAAoH;AACpH,+GAA0G;AAC1G,4FAAuF;AACvF,wFAAoF;AACpF,gGAG6D;AAC7D,0DAAsF;AACtF,gFAAiF;AAEjF,6EAAyE;AACzE,8DAAsG;AACtG,8DAAsG;AACtG,mGAA6F;AAC7F,wHAKiF;AACjF,iHAA4G;AAC5G,oDAAiD;AACjD,kFAA8E;AAC9E,oDAAoD;AACpD,mEAAiE;AACjE,oHAA2G;AAC3G,yGAAoG;AAEpG,iFAA6E;AAC7E,8EAA0E;AAC1E,mFAA4G;AAE5G,IAAiB,cAAc,CAmC9B;AAnCD,WAAiB,cAAc;IAEd,0CAA2B,GAAY;QAChD,EAAE,EAAE,yCAAyC,CAAC,mDAAmD;QACjG,kJAAkJ;KACrJ,CAAC;IAEW,mBAAI,GAAY;QACzB,EAAE,EAAE,aAAa;KACpB,CAAC;IAEW,wBAAS,GAAY;QAC9B,EAAE,EAAE,iBAAiB;KACxB,CAAC;IAEW,0BAAW,GAAY;QAChC,EAAE,EAAE,mBAAmB;KAC1B,CAAC;IAEW,mBAAI,GAAY;QACzB,EAAE,EAAE,aAAa;KACpB,CAAC;IAEW,+CAAgC,GAAY;QACrD,EAAE,EAAE,uCAAuC;KAC9C,CAAC;IAEW,kCAAmB,GAAY;QACxC,EAAE,EAAE,yCAAyC;KAChD,CAAC;IAEF,sJAAsJ;IACzI,kDAAmC,GAAY;QACxD,EAAE,EAAE,8CAA8C;KACrD,CAAC;AACN,CAAC,EAnCgB,cAAc,8BAAd,cAAc,QAmC9B;AAyDD,SAAS,aAAa,CAAC,MAAiC,EAAE,SAAoC,EAAE,SAAyC;IACrI,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,MAAM;YACP,OAAO,eAAe,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QAC9C,KAAK,OAAO;YACR,OAAO,eAAe,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QAC9C,KAAK,IAAI;YACL,OAAO,eAAe,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QAC9C,KAAK,MAAM;YACP,OAAO,eAAe,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAClD,CAAC;AACL,CAAC;AAED,SAAS,KAAK,CAAC,MAAiC,EAAE,SAAoC,EAAE,SAAyC;IAC7H,MAAM,UAAU,GAAG,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,CAAC;IACjE,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,UAAU;QAChC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC;QAC7E,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAClF,OAAO;QACH,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC;QAC/B,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;QACjD,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;QACxG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;KAC9C,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,IAAgC,EAAE,KAAiC;IACrF,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;WAClB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;WAClB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;WAClB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;WAClB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAiC,EAAE,SAAoC,EAAE,SAAyC;IAC3I,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,MAAM;YACP,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,KAAK,OAAO;YACR,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACtD,KAAK,IAAI;YACL,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACtD,KAAK,MAAM;YACP,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,IAA+B;IAC/C,OAAO;QACH,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;QAC7B,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;KAChC,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,GAAW,EAAE,cAAsB,EAAE,YAAoB;IAC7F,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACzE,CAAC;AAGM,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAiDjC,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,QAAa,EAAE,eAAsD,EAAE,QAAiB;QAC9H,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,0CAA0C,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,qCAAqC,QAAQ,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,OAA4C,CAAC;QACjD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,GAAG;gBACN,UAAU,EAAE,eAAe;aAC9B,CAAC;QACN,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YACzB,OAAO,GAAG;gBACN,GAAG,eAAe;aACrB,CAAC;QACN,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,kCAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEnF,IAAI,WAAoC,CAAC;QACzC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;oBAChC,WAAW,GAAG,MAAM,CAAC;oBACrB,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,mBAAmB,CAAC,SAAyC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,MAAM,cAAc,GAAgC,EAAE,CAAC;QACvD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC9C,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,SAAS;YACb,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,aAAa,EAAE,CAAC;gBAChB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxB,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAClF,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,CAAC;IAES,sBAAsB,CAAC,MAAiC,EAAE,UAAoD,EAAE,SAAyC;QAC/J,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QACnB,IAAI,SAAiD,CAAC;QACtD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC/C,SAAS;YACb,CAAC;YACD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5D,SAAS,GAAG,KAAK,CAAC;gBAClB,SAAS,GAAG,cAAc,CAAC;YAC/B,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,oBAAoB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAES,qBAAqB;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,IAAI,aAAa,IAAI,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3D,OAAO,aAAa,CAAC;QACzB,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;QAC1F,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACtD,IAAI,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,kBAAkB,CAAC,MAAsB;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG;YACV,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACnC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE;SAC5C,CAAC,MAAM,CAAC,CAAC,IAAI,EAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;IACnF,CAAC;IAES,mBAAmB,CAAC,MAAsB;QAChD,IAAI,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;YACxB,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,2BAA2B,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,iGAAiG;SAC7H,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAsB,EAAE,eAAsD,EAAE,EAAE;gBAC9F,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC/B,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,SAAG,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC7E,MAAM,MAAM,GAAG,SAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;oBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAgB,EAAE,eAAsD,EAAE,EAAE;gBACvG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,cAAc,CAAC,SAAS,UAAU,CAAC,CAAC;gBAC5F,CAAC;gBAED,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;oBACvC,OAAO,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACtF,CAAC;gBAED,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACnG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,yCAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxI,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,GAAG,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAQH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,EAAE;YACjD,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAc,EAAE,MAA8C,EAAE,EAAE,EAAE;gBAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,OAAO,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,WAAW,CAAC,EAAE,qCAAqC,QAAQ,EAAE,CAAC,CAAC;gBAC1H,CAAC;gBACD,IAAI,OAAmC,CAAC;gBACxC,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACJ,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,8DAA8D;YAC9D,OAAO,EAAE,KAAK,EAAE,IAAS,EAAE,KAAU,EAAE,KAAc,EAAE,OAAiC,EAAE,EAAE;gBACxF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,4DAA4D,IAAI,WAAW,KAAK,eAAe,CAAC,CAAC;gBAC3I,CAAC;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,IAAI,CAAC,EAAE,kEAAkE,IAAI,EAAE,CAAC,CAAC;gBAC5I,CAAC;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,IAAI,CAAC,EAAE,oEAAoE,KAAK,EAAE,CAAC,CAAC;gBAC/I,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,aAAQ,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,aAAa,GAAG,kCAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnF,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,aAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YAC9F,CAAC;SACJ,CAAC,CAAC;QAEH,wEAAwE;QACxE;;;;;;;WAOG;QACH,IAAI,CAAC,kBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,YAAK,EAAE,CAAC;YACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,uCAAuC,EAAE,EAAE;gBACtE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,QAAQ,CAAC,aAAa,CAAC,uCAAuC,EAAE,2BAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,iCAAiC,EAAE,2BAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC1F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,mCAAmC,EAAE,EAAE;YAClE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,mCAAmC,EAAE,2BAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,EAAE,EAAE;YAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,gCAAgC,EAAE,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACjF,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,kCAAkC,EAAE,2BAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACnG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,EAAE;YAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;SAC7E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,2BAA2B,EAAE,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACxF,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,4BAA4B,EAAE,EAAE;YAC3D,OAAO,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SAChG,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;SAClG,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,+BAA+B,EAAE,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC5F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,0CAA0C,EAAE,EAAE;YACzE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC;SACnF,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,0CAA0C,EAAE,2BAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC7G,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE;YAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,8CAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACrF,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,6CAA6C,EAAE,8CAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,gCAAgC,EAAE;YACtE,OAAO,EAAE,KAAK,EAAE,oBAAuD,EAAE,EAAE;gBACvE,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;oBAC3C,IAAI,WAAW,GAAG,oBAAoB,CAAC;oBACvC,IAAI,IAAqC,CAAC;oBAC1C,MAAM,WAAW,GAAG,mCAAiB,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;oBACxF,IAAI,WAAW,EAAE,CAAC;wBACd,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC;wBAC7B,IAAI,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;oBACvE,CAAC;oBACD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,sCAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBACxG,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;gBAClD,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,mCAAmC,EAAE;YACzE,OAAO,EAAE,KAAK,EAAE,IAA6D,EAAE,EAAE;gBAC7E,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,CAAC;oBAChB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;wBACpC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,mBAAmB,EAAE;YACzD,OAAO,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;gBAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,SAAG,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,YAAY,GAAG,mCAAiB,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,kDAAkD,CAAC,CAAC;gBACnG,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,mCAAiB,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC;YACjG,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6BAA6B,GAAG,EAAE;YAC7D,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE;gBAC1B,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACvC,MAAM,WAAW,GAAG,kBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,2BAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;wBACpF,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;oBACjE,CAAC,CAAC,CAAC;oBACH,IAAI,kBAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtB,kBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,GAAG,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;SACtC,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,EAAE;YACnE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,cAAc,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,oCAAoC,EAAE,wBAAc,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC/F,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,EAAE;YACnE,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;gBAChC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC1E,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACrC,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;wBACvC,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;oBACjE,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,iDAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1G,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,CACzB,EAGS,EACT,GAAgB,EACZ,EAAE;YACN,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACrC,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;oBACvC,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;gBACjE,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,MAAM,EAAE,CAAC;oBACT,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,sCAAsC;YAC1C,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,4BAA4B,CAAC;SAC7D,EAAE;YACC,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;SACjF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;SACpD,EAAE;YACC,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;SAChF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,4CAA4C,EAAE,EAAE;YAC3E,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;wBACzC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;4BAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAChD,CAAC;wBACN,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,wCAAwC,EAAE,EAAE;YACvE,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,CAAC;wBACT,IAAI,IAAI,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACV,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gCACnB,IAAI,GAAG,KAAK,CAAC;gCACb,OAAO,KAAK,CAAC;4BACjB,CAAC;4BACD,OAAO,IAAI,IAAI,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBAClD,CAAC,CACJ,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,yCAAyC,EAAE,EAAE;YACxE,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,CAAC;wBACT,IAAI,IAAI,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACV,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gCACnB,IAAI,GAAG,KAAK,CAAC;gCACb,OAAO,KAAK,CAAC;4BACjB,CAAC;4BACD,OAAO,CAAC,IAAI,IAAI,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBACnD,CAAC,CACJ,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,iDAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrF,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6BAA6B,EAAE,EAAE;YAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;SAC9C,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,+BAA+B;YACnC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,kCAAkC,CAAC;YAChE,QAAQ,EAAE,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;SAC1C,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,mCAAmC,CAAC;YACjE,QAAQ,EAAE,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;SAC1C,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;SACnD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,6BAA6B;YACjC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,4BAA4B,CAAC;YAC1D,QAAQ,EAAE,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;SAC1C,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;SAChD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,+BAA+B;YACnC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,4BAA4B,CAAC;YAC1D,QAAQ,EAAE,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;SAC1C,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,uCAAuC;YAC3C,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,gCAAgC,CAAC;YAC9D,QAAQ,EAAE,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;SAC1C,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE;SAC7C,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,OAAO,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,+BAA+B,EAAE,wBAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnF,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,UAAU,CAAC,EAAE,CAAC;SACvE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,kCAAkC,EAAE,wBAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzF,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE;YAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,YAAY,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,6CAA6C,EAAE,wBAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEtG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE;YAC/C,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1G,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC;SACJ,CAAC,CAAC;QAEH;;;;;;;;WAQG;QAEH,8CAA8C;QAC9C,4DAA4D;QAC5D,uDAAuD;QAEvD,oDAAoD;QACpD,wGAAwG;QACxG,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC9G,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,mCAAmC;SAC1C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC/G,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAClH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAClH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAU,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SACtG,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAsB,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SACvH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,iCAAiC;SACxC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAa,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC1J,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,gCAAgC,EAChF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CACxC,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,SAAS,CAAC;gBACrB,CAAC;gBACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,gCAAc,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;SACL,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,OAA0B,EAAE,EAAE,CACpD,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;SACjH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,mCAAmC;SAC1C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,KAAY,EAAE,OAA0B,EAAE,EAAE,CAClE,QAAQ,CAAC,cAAc,CAAa,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACrH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,oCAAoC;SAC3C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAU,EAAE,OAA0B,EAAE,EAAE,CACpF,QAAQ,CAAC,cAAc,CAAa,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;SAC7H,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,oCAAoC;SAC3C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAChH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,KAAY,EAAE,IAAa,EAAE,gBAAyB,EAAE,EAAE,CAChF,QAAQ,CAAC,cAAc,CAAa,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;SACnI,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAwB,EAAE,gBAAyB,EAAE,gBAAyB,EAAE,EAAE,CACxG,QAAQ,CAAC,cAAc,CACnB,gCAAgC,EAChC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzB,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,EACzD,gBAAgB,EAChB,gBAAgB,CACnB,CACJ;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,uCAAuC;SAC9C,EACD;YACI,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,EAAE,CACnC,CAAC,MAAM,OAAO,CAAC,GAAG,CACd,IAAI,CAAC,eAAe,CAAC,wBAAwB;iBACxC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,IAAI,8BAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC1H,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;iBAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACxC,CACJ,CAAC;QAEF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAkB,EAAgC,EAAE;gBAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAG,MAAM,QAAQ,EAAE,iBAAiB,CAChD,QAAQ,CAAC,IAAI,EACb,IAAA,4BAAU,EAAC,QAAQ,CAAC,EACpB,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACb,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBAAA,CAAC;gBACF,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAwC,EAAE;gBAC7E,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,MAAM,QAAQ,EAAE,UAAU,CAC5C,IAAA,sDAAyB,EAAC,IAAI,CAAC,EAC/B,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,aAAa,CAAC,GAAG,CAAC,oFAAuD,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAwC,EAAE;gBAC7E,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,MAAM,QAAQ,EAAE,UAAU,EAAE,CAC9C,IAAA,sDAAyB,EAAC,IAAI,CAAC,EAC/B,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,aAAa,CAAC,GAAG,CAAC,oFAAuD,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAkB,EAAgC,EAAE;gBAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,OAAO,GAAG,MAAM,QAAQ,EAAE,cAAc,CAC1C,QAAQ,CAAC,IAAI,EACb,IAAA,4BAAU,EAAC,QAAQ,CAAC,EACpB,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,0BAA0B;SACjC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAgC,EAAE;gBACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,iBAAiB,CAC3C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,wBAAwB;SAC/B,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAgC,EAAE;gBACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,eAAe,CACzC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAC7B,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,QAAQ,CAAC,CAAC,CAAC;YAEvF,CAAC;SACJ,CACJ,CAAC;QAEF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,6BAA6B;SACpC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,oBAAoB;SAC3B,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,oBAAoB,EAAE,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,wCAAwC;SAC/C,EAAE;YACC,OAAO,EAAE,CAAC,IAAwB,EAAE,EAAE;gBAClC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAChD,OAAO;gBACX,CAAC;gBAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBAE7D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO;gBACX,CAAC;gBAED,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,gCAAgC;SACvC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBAE7D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO;gBACX,CAAC;gBAED,eAAe,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yBAAyB;SAChC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,8CAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,yBAAyB,EAAE,8CAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,cAAc;SACrB,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,SAAS,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,wBAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpE,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,sBAAsB;SAC7B,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,uBAAuB,CAAC,EAAE,CAAC;SACvF,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,sBAAsB,EAAE,2BAAiB,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC7F,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,kBAAkB;SACzB,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,QAAsB,EAAE,EAAE;gBACtC,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,OAAO;gBACX,CAAC;gBACD,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,2BAAiB,CAAC,CAAC;gBACjE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,yDAAgC,CAAC,CAAC;oBAC3E,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,2BAAiB,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,SAAS,YAAY,6BAAmB,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC9B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5D,IAAI,mCAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yCAAyC;SAChD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAsC,EAAE;gBACrF,MAAM,GAAG,GAAI,SAAiB,CAAC,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,OAAO;oBACH,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC5B,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,0CAA0C;SACjD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAuC,EAAE;gBACtF,MAAM,MAAM,GAAI,SAAiB,CAAC,MAAM,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO;oBACH,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;iBAClC,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yCAAyC;SAChD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAsC,EAAE;gBACrF,MAAM,GAAG,GAAI,SAAiB,CAAC,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO;oBACH,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;iBAClC,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,4DAA4D;QAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC3E,CAAC,CAAC;QAEH,yBAAyB;QACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE;YACnD,OAAO,EAAE,KAAK,IAAmB,EAAE;gBAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;SACJ,CAAC,CAAC;QAgBH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE;YAClD,OAAO,EAAE,KAAK,EAAE,GAA8B,EAAiB,EAAE;gBAC7D,MAAM,UAAU,GAAG,CAAC,CAAyB,EAAY,EAAE;oBACvD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACxB,OAAO,IAAI,aAAQ,CAAC,CAAC,CAAC,CAAC;oBAC3B,CAAC;oBACD,OAAO,aAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC,CAAC;gBAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtG,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtG,MAAM,GAAG,GAAG,6BAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE9E,IAAI,UAAU,GAAG,SAAS,CAAC;gBAC3B,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;oBAClD,UAAU,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBAChD,CAAC;gBACD,IAAI,UAAU,GAAG,SAAS,CAAC;gBAC3B,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;oBAClD,UAAU,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBAChD,CAAC;gBACD,MAAM,OAAO,GAA6B,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;gBAEtF,MAAM,IAAA,cAAI,EAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;SACJ,CAAC,CAAC;QAEH,8EAA8E;QAC9E,4DAA4D;QAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,EAAE,EAAE;YAC/D,OAAO,EAAE,KAAK,EAAE,OAIf,EAAiB,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBAC7B,OAAO;gBACX,CAAC;gBACD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;gBACnD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,gBAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtF,MAAM,MAAM,GAAG,SAAS;oBACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,SAAS,CAAC;oBAClF,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,gBAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,gBAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;oBAChB,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACtF,CAAC;qBAAM,IAAI,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,IAAI,EAAE,CAAC;oBACd,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAA6B;QACpD,MAAM,OAAO,GAAG,IAAA,iCAAe,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAa;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/C,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,6BAA6B,CAAC,QAAa;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;IAES,KAAK,CAAC,6BAA6B,CAAC,QAAa;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;CACJ,CAAA;AAjmCY,4EAAgC;AAEtB;IADlB,IAAA,kBAAM,EAAC,wBAAc,CAAC;;wEAC2B;AAE/B;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;2EAC8B;AAErC;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;sCACY,uBAAa;uEAAC;AAE7B;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACC,0BAAgB;+DAAC;AAExB;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;qEAAC;AAEzB;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;;uEAC0B;AAE7B;IADlB,IAAA,kBAAM,EAAC,8DAA4B,CAAC;sCACJ,8DAA4B;sEAAC;AAE3C;IADlB,IAAA,kBAAM,EAAC,2BAAiB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;oEACW;AAE9B;IADlB,IAAA,kBAAM,EAAC,oCAAgB,CAAC;sCACY,oCAAgB;0EAAC;AAEnC;IADlB,IAAA,kBAAM,EAAC,6DAA4B,CAAC;sCACI,6DAA4B;8EAAC;AAEnD;IADlB,IAAA,kBAAM,EAAC,yCAAkB,CAAC;sCACY,yCAAkB;4EAAC;AAEvC;IADlB,IAAA,kBAAM,EAAC,kCAAe,CAAC;;yEAC4B;AAEjC;IADlB,IAAA,kBAAM,EAAC,8BAAY,CAAC;;sEACyB;AAE3B;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;qEAAC;AAEzB;IADlB,IAAA,kBAAM,EAAC,sCAA4B,CAAC;sCACK,sCAA4B;+EAAC;AAEpD;IADlB,IAAA,kBAAM,EAAC,sCAA4B,CAAC;sCACK,sCAA4B;+EAAC;AAEpD;IADlB,IAAA,kBAAM,EAAC,kDAAsB,CAAC;sCACM,kDAAsB;0EAAC;AAEzC;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;uEAC0B;AAE7B;IADlB,IAAA,kBAAM,EAAC,qBAAc,CAAC;sCACY,qBAAc;wEAAC;AAExC;IADT,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACG,mDAAuB;iFAAC;AAEjD;IADT,IAAA,kBAAM,EAAC,kCAAe,CAAC;sCACG,kCAAe;yEAAC;AAEjC;IADT,IAAA,kBAAM,EAAC,kCAAe,CAAC;sCACG,kCAAe;yEAAC;AAGxB;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,oDAAoD,CAAC;;gEAC1C;2CA/C1B,gCAAgC;IAD5C,IAAA,sBAAU,GAAE;GACA,gCAAgC,CAimC5C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plugin-vscode-commands-contribution.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-vscode-commands-contribution.spec.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
19
+ const disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ // xterm.js is loaded transitively by the command contribution and probes canvas
21
+ // support at module-load time. These tests do not render a terminal.
22
+ const canvasProto = globalThis.HTMLCanvasElement?.prototype;
23
+ if (canvasProto) {
24
+ canvasProto.getContext = () => undefined;
25
+ }
26
+ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
27
+ frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
28
+ const chai_1 = require("chai");
29
+ const plugin_vscode_commands_contribution_1 = require("./plugin-vscode-commands-contribution");
30
+ after(() => disableJSDOM());
31
+ function rect(left, top, width, height) {
32
+ return { left, top, right: left + width, bottom: top + height, width, height };
33
+ }
34
+ describe('PluginVscodeCommandsContribution', () => {
35
+ const contribution = new plugin_vscode_commands_contribution_1.PluginVscodeCommandsContribution();
36
+ describe('findClosestEditorGroup', () => {
37
+ it('prefers the orthogonally-overlapping group when navigating up out of a split column', () => {
38
+ const left = rect(0, 0, 50, 100);
39
+ const upperRight = rect(50, 0, 50, 50);
40
+ const lowerRight = rect(50, 50, 50, 50);
41
+ (0, chai_1.expect)(contribution['findClosestEditorGroup'](lowerRight, [left, upperRight], 'up')).to.equal(1);
42
+ });
43
+ it('navigates between columns in a 2x2 grid without skipping', () => {
44
+ const topLeft = rect(0, 0, 50, 50);
45
+ const topRight = rect(50, 0, 50, 50);
46
+ const bottomLeft = rect(0, 50, 50, 50);
47
+ const bottomRight = rect(50, 50, 50, 50);
48
+ const candidates = [topRight, bottomLeft, bottomRight];
49
+ (0, chai_1.expect)(contribution['findClosestEditorGroup'](topLeft, candidates, 'right')).to.equal(0);
50
+ (0, chai_1.expect)(contribution['findClosestEditorGroup'](topLeft, candidates, 'down')).to.equal(1);
51
+ });
52
+ it('returns -1 when no candidate lies in the requested direction', () => {
53
+ const left = rect(0, 0, 50, 100);
54
+ const right = rect(50, 0, 50, 100);
55
+ (0, chai_1.expect)(contribution['findClosestEditorGroup'](left, [right], 'left')).to.equal(-1);
56
+ (0, chai_1.expect)(contribution['findClosestEditorGroup'](left, [right], 'up')).to.equal(-1);
57
+ (0, chai_1.expect)(contribution['findClosestEditorGroup'](left, [], 'right')).to.equal(-1);
58
+ });
59
+ });
60
+ });
61
+ //# sourceMappingURL=plugin-vscode-commands-contribution.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-vscode-commands-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@theia/plugin-ext-vscode",
3
- "version": "1.75.0-next.39+9a2b44f1e",
3
+ "version": "1.75.0-next.42+a35c2a27e",
4
4
  "description": "Theia - Plugin Extension for VsCode",
5
5
  "dependencies": {
6
- "@theia/callhierarchy": "1.75.0-next.39+9a2b44f1e",
7
- "@theia/core": "1.75.0-next.39+9a2b44f1e",
8
- "@theia/editor": "1.75.0-next.39+9a2b44f1e",
9
- "@theia/filesystem": "1.75.0-next.39+9a2b44f1e",
10
- "@theia/monaco": "1.75.0-next.39+9a2b44f1e",
6
+ "@theia/callhierarchy": "1.75.0-next.42+a35c2a27e",
7
+ "@theia/core": "1.75.0-next.42+a35c2a27e",
8
+ "@theia/editor": "1.75.0-next.42+a35c2a27e",
9
+ "@theia/filesystem": "1.75.0-next.42+a35c2a27e",
10
+ "@theia/monaco": "1.75.0-next.42+a35c2a27e",
11
11
  "@theia/monaco-editor-core": "1.108.201",
12
- "@theia/navigator": "1.75.0-next.39+9a2b44f1e",
13
- "@theia/outline-view": "1.75.0-next.39+9a2b44f1e",
14
- "@theia/plugin": "1.75.0-next.39+9a2b44f1e",
15
- "@theia/plugin-ext": "1.75.0-next.39+9a2b44f1e",
16
- "@theia/plugin-utils": "1.75.0-next.39+9a2b44f1e",
17
- "@theia/scm": "1.75.0-next.39+9a2b44f1e",
18
- "@theia/terminal": "1.75.0-next.39+9a2b44f1e",
19
- "@theia/typehierarchy": "1.75.0-next.39+9a2b44f1e",
20
- "@theia/userstorage": "1.75.0-next.39+9a2b44f1e",
21
- "@theia/workspace": "1.75.0-next.39+9a2b44f1e",
12
+ "@theia/navigator": "1.75.0-next.42+a35c2a27e",
13
+ "@theia/outline-view": "1.75.0-next.42+a35c2a27e",
14
+ "@theia/plugin": "1.75.0-next.42+a35c2a27e",
15
+ "@theia/plugin-ext": "1.75.0-next.42+a35c2a27e",
16
+ "@theia/plugin-utils": "1.75.0-next.42+a35c2a27e",
17
+ "@theia/scm": "1.75.0-next.42+a35c2a27e",
18
+ "@theia/terminal": "1.75.0-next.42+a35c2a27e",
19
+ "@theia/typehierarchy": "1.75.0-next.42+a35c2a27e",
20
+ "@theia/userstorage": "1.75.0-next.42+a35c2a27e",
21
+ "@theia/workspace": "1.75.0-next.42+a35c2a27e",
22
22
  "decompress": "^4.2.1",
23
23
  "filenamify": "^4.3.0",
24
24
  "tslib": "^2.8.1"
@@ -62,5 +62,5 @@
62
62
  "nyc": {
63
63
  "extends": "../../configs/nyc.json"
64
64
  },
65
- "gitHead": "9a2b44f1e7fc0175f7aafd936f1ce6d5eb6a2b91"
65
+ "gitHead": "a35c2a27e7d62cc83409f5996cbb076adc61d667"
66
66
  }
@@ -0,0 +1,68 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 EclipseSource and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { enableJSDOM } from '@theia/core/lib/browser/test/jsdom';
18
+
19
+ const disableJSDOM = enableJSDOM();
20
+ // xterm.js is loaded transitively by the command contribution and probes canvas
21
+ // support at module-load time. These tests do not render a terminal.
22
+ const canvasProto = (globalThis as { HTMLCanvasElement?: { prototype: { getContext?: unknown } } }).HTMLCanvasElement?.prototype;
23
+ if (canvasProto) {
24
+ canvasProto.getContext = () => undefined;
25
+ }
26
+
27
+ import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/frontend-application-config-provider';
28
+ FrontendApplicationConfigProvider.set({});
29
+
30
+ import { expect } from 'chai';
31
+ import { EditorGroupNavigationRect, PluginVscodeCommandsContribution } from './plugin-vscode-commands-contribution';
32
+
33
+ after(() => disableJSDOM());
34
+
35
+ function rect(left: number, top: number, width: number, height: number): EditorGroupNavigationRect {
36
+ return { left, top, right: left + width, bottom: top + height, width, height };
37
+ }
38
+
39
+ describe('PluginVscodeCommandsContribution', () => {
40
+ const contribution = new PluginVscodeCommandsContribution();
41
+
42
+ describe('findClosestEditorGroup', () => {
43
+ it('prefers the orthogonally-overlapping group when navigating up out of a split column', () => {
44
+ const left = rect(0, 0, 50, 100);
45
+ const upperRight = rect(50, 0, 50, 50);
46
+ const lowerRight = rect(50, 50, 50, 50);
47
+ expect(contribution['findClosestEditorGroup'](lowerRight, [left, upperRight], 'up')).to.equal(1);
48
+ });
49
+
50
+ it('navigates between columns in a 2x2 grid without skipping', () => {
51
+ const topLeft = rect(0, 0, 50, 50);
52
+ const topRight = rect(50, 0, 50, 50);
53
+ const bottomLeft = rect(0, 50, 50, 50);
54
+ const bottomRight = rect(50, 50, 50, 50);
55
+ const candidates = [topRight, bottomLeft, bottomRight];
56
+ expect(contribution['findClosestEditorGroup'](topLeft, candidates, 'right')).to.equal(0);
57
+ expect(contribution['findClosestEditorGroup'](topLeft, candidates, 'down')).to.equal(1);
58
+ });
59
+
60
+ it('returns -1 when no candidate lies in the requested direction', () => {
61
+ const left = rect(0, 0, 50, 100);
62
+ const right = rect(50, 0, 50, 100);
63
+ expect(contribution['findClosestEditorGroup'](left, [right], 'left')).to.equal(-1);
64
+ expect(contribution['findClosestEditorGroup'](left, [right], 'up')).to.equal(-1);
65
+ expect(contribution['findClosestEditorGroup'](left, [], 'right')).to.equal(-1);
66
+ });
67
+ });
68
+ });
@@ -159,6 +159,88 @@ export interface HidDeviceData {
159
159
  readonly collections: [];
160
160
  }
161
161
 
162
+ export type EditorGroupNavigationDirection = 'left' | 'right' | 'up' | 'down';
163
+
164
+ export interface EditorGroupNavigationRect {
165
+ left: number;
166
+ right: number;
167
+ top: number;
168
+ bottom: number;
169
+ width: number;
170
+ height: number;
171
+ }
172
+
173
+ type EditorGroupNavigationScore = [
174
+ orthogonalRank: number,
175
+ orthogonalGap: number,
176
+ primaryDistance: number,
177
+ orthogonalCenterDistance: number,
178
+ orthogonalStart: number
179
+ ];
180
+
181
+ function isInDirection(source: EditorGroupNavigationRect, candidate: EditorGroupNavigationRect, direction: EditorGroupNavigationDirection): boolean {
182
+ const sourceCenter = rectCenter(source);
183
+ const candidateCenter = rectCenter(candidate);
184
+ switch (direction) {
185
+ case 'left':
186
+ return candidateCenter.x < sourceCenter.x;
187
+ case 'right':
188
+ return candidateCenter.x > sourceCenter.x;
189
+ case 'up':
190
+ return candidateCenter.y < sourceCenter.y;
191
+ case 'down':
192
+ return candidateCenter.y > sourceCenter.y;
193
+ }
194
+ }
195
+
196
+ function score(source: EditorGroupNavigationRect, candidate: EditorGroupNavigationRect, direction: EditorGroupNavigationDirection): EditorGroupNavigationScore {
197
+ const horizontal = direction === 'left' || direction === 'right';
198
+ const sourceCenter = rectCenter(source);
199
+ const candidateCenter = rectCenter(candidate);
200
+ const orthogonalOverlap = horizontal
201
+ ? intervalOverlap(source.top, source.bottom, candidate.top, candidate.bottom)
202
+ : intervalOverlap(source.left, source.right, candidate.left, candidate.right);
203
+ return [
204
+ orthogonalOverlap > 0 ? 0 : 1,
205
+ Math.max(0, -orthogonalOverlap),
206
+ directionalDistance(source, candidate, direction),
207
+ horizontal ? Math.abs(sourceCenter.y - candidateCenter.y) : Math.abs(sourceCenter.x - candidateCenter.x),
208
+ horizontal ? candidate.top : candidate.left
209
+ ];
210
+ }
211
+
212
+ function compareScore(left: EditorGroupNavigationScore, right: EditorGroupNavigationScore): number {
213
+ return left[0] - right[0]
214
+ || left[1] - right[1]
215
+ || left[2] - right[2]
216
+ || left[3] - right[3]
217
+ || left[4] - right[4];
218
+ }
219
+
220
+ function directionalDistance(source: EditorGroupNavigationRect, candidate: EditorGroupNavigationRect, direction: EditorGroupNavigationDirection): number {
221
+ switch (direction) {
222
+ case 'left':
223
+ return Math.max(0, source.left - candidate.right);
224
+ case 'right':
225
+ return Math.max(0, candidate.left - source.right);
226
+ case 'up':
227
+ return Math.max(0, source.top - candidate.bottom);
228
+ case 'down':
229
+ return Math.max(0, candidate.top - source.bottom);
230
+ }
231
+ }
232
+
233
+ function rectCenter(rect: EditorGroupNavigationRect): { x: number, y: number } {
234
+ return {
235
+ x: rect.left + rect.width / 2,
236
+ y: rect.top + rect.height / 2
237
+ };
238
+ }
239
+
240
+ function intervalOverlap(start: number, end: number, candidateStart: number, candidateEnd: number): number {
241
+ return Math.min(end, candidateEnd) - Math.max(start, candidateStart);
242
+ }
243
+
162
244
  @injectable()
163
245
  export class PluginVscodeCommandsContribution implements CommandContribution {
164
246
  @inject(CommandService)
@@ -254,6 +336,105 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
254
336
  return false;
255
337
  }
256
338
 
339
+ protected navigateEditorGroup(direction: EditorGroupNavigationDirection): boolean {
340
+ const current = this.currentMainAreaTabBar();
341
+ const currentRect = current && this.getEditorGroupRect(current);
342
+ if (!current || current.titles.length === 0 || !currentRect) {
343
+ return false;
344
+ }
345
+
346
+ const candidates: TabBar<Widget>[] = [];
347
+ const candidateRects: EditorGroupNavigationRect[] = [];
348
+ for (const tabBar of this.shell.mainAreaTabBars) {
349
+ if (tabBar === current || tabBar.titles.length === 0) {
350
+ continue;
351
+ }
352
+ const candidateRect = this.getEditorGroupRect(tabBar);
353
+ if (candidateRect) {
354
+ candidates.push(tabBar);
355
+ candidateRects.push(candidateRect);
356
+ }
357
+ }
358
+ const index = this.findClosestEditorGroup(currentRect, candidateRects, direction);
359
+ return index === -1 ? false : this.activateEditorGroup(candidates[index]);
360
+ }
361
+
362
+ protected findClosestEditorGroup(source: EditorGroupNavigationRect, candidates: ReadonlyArray<EditorGroupNavigationRect>, direction: EditorGroupNavigationDirection): number {
363
+ let bestIndex = -1;
364
+ let bestScore: EditorGroupNavigationScore | undefined;
365
+ for (let index = 0; index < candidates.length; index++) {
366
+ const candidate = candidates[index];
367
+ if (!isInDirection(source, candidate, direction)) {
368
+ continue;
369
+ }
370
+ const candidateScore = score(source, candidate, direction);
371
+ if (!bestScore || compareScore(candidateScore, bestScore) < 0) {
372
+ bestIndex = index;
373
+ bestScore = candidateScore;
374
+ }
375
+ }
376
+ return bestIndex;
377
+ }
378
+
379
+ protected navigateEditorGroups(): boolean {
380
+ const current = this.currentMainAreaTabBar();
381
+ const tabBars = this.shell.mainAreaTabBars.filter(tabBar => tabBar.titles.length > 0);
382
+ if (!current || tabBars.length < 2) {
383
+ return false;
384
+ }
385
+ const currentIndex = tabBars.indexOf(current);
386
+ if (currentIndex === -1) {
387
+ return false;
388
+ }
389
+ const target = tabBars[(currentIndex + 1) % tabBars.length];
390
+ return this.activateEditorGroup(target);
391
+ }
392
+
393
+ protected currentMainAreaTabBar(): TabBar<Widget> | undefined {
394
+ const mainAreaTabBars = this.shell.mainAreaTabBars;
395
+ const currentTabBar = this.shell.currentTabBar;
396
+ if (currentTabBar && mainAreaTabBars.includes(currentTabBar)) {
397
+ return currentTabBar;
398
+ }
399
+ const currentEditor = this.editorManager.currentEditor || this.editorManager.activeEditor;
400
+ if (currentEditor) {
401
+ const tabBar = this.shell.getTabBarFor(currentEditor);
402
+ if (tabBar && mainAreaTabBars.includes(tabBar)) {
403
+ return tabBar;
404
+ }
405
+ }
406
+ return undefined;
407
+ }
408
+
409
+ protected getEditorGroupRect(tabBar: TabBar<Widget>): EditorGroupNavigationRect | undefined {
410
+ const title = tabBar.currentTitle || tabBar.titles[0];
411
+ const rects = [
412
+ tabBar.node.getBoundingClientRect(),
413
+ title?.owner.node.getBoundingClientRect()
414
+ ].filter((rect): rect is DOMRect => !!rect && rect.width > 0 && rect.height > 0);
415
+ if (rects.length === 0) {
416
+ return undefined;
417
+ }
418
+ const left = Math.min(...rects.map(rect => rect.left));
419
+ const right = Math.max(...rects.map(rect => rect.right));
420
+ const top = Math.min(...rects.map(rect => rect.top));
421
+ const bottom = Math.max(...rects.map(rect => rect.bottom));
422
+ return { left, right, top, bottom, width: right - left, height: bottom - top };
423
+ }
424
+
425
+ protected activateEditorGroup(tabBar: TabBar<Widget>): boolean {
426
+ let title = tabBar.currentTitle;
427
+ if (!title && tabBar.titles.length > 0) {
428
+ tabBar.currentIndex = 0;
429
+ title = tabBar.currentTitle;
430
+ }
431
+ if (!title) {
432
+ return false;
433
+ }
434
+ this.shell.activateWidget(title.owner.id);
435
+ return true;
436
+ }
437
+
257
438
  registerCommands(commands: CommandRegistry): void {
258
439
  commands.registerCommand(VscodeCommands.GET_CODE_EXCHANGE_ENDPOINTS, {
259
440
  execute: () => undefined // this is a dummy implementation: only used in the case of web apps, which is not supported yet.
@@ -573,6 +754,41 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
573
754
  commands.registerCommand({ id: 'workbench.action.previousEditor' }, {
574
755
  execute: () => this.shell.activatePreviousTab()
575
756
  });
757
+ commands.registerCommand({
758
+ id: 'workbench.action.navigateLeft',
759
+ label: nls.localizeByDefault('Navigate to the View on the Left'),
760
+ category: nls.localizeByDefault('View')
761
+ }, {
762
+ execute: () => this.navigateEditorGroup('left')
763
+ });
764
+ commands.registerCommand({
765
+ id: 'workbench.action.navigateRight',
766
+ label: nls.localizeByDefault('Navigate to the View on the Right'),
767
+ category: nls.localizeByDefault('View')
768
+ }, {
769
+ execute: () => this.navigateEditorGroup('right')
770
+ });
771
+ commands.registerCommand({
772
+ id: 'workbench.action.navigateUp',
773
+ label: nls.localizeByDefault('Navigate to the View Above'),
774
+ category: nls.localizeByDefault('View')
775
+ }, {
776
+ execute: () => this.navigateEditorGroup('up')
777
+ });
778
+ commands.registerCommand({
779
+ id: 'workbench.action.navigateDown',
780
+ label: nls.localizeByDefault('Navigate to the View Below'),
781
+ category: nls.localizeByDefault('View')
782
+ }, {
783
+ execute: () => this.navigateEditorGroup('down')
784
+ });
785
+ commands.registerCommand({
786
+ id: 'workbench.action.navigateEditorGroups',
787
+ label: nls.localizeByDefault('Navigate Between Editor Groups'),
788
+ category: nls.localizeByDefault('View')
789
+ }, {
790
+ execute: () => this.navigateEditorGroups()
791
+ });
576
792
  commands.registerCommand({ id: 'workbench.action.navigateBack' }, {
577
793
  execute: () => commands.executeCommand(EditorCommands.GO_BACK.id)
578
794
  });