@aimarket/warden 0.19.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README-es.md +31 -13
  3. package/README-fr.md +31 -13
  4. package/README-ru.md +31 -13
  5. package/README-zh.md +31 -13
  6. package/README.md +31 -13
  7. package/dist/atomic-screen.d.ts +61 -0
  8. package/dist/atomic-screen.d.ts.map +1 -0
  9. package/dist/atomic-screen.js +165 -0
  10. package/dist/atomic-screen.js.map +1 -0
  11. package/dist/flow-guard.d.ts +222 -14
  12. package/dist/flow-guard.d.ts.map +1 -1
  13. package/dist/flow-guard.js +1394 -97
  14. package/dist/flow-guard.js.map +1 -1
  15. package/dist/mcp-server.js +5 -0
  16. package/dist/mcp-server.js.map +1 -1
  17. package/dist/mcp-tools.d.ts.map +1 -1
  18. package/dist/mcp-tools.js +46 -9
  19. package/dist/mcp-tools.js.map +1 -1
  20. package/dist/review-diff.d.ts +36 -0
  21. package/dist/review-diff.d.ts.map +1 -1
  22. package/dist/review-diff.js +179 -7
  23. package/dist/review-diff.js.map +1 -1
  24. package/dist/static-scan.d.ts +1 -1
  25. package/dist/static-scan.d.ts.map +1 -1
  26. package/dist/static-scan.js +64 -1
  27. package/dist/static-scan.js.map +1 -1
  28. package/dist/task-adapter.d.ts +73 -0
  29. package/dist/task-adapter.d.ts.map +1 -0
  30. package/dist/task-adapter.js +379 -0
  31. package/dist/task-adapter.js.map +1 -0
  32. package/dist/task-cli.d.ts +3 -0
  33. package/dist/task-cli.d.ts.map +1 -0
  34. package/dist/task-cli.js +162 -0
  35. package/dist/task-cli.js.map +1 -0
  36. package/dist/types.d.ts +9 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/wrap-cli.d.ts +11 -0
  39. package/dist/wrap-cli.d.ts.map +1 -1
  40. package/dist/wrap-cli.js +34 -2
  41. package/dist/wrap-cli.js.map +1 -1
  42. package/dist/wrap-screen.d.ts +3 -0
  43. package/dist/wrap-screen.d.ts.map +1 -0
  44. package/dist/wrap-screen.js +20 -0
  45. package/dist/wrap-screen.js.map +1 -0
  46. package/dist/wrap-state.d.ts +5 -0
  47. package/dist/wrap-state.d.ts.map +1 -1
  48. package/dist/wrap-state.js +3 -1
  49. package/dist/wrap-state.js.map +1 -1
  50. package/dist/wrap.d.ts.map +1 -1
  51. package/dist/wrap.js +282 -20
  52. package/dist/wrap.js.map +1 -1
  53. package/docs/flow-guard.es.md +302 -19
  54. package/docs/flow-guard.fr.md +303 -20
  55. package/docs/flow-guard.md +303 -18
  56. package/docs/flow-guard.ru.md +302 -18
  57. package/docs/flow-guard.zh.md +295 -13
  58. package/docs/gates.es.md +22 -6
  59. package/docs/gates.fr.md +21 -5
  60. package/docs/gates.md +22 -6
  61. package/docs/gates.ru.md +21 -6
  62. package/docs/gates.zh.md +8 -5
  63. package/docs/scanner-comparison.es.md +13 -11
  64. package/docs/scanner-comparison.fr.md +13 -11
  65. package/docs/scanner-comparison.md +13 -11
  66. package/docs/scanner-comparison.ru.md +13 -11
  67. package/docs/scanner-comparison.zh.md +13 -11
  68. package/docs/security-hardening.es.md +1 -1
  69. package/docs/security-hardening.fr.md +1 -1
  70. package/docs/security-hardening.md +1 -1
  71. package/docs/security-hardening.ru.md +1 -1
  72. package/docs/security-hardening.zh.md +1 -1
  73. package/examples/atomic-screen-server.mjs +42 -0
  74. package/native/macos/Package.swift +9 -0
  75. package/native/macos/Sources/WardenDesktop/NativeSurface.swift +246 -0
  76. package/native/macos/Sources/WardenDesktop/StandardIO.swift +139 -0
  77. package/native/macos/Sources/WardenDesktopHost/Main.swift +211 -0
  78. package/package.json +17 -5
  79. package/scripts/build-macos.mjs +22 -0
@@ -2,13 +2,54 @@ export type FlowLabel = 'private' | 'untrusted' | 'outbound' | 'destructive';
2
2
  export type FlowMode = 'ask' | 'deny' | 'audit' | 'off';
3
3
  /** When the Stop hook tells the user that an answer drew on outside text. */
4
4
  export type AnswerNote = 'always' | 'instruction' | 'off';
5
+ export interface GuiActionRule {
6
+ /** Exact MCP tool name; no globs. */
7
+ tool: string;
8
+ action: 'click' | 'type' | 'key';
9
+ target: {
10
+ role: string;
11
+ accessibilityId: string;
12
+ };
13
+ /** At least one scope is required; both, when present, must match. */
14
+ context: {
15
+ origin?: string;
16
+ application?: string;
17
+ };
18
+ /** One supported navigation chord, required for key rules. */
19
+ keys?: string;
20
+ /** Required for type rules, measured in UTF-16 code units. */
21
+ maxTextLength?: number;
22
+ }
23
+ export interface GuiPolicy {
24
+ mode: 'strict' | 'policy';
25
+ maxSnapshotAgeMs: number;
26
+ allow: GuiActionRule[];
27
+ /** Parser diagnostic, not a configurable field. */
28
+ invalid?: true;
29
+ }
30
+ export interface PublicRequestRule {
31
+ tool: string;
32
+ requestSha256: string;
33
+ }
34
+ export interface CredentialEgressPolicy {
35
+ allow: PublicRequestRule[];
36
+ invalid?: true;
37
+ }
38
+ export interface TaskAdapterPolicy {
39
+ mode: 'strict' | 'capabilities' | 'review';
40
+ /** Operator-controlled MCP server name, bound to WARDEN's built-in `task` command. */
41
+ server: string;
42
+ /** Pins <state dir>/task-manifest.json, never a page-supplied manifest. */
43
+ manifestSha256: string;
44
+ invalid?: true;
45
+ }
5
46
  export interface FlowPolicy {
6
47
  mode: FlowMode;
7
48
  /** Tool-name globs → the labels an operator assigns; replaces the built-in guess for that tool. */
8
49
  labels: Record<string, FlowLabel[]>;
9
50
  /** Hosts whose content does not taint the session (docs you trust). `*.example.com` covers subdomains. */
10
51
  trustedSources: string[];
11
- /** Hosts an outbound call may reach in a tainted session without asking. Fingerprint checks still apply. */
52
+ /** Hosts an outbound call may reach in a tainted session without asking. Fingerprint checks and the credential boundary still apply. */
12
53
  allowedDestinations: string[];
13
54
  /** Treat every local file the agent reads as outside text (strict). Default: only foreign paths. */
14
55
  taintLocalFiles: boolean;
@@ -18,18 +59,31 @@ export interface FlowPolicy {
18
59
  contactTools?: string[];
19
60
  /** Stop hook: name the outside text a turn read (always), only text that addressed the model (instruction), or stay silent. */
20
61
  answerNote: AnswerNote;
62
+ /** Legacy schema, parsed for migration only. Untrusted GUI metadata never grants permission. */
63
+ gui?: GuiPolicy;
64
+ /** Reviewed exact public requests, each usable once per session after a credential read. */
65
+ credentialEgress?: CredentialEgressPolicy;
66
+ taskAdapter?: TaskAdapterPolicy;
21
67
  }
22
68
  export interface FlowSource {
23
69
  tool: string;
24
70
  src: string;
25
71
  at: string; /** The text addressed the model as if instructing it. */
26
- hint?: boolean;
72
+ hint?: boolean; /** The user's prompt count when it was read. */
73
+ turn?: number;
27
74
  }
28
75
  /** The last characters each argument sent out this session, so a value split over several calls is seen whole. */
29
76
  export interface OutTail {
30
77
  t: string;
31
78
  a: string;
32
79
  }
80
+ export interface FragmentRecord {
81
+ group: string;
82
+ hash: string;
83
+ offset: number;
84
+ size?: number;
85
+ edge?: true;
86
+ }
33
87
  export interface FlowState {
34
88
  v: 1;
35
89
  untrusted: FlowSource[];
@@ -51,10 +105,25 @@ export interface FlowState {
51
105
  resolvedVersion?: 2;
52
106
  /** Per argument name: the tail of what outbound calls carried after outside text (see OutTail). */
53
107
  tails?: Record<string, OutTail>;
54
- /** When the user's latest prompt arrived: the Stop hook names only outside text read since. */
55
- turnAt?: string;
108
+ /** Hash-only short-fragment index and observations, shared by every proxy in this session. */
109
+ fragments?: {
110
+ v: 1 | 2;
111
+ index: FragmentRecord[];
112
+ seen: FragmentRecord[];
113
+ full?: true;
114
+ };
115
+ /** How many prompts the user has sent: the Stop hook names only outside text read in the latest turn. */
116
+ turn?: number;
56
117
  /** MCP tools seen without an operator label, with the labels the guard guessed (`warden-mcp flow-labels`). */
57
118
  unlabeled?: Record<string, FlowLabel[]>;
119
+ /** Per MCP server: what its latest screen result showed, so a click is judged by its target (see ScreenView). */
120
+ screens?: Record<string, ScreenView>;
121
+ /** A forwarded input/paste may have populated an outbound form. Never reset within the session. */
122
+ guiInputSeen?: true;
123
+ /** Sticky even when the bounded private-source history rotates. */
124
+ credentialRead?: true;
125
+ /** Exact public-request grants already consumed; never reset by prompts. */
126
+ credentialGrants?: string[];
58
127
  }
59
128
  export interface Classified {
60
129
  labels: Set<FlowLabel>;
@@ -75,8 +144,9 @@ export interface FlowDecision {
75
144
  permissionDecision: 'ask' | 'deny';
76
145
  permissionDecisionReason: string;
77
146
  }
78
- /** Set by the integration, never by tool arguments. A proxy cannot display an approval dialog. */
79
- export type FlowPresentation = 'hook' | 'refuse' | 'audit';
147
+ /** Set by the integration, never by tool arguments. A proxy cannot display an approval dialog itself; `elicit` is
148
+ * `wrap` asking through the client's own form (MCP elicitation), whose answer it records with flowApproval. */
149
+ export type FlowPresentation = 'hook' | 'refuse' | 'audit' | 'elicit';
80
150
  export declare const DEFAULT_POLICY: FlowPolicy;
81
151
  export declare function stateDir(env?: NodeJS.ProcessEnv): string;
82
152
  export declare function flowPaths(dir: string, sessionId: string): {
@@ -86,6 +156,7 @@ export declare function flowPaths(dir: string, sessionId: string): {
86
156
  secret: string;
87
157
  pii: string;
88
158
  tok: string;
159
+ hint: string;
89
160
  log: string;
90
161
  };
91
162
  export declare function isSecretPath(path: string): boolean;
@@ -93,6 +164,10 @@ export declare function isSecretPath(path: string): boolean;
93
164
  export declare function isProtectedPath(path: string, cwd: string, env?: NodeJS.ProcessEnv): boolean;
94
165
  /** User-level policy only (`<state dir>/flow-policy.json`): a project file is something the agent can edit. */
95
166
  export declare function loadPolicy(env?: NodeJS.ProcessEnv): FlowPolicy;
167
+ /** Read bounded, pinned operator configuration. The task runtime additionally validates the complete schema. */
168
+ export declare function readPinnedTaskManifest(policy: FlowPolicy, env?: NodeJS.ProcessEnv): string;
169
+ /** Sorted JSON keys; array order and every argument/destination are significant. Never hashes a truncated input. */
170
+ export declare function publicRequestDigest(tool: string, input: Record<string, unknown>): string | undefined;
96
171
  export declare function hostMatches(host: string, patterns: readonly string[]): boolean;
97
172
  export declare function hostsIn(texts: readonly string[]): string[];
98
173
  export declare function classifyShell(command: string): {
@@ -101,6 +176,82 @@ export declare function classifyShell(command: string): {
101
176
  local: boolean;
102
177
  };
103
178
  export declare function classifyCall(toolName: string, input: Record<string, unknown>, cwd: string, policy: FlowPolicy, env?: NodeJS.ProcessEnv): Classified;
179
+ /** What a screen tool last showed: element references → their labels (role and quoted text), and window or page
180
+ * titles. Labels are outside text: only a recognized canonical action word is shown in a prompt. */
181
+ interface ScreenPoint {
182
+ x: number;
183
+ y: number;
184
+ }
185
+ interface ScreenBox extends ScreenPoint {
186
+ width: number;
187
+ height: number;
188
+ }
189
+ interface ScreenElement {
190
+ role?: string;
191
+ bounds?: ScreenBox;
192
+ center?: ScreenPoint;
193
+ focused?: true;
194
+ multiline?: boolean;
195
+ form?: string;
196
+ identifierVerb?: string;
197
+ identifierDestroy?: string;
198
+ submit?: true;
199
+ ambiguous?: true;
200
+ identityHash?: string;
201
+ referenceHash?: string;
202
+ labelHash?: string;
203
+ }
204
+ export interface ScreenView {
205
+ at: string;
206
+ tool: string;
207
+ refs: Record<string, string>;
208
+ titles: string[];
209
+ elements?: Record<string, ScreenElement>;
210
+ focused?: string;
211
+ origin?: string;
212
+ application?: string;
213
+ revision?: string;
214
+ policyConsumed?: true;
215
+ policyComplete?: true;
216
+ contextAmbiguous?: true;
217
+ }
218
+ /** How a pointer or keyboard call on a screen server reads: what its target says it does, and a paste after a credential. */
219
+ export interface ScreenCall {
220
+ verb?: string;
221
+ destroy?: string;
222
+ ref?: string;
223
+ paste?: FlowSource & {
224
+ secret: boolean;
225
+ };
226
+ guarded?: 'pointer' | 'paste' | 'enter' | 'text' | 'keyboard' | 'control';
227
+ via?: 'coordinates' | 'focus';
228
+ evidence?: 'identifier' | 'form' | 'semantic';
229
+ }
230
+ /** The elements and titles a screen tool's result shows, or undefined when the result is not a screen. A screen
231
+ * tool's result always replaces the server's last view, even when it is only an image: a stale list must not
232
+ * label the next click. Numbered lists also count from pointer/keyboard action results; acknowledgments alone
233
+ * keep the previous view, while an image-only action result clears it. `[ref=…]` lines and JSON nodes with a role
234
+ * count from any tool, since they are what accessibility trees look like. */
235
+ export declare function screenFromResult(toolName: string, response: unknown, text: string, input?: Record<string, unknown>): Omit<ScreenView, 'at' | 'tool'> | undefined;
236
+ /** A pointer or keyboard call to an MCP screen server, read against that server's last screen. */
237
+ export declare function screenCall(toolName: string, input: Record<string, unknown>, state: FlowState): ScreenCall | undefined;
238
+ /** Operator-selected observation schema only. Never infer read authority from tool annotations. */
239
+ export declare function screenObservation(toolName: string, input: Record<string, unknown>): boolean;
240
+ /** Equality evidence for a new observation, not permission and not an attestation of GUI effects. */
241
+ export declare function screenTargetEvidence(toolName: string, input: Record<string, unknown>, view: ScreenView | undefined): {
242
+ stamp: string;
243
+ target: string;
244
+ } | undefined;
245
+ export declare function screenTargetStamp(toolName: string, input: Record<string, unknown>, view: ScreenView | undefined): string | undefined;
246
+ export declare function screenResponseEvidence(actionTool: string, action: Record<string, unknown>, observationTool: string, observation: Record<string, unknown>, response: unknown): {
247
+ stamp: string;
248
+ target: string;
249
+ } | undefined;
250
+ /** Derive equality evidence from this response itself, never a concurrently replaced cached view. */
251
+ export declare function screenResponseStamp(actionTool: string, action: Record<string, unknown>, observationTool: string, observation: Record<string, unknown>, response: unknown): string | undefined;
252
+ /** A credential read that a screen server's calls reveal: a credential path typed (into an open dialog, a
253
+ * terminal, an address bar) or a window or page title naming a credential file. Only the file name is kept. */
254
+ export declare function screenSecretRead(toolName: string, input: Record<string, unknown>, view: Omit<ScreenView, 'at' | 'tool'> | undefined): string | undefined;
104
255
  export declare function destinations(toolName: string, input: Record<string, unknown>, policy: FlowPolicy, hosts: readonly string[]): string[];
105
256
  /**
106
257
  * The operator named this tool's destination arguments and the call sets none of them: it acts on an
@@ -123,16 +274,45 @@ export declare function resultTaints(toolName: string, input: Record<string, unk
123
274
  export declare function normalizeText(s: string): string;
124
275
  /** Windows of the private text at every STRIDE-th position: any leaked run of WINDOW+STRIDE-1 normalized chars hits one. */
125
276
  export declare function fingerprints(text: string): string[];
126
- /** The texts an outbound call could be carrying: raw, URL-decoded, and base64/hex runs decoded. */
277
+ /** Only explicit character lists are decoded, never arbitrary prose. Unknown items end a run.
278
+ * English digit names and case markers cover the recorded attack, not arbitrary verbal encodings. */
279
+ export declare function spelledCandidates(text: string): string[];
280
+ /** Decimal scalar codes, in a contiguous explicit list. Unknown/invalid items terminate a run.
281
+ * Merely decoding public numbers does not block anything: existing secret/private fingerprints still decide. */
282
+ export declare function characterCodeCandidates(text: string): string[];
283
+ /** A small explicit spelling grammar, not a language model. Preserve explicit case for nested base64. */
284
+ export declare function natoCandidates(text: string): string[];
285
+ /** Reversible text encodings only: bounded breadth/depth, no eval or decompression. Exhaustion is explicit. */
286
+ export declare function scanCandidates(texts: readonly string[]): {
287
+ values: string[];
288
+ incomplete: boolean;
289
+ };
290
+ /** Compatibility helper: enforcement uses scanCandidates() so truncation is never mistaken for a clean scan. */
127
291
  export declare function candidates(texts: readonly string[]): string[];
128
292
  export declare function piiTokens(text: string): string[];
129
293
  export declare function secretPattern(texts: readonly string[]): string | undefined;
130
294
  /** Key-like values in private text: every random-looking run of a credential file, and every well-known
131
295
  * secret format wherever it was read. Words, paths and host names are not random enough to count. */
296
+ export declare function secretValues(text: string, credentialFile: boolean): string[];
297
+ /** Normalized credentials for the original strong-window check. Raw values exist only transiently. */
132
298
  export declare function secretTokens(text: string, credentialFile: boolean): string[];
133
299
  /** Windows that hold both a letter and a digit, so an ordinary word is never a piece of a key. A window never
134
- * starts in the key's leading letters: "sk-ant-api03" or "rk_live" is a format every such key shares. */
300
+ * starts in the key's leading letters ("sk-ant-api03" or "rk_live" is a format every such key shares), never in the
301
+ * first 48 characters of a DER key or certificate (its header and algorithm), and never lies inside KEY_STRUCTURE. */
135
302
  export declare function tokenFingerprints(tokens: readonly string[]): string[];
303
+ /** Weak evidence asks before its first transmission, never silently learns by sending it.
304
+ * Five-char windows require upper/lower/digit classes in the source, while 6/7-char atoms may be words.
305
+ * Exact prefix-boundary slices cover chunks that already contain payload but no full six-char window.
306
+ * Only hash/offset/size metadata is persisted; public format and DER structure alone do not count. */
307
+ export declare function fragmentFingerprints(tokens: readonly string[], limit?: number): FragmentRecord[];
308
+ /** Must run under the session lock when remembering evidence. Audit never consumes or whitelists a match. */
309
+ export declare function checkFragments(input: Record<string, unknown>, state: FlowState, hasLegacyTokens: boolean, remember: boolean): {
310
+ secret?: string;
311
+ review?: boolean;
312
+ unavailable?: boolean;
313
+ };
314
+ /** Every window of letters and digits of both token sizes, forwards and backwards: what a call is checked by. */
315
+ export declare function tokenWindows(text: string): string[];
136
316
  interface FpStores {
137
317
  secret: Set<string>;
138
318
  fp: Set<string>;
@@ -143,6 +323,7 @@ export interface LeakCheck {
143
323
  secret?: string;
144
324
  private?: boolean;
145
325
  pii?: boolean;
326
+ incomplete?: boolean;
146
327
  }
147
328
  /** `typed`: what the user typed this session. A value the user typed is theirs to send; it is skipped
148
329
  * for ordinary private text, never for secrets. */
@@ -159,21 +340,48 @@ export declare function checkStream(input: Record<string, unknown>, tails: Reado
159
340
  export declare function readFlowState(path: string): FlowState;
160
341
  export declare function updateFlowState(path: string, change: (s: FlowState) => void): FlowState;
161
342
  export declare function flowPre(input: Record<string, unknown>, env?: NodeJS.ProcessEnv, presentation?: FlowPresentation): FlowDecision | undefined;
343
+ /** What the person answered when `wrap` asked through the client (presentation `elicit`): the one case where the
344
+ * guard knows the outcome rather than inferring it. */
345
+ export declare function flowApproval(input: {
346
+ session_id: string;
347
+ tool_name: string;
348
+ }, outcome: string, env?: NodeJS.ProcessEnv): void;
349
+ export declare function flowScreenValidation(input: {
350
+ session_id: string;
351
+ tool_name: string;
352
+ }, outcome: 'unchanged' | 'refused_without_approval' | 'refused_after_approval' | 'execution_uncertain' | 'atomic_committed' | 'atomic_refused', env?: NodeJS.ProcessEnv): void;
162
353
  export interface FlowPostOutput {
163
354
  systemMessage?: string;
164
355
  additionalContext?: string;
165
356
  }
166
357
  export declare function flowPost(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): FlowPostOutput | undefined;
167
358
  /** UserPromptSubmit: remember what the user asked for, so destinations they named are theirs. */
359
+ /**
360
+ * The user's own words in a prompt: what is left after text they pasted or quoted. An address that appears only in
361
+ * a pasted block, a quoted line or the headers of a forwarded message was written by someone else, and naming it
362
+ * is what an attacker who mails the user would want. Asking once before writing to it is the price when the user
363
+ * meant it ("reply to the sender of this").
364
+ */
365
+ export declare function ownWords(prompt: string): string;
168
366
  export declare function flowPrompt(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): void;
367
+ /** The sentence in which outside text addresses the model, from the instruction to the sentence's end. Not the
368
+ * sentences around it: in a list of reviews they are ordinary reviews, which an honest answer repeats. */
369
+ export declare function instructionText(text: string): string;
370
+ /** The text of the last assistant message: given directly, or read from the end of the Claude Code transcript. */
371
+ export declare function lastAnswer(input: Record<string, unknown>): string;
372
+ export interface FlowStopOutput {
373
+ systemMessage?: string;
374
+ decision?: 'block';
375
+ reason?: string;
376
+ }
169
377
  /**
170
- * Stop: an injection that only changes the answer ("recommend this hotel") makes no call to refuse. What is left
171
- * is telling the user, under the answer, which outside text this turn read, and whether any of it addressed the
172
- * model as if it were the user. It never blocks and never asks the model to answer again.
378
+ * Stop: an injection that only changes the answer ("recommend this hotel") makes no call to refuse. Two levers are
379
+ * left. Under any answer whose turn read outside text, one line tells the user which sources it drew on. And when
380
+ * the answer repeats words from text that addressed the model with instructions, the answer goes back to the model
381
+ * once to be checked against the user's request (`decision: block` makes Claude Code continue); the user loses
382
+ * nothing but the time of that check.
173
383
  */
174
- export declare function flowStop(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): {
175
- systemMessage: string;
176
- } | undefined;
384
+ export declare function flowStop(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): FlowStopOutput | undefined;
177
385
  /** MCP tools that sessions used without an operator label, with the guard's guess and the sessions that used them. */
178
386
  export declare function unlabeledTools(env?: NodeJS.ProcessEnv): Array<{
179
387
  tool: string;
@@ -1 +1 @@
1
- {"version":3,"file":"flow-guard.d.ts","sourceRoot":"","sources":["../src/flow-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-guard.d.ts","sourceRoot":"","sources":["../src/flow-guard.ts"],"names":[],"mappings":"AA8BA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;AAC7E,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AACxD,6EAA6E;AAC7E,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,KAAK,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IACjC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,sEAAsE;IACtE,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,mDAAmD;IACnD,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE;AAC1E,MAAM,WAAW,sBAAsB;IAAG,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,CAAA;CAAE;AACtF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC3C,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AACD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,mGAAmG;IACnG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,0GAA0G;IAC1G,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,wIAAwI;IACxI,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,oGAAoG;IACpG,eAAe,EAAE,OAAO,CAAC;IACzB,sGAAsG;IACtG,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,8GAA8G;IAC9G,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,+HAA+H;IAC/H,UAAU,EAAE,UAAU,CAAC;IACvB,gGAAgG;IAChG,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC,CAAC,yDAAyD;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,gDAAgD;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AAC/M,kHAAkH;AAClH,MAAM,WAAW,OAAO;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AACjD,MAAM,WAAW,cAAc;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE;AAC3G,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,CAAC,CAAC;IACL,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC,UAAU,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,IAAI,EAAE,OAAO,CAAC;IACd,4GAA4G;IAC5G,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,CAAC;IACpB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,8FAA8F;IAC9F,SAAS,CAAC,EAAE;QAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAAC,KAAK,EAAE,cAAc,EAAE,CAAC;QAAC,IAAI,EAAE,cAAc,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IACvF,yGAAyG;IACzG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8GAA8G;IAC9G,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,iHAAiH;IACjH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,mGAAmG;IACnG,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,mEAAmE;IACnE,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,uDAAuD;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,cAAc,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAAG,kBAAkB,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,wBAAwB,EAAE,MAAM,CAAA;CAAE;AACtG;gHACgH;AAChH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAuCtE,eAAO,MAAM,cAAc,EAAE,UAAwJ,CAAC;AAKtL,wBAAgB,QAAQ,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAErE;AAMD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;;;;EAIvD;AA+BD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAID,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAaxG;AAQD,+GAA+G;AAC/G,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,UAAU,CA4B3E;AAaD,gHAAgH;AAChH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAavG;AAqCD,oHAAoH;AACpH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAepG;AAOD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAM9E;AA8BD,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAM1D;AAiCD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CA0B1G;AAoCD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,UAAU,CA0DhK;AASD;qGACqG;AACrG,UAAU,WAAW;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AAC9C,UAAU,SAAU,SAAQ,WAAW;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACzE,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAC5G,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnE;AACD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IACvG,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACzB;AACD,6HAA6H;AAC7H,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IACxF,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1E,GAAG,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;CAC9E;AAiLD;;;;8EAI8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,SAAS,CA8EpK;AAED,kGAAkG;AAClG,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CA2DrH;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAI3F;AAED,qGAAqG;AACrG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAwClK;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEpI;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAK3N;AAED,qGAAqG;AACrG,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE7L;AAsCD;gHACgH;AAChH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAiBxJ;AAwBD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAmBrI;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAO9G;AASD;4FAC4F;AAC5F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,KAAK,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiBjG;AA0BD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,OAAO,CAoBrK;AAKD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAkBnN;AAID,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAMD,4HAA4H;AAC5H,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CASnD;AAED;qGACqG;AACrG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAYxD;AAED;gHACgH;AAChH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAW9D;AASD,yGAAyG;AACzG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAcrD;AAED,+GAA+G;AAC/G,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CA0ClG;AAED,gHAAgH;AAChH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAAyC;AAMvG,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBhD;AAoBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAG1E;AAqBD;qGACqG;AACrG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,MAAM,EAAE,CAa5E;AAED,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,MAAM,EAAE,CAE5E;AAED;;sHAEsH;AACtH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAWrE;AAQD;;;sGAGsG;AACtG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,SAAqB,GAAG,cAAc,EAAE,CA6B5G;AA+BD,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAwB1L;AAED,iHAAiH;AACjH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAMnD;AA2BD,UAAU,QAAQ;IAAG,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE;AAK/F,MAAM,WAAW,SAAS;IAAG,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE;AACtG;mDACmD;AACnD,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,GAAE,SAAS,MAAM,EAAO,EAAE,MAAM,GAAE,QAA4B,GAAG,SAAS,CAkB7K;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAgC1K;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAsBrD;AA0BD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,GAAG,SAAS,CASvF;AAmGD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,YAAY,GAAE,gBAAyB,GAAG,YAAY,GAAG,SAAS,CAkL/J;AAED;wDACwD;AACxD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAG1I;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,WAAW,GAAG,0BAA0B,GAAG,wBAAwB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,gBAAgB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAE/Q;AAED,MAAM,WAAW,cAAc;IAAG,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE;AAEtF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,GAAG,SAAS,CAuFzH;AAED,iGAAiG;AACjG;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAU/C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAqBrG;AAED;0GAC0G;AAC1G,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBpD;AASD,kHAAkH;AAClH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAwBjE;AAED,MAAM,WAAW,cAAc;IAAG,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AAE/F;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,GAAG,SAAS,CAqCzH;AAED,sHAAsH;AACtH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBpI;AAED,kHAAkH;AAClH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAgB7E;AAED,2IAA2I;AAC3I,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAgBlH;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,IAAI,CAY1E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEhG"}