crewly 1.20.122 → 1.20.123
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/config/skills/agent/core/whatsapp-draft/SKILL.md +80 -0
- package/config/skills/agent/core/whatsapp-draft/execute.sh +84 -0
- package/config/skills/agent/core/whatsapp-draft/execute.test.sh +70 -0
- package/config/skills/agent/core/whatsapp-inbox/SKILL.md +75 -0
- package/config/skills/agent/core/whatsapp-inbox/execute.sh +87 -0
- package/config/skills/agent/core/whatsapp-inbox/execute.test.sh +68 -0
- package/config/skills/agent/core/whatsapp-read/SKILL.md +80 -0
- package/config/skills/agent/core/whatsapp-read/execute.sh +116 -0
- package/config/skills/agent/core/whatsapp-read/execute.test.sh +84 -0
- package/config/skills/agent/core/whatsapp-send/SKILL.md +70 -0
- package/config/skills/agent/core/whatsapp-send/execute.sh +84 -0
- package/config/skills/agent/core/whatsapp-send/execute.test.sh +79 -0
- package/dist/backend/backend/src/constants.d.ts +107 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +105 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts +73 -0
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js +310 -0
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js +53 -4
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +29 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/index.d.ts +5 -1
- package/dist/backend/backend/src/services/whatsapp/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/index.js +5 -1
- package/dist/backend/backend/src/services/whatsapp/index.js.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.d.ts +59 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.d.ts.map +1 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.js +108 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.js.map +1 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts +74 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts.map +1 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js +82 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js.map +1 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.d.ts +184 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.d.ts.map +1 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.js +420 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.js.map +1 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.d.ts +243 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.js +538 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.js.map +1 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.d.ts +32 -2
- package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.js +65 -9
- package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js +11 -0
- package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts +59 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js +159 -9
- package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js.map +1 -1
- package/dist/backend/backend/src/types/whatsapp.types.d.ts +108 -0
- package/dist/backend/backend/src/types/whatsapp.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/whatsapp.types.js +9 -0
- package/dist/backend/backend/src/types/whatsapp.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +107 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +105 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/frontend/dist/assets/{index-07e338a9.js → index-daf43f1a.js} +268 -268
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp-inbox-capture.js","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp-inbox-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WhatsApp Inbox Store
|
|
3
|
+
*
|
|
4
|
+
* Local SQLite store behind the WhatsApp inbox connector: the chats and
|
|
5
|
+
* messages captured from the owner's personal account (read-only), and the
|
|
6
|
+
* reply drafts agents propose. Lives at `~/.crewly/whatsapp/inbox.db`
|
|
7
|
+
* (resolved through `getCrewlyHomePath()`, so `CREWLY_HOME` isolates it).
|
|
8
|
+
*
|
|
9
|
+
* Nothing in here talks to WhatsApp. Sending a draft is the controller's
|
|
10
|
+
* job, gated on the owner's confirmation; this store only records the
|
|
11
|
+
* draft's lifecycle (`pending` → `sending` → `sent` / back to `pending`,
|
|
12
|
+
* or `discarded`) with an atomic claim so a draft can never be sent twice.
|
|
13
|
+
*
|
|
14
|
+
* @module services/whatsapp/whatsapp-inbox.store
|
|
15
|
+
*/
|
|
16
|
+
import type { WhatsAppDraft, WhatsAppDraftStatus, WhatsAppInboxChat, WhatsAppInboxEntry, WhatsAppInboxMessage, WhatsAppSearchHit } from '../../types/whatsapp.types.js';
|
|
17
|
+
/** In-memory database name accepted by better-sqlite3 (tests). */
|
|
18
|
+
export declare const IN_MEMORY_DB = ":memory:";
|
|
19
|
+
/** Input for {@link WhatsAppInboxStore.upsertChat}. */
|
|
20
|
+
export interface UpsertChatInput {
|
|
21
|
+
/** Chat JID */
|
|
22
|
+
id: string;
|
|
23
|
+
/** Display name, if this source knows one */
|
|
24
|
+
name?: string | null;
|
|
25
|
+
/** Provenance of `name` (see `WHATSAPP_CONSTANTS.NAME_RANKS`); a lower rank never overwrites a higher one */
|
|
26
|
+
nameRank?: number;
|
|
27
|
+
/** Whether the chat is a group (defaults from the JID suffix) */
|
|
28
|
+
isGroup?: boolean;
|
|
29
|
+
/** Epoch ms of the newest message this source knows of (only ever moves forward) */
|
|
30
|
+
lastMessageAt?: number | null;
|
|
31
|
+
}
|
|
32
|
+
/** Options for {@link WhatsAppInboxStore.listInbox}. */
|
|
33
|
+
export interface ListInboxOptions {
|
|
34
|
+
/** Row cap */
|
|
35
|
+
limit: number;
|
|
36
|
+
/** Include group chats (default false — groups are noisy) */
|
|
37
|
+
includeGroups?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Resolve the default inbox database path under the Crewly home.
|
|
41
|
+
*
|
|
42
|
+
* @returns Absolute path to `<crewly home>/whatsapp/inbox.db`
|
|
43
|
+
*/
|
|
44
|
+
export declare function getDefaultInboxDbPath(): string;
|
|
45
|
+
/**
|
|
46
|
+
* Format a draft sequence number as its human code.
|
|
47
|
+
*
|
|
48
|
+
* @param seq - Monotonic sequence number
|
|
49
|
+
* @returns Code such as `W12`
|
|
50
|
+
*/
|
|
51
|
+
export declare function formatDraftCode(seq: number): string;
|
|
52
|
+
/**
|
|
53
|
+
* Parse a user-typed draft code (`W12`, `w12`, `#W12`, `12`) into its sequence number.
|
|
54
|
+
*
|
|
55
|
+
* @param raw - The code as typed
|
|
56
|
+
* @returns The sequence number, or null when the text is not a draft code
|
|
57
|
+
*/
|
|
58
|
+
export declare function parseDraftCode(raw: string): number | null;
|
|
59
|
+
/**
|
|
60
|
+
* SQLite-backed store for the WhatsApp inbox and reply drafts.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const store = new WhatsAppInboxStore(':memory:');
|
|
65
|
+
* store.upsertMessage({ id: 'm1', chatId: '1@s.whatsapp.net', fromMe: false, senderJid: null,
|
|
66
|
+
* senderName: 'Ann', text: 'hi', ts: Date.now(), kind: 'text' });
|
|
67
|
+
* store.listInbox({ limit: 20 }); // → [{ chat, unansweredCount: 1, ... }]
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare class WhatsAppInboxStore {
|
|
71
|
+
private readonly db;
|
|
72
|
+
/**
|
|
73
|
+
* Open (and migrate) the inbox database.
|
|
74
|
+
*
|
|
75
|
+
* @param dbPath - File path, or `:memory:` for tests. The parent directory
|
|
76
|
+
* is created owner-only (0700) and the file is chmod 0600.
|
|
77
|
+
* @throws NativeBindingFatalError when better-sqlite3 cannot load
|
|
78
|
+
*/
|
|
79
|
+
constructor(dbPath?: string);
|
|
80
|
+
/**
|
|
81
|
+
* Close the database handle.
|
|
82
|
+
*/
|
|
83
|
+
close(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Insert or update a chat.
|
|
86
|
+
*
|
|
87
|
+
* The name only changes when the new source ranks at least as high as the
|
|
88
|
+
* one that set the current name (an address-book name is never replaced by
|
|
89
|
+
* a pushName). `lastMessageAt` only moves forward.
|
|
90
|
+
*
|
|
91
|
+
* @param input - Chat fields known by this source
|
|
92
|
+
*/
|
|
93
|
+
upsertChat(input: UpsertChatInput): void;
|
|
94
|
+
/**
|
|
95
|
+
* Insert or update one message (idempotent on the message id) and advance
|
|
96
|
+
* its chat's `lastMessageAt`, creating the chat row if needed.
|
|
97
|
+
*
|
|
98
|
+
* A re-delivered message keeps its original `fromMe`, chat and timestamp;
|
|
99
|
+
* text, kind and a newly learned sender name are refreshed (edits, late
|
|
100
|
+
* pushNames).
|
|
101
|
+
*
|
|
102
|
+
* @param msg - The message
|
|
103
|
+
*/
|
|
104
|
+
upsertMessage(msg: WhatsAppInboxMessage): void;
|
|
105
|
+
/**
|
|
106
|
+
* Upsert many messages in one transaction (history sync).
|
|
107
|
+
*
|
|
108
|
+
* @param msgs - Messages
|
|
109
|
+
* @returns How many were written
|
|
110
|
+
*/
|
|
111
|
+
upsertMessages(msgs: WhatsAppInboxMessage[]): number;
|
|
112
|
+
/**
|
|
113
|
+
* Upsert many chats in one transaction.
|
|
114
|
+
*
|
|
115
|
+
* @param chats - Chats
|
|
116
|
+
*/
|
|
117
|
+
upsertChats(chats: UpsertChatInput[]): void;
|
|
118
|
+
/**
|
|
119
|
+
* Look up one chat.
|
|
120
|
+
*
|
|
121
|
+
* @param id - Chat JID
|
|
122
|
+
* @returns The chat, or null
|
|
123
|
+
*/
|
|
124
|
+
getChat(id: string): WhatsAppInboxChat | null;
|
|
125
|
+
/**
|
|
126
|
+
* Chats that need a reply: the newest message is not the owner's.
|
|
127
|
+
*
|
|
128
|
+
* `unansweredCount` counts inbound messages after the owner's last message
|
|
129
|
+
* in that chat (all of them when the owner never wrote there).
|
|
130
|
+
*
|
|
131
|
+
* @param opts - Limit and whether to include groups
|
|
132
|
+
* @returns Entries, newest first
|
|
133
|
+
*/
|
|
134
|
+
listInbox(opts: ListInboxOptions): WhatsAppInboxEntry[];
|
|
135
|
+
/**
|
|
136
|
+
* Recent chats, optionally filtered by name or JID substring.
|
|
137
|
+
*
|
|
138
|
+
* @param opts - Limit and optional query
|
|
139
|
+
* @returns Chats, most recently active first (chats with no messages last)
|
|
140
|
+
*/
|
|
141
|
+
listChats(opts: {
|
|
142
|
+
limit: number;
|
|
143
|
+
q?: string;
|
|
144
|
+
}): WhatsAppInboxChat[];
|
|
145
|
+
/**
|
|
146
|
+
* One page of a chat's messages, in chronological order.
|
|
147
|
+
*
|
|
148
|
+
* @param chatId - Chat JID
|
|
149
|
+
* @param opts - Page size and an exclusive upper bound (epoch ms) for paging back
|
|
150
|
+
* @returns The newest `limit` messages older than `before`, oldest first
|
|
151
|
+
*/
|
|
152
|
+
listMessages(chatId: string, opts: {
|
|
153
|
+
limit: number;
|
|
154
|
+
before?: number;
|
|
155
|
+
}): WhatsAppInboxMessage[];
|
|
156
|
+
/**
|
|
157
|
+
* Substring search over message text (case-insensitive for ASCII).
|
|
158
|
+
*
|
|
159
|
+
* @param q - Search text (must be non-empty)
|
|
160
|
+
* @param limit - Row cap
|
|
161
|
+
* @returns Hits, newest first
|
|
162
|
+
*/
|
|
163
|
+
search(q: string, limit: number): WhatsAppSearchHit[];
|
|
164
|
+
/**
|
|
165
|
+
* Record a reply draft with the next monotonic code.
|
|
166
|
+
*
|
|
167
|
+
* @param input - Recipient, text, author session (null = owner) and clock
|
|
168
|
+
* @returns The stored draft (status `pending`)
|
|
169
|
+
*/
|
|
170
|
+
createDraft(input: {
|
|
171
|
+
chatId: string;
|
|
172
|
+
text: string;
|
|
173
|
+
createdBy: string | null;
|
|
174
|
+
now: number;
|
|
175
|
+
}): WhatsAppDraft;
|
|
176
|
+
/**
|
|
177
|
+
* Look up a draft by its opaque id.
|
|
178
|
+
*
|
|
179
|
+
* @param id - Draft id
|
|
180
|
+
* @returns The draft, or null
|
|
181
|
+
*/
|
|
182
|
+
getDraftById(id: string): WhatsAppDraft | null;
|
|
183
|
+
/**
|
|
184
|
+
* Look up a draft by id or by human code (`W12`, `12`, `#W12`).
|
|
185
|
+
*
|
|
186
|
+
* @param ref - Id or code
|
|
187
|
+
* @returns The draft, or null
|
|
188
|
+
*/
|
|
189
|
+
findDraft(ref: string): WhatsAppDraft | null;
|
|
190
|
+
/**
|
|
191
|
+
* List drafts, newest first.
|
|
192
|
+
*
|
|
193
|
+
* @param opts - Optional status filter and row cap
|
|
194
|
+
* @returns Drafts
|
|
195
|
+
*/
|
|
196
|
+
listDrafts(opts: {
|
|
197
|
+
status?: WhatsAppDraftStatus;
|
|
198
|
+
limit: number;
|
|
199
|
+
}): WhatsAppDraft[];
|
|
200
|
+
/**
|
|
201
|
+
* Atomically move a draft from `pending` to `sending`.
|
|
202
|
+
*
|
|
203
|
+
* Only one caller can win: this is what makes "a draft can't be sent twice"
|
|
204
|
+
* hold under concurrent requests.
|
|
205
|
+
*
|
|
206
|
+
* @param id - Draft id
|
|
207
|
+
* @returns True when this caller now holds the send claim
|
|
208
|
+
*/
|
|
209
|
+
claimDraftForSend(id: string): boolean;
|
|
210
|
+
/**
|
|
211
|
+
* Mark a claimed draft as sent.
|
|
212
|
+
*
|
|
213
|
+
* @param id - Draft id
|
|
214
|
+
* @param now - Epoch ms of the send
|
|
215
|
+
*/
|
|
216
|
+
markDraftSent(id: string, now: number): void;
|
|
217
|
+
/**
|
|
218
|
+
* Return a claimed draft to `pending` after a failed send, keeping the error.
|
|
219
|
+
*
|
|
220
|
+
* @param id - Draft id
|
|
221
|
+
* @param error - Why the send failed
|
|
222
|
+
*/
|
|
223
|
+
releaseDraftClaim(id: string, error: string): void;
|
|
224
|
+
/**
|
|
225
|
+
* Discard a pending draft.
|
|
226
|
+
*
|
|
227
|
+
* @param id - Draft id
|
|
228
|
+
* @param now - Epoch ms
|
|
229
|
+
* @returns True when the draft was pending and is now discarded
|
|
230
|
+
*/
|
|
231
|
+
discardDraft(id: string, now: number): boolean;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get the process-wide inbox store, opening it on first use.
|
|
235
|
+
*
|
|
236
|
+
* @returns The store at {@link getDefaultInboxDbPath}
|
|
237
|
+
*/
|
|
238
|
+
export declare function getWhatsAppInboxStore(): WhatsAppInboxStore;
|
|
239
|
+
/**
|
|
240
|
+
* Close and forget the process-wide store (tests, shutdown).
|
|
241
|
+
*/
|
|
242
|
+
export declare function resetWhatsAppInboxStore(): void;
|
|
243
|
+
//# sourceMappingURL=whatsapp-inbox.store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp-inbox.store.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp-inbox.store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EAEpB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AAYvC,kEAAkE;AAClE,eAAO,MAAM,YAAY,aAAa,CAAC;AA4EvC,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,eAAe;IACf,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,cAAc;IACd,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKzD;AAyED;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAgB;IAEnC;;;;;;OAMG;gBACS,MAAM,GAAE,MAAgC;IAmBpD;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAsBxC;;;;;;;;;OASG;IACH,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAwB9C;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,MAAM;IAQpD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI;IAW3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAK7C;;;;;;;;OAQG;IACH,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,EAAE;IAmCvD;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB,EAAE;IAkBnE;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,EAAE;IAa9F;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAgBrD;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa;IAgB1G;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAK9C;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAS5C;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,EAAE;IASlF;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAOtC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAM5C;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlD;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;CAM/C;AAKD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CAG1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAS9C"}
|