@gaunt-sloth/agent 2.0.0-beta.1 → 2.0.0-beta.3
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/LICENSE +6 -6
- package/dist/modules/a2a/A2AClientWrapper.js +1 -1
- package/dist/modules/a2a/A2AClientWrapper.js.map +1 -1
- package/dist/modules/acp/acpAgentApp.js +45 -2
- package/dist/modules/acp/acpAgentApp.js.map +1 -1
- package/dist/modules/acp/acpAgentAppV1.js +38 -2
- package/dist/modules/acp/acpAgentAppV1.js.map +1 -1
- package/dist/modules/acp/acpPermissions.d.ts +50 -5
- package/dist/modules/acp/acpPermissions.js +74 -8
- package/dist/modules/acp/acpPermissions.js.map +1 -1
- package/dist/modules/acp/acpPermissionsV1.d.ts +9 -0
- package/dist/modules/acp/acpPermissionsV1.js +9 -0
- package/dist/modules/acp/acpPermissionsV1.js.map +1 -1
- package/dist/modules/acp/acpToolCalls.d.ts +16 -0
- package/dist/modules/acp/acpToolCalls.js +26 -0
- package/dist/modules/acp/acpToolCalls.js.map +1 -1
- package/dist/modules/acp/acpUpdates.js +10 -4
- package/dist/modules/acp/acpUpdates.js.map +1 -1
- package/dist/modules/acp/acpUpdatesV1.js +10 -4
- package/dist/modules/acp/acpUpdatesV1.js.map +1 -1
- package/dist/modules/apiAgUiModule.js +31 -4
- package/dist/modules/apiAgUiModule.js.map +1 -1
- package/dist/modules/interactiveSessionModule.js +162 -150
- package/dist/modules/interactiveSessionModule.js.map +1 -1
- package/dist/modules/slashCommands.d.ts +73 -9
- package/dist/modules/slashCommands.js +182 -15
- package/dist/modules/slashCommands.js.map +1 -1
- package/dist/resolvers.js +3 -3
- package/dist/resolvers.js.map +1 -1
- package/dist/tools/GthDevToolkit.d.ts +4 -4
- package/dist/tools/GthDevToolkit.js +12 -12
- package/dist/tools/GthDevToolkit.js.map +1 -1
- package/dist/tools/GthFileSystemToolkit.d.ts +21 -0
- package/dist/tools/GthFileSystemToolkit.js +53 -4
- package/dist/tools/GthFileSystemToolkit.js.map +1 -1
- package/dist/tools/McpResourceTool.d.ts +1 -1
- package/dist/tools/McpResourceTool.js +1 -1
- package/dist/tools/gthGrepTool.js +55 -9
- package/dist/tools/gthGrepTool.js.map +1 -1
- package/package.json +11 -11
|
@@ -5,9 +5,9 @@ import { GthAbstractAgent } from '@gaunt-sloth/core/core/GthAbstractAgent.js';
|
|
|
5
5
|
import { launchBannerFields, launchBannerText } from '@gaunt-sloth/core/core/launchBanner.js';
|
|
6
6
|
import { buildRejectionMessage } from '@gaunt-sloth/core/core/shell/rejection.js';
|
|
7
7
|
import { renderNegotiationRows } from '@gaunt-sloth/core/core/shell/negotiation.js';
|
|
8
|
-
import { attackBannerCopy,
|
|
9
|
-
import { frameUntrustedCommand, frameUntrustedText, frameWidthFor, narrowTerminalNotice,
|
|
10
|
-
import {
|
|
8
|
+
import { attackBannerCopy, grantsRunAnyway, RATER_REASON_LABEL, } from '@gaunt-sloth/core/core/shell/escalationSeverity.js';
|
|
9
|
+
import { frameUntrustedCommand, frameUntrustedText, frameWidthFor, narrowTerminalNotice, } from '@gaunt-sloth/core/core/shell/framing.js';
|
|
10
|
+
import { APPROVAL_ASK_LINE, APPROVAL_ROW_DIALOG_TONES, approvalCategoryLine, approvalRequestRows, } from '@gaunt-sloth/core/core/approvals/approvalRequest.js';
|
|
11
11
|
import { ApprovalStopError, approvalStopRows } from '@gaunt-sloth/core/core/shell/approvalStop.js';
|
|
12
12
|
import { writeDebugDump } from '@gaunt-sloth/core/utils/debugDump.js';
|
|
13
13
|
import { appendToFile, getCommandOutputFilePath } from '@gaunt-sloth/core/utils/fileUtils.js';
|
|
@@ -17,7 +17,7 @@ import { HumanMessage } from '@langchain/core/messages';
|
|
|
17
17
|
import { MemorySaver } from '@langchain/langgraph';
|
|
18
18
|
import { createResolvers } from '#src/resolvers.js';
|
|
19
19
|
import { resolveAgentFactory } from '#src/core/resolveAgentFactory.js';
|
|
20
|
-
import { approvalsRungNotice, approvalsStatusNotice, approvalsTrustNotice, createCommandRegistry, dispatchSlashCommand, formatConfigSummary, parseSlashCommand, } from '#src/modules/slashCommands.js';
|
|
20
|
+
import { approvalsRefusalsNotice, approvalsRungNotice, approvalsStatusNotice, approvalsTrustNotice, approvalsUndenyNotice, createCommandRegistry, dispatchSlashCommand, formatConfigSummary, parseSlashCommand, } from '#src/modules/slashCommands.js';
|
|
21
21
|
/**
|
|
22
22
|
* [[TUI-C26]] §6 / [[EXT-105]] — **every line of an escalation dialog goes through
|
|
23
23
|
* {@link displayDialogLine}, and no line of one goes anywhere else.**
|
|
@@ -47,6 +47,39 @@ const dialogLines = (lines, tone = 'plain') => {
|
|
|
47
47
|
for (const line of lines)
|
|
48
48
|
displayDialogLine(line, tone);
|
|
49
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* [[EXT-154]] — **the sentence a remembering answer earns, written from the lifetime the runner
|
|
52
|
+
* recorded rather than from the key that was pressed.**
|
|
53
|
+
*
|
|
54
|
+
* `maintenance/ux-guidelines.md` (DL-4): a confirmation states what LANDED. The two answers this
|
|
55
|
+
* covers — `[a]` and `[d]` — ask for a project file, and [[EXT-149]] degrades an `always` whose write
|
|
56
|
+
* did not reach disk to the session answer it really is. That is decided inside the runner AFTER the
|
|
57
|
+
* approval callback has returned, so these lines cannot be written where they are chosen; they are
|
|
58
|
+
* written where the outcome arrives, once, and only then.
|
|
59
|
+
*
|
|
60
|
+
* **Binary on this surface, and that is a property rather than a simplification.** `[a]` and `[d]`
|
|
61
|
+
* are shown only where `grantPreview`/`denyPreview` are attached, which is exactly where the runner
|
|
62
|
+
* has an entry to record — so an answer here always records something and `once` is unreachable.
|
|
63
|
+
* (The ACP surface offers its remembering options unconditionally and therefore does need the third
|
|
64
|
+
* case; see `acpPermissions.ts`.)
|
|
65
|
+
*
|
|
66
|
+
* `/approvals undeny` is named on the refusal branch whichever way the write went, because it lists
|
|
67
|
+
* and lifts a session refusal too, so the line is true on both.
|
|
68
|
+
*/
|
|
69
|
+
const rememberedAnswerLine = (decision, landed) => {
|
|
70
|
+
const savedToProject = landed === 'always';
|
|
71
|
+
if (decision === 'approve') {
|
|
72
|
+
return savedToProject
|
|
73
|
+
? 'Approved and remembered — this exact command is saved to the project allow-list.'
|
|
74
|
+
: 'Approved for this session only — it was not written to the project allow-list.';
|
|
75
|
+
}
|
|
76
|
+
return savedToProject
|
|
77
|
+
? 'Refused — this exact call will not run and will not ask again. It is saved to this ' +
|
|
78
|
+
'project, so it stays refused in new sessions; lift it with /approvals undeny.'
|
|
79
|
+
: 'Refused — this exact call will not run and will not ask again this session. It was not ' +
|
|
80
|
+
'written to the project, so a new session will ask about it again; lift it with ' +
|
|
81
|
+
'/approvals undeny.';
|
|
82
|
+
};
|
|
50
83
|
export async function createInteractiveSession(sessionConfig, commandLineConfigOverrides, message) {
|
|
51
84
|
const config = { ...(await initConfig(commandLineConfigOverrides)) };
|
|
52
85
|
const checkpointSaver = new MemorySaver();
|
|
@@ -64,9 +97,9 @@ export async function createInteractiveSession(sessionConfig, commandLineConfigO
|
|
|
64
97
|
if (logFileName) {
|
|
65
98
|
initSessionLogging(logFileName, config.streamSessionInferenceLog);
|
|
66
99
|
}
|
|
67
|
-
// B5: interactive code/chat
|
|
68
|
-
//
|
|
69
|
-
//
|
|
100
|
+
// B5: interactive code/chat ask for the LEAN backend, the only one Gaunt Sloth ships —
|
|
101
|
+
// config.agent.backend names no other. createResolvers() is unchanged, so the session keeps the
|
|
102
|
+
// full toolset (filesystem + hardened dev/shell).
|
|
70
103
|
const runner = new GthAgentRunner(defaultStatusCallback, createResolvers(), resolveAgentFactory(config, 'lean'));
|
|
71
104
|
try {
|
|
72
105
|
await runner.init(sessionConfig.mode, config, checkpointSaver);
|
|
@@ -120,141 +153,51 @@ export async function createInteractiveSession(sessionConfig, commandLineConfigO
|
|
|
120
153
|
// The runner consults the allow-list BEFORE calling this, so trusted commands never reach
|
|
121
154
|
// this prompt at all. (The Ink TUI surfaces the same scoped prompt via an approval bridge —
|
|
122
155
|
// see tuiSessionModule's createApprovalBridge + the <ApprovalPrompt> component.)
|
|
156
|
+
// [[EXT-154]] — the interrupts whose answer asked for a PROJECT FILE, waiting to be told what
|
|
157
|
+
// they got. Only `[a]` and `[d]` land here; every other answer records nothing and is confirmed
|
|
158
|
+
// where it is chosen.
|
|
159
|
+
//
|
|
160
|
+
// **Keyed by the interrupt object, the correlation the seam documents**, rather than by "the
|
|
161
|
+
// one that is outstanding". This surface does prompt strictly one at a time, but that is a
|
|
162
|
+
// property of the runner's drain loop, not of this module — and holding a claim about someone
|
|
163
|
+
// else's loop here is how one call's persistence ends up confirmed on another call's dialog.
|
|
164
|
+
// Emptied as each is consumed, so nothing accumulates over a long session.
|
|
165
|
+
const rememberAsked = new Set();
|
|
123
166
|
runner.setToolApprovalCallback(async (pending) => {
|
|
124
|
-
|
|
125
|
-
? pending.args.command
|
|
126
|
-
: JSON.stringify(pending.args);
|
|
127
|
-
// [[TUI-C26]] §6 — the command is model-authored text going to a terminal, where it is not
|
|
128
|
-
// inert: a carriage return reaches column 0, an escape sequence clears the screen, and a
|
|
129
|
-
// newline alone lays down a line that looks exactly like this prompt's own chrome. It is
|
|
130
|
-
// painted through core's framing renderer — neutralised, inside a line-number gutter, with
|
|
131
|
-
// its command-substitution and composition sites listed above it — the SAME renderer the Ink
|
|
132
|
-
// prompt uses, so the two surfaces cannot differ about how much of a command a human saw.
|
|
133
|
-
// Nothing is clamped to one line: the command that motivated this hid its payload fifteen
|
|
134
|
-
// lines into a commit message, and a clamp discards exactly what the human must rule on.
|
|
135
|
-
const frameWidth = frameWidthFor(output.columns);
|
|
136
|
-
const framedCommand = frameUntrustedCommand(commandText, { width: frameWidth });
|
|
137
|
-
// [[TUI-C67]] — the opening sentence is core's, branched on the `ApprovalSubject` kind the
|
|
138
|
-
// gate itself decided on, so a file write, an MCP call or a custom tool is announced as what
|
|
139
|
-
// it is rather than as a shell command. The Ink prompt renders the identical call; this
|
|
140
|
-
// surface owns only the leading blank line and the trailing colon, which is what keeps the
|
|
141
|
-
// two from describing one call two ways.
|
|
142
|
-
displayDialogLine(`\n${approvalPromptHeader(pending)}:`, 'warn');
|
|
143
|
-
// Below core's floor the frame is wider than the terminal, which wraps it and puts untrusted
|
|
144
|
-
// text at the left edge. The frame is still shown — hiding what the human must rule on would
|
|
145
|
-
// be worse — but the guarantee has lapsed, and it says so instead of lapsing silently.
|
|
146
|
-
const tooNarrow = narrowTerminalNotice(output.columns);
|
|
147
|
-
if (tooNarrow)
|
|
148
|
-
displayDialogLine(tooNarrow, 'warn');
|
|
149
|
-
dialogLines(framedCommand.notices, 'warn');
|
|
150
|
-
displayDialogLine('');
|
|
151
|
-
dialogLines(framedCommand.lines);
|
|
152
|
-
displayDialogLine('');
|
|
153
|
-
// CFG-27: when the auto-rater escalated this command (rather than approving it), show its
|
|
154
|
-
// outcome + reason before the human decides. §6 makes that explanation mandatory whenever a
|
|
155
|
-
// rating exists; at the unrated rungs there is none and the prompt shows the command alone.
|
|
156
|
-
// The outcome is a schema enum; the reason is model-authored prose and is framed exactly like
|
|
157
|
-
// the command, because a dialog forgeable through the string that explains it is not a gate.
|
|
158
|
-
// [[TUI-C26]] §6 — the severity is legible in three independent ways: a glyph, a sentence of
|
|
159
|
-
// the gate's own naming what the outcome MEANS, and the tone it is painted in. The tone is
|
|
160
|
-
// this surface's colour: `catastrophic` is painted `danger` (red) where `destructive` is
|
|
161
|
-
// `warn` (yellow), so the two cannot look alike — and the sentence carries it anyway for a
|
|
162
|
-
// terminal with no colour at all, which is the one that must not be left out.
|
|
163
|
-
if (pending.safetyVerdict) {
|
|
164
|
-
const severity = describeRaterOutcome(pending.safetyVerdict.outcome);
|
|
165
|
-
displayDialogLine(severity.heading, severity.tone);
|
|
166
|
-
// The reason is the RATER's, and now that the line above it is the gate's own sentence the
|
|
167
|
-
// attribution has to be said rather than implied.
|
|
168
|
-
displayDialogLine(RATER_REASON_LABEL, 'notice');
|
|
169
|
-
dialogLines(frameUntrustedText(pending.safetyVerdict.reason, { width: frameWidth }).lines, severity.tone);
|
|
170
|
-
}
|
|
171
|
-
// EXT-71 §3.2 — when a declared `approvals.escalate` entry is what brought this call here,
|
|
172
|
-
// the prompt shows THE ENTRY THAT FIRED. Without it the user is asked about a command their
|
|
173
|
-
// rung would have approved, with nothing on screen tying the question to the line they wrote
|
|
174
|
-
// — which reads as the gate malfunctioning rather than as their own rule working.
|
|
175
|
-
// [[TUI-C26]] — framed rather than interpolated. The entry is usually something the user
|
|
176
|
-
// wrote, but an MCP entry can carry server-supplied names, and this line sits one string away
|
|
177
|
-
// from the prompt's own chrome. The label stays this surface's own line.
|
|
178
|
-
if (pending.escalatedBy) {
|
|
179
|
-
displayDialogLine('⚠ Your approvals.escalate list matched this call:', 'warn');
|
|
180
|
-
dialogLines(frameUntrustedText(pending.escalatedBy, { width: frameWidth }).lines, 'warn');
|
|
181
|
-
}
|
|
182
|
-
// [[EXT-29]] §6 — when a §5 negotiation preceded this escalation, the human is shown ALL of
|
|
183
|
-
// it. The user is not asked to rule on the final command in isolation: that the agent
|
|
184
|
-
// proposed the same command three times unchanged, against two rejections that each told it
|
|
185
|
-
// what to fix, is the most important thing on the screen and is invisible if only the last
|
|
186
|
-
// attempt is shown. Rendered through core's shared renderer, so the surfaces cannot describe
|
|
187
|
-
// one exchange two ways.
|
|
167
|
+
// [[EXT-137]] — **the request block, rendered by core and printed linearly here.**
|
|
188
168
|
//
|
|
189
|
-
//
|
|
190
|
-
//
|
|
191
|
-
//
|
|
192
|
-
//
|
|
193
|
-
//
|
|
194
|
-
//
|
|
169
|
+
// This surface has no dock: it prints and it scrolls, so what a person reads immediately
|
|
170
|
+
// before pressing a key is whatever happened to be printed last. That makes the ORDER the
|
|
171
|
+
// whole mitigation, and the order is core's rather than this module's —
|
|
172
|
+
// `approvalRequestRows` puts the explanation first, the call after it and the HOSTS last, so
|
|
173
|
+
// the counterparty's identity is adjacent to the menu however long the note above it ran.
|
|
174
|
+
// The Ink TUI commits the identical rows into its transcript and `transcriptWindow` budgets
|
|
175
|
+
// them, so the three cannot come to disagree about what a human was shown.
|
|
195
176
|
//
|
|
196
|
-
// [[TUI-
|
|
197
|
-
//
|
|
198
|
-
//
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
})) {
|
|
205
|
-
|
|
206
|
-
displayDialogLine(row.text, 'warn');
|
|
207
|
-
else if (row.voice === 'agent')
|
|
208
|
-
displayDialogLine(row.text);
|
|
209
|
-
else
|
|
210
|
-
displayDialogLine(row.text, 'notice');
|
|
177
|
+
// [[TUI-C26]] §6 — every untrusted half in those rows arrives already framed: neutralised,
|
|
178
|
+
// inside a line-number gutter, with its command-substitution and composition sites listed
|
|
179
|
+
// above it. Model-authored text going to a terminal is not inert — a carriage return reaches
|
|
180
|
+
// column 0, an escape sequence clears the screen, and a newline alone lays down a line that
|
|
181
|
+
// looks exactly like this dialog's own chrome. Nothing is clamped to one line: the command
|
|
182
|
+
// that motivated the framing hid its payload fifteen lines into a commit message, and a clamp
|
|
183
|
+
// discards exactly what the human must rule on.
|
|
184
|
+
displayDialogLine('');
|
|
185
|
+
for (const row of approvalRequestRows(pending, { columns: output.columns })) {
|
|
186
|
+
displayDialogLine(row.text, APPROVAL_ROW_DIALOG_TONES[row.tone]);
|
|
211
187
|
}
|
|
212
|
-
// EXT-
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
//
|
|
216
|
-
//
|
|
188
|
+
// [[EXT-137]] — the two lines the Ink dock pins, printed here in this surface's equivalent
|
|
189
|
+
// position: immediately above the menu, which is the last thing read before a key is pressed.
|
|
190
|
+
// Both are ours — a constant, and one of four enumerated category sentences — so no amount of
|
|
191
|
+
// padding anywhere in the call can change a byte of either. The category is what makes the
|
|
192
|
+
// line worth reading: it says which CLASS of thing is about to be allowed, which a bare "an
|
|
193
|
+
// answer is needed" cannot, and a reader who is told nothing has no reason to look up.
|
|
194
|
+
displayDialogLine('');
|
|
195
|
+
displayDialogLine(APPROVAL_ASK_LINE, 'warn');
|
|
196
|
+
displayDialogLine(approvalCategoryLine(pending), 'warn');
|
|
197
|
+
// §6/EXT-70 — which sticky controls the gate would actually store something for. The menu
|
|
198
|
+
// below is assembled from these two booleans, never from what they would store.
|
|
217
199
|
const sticky = pending.grantPreview !== undefined;
|
|
218
|
-
if (sticky) {
|
|
219
|
-
// [[TUI-C26]] — these two lines carry the command as typed (§3.1 stores it exactly, never a
|
|
220
|
-
// widened pattern), so they inherit the command's problem in less space: an in-line
|
|
221
|
-
// `approved by rater` fits on one line untouched. Framed like everything else, with the
|
|
222
|
-
// label kept as this surface's OWN line so the untrusted half can never be read as chrome.
|
|
223
|
-
// Bounded to a few rows: for a shell call these carry the command as typed, which is
|
|
224
|
-
// already printed in full above — so an unbounded copy of a long command here (twice over,
|
|
225
|
-
// since the entry repeats it) scrolls the MENU off the screen, and a control the human
|
|
226
|
-
// cannot see is not one they were offered.
|
|
227
|
-
displayDialogLine('[s]/[a] will remember:', 'notice');
|
|
228
|
-
dialogLines(frameUntrustedText(pending.grantSummary ?? pending.grantPreview, {
|
|
229
|
-
width: frameWidth,
|
|
230
|
-
maxRows: STICKY_PREVIEW_MAX_ROWS,
|
|
231
|
-
}).lines, 'notice');
|
|
232
|
-
displayDialogLine(' stored as:', 'notice');
|
|
233
|
-
dialogLines(frameUntrustedText(pending.grantPreview, {
|
|
234
|
-
width: frameWidth,
|
|
235
|
-
maxRows: STICKY_PREVIEW_MAX_ROWS,
|
|
236
|
-
}).lines, 'notice');
|
|
237
|
-
}
|
|
238
|
-
// [[TUI-C26]] §6 — the same requirement for the OTHER sticky choice, and its availability is
|
|
239
|
-
// a different question: the runner offers a deny entry in cases where no grant exists at all
|
|
240
|
-
// (a command that does not statically resolve, every `catastrophic` verdict), because a
|
|
241
|
-
// refusal that cannot be decided still refuses. `recorded as:` rather than a second
|
|
242
|
-
// `stored as:` — one dialog, two labels that read alike, is how a reader loses track of which
|
|
243
|
-
// block they are looking at. The label states the lifetime because there is no persisted deny
|
|
244
|
-
// store and the control must not imply one.
|
|
245
200
|
const stickyDeny = pending.denyPreview !== undefined;
|
|
246
|
-
if (stickyDeny) {
|
|
247
|
-
displayDialogLine('[d] will refuse, for the rest of this session:', 'notice');
|
|
248
|
-
dialogLines(frameUntrustedText(pending.denySummary ?? pending.denyPreview, {
|
|
249
|
-
width: frameWidth,
|
|
250
|
-
maxRows: STICKY_PREVIEW_MAX_ROWS,
|
|
251
|
-
}).lines, 'notice');
|
|
252
|
-
displayDialogLine(' recorded as:', 'notice');
|
|
253
|
-
dialogLines(frameUntrustedText(pending.denyPreview, {
|
|
254
|
-
width: frameWidth,
|
|
255
|
-
maxRows: STICKY_PREVIEW_MAX_ROWS,
|
|
256
|
-
}).lines, 'notice');
|
|
257
|
-
}
|
|
258
201
|
setRawMode(false); // ensure typed input is echoed for this confirm
|
|
259
202
|
// EXT-18: wrap the prompt in try/finally so the raw-mode/ref state is not left wedged if
|
|
260
203
|
// rl.question throws. The subsequent streamResume run re-establishes raw mode + ref, but be
|
|
@@ -313,7 +256,12 @@ export async function createInteractiveSession(sessionConfig, commandLineConfigO
|
|
|
313
256
|
return { type: 'approve', scope: 'session' };
|
|
314
257
|
}
|
|
315
258
|
if (sticky && (answer === 'a' || answer === 'always')) {
|
|
316
|
-
|
|
259
|
+
// [[EXT-154]] — **no sentence here.** This answer asks for a project file and the write has
|
|
260
|
+
// not been attempted yet, so anything written on this line would be a claim about a file
|
|
261
|
+
// nobody has tried to make. Recorded instead, and confirmed by the outcome callback below
|
|
262
|
+
// once the runner says what it landed as. The approve twin of the `[d]` branch, and the one
|
|
263
|
+
// [[EXT-150]] found telling the identical lie beside the reject branch its node named.
|
|
264
|
+
rememberAsked.add(pending);
|
|
317
265
|
return { type: 'approve', scope: 'always' };
|
|
318
266
|
}
|
|
319
267
|
// [[TUI-C26]] §6 — *always reject*: a refusal that is also recorded, so the next identical
|
|
@@ -332,20 +280,26 @@ export async function createInteractiveSession(sessionConfig, commandLineConfigO
|
|
|
332
280
|
// widens what is answerable at any prompt. Read this as the reason not to add a fourth alias,
|
|
333
281
|
// never as licence to delete the three that are here.
|
|
334
282
|
const stickyRejected = stickyDeny && answer === 'd';
|
|
335
|
-
//
|
|
336
|
-
//
|
|
337
|
-
//
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
//
|
|
283
|
+
// [[EXT-154]] — the ORDINARY refusal is confirmed here and the remembered one is not, and the
|
|
284
|
+
// split is the whole fix. This line records nothing, so it is true the instant it is written;
|
|
285
|
+
// *always reject* asks for a project file, which [[EXT-107]] makes real and [[EXT-149]] can fail
|
|
286
|
+
// to write, and neither is known until the runner has tried. So the remembering answer is
|
|
287
|
+
// noted and the sentence it earns is committed by the outcome callback below — once, when it
|
|
288
|
+
// is known, never optimistically and then corrected.
|
|
289
|
+
if (stickyRejected)
|
|
290
|
+
rememberAsked.add(pending);
|
|
291
|
+
else
|
|
292
|
+
displayDialogLine('Command rejected.', 'notice');
|
|
293
|
+
// EXT-58 (§7): the model is told the moves it has — re-call with a justification, or call a
|
|
294
|
+
// different command — and, when the rater named an already-granted alternative (§4.4), that
|
|
295
|
+
// tool plus the clause saying it needs no approval. A bare "user rejected" leaves the model
|
|
296
|
+
// to guess, which it does by repeating itself or giving up.
|
|
346
297
|
return {
|
|
347
298
|
type: 'reject',
|
|
348
|
-
|
|
299
|
+
// [[EXT-107]] — `always`, which is what the label above promised. The lifetime that
|
|
300
|
+
// actually lands is core's to decide (a project file that cannot be written degrades to a
|
|
301
|
+
// session refusal), so this surface asks for the scope and never assumes the outcome.
|
|
302
|
+
...(stickyRejected ? { scope: 'always' } : {}),
|
|
349
303
|
message: buildRejectionMessage({
|
|
350
304
|
source: 'user',
|
|
351
305
|
toolName: pending.name,
|
|
@@ -353,6 +307,19 @@ export async function createInteractiveSession(sessionConfig, commandLineConfigO
|
|
|
353
307
|
}),
|
|
354
308
|
};
|
|
355
309
|
});
|
|
310
|
+
// [[EXT-154]] — **the return leg**, and the reason the two sentences above moved. The runner
|
|
311
|
+
// records a remembering answer only after the callback that gave it has returned, so this is
|
|
312
|
+
// the first moment either one can be described truthfully; written any earlier, the *saved to
|
|
313
|
+
// this project* line sits on screen beside core's own ERROR naming the file it could not write.
|
|
314
|
+
//
|
|
315
|
+
// Nothing here decides anything — by the time it fires the answer is made and the record is
|
|
316
|
+
// written — and an outcome for an interrupt this surface did not note is dropped, which is what
|
|
317
|
+
// keeps `[o]`, `[s]` and the ordinary refusal from being confirmed twice.
|
|
318
|
+
runner.setApprovalOutcomeCallback((outcome) => {
|
|
319
|
+
if (!rememberAsked.delete(outcome.pending))
|
|
320
|
+
return;
|
|
321
|
+
displayDialogLine(rememberedAnswerLine(outcome.decision, outcome.lifetime), 'notice');
|
|
322
|
+
});
|
|
356
323
|
// [[TUI-C68]] §6.1 — the ATTACK BANNER on the plain surface. An `attack` verdict says the
|
|
357
324
|
// command's own structure evidenced compromise, and it ends the run; without this the only
|
|
358
325
|
// recovery is a restart, which §12 forbids. Wiring the callback is what opts this session into
|
|
@@ -413,6 +380,39 @@ export async function createInteractiveSession(sessionConfig, commandLineConfigO
|
|
|
413
380
|
displayDialogLine(copy.granted, 'warn');
|
|
414
381
|
return 'run-anyway';
|
|
415
382
|
});
|
|
383
|
+
// [[TUI-C69]] §5.4/§5.5 — **this session has a live display, so the negotiation is watched
|
|
384
|
+
// rather than only reported.** Wiring it opts this surface into both halves: each round is
|
|
385
|
+
// drawn the moment the gate decides it, and a negotiated approval is held visible for the
|
|
386
|
+
// minimum interval before it takes effect. A surface that wires nothing — an `exec` run, CI —
|
|
387
|
+
// neither draws nor sleeps, which is why one seam carries both.
|
|
388
|
+
//
|
|
389
|
+
// Rendered through core's shared `renderNegotiationRows`, with this surface's own existing
|
|
390
|
+
// voice → tone mapping: the rater's turns `warn` (yellow) as §5.4 requires, the agent's plain,
|
|
391
|
+
// the chrome as a notice. The rows also NAME their speaker, which is the half of the
|
|
392
|
+
// distinction that survives a terminal with no colour at all. The Ink TUI renders the same
|
|
393
|
+
// rows, so the two surfaces cannot describe one exchange differently.
|
|
394
|
+
runner.setNegotiationDisplay({
|
|
395
|
+
round: ({ round, position, agreed, revised }) => {
|
|
396
|
+
// One round at a time, and on THIS surface that is correct: scrollback is append-only, so
|
|
397
|
+
// each round is printed once as it happens and nothing redraws. The Ink dock is the one that
|
|
398
|
+
// needs the whole list (`renderLiveNegotiationRows`), because there the accumulated rounds
|
|
399
|
+
// are re-rendered into a region that cannot scroll and must therefore be bounded.
|
|
400
|
+
for (const row of renderNegotiationRows([round], {
|
|
401
|
+
width: frameWidthFor(output.columns),
|
|
402
|
+
mode: 'live',
|
|
403
|
+
from: position,
|
|
404
|
+
...(agreed ? { agreed } : {}),
|
|
405
|
+
...(revised ? { revised } : {}),
|
|
406
|
+
})) {
|
|
407
|
+
if (row.voice === 'rater')
|
|
408
|
+
displayDialogLine(row.text, 'warn');
|
|
409
|
+
else if (row.voice === 'agent')
|
|
410
|
+
displayDialogLine(row.text);
|
|
411
|
+
else
|
|
412
|
+
displayDialogLine(row.text, 'notice');
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
});
|
|
416
416
|
if (logFileName) {
|
|
417
417
|
displayInfo(`${sessionConfig.mode} session will be logged to ${logFileName}\n`);
|
|
418
418
|
}
|
|
@@ -519,7 +519,19 @@ export async function createInteractiveSession(sessionConfig, commandLineConfigO
|
|
|
519
519
|
// (the runner posture). Session-scoped, reversible, never persisted. With no argument
|
|
520
520
|
// the command DISPLAYS the posture instead of changing it.
|
|
521
521
|
if ('show' in result.approvals) {
|
|
522
|
-
|
|
522
|
+
const refusals = runner.getRefusals();
|
|
523
|
+
printNotice(approvalsStatusNotice(runner.getSessionApprovals(), runner.getAllowlistCounts(), refusals, runner.getGrants(), runner.getMcpAnnotationTrust()));
|
|
524
|
+
// [[EXT-107]] — the refusals as their own notice, after the posture and nearest the
|
|
525
|
+
// prompt: it is the block the user acts on, and it carries the number `undeny` takes.
|
|
526
|
+
const refused = approvalsRefusalsNotice(refusals);
|
|
527
|
+
if (refused)
|
|
528
|
+
printNotice(refused);
|
|
529
|
+
}
|
|
530
|
+
else if ('undeny' in result.approvals) {
|
|
531
|
+
// [[EXT-107]] — lift a refusal by its number. The notice is built from what the
|
|
532
|
+
// runner RETURNS, so it can only describe the refusal actually lifted — including the
|
|
533
|
+
// case where a config entry goes on refusing the call after a saved one is removed.
|
|
534
|
+
printNotice(approvalsUndenyNotice(runner.liftRefusal(result.approvals.undeny.index)));
|
|
523
535
|
}
|
|
524
536
|
else if ('trust' in result.approvals) {
|
|
525
537
|
// EXT-70 §4.7.1 — believe (or stop believing) specific hints from one server, for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveSessionModule.js","sourceRoot":"","sources":["../../src/modules/interactiveSessionModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,GACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,eAAe,EACf,KAAK,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,KAAK,IAAI,KAAK,EACd,MAAM,IAAI,MAAM,GACjB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAoB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,GAGlB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,GAAG,CAAC,KAAwB,EAAE,IAAI,GAAe,OAAO,EAAQ,EAAE;IACjF,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC,CAAC;AAUF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,aAA4B,EAC5B,0BAAsD,EACtD,OAAgB;IAEhB,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,UAAU,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,WAAW,EAAE,CAAC;IAE1C,mGAAmG;IACnG,kGAAkG;IAClG,oGAAoG;IACpG,8DAA8D;IAC9D,MAAM,cAAc,GAClB,oBAAoB,CAAC,MAAM,EAAE;QAC3B,OAAO,EAAE,aAAa,CAAC,IAAI;QAC3B,OAAO,EAAE,aAAa,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC,gBAAgB;KAC/B,CAAC,IAAI,SAAS,CAAC;IAElB,oBAAoB;IAEpB,MAAM,WAAW,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,WAAW,EAAE,CAAC;QAChB,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACpE,CAAC;IACD,0FAA0F;IAC1F,8FAA8F;IAC9F,oEAAoE;IACpE,MAAM,MAAM,GAAG,IAAI,cAAc,CAC/B,qBAAqB,EACrB,eAAe,EAAE,EACjB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CACpC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAC/D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,2FAA2F;QAC3F,yFAAyF;QACzF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;QACzC,yFAAyF;QACzF,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,gGAAgG;QAChG,kGAAkG;QAClG,8FAA8F;QAC9F,4FAA4F;QAC5F,kGAAkG;QAClG,gGAAgG;QAChG,MAAM,gBAAgB,GAAG,CAAC,SAAyB,EAA0B,EAAE;YAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,cAAc,CAAC;gBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;gBAC5C,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,YAAY,EAAE,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;gBACpF,wFAAwF;gBACxF,gEAAgE;gBAChE,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAE;aACxC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,4FAA4F;QAC5F,sFAAsF;QACtF,2FAA2F;QAC3F,wFAAwF;QACxF,4FAA4F;QAC5F,4FAA4F;QAC5F,MAAM,OAAO,GAAG,CAAC,MAAc,EAAmB,EAAE;YAClD,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,6FAA6F;QAC7F,wFAAwF;QACxF,yFAAyF;QACzF,6FAA6F;QAC7F,oEAAoE;QACpE,2DAA2D;QAC3D,4EAA4E;QAC5E,iFAAiF;QACjF,uEAAuE;QACvE,mFAAmF;QACnF,sFAAsF;QACtF,0FAA0F;QAC1F,4FAA4F;QAC5F,iFAAiF;QACjF,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/C,MAAM,WAAW,GACf,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACtC,CAAC,CAAE,OAAO,CAAC,IAAI,CAAC,OAAkB;gBAClC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,2FAA2F;YAC3F,yFAAyF;YACzF,yFAAyF;YACzF,2FAA2F;YAC3F,6FAA6F;YAC7F,0FAA0F;YAC1F,0FAA0F;YAC1F,yFAAyF;YACzF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,qBAAqB,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAChF,2FAA2F;YAC3F,6FAA6F;YAC7F,wFAAwF;YACxF,2FAA2F;YAC3F,yCAAyC;YACzC,iBAAiB,CAAC,KAAK,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjE,6FAA6F;YAC7F,6FAA6F;YAC7F,uFAAuF;YACvF,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,SAAS;gBAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACpD,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACjC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,0FAA0F;YAC1F,4FAA4F;YAC5F,4FAA4F;YAC5F,8FAA8F;YAC9F,6FAA6F;YAC7F,6FAA6F;YAC7F,2FAA2F;YAC3F,yFAAyF;YACzF,2FAA2F;YAC3F,8EAA8E;YAC9E,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACrE,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACnD,2FAA2F;gBAC3F,kDAAkD;gBAClD,iBAAiB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBAChD,WAAW,CACT,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAC7E,QAAQ,CAAC,IAAI,CACd,CAAC;YACJ,CAAC;YACD,2FAA2F;YAC3F,4FAA4F;YAC5F,6FAA6F;YAC7F,kFAAkF;YAClF,yFAAyF;YACzF,8FAA8F;YAC9F,yEAAyE;YACzE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,iBAAiB,CAAC,mDAAmD,EAAE,MAAM,CAAC,CAAC;gBAC/E,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5F,CAAC;YACD,4FAA4F;YAC5F,sFAAsF;YACtF,4FAA4F;YAC5F,2FAA2F;YAC3F,6FAA6F;YAC7F,yBAAyB;YACzB,EAAE;YACF,+FAA+F;YAC/F,8FAA8F;YAC9F,+FAA+F;YAC/F,8FAA8F;YAC9F,+FAA+F;YAC/F,8FAA8F;YAC9F,EAAE;YACF,4FAA4F;YAC5F,0FAA0F;YAC1F,kFAAkF;YAClF,KAAK,MAAM,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAAE;gBACvE,KAAK,EAAE,UAAU;gBACjB,GAAG,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS;oBAC3C,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,EAAE;oBAC3C,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,EAAE,CAAC;gBACH,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO;oBAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;qBAC1D,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO;oBAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;oBACvD,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,0FAA0F;YAC1F,6FAA6F;YAC7F,4FAA4F;YAC5F,6FAA6F;YAC7F,mFAAmF;YACnF,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC;YAClD,IAAI,MAAM,EAAE,CAAC;gBACX,4FAA4F;gBAC5F,oFAAoF;gBACpF,wFAAwF;gBACxF,2FAA2F;gBAC3F,qFAAqF;gBACrF,2FAA2F;gBAC3F,uFAAuF;gBACvF,2CAA2C;gBAC3C,iBAAiB,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;gBACtD,WAAW,CACT,kBAAkB,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAa,EAAE;oBAChE,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,uBAAuB;iBACjC,CAAC,CAAC,KAAK,EACR,QAAQ,CACT,CAAC;gBACF,iBAAiB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBAC9C,WAAW,CACT,kBAAkB,CAAC,OAAO,CAAC,YAAa,EAAE;oBACxC,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,uBAAuB;iBACjC,CAAC,CAAC,KAAK,EACR,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,6FAA6F;YAC7F,6FAA6F;YAC7F,wFAAwF;YACxF,oFAAoF;YACpF,8FAA8F;YAC9F,8FAA8F;YAC9F,4CAA4C;YAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC;YACrD,IAAI,UAAU,EAAE,CAAC;gBACf,iBAAiB,CAAC,gDAAgD,EAAE,QAAQ,CAAC,CAAC;gBAC9E,WAAW,CACT,kBAAkB,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAY,EAAE;oBAC9D,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,uBAAuB;iBACjC,CAAC,CAAC,KAAK,EACR,QAAQ,CACT,CAAC;gBACF,iBAAiB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBAChD,WAAW,CACT,kBAAkB,CAAC,OAAO,CAAC,WAAY,EAAE;oBACvC,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,uBAAuB;iBACjC,CAAC,CAAC,KAAK,EACR,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,gDAAgD;YACnE,yFAAyF;YACzF,4FAA4F;YAC5F,6FAA6F;YAC7F,oEAAoE;YACpE,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,2FAA2F;gBAC3F,yFAAyF;gBACzF,yFAAyF;gBACzF,wFAAwF;gBACxF,2FAA2F;gBAC3F,wFAAwF;gBACxF,iFAAiF;gBACjF,EAAE;gBACF,4FAA4F;gBAC5F,6CAA6C;gBAC7C,MAAM,QAAQ,GAAG;oBACf,QAAQ;oBACR,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,MAAM;oBACN,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzC,CAAC;gBACF,2FAA2F;gBAC3F,4FAA4F;gBAC5F,6FAA6F;gBAC7F,6FAA6F;gBAC7F,yFAAyF;gBACzF,qFAAqF;gBACrF,iBAAiB,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACjE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpD,CAAC;oBAAS,CAAC;gBACT,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACxC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC5C,CAAC;YACD,6FAA6F;YAC7F,4FAA4F;YAC5F,yFAAyF;YACzF,qFAAqF;YACrF,2FAA2F;YAC3F,wFAAwF;YACxF,iBAAiB;YACjB,EAAE;YACF,4FAA4F;YAC5F,2FAA2F;YAC3F,yFAAyF;YACzF,sFAAsF;YACtF,2FAA2F;YAC3F,oFAAoF;YACpF,0BAA0B;YAC1B,IAAI,MAAM,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBACvD,iBAAiB,CACf,gEAAgE,EAChE,QAAQ,CACT,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC/C,CAAC;YACD,IAAI,MAAM,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACtD,iBAAiB,CACf,kFAAkF,EAClF,QAAQ,CACT,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC9C,CAAC;YACD,2FAA2F;YAC3F,yFAAyF;YACzF,2FAA2F;YAC3F,mFAAmF;YACnF,EAAE;YACF,2FAA2F;YAC3F,6FAA6F;YAC7F,yBAAyB;YACzB,EAAE;YACF,0FAA0F;YAC1F,yFAAyF;YACzF,2FAA2F;YAC3F,8FAA8F;YAC9F,8FAA8F;YAC9F,sDAAsD;YACtD,MAAM,cAAc,GAAG,UAAU,IAAI,MAAM,KAAK,GAAG,CAAC;YACpD,2FAA2F;YAC3F,2FAA2F;YAC3F,6EAA6E;YAC7E,iBAAiB,CACf,cAAc;gBACZ,CAAC,CAAC,kFAAkF;oBAChF,oFAAoF;gBACxF,CAAC,CAAC,mBAAmB,EACvB,QAAQ,CACT,CAAC;YACF,yFAAyF;YACzF,oFAAoF;YACpF,0FAA0F;YAC1F,uFAAuF;YACvF,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,OAAO,EAAE,qBAAqB,CAAC;oBAC7B,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,OAAO,CAAC,IAAI;oBACtB,OAAO,EAAE,OAAO,CAAC,aAAa;iBAC/B,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,0FAA0F;QAC1F,2FAA2F;QAC3F,+FAA+F;QAC/F,+FAA+F;QAC/F,mCAAmC;QACnC,EAAE;QACF,+FAA+F;QAC/F,gGAAgG;QAChG,8FAA8F;QAC9F,oCAAoC;QACpC,EAAE;QACF,4FAA4F;QAC5F,8FAA8F;QAC9F,iGAAiG;QACjG,4FAA4F;QAC5F,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,SAAS;gBAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACpD,0FAA0F;YAC1F,2FAA2F;YAC3F,4FAA4F;YAC5F,8FAA8F;YAC9F,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACjF,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACjC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1C,iBAAiB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAChD,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpF,wFAAwF;YACxF,2FAA2F;YAC3F,2BAA2B;YAC3B,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC/C,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAoC;YACvD,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,wFAAwF;gBACxF,wFAAwF;gBACxF,yBAAyB;gBACzB,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACzC,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACT,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,uFAAuF;YACvF,wFAAwF;YACxF,4FAA4F;YAC5F,oDAAoD;YACpD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;YAC5C,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,GAAG,aAAa,CAAC,IAAI,8BAA8B,WAAW,IAAI,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;YACjD,MAAM,QAAQ,GAAG,cAAc,SAAS,sBAAsB,CAAC;YAC/D,IAAI,WAAW,EAAE,CAAC;gBAChB,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;YACD,eAAe,EAAE,CAAC,CAAC,mDAAmD;YACtE,yFAAyF;YACzF,wFAAwF;YACxF,6EAA6E;YAC7E,MAAM,QAAQ,GAAkB,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;YAE9D,2FAA2F;YAC3F,kFAAkF;YAClF,2FAA2F;YAC3F,qFAAqF;YACrF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,QAAQ,GAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC;oBAAE,QAAQ,GAAG,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;YACD,iBAAiB,CAAC,MAAM,EAAE;gBACxB,cAAc,EAAE,6DAA6D;gBAC7E,OAAO,EAAE,aAAa,CAAC,IAAI;gBAC3B,OAAO,EAAE,aAAa,EAAE;gBACxB,KAAK,EAAE,MAAM,CAAC,gBAAgB;gBAC9B,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC7D,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC,CAAC;YACH,SAAS,IAAI,CAAC,CAAC,CAAC,yCAAyC;QAC3D,CAAC,CAAC;QAEF,2FAA2F;QAC3F,0DAA0D;QAC1D,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,EAAE;YACjD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,OAAO,CAAC,YAAY,CAAC,CAAC;YACtB,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,kBAAkB,EAAE,CAAC;YACrB,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC7B,OAAO,CAAC,UAAU,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,2EAA2E;gBAC7F,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;oBACtB,SAAS,CAAC,6BAA6B;gBACzC,CAAC;gBACD,sFAAsF;gBACtF,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;oBAC9C,MAAM,UAAU,EAAE,CAAC;oBACnB,MAAM;gBACR,CAAC;gBAED,uFAAuF;gBACvF,wFAAwF;gBACxF,wFAAwF;gBACxF,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE;wBACpD,IAAI,EAAE,aAAa,CAAC,IAAI;wBACxB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;wBAC/C,SAAS;wBACT,oFAAoF;wBACpF,gDAAgD;wBAChD,aAAa,EAAE,KAAK;wBACpB,YAAY,EAAE,KAAK;wBACnB,kFAAkF;wBAClF,uEAAuE;wBACvE,aAAa,EAAE,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;wBAC9D,gFAAgF;wBAChF,oFAAoF;wBACpF,iFAAiF;wBACjF,UAAU,EAAE,EAAE;wBACd,cAAc,EAAE,MAAM;wBACtB,gBAAgB;qBACjB,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,MAAM,UAAU,EAAE,CAAC;wBACnB,MAAM;oBACR,CAAC;oBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACrB,oFAAoF;wBACpF,sFAAsF;wBACtF,2DAA2D;wBAC3D,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BAC/B,WAAW,CACT,qBAAqB,CACnB,MAAM,CAAC,mBAAmB,EAAE,EAC5B,MAAM,CAAC,kBAAkB,EAAE,EAC3B,MAAM,CAAC,WAAW,EAAE,EACpB,MAAM,CAAC,SAAS,EAAE,EAClB,MAAM,CAAC,qBAAqB,EAAE,CAC/B,CACF,CAAC;wBACJ,CAAC;6BAAM,IAAI,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BACvC,kFAAkF;4BAClF,iFAAiF;4BACjF,iFAAiF;4BACjF,6BAA6B;4BAC7B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;4BAC1D,WAAW,CACT,oBAAoB,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAC3E,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;4BACrD,2EAA2E;4BAC3E,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;yBAAM,IACL,MAAM,CAAC,eAAe;wBACtB,MAAM,CAAC,WAAW;wBAClB,MAAM,CAAC,WAAW;wBAClB,MAAM,CAAC,gBAAgB,EACvB,CAAC;wBACD,8EAA8E;wBAC9E,mFAAmF;wBACnF,qDAAqD;wBACrD,WAAW,CACT,IAAI,MAAM,CAAC,IAAI,8DAA8D;4BAC3E,6DAA6D,CAChE,CAAC;oBACJ,CAAC;yBAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBACzB,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7B,CAAC;oBACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,yEAAyE;wBACzE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;4BAC/B,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACjC,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;oBACD,SAAS,CAAC,0CAA0C;gBACtD,CAAC;gBAED,IAAI,WAAW,GAAG,KAAK,CAAC;gBAExB,GAAG,CAAC;oBACF,IAAI,CAAC;wBACH,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;wBAChC,WAAW,GAAG,KAAK,CAAC;oBACtB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,oFAAoF;wBACpF,gFAAgF;wBAChF,oFAAoF;wBACpF,sFAAsF;wBACtF,+EAA+E;wBAC/E,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;4BACrC,OAAO,CAAC,+BAA+B,CAAC,CAAC;4BACzC,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gCAC3E,OAAO,CAAC,GAAG,CAAC,CAAC;4BACf,CAAC;4BACD,OAAO,CAAC,EAAE,CAAC,CAAC;wBACd,CAAC;6BAAM,CAAC;4BACN,OAAO,CACL,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACtF,CAAC;wBACJ,CAAC;wBACD,0EAA0E;wBAC1E,gFAAgF;wBAChF,2EAA2E;wBAC3E,MAAM,aAAa,GAAG,MAAM,OAAO,CACjC,wDAAwD,CACzD,CAAC;wBACF,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBAEjE,IAAI,CAAC,WAAW,EAAE,CAAC;4BACjB,OAAO,CAAC,8BAA8B,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;gBACH,CAAC,QAAQ,WAAW,IAAI,CAAC,UAAU,EAAE;gBAErC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,yFAAyF;YACzF,0FAA0F;YAC1F,mDAAmD;YACnD,EAAE;YACF,2FAA2F;YAC3F,6FAA6F;YAC7F,2FAA2F;YAC3F,uFAAuF;YACvF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,mBAAmB,CACjB,gBAAgB,CAAC;oBACf,GAAG,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC;oBACxE,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,YAAY,EAAE;iBACvB,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACpC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,UAAU;YAAE,MAAM,WAAW,EAAE,CAAC;QACrC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,EAAE,CAAC;YACT,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,kBAAkB,EAAE,CAAC;QACrB,6FAA6F;QAC7F,6FAA6F;QAC7F,4FAA4F;QAC5F,+FAA+F;QAC/F,8EAA8E;QAC9E,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACrC,KAAK,CAAC,YAAY,aAAa,CAAC,IAAI,WAAW,CAAC,CAAC;YACjD,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,YAAY,aAAa,CAAC,IAAI,aAAa,GAAG,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"interactiveSessionModule.js","sourceRoot":"","sources":["../../src/modules/interactiveSessionModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,GACrB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,eAAe,EACf,KAAK,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,KAAK,IAAI,KAAK,EACd,MAAM,IAAI,MAAM,GACjB,MAAM,wCAAwC,CAAC;AAMhD,OAAO,EAAoB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,GAGlB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,GAAG,CAAC,KAAwB,EAAE,IAAI,GAAe,OAAO,EAAQ,EAAE;IACjF,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,oBAAoB,GAAG,CAAC,QAA8B,EAAE,MAAwB,EAAU,EAAE;IAChG,MAAM,cAAc,GAAG,MAAM,KAAK,QAAQ,CAAC;IAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,cAAc;YACnB,CAAC,CAAC,kFAAkF;YACpF,CAAC,CAAC,gFAAgF,CAAC;IACvF,CAAC;IACD,OAAO,cAAc;QACnB,CAAC,CAAC,qFAAqF;YACnF,+EAA+E;QACnF,CAAC,CAAC,yFAAyF;YACvF,iFAAiF;YACjF,oBAAoB,CAAC;AAC7B,CAAC,CAAC;AAUF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,aAA4B,EAC5B,0BAAsD,EACtD,OAAgB;IAEhB,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,UAAU,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,WAAW,EAAE,CAAC;IAE1C,mGAAmG;IACnG,kGAAkG;IAClG,oGAAoG;IACpG,8DAA8D;IAC9D,MAAM,cAAc,GAClB,oBAAoB,CAAC,MAAM,EAAE;QAC3B,OAAO,EAAE,aAAa,CAAC,IAAI;QAC3B,OAAO,EAAE,aAAa,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC,gBAAgB;KAC/B,CAAC,IAAI,SAAS,CAAC;IAElB,oBAAoB;IAEpB,MAAM,WAAW,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,WAAW,EAAE,CAAC;QAChB,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACpE,CAAC;IACD,uFAAuF;IACvF,gGAAgG;IAChG,kDAAkD;IAClD,MAAM,MAAM,GAAG,IAAI,cAAc,CAC/B,qBAAqB,EACrB,eAAe,EAAE,EACjB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CACpC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAC/D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,2FAA2F;QAC3F,yFAAyF;QACzF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;QACzC,yFAAyF;QACzF,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,gGAAgG;QAChG,kGAAkG;QAClG,8FAA8F;QAC9F,4FAA4F;QAC5F,kGAAkG;QAClG,gGAAgG;QAChG,MAAM,gBAAgB,GAAG,CAAC,SAAyB,EAA0B,EAAE;YAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,cAAc,CAAC;gBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;gBAC5C,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,YAAY,EAAE,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;gBACpF,wFAAwF;gBACxF,gEAAgE;gBAChE,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAE;aACxC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,4FAA4F;QAC5F,sFAAsF;QACtF,2FAA2F;QAC3F,wFAAwF;QACxF,4FAA4F;QAC5F,4FAA4F;QAC5F,MAAM,OAAO,GAAG,CAAC,MAAc,EAAmB,EAAE;YAClD,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,6FAA6F;QAC7F,wFAAwF;QACxF,yFAAyF;QACzF,6FAA6F;QAC7F,oEAAoE;QACpE,2DAA2D;QAC3D,4EAA4E;QAC5E,iFAAiF;QACjF,uEAAuE;QACvE,mFAAmF;QACnF,sFAAsF;QACtF,0FAA0F;QAC1F,4FAA4F;QAC5F,iFAAiF;QACjF,8FAA8F;QAC9F,gGAAgG;QAChG,sBAAsB;QACtB,EAAE;QACF,6FAA6F;QAC7F,2FAA2F;QAC3F,8FAA8F;QAC9F,6FAA6F;QAC7F,2EAA2E;QAC3E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;QAEtD,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/C,mFAAmF;YACnF,EAAE;YACF,yFAAyF;YACzF,0FAA0F;YAC1F,wEAAwE;YACxE,6FAA6F;YAC7F,0FAA0F;YAC1F,4FAA4F;YAC5F,2EAA2E;YAC3E,EAAE;YACF,2FAA2F;YAC3F,0FAA0F;YAC1F,6FAA6F;YAC7F,4FAA4F;YAC5F,2FAA2F;YAC3F,8FAA8F;YAC9F,gDAAgD;YAChD,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC5E,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,2FAA2F;YAC3F,8FAA8F;YAC9F,8FAA8F;YAC9F,2FAA2F;YAC3F,4FAA4F;YAC5F,uFAAuF;YACvF,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YAC7C,iBAAiB,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YACzD,0FAA0F;YAC1F,gFAAgF;YAChF,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC;YAClD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC;YACrD,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,gDAAgD;YACnE,yFAAyF;YACzF,4FAA4F;YAC5F,6FAA6F;YAC7F,oEAAoE;YACpE,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,2FAA2F;gBAC3F,yFAAyF;gBACzF,yFAAyF;gBACzF,wFAAwF;gBACxF,2FAA2F;gBAC3F,wFAAwF;gBACxF,iFAAiF;gBACjF,EAAE;gBACF,4FAA4F;gBAC5F,6CAA6C;gBAC7C,MAAM,QAAQ,GAAG;oBACf,QAAQ;oBACR,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,MAAM;oBACN,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzC,CAAC;gBACF,2FAA2F;gBAC3F,4FAA4F;gBAC5F,6FAA6F;gBAC7F,6FAA6F;gBAC7F,yFAAyF;gBACzF,qFAAqF;gBACrF,iBAAiB,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACjE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpD,CAAC;oBAAS,CAAC;gBACT,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACxC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC5C,CAAC;YACD,6FAA6F;YAC7F,4FAA4F;YAC5F,yFAAyF;YACzF,qFAAqF;YACrF,2FAA2F;YAC3F,wFAAwF;YACxF,iBAAiB;YACjB,EAAE;YACF,4FAA4F;YAC5F,2FAA2F;YAC3F,yFAAyF;YACzF,sFAAsF;YACtF,2FAA2F;YAC3F,oFAAoF;YACpF,0BAA0B;YAC1B,IAAI,MAAM,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBACvD,iBAAiB,CACf,gEAAgE,EAChE,QAAQ,CACT,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC/C,CAAC;YACD,IAAI,MAAM,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACtD,4FAA4F;gBAC5F,yFAAyF;gBACzF,0FAA0F;gBAC1F,4FAA4F;gBAC5F,uFAAuF;gBACvF,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC9C,CAAC;YACD,2FAA2F;YAC3F,yFAAyF;YACzF,2FAA2F;YAC3F,mFAAmF;YACnF,EAAE;YACF,2FAA2F;YAC3F,6FAA6F;YAC7F,yBAAyB;YACzB,EAAE;YACF,0FAA0F;YAC1F,yFAAyF;YACzF,2FAA2F;YAC3F,8FAA8F;YAC9F,8FAA8F;YAC9F,sDAAsD;YACtD,MAAM,cAAc,GAAG,UAAU,IAAI,MAAM,KAAK,GAAG,CAAC;YACpD,8FAA8F;YAC9F,8FAA8F;YAC9F,iGAAiG;YACjG,0FAA0F;YAC1F,6FAA6F;YAC7F,qDAAqD;YACrD,IAAI,cAAc;gBAAE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;;gBAC1C,iBAAiB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;YACtD,4FAA4F;YAC5F,4FAA4F;YAC5F,4FAA4F;YAC5F,4DAA4D;YAC5D,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,oFAAoF;gBACpF,0FAA0F;gBAC1F,sFAAsF;gBACtF,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,OAAO,EAAE,qBAAqB,CAAC;oBAC7B,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,OAAO,CAAC,IAAI;oBACtB,OAAO,EAAE,OAAO,CAAC,aAAa;iBAC/B,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,6FAA6F;QAC7F,6FAA6F;QAC7F,8FAA8F;QAC9F,gGAAgG;QAChG,EAAE;QACF,4FAA4F;QAC5F,gGAAgG;QAChG,0EAA0E;QAC1E,MAAM,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,OAAO;YACnD,iBAAiB,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,0FAA0F;QAC1F,2FAA2F;QAC3F,+FAA+F;QAC/F,+FAA+F;QAC/F,mCAAmC;QACnC,EAAE;QACF,+FAA+F;QAC/F,gGAAgG;QAChG,8FAA8F;QAC9F,oCAAoC;QACpC,EAAE;QACF,4FAA4F;QAC5F,8FAA8F;QAC9F,iGAAiG;QACjG,4FAA4F;QAC5F,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,SAAS;gBAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACpD,0FAA0F;YAC1F,2FAA2F;YAC3F,4FAA4F;YAC5F,8FAA8F;YAC9F,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACjF,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACjC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1C,iBAAiB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAChD,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpF,wFAAwF;YACxF,2FAA2F;YAC3F,2BAA2B;YAC3B,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC/C,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAoC;YACvD,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,wFAAwF;gBACxF,wFAAwF;gBACxF,yBAAyB;gBACzB,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACzC,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACT,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,uFAAuF;YACvF,wFAAwF;YACxF,4FAA4F;YAC5F,oDAAoD;YACpD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;YAC5C,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,2FAA2F;QAC3F,2FAA2F;QAC3F,0FAA0F;QAC1F,8FAA8F;QAC9F,gEAAgE;QAChE,EAAE;QACF,2FAA2F;QAC3F,+FAA+F;QAC/F,qFAAqF;QACrF,2FAA2F;QAC3F,sEAAsE;QACtE,MAAM,CAAC,qBAAqB,CAAC;YAC3B,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC9C,0FAA0F;gBAC1F,6FAA6F;gBAC7F,2FAA2F;gBAC3F,kFAAkF;gBAClF,KAAK,MAAM,GAAG,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,EAAE;oBAC/C,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;oBACpC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChC,CAAC,EAAE,CAAC;oBACH,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO;wBAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;yBAC1D,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO;wBAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;wBACvD,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,GAAG,aAAa,CAAC,IAAI,8BAA8B,WAAW,IAAI,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;YACjD,MAAM,QAAQ,GAAG,cAAc,SAAS,sBAAsB,CAAC;YAC/D,IAAI,WAAW,EAAE,CAAC;gBAChB,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;YACD,eAAe,EAAE,CAAC,CAAC,mDAAmD;YACtE,yFAAyF;YACzF,wFAAwF;YACxF,6EAA6E;YAC7E,MAAM,QAAQ,GAAkB,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;YAE9D,2FAA2F;YAC3F,kFAAkF;YAClF,2FAA2F;YAC3F,qFAAqF;YACrF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,QAAQ,GAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC;oBAAE,QAAQ,GAAG,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;YACD,iBAAiB,CAAC,MAAM,EAAE;gBACxB,cAAc,EAAE,6DAA6D;gBAC7E,OAAO,EAAE,aAAa,CAAC,IAAI;gBAC3B,OAAO,EAAE,aAAa,EAAE;gBACxB,KAAK,EAAE,MAAM,CAAC,gBAAgB;gBAC9B,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC7D,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC,CAAC;YACH,SAAS,IAAI,CAAC,CAAC,CAAC,yCAAyC;QAC3D,CAAC,CAAC;QAEF,2FAA2F;QAC3F,0DAA0D;QAC1D,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,EAAE;YACjD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,OAAO,CAAC,YAAY,CAAC,CAAC;YACtB,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,kBAAkB,EAAE,CAAC;YACrB,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC7B,OAAO,CAAC,UAAU,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,2EAA2E;gBAC7F,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;oBACtB,SAAS,CAAC,6BAA6B;gBACzC,CAAC;gBACD,sFAAsF;gBACtF,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;oBAC9C,MAAM,UAAU,EAAE,CAAC;oBACnB,MAAM;gBACR,CAAC;gBAED,uFAAuF;gBACvF,wFAAwF;gBACxF,wFAAwF;gBACxF,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE;wBACpD,IAAI,EAAE,aAAa,CAAC,IAAI;wBACxB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;wBAC/C,SAAS;wBACT,oFAAoF;wBACpF,gDAAgD;wBAChD,aAAa,EAAE,KAAK;wBACpB,YAAY,EAAE,KAAK;wBACnB,kFAAkF;wBAClF,uEAAuE;wBACvE,aAAa,EAAE,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;wBAC9D,gFAAgF;wBAChF,oFAAoF;wBACpF,iFAAiF;wBACjF,UAAU,EAAE,EAAE;wBACd,cAAc,EAAE,MAAM;wBACtB,gBAAgB;qBACjB,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,MAAM,UAAU,EAAE,CAAC;wBACnB,MAAM;oBACR,CAAC;oBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACrB,oFAAoF;wBACpF,sFAAsF;wBACtF,2DAA2D;wBAC3D,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;4BACtC,WAAW,CACT,qBAAqB,CACnB,MAAM,CAAC,mBAAmB,EAAE,EAC5B,MAAM,CAAC,kBAAkB,EAAE,EAC3B,QAAQ,EACR,MAAM,CAAC,SAAS,EAAE,EAClB,MAAM,CAAC,qBAAqB,EAAE,CAC/B,CACF,CAAC;4BACF,oFAAoF;4BACpF,sFAAsF;4BACtF,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;4BAClD,IAAI,OAAO;gCAAE,WAAW,CAAC,OAAO,CAAC,CAAC;wBACpC,CAAC;6BAAM,IAAI,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BACxC,gFAAgF;4BAChF,sFAAsF;4BACtF,oFAAoF;4BACpF,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACxF,CAAC;6BAAM,IAAI,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BACvC,kFAAkF;4BAClF,iFAAiF;4BACjF,iFAAiF;4BACjF,6BAA6B;4BAC7B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;4BAC1D,WAAW,CACT,oBAAoB,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAC3E,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;4BACrD,2EAA2E;4BAC3E,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;yBAAM,IACL,MAAM,CAAC,eAAe;wBACtB,MAAM,CAAC,WAAW;wBAClB,MAAM,CAAC,WAAW;wBAClB,MAAM,CAAC,gBAAgB,EACvB,CAAC;wBACD,8EAA8E;wBAC9E,mFAAmF;wBACnF,qDAAqD;wBACrD,WAAW,CACT,IAAI,MAAM,CAAC,IAAI,8DAA8D;4BAC3E,6DAA6D,CAChE,CAAC;oBACJ,CAAC;yBAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBACzB,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7B,CAAC;oBACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,yEAAyE;wBACzE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;4BAC/B,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACjC,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;oBACD,SAAS,CAAC,0CAA0C;gBACtD,CAAC;gBAED,IAAI,WAAW,GAAG,KAAK,CAAC;gBAExB,GAAG,CAAC;oBACF,IAAI,CAAC;wBACH,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;wBAChC,WAAW,GAAG,KAAK,CAAC;oBACtB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,oFAAoF;wBACpF,gFAAgF;wBAChF,oFAAoF;wBACpF,sFAAsF;wBACtF,+EAA+E;wBAC/E,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;4BACrC,OAAO,CAAC,+BAA+B,CAAC,CAAC;4BACzC,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gCAC3E,OAAO,CAAC,GAAG,CAAC,CAAC;4BACf,CAAC;4BACD,OAAO,CAAC,EAAE,CAAC,CAAC;wBACd,CAAC;6BAAM,CAAC;4BACN,OAAO,CACL,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACtF,CAAC;wBACJ,CAAC;wBACD,0EAA0E;wBAC1E,gFAAgF;wBAChF,2EAA2E;wBAC3E,MAAM,aAAa,GAAG,MAAM,OAAO,CACjC,wDAAwD,CACzD,CAAC;wBACF,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBAEjE,IAAI,CAAC,WAAW,EAAE,CAAC;4BACjB,OAAO,CAAC,8BAA8B,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;gBACH,CAAC,QAAQ,WAAW,IAAI,CAAC,UAAU,EAAE;gBAErC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,yFAAyF;YACzF,0FAA0F;YAC1F,mDAAmD;YACnD,EAAE;YACF,2FAA2F;YAC3F,6FAA6F;YAC7F,2FAA2F;YAC3F,uFAAuF;YACvF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,mBAAmB,CACjB,gBAAgB,CAAC;oBACf,GAAG,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC;oBACxE,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,YAAY,EAAE;iBACvB,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACpC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,UAAU;YAAE,MAAM,WAAW,EAAE,CAAC;QACrC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,EAAE,CAAC;YACT,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,kBAAkB,EAAE,CAAC;QACrB,6FAA6F;QAC7F,6FAA6F;QAC7F,4FAA4F;QAC5F,+FAA+F;QAC/F,8EAA8E;QAC9E,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACrC,KAAK,CAAC,YAAY,aAAa,CAAC,IAAI,WAAW,CAAC,CAAC;YACjD,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,YAAY,aAAa,CAAC,IAAI,aAAa,GAAG,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|