@queenanya/baileys 9.2.4 → 9.4.1
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/README.md +329 -1237
- package/WAProto/fix-imports.js +22 -18
- package/WAProto/index.js +22 -18
- package/lib/Defaults/index.d.ts +17 -0
- package/lib/Defaults/index.d.ts.map +1 -1
- package/lib/Defaults/index.js +29 -3
- package/lib/Defaults/index.js.map +1 -1
- package/lib/Signal/libsignal.d.ts.map +1 -1
- package/lib/Signal/libsignal.js +61 -2
- package/lib/Signal/libsignal.js.map +1 -1
- package/lib/Signal/lid-mapping.d.ts +5 -9
- package/lib/Signal/lid-mapping.d.ts.map +1 -1
- package/lib/Signal/lid-mapping.js +170 -70
- package/lib/Signal/lid-mapping.js.map +1 -1
- package/lib/Socket/business.d.ts +112 -2
- package/lib/Socket/business.d.ts.map +1 -1
- package/lib/Socket/chats.d.ts +10 -0
- package/lib/Socket/chats.d.ts.map +1 -1
- package/lib/Socket/chats.js +243 -38
- package/lib/Socket/chats.js.map +1 -1
- package/lib/Socket/communities.d.ts +112 -2
- package/lib/Socket/communities.d.ts.map +1 -1
- package/lib/Socket/groups.d.ts +7 -0
- package/lib/Socket/groups.d.ts.map +1 -1
- package/lib/Socket/groups.js +6 -0
- package/lib/Socket/groups.js.map +1 -1
- package/lib/Socket/index.d.ts +112 -2
- package/lib/Socket/index.d.ts.map +1 -1
- package/lib/Socket/index.js +0 -6
- package/lib/Socket/index.js.map +1 -1
- package/lib/Socket/messages-recv.d.ts +113 -3
- package/lib/Socket/messages-recv.d.ts.map +1 -1
- package/lib/Socket/messages-recv.js +739 -150
- package/lib/Socket/messages-recv.js.map +1 -1
- package/lib/Socket/messages-send.d.ts +116 -4
- package/lib/Socket/messages-send.d.ts.map +1 -1
- package/lib/Socket/messages-send.js +328 -86
- package/lib/Socket/messages-send.js.map +1 -1
- package/lib/Socket/newsletter.d.ts +7 -0
- package/lib/Socket/newsletter.d.ts.map +1 -1
- package/lib/Socket/socket.d.ts +2 -0
- package/lib/Socket/socket.d.ts.map +1 -1
- package/lib/Socket/socket.js +142 -16
- package/lib/Socket/socket.js.map +1 -1
- package/lib/Types/Auth.d.ts +2 -0
- package/lib/Types/Auth.d.ts.map +1 -1
- package/lib/Types/Call.d.ts +10 -1
- package/lib/Types/Call.d.ts.map +1 -1
- package/lib/Types/Contact.d.ts +2 -0
- package/lib/Types/Contact.d.ts.map +1 -1
- package/lib/Types/Events.d.ts +21 -1
- package/lib/Types/Events.d.ts.map +1 -1
- package/lib/Types/GroupMetadata.d.ts +4 -0
- package/lib/Types/GroupMetadata.d.ts.map +1 -1
- package/lib/Types/Message.d.ts +530 -16
- package/lib/Types/Message.d.ts.map +1 -1
- package/lib/Types/Message.js.map +1 -1
- package/lib/Types/Newsletter.d.ts +33 -29
- package/lib/Types/Newsletter.d.ts.map +1 -1
- package/lib/Types/Newsletter.js +25 -23
- package/lib/Types/Newsletter.js.map +1 -1
- package/lib/Types/State.d.ts +54 -0
- package/lib/Types/State.d.ts.map +1 -1
- package/lib/Types/State.js +42 -0
- package/lib/Types/State.js.map +1 -1
- package/lib/Types/index.d.ts +9 -0
- package/lib/Types/index.d.ts.map +1 -1
- package/lib/Types/index.js.map +1 -1
- package/lib/Utils/browser-utils.d.ts +13 -0
- package/lib/Utils/browser-utils.d.ts.map +1 -1
- package/lib/Utils/browser-utils.js +90 -10
- package/lib/Utils/browser-utils.js.map +1 -1
- package/lib/Utils/chat-utils.d.ts +30 -0
- package/lib/Utils/chat-utils.d.ts.map +1 -1
- package/lib/Utils/chat-utils.js +81 -52
- package/lib/Utils/chat-utils.js.map +1 -1
- package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
- package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
- package/lib/Utils/companion-reg-client-utils.js +34 -0
- package/lib/Utils/companion-reg-client-utils.js.map +1 -0
- package/lib/Utils/crypto.d.ts +4 -8
- package/lib/Utils/crypto.d.ts.map +1 -1
- package/lib/Utils/crypto.js +2 -26
- package/lib/Utils/crypto.js.map +1 -1
- package/lib/Utils/decode-wa-message.d.ts +12 -0
- package/lib/Utils/decode-wa-message.d.ts.map +1 -1
- package/lib/Utils/decode-wa-message.js +16 -0
- package/lib/Utils/decode-wa-message.js.map +1 -1
- package/lib/Utils/event-buffer.js +10 -1
- package/lib/Utils/event-buffer.js.map +1 -1
- package/lib/Utils/generics.d.ts +3 -1
- package/lib/Utils/generics.d.ts.map +1 -1
- package/lib/Utils/generics.js +16 -3
- package/lib/Utils/generics.js.map +1 -1
- package/lib/Utils/history.d.ts +5 -2
- package/lib/Utils/history.d.ts.map +1 -1
- package/lib/Utils/history.js +53 -17
- package/lib/Utils/history.js.map +1 -1
- package/lib/Utils/identity-change-handler.d.ts +44 -0
- package/lib/Utils/identity-change-handler.d.ts.map +1 -0
- package/lib/Utils/identity-change-handler.js +50 -0
- package/lib/Utils/identity-change-handler.js.map +1 -0
- package/lib/Utils/index.d.ts +6 -0
- package/lib/Utils/index.d.ts.map +1 -1
- package/lib/Utils/index.js +6 -0
- package/lib/Utils/index.js.map +1 -1
- package/lib/Utils/interactive-message.d.ts +201 -0
- package/lib/Utils/interactive-message.d.ts.map +1 -0
- package/lib/Utils/interactive-message.js +256 -0
- package/lib/Utils/interactive-message.js.map +1 -0
- package/lib/Utils/lt-hash.d.ts +7 -12
- package/lib/Utils/lt-hash.d.ts.map +1 -1
- package/lib/Utils/lt-hash.js +2 -42
- package/lib/Utils/lt-hash.js.map +1 -1
- package/lib/Utils/message-composer.d.ts +5 -0
- package/lib/Utils/message-composer.d.ts.map +1 -0
- package/lib/Utils/message-composer.js +5 -0
- package/lib/Utils/message-composer.js.map +1 -0
- package/lib/Utils/message-retry-manager.d.ts +30 -2
- package/lib/Utils/message-retry-manager.d.ts.map +1 -1
- package/lib/Utils/message-retry-manager.js +59 -2
- package/lib/Utils/message-retry-manager.js.map +1 -1
- package/lib/Utils/messages-media.d.ts +19 -5
- package/lib/Utils/messages-media.d.ts.map +1 -1
- package/lib/Utils/messages-media.js +26 -17
- package/lib/Utils/messages-media.js.map +1 -1
- package/lib/Utils/messages.d.ts.map +1 -1
- package/lib/Utils/messages.js +433 -13
- package/lib/Utils/messages.js.map +1 -1
- package/lib/Utils/noise-handler.d.ts +2 -2
- package/lib/Utils/noise-handler.d.ts.map +1 -1
- package/lib/Utils/noise-handler.js +10 -10
- package/lib/Utils/noise-handler.js.map +1 -1
- package/lib/Utils/offline-node-processor.d.ts +17 -0
- package/lib/Utils/offline-node-processor.d.ts.map +1 -0
- package/lib/Utils/offline-node-processor.js +40 -0
- package/lib/Utils/offline-node-processor.js.map +1 -0
- package/lib/Utils/process-message.d.ts.map +1 -1
- package/lib/Utils/process-message.js +96 -16
- package/lib/Utils/process-message.js.map +1 -1
- package/lib/Utils/reporting-utils.js +2 -2
- package/lib/Utils/reporting-utils.js.map +1 -1
- package/lib/Utils/stanza-ack.d.ts +11 -0
- package/lib/Utils/stanza-ack.d.ts.map +1 -0
- package/lib/Utils/stanza-ack.js +38 -0
- package/lib/Utils/stanza-ack.js.map +1 -0
- package/lib/Utils/sync-action-utils.d.ts.map +1 -1
- package/lib/Utils/sync-action-utils.js +2 -1
- package/lib/Utils/sync-action-utils.js.map +1 -1
- package/lib/Utils/tc-token-utils.d.ts +26 -1
- package/lib/Utils/tc-token-utils.d.ts.map +1 -1
- package/lib/Utils/tc-token-utils.js +149 -4
- package/lib/Utils/tc-token-utils.js.map +1 -1
- package/lib/Utils/use-mongo-file-auth-state.d.ts +16 -0
- package/lib/Utils/use-mongo-file-auth-state.d.ts.map +1 -0
- package/lib/Utils/use-mongo-file-auth-state.js +60 -0
- package/lib/Utils/use-mongo-file-auth-state.js.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.js +1 -1
- package/lib/Utils/use-multi-file-auth-state.js.map +1 -1
- package/lib/Utils/validate-connection.d.ts.map +1 -1
- package/lib/Utils/validate-connection.js +11 -1
- package/lib/Utils/validate-connection.js.map +1 -1
- package/lib/WABinary/generic-utils.d.ts +9 -0
- package/lib/WABinary/generic-utils.d.ts.map +1 -1
- package/lib/WABinary/generic-utils.js +23 -0
- package/lib/WABinary/generic-utils.js.map +1 -1
- package/lib/WABinary/jid-utils.js.map +1 -1
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -1
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +26 -3
- package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -1
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/index.d.ts +1 -0
- package/lib/WAUSync/Protocols/index.d.ts.map +1 -1
- package/lib/WAUSync/Protocols/index.js +1 -0
- package/lib/WAUSync/Protocols/index.js.map +1 -1
- package/lib/WAUSync/USyncQuery.d.ts +1 -0
- package/lib/WAUSync/USyncQuery.d.ts.map +1 -1
- package/lib/WAUSync/USyncQuery.js +5 -1
- package/lib/WAUSync/USyncQuery.js.map +1 -1
- package/lib/WAUSync/USyncUser.d.ts +4 -0
- package/lib/WAUSync/USyncUser.d.ts.map +1 -1
- package/lib/WAUSync/USyncUser.js +8 -0
- package/lib/WAUSync/USyncUser.js.map +1 -1
- package/lib/addons/anti-delete.d.ts +72 -0
- package/lib/addons/anti-delete.d.ts.map +1 -0
- package/lib/addons/anti-delete.js +165 -0
- package/lib/addons/anti-delete.js.map +1 -0
- package/lib/addons/auto-reply.d.ts +67 -0
- package/lib/addons/auto-reply.d.ts.map +1 -0
- package/lib/addons/auto-reply.js +145 -0
- package/lib/addons/auto-reply.js.map +1 -0
- package/lib/addons/browser-presets.d.ts +16 -0
- package/lib/addons/browser-presets.d.ts.map +1 -0
- package/lib/addons/browser-presets.js +24 -0
- package/lib/addons/browser-presets.js.map +1 -0
- package/lib/addons/button-sender.d.ts +260 -0
- package/lib/addons/button-sender.d.ts.map +1 -0
- package/lib/addons/button-sender.js +771 -0
- package/lib/addons/button-sender.js.map +1 -0
- package/lib/addons/call-handler.d.ts +79 -0
- package/lib/addons/call-handler.d.ts.map +1 -0
- package/lib/addons/call-handler.js +342 -0
- package/lib/addons/call-handler.js.map +1 -0
- package/lib/addons/from-chats.d.ts +30 -0
- package/lib/addons/from-chats.d.ts.map +1 -0
- package/lib/addons/from-chats.js +38 -0
- package/lib/addons/from-chats.js.map +1 -0
- package/lib/addons/from-messages-recv.d.ts +59 -0
- package/lib/addons/from-messages-recv.d.ts.map +1 -0
- package/lib/addons/from-messages-recv.js +326 -0
- package/lib/addons/from-messages-recv.js.map +1 -0
- package/lib/addons/from-messages-send.d.ts +50 -0
- package/lib/addons/from-messages-send.d.ts.map +1 -0
- package/lib/addons/from-messages-send.js +148 -0
- package/lib/addons/from-messages-send.js.map +1 -0
- package/lib/addons/from-messages.d.ts +52 -0
- package/lib/addons/from-messages.d.ts.map +1 -0
- package/lib/addons/from-messages.js +304 -0
- package/lib/addons/from-messages.js.map +1 -0
- package/lib/addons/index.d.ts +67 -0
- package/lib/addons/index.d.ts.map +1 -0
- package/lib/addons/index.js +86 -0
- package/lib/addons/index.js.map +1 -0
- package/lib/addons/interactive-message.d.ts +201 -0
- package/lib/addons/interactive-message.d.ts.map +1 -0
- package/lib/addons/interactive-message.js +256 -0
- package/lib/addons/interactive-message.js.map +1 -0
- package/lib/addons/jid-plot.d.ts +49 -0
- package/lib/addons/jid-plot.d.ts.map +1 -0
- package/lib/addons/jid-plot.js +84 -0
- package/lib/addons/jid-plot.js.map +1 -0
- package/lib/addons/jid-plotting.d.ts +54 -0
- package/lib/addons/jid-plotting.d.ts.map +1 -0
- package/lib/addons/jid-plotting.js +150 -0
- package/lib/addons/jid-plotting.js.map +1 -0
- package/lib/addons/lid-support.d.ts +41 -0
- package/lib/addons/lid-support.d.ts.map +1 -0
- package/lib/addons/lid-support.js +42 -0
- package/lib/addons/lid-support.js.map +1 -0
- package/lib/addons/message-composer.d.ts +142 -0
- package/lib/addons/message-composer.d.ts.map +1 -0
- package/lib/addons/message-composer.js +377 -0
- package/lib/addons/message-composer.js.map +1 -0
- package/lib/addons/message-scheduler.d.ts +77 -0
- package/lib/addons/message-scheduler.d.ts.map +1 -0
- package/lib/addons/message-scheduler.js +108 -0
- package/lib/addons/message-scheduler.js.map +1 -0
- package/lib/addons/message-search.d.ts +51 -0
- package/lib/addons/message-search.d.ts.map +1 -0
- package/lib/addons/message-search.js +171 -0
- package/lib/addons/message-search.js.map +1 -0
- package/lib/addons/message-utils.d.ts +88 -0
- package/lib/addons/message-utils.d.ts.map +1 -0
- package/lib/addons/message-utils.js +292 -0
- package/lib/addons/message-utils.js.map +1 -0
- package/lib/addons/outgoing-calls.d.ts +64 -0
- package/lib/addons/outgoing-calls.d.ts.map +1 -0
- package/lib/addons/outgoing-calls.js +139 -0
- package/lib/addons/outgoing-calls.js.map +1 -0
- package/lib/addons/pairing-fix.d.ts +31 -0
- package/lib/addons/pairing-fix.d.ts.map +1 -0
- package/lib/addons/pairing-fix.js +74 -0
- package/lib/addons/pairing-fix.js.map +1 -0
- package/lib/addons/past-participants.d.ts +42 -0
- package/lib/addons/past-participants.d.ts.map +1 -0
- package/lib/addons/past-participants.js +41 -0
- package/lib/addons/past-participants.js.map +1 -0
- package/lib/addons/rich-response.d.ts +111 -0
- package/lib/addons/rich-response.d.ts.map +1 -0
- package/lib/addons/rich-response.js +152 -0
- package/lib/addons/rich-response.js.map +1 -0
- package/lib/addons/scheduling.d.ts +41 -0
- package/lib/addons/scheduling.d.ts.map +1 -0
- package/lib/addons/scheduling.js +110 -0
- package/lib/addons/scheduling.js.map +1 -0
- package/lib/addons/status-posting.d.ts +177 -0
- package/lib/addons/status-posting.d.ts.map +1 -0
- package/lib/addons/status-posting.js +240 -0
- package/lib/addons/status-posting.js.map +1 -0
- package/lib/addons/stickerpack.d.ts +37 -0
- package/lib/addons/stickerpack.d.ts.map +1 -0
- package/lib/addons/stickerpack.js +39 -0
- package/lib/addons/stickerpack.js.map +1 -0
- package/lib/addons/templates.d.ts +72 -0
- package/lib/addons/templates.d.ts.map +1 -0
- package/lib/addons/templates.js +145 -0
- package/lib/addons/templates.js.map +1 -0
- package/lib/addons/vcard.d.ts +59 -0
- package/lib/addons/vcard.d.ts.map +1 -0
- package/lib/addons/vcard.js +88 -0
- package/lib/addons/vcard.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +4 -2
package/lib/Utils/lt-hash.js
CHANGED
|
@@ -1,48 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LTHashAntiTampering } from 'whatsapp-rust-bridge';
|
|
2
2
|
/**
|
|
3
3
|
* LT Hash is a summation based hash algorithm that maintains the integrity of a piece of data
|
|
4
4
|
* over a series of mutations. You can add/remove mutations and it'll return a hash equal to
|
|
5
5
|
* if the same series of mutations was made sequentially.
|
|
6
6
|
*/
|
|
7
|
-
const
|
|
8
|
-
class LTHash {
|
|
9
|
-
constructor(e) {
|
|
10
|
-
this.salt = e;
|
|
11
|
-
}
|
|
12
|
-
async add(e, t) {
|
|
13
|
-
for (const item of t) {
|
|
14
|
-
e = await this._addSingle(e, item);
|
|
15
|
-
}
|
|
16
|
-
return e;
|
|
17
|
-
}
|
|
18
|
-
async subtract(e, t) {
|
|
19
|
-
for (const item of t) {
|
|
20
|
-
e = await this._subtractSingle(e, item);
|
|
21
|
-
}
|
|
22
|
-
return e;
|
|
23
|
-
}
|
|
24
|
-
async subtractThenAdd(e, addList, subtractList) {
|
|
25
|
-
const subtracted = await this.subtract(e, subtractList);
|
|
26
|
-
return this.add(subtracted, addList);
|
|
27
|
-
}
|
|
28
|
-
async _addSingle(e, t) {
|
|
29
|
-
const derived = new Uint8Array(await hkdf(Buffer.from(t), o, { info: this.salt })).buffer;
|
|
30
|
-
return this.performPointwiseWithOverflow(e, derived, (a, b) => a + b);
|
|
31
|
-
}
|
|
32
|
-
async _subtractSingle(e, t) {
|
|
33
|
-
const derived = new Uint8Array(await hkdf(Buffer.from(t), o, { info: this.salt })).buffer;
|
|
34
|
-
return this.performPointwiseWithOverflow(e, derived, (a, b) => a - b);
|
|
35
|
-
}
|
|
36
|
-
performPointwiseWithOverflow(e, t, op) {
|
|
37
|
-
const n = new DataView(e);
|
|
38
|
-
const i = new DataView(t);
|
|
39
|
-
const out = new ArrayBuffer(n.byteLength);
|
|
40
|
-
const s = new DataView(out);
|
|
41
|
-
for (let offset = 0; offset < n.byteLength; offset += 2) {
|
|
42
|
-
s.setUint16(offset, op(n.getUint16(offset, true), i.getUint16(offset, true)), true);
|
|
43
|
-
}
|
|
44
|
-
return out;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
export const LT_HASH_ANTI_TAMPERING = new LTHash('WhatsApp Patch Integrity');
|
|
7
|
+
export const LT_HASH_ANTI_TAMPERING = new LTHashAntiTampering();
|
|
48
8
|
//# sourceMappingURL=lt-hash.js.map
|
package/lib/Utils/lt-hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lt-hash.js","sourceRoot":"","sources":["../../src/Utils/lt-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"lt-hash.js","sourceRoot":"","sources":["../../src/Utils/lt-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-composer.d.ts","sourceRoot":"","sources":["../../src/Utils/message-composer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,4BAA4B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-composer.js","sourceRoot":"","sources":["../../src/Utils/message-composer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,4BAA4B,CAAA"}
|
|
@@ -23,6 +23,24 @@ export interface RetryStatistics {
|
|
|
23
23
|
sessionRecreations: number;
|
|
24
24
|
phoneRequests: number;
|
|
25
25
|
}
|
|
26
|
+
export declare enum RetryReason {
|
|
27
|
+
UnknownError = 0,
|
|
28
|
+
SignalErrorNoSession = 1,
|
|
29
|
+
SignalErrorInvalidKey = 2,
|
|
30
|
+
SignalErrorInvalidKeyId = 3,
|
|
31
|
+
/** MAC verification failed - most common cause of decryption failures */
|
|
32
|
+
SignalErrorInvalidMessage = 4,
|
|
33
|
+
SignalErrorInvalidSignature = 5,
|
|
34
|
+
SignalErrorFutureMessage = 6,
|
|
35
|
+
/** Explicit MAC failure - session is definitely out of sync */
|
|
36
|
+
SignalErrorBadMac = 7,
|
|
37
|
+
SignalErrorInvalidSession = 8,
|
|
38
|
+
SignalErrorInvalidMsgKey = 9,
|
|
39
|
+
BadBroadcastEphemeralSetting = 10,
|
|
40
|
+
UnknownCompanionNoPrekey = 11,
|
|
41
|
+
AdvFailure = 12,
|
|
42
|
+
StatusRevokeDelay = 13
|
|
43
|
+
}
|
|
26
44
|
export declare class MessageRetryManager {
|
|
27
45
|
private logger;
|
|
28
46
|
private recentMessagesMap;
|
|
@@ -42,12 +60,22 @@ export declare class MessageRetryManager {
|
|
|
42
60
|
*/
|
|
43
61
|
getRecentMessage(to: string, id: string): RecentMessage | undefined;
|
|
44
62
|
/**
|
|
45
|
-
* Check if a session should be recreated based on retry count and
|
|
63
|
+
* Check if a session should be recreated based on retry count, history, and error code.
|
|
64
|
+
* MAC errors (codes 4 and 7) trigger immediate session recreation regardless of timeout.
|
|
46
65
|
*/
|
|
47
|
-
shouldRecreateSession(jid: string, hasSession: boolean): {
|
|
66
|
+
shouldRecreateSession(jid: string, hasSession: boolean, errorCode?: RetryReason): {
|
|
48
67
|
reason: string;
|
|
49
68
|
recreate: boolean;
|
|
50
69
|
};
|
|
70
|
+
/**
|
|
71
|
+
* Parse error code from retry receipt's retry node.
|
|
72
|
+
* Returns undefined if no error code is present.
|
|
73
|
+
*/
|
|
74
|
+
parseRetryErrorCode(errorAttr: string | undefined): RetryReason | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Check if an error code indicates a MAC failure
|
|
77
|
+
*/
|
|
78
|
+
isMacError(errorCode: RetryReason | undefined): boolean;
|
|
51
79
|
/**
|
|
52
80
|
* Increment retry counter for a message
|
|
53
81
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-retry-manager.d.ts","sourceRoot":"","sources":["../../src/Utils/message-retry-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAUvC,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,sBAAsB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;AAE/E,MAAM,WAAW,eAAe;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACrB;
|
|
1
|
+
{"version":3,"file":"message-retry-manager.d.ts","sourceRoot":"","sources":["../../src/Utils/message-retry-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,28 @@ const MESSAGE_KEY_SEPARATOR = '\u0000';
|
|
|
5
5
|
/** Timeout for session recreation - 1 hour */
|
|
6
6
|
const RECREATE_SESSION_TIMEOUT = 60 * 60 * 1000; // 1 hour in milliseconds
|
|
7
7
|
const PHONE_REQUEST_DELAY = 3000;
|
|
8
|
+
// Retry reason codes matching WhatsApp Web's Signal error codes.
|
|
9
|
+
export var RetryReason;
|
|
10
|
+
(function (RetryReason) {
|
|
11
|
+
RetryReason[RetryReason["UnknownError"] = 0] = "UnknownError";
|
|
12
|
+
RetryReason[RetryReason["SignalErrorNoSession"] = 1] = "SignalErrorNoSession";
|
|
13
|
+
RetryReason[RetryReason["SignalErrorInvalidKey"] = 2] = "SignalErrorInvalidKey";
|
|
14
|
+
RetryReason[RetryReason["SignalErrorInvalidKeyId"] = 3] = "SignalErrorInvalidKeyId";
|
|
15
|
+
/** MAC verification failed - most common cause of decryption failures */
|
|
16
|
+
RetryReason[RetryReason["SignalErrorInvalidMessage"] = 4] = "SignalErrorInvalidMessage";
|
|
17
|
+
RetryReason[RetryReason["SignalErrorInvalidSignature"] = 5] = "SignalErrorInvalidSignature";
|
|
18
|
+
RetryReason[RetryReason["SignalErrorFutureMessage"] = 6] = "SignalErrorFutureMessage";
|
|
19
|
+
/** Explicit MAC failure - session is definitely out of sync */
|
|
20
|
+
RetryReason[RetryReason["SignalErrorBadMac"] = 7] = "SignalErrorBadMac";
|
|
21
|
+
RetryReason[RetryReason["SignalErrorInvalidSession"] = 8] = "SignalErrorInvalidSession";
|
|
22
|
+
RetryReason[RetryReason["SignalErrorInvalidMsgKey"] = 9] = "SignalErrorInvalidMsgKey";
|
|
23
|
+
RetryReason[RetryReason["BadBroadcastEphemeralSetting"] = 10] = "BadBroadcastEphemeralSetting";
|
|
24
|
+
RetryReason[RetryReason["UnknownCompanionNoPrekey"] = 11] = "UnknownCompanionNoPrekey";
|
|
25
|
+
RetryReason[RetryReason["AdvFailure"] = 12] = "AdvFailure";
|
|
26
|
+
RetryReason[RetryReason["StatusRevokeDelay"] = 13] = "StatusRevokeDelay";
|
|
27
|
+
})(RetryReason || (RetryReason = {}));
|
|
28
|
+
/** Error codes that indicate a MAC failure and require immediate session recreation */
|
|
29
|
+
const MAC_ERROR_CODES = new Set([RetryReason.SignalErrorInvalidMessage, RetryReason.SignalErrorBadMac]);
|
|
8
30
|
export class MessageRetryManager {
|
|
9
31
|
constructor(logger, maxMsgRetryCount) {
|
|
10
32
|
this.logger = logger;
|
|
@@ -65,9 +87,10 @@ export class MessageRetryManager {
|
|
|
65
87
|
return this.recentMessagesMap.get(keyStr);
|
|
66
88
|
}
|
|
67
89
|
/**
|
|
68
|
-
* Check if a session should be recreated based on retry count and
|
|
90
|
+
* Check if a session should be recreated based on retry count, history, and error code.
|
|
91
|
+
* MAC errors (codes 4 and 7) trigger immediate session recreation regardless of timeout.
|
|
69
92
|
*/
|
|
70
|
-
shouldRecreateSession(jid, hasSession) {
|
|
93
|
+
shouldRecreateSession(jid, hasSession, errorCode) {
|
|
71
94
|
// If we don't have a session, always recreate
|
|
72
95
|
if (!hasSession) {
|
|
73
96
|
this.sessionRecreateHistory.set(jid, Date.now());
|
|
@@ -77,6 +100,16 @@ export class MessageRetryManager {
|
|
|
77
100
|
recreate: true
|
|
78
101
|
};
|
|
79
102
|
}
|
|
103
|
+
// IMMEDIATE recreation for MAC errors - session is definitely out of sync
|
|
104
|
+
if (errorCode !== undefined && MAC_ERROR_CODES.has(errorCode)) {
|
|
105
|
+
this.sessionRecreateHistory.set(jid, Date.now());
|
|
106
|
+
this.statistics.sessionRecreations++;
|
|
107
|
+
this.logger.warn({ jid, errorCode: RetryReason[errorCode] }, 'MAC error detected, forcing immediate session recreation');
|
|
108
|
+
return {
|
|
109
|
+
reason: `MAC error (code ${errorCode}: ${RetryReason[errorCode]}), immediate session recreation`,
|
|
110
|
+
recreate: true
|
|
111
|
+
};
|
|
112
|
+
}
|
|
80
113
|
const now = Date.now();
|
|
81
114
|
const prevTime = this.sessionRecreateHistory.get(jid);
|
|
82
115
|
// If no previous recreation or it's been more than an hour
|
|
@@ -90,6 +123,30 @@ export class MessageRetryManager {
|
|
|
90
123
|
}
|
|
91
124
|
return { reason: '', recreate: false };
|
|
92
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Parse error code from retry receipt's retry node.
|
|
128
|
+
* Returns undefined if no error code is present.
|
|
129
|
+
*/
|
|
130
|
+
parseRetryErrorCode(errorAttr) {
|
|
131
|
+
if (errorAttr === undefined || errorAttr === '') {
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
const code = parseInt(errorAttr, 10);
|
|
135
|
+
if (Number.isNaN(code)) {
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
// Validate it's a known RetryReason
|
|
139
|
+
if (code >= RetryReason.UnknownError && code <= RetryReason.StatusRevokeDelay) {
|
|
140
|
+
return code;
|
|
141
|
+
}
|
|
142
|
+
return RetryReason.UnknownError;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Check if an error code indicates a MAC failure
|
|
146
|
+
*/
|
|
147
|
+
isMacError(errorCode) {
|
|
148
|
+
return errorCode !== undefined && MAC_ERROR_CODES.has(errorCode);
|
|
149
|
+
}
|
|
93
150
|
/**
|
|
94
151
|
* Increment retry counter for a message
|
|
95
152
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-retry-manager.js","sourceRoot":"","sources":["../../src/Utils/message-retry-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAIpC,6EAA6E;AAC7E,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAEhC,MAAM,qBAAqB,GAAG,QAAQ,CAAA;AAEtC,8CAA8C;AAC9C,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,yBAAyB;AACzE,MAAM,mBAAmB,GAAG,IAAI,CAAA;AA8BhC,MAAM,OAAO,mBAAmB;IAkC/B,YACS,MAAe,EACvB,gBAAwB;QADhB,WAAM,GAAN,MAAM,CAAS;QAlChB,sBAAiB,GAAG,IAAI,QAAQ,CAAwB;YAC/D,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;YAClB,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,MAAqB,EAAE,GAAW,EAAE,EAAE;gBAC/C,MAAM,cAAc,GAAG,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAA;gBAC7D,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;oBACzB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;oBAC1E,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACvC,CAAC;YACF,CAAC;SACD,CAAC,CAAA;QACM,oBAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC3C,2BAAsB,GAAG,IAAI,QAAQ,CAAiB;YAC7D,GAAG,EAAE,wBAAwB,GAAG,CAAC;YACjC,YAAY,EAAE,IAAI;SAClB,CAAC,CAAA;QACM,kBAAa,GAAG,IAAI,QAAQ,CAAiB;YACpD,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;YACnB,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACpB,CAAC,CAAA,CAAC,iBAAiB;QACZ,yBAAoB,GAAwB,EAAE,CAAA;QACrC,qBAAgB,GAAW,CAAC,CAAA;QACrC,eAAU,GAAoB;YACrC,YAAY,EAAE,CAAC;YACf,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;YACf,kBAAkB,EAAE,CAAC;YACrB,aAAa,EAAE,CAAC;SAChB,CAAA;QAMA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IACzC,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,EAAU,EAAE,EAAU,EAAE,OAAuB;QAC/D,MAAM,GAAG,GAAqB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAEpC,kBAAkB;QAClB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE;YAClC,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC,CAAA;QACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAEpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,EAAU,EAAE,EAAU;QACtC,MAAM,GAAG,GAAqB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"message-retry-manager.js","sourceRoot":"","sources":["../../src/Utils/message-retry-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,13 @@ import { type MediaType } from '../Defaults/index.js';
|
|
|
7
7
|
import type { DownloadableMessage, MediaConnInfo, MediaDecryptionKeyInfo, SocketConfig, WAMediaUpload, WAMediaUploadFunction, WAMessageContent, WAMessageKey } from '../Types/index.js';
|
|
8
8
|
import { type BinaryNode } from '../WABinary/index.js';
|
|
9
9
|
import type { ILogger } from './logger.js';
|
|
10
|
+
export declare const getImageProcessingLibrary: () => Promise<{
|
|
11
|
+
sharp: any;
|
|
12
|
+
jimp?: undefined;
|
|
13
|
+
} | {
|
|
14
|
+
jimp: typeof import("jimp");
|
|
15
|
+
sharp?: undefined;
|
|
16
|
+
}>;
|
|
10
17
|
export declare const hkdfInfoKey: (type: MediaType) => string;
|
|
11
18
|
export declare const getRawMediaUploadData: (media: WAMediaUpload, mediaType: MediaType, logger?: ILogger) => Promise<{
|
|
12
19
|
filePath: string;
|
|
@@ -56,6 +63,7 @@ export declare const getStream: (item: WAMediaUpload, opts?: RequestInit & {
|
|
|
56
63
|
/** generates a thumbnail for a given media, if required */
|
|
57
64
|
export declare function generateThumbnail(file: string, mediaType: 'video' | 'image', options: {
|
|
58
65
|
logger?: ILogger;
|
|
66
|
+
hdMode?: boolean;
|
|
59
67
|
}): Promise<{
|
|
60
68
|
thumbnail: string | undefined;
|
|
61
69
|
originalImageDimensions: {
|
|
@@ -70,9 +78,11 @@ type EncryptedStreamOptions = {
|
|
|
70
78
|
saveOriginalFileIfRequired?: boolean;
|
|
71
79
|
logger?: ILogger;
|
|
72
80
|
opts?: RequestInit;
|
|
81
|
+
/** Optional mediaKey to reuse (required for sticker pack thumbnail to match ZIP encryption) */
|
|
82
|
+
mediaKey?: Buffer | Uint8Array;
|
|
73
83
|
};
|
|
74
|
-
export declare const encryptedStream: (media: WAMediaUpload, mediaType: MediaType, { logger, saveOriginalFileIfRequired, opts }?: EncryptedStreamOptions) => Promise<{
|
|
75
|
-
mediaKey:
|
|
84
|
+
export declare const encryptedStream: (media: WAMediaUpload, mediaType: MediaType, { logger, saveOriginalFileIfRequired, opts, mediaKey: providedMediaKey }?: EncryptedStreamOptions) => Promise<{
|
|
85
|
+
mediaKey: Buffer<ArrayBuffer>;
|
|
76
86
|
originalFilePath: string | undefined;
|
|
77
87
|
encFilePath: string;
|
|
78
88
|
mac: Buffer<ArrayBuffer>;
|
|
@@ -99,6 +109,10 @@ type MediaUploadResult = {
|
|
|
99
109
|
meta_hmac?: string;
|
|
100
110
|
ts?: number;
|
|
101
111
|
fbid?: number;
|
|
112
|
+
thumbnail_info?: {
|
|
113
|
+
thumbnail_sha256?: string;
|
|
114
|
+
thumbnail_direct_path?: string;
|
|
115
|
+
};
|
|
102
116
|
};
|
|
103
117
|
export type UploadParams = {
|
|
104
118
|
url: string;
|
|
@@ -112,7 +126,7 @@ export declare const getWAUploadToServer: ({ customUploadHosts, fetchAgent, logg
|
|
|
112
126
|
/**
|
|
113
127
|
* Generate a binary node that will request the phone to re-upload the media & return the newly uploaded URL
|
|
114
128
|
*/
|
|
115
|
-
export declare const encryptMediaRetryRequest: (key: WAMessageKey, mediaKey: Buffer | Uint8Array, meId: string) =>
|
|
129
|
+
export declare const encryptMediaRetryRequest: (key: WAMessageKey, mediaKey: Buffer | Uint8Array, meId: string) => BinaryNode;
|
|
116
130
|
export declare const decodeMediaRetryNode: (node: BinaryNode) => {
|
|
117
131
|
key: WAMessageKey;
|
|
118
132
|
media?: {
|
|
@@ -124,7 +138,7 @@ export declare const decodeMediaRetryNode: (node: BinaryNode) => {
|
|
|
124
138
|
export declare const decryptMediaRetryData: ({ ciphertext, iv }: {
|
|
125
139
|
ciphertext: Uint8Array;
|
|
126
140
|
iv: Uint8Array;
|
|
127
|
-
}, mediaKey: Uint8Array, msgId: string) =>
|
|
128
|
-
export declare const getStatusCodeForMediaRetry: (code: number) =>
|
|
141
|
+
}, mediaKey: Uint8Array, msgId: string) => proto.MediaRetryNotification;
|
|
142
|
+
export declare const getStatusCodeForMediaRetry: (code: number) => number | undefined;
|
|
129
143
|
export {};
|
|
130
144
|
//# sourceMappingURL=messages-media.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-media.d.ts","sourceRoot":"","sources":["../../src/Utils/messages-media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAKjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAIlC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"messages-media.d.ts","sourceRoot":"","sources":["../../src/Utils/messages-media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAKjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAIlC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAIN,KAAK,SAAS,EAEd,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAEX,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EAEtB,YAAY,EAEZ,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,KAAK,UAAU,EAAmE,MAAM,aAAa,CAAA;AAG9G,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAIvC,eAAO,MAAM,yBAAyB;;;;;;EAarC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,WAG1C,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAU,OAAO,aAAa,EAAE,WAAW,SAAS,EAAE,SAAS,OAAO;;;;EAuCvG,CAAA;AAED,gFAAgF;AAChF,wBAAsB,YAAY,CACjC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9C,SAAS,EAAE,SAAS,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAgBjC;AAoBD,eAAO,MAAM,iBAAiB,GAAU,kBAAkB,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAE,cAAU;;;;;;EAoC/F,CAAA;AAED,eAAO,MAAM,kCAAkC,GAAI,KAAK,MAAM,WACsB,CAAA;AAEpF,eAAO,MAAM,sBAAsB,GAClC,aAAa,aAAa,EAC1B,aAAa;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;;EAsC9C,CAAA;AAED,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,GAAI,SAAS,gBAAgB,8BAG9D,CAAA;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,+BAexE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,gDAyC1F;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,aAKxC,CAAA;AAED,eAAO,MAAM,QAAQ,GAAU,QAAQ,QAAQ,iCAQ9C,CAAA;AAED,eAAO,MAAM,SAAS,GAAU,MAAM,aAAa,EAAE,OAAO,WAAW,GAAG;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;EAqBtG,CAAA;AAED,2DAA2D;AAC3D,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,OAAO,GAAG,OAAO,EAC5B,OAAO,EAAE;IACR,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB;;;eAGqC,MAAM;gBAAU,MAAM;;GA6B5D;AAED,eAAO,MAAM,aAAa,GAAU,KAAK,MAAM,GAAG,GAAG,EAAE,UAAS,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAO,sBAYrG,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,eAAe,GAC3B,OAAO,aAAa,EACpB,WAAW,SAAS,EACpB,2EAA0E,sBAA2B;;;;;;;;EAiHrG,CAAA;AASD,MAAM,MAAM,oBAAoB,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,YAAY,MAAM,WAAuC,CAAA;AAE9F,eAAO,MAAM,0BAA0B,GACtC,+BAA+B,mBAAmB,EAClD,MAAM,SAAS,EACf,OAAM,oBAAyB,uBAW/B,CAAA;AAED;;;KAGK;AACL,eAAO,MAAM,wBAAwB,GACpC,aAAa,MAAM,EACnB,mBAAmB,sBAAsB,EACzC,kCAAiC,oBAAyB,uBAiG1D,CAAA;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,UAYjE;AAWD,KAAK,iBAAiB,GAAG;IACxB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;CACD,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC9B,8CAA8C,YAAY,EAC1D,sBAAiB,KACf,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAuEvC,CAAA;AAwDD,eAAO,MAAM,mBAAmB,GAC/B,oDAAoD,YAAY,EAChE,kBAAkB,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,KAC1D,qBAuFF,CAAA;AAMD;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,KAAK,YAAY,EAAE,UAAU,MAAM,GAAG,UAAU,EAAE,MAAM,MAAM,eAwCtG,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,MAAM,UAAU;;;;;;;CA+BpD,CAAA;AAED,eAAO,MAAM,qBAAqB,GACjC,oBAAoB;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,UAAU,CAAA;CAAE,EAC9D,UAAU,UAAU,EACpB,OAAO,MAAM,iCAKb,CAAA;AASD,eAAO,MAAM,0BAA0B,GAAI,MAAM,MAAM,uBAAiC,CAAA"}
|
|
@@ -8,12 +8,12 @@ import { join } from 'path';
|
|
|
8
8
|
import { Readable, Transform } from 'stream';
|
|
9
9
|
import { URL } from 'url';
|
|
10
10
|
import { proto } from '../../WAProto/index.js';
|
|
11
|
-
import { DEFAULT_ORIGIN, MEDIA_HKDF_KEY_MAPPING, MEDIA_PATH_MAP } from '../Defaults/index.js';
|
|
11
|
+
import { DEFAULT_ORIGIN, MEDIA_HKDF_KEY_MAPPING, MEDIA_PATH_MAP, NEWSLETTER_MEDIA_PATH_MAP } from '../Defaults/index.js';
|
|
12
12
|
import { getBinaryNodeChild, getBinaryNodeChildBuffer, jidNormalizedUser } from '../WABinary/index.js';
|
|
13
13
|
import { aesDecryptGCM, aesEncryptGCM, hkdf } from './crypto.js';
|
|
14
14
|
import { generateMessageIDV2 } from './generics.js';
|
|
15
15
|
const getTmpFilesDirectory = () => tmpdir();
|
|
16
|
-
const getImageProcessingLibrary = async () => {
|
|
16
|
+
export const getImageProcessingLibrary = async () => {
|
|
17
17
|
//@ts-ignore
|
|
18
18
|
const [jimp, sharp] = await Promise.all([import('jimp').catch(() => { }), import('sharp').catch(() => { })]);
|
|
19
19
|
if (sharp) {
|
|
@@ -75,7 +75,7 @@ export async function getMediaKeys(buffer, mediaType) {
|
|
|
75
75
|
buffer = Buffer.from(buffer.replace('data:;base64,', ''), 'base64');
|
|
76
76
|
}
|
|
77
77
|
// expand using HKDF to 112 bytes, also pass in the relevant app info
|
|
78
|
-
const expandedMediaKey =
|
|
78
|
+
const expandedMediaKey = hkdf(buffer, 112, { info: hkdfInfoKey(mediaType) });
|
|
79
79
|
return {
|
|
80
80
|
iv: expandedMediaKey.slice(0, 16),
|
|
81
81
|
cipherKey: expandedMediaKey.slice(16, 48),
|
|
@@ -267,8 +267,9 @@ export const getStream = async (item, opts) => {
|
|
|
267
267
|
export async function generateThumbnail(file, mediaType, options) {
|
|
268
268
|
let thumbnail;
|
|
269
269
|
let originalImageDimensions;
|
|
270
|
+
const hdMode = options.hdMode === true;
|
|
270
271
|
if (mediaType === 'image') {
|
|
271
|
-
const { buffer, original } = await extractImageThumb(file);
|
|
272
|
+
const { buffer, original } = await extractImageThumb(file, hdMode ? 320 : undefined);
|
|
272
273
|
thumbnail = buffer.toString('base64');
|
|
273
274
|
if (original.width && original.height) {
|
|
274
275
|
originalImageDimensions = {
|
|
@@ -278,9 +279,10 @@ export async function generateThumbnail(file, mediaType, options) {
|
|
|
278
279
|
}
|
|
279
280
|
}
|
|
280
281
|
else if (mediaType === 'video') {
|
|
282
|
+
const thumbSize = hdMode ? { width: 320, height: 180 } : { width: 32, height: 32 };
|
|
281
283
|
const imgFilename = join(getTmpFilesDirectory(), generateMessageIDV2() + '.jpg');
|
|
282
284
|
try {
|
|
283
|
-
await extractVideoThumb(file, imgFilename, '00:00:00',
|
|
285
|
+
await extractVideoThumb(file, imgFilename, '00:00:00', thumbSize);
|
|
284
286
|
const buff = await fs.readFile(imgFilename);
|
|
285
287
|
thumbnail = buff.toString('base64');
|
|
286
288
|
await fs.unlink(imgFilename);
|
|
@@ -306,10 +308,10 @@ export const getHttpStream = async (url, options = {}) => {
|
|
|
306
308
|
// @ts-ignore Node18+ Readable.fromWeb exists
|
|
307
309
|
return response.body instanceof Readable ? response.body : Readable.fromWeb(response.body);
|
|
308
310
|
};
|
|
309
|
-
export const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfRequired, opts } = {}) => {
|
|
311
|
+
export const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfRequired, opts, mediaKey: providedMediaKey } = {}) => {
|
|
310
312
|
const { stream, type } = await getStream(media, opts);
|
|
311
313
|
logger?.debug('fetched media stream');
|
|
312
|
-
const mediaKey = Crypto.randomBytes(32);
|
|
314
|
+
const mediaKey = providedMediaKey ? Buffer.from(providedMediaKey) : Crypto.randomBytes(32);
|
|
313
315
|
const { cipherKey, iv, macKey } = await getMediaKeys(mediaKey, mediaType);
|
|
314
316
|
const encFilePath = join(getTmpFilesDirectory(), mediaType + generateMessageIDV2() + '-enc');
|
|
315
317
|
const encFileWriteStream = createWriteStream(encFilePath);
|
|
@@ -465,7 +467,7 @@ export const downloadEncryptedContent = async (downloadUrl, { cipherKey, iv }, {
|
|
|
465
467
|
};
|
|
466
468
|
const output = new Transform({
|
|
467
469
|
transform(chunk, _, callback) {
|
|
468
|
-
let data = Buffer.concat([remainingBytes, chunk]);
|
|
470
|
+
let data = remainingBytes.length ? Buffer.concat([remainingBytes, chunk]) : chunk;
|
|
469
471
|
const decryptLength = toSmallestChunkSize(data.length);
|
|
470
472
|
remainingBytes = data.slice(decryptLength);
|
|
471
473
|
data = data.slice(0, decryptLength);
|
|
@@ -627,7 +629,7 @@ const uploadMedia = async (params, logger) => {
|
|
|
627
629
|
}
|
|
628
630
|
};
|
|
629
631
|
export const getWAUploadToServer = ({ customUploadHosts, fetchAgent, logger, options }, refreshMediaConn) => {
|
|
630
|
-
return async (filePath, { mediaType, fileEncSha256B64, timeoutMs }) => {
|
|
632
|
+
return async (filePath, { mediaType, fileEncSha256B64, timeoutMs, newsletter }) => {
|
|
631
633
|
// send a query JSON to obtain the url & auth token to upload our media
|
|
632
634
|
let uploadInfo = await refreshMediaConn(false);
|
|
633
635
|
let urls;
|
|
@@ -648,7 +650,12 @@ export const getWAUploadToServer = ({ customUploadHosts, fetchAgent, logger, opt
|
|
|
648
650
|
for (const { hostname } of hosts) {
|
|
649
651
|
logger.debug(`uploading to "${hostname}"`);
|
|
650
652
|
const auth = encodeURIComponent(uploadInfo.auth);
|
|
651
|
-
|
|
653
|
+
// Use newsletter-specific path when uploading for a newsletter/channel
|
|
654
|
+
const mediaPath = (newsletter ? NEWSLETTER_MEDIA_PATH_MAP[mediaType] : undefined) || MEDIA_PATH_MAP[mediaType];
|
|
655
|
+
let url = `https://${hostname}${mediaPath}/${fileEncSha256B64}?auth=${auth}&token=${fileEncSha256B64}`;
|
|
656
|
+
if (newsletter) {
|
|
657
|
+
url += '&server_thumb_gen=1';
|
|
658
|
+
}
|
|
652
659
|
let result;
|
|
653
660
|
try {
|
|
654
661
|
result = await uploadMedia({
|
|
@@ -660,11 +667,13 @@ export const getWAUploadToServer = ({ customUploadHosts, fetchAgent, logger, opt
|
|
|
660
667
|
}, logger);
|
|
661
668
|
if (result?.url || result?.direct_path) {
|
|
662
669
|
urls = {
|
|
663
|
-
mediaUrl: result.url,
|
|
670
|
+
mediaUrl: result.url || result.direct_path,
|
|
664
671
|
directPath: result.direct_path,
|
|
665
672
|
meta_hmac: result.meta_hmac,
|
|
666
673
|
fbid: result.fbid,
|
|
667
|
-
ts: result.ts
|
|
674
|
+
ts: result.ts,
|
|
675
|
+
thumbnailDirectPath: result.thumbnail_info?.thumbnail_direct_path,
|
|
676
|
+
thumbnailSha256: result.thumbnail_info?.thumbnail_sha256
|
|
668
677
|
};
|
|
669
678
|
break;
|
|
670
679
|
}
|
|
@@ -690,11 +699,11 @@ const getMediaRetryKey = (mediaKey) => {
|
|
|
690
699
|
/**
|
|
691
700
|
* Generate a binary node that will request the phone to re-upload the media & return the newly uploaded URL
|
|
692
701
|
*/
|
|
693
|
-
export const encryptMediaRetryRequest =
|
|
702
|
+
export const encryptMediaRetryRequest = (key, mediaKey, meId) => {
|
|
694
703
|
const recp = { stanzaId: key.id };
|
|
695
704
|
const recpBuffer = proto.ServerErrorReceipt.encode(recp).finish();
|
|
696
705
|
const iv = Crypto.randomBytes(12);
|
|
697
|
-
const retryKey =
|
|
706
|
+
const retryKey = getMediaRetryKey(mediaKey);
|
|
698
707
|
const ciphertext = aesEncryptGCM(recpBuffer, retryKey, iv, Buffer.from(key.id));
|
|
699
708
|
const req = {
|
|
700
709
|
tag: 'receipt',
|
|
@@ -759,16 +768,16 @@ export const decodeMediaRetryNode = (node) => {
|
|
|
759
768
|
}
|
|
760
769
|
return event;
|
|
761
770
|
};
|
|
762
|
-
export const decryptMediaRetryData =
|
|
763
|
-
const retryKey =
|
|
771
|
+
export const decryptMediaRetryData = ({ ciphertext, iv }, mediaKey, msgId) => {
|
|
772
|
+
const retryKey = getMediaRetryKey(mediaKey);
|
|
764
773
|
const plaintext = aesDecryptGCM(ciphertext, retryKey, iv, Buffer.from(msgId));
|
|
765
774
|
return proto.MediaRetryNotification.decode(plaintext);
|
|
766
775
|
};
|
|
767
|
-
export const getStatusCodeForMediaRetry = (code) => MEDIA_RETRY_STATUS_MAP[code];
|
|
768
776
|
const MEDIA_RETRY_STATUS_MAP = {
|
|
769
777
|
[proto.MediaRetryNotification.ResultType.SUCCESS]: 200,
|
|
770
778
|
[proto.MediaRetryNotification.ResultType.DECRYPTION_ERROR]: 412,
|
|
771
779
|
[proto.MediaRetryNotification.ResultType.NOT_FOUND]: 404,
|
|
772
780
|
[proto.MediaRetryNotification.ResultType.GENERAL_ERROR]: 418
|
|
773
781
|
};
|
|
782
|
+
export const getStatusCodeForMediaRetry = (code) => MEDIA_RETRY_STATUS_MAP[code];
|
|
774
783
|
//# sourceMappingURL=messages-media.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-media.js","sourceRoot":"","sources":["../../src/Utils/messages-media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AAGrF,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAcpG,OAAO,EAAmB,kBAAkB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC9G,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGhD,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAA;AAE3C,MAAM,yBAAyB,GAAG,KAAK,IAAI,EAAE;IAC5C,YAAY;IACZ,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1G,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,EAAE,CAAA;IACjB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,CAAA;IAChB,CAAC;IAED,MAAM,IAAI,IAAI,CAAC,uCAAuC,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAe,EAAE,EAAE;IAC9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAC7C,OAAO,YAAY,QAAQ,OAAO,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,KAAoB,EAAE,SAAoB,EAAE,MAAgB,EAAE,EAAE;IAC3G,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAE1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,GAAG,mBAAmB,EAAE,CAAC,CAAA;IAClE,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAEnD,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,CAAC;QACJ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YACjC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAA;YACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;YACrC,CAAC;QACF,CAAC;QAED,eAAe,CAAC,GAAG,EAAE,CAAA;QACrB,MAAM,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QACrC,MAAM,CAAC,OAAO,EAAE,CAAA;QAChB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;QAClC,MAAM,EAAE,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC3C,OAAO;YACN,QAAQ,EAAE,QAAQ;YAClB,UAAU;YACV,UAAU;SACV,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,eAAe,CAAC,OAAO,EAAE,CAAA;QACzB,MAAM,CAAC,OAAO,EAAE,CAAA;QAChB,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACR,EAAE;QACH,CAAC;QAED,MAAM,KAAK,CAAA;IACZ,CAAC;AACF,CAAC,CAAA;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,MAA8C,EAC9C,SAAoB;IAEpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,IAAI,CAAC,oCAAoC,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IACpE,CAAC;IAED,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAClF,OAAO;QACN,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACjC,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;KACtC,CAAA;AACF,CAAC;AAED,wCAAwC;AACxC,MAAM,iBAAiB,GAAG,KAAK,EAC9B,IAAY,EACZ,QAAgB,EAChB,IAAY,EACZ,IAAuC,EACtC,EAAE,CACH,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IACrC,MAAM,GAAG,GAAG,cAAc,IAAI,OAAO,IAAI,iBAAiB,IAAI,CAAC,KAAK,4BAA4B,QAAQ,EAAE,CAAA;IAC1G,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QACf,IAAI,GAAG,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,CAAC,CAAA;QACZ,CAAC;aAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACV,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,gBAA4C,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE;IACnG,8EAA8E;IAC9E,yFAAyF;IACzF,IAAI,gBAAgB,YAAY,QAAQ,EAAE,CAAC;QAC1C,gBAAgB,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,yBAAyB,EAAE,CAAA;IAC7C,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC/C,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEvC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;QACvE,OAAO;YACN,MAAM;YACN,QAAQ,EAAE;gBACT,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB;SACD,CAAA;IACF,CAAC;SAAM,IAAI,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,MAAO,GAAG,CAAC,IAAI,CAAC,IAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAChE,MAAM,UAAU,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI;aACvB,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;aAC5D,SAAS,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;QAC1C,OAAO;YACN,MAAM;YACN,QAAQ,EAAE,UAAU;SACpB,CAAA;IACF,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACxD,CAAC;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,GAAW,EAAE,EAAE,CACjE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;AAEpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAC1C,WAA0B,EAC1B,UAA8C,EAC7C,EAAE;IACH,IAAI,MAAc,CAAA;IAElB,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,UAAU,IAAI,EAAE,CAAA;IAE5D,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,WAAW,CAAA;IACrB,CAAC;SAAM,CAAC;QACP,wEAAwE;QACxE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAA;QAC/C,2CAA2C;QAC3C,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,yBAAyB,EAAE,CAAA;IAC7C,IAAI,GAAoB,CAAA;IACxB,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;QAChE,GAAG,GAAG,GAAG,CAAC,KAAK;aACb,OAAO,CAAC,MAAM,CAAC;aACf,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;aACZ,IAAI,CAAC;YACL,OAAO,EAAE,EAAE;SACX,CAAC;aACD,QAAQ,EAAE,CAAA;IACb,CAAC;SAAM,IAAI,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,MAAO,GAAG,CAAC,IAAI,CAAC,IAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAEzD,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IAChH,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACxD,CAAC;IAED,OAAO;QACN,GAAG,EAAE,MAAM,GAAG;KACd,CAAA;AACF,CAAC,CAAA;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAyB,EAAE,EAAE;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAA0B,CAAA;IAChE,OAAO,KAAK,EAAE,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC7E,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAkC;IACxE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACpD,IAAI,QAAwB,CAAA;IAC5B,MAAM,OAAO,GAAG;QACf,QAAQ,EAAE,IAAI;KACd,CAAA;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACvE,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,QAAQ,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;SAAM,CAAC;QACP,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACvE,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAkC,EAAE,MAAgB;IAC1F,IAAI,CAAC;QACJ,aAAa;QACb,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;QACzD,IAAI,SAAiB,CAAA;QACrB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,SAAS,GAAG,MAAM,CAAA;QACnB,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;YACxC,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACP,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;QAE5C,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA,CAAC,gDAAgD;QAC9F,MAAM,OAAO,GAAG,EAAE,CAAA,CAAC,0DAA0D;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA,CAAC,4CAA4C;QACnG,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAA,CAAC,gDAAgD;YACjF,IAAI,GAAG,GAAG,CAAC,CAAA;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA,CAAC,+CAA+C;YAC9F,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAA,CAAC,sDAAsD;QAC1F,CAAC;QAED,oHAAoH;QACpH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAA;QAE5D,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAE7E,OAAO,QAAQ,CAAA;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,EAAE,KAAK,CAAC,+BAA+B,GAAG,CAAC,CAAC,CAAA;IACnD,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE;IAC5C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAA;IACjD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,OAAO,QAAQ,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAgB,EAAE,EAAE;IAClD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,CAAA;IAChB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAmB,EAAE,IAAkD,EAAE,EAAE;IAC1G,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAW,CAAA;IAC7D,CAAC;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAW,CAAA;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;IAElC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAA;QAC3D,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAW,CAAA;IAC/D,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAW,CAAA;IAChF,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAW,CAAA;AACrE,CAAC,CAAA;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,IAAY,EACZ,SAA4B,EAC5B,OAEC;IAED,IAAI,SAA6B,CAAA;IACjC,IAAI,uBAAsE,CAAA;IAC1E,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC1D,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,uBAAuB,GAAG;gBACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACvB,CAAA;QACF,CAAC;IACF,CAAC;SAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC,CAAA;QAChF,IAAI,CAAC;YACJ,MAAM,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;YACjF,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC3C,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAEnC,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAA;QAChE,CAAC;IACF,CAAC;IAED,OAAO;QACN,SAAS;QACT,uBAAuB;KACvB,CAAA;AACF,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,GAAiB,EAAE,UAA6C,EAAE,EAAE,EAAE;IACzG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,OAAO,CAAC,OAAsB;KACvC,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,IAAI,CAAC,+BAA+B,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IACrG,CAAC;IAED,6CAA6C;IAC7C,OAAO,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAW,CAAC,CAAA;AAClG,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EACnC,KAAoB,EACpB,SAAoB,EACpB,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,KAA6B,EAAE,EACxE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAErD,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACvC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAEzE,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,GAAG,mBAAmB,EAAE,GAAG,MAAM,CAAC,CAAA;IAC5F,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAEzD,IAAI,kBAA2C,CAAA;IAC/C,IAAI,gBAAoC,CAAA;IAExC,IAAI,0BAA0B,EAAE,CAAC;QAChC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,GAAG,mBAAmB,EAAE,GAAG,WAAW,CAAC,CAAA;QAChG,kBAAkB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;IACzD,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAE7C,MAAM,OAAO,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACtC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjB,8DAA8D;QAC9D,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;IACF,CAAC,CAAA;IAED,IAAI,CAAC;QACJ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YACjC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAA;YAEzB,IACC,IAAI,KAAK,QAAQ;gBAChB,IAAY,EAAE,gBAAgB;gBAC/B,UAAU,GAAG,IAAI,CAAC,MAAM,GAAI,IAAY,CAAC,gBAAgB,EACxD,CAAC;gBACF,MAAM,IAAI,IAAI,CAAC,4CAA4C,IAAI,GAAG,EAAE;oBACnE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;iBACrB,CAAC,CAAA;YACH,CAAC;YAED,IAAI,kBAAkB,EAAE,CAAC;gBACxB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;gBACxC,CAAC;YACF,CAAC;YAED,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxB,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;QAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACtC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAErB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,CAAA;QACvC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,CAAA;QAExC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;QAC3D,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAEzG,kBAAkB,CAAC,GAAG,EAAE,CAAA;QACxB,kBAAkB,EAAE,GAAG,EAAE,EAAE,CAAA;QAC3B,MAAM,CAAC,OAAO,EAAE,CAAA;QAEhB,gDAAgD;QAChD,sEAAsE;QACtE,MAAM,gBAAgB,CAAA;QACtB,MAAM,qBAAqB,CAAA;QAE3B,MAAM,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAE5C,OAAO;YACN,QAAQ;YACR,gBAAgB;YAChB,WAAW;YACX,GAAG;YACH,aAAa;YACb,UAAU;YACV,UAAU;SACV,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,iCAAiC;QACjC,kBAAkB,CAAC,OAAO,EAAE,CAAA;QAC5B,kBAAkB,EAAE,OAAO,EAAE,EAAE,CAAA;QAC/B,GAAG,CAAC,OAAO,EAAE,CAAA;QACb,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,WAAW,CAAC,OAAO,EAAE,CAAA;QACrB,SAAS,CAAC,OAAO,EAAE,CAAA;QACnB,MAAM,CAAC,OAAO,EAAE,CAAA;QAEhB,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAC5B,IAAI,gBAAgB,EAAE,CAAC;gBACtB,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAClC,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,2BAA2B,CAAC,CAAA;QACpD,CAAC;QAED,MAAM,KAAK,CAAA;IACZ,CAAC;AACF,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,kBAAkB,CAAA;AACnC,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,cAAc,CAAA;AACzD,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,WAAW,QAAQ,GAAG,UAAU,EAAE,CAAA;AAE9F,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC9C,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAuB,EAClD,IAAe,EACf,OAA6B,EAAE,EAC9B,EAAE;IACH,MAAM,eAAe,GAAG,GAAG,EAAE,UAAU,CAAC,2BAA2B,CAAC,CAAA;IACpE,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAW,CAAC,CAAA;IAC7E,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,IAAI,IAAI,CAAC,qDAAqD,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAE/C,OAAO,wBAAwB,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACzD,CAAC,CAAA;AAED;;;KAGK;AACL,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC5C,WAAmB,EACnB,EAAE,SAAS,EAAE,EAAE,EAA0B,EACzC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAA2B,EAAE,EACzD,EAAE;IACH,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,oGAAoG;IACpG,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,IAAI,CAAC,CAAC,CAAA;QACjD,IAAI,KAAK,EAAE,CAAC;YACX,UAAU,GAAG,KAAK,GAAG,cAAc,CAAA;YACnC,YAAY,GAAG,KAAK,CAAA;YAEpB,cAAc,GAAG,IAAI,CAAA;QACtB,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAA;IAEzF,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,MAAM,OAAO,GAA2B;QACvC,GAAG,CAAC,WAAW;YACd,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC3B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;gBACjC,CAAC,CAAE,WAAsC;YAC1C,CAAC,CAAC,EAAE,CAAC;QACN,MAAM,EAAE,cAAc;KACtB,CAAA;IACD,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,GAAG,SAAS,UAAU,GAAG,CAAA;QACtC,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAA;QAC1B,CAAC;IACF,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE;QAChD,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClB,OAAO;KACP,CAAC,CAAA;IAEF,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEpC,IAAI,GAAoB,CAAA;IAExB,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,IAA6B,EAAE,EAAE;QAClE,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,YAAY,IAAI,SAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAU,GAAG,YAAY,EAAE,CAAC,CAAC,CAAA;YAC7F,MAAM,GAAG,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,OAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAQ,GAAG,YAAY,EAAE,CAAC,CAAC,CAAA;YAErG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;YAE7B,YAAY,IAAI,KAAK,CAAC,MAAM,CAAA;QAC7B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,CAAA;QACZ,CAAC;IACF,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC5B,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ;YAC3B,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAA;YAEjD,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtD,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;YAEnC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,IAAI,OAAO,GAAG,EAAE,CAAA;gBAChB,IAAI,cAAc,EAAE,CAAC;oBACpB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;oBACvC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;gBAClC,CAAC;gBAED,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;gBAChE,8CAA8C;gBAC9C,wEAAwE;gBACxE,IAAI,OAAO,EAAE,CAAC;oBACb,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;gBAC1B,CAAC;YACF,CAAC;YAED,IAAI,CAAC;gBACJ,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC9C,QAAQ,EAAE,CAAA;YACX,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACrB,QAAQ,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QACF,CAAC;QACD,KAAK,CAAC,QAAQ;YACb,IAAI,CAAC;gBACJ,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBACzC,QAAQ,EAAE,CAAA;YACX,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACrB,QAAQ,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QACF,CAAC;KACD,CAAC,CAAA;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAyB;IACjE,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAmC,CAAA;IACtE,IAAI,SAAiB,CAAA;IACrB,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC/F,SAAS,GAAG,OAAO,CAAA;IACpB,CAAC;SAAM,CAAC;QACP,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAA0B,CAAA;QAC7D,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,QAAS,CAAE,CAAA;IACpD,CAAC;IAED,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,MAAM,aAAa,GAAG,GAAY,EAAE;IACnC,OAAO,CACN,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI;QAC/B,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,WAAW;QAC3C,OAAQ,UAAkB,CAAC,IAAI,KAAK,WAAW,CAC/C,CAAA;AACF,CAAC,CAAA;AAkBD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACtC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,EAC1D,aAAa,GAAG,CAAC,EACwB,EAAE;IAC3C,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;IAEjG,2EAA2E;IAC3E,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAA;IAE/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAC7B;YACC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,GAAG,OAAO;gBACV,gBAAgB,EAAE,QAAQ;aAC1B;YACD,KAAK;YACL,OAAO,EAAE,SAAS;SAClB,EACD,GAAG,CAAC,EAAE;YACL,yBAAyB;YACzB,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC7F,GAAG,CAAC,MAAM,EAAE,CAAA,CAAC,qCAAqC;gBAClD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;gBAC5D,OAAO,CACN,kBAAkB,CACjB;oBACC,GAAG,EAAE,MAAM;oBACX,QAAQ;oBACR,OAAO;oBACP,SAAS;oBACT,KAAK;iBACL,EACD,aAAa,GAAG,CAAC,CACjB,CACD,CAAA;gBACD,OAAM;YACP,CAAC;YAED,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAA;YACxC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO,CAAC,SAAS,CAAC,CAAA;gBACnB,CAAC;YACF,CAAC,CAAC,CAAA;QACH,CAAC,CACD,CAAA;QAED,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACvB,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACtB,GAAG,CAAC,OAAO,EAAE,CAAA;YACb,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACxB,GAAG,CAAC,OAAO,EAAE,CAAA;YACb,MAAM,CAAC,GAAG,CAAC,CAAA;QACZ,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,KAAK,EAAE,EAC9B,GAAG,EACH,QAAQ,EACR,OAAO,EACP,SAAS,EACT,KAAK,EACS,EAA0C,EAAE;IAC1D,iDAAiD;IACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAmB,CAAA;IAE9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QACjC,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,SAAS;QACf,OAAO;QACP,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAA;IAEF,IAAI,CAAC;QACJ,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAA;IACpD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAA;IACjB,CAAC;AACF,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,GAAG,KAAK,EAAE,MAAoB,EAAE,MAAgB,EAA0C,EAAE;IAC5G,IAAI,aAAa,EAAE,EAAE,CAAC;QACrB,MAAM,EAAE,KAAK,CAAC,qEAAqE,CAAC,CAAA;QACpF,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;SAAM,CAAC;QACP,MAAM,EAAE,KAAK,CAAC,yCAAyC,CAAC,CAAA;QACxD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAgB,EAChE,gBAA4D,EACpC,EAAE;IAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE;QACrE,uEAAuE;QACvE,IAAI,UAAU,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAE9C,IAAI,IAA0G,CAAA;QAC9G,MAAM,KAAK,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAEzD,gBAAgB,GAAG,kCAAkC,CAAC,gBAAgB,CAAC,CAAA;QAEvE,yBAAyB;QACzB,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;YAC3B,MAAM,IAAI,GAAG,OAAO,EAAE,OAAO,CAAA;YAC7B,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAA;YACpB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAA+B,CAAA;QACzF,CAAC,CAAC,EAAE,CAAA;QAEJ,MAAM,OAAO,GAAG;YACf,GAAG,aAAa;YAChB,cAAc,EAAE,0BAA0B;YAC1C,MAAM,EAAE,cAAc;SACtB,CAAA;QAED,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,GAAG,CAAC,CAAA;YAE1C,MAAM,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAChD,MAAM,GAAG,GAAG,WAAW,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,gBAAgB,SAAS,IAAI,UAAU,gBAAgB,EAAE,CAAA;YAExH,IAAI,MAAqC,CAAA;YACzC,IAAI,CAAC;gBACJ,MAAM,GAAG,MAAM,WAAW,CACzB;oBACC,GAAG;oBACH,QAAQ;oBACR,OAAO;oBACP,SAAS;oBACT,KAAK,EAAE,UAAU;iBACjB,EACD,MAAM,CACN,CAAA;gBAED,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;oBACxC,IAAI,GAAG;wBACN,QAAQ,EAAE,MAAM,CAAC,GAAI;wBACrB,UAAU,EAAE,MAAM,CAAC,WAAY;wBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,EAAE,EAAE,MAAM,CAAC,EAAE;qBACb,CAAA;oBACD,MAAK;gBACN,CAAC;qBAAM,CAAC;oBACP,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBACzC,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACpE,CAAC;YACF,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,QAAQ,KAAK,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAA;gBACxE,MAAM,CAAC,IAAI,CACV,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7C,yBAAyB,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CACpE,CAAA;YACF,CAAC;QACF,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,IAAI,CAAC,kCAAkC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;QACxE,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;AACF,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,QAA6B,EAAE,EAAE;IAC1D,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC,CAAA;AACzE,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,GAAiB,EAAE,QAA6B,EAAE,IAAY,EAAE,EAAE;IAChH,MAAM,IAAI,GAA8B,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,CAAA;IAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;IAEjE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,CAAC,CAAA;IAEhF,MAAM,GAAG,GAAe;QACvB,GAAG,EAAE,SAAS;QACd,KAAK,EAAE;YACN,EAAE,EAAE,GAAG,CAAC,EAAG;YACX,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,cAAc;SACpB;QACD,OAAO,EAAE;YACR,+CAA+C;YAC/C,+CAA+C;YAC/C,iDAAiD;YACjD;gBACC,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE;oBACR,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAChD,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;iBACzC;aACD;YACD;gBACC,GAAG,EAAE,KAAK;gBACV,KAAK,EAAE;oBACN,GAAG,EAAE,GAAG,CAAC,SAAU;oBACnB,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;oBAClC,aAAa;oBACb,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;iBACzC;aACD;SACD;KACD,CAAA;IAED,OAAO,GAAG,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAgB,EAAE,EAAE;IACxD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAE,CAAA;IAEhD,MAAM,KAAK,GAAqD;QAC/D,GAAG,EAAE;YACJ,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACjB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG;YAC5B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM;YACxC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;SACtC;KACD,CAAA;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnD,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAK,CAAA;QACxC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,8BAA8B,SAAS,GAAG,EAAE;YAClE,IAAI,EAAE,SAAS,CAAC,KAAK;YACrB,UAAU,EAAE,0BAA0B,CAAC,SAAS,CAAC;SACjD,CAAC,CAAA;IACH,CAAC;SAAM,CAAC;QACP,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAC7D,MAAM,UAAU,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;QACvE,MAAM,EAAE,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAA;QAChE,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;QACjC,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,gDAAgD,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;QAC9F,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACzC,EAAE,UAAU,EAAE,EAAE,EAA8C,EAC9D,QAAoB,EACpB,KAAa,EACZ,EAAE;IACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7E,OAAO,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1D,sBAAsB,CAAC,IAA+C,CAAC,CAAA;AAExE,MAAM,sBAAsB,GAAG;IAC9B,CAAC,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG;IACtD,CAAC,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,GAAG;IAC/D,CAAC,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG;IACxD,CAAC,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,GAAG;CACnD,CAAA"}
|
|
1
|
+
{"version":3,"file":"messages-media.js","sourceRoot":"","sources":["../../src/Utils/messages-media.ts"],"names":[],"mappings":"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"}
|