@aws/lsp-codewhisperer 0.0.71 → 0.0.73
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.
- package/CHANGELOG.md +37 -0
- package/out/language-server/agenticChat/agenticChatController.js +116 -71
- package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
- package/out/language-server/agenticChat/agenticChatResultStream.d.ts +4 -27
- package/out/language-server/agenticChat/agenticChatResultStream.js +14 -31
- package/out/language-server/agenticChat/agenticChatResultStream.js.map +1 -1
- package/out/language-server/agenticChat/constants/modelSelection.js +1 -1
- package/out/language-server/agenticChat/constants/modelSelection.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +7 -1
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js +64 -17
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/util.d.ts +3 -2
- package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
- package/out/language-server/agenticChat/tools/executeBash.d.ts +1 -0
- package/out/language-server/agenticChat/tools/executeBash.js +33 -0
- package/out/language-server/agenticChat/tools/executeBash.js.map +1 -1
- package/out/language-server/agenticChat/tools/fileSearch.d.ts +1 -0
- package/out/language-server/agenticChat/tools/fileSearch.js +4 -0
- package/out/language-server/agenticChat/tools/fileSearch.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js +22 -18
- package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpManager.d.ts +1 -0
- package/out/language-server/agenticChat/tools/mcp/mcpManager.js +68 -32
- package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpTypes.d.ts +1 -0
- package/out/language-server/agenticChat/tools/mcp/mcpTypes.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpUtils.d.ts +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpUtils.js +70 -7
- package/out/language-server/agenticChat/tools/mcp/mcpUtils.js.map +1 -1
- package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsConstants.js +1 -0
- package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsConstants.js.map +1 -1
- package/out/language-server/agenticChat/utils/agenticChatControllerHelper.js +1 -1
- package/out/language-server/agenticChat/utils/agenticChatControllerHelper.js.map +1 -1
- package/out/language-server/chat/chatSessionService.js +1 -1
- package/out/language-server/chat/chatSessionService.js.map +1 -1
- package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +1 -0
- package/out/language-server/chat/telemetry/chatTelemetryController.js +11 -0
- package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
- package/out/language-server/inline-completion/codeDiffTracker.d.ts +9 -0
- package/out/language-server/inline-completion/codeDiffTracker.js.map +1 -1
- package/out/language-server/inline-completion/codePercentage.d.ts +2 -0
- package/out/language-server/inline-completion/codePercentage.js +10 -2
- package/out/language-server/inline-completion/codePercentage.js.map +1 -1
- package/out/language-server/inline-completion/codeWhispererServer.d.ts +0 -3
- package/out/language-server/inline-completion/codeWhispererServer.js +91 -200
- package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
- package/out/language-server/inline-completion/constants.d.ts +10 -0
- package/out/language-server/inline-completion/constants.js +35 -0
- package/out/language-server/inline-completion/constants.js.map +1 -0
- package/out/language-server/inline-completion/diffUtils.d.ts +15 -0
- package/out/language-server/inline-completion/diffUtils.js +53 -0
- package/out/language-server/inline-completion/diffUtils.js.map +1 -1
- package/out/language-server/inline-completion/documentChangedListener.d.ts +8 -0
- package/out/language-server/inline-completion/documentChangedListener.js +20 -0
- package/out/language-server/inline-completion/documentChangedListener.js.map +1 -0
- package/out/language-server/inline-completion/editCompletionHandler.d.ts +49 -0
- package/out/language-server/inline-completion/editCompletionHandler.js +328 -0
- package/out/language-server/inline-completion/editCompletionHandler.js.map +1 -0
- package/out/language-server/inline-completion/session/sessionManager.d.ts +9 -3
- package/out/language-server/inline-completion/session/sessionManager.js +31 -7
- package/out/language-server/inline-completion/session/sessionManager.js.map +1 -1
- package/out/language-server/inline-completion/telemetry.d.ts +3 -3
- package/out/language-server/inline-completion/telemetry.js +11 -5
- package/out/language-server/inline-completion/telemetry.js.map +1 -1
- package/out/language-server/inline-completion/trigger.d.ts +17 -0
- package/out/language-server/inline-completion/trigger.js +42 -0
- package/out/language-server/inline-completion/trigger.js.map +1 -0
- package/out/language-server/workspaceContext/IdleWorkspaceManager.d.ts +13 -0
- package/out/language-server/workspaceContext/IdleWorkspaceManager.js +39 -0
- package/out/language-server/workspaceContext/IdleWorkspaceManager.js.map +1 -0
- package/out/language-server/workspaceContext/artifactManager.js +14 -0
- package/out/language-server/workspaceContext/artifactManager.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.d.ts +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js +2 -1
- package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js.map +1 -1
- package/out/language-server/workspaceContext/workspaceContextServer.js +2 -6
- package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
- package/out/language-server/workspaceContext/workspaceFolderManager.d.ts +8 -5
- package/out/language-server/workspaceContext/workspaceFolderManager.js +109 -82
- package/out/language-server/workspaceContext/workspaceFolderManager.js.map +1 -1
- package/out/shared/codeWhispererService.d.ts +36 -1
- package/out/shared/codeWhispererService.js +112 -9
- package/out/shared/codeWhispererService.js.map +1 -1
- package/out/shared/constants.d.ts +1 -0
- package/out/shared/constants.js +2 -1
- package/out/shared/constants.js.map +1 -1
- package/out/shared/supplementalContextUtil/crossFileContextUtil.d.ts +3 -4
- package/out/shared/supplementalContextUtil/crossFileContextUtil.js +5 -5
- package/out/shared/supplementalContextUtil/crossFileContextUtil.js.map +1 -1
- package/out/shared/supplementalContextUtil/supplementalContextUtil.d.ts +1 -2
- package/out/shared/supplementalContextUtil/supplementalContextUtil.js +2 -2
- package/out/shared/supplementalContextUtil/supplementalContextUtil.js.map +1 -1
- package/out/shared/telemetry/telemetryService.d.ts +2 -2
- package/out/shared/telemetry/telemetryService.js +8 -5
- package/out/shared/telemetry/telemetryService.js.map +1 -1
- package/out/shared/telemetry/types.d.ts +8 -0
- package/out/shared/telemetry/types.js +1 -0
- package/out/shared/telemetry/types.js.map +1 -1
- package/out/shared/utils.d.ts +1 -0
- package/out/shared/utils.js +10 -1
- package/out/shared/utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CodeWhispererServerToken = exports.CodeWhispererServerIAM = exports.CodewhispererServerFactory =
|
|
3
|
+
exports.CodeWhispererServerToken = exports.CodeWhispererServerIAM = exports.CodewhispererServerFactory = void 0;
|
|
4
4
|
const server_interface_1 = require("@aws/language-server-runtimes/server-interface");
|
|
5
5
|
const autoTrigger_1 = require("./auto-trigger/autoTrigger");
|
|
6
6
|
const codeWhispererService_1 = require("../../shared/codeWhispererService");
|
|
@@ -10,7 +10,6 @@ const sessionManager_1 = require("./session/sessionManager");
|
|
|
10
10
|
const codePercentage_1 = require("./codePercentage");
|
|
11
11
|
const utils_1 = require("../../shared/utils");
|
|
12
12
|
const telemetryUtils_1 = require("../../shared/telemetryUtils");
|
|
13
|
-
const supplementalContextUtil_1 = require("../../shared/supplementalContextUtil/supplementalContextUtil");
|
|
14
13
|
const lsp_core_1 = require("@aws/lsp-core");
|
|
15
14
|
const telemetryService_1 = require("../../shared/telemetry/telemetryService");
|
|
16
15
|
const codeDiffTracker_1 = require("./codeDiffTracker");
|
|
@@ -19,42 +18,17 @@ const AmazonQTokenServiceManager_1 = require("../../shared/amazonQServiceManager
|
|
|
19
18
|
const utils_2 = require("../../shared/utils");
|
|
20
19
|
const AmazonQIAMServiceManager_1 = require("../../shared/amazonQServiceManager/AmazonQIAMServiceManager");
|
|
21
20
|
const workspaceFolderManager_1 = require("../workspaceContext/workspaceFolderManager");
|
|
22
|
-
const path = require("path");
|
|
23
|
-
const util_1 = require("../workspaceContext/util");
|
|
24
21
|
const userWrittenCodeTracker_1 = require("../../shared/userWrittenCodeTracker");
|
|
25
22
|
const codeEditTracker_1 = require("./tracker/codeEditTracker");
|
|
26
23
|
const cursorTracker_1 = require("./tracker/cursorTracker");
|
|
27
24
|
const rejectedEditTracker_1 = require("./tracker/rejectedEditTracker");
|
|
28
25
|
const diffUtils_1 = require("./diffUtils");
|
|
29
26
|
const telemetry_1 = require("./telemetry");
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
// Both clients (token, sigv4) define their own types, this return value needs to match both of them.
|
|
36
|
-
const getFileContext = (params) => {
|
|
37
|
-
const left = params.textDocument.getText({
|
|
38
|
-
start: { line: 0, character: 0 },
|
|
39
|
-
end: params.position,
|
|
40
|
-
});
|
|
41
|
-
const right = params.textDocument.getText({
|
|
42
|
-
start: params.position,
|
|
43
|
-
end: params.textDocument.positionAt(params.textDocument.getText().length),
|
|
44
|
-
});
|
|
45
|
-
const relativeFilePath = params.workspaceFolder
|
|
46
|
-
? (0, util_1.getRelativePath)(params.workspaceFolder, params.textDocument.uri)
|
|
47
|
-
: path.basename(params.textDocument.uri);
|
|
48
|
-
return {
|
|
49
|
-
fileUri: params.textDocument.uri.substring(0, exports.FILE_URI_CHARS_LIMIT),
|
|
50
|
-
filename: relativeFilePath.substring(0, exports.FILENAME_CHARS_LIMIT),
|
|
51
|
-
programmingLanguage: {
|
|
52
|
-
languageName: (0, languageDetection_1.getRuntimeLanguage)(params.inferredLanguageId),
|
|
53
|
-
},
|
|
54
|
-
leftFileContent: left,
|
|
55
|
-
rightFileContent: right,
|
|
56
|
-
};
|
|
57
|
-
};
|
|
27
|
+
const documentChangedListener_1 = require("./documentChangedListener");
|
|
28
|
+
const editCompletionHandler_1 = require("./editCompletionHandler");
|
|
29
|
+
const constants_1 = require("./constants");
|
|
30
|
+
const IdleWorkspaceManager_1 = require("../workspaceContext/IdleWorkspaceManager");
|
|
31
|
+
const vscode_uri_1 = require("vscode-uri");
|
|
58
32
|
const mergeSuggestionsWithRightContext = (rightFileContext, suggestions, includeImportsWithSuggestions, range) => {
|
|
59
33
|
return suggestions.map(suggestion => {
|
|
60
34
|
const insertText = (0, mergeRightUtils_1.truncateOverlapWithRightContext)(rightFileContext, suggestion.content);
|
|
@@ -87,7 +61,8 @@ const mergeSuggestionsWithRightContext = (rightFileContext, suggestions, include
|
|
|
87
61
|
const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, lsp, workspace, telemetry, logging, runtime, sdkInitializator }) => {
|
|
88
62
|
let lastUserModificationTime;
|
|
89
63
|
let timeSinceLastUserModification = 0;
|
|
90
|
-
const
|
|
64
|
+
const completionSessionManager = sessionManager_1.SessionManager.getInstance('COMPLETIONS');
|
|
65
|
+
const editSessionManager = sessionManager_1.SessionManager.getInstance('EDITS');
|
|
91
66
|
// AmazonQTokenServiceManager and TelemetryService are initialized in `onInitialized` handler to make sure Language Server connection is started
|
|
92
67
|
let amazonQServiceManager;
|
|
93
68
|
let telemetryService;
|
|
@@ -100,26 +75,29 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
100
75
|
let codePercentageTracker;
|
|
101
76
|
let userWrittenCodeTracker;
|
|
102
77
|
let codeDiffTracker;
|
|
78
|
+
let editCompletionHandler;
|
|
103
79
|
// Trackers for monitoring edits and cursor position.
|
|
104
80
|
const recentEditTracker = codeEditTracker_1.RecentEditTracker.getInstance(logging, codeEditTracker_1.RecentEditTrackerDefaultConfig);
|
|
105
81
|
const cursorTracker = cursorTracker_1.CursorTracker.getInstance();
|
|
106
82
|
const rejectedEditTracker = rejectedEditTracker_1.RejectedEditTracker.getInstance(logging, rejectedEditTracker_1.DEFAULT_REJECTED_EDIT_TRACKER_CONFIG);
|
|
107
83
|
let editsEnabled = false;
|
|
108
84
|
let isOnInlineCompletionHandlerInProgress = false;
|
|
85
|
+
const documentChangedListener = new documentChangedListener_1.DocumentChangedListener();
|
|
109
86
|
const onInlineCompletionHandler = async (params, token) => {
|
|
110
87
|
// this handle should not run concurrently because
|
|
111
88
|
// 1. it would create a high volume of traffic, causing throttling
|
|
112
89
|
// 2. it is not designed to handle concurrent changes to these state variables.
|
|
113
90
|
// when one handler is at the API call stage, it has not yet update the session state
|
|
114
91
|
// but another request can start, causing the state to be incorrect.
|
|
92
|
+
IdleWorkspaceManager_1.IdleWorkspaceManager.recordActivityTimestamp();
|
|
115
93
|
if (isOnInlineCompletionHandlerInProgress) {
|
|
116
94
|
logging.log(`Skip concurrent inline completion`);
|
|
117
|
-
return EMPTY_RESULT;
|
|
95
|
+
return constants_1.EMPTY_RESULT;
|
|
118
96
|
}
|
|
119
97
|
isOnInlineCompletionHandlerInProgress = true;
|
|
120
98
|
try {
|
|
121
99
|
// On every new completion request close current inflight session.
|
|
122
|
-
const currentSession =
|
|
100
|
+
const currentSession = completionSessionManager.getCurrentSession();
|
|
123
101
|
if (currentSession && currentSession.state == 'REQUESTING' && !params.partialResultToken) {
|
|
124
102
|
// this REQUESTING state only happens when the session is initialized, which is rare
|
|
125
103
|
currentSession.discardInflightSessionOnNewInvocation = true;
|
|
@@ -127,7 +105,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
127
105
|
if (cursorTracker) {
|
|
128
106
|
cursorTracker.trackPosition(params.textDocument.uri, params.position);
|
|
129
107
|
}
|
|
130
|
-
const textDocument = await
|
|
108
|
+
const textDocument = await getTextDocument(params.textDocument.uri, workspace, logging);
|
|
131
109
|
const codeWhispererService = amazonQServiceManager.getCodewhispererService();
|
|
132
110
|
if (params.partialResultToken && currentSession) {
|
|
133
111
|
// subsequent paginated requests for current session
|
|
@@ -136,12 +114,6 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
136
114
|
...currentSession.requestContext,
|
|
137
115
|
fileContext: {
|
|
138
116
|
...currentSession.requestContext.fileContext,
|
|
139
|
-
leftFileContent: currentSession.requestContext.fileContext.leftFileContent
|
|
140
|
-
.slice(-exports.CONTEXT_CHARACTERS_LIMIT)
|
|
141
|
-
.replaceAll('\r\n', '\n'),
|
|
142
|
-
rightFileContent: currentSession.requestContext.fileContext.rightFileContent
|
|
143
|
-
.slice(0, exports.CONTEXT_CHARACTERS_LIMIT)
|
|
144
|
-
.replaceAll('\r\n', '\n'),
|
|
145
117
|
},
|
|
146
118
|
nextToken: `${params.partialResultToken}`,
|
|
147
119
|
});
|
|
@@ -155,18 +127,18 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
155
127
|
// request for new session
|
|
156
128
|
if (!textDocument) {
|
|
157
129
|
logging.log(`textDocument [${params.textDocument.uri}] not found`);
|
|
158
|
-
return EMPTY_RESULT;
|
|
130
|
+
return constants_1.EMPTY_RESULT;
|
|
159
131
|
}
|
|
160
132
|
const inferredLanguageId = (0, languageDetection_1.getSupportedLanguageId)(textDocument);
|
|
161
133
|
if (!inferredLanguageId) {
|
|
162
134
|
logging.log(`textDocument [${params.textDocument.uri}] with languageId [${textDocument.languageId}] not supported`);
|
|
163
|
-
return EMPTY_RESULT;
|
|
135
|
+
return constants_1.EMPTY_RESULT;
|
|
164
136
|
}
|
|
165
137
|
// Build request context
|
|
166
138
|
const isAutomaticLspTriggerKind = params.context.triggerKind == server_interface_1.InlineCompletionTriggerKind.Automatic;
|
|
167
139
|
const maxResults = isAutomaticLspTriggerKind ? 1 : 5;
|
|
168
140
|
const selectionRange = params.context.selectedCompletionInfo?.range;
|
|
169
|
-
const fileContext = getFileContext({
|
|
141
|
+
const fileContext = (0, codeWhispererService_1.getFileContext)({
|
|
170
142
|
textDocument,
|
|
171
143
|
inferredLanguageId,
|
|
172
144
|
position: params.position,
|
|
@@ -176,7 +148,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
176
148
|
const workspaceId = workspaceState?.webSocketClient?.isConnected()
|
|
177
149
|
? workspaceState.workspaceId
|
|
178
150
|
: undefined;
|
|
179
|
-
const previousSession =
|
|
151
|
+
const previousSession = completionSessionManager.getPreviousSession();
|
|
180
152
|
const previousDecision = previousSession?.getAggregatedUserTriggerDecision() ?? '';
|
|
181
153
|
let ideCategory = '';
|
|
182
154
|
const initializeParams = lsp.getClientInitializeParams();
|
|
@@ -203,7 +175,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
203
175
|
// See: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/keyStrokeHandler.ts#L132
|
|
204
176
|
// In such cases, do not auto trigger.
|
|
205
177
|
if (codewhispererAutoTriggerType === undefined) {
|
|
206
|
-
return EMPTY_RESULT;
|
|
178
|
+
return constants_1.EMPTY_RESULT;
|
|
207
179
|
}
|
|
208
180
|
autoTriggerResult = (0, autoTrigger_1.autoTrigger)({
|
|
209
181
|
fileContext, // The left/right file context and programming language
|
|
@@ -214,98 +186,17 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
214
186
|
previousDecision, // The last decision by the user on the previous invocation
|
|
215
187
|
triggerType: codewhispererAutoTriggerType, // The 2 trigger types currently influencing the Auto-Trigger are SpecialCharacter and Enter
|
|
216
188
|
}, logging);
|
|
217
|
-
if (codewhispererAutoTriggerType === 'Classifier' &&
|
|
218
|
-
|
|
219
|
-
!(editsEnabled && codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken) // There is still potentially a Edit trigger without Completion if NEP is enabled (current only BearerTokenClient)
|
|
220
|
-
) {
|
|
221
|
-
return EMPTY_RESULT;
|
|
189
|
+
if (codewhispererAutoTriggerType === 'Classifier' && !autoTriggerResult.shouldTrigger) {
|
|
190
|
+
return constants_1.EMPTY_RESULT;
|
|
222
191
|
}
|
|
223
192
|
}
|
|
224
|
-
// Get supplemental context from recent edits if available.
|
|
225
|
-
let supplementalContextFromEdits = undefined;
|
|
226
|
-
// supplementalContext available only via token authentication
|
|
227
|
-
const supplementalContextPromise = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken
|
|
228
|
-
? (0, supplementalContextUtil_1.fetchSupplementalContext)(textDocument, params.position, workspace, logging, token, amazonQServiceManager, params.openTabFilepaths)
|
|
229
|
-
: Promise.resolve(undefined);
|
|
230
193
|
let requestContext = {
|
|
231
194
|
fileContext,
|
|
232
195
|
maxResults,
|
|
233
196
|
};
|
|
234
|
-
const supplementalContext = await
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
const supplementalContextItems = supplementalContext?.supplementalContextItems || [];
|
|
238
|
-
requestContext.supplementalContexts = [
|
|
239
|
-
...supplementalContextItems.map(v => ({
|
|
240
|
-
content: v.content,
|
|
241
|
-
filePath: v.filePath,
|
|
242
|
-
})),
|
|
243
|
-
];
|
|
244
|
-
if (editsEnabled) {
|
|
245
|
-
const predictionTypes = [];
|
|
246
|
-
/**
|
|
247
|
-
* Manual trigger - should always have 'Completions'
|
|
248
|
-
* Auto trigger
|
|
249
|
-
* - Classifier - should have 'Completions' when classifier evalualte to true given the editor's states
|
|
250
|
-
* - Others - should always have 'Completions'
|
|
251
|
-
*/
|
|
252
|
-
if (!isAutomaticLspTriggerKind ||
|
|
253
|
-
(isAutomaticLspTriggerKind && codewhispererAutoTriggerType !== 'Classifier') ||
|
|
254
|
-
(isAutomaticLspTriggerKind &&
|
|
255
|
-
codewhispererAutoTriggerType === 'Classifier' &&
|
|
256
|
-
autoTriggerResult?.shouldTrigger)) {
|
|
257
|
-
predictionTypes.push(['COMPLETIONS']);
|
|
258
|
-
}
|
|
259
|
-
const editPredictionAutoTriggerResult = editPredictionAutoTrigger({
|
|
260
|
-
fileContext: fileContext,
|
|
261
|
-
lineNum: params.position.line,
|
|
262
|
-
char: triggerCharacters,
|
|
263
|
-
previousDecision: previousDecision,
|
|
264
|
-
cursorHistory: cursorTracker,
|
|
265
|
-
recentEdits: recentEditTracker,
|
|
266
|
-
});
|
|
267
|
-
if (editPredictionAutoTriggerResult.shouldTrigger) {
|
|
268
|
-
predictionTypes.push(['EDITS']);
|
|
269
|
-
}
|
|
270
|
-
if (predictionTypes.length === 0) {
|
|
271
|
-
return EMPTY_RESULT;
|
|
272
|
-
}
|
|
273
|
-
// Step 0: Determine if we have "Recent Edit context"
|
|
274
|
-
if (recentEditTracker) {
|
|
275
|
-
supplementalContextFromEdits =
|
|
276
|
-
await recentEditTracker.generateEditBasedContext(textDocument);
|
|
277
|
-
}
|
|
278
|
-
// Step 1: Recent Edits context
|
|
279
|
-
const supplementalContextItemsForEdits = supplementalContextFromEdits?.supplementalContextItems || [];
|
|
280
|
-
requestContext.supplementalContexts.push(...supplementalContextItemsForEdits.map(v => ({
|
|
281
|
-
content: v.content,
|
|
282
|
-
filePath: v.filePath,
|
|
283
|
-
type: 'PreviousEditorState',
|
|
284
|
-
metadata: {
|
|
285
|
-
previousEditorStateMetadata: {
|
|
286
|
-
timeOffset: 1000,
|
|
287
|
-
},
|
|
288
|
-
},
|
|
289
|
-
})));
|
|
290
|
-
// Step 2: Prediction type COMPLETION, Edits or both
|
|
291
|
-
requestContext.predictionTypes = predictionTypes.flat();
|
|
292
|
-
// Step 3: Current Editor/Cursor state
|
|
293
|
-
requestContext.editorState = {
|
|
294
|
-
document: {
|
|
295
|
-
relativeFilePath: textDocument.uri,
|
|
296
|
-
programmingLanguage: {
|
|
297
|
-
languageName: requestContext.fileContext.programmingLanguage.languageName,
|
|
298
|
-
},
|
|
299
|
-
text: textDocument.getText(),
|
|
300
|
-
},
|
|
301
|
-
cursorState: {
|
|
302
|
-
position: {
|
|
303
|
-
line: params.position.line,
|
|
304
|
-
character: params.position.character,
|
|
305
|
-
},
|
|
306
|
-
},
|
|
307
|
-
};
|
|
308
|
-
}
|
|
197
|
+
const supplementalContext = await codeWhispererService.constructSupplementalContext(textDocument, params.position, workspace, recentEditTracker, logging, token, params.openTabFilepaths, { includeRecentEdits: false });
|
|
198
|
+
if (supplementalContext?.items) {
|
|
199
|
+
requestContext.supplementalContexts = supplementalContext.items;
|
|
309
200
|
}
|
|
310
201
|
// Close ACTIVE session and record Discard trigger decision immediately
|
|
311
202
|
if (currentSession && currentSession.state === 'ACTIVE') {
|
|
@@ -319,28 +210,12 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
319
210
|
}
|
|
320
211
|
}
|
|
321
212
|
// Emit user trigger decision at session close time for active session
|
|
322
|
-
|
|
323
|
-
const streakLength = editsEnabled ?
|
|
213
|
+
completionSessionManager.discardSession(currentSession);
|
|
214
|
+
const streakLength = editsEnabled ? completionSessionManager.getAndUpdateStreakLength(false) : 0;
|
|
324
215
|
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, currentSession, timeSinceLastUserModification, 0, 0, [], [], streakLength);
|
|
325
216
|
}
|
|
326
|
-
const supplementalMetadata =
|
|
327
|
-
|
|
328
|
-
// Merge metadata from edit-based context if available.
|
|
329
|
-
contentsLength: (supplementalContext?.contentsLength || 0) +
|
|
330
|
-
(supplementalContextFromEdits?.contentsLength || 0),
|
|
331
|
-
latency: Math.max(supplementalContext?.latency || 0, supplementalContextFromEdits?.latency || 0),
|
|
332
|
-
isUtg: supplementalContext?.isUtg || false,
|
|
333
|
-
isProcessTimeout: supplementalContext?.isProcessTimeout || false,
|
|
334
|
-
strategy: supplementalContextFromEdits
|
|
335
|
-
? 'recentEdits'
|
|
336
|
-
: supplementalContext?.strategy || 'Empty',
|
|
337
|
-
supplementalContextItems: [
|
|
338
|
-
...(supplementalContext?.supplementalContextItems || []),
|
|
339
|
-
...(supplementalContextFromEdits?.supplementalContextItems || []),
|
|
340
|
-
],
|
|
341
|
-
}
|
|
342
|
-
: supplementalContext;
|
|
343
|
-
const newSession = sessionManager.createSession({
|
|
217
|
+
const supplementalMetadata = supplementalContext?.supContextData;
|
|
218
|
+
const newSession = completionSessionManager.createSession({
|
|
344
219
|
document: textDocument,
|
|
345
220
|
startPosition: params.position,
|
|
346
221
|
triggerType: isAutomaticLspTriggerKind ? 'AutoTrigger' : 'OnDemand',
|
|
@@ -362,15 +237,6 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
362
237
|
}
|
|
363
238
|
const generateCompletionReq = {
|
|
364
239
|
...requestContext,
|
|
365
|
-
fileContext: {
|
|
366
|
-
...requestContext.fileContext,
|
|
367
|
-
leftFileContent: requestContext.fileContext.leftFileContent
|
|
368
|
-
.slice(-exports.CONTEXT_CHARACTERS_LIMIT)
|
|
369
|
-
.replaceAll('\r\n', '\n'),
|
|
370
|
-
rightFileContent: requestContext.fileContext.rightFileContent
|
|
371
|
-
.slice(0, exports.CONTEXT_CHARACTERS_LIMIT)
|
|
372
|
-
.replaceAll('\r\n', '\n'),
|
|
373
|
-
},
|
|
374
240
|
...(workspaceId ? { workspaceId: workspaceId } : {}),
|
|
375
241
|
};
|
|
376
242
|
try {
|
|
@@ -407,17 +273,17 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
407
273
|
// Discard previous inflight API response due to new trigger
|
|
408
274
|
if (session.discardInflightSessionOnNewInvocation) {
|
|
409
275
|
session.discardInflightSessionOnNewInvocation = false;
|
|
410
|
-
|
|
411
|
-
const streakLength = editsEnabled ?
|
|
276
|
+
completionSessionManager.discardSession(session);
|
|
277
|
+
const streakLength = editsEnabled ? completionSessionManager.getAndUpdateStreakLength(false) : 0;
|
|
412
278
|
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification, 0, 0, [], [], streakLength);
|
|
413
279
|
}
|
|
414
280
|
// session was closed by user already made decisions consequent completion request before new paginated API response was received
|
|
415
281
|
if (session.suggestionType !== codeWhispererService_1.SuggestionType.EDIT && // TODO: this is a shorterm fix to allow Edits tabtabtab experience, however the real solution is to manage such sessions correctly
|
|
416
282
|
(session.state === 'CLOSED' || session.state === 'DISCARD')) {
|
|
417
|
-
return EMPTY_RESULT;
|
|
283
|
+
return constants_1.EMPTY_RESULT;
|
|
418
284
|
}
|
|
419
285
|
// API response was recieved, we can activate session now
|
|
420
|
-
|
|
286
|
+
completionSessionManager.activateSession(session);
|
|
421
287
|
// Process suggestions to apply Empty or Filter filters
|
|
422
288
|
const filteredSuggestions = suggestionResponse.suggestions
|
|
423
289
|
// Empty suggestion filter
|
|
@@ -471,9 +337,9 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
471
337
|
// close session and return empty results
|
|
472
338
|
if (session.suggestionsAfterRightContextMerge.length === 0 &&
|
|
473
339
|
!suggestionResponse.responseContext.nextToken) {
|
|
474
|
-
|
|
340
|
+
completionSessionManager.closeSession(session);
|
|
475
341
|
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification);
|
|
476
|
-
return EMPTY_RESULT;
|
|
342
|
+
return constants_1.EMPTY_RESULT;
|
|
477
343
|
}
|
|
478
344
|
return {
|
|
479
345
|
items: suggestionsWithRightContext,
|
|
@@ -513,7 +379,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
513
379
|
const handleSuggestionsErrors = (error, session) => {
|
|
514
380
|
logging.log('Recommendation failure: ' + error);
|
|
515
381
|
(0, telemetry_1.emitServiceInvocationFailure)(telemetry, session, error);
|
|
516
|
-
|
|
382
|
+
completionSessionManager.closeSession(session);
|
|
517
383
|
let translatedError = error;
|
|
518
384
|
if ((0, utils_2.hasConnectionExpired)(error)) {
|
|
519
385
|
translatedError = new errors_1.AmazonQServiceConnectionExpiredError((0, utils_1.getErrorMessage)(error));
|
|
@@ -523,7 +389,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
523
389
|
awsErrorCode: translatedError.code,
|
|
524
390
|
});
|
|
525
391
|
}
|
|
526
|
-
return EMPTY_RESULT;
|
|
392
|
+
return constants_1.EMPTY_RESULT;
|
|
527
393
|
};
|
|
528
394
|
// Schedule tracker for UserModification Telemetry event
|
|
529
395
|
const enqueueCodeDiffEntry = (session, acceptedSuggestion, addedCharactersForEdit) => {
|
|
@@ -547,6 +413,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
547
413
|
};
|
|
548
414
|
const onLogInlineCompletionSessionResultsHandler = async (params) => {
|
|
549
415
|
const { sessionId, completionSessionResult, firstCompletionDisplayLatency, totalSessionDisplayTime, typeaheadLength, isInlineEdit, addedDiagnostics, removedDiagnostics, } = params;
|
|
416
|
+
const sessionManager = params.isInlineEdit ? editSessionManager : completionSessionManager;
|
|
550
417
|
const session = sessionManager.getSessionById(sessionId);
|
|
551
418
|
if (!session) {
|
|
552
419
|
logging.log(`ERROR: Session ID ${sessionId} was not found`);
|
|
@@ -559,28 +426,25 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
559
426
|
const acceptedItemId = Object.keys(params.completionSessionResult).find(k => params.completionSessionResult[k].accepted);
|
|
560
427
|
const isAccepted = acceptedItemId ? true : false;
|
|
561
428
|
const acceptedSuggestion = session.suggestions.find(s => s.itemId === acceptedItemId);
|
|
562
|
-
let
|
|
563
|
-
let
|
|
564
|
-
if (acceptedSuggestion
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
codePercentageTracker.countTotalTokens(session.language, acceptedSuggestion.insertText, true);
|
|
582
|
-
enqueueCodeDiffEntry(session, acceptedSuggestion);
|
|
583
|
-
}
|
|
429
|
+
let addedLengthForEdits = 0;
|
|
430
|
+
let deletedLengthForEdits = 0;
|
|
431
|
+
if (acceptedSuggestion) {
|
|
432
|
+
codePercentageTracker.countSuccess(session.language);
|
|
433
|
+
if (session.suggestionType === codeWhispererService_1.SuggestionType.EDIT && acceptedSuggestion.content) {
|
|
434
|
+
// [acceptedSuggestion.insertText] will be undefined for NEP suggestion. Use [acceptedSuggestion.content] instead.
|
|
435
|
+
// Since [acceptedSuggestion.content] is in the form of a diff, transform the content into addedCharacters and deletedCharacters.
|
|
436
|
+
const { addedLines, deletedLines } = (0, diffUtils_1.getAddedAndDeletedLines)(acceptedSuggestion.content);
|
|
437
|
+
const charDiffResult = (0, diffUtils_1.getCharacterDifferences)(addedLines, deletedLines);
|
|
438
|
+
addedLengthForEdits = charDiffResult.charactersAdded;
|
|
439
|
+
deletedLengthForEdits = charDiffResult.charactersRemoved;
|
|
440
|
+
codePercentageTracker.countAcceptedTokensUsingCount(session.language, charDiffResult.charactersAdded);
|
|
441
|
+
codePercentageTracker.addTotalTokensForEdits(session.language, charDiffResult.charactersAdded);
|
|
442
|
+
enqueueCodeDiffEntry(session, acceptedSuggestion, addedLines.join('\n'));
|
|
443
|
+
}
|
|
444
|
+
else if (acceptedSuggestion.insertText) {
|
|
445
|
+
codePercentageTracker.countAcceptedTokens(session.language, acceptedSuggestion.insertText);
|
|
446
|
+
codePercentageTracker.countTotalTokens(session.language, acceptedSuggestion.insertText, true);
|
|
447
|
+
enqueueCodeDiffEntry(session, acceptedSuggestion);
|
|
584
448
|
}
|
|
585
449
|
}
|
|
586
450
|
// Handle rejected edit predictions
|
|
@@ -609,7 +473,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
609
473
|
// Always emit user trigger decision at session close
|
|
610
474
|
sessionManager.closeSession(session);
|
|
611
475
|
const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(isAccepted) : 0;
|
|
612
|
-
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification,
|
|
476
|
+
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification, addedLengthForEdits, deletedLengthForEdits, addedDiagnostics, removedDiagnostics, streakLength, Object.keys(params.completionSessionResult)[0]);
|
|
613
477
|
};
|
|
614
478
|
const updateConfiguration = (updatedConfig) => {
|
|
615
479
|
logging.debug('Updating configuration of inline complete server.');
|
|
@@ -622,10 +486,8 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
622
486
|
userWrittenCodeTracker.customizationArn = customizationArn;
|
|
623
487
|
}
|
|
624
488
|
logging.debug(`CodePercentageTracker customizationArn updated to ${customizationArn}`);
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
configuration post all events migration to STE. It'll be replaced by qConfig['enableTelemetryEventsToDestination'] === true
|
|
628
|
-
*/
|
|
489
|
+
// The flag enableTelemetryEventsToDestination is set to true temporarily. It's value will be determined through destination
|
|
490
|
+
// configuration post all events migration to STE. It'll be replaced by qConfig['enableTelemetryEventsToDestination'] === true
|
|
629
491
|
// const enableTelemetryEventsToDestination = true
|
|
630
492
|
// telemetryService.updateEnableTelemetryEventsToDestination(enableTelemetryEventsToDestination)
|
|
631
493
|
telemetryService.updateOptOutPreference(optOutTelemetryPreference);
|
|
@@ -660,8 +522,13 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
660
522
|
const periodicLoggingEnabled = process.env.LOG_EDIT_TRACKING === 'true';
|
|
661
523
|
logging.log(`[SERVER] Initialized telemetry-dependent components: CodePercentageTracker, CodeDiffTracker, periodicLogging=${periodicLoggingEnabled}`);
|
|
662
524
|
await amazonQServiceManager.addDidChangeConfigurationListener(updateConfiguration);
|
|
525
|
+
editCompletionHandler = new editCompletionHandler_1.EditCompletionHandler(logging, clientParams, workspace, amazonQServiceManager, editSessionManager, cursorTracker, recentEditTracker, rejectedEditTracker, documentChangedListener, telemetry, telemetryService, credentialsProvider);
|
|
526
|
+
};
|
|
527
|
+
const onEditCompletion = async (param, token) => {
|
|
528
|
+
return await editCompletionHandler.onEditCompletion(param, token);
|
|
663
529
|
};
|
|
664
530
|
lsp.extensions.onInlineCompletionWithReferences(onInlineCompletionHandler);
|
|
531
|
+
lsp.extensions.onEditCompletion(onEditCompletion);
|
|
665
532
|
lsp.extensions.onLogInlineCompletionSessionResults(onLogInlineCompletionSessionResultsHandler);
|
|
666
533
|
lsp.onInitialized(onInitializedHandler);
|
|
667
534
|
lsp.onDidChangeTextDocument(async (p) => {
|
|
@@ -677,7 +544,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
677
544
|
return;
|
|
678
545
|
}
|
|
679
546
|
// exclude cases that the document change is from Q suggestions
|
|
680
|
-
const currentSession =
|
|
547
|
+
const currentSession = completionSessionManager.getCurrentSession();
|
|
681
548
|
if (!currentSession?.suggestions.some(suggestion => suggestion?.insertText && suggestion.insertText === change.text)) {
|
|
682
549
|
userWrittenCodeTracker?.countUserWrittenTokens(languageId, change.text);
|
|
683
550
|
}
|
|
@@ -687,10 +554,10 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
687
554
|
timeSinceLastUserModification = new Date().getTime() - lastUserModificationTime;
|
|
688
555
|
}
|
|
689
556
|
lastUserModificationTime = new Date().getTime();
|
|
557
|
+
documentChangedListener.onDocumentChanged(p);
|
|
558
|
+
editCompletionHandler.documentChanged();
|
|
690
559
|
// Process document changes with RecentEditTracker.
|
|
691
560
|
if (editsEnabled && recentEditTracker) {
|
|
692
|
-
logging.log(`[SERVER] Processing document change with RecentEditTracker: ${p.textDocument.uri}, version: ${textDocument.version}`);
|
|
693
|
-
logging.log(`[SERVER] Change details: ${p.contentChanges.length} changes`);
|
|
694
561
|
await recentEditTracker.handleDocumentChange({
|
|
695
562
|
uri: p.textDocument.uri,
|
|
696
563
|
languageId: textDocument.languageId,
|
|
@@ -744,4 +611,28 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
744
611
|
exports.CodewhispererServerFactory = CodewhispererServerFactory;
|
|
745
612
|
exports.CodeWhispererServerIAM = (0, exports.CodewhispererServerFactory)(AmazonQIAMServiceManager_1.getOrThrowBaseIAMServiceManager);
|
|
746
613
|
exports.CodeWhispererServerToken = (0, exports.CodewhispererServerFactory)(AmazonQTokenServiceManager_1.getOrThrowBaseTokenServiceManager);
|
|
614
|
+
const getLanguageIdFromUri = (uri, logging) => {
|
|
615
|
+
try {
|
|
616
|
+
const extension = uri.split('.').pop()?.toLowerCase();
|
|
617
|
+
return constants_1.ABAP_EXTENSIONS.has(extension || '') ? 'abap' : '';
|
|
618
|
+
}
|
|
619
|
+
catch (err) {
|
|
620
|
+
logging?.log(`Error parsing URI to determine language: ${uri}: ${err}`);
|
|
621
|
+
return '';
|
|
622
|
+
}
|
|
623
|
+
};
|
|
624
|
+
const getTextDocument = async (uri, workspace, logging) => {
|
|
625
|
+
let textDocument = await workspace.getTextDocument(uri);
|
|
626
|
+
if (!textDocument) {
|
|
627
|
+
try {
|
|
628
|
+
const content = await workspace.fs.readFile(vscode_uri_1.URI.parse(uri).fsPath);
|
|
629
|
+
const languageId = getLanguageIdFromUri(uri);
|
|
630
|
+
textDocument = server_interface_1.TextDocument.create(uri, languageId, 0, content);
|
|
631
|
+
}
|
|
632
|
+
catch (err) {
|
|
633
|
+
logging.log(`Unable to load from ${uri}: ${err}`);
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
return textDocument;
|
|
637
|
+
};
|
|
747
638
|
//# sourceMappingURL=codeWhispererServer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":";;;AAAA,qFAcuD;AACvD,4DAA6G;AAC7G,4EAM0C;AAC1C,sEAAuE;AACvE,uDAAwG;AACxG,6DAA+E;AAC/E,qDAAwD;AACxD,8CAAqH;AACrH,gEAAmF;AACnF,4CAAyC;AACzC,8EAA0E;AAC1E,uDAAkF;AAClF,sEAIkD;AAElD,8GAAiH;AAEjH,8CAAyD;AACzD,0GAA6G;AAC7G,uFAAmF;AAEnF,gFAA4E;AAC5E,+DAA6F;AAC7F,2DAAuD;AACvD,uEAAyG;AACzG,2CAA8E;AAC9E,2CAKoB;AACpB,uEAAmE;AACnE,mEAA+D;AAC/D,2CAA2D;AAC3D,mFAA+E;AAC/E,2CAAgC;AAEhC,MAAM,gCAAgC,GAAG,CACrC,gBAAwB,EACxB,WAAyB,EACzB,6BAAsC,EACtC,KAAa,EACuB,EAAE;IACtC,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QAChC,MAAM,UAAU,GAAW,IAAA,iDAA+B,EAAC,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;QAChG,IAAI,UAAU,GAAG,UAAU,CAAC,UAAU;YAClC,EAAE,MAAM,CACJ,GAAG,CAAC,EAAE,CACF,CAAC,CACG,GAAG,CAAC,yBAAyB,EAAE,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,GAAG,CAAC,yBAAyB,CAAC,KAAK,CACnG,IAAI,UAAU,CAAC,MAAM,CAC7B;aACA,GAAG,CAAC,CAAC,CAAC,EAAE;YACL,OAAO;gBACH,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,GAAG;gBACnB,aAAa,EAAE,CAAC,CAAC,UAAU;gBAC3B,QAAQ,EAAE,CAAC,CAAC,yBAAyB,IAAI;oBACrC,cAAc,EAAE,CAAC,CAAC,yBAAyB,CAAC,KAAK;oBACjD,YAAY,EAAE,CAAC,CAAC,yBAAyB,CAAC,GAAG;wBACzC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG;iBACxC;aACJ,CAAA;QACL,CAAC,CAAC,CAAA;QAEN,OAAO;YACH,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,UAAU,EAAE,UAAU;YACtB,KAAK;YACL,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACvD,0BAA0B,EAAE,6BAA6B;gBACrD,CAAC,CAAC,UAAU,CAAC,0BAA0B;gBACvC,CAAC,CAAC,SAAS;SAClB,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAM,0BAA0B,GACnC,CAAC,cAA+C,EAAU,EAAE,CAC5D,CAAC,EAAE,mBAAmB,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE;IACvF,IAAI,wBAAgC,CAAA;IACpC,IAAI,6BAA6B,GAAW,CAAC,CAAA;IAE7C,MAAM,wBAAwB,GAAG,+BAAc,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;IAC1E,MAAM,kBAAkB,GAAG,+BAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAE9D,gJAAgJ;IAChJ,IAAI,qBAAgD,CAAA;IACpD,IAAI,gBAAkC,CAAA;IAEtC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAwB,EAAE,EAAE;QAC5C,OAAO;YACH,YAAY,EAAE,EAAE;SACnB,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,0IAA0I;IAC1I,IAAI,qBAA4C,CAAA;IAChD,IAAI,sBAA0D,CAAA;IAC9D,IAAI,eAA+D,CAAA;IACnE,IAAI,qBAA4C,CAAA;IAEhD,qDAAqD;IACrD,MAAM,iBAAiB,GAAG,mCAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,gDAA8B,CAAC,CAAA;IAChG,MAAM,aAAa,GAAG,6BAAa,CAAC,WAAW,EAAE,CAAA;IACjD,MAAM,mBAAmB,GAAG,yCAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,0DAAoC,CAAC,CAAA;IAC1G,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,qCAAqC,GAAG,KAAK,CAAA;IAEjD,MAAM,uBAAuB,GAAG,IAAI,iDAAuB,EAAE,CAAA;IAE7D,MAAM,yBAAyB,GAAG,KAAK,EACnC,MAA4C,EAC5C,KAAwB,EACmB,EAAE;QAC7C,kDAAkD;QAClD,kEAAkE;QAClE,+EAA+E;QAC/E,qFAAqF;QACrF,oEAAoE;QACpE,2CAAoB,CAAC,uBAAuB,EAAE,CAAA;QAE9C,IAAI,qCAAqC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;YAChD,OAAO,wBAAY,CAAA;QACvB,CAAC;QACD,qCAAqC,GAAG,IAAI,CAAA;QAE5C,IAAI,CAAC;YACD,kEAAkE;YAClE,MAAM,cAAc,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,CAAA;YACnE,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACvF,oFAAoF;gBACpF,cAAc,CAAC,qCAAqC,GAAG,IAAI,CAAA;YAC/D,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzE,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAEvF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,uBAAuB,EAAE,CAAA;YAC5E,IAAI,MAAM,CAAC,kBAAkB,IAAI,cAAc,EAAE,CAAC;gBAC9C,oDAAoD;gBACpD,IAAI,CAAC;oBACD,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC;wBACtE,GAAG,cAAc,CAAC,cAAc;wBAChC,WAAW,EAAE;4BACT,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW;yBAC/C;wBACD,SAAS,EAAE,GAAG,MAAM,CAAC,kBAAkB,EAAE;qBAC5C,CAAC,CAAA;oBACF,OAAO,MAAM,yBAAyB,CAClC,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAC/C,CAAA;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,uBAAuB,CAAC,KAAc,EAAE,cAAc,CAAC,CAAA;gBAClE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,0BAA0B;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,CAAA;oBAClE,OAAO,wBAAY,CAAA;gBACvB,CAAC;gBAED,MAAM,kBAAkB,GAAG,IAAA,0CAAsB,EAAC,YAAY,CAAC,CAAA;gBAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CACP,iBAAiB,MAAM,CAAC,YAAY,CAAC,GAAG,sBAAsB,YAAY,CAAC,UAAU,iBAAiB,CACzG,CAAA;oBACD,OAAO,wBAAY,CAAA;gBACvB,CAAC;gBAED,wBAAwB;gBACxB,MAAM,yBAAyB,GAC3B,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,8CAA2B,CAAC,SAAS,CAAA;gBACvE,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAA;gBACnE,MAAM,WAAW,GAAG,IAAA,qCAAc,EAAC;oBAC/B,YAAY;oBACZ,kBAAkB;oBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC;iBAClE,CAAC,CAAA;gBAEF,MAAM,cAAc,GAAG,+CAAsB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,CAAA;gBAChF,MAAM,WAAW,GAAG,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE;oBAC9D,CAAC,CAAC,cAAc,CAAC,WAAW;oBAC5B,CAAC,CAAC,SAAS,CAAA;gBAEf,MAAM,eAAe,GAAG,wBAAwB,CAAC,kBAAkB,EAAE,CAAA;gBACrE,MAAM,gBAAgB,GAAG,eAAe,EAAE,gCAAgC,EAAE,IAAI,EAAE,CAAA;gBAClF,IAAI,WAAW,GAAuB,EAAE,CAAA;gBACxC,MAAM,gBAAgB,GAAG,GAAG,CAAC,yBAAyB,EAAE,CAAA;gBACxD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACjC,WAAW,GAAG,IAAA,+BAAc,EAAC,gBAAgB,CAAC,CAAA;gBAClD,CAAC;gBAED,yBAAyB;gBACzB,IAAI,4BAA4B,GAAG,SAAS,CAAA;gBAC5C,IAAI,iBAAiB,GAAG,EAAE,CAAA;gBAC1B,IAAI,iBAAiB,GAAG,SAAS,CAAA;gBAEjC,IAAI,yBAAyB,EAAE,CAAC;oBAC5B,8IAA8I;oBAC9I,IACI,MAAM,CAAC,oBAAoB,EAAE,cAAc;wBAC3C,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;wBACrD,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAClE,CAAC;wBACC,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;wBACtE,4BAA4B,GAAG,IAAA,gCAAkB,EAC7C,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAC7C,CAAA;oBACL,CAAC;yBAAM,CAAC;wBACJ,wFAAwF;wBACxF,iBAAiB,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;wBACnE,4BAA4B,GAAG,IAAA,yBAAW,EAAC,WAAW,CAAC,CAAA;oBAC3D,CAAC;oBACD,uIAAuI;oBACvI,sCAAsC;oBACtC,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;wBAC7C,OAAO,wBAAY,CAAA;oBACvB,CAAC;oBAED,iBAAiB,GAAG,IAAA,yBAAW,EAC3B;wBACI,WAAW,EAAE,uDAAuD;wBACpE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,oEAAoE;wBACnG,IAAI,EAAE,iBAAiB,EAAE,0EAA0E;wBACnG,GAAG,EAAE,WAAW,IAAI,EAAE;wBACtB,EAAE,EAAE,IAAA,gCAAkB,GAAE;wBACxB,gBAAgB,EAAE,2DAA2D;wBAC7E,WAAW,EAAE,4BAA4B,EAAE,4FAA4F;qBAC1I,EACD,OAAO,CACV,CAAA;oBAED,IAAI,4BAA4B,KAAK,YAAY,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;wBACpF,OAAO,wBAAY,CAAA;oBACvB,CAAC;gBACL,CAAC;gBAED,IAAI,cAAc,GAA+B;oBAC7C,WAAW;oBACX,UAAU;iBACb,CAAA;gBAED,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,4BAA4B,CAC/E,YAAY,EACZ,MAAM,CAAC,QAAQ,EACf,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,MAAM,CAAC,gBAAgB,EACvB,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAChC,CAAA;gBAED,IAAI,mBAAmB,EAAE,KAAK,EAAE,CAAC;oBAC7B,cAAc,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,KAAK,CAAA;gBACnE,CAAC;gBAED,uEAAuE;gBACvE,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACtD,IAAI,YAAY,IAAI,cAAc,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,EAAE,CAAC;wBACxE,MAAM,iBAAiB,GAAG,IAAA,qDAAmC,EACzD,cAAc,EACd,YAAY,EACZ,WAAW,CACd,CAAA;wBAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/B,OAAO;gCACH,KAAK,EAAE,iBAAiB;gCACxB,SAAS,EAAE,cAAc,CAAC,EAAE;6BAC/B,CAAA;wBACL,CAAC;oBACL,CAAC;oBACD,sEAAsE;oBACtE,wBAAwB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;oBACvD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAChG,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAC7B,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,YAAY,CACf,CAAA;gBACL,CAAC;gBAED,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,cAAc,CAAA;gBAEhE,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,CAAC;oBACtD,QAAQ,EAAE,YAAY;oBACtB,aAAa,EAAE,MAAM,CAAC,QAAQ;oBAC9B,WAAW,EAAE,yBAAyB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;oBACnE,QAAQ,EAAE,WAAW,CAAC,mBAAmB,CAAC,YAAY;oBACtD,cAAc,EAAE,cAAc;oBAC9B,eAAe,EAAE,yBAAyB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS;oBACrF,gBAAgB,EAAE,iBAAiB;oBACnC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB;oBACrD,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB;oBAC3D,kBAAkB,EAAE,mBAAmB,CAAC,qBAAqB,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,IAAI,SAAS;oBAC7F,oBAAoB,EAAE,oBAAoB;oBAC1C,gBAAgB,EAAE,oBAAS,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;iBACtF,CAAC,CAAA;gBAEF,uCAAuC;gBACvC,MAAM,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,CAAA;gBACnF,IAAI,YAAY,EAAE,CAAC;oBACf,cAAc,CAAC,WAAW,CAAC,eAAe;wBACtC,YAAY,GAAG,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,eAAe,CAAA;gBACxE,CAAC;gBAED,MAAM,qBAAqB,GAAG;oBAC1B,GAAG,cAAc;oBACjB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvD,CAAA;gBACD,IAAI,CAAC;oBACD,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAA;oBAChG,OAAO,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;gBAChG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,uBAAuB,CAAC,KAAc,EAAE,UAAU,CAAC,CAAA;gBAC9D,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,qCAAqC,GAAG,KAAK,CAAA;QACjD,CAAC;IACL,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,KAAK,EACnC,kBAA+C,EAC/C,OAA6B,EAC7B,YAAqB,EACrB,cAAsB,EACtB,YAA2B,EACgB,EAAE;QAC7C,qBAAqB,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEvD,sBAAsB,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1D,OAAO,CAAC,6BAA6B;YACjC,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,6BAA6B,CAAA;QAE1E,IAAI,YAAY,EAAE,CAAC;YACf,oEAAoE;YACpE,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAA;YACpD,OAAO,CAAC,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAA;YAC5D,OAAO,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,eAAe,CAAC,sBAAsB,CAAA;YAC1F,OAAO,CAAC,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAA;YAC5E,OAAO,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAc,CAAA;QAC9D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;QACrF,CAAC;QAED,sEAAsE;QACtE,IAAA,0CAA8B,EAAC,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAEhG,4DAA4D;QAC5D,IAAI,OAAO,CAAC,qCAAqC,EAAE,CAAC;YAChD,OAAO,CAAC,qCAAqC,GAAG,KAAK,CAAA;YACrD,wBAAwB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YAChD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAChG,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,EAC7B,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,YAAY,CACf,CAAA;QACL,CAAC;QAED,iIAAiI;QACjI,IACI,OAAO,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,IAAI,mIAAmI;YACrL,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,EAC7D,CAAC;YACC,OAAO,wBAAY,CAAA;QACvB,CAAC;QAED,yDAAyD;QACzD,wBAAwB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAEjD,uDAAuD;QACvD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,WAAW;YACtD,0BAA0B;aACzB,MAAM,CAAC,UAAU,CAAC,EAAE;YACjB,IAAI,UAAU,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBAC5B,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBACtD,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,OAAO,IAAI,CAAA;QACf,CAAC,CAAC;YACF,4BAA4B;aAC3B,MAAM,CAAC,UAAU,CAAC,EAAE;YACjB,oEAAoE;YACpE,sEAAsE;YACtE,wEAAwE;YACxE,oCAAoC;YACpC,MAAM,EAAE,oCAAoC,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;YACzF,IAAI,oCAAoC,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAA;YACf,CAAC;YAED,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,OAAO,IAAI,CAAA;YACf,CAAC;YAED,wGAAwG;YACxG,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACvD,OAAO,KAAK,CAAA;QAChB,CAAC,CAAC,CAAA;QAEN,IAAI,kBAAkB,CAAC,cAAc,KAAK,qCAAc,CAAC,UAAU,EAAE,CAAC;YAClE,MAAM,EAAE,6BAA6B,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;YAClF,MAAM,2BAA2B,GAAG,gCAAgC,CAChE,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,EACnD,mBAAmB,EACnB,6BAA6B,EAC7B,cAAc,CACjB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAClB,iHAAiH;gBACjH,IAAI,UAAU,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;oBAC/B,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;oBACxD,OAAO,KAAK,CAAA;gBAChB,CAAC;gBAED,OAAO,IAAI,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,CAAA;gBACtF,IAAI,gBAAgB;oBAAE,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;YACxF,CAAC,CAAC,CAAA;YAEF,oEAAoE;YACpE,OAAO,CAAC,iCAAiC,CAAC,IAAI,CAAC,GAAG,2BAA2B,CAAC,CAAA;YAE9E,OAAO,CAAC,kCAAkC;gBACtC,OAAO,CAAC,kCAAkC;oBAC1C,2BAA2B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;wBACrD,OAAO,KAAK,GAAG,CAAC,UAAU,CAAC,0BAA0B,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;oBACvE,CAAC,EAAE,CAAC,CAAC,CAAA;YAET,gGAAgG;YAChG,yCAAyC;YACzC,IACI,OAAO,CAAC,iCAAiC,CAAC,MAAM,KAAK,CAAC;gBACtD,CAAC,kBAAkB,CAAC,eAAe,CAAC,SAAS,EAC/C,CAAC;gBACC,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;gBAC9C,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,CAChC,CAAA;gBAED,OAAO,wBAAY,CAAA;YACvB,CAAC;YAED,OAAO;gBACH,KAAK,EAAE,2BAA2B;gBAClC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,kBAAkB,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS;aACnE,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,OAAO;gBACH,KAAK,EAAE,kBAAkB,CAAC,WAAW;qBAChC,GAAG,CAAC,UAAU,CAAC,EAAE;oBACd,oEAAoE;oBACpE,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,mBAAmB,CAC/D,UAAU,CAAC,OAAO,EAClB,YAAY,EAAE,GAAG,IAAI,EAAE,CAC1B,CAAA;oBAED,IAAI,mBAAmB,EAAE,CAAC;wBACtB,kCAAkC;wBAClC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;wBACvD,OAAO,CAAC,KAAK,CACT,+EAA+E,CAClF,CAAA;wBACD,8CAA8C;wBAC9C,OAAO;4BACH,UAAU,EAAE,EAAE;4BACd,YAAY,EAAE,IAAI;4BAClB,MAAM,EAAE,UAAU,CAAC,MAAM;yBAC5B,CAAA;oBACL,CAAC;oBAED,OAAO;wBACH,UAAU,EAAE,UAAU,CAAC,OAAO;wBAC9B,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,UAAU,CAAC,MAAM;qBAC5B,CAAA;gBACL,CAAC,CAAC;qBACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC;gBAC3C,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,kBAAkB,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS;aACnE,CAAA;QACL,CAAC;IACL,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,CAC5B,KAAY,EACZ,OAA6B,EACK,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAA;QAC/C,IAAA,wCAA4B,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QAEvD,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAE9C,IAAI,eAAe,GAAG,KAAK,CAAA;QAE3B,IAAI,IAAA,4BAAoB,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,eAAe,GAAG,IAAI,6CAAoC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAC,CAAA;QACtF,CAAC;QAED,IAAI,eAAe,YAAY,qBAAY,EAAE,CAAC;YAC1C,MAAM,IAAI,gCAAa,CACnB,gCAAa,CAAC,aAAa,EAC3B,eAAe,CAAC,OAAO,IAAI,sCAAsC,EACjE;gBACI,YAAY,EAAE,eAAe,CAAC,IAAI;aACrC,CACJ,CAAA;QACL,CAAC;QAED,OAAO,wBAAY,CAAA;IACvB,CAAC,CAAA;IAED,wDAAwD;IACxD,MAAM,oBAAoB,GAAG,CACzB,OAA6B,EAC7B,kBAA8B,EAC9B,sBAA+B,EACjC,EAAE;QACA,MAAM,WAAW,GAAG,IAAA,2CAAmC,EAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;QAC1G,+DAA+D;QAC/D,MAAM,cAAc,GAAG,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAA;QAEnG,eAAe,CAAC,OAAO,CAAC;YACpB,SAAS,EAAE,OAAO,CAAC,sBAAsB,IAAI,EAAE;YAC/C,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,IAAI,EAAE;YACnD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;YAC7B,UAAU,EAAE,OAAO,CAAC,QAAQ;YAC5B,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;YAChB,cAAc,EAAE,cAAc;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,WAAW;YACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,cAAc,EAAE,IAAA,yBAAiB,EAAC,kBAAkB,CAAC;YACrD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SACjD,CAAC,CAAA;IACN,CAAC,CAAA;IAED,MAAM,0CAA0C,GAAG,KAAK,EAAE,MAA+C,EAAE,EAAE;QACzG,MAAM,EACF,SAAS,EACT,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACrB,GAAG,MAAM,CAAA;QAEV,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,wBAAwB,CAAA;QAE1F,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,gBAAgB,CAAC,CAAA;YAC3D,OAAM;QACV,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,mEAAmE,SAAS,EAAE,CAAC,CAAA;YAC3F,OAAM;QACV,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CACnE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAClD,CAAA;QACD,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAChD,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,CAAA;QACrF,IAAI,mBAAmB,GAAG,CAAC,CAAA;QAC3B,IAAI,qBAAqB,GAAG,CAAC,CAAA;QAC7B,IAAI,kBAAkB,EAAE,CAAC;YACrB,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACpD,IAAI,OAAO,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC/E,kHAAkH;gBAClH,iIAAiI;gBACjI,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,mCAAuB,EAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBACxF,MAAM,cAAc,GAAG,IAAA,mCAAuB,EAAC,UAAU,EAAE,YAAY,CAAC,CAAA;gBACxE,mBAAmB,GAAG,cAAc,CAAC,eAAe,CAAA;gBACpD,qBAAqB,GAAG,cAAc,CAAC,iBAAiB,CAAA;gBAExD,qBAAqB,CAAC,6BAA6B,CAC/C,OAAO,CAAC,QAAQ,EAChB,cAAc,CAAC,eAAe,CACjC,CAAA;gBACD,qBAAqB,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC9F,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5E,CAAC;iBAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAC;gBACvC,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;gBAC1F,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;gBAE7F,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;YACrD,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,gDAAgD;YAChD,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAChE,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBACzD,OAAO,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,4BAA4B;YAC5B,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;gBACnD,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC7B,mBAAmB,CAAC,kBAAkB,CAAC;wBACnC,OAAO,EAAE,kBAAkB,CAAC,OAAO;wBACnC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;wBACjC,QAAQ,EAAE,OAAO,CAAC,aAAa;qBAClC,CAAC,CAAA;oBAEF,OAAO,CAAC,KAAK,CACT,6CAA6C,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAChG,CAAA;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,CAAC,mBAAmB,CACvB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,eAAe,CAClB,CAAA;QAED,IAAI,6BAA6B;YAAE,IAAA,yCAA6B,EAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAEpF,qDAAqD;QACrD,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3F,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,EAC7B,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CACjD,CAAA;IACL,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,CAAC,aAAqC,EAAE,EAAE;QAClE,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;QAElE,MAAM,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,GAAG,aAAa,CAAA;QAEjG,qBAAqB,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACzD,IAAI,0BAA0B,EAAE,CAAC;YAC7B,sBAAsB,GAAG,+CAAsB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,sBAAsB,EAAE,CAAC;YACzB,sBAAsB,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC9D,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,qDAAqD,gBAAgB,EAAE,CAAC,CAAA;QAEtF,4HAA4H;QAC5H,8HAA8H;QAC9H,kDAAkD;QAClD,gGAAgG;QAChG,gBAAgB,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,CAAA;QAClE,OAAO,CAAC,KAAK,CAAC,gDAAgD,yBAAyB,EAAE,CAAC,CAAA;IAC9F,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;QACpC,qBAAqB,GAAG,cAAc,EAAE,CAAA;QAExC,MAAM,YAAY,GAAG,IAAA,eAAO,EACxB,GAAG,CAAC,yBAAyB,EAAE,EAC/B,IAAI,0CAAiC,CACjC,qEAAqE,CACxE,CACJ,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAC5E,YAAY;YACR,YAAY,EAAE,qBAAqB,EAAE,GAAG,EAAE,qBAAqB,EAAE,YAAY;gBACzE,EAAE,8BAA8B,EAAE,iBAAiB,IAAI,KAAK,CAAA;QAEpE,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QACvG,gBAAgB,CAAC,iBAAiB,CAAC,IAAA,sCAAqB,EAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QAEnG,qBAAqB,GAAG,IAAI,sCAAqB,CAAC,gBAAgB,CAAC,CAAA;QACnE,eAAe,GAAG,IAAI,iCAAe,CACjC,SAAS,EACT,OAAO,EACP,KAAK,EAAE,KAAoC,EAAE,UAAU,EAAE,gCAAgC,EAAE,EAAE;YACzF,MAAM,gBAAgB,CAAC,yBAAyB,CAC5C;gBACI,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;gBACnD,sBAAsB,EAAE,UAAU;gBAClC,gCAAgC,EAAE,gCAAgC;aACrE,EACD;gBACI,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,MAAM;gBAC9C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,UAAU;gBAC5C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;aAC/C,CACJ,CAAA;QACL,CAAC,CACJ,CAAA;QAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAA;QACvE,OAAO,CAAC,GAAG,CACP,gHAAgH,sBAAsB,EAAE,CAC3I,CAAA;QAED,MAAM,qBAAqB,CAAC,iCAAiC,CAAC,mBAAmB,CAAC,CAAA;QAElF,qBAAqB,GAAG,IAAI,6CAAqB,CAC7C,OAAO,EACP,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,gBAAgB,EAChB,mBAAmB,CACtB,CAAA;IACL,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,KAAK,EAC1B,KAA2C,EAC3C,KAAwB,EACmB,EAAE;QAC7C,OAAO,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrE,CAAC,CAAA;IAED,GAAG,CAAC,UAAU,CAAC,gCAAgC,CAAC,yBAAyB,CAAC,CAAA;IAC1E,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IACjD,GAAG,CAAC,UAAU,CAAC,mCAAmC,CAAC,0CAA0C,CAAC,CAAA;IAC9F,GAAG,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;IAEvC,GAAG,CAAC,uBAAuB,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;QAClC,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,IAAA,0CAAsB,EAAC,YAAY,CAAC,CAAA;QAEvD,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAM;QACV,CAAC;QAED,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9B,qBAAqB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAEtE,MAAM,EAAE,0BAA0B,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;YAC/E,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAC9B,OAAM;YACV,CAAC;YACD,+DAA+D;YAC/D,MAAM,cAAc,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,CAAA;YACnE,IACI,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,CAC7B,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAChF,EACH,CAAC;gBACC,sBAAsB,EAAE,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3E,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,sDAAsD;QACtD,IAAI,wBAAwB,EAAE,CAAC;YAC3B,6BAA6B,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,wBAAwB,CAAA;QACnF,CAAC;QACD,wBAAwB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;QAE/C,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAC5C,qBAAqB,CAAC,eAAe,EAAE,CAAA;QAEvC,mDAAmD;QACnD,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAAC;YACpC,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBACzC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG;gBACvB,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE;aAC/B,CAAC,CAAA;QACN,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;QAErD,gDAAgD;QAChD,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;YAC5F,iBAAiB,CAAC,kBAAkB,CAAC;gBACjC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG;gBACvB,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU;gBACrC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO;gBAC/B,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI;aAC5B,CAAC,CAAA;QACN,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;QAErD,gDAAgD;QAChD,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;YAC7F,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAClD,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;IAErE,OAAO,KAAK,IAAI,EAAE;QACd,0DAA0D;QAC1D,IAAI,qBAAqB;YAAE,qBAAqB,CAAC,OAAO,EAAE,CAAA;QAC1D,IAAI,sBAAsB;YAAE,sBAAsB,EAAE,OAAO,EAAE,CAAA;QAC7D,IAAI,eAAe;YAAE,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAA;QACrD,IAAI,iBAAiB;YAAE,iBAAiB,CAAC,OAAO,EAAE,CAAA;QAClD,IAAI,aAAa;YAAE,aAAa,CAAC,OAAO,EAAE,CAAA;QAC1C,IAAI,mBAAmB;YAAE,mBAAmB,CAAC,OAAO,EAAE,CAAA;QAEtD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;IACvE,CAAC,CAAA;AACL,CAAC,CAAA;AAnxBQ,QAAA,0BAA0B,8BAmxBlC;AAEQ,QAAA,sBAAsB,GAAG,IAAA,kCAA0B,EAAC,0DAA+B,CAAC,CAAA;AACpF,QAAA,wBAAwB,GAAG,IAAA,kCAA0B,EAAC,8DAAiC,CAAC,CAAA;AAErG,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,OAAa,EAAU,EAAE;IAChE,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAA;QACrD,OAAO,2BAAe,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,EAAE,GAAG,CAAC,4CAA4C,GAAG,KAAK,GAAG,EAAE,CAAC,CAAA;QACvE,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAE,SAAc,EAAE,OAAY,EAAqC,EAAE;IAC3G,IAAI,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;YAClE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;YAC5C,YAAY,GAAG,+BAAY,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,KAAK,GAAG,EAAE,CAAC,CAAA;QACrD,CAAC;IACL,CAAC;IACD,OAAO,YAAY,CAAA;AACvB,CAAC,CAAA"}
|