@ethora/chat-component-rn 26.7.8 → 26.7.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -2
- package/README.md +10 -0
- package/lib/commonjs/assets/icons.js +2 -2
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +76 -19
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +8 -5
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +5 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +2 -1
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +1 -51
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +51 -12
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +12 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +13 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +13 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +3 -1
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +14 -4
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +3 -1
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +95 -36
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/createMessageFromXml.js +19 -1
- package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
- package/lib/commonjs/helpers/getDisplayFileName.js +79 -0
- package/lib/commonjs/helpers/getDisplayFileName.js.map +1 -0
- package/lib/commonjs/helpers/getServerReadTimestamp.js +188 -0
- package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -0
- package/lib/commonjs/helpers/initXmppRooms.js +9 -7
- package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +51 -9
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/isOwnMessage.js +75 -0
- package/lib/commonjs/helpers/isOwnMessage.js.map +1 -0
- package/lib/commonjs/helpers/keyboardLayout.js +12 -2
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
- package/lib/commonjs/helpers/mimeToExtension.js +6 -14
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/helpers/msgSortableMs.js +37 -0
- package/lib/commonjs/helpers/msgSortableMs.js.map +1 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js +45 -12
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/commonjs/hooks/useChatWrapperInit.js +12 -7
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +8 -0
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +0 -18
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +0 -13
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +20 -2
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +45 -11
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +36 -2
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +35 -2
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistence.js +200 -11
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +148 -37
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/assets/icons.js +1 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +77 -20
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +9 -6
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +5 -1
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +2 -1
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +3 -53
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +52 -13
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js +12 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +13 -2
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +13 -2
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +3 -1
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +14 -4
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +3 -1
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/xmppProvider.js +96 -37
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/createMessageFromXml.js +19 -1
- package/lib/module/helpers/createMessageFromXml.js.map +1 -1
- package/lib/module/helpers/getDisplayFileName.js +73 -0
- package/lib/module/helpers/getDisplayFileName.js.map +1 -0
- package/lib/module/helpers/getServerReadTimestamp.js +181 -0
- package/lib/module/helpers/getServerReadTimestamp.js.map +1 -0
- package/lib/module/helpers/initXmppRooms.js +9 -7
- package/lib/module/helpers/initXmppRooms.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +52 -9
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/isOwnMessage.js +70 -0
- package/lib/module/helpers/isOwnMessage.js.map +1 -0
- package/lib/module/helpers/keyboardLayout.js +12 -2
- package/lib/module/helpers/keyboardLayout.js.map +1 -1
- package/lib/module/helpers/mimeToExtension.js +6 -13
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/helpers/msgSortableMs.js +32 -0
- package/lib/module/helpers/msgSortableMs.js.map +1 -0
- package/lib/module/hooks/useChatRoomFocus.js +46 -13
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/module/hooks/useChatWrapperInit.js +12 -7
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useLogout.js +8 -0
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/i18n/strings.js +0 -18
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +0 -12
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +20 -2
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +45 -11
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmppClient.js +36 -2
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/index.js +37 -4
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistence.js +197 -11
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +136 -33
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +0 -8
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts +6 -0
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts +6 -0
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/getAvatarColor.d.ts +1 -1
- package/lib/typescript/helpers/getDisplayFileName.d.ts +49 -0
- package/lib/typescript/helpers/getDisplayFileName.d.ts.map +1 -0
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts +108 -0
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -0
- package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/isOwnMessage.d.ts +36 -0
- package/lib/typescript/helpers/isOwnMessage.d.ts.map +1 -0
- package/lib/typescript/helpers/keyboardLayout.d.ts +5 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
- package/lib/typescript/helpers/mimeToExtension.d.ts +0 -15
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/helpers/msgSortableMs.d.ts +2 -0
- package/lib/typescript/helpers/msgSortableMs.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +4 -1
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts +0 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +9 -2
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/index.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistence.d.ts +18 -1
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +42 -3
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/models/room.model.d.ts +0 -1
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +1 -1
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/assets/icons.tsx +0 -24
- package/src/components/MainComponents/ChatRoom.tsx +81 -19
- package/src/components/MainComponents/MediaMessage.tsx +8 -5
- package/src/components/MainComponents/MessageContainer.tsx +5 -1
- package/src/components/MainComponents/MessageList.tsx +2 -1
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +2 -36
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +63 -26
- package/src/components/RoomComponents/styled/LastMessageFile.tsx +14 -2
- package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +14 -2
- package/src/components/RoomComponents/styled/LastMessageVideo.tsx +14 -2
- package/src/components/styled/MessageImage.tsx +8 -1
- package/src/components/styled/UnsupportedType.tsx +14 -4
- package/src/components/styled/VideoMessage.tsx +8 -1
- package/src/context/xmppProvider.tsx +122 -30
- package/src/helpers/createMessageFromXml.ts +20 -1
- package/src/helpers/getDisplayFileName.ts +87 -0
- package/src/helpers/getServerReadTimestamp.ts +197 -0
- package/src/helpers/initXmppRooms.tsx +9 -9
- package/src/helpers/insertMessageWithDelimiter.ts +55 -19
- package/src/helpers/isOwnMessage.ts +90 -0
- package/src/helpers/keyboardLayout.ts +23 -2
- package/src/helpers/mimeToExtension.ts +6 -22
- package/src/helpers/msgSortableMs.ts +25 -0
- package/src/hooks/useChatRoomFocus.ts +49 -9
- package/src/hooks/useChatWrapperInit.ts +12 -7
- package/src/hooks/useLogout.tsx +14 -0
- package/src/i18n/strings.ts +0 -18
- package/src/networking/api-requests/rooms.api.ts +0 -9
- package/src/networking/stanzaHandlers.ts +20 -6
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +65 -18
- package/src/networking/xmppClient.ts +41 -2
- package/src/roomStore/index.ts +40 -4
- package/src/roomStore/persistence.ts +197 -7
- package/src/roomStore/roomsSlice.ts +158 -28
- package/src/types/models/room.model.ts +0 -1
- package/src/types/types.ts +14 -1
|
@@ -3,9 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.mergeUsersSet = exports.editRoomMessage = exports.deleteRoomMessage = exports.deleteRoom = exports.deleteAllRooms = exports.default = exports.clearVisibleRoom = exports.clearReadBoundary = exports.clearPendingNotificationJid = exports.applyRoomsPreloadBatch = exports.applyPrivateStoreMarkers = exports.addRoomViaApi = exports.addRoomMessage = exports.addRoom = exports.RUNTIME_MESSAGE_LIMIT = void 0;
|
|
7
|
+
Object.defineProperty(exports, "msgSortableMs", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _msgSortableMs.msgSortableMs;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
exports.updateRoom = exports.setVisibleRoom = exports.setUnreadSyncing = exports.setRoomRole = exports.setRoomNoMessages = exports.setRoomMessages = exports.setReadBoundary = exports.setReactions = exports.setPendingNotificationJid = exports.setLogoutState = exports.setLastViewedTimestamp = exports.setIsLoading = exports.setEditAction = exports.setCurrentRoom = exports.setComposing = exports.setCloseActiveMessage = exports.setActiveMessage = exports.roomsStore = void 0;
|
|
7
14
|
var _toolkit = require("@reduxjs/toolkit");
|
|
8
15
|
var _insertMessageWithDelimiter = require("../helpers/insertMessageWithDelimiter");
|
|
16
|
+
var _msgSortableMs = require("../helpers/msgSortableMs");
|
|
9
17
|
// Per-room runtime message cap. Mirrors the persistence layer's
|
|
10
18
|
// MESSAGE_LIMIT so what's in memory matches what's on disk; otherwise
|
|
11
19
|
// long sessions grow the array unbounded (memory leak) and reload
|
|
@@ -131,7 +139,6 @@ function mergeHistoryIntoCache(existing, fetched) {
|
|
|
131
139
|
// fetched MAM page (the live-stream swallow doesn't cover history).
|
|
132
140
|
const ex = stripCallSignals(existing);
|
|
133
141
|
const fe = stripCallSignals(fetched);
|
|
134
|
-
const pending = ex.filter(m => m?.pending);
|
|
135
142
|
const realExisting = ex.filter(m => m && !m.pending && m.id !== 'delimiter-new');
|
|
136
143
|
const realFetched = fe.filter(m => m && m.id !== 'delimiter-new');
|
|
137
144
|
|
|
@@ -139,7 +146,29 @@ function mergeHistoryIntoCache(existing, fetched) {
|
|
|
139
146
|
if (realFetched.length === 0) {
|
|
140
147
|
return ex;
|
|
141
148
|
}
|
|
142
|
-
|
|
149
|
+
|
|
150
|
+
// Optimistic sends are preserved across a history merge - EXCEPT the
|
|
151
|
+
// ones the fetched page proves the server already has. That happens
|
|
152
|
+
// whenever a send reached the server but its echo did not reach us
|
|
153
|
+
// before the process died: the optimistic bubble is restored from disk
|
|
154
|
+
// still `pending: true` (and, since bug #39, flagged failed at boot),
|
|
155
|
+
// while MAM hands back the very same message under its ARCHIVE id.
|
|
156
|
+
// Keying only on `id` never matched those two, so the room ended up
|
|
157
|
+
// showing the message twice - once for real and once as a bubble stuck
|
|
158
|
+
// on "sending…"/"Failed" that nothing could ever clear. The archived
|
|
159
|
+
// copy carries our original stanza id as `xmppId` (getDataFromXml), so
|
|
160
|
+
// match on that too and drop the local ghost.
|
|
161
|
+
const fetchedKeys = new Set();
|
|
162
|
+
for (const m of realFetched) {
|
|
163
|
+
if (m?.id != null) {
|
|
164
|
+
fetchedKeys.add(String(m.id));
|
|
165
|
+
}
|
|
166
|
+
if (m?.xmppId) {
|
|
167
|
+
fetchedKeys.add(String(m.xmppId));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const pending = ex.filter(m => m?.pending && !fetchedKeys.has(String(m.id)) && !(m.xmppId && fetchedKeys.has(String(m.xmppId))));
|
|
171
|
+
const byMs = (a, b) => (0, _msgSortableMs.msgSortableMs)(a) - (0, _msgSortableMs.msgSortableMs)(b);
|
|
143
172
|
const capTail = arr => arr.length > RUNTIME_MESSAGE_LIMIT ? arr.slice(-RUNTIME_MESSAGE_LIMIT) : arr;
|
|
144
173
|
const existingIds = new Set(realExisting.map(m => String(m.id)));
|
|
145
174
|
const overlaps = realFetched.some(m => existingIds.has(String(m.id)));
|
|
@@ -182,7 +211,8 @@ const initialState = {
|
|
|
182
211
|
text: ''
|
|
183
212
|
},
|
|
184
213
|
pendingNotificationJid: null,
|
|
185
|
-
privateStoreMarkers: {}
|
|
214
|
+
privateStoreMarkers: {},
|
|
215
|
+
readBoundaries: {}
|
|
186
216
|
};
|
|
187
217
|
const isValidRoomJid = jid => {
|
|
188
218
|
if (typeof jid !== 'string' || !jid) return false;
|
|
@@ -427,7 +457,7 @@ const reducers = {
|
|
|
427
457
|
roomMessages.unshift(message);
|
|
428
458
|
} else {
|
|
429
459
|
const lastViewedValue = state.rooms[roomJID].lastViewedTimestamp;
|
|
430
|
-
const lastViewedTimestamp = state.visibleRoomJID === roomJID ? null : lastViewedValue ?
|
|
460
|
+
const lastViewedTimestamp = state.visibleRoomJID === roomJID ? null : lastViewedValue ? lastViewedValue : null;
|
|
431
461
|
(0, _insertMessageWithDelimiter.insertMessageWithDelimiter)(roomMessages, message, lastViewedTimestamp);
|
|
432
462
|
}
|
|
433
463
|
|
|
@@ -443,6 +473,7 @@ const reducers = {
|
|
|
443
473
|
state.rooms = {};
|
|
444
474
|
state.visibleRoomJID = null;
|
|
445
475
|
state.privateStoreMarkers = {};
|
|
476
|
+
state.readBoundaries = {};
|
|
446
477
|
state.isUnreadSyncing = false;
|
|
447
478
|
},
|
|
448
479
|
setComposing(state, action) {
|
|
@@ -501,7 +532,19 @@ const reducers = {
|
|
|
501
532
|
*
|
|
502
533
|
* Monotonic: a marker only ever moves a baseline FORWARD, so a stale
|
|
503
534
|
* server value can't resurrect already-read messages and a more-recent
|
|
504
|
-
* local read (tab blur stamping
|
|
535
|
+
* local read (tab blur stamping the server read timestamp) always wins.
|
|
536
|
+
*
|
|
537
|
+
* Bug #38 self-heal: forward-only is correct for a SANE existing
|
|
538
|
+
* value, but a device whose clock was ahead may have already stamped
|
|
539
|
+
* a marker in the future (either persisted locally from a previous
|
|
540
|
+
* session, or fetched from the server before this fix existed). To
|
|
541
|
+
* "only ever move forward" from a corrupt future value is to never
|
|
542
|
+
* move at all - the room would stay stuck at `unreadMessages: 0`
|
|
543
|
+
* forever. When the room is loaded, detect a marker that sits well
|
|
544
|
+
* past the newest message we actually know it has and waive the
|
|
545
|
+
* forward-only check for that one comparison, so the incoming
|
|
546
|
+
* (already-clamped, see xmppClient.getChatsPrivateStoreRequestStanza)
|
|
547
|
+
* value can correct it even though it's numerically smaller.
|
|
505
548
|
*/
|
|
506
549
|
applyPrivateStoreMarkers: (state, action) => {
|
|
507
550
|
const markers = action.payload;
|
|
@@ -516,20 +559,73 @@ const reducers = {
|
|
|
516
559
|
if (!jid || !Number.isFinite(ts) || ts <= 0) {
|
|
517
560
|
continue;
|
|
518
561
|
}
|
|
562
|
+
const room = state.rooms[jid];
|
|
563
|
+
const newestKnownMs = room ? newestAckedMessageMs(room.messages) : 0;
|
|
564
|
+
// Mirrors isCorruptFutureReadMarker in helpers/getServerReadTimestamp.ts
|
|
565
|
+
// (duplicated to avoid a roomStore <-> helpers import cycle):
|
|
566
|
+
// BOTH signals are required. "Further ahead than the newest
|
|
567
|
+
// message this room has locally" happens all the time on a room
|
|
568
|
+
// whose history hasn't synced yet, and healing on that alone
|
|
569
|
+
// would drop a legitimate marker another device wrote after
|
|
570
|
+
// reading newer messages. A real read marker can never be ahead
|
|
571
|
+
// of real time, so that second signal is what distinguishes a
|
|
572
|
+
// stale cache from a wrong clock.
|
|
573
|
+
const nowMs = Date.now();
|
|
574
|
+
const looksCorrupt = existing => newestKnownMs > 0 && existing > newestKnownMs + FUTURE_MARKER_TOLERANCE_MS && existing > nowMs + FUTURE_MARKER_TOLERANCE_MS;
|
|
575
|
+
|
|
519
576
|
// Remember the marker so rooms that load LATER (via addRoom)
|
|
520
577
|
// inherit it even though they don't exist in the store yet.
|
|
521
|
-
|
|
578
|
+
const cachedMarker = state.privateStoreMarkers[jid] || 0;
|
|
579
|
+
if (ts > cachedMarker || looksCorrupt(cachedMarker)) {
|
|
522
580
|
state.privateStoreMarkers[jid] = ts;
|
|
523
581
|
}
|
|
524
582
|
// Upgrade an already-loaded room's baseline + recompute its badge.
|
|
525
|
-
//
|
|
526
|
-
|
|
527
|
-
if (room && ts > (room.lastViewedTimestamp || 0)) {
|
|
583
|
+
// Forward-only, unless the room's CURRENT baseline is itself the
|
|
584
|
+
// corrupt value being corrected.
|
|
585
|
+
if (room && (ts > (room.lastViewedTimestamp || 0) || looksCorrupt(room.lastViewedTimestamp || 0))) {
|
|
528
586
|
room.lastViewedTimestamp = ts;
|
|
529
587
|
room.unreadMessages = countNewerMessages(room.messages, ts);
|
|
530
588
|
}
|
|
531
589
|
}
|
|
532
590
|
},
|
|
591
|
+
/**
|
|
592
|
+
* Set (or clear) the "read up to here, but not further" boundary for
|
|
593
|
+
* a room - see `readBoundaries` on `RoomMessagesState` for the full
|
|
594
|
+
* contract. `ts` is the msgSortableMs of the newest message the user
|
|
595
|
+
* actually reached before scrolling away from the bottom; `null`/`0`
|
|
596
|
+
* clears it (the user is at the bottom, or nothing was reached yet).
|
|
597
|
+
*/
|
|
598
|
+
setReadBoundary: (state, action) => {
|
|
599
|
+
const {
|
|
600
|
+
jid,
|
|
601
|
+
ts
|
|
602
|
+
} = action.payload;
|
|
603
|
+
if (!jid) {
|
|
604
|
+
return;
|
|
605
|
+
}
|
|
606
|
+
if (!state.readBoundaries) {
|
|
607
|
+
state.readBoundaries = {};
|
|
608
|
+
}
|
|
609
|
+
if (typeof ts === 'number' && Number.isFinite(ts) && ts > 0) {
|
|
610
|
+
state.readBoundaries[jid] = ts;
|
|
611
|
+
} else {
|
|
612
|
+
delete state.readBoundaries[jid];
|
|
613
|
+
}
|
|
614
|
+
},
|
|
615
|
+
/**
|
|
616
|
+
* Release a room's read boundary once it has been consumed by a
|
|
617
|
+
* genuine "leave" (ChatRoom unmount, or a tab-navigator focus hook
|
|
618
|
+
* switching to a different room) - see `readBoundaries` for why the
|
|
619
|
+
* background/`isVisible=false` paths deliberately do NOT call this.
|
|
620
|
+
*/
|
|
621
|
+
clearReadBoundary: (state, action) => {
|
|
622
|
+
const {
|
|
623
|
+
jid
|
|
624
|
+
} = action.payload;
|
|
625
|
+
if (jid && state.readBoundaries) {
|
|
626
|
+
delete state.readBoundaries[jid];
|
|
627
|
+
}
|
|
628
|
+
},
|
|
533
629
|
setRoomRole: (state, action) => {
|
|
534
630
|
const {
|
|
535
631
|
chatJID,
|
|
@@ -609,6 +705,7 @@ const reducers = {
|
|
|
609
705
|
state.isLoading = false;
|
|
610
706
|
state.isUnreadSyncing = false;
|
|
611
707
|
state.privateStoreMarkers = {};
|
|
708
|
+
state.readBoundaries = {};
|
|
612
709
|
},
|
|
613
710
|
setActiveMessage: (state, action) => {
|
|
614
711
|
const {
|
|
@@ -711,32 +808,13 @@ const roomsStore = exports.roomsStore = (0, _toolkit.createSlice)({
|
|
|
711
808
|
reducers
|
|
712
809
|
});
|
|
713
810
|
|
|
714
|
-
//
|
|
715
|
-
//
|
|
716
|
-
//
|
|
717
|
-
//
|
|
718
|
-
//
|
|
719
|
-
//
|
|
720
|
-
|
|
721
|
-
// user's own messages (parity with unreadMiddleware's isOwnMessage
|
|
722
|
-
// filter — without this, the reducer and the middleware disagree about
|
|
723
|
-
// the count and we get a flicker as the badge gets written twice with
|
|
724
|
-
// different values on every message).
|
|
725
|
-
const msgSortableMs = msg => {
|
|
726
|
-
const id = String(msg?.id || '');
|
|
727
|
-
const m = /^(\d{13})/.exec(id);
|
|
728
|
-
if (m) {
|
|
729
|
-
return Number(m[1]);
|
|
730
|
-
}
|
|
731
|
-
if (msg?.date) {
|
|
732
|
-
const t = new Date(msg.date).getTime();
|
|
733
|
-
if (Number.isFinite(t)) {
|
|
734
|
-
return t;
|
|
735
|
-
}
|
|
736
|
-
}
|
|
737
|
-
return 0;
|
|
738
|
-
};
|
|
739
|
-
exports.msgSortableMs = msgSortableMs;
|
|
811
|
+
// Re-exported for backward compatibility - every existing call site
|
|
812
|
+
// imports `msgSortableMs` from here. The implementation now lives in
|
|
813
|
+
// helpers/msgSortableMs.ts (imported above), so insertMessageWithDelimiter.ts
|
|
814
|
+
// (which this file itself imports) can use the SAME ordering source
|
|
815
|
+
// without a roomStore <-> helpers import cycle. See that file for the
|
|
816
|
+
// full rationale (server id vs. client `date`).
|
|
817
|
+
|
|
740
818
|
const norm = s => {
|
|
741
819
|
if (s == null) {
|
|
742
820
|
return '';
|
|
@@ -762,6 +840,35 @@ const isOwn = (msg, selfXmpp, selfWallet) => {
|
|
|
762
840
|
}
|
|
763
841
|
return false;
|
|
764
842
|
};
|
|
843
|
+
|
|
844
|
+
// Bug #38 tolerance: a stored read marker more than this far past the
|
|
845
|
+
// newest message a room actually has is not "the user is a little
|
|
846
|
+
// ahead" - it's a leftover from a device whose clock was wrong when it
|
|
847
|
+
// stamped the marker. Kept in sync with (but duplicated from, to avoid
|
|
848
|
+
// a roomStore ↔ helpers import cycle) FUTURE_READ_MARKER_TOLERANCE_MS
|
|
849
|
+
// in helpers/getServerReadTimestamp.ts.
|
|
850
|
+
const FUTURE_MARKER_TOLERANCE_MS = 5 * 60 * 1000;
|
|
851
|
+
|
|
852
|
+
// Newest message in `messages` this room actually has proof the server
|
|
853
|
+
// accepted - used only to sanity-check an already-stored read marker
|
|
854
|
+
// against reality (see applyPrivateStoreMarkers's self-heal). Excludes
|
|
855
|
+
// pending/optimistic sends via the `pending` flag alone: unlike
|
|
856
|
+
// getServerReadTimestamp, this runs inside a reducer and can't reach
|
|
857
|
+
// across to the roomHeapSlice slice, but `pending` already identifies
|
|
858
|
+
// every optimistic send that matters for this comparison.
|
|
859
|
+
const newestAckedMessageMs = messages => {
|
|
860
|
+
let newest = 0;
|
|
861
|
+
for (const m of messages || []) {
|
|
862
|
+
if (!m || m.id === 'delimiter-new' || m.pending) {
|
|
863
|
+
continue;
|
|
864
|
+
}
|
|
865
|
+
const ms = (0, _msgSortableMs.msgSortableMs)(m);
|
|
866
|
+
if (ms > newest) {
|
|
867
|
+
newest = ms;
|
|
868
|
+
}
|
|
869
|
+
}
|
|
870
|
+
return newest;
|
|
871
|
+
};
|
|
765
872
|
const countNewerMessages = (messages, timestamp, selfXmpp = '', selfWallet = '') => {
|
|
766
873
|
if (!messages?.length || !timestamp) {
|
|
767
874
|
return 0;
|
|
@@ -774,7 +881,7 @@ const countNewerMessages = (messages, timestamp, selfXmpp = '', selfWallet = '')
|
|
|
774
881
|
if (isOwn(message, selfXmpp, selfWallet)) {
|
|
775
882
|
continue;
|
|
776
883
|
}
|
|
777
|
-
const ms = msgSortableMs(message);
|
|
884
|
+
const ms = (0, _msgSortableMs.msgSortableMs)(message);
|
|
778
885
|
if (Number.isFinite(ms) && ms > timestamp) {
|
|
779
886
|
count += 1;
|
|
780
887
|
}
|
|
@@ -794,6 +901,8 @@ const {
|
|
|
794
901
|
setUnreadSyncing,
|
|
795
902
|
setLastViewedTimestamp,
|
|
796
903
|
applyPrivateStoreMarkers,
|
|
904
|
+
setReadBoundary,
|
|
905
|
+
clearReadBoundary,
|
|
797
906
|
setRoomNoMessages,
|
|
798
907
|
setCurrentRoom,
|
|
799
908
|
setVisibleRoom,
|
|
@@ -825,6 +934,8 @@ exports.clearVisibleRoom = clearVisibleRoom;
|
|
|
825
934
|
exports.setVisibleRoom = setVisibleRoom;
|
|
826
935
|
exports.setCurrentRoom = setCurrentRoom;
|
|
827
936
|
exports.setRoomNoMessages = setRoomNoMessages;
|
|
937
|
+
exports.clearReadBoundary = clearReadBoundary;
|
|
938
|
+
exports.setReadBoundary = setReadBoundary;
|
|
828
939
|
exports.applyPrivateStoreMarkers = applyPrivateStoreMarkers;
|
|
829
940
|
exports.setLastViewedTimestamp = setLastViewedTimestamp;
|
|
830
941
|
exports.setUnreadSyncing = setUnreadSyncing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_toolkit","require","_insertMessageWithDelimiter","RUNTIME_MESSAGE_LIMIT","exports","CALL_SIGNAL_BODIES","Set","isCallSignalMessage","message","body","String","trim","toLowerCase","has","stripCallSignals","messages","Array","isArray","filter","isLocalCallLogEntry","id","startsWith","mergeCallLogEntries","a","b","aLocal","bLocal","identity","display","callLog","durationMs","xmppId","date","collapseCallLogDuplicates","byCallId","Map","hasDuplicates","callId","existing","get","set","emitted","add","map","enforceMessageCap","length","shift","mergeHistoryIntoCache","fetched","ex","fe","pending","m","realExisting","realFetched","byMs","msgSortableMs","capTail","arr","slice","existingIds","overlaps","some","sort","byId","prev","isEdited","merged","from","values","initialState","rooms","activeRoomJID","visibleRoomJID","isLoading","isUnreadSyncing","editAction","isEdit","roomJid","messageId","text","pendingNotificationJid","privateStoreMarkers","isValidRoomJid","jid","includes","addRoomViaApi","createAsyncThunk","room","xmpp","_xmpp","dispatch","roomsStore","actions","addRoomFromApi","reducers","addRoom","state","action","roomData","payload","lastViewed","serverMarker","lastViewedTimestamp","msgs","newest","t","messageTimestampMs","Date","getTime","incomingMessages","existingMessages","icon","undefined","roomBg","unreadMessages","unreadBaselineTimestamp","deleteRoom","updateRoom","updates","existingRoom","setRoomMessages","roomJID","capped","deleteRoomMessage","idx","findIndex","splice","isDeleted","setEditAction","editRoomMessage","addRoomMessage","start","roomMessages","incomingCallLog","existingCallIdx","msg","lengthBefore","unshift","lastViewedValue","insertMessageWithDelimiter","deleteAllRooms","setComposing","chatJID","composing","composingList","setIsLoading","loading","loadingText","setUnreadSyncing","setLastViewedTimestamp","timestamp","countNewerMessages","applyPrivateStoreMarkers","markers","Object","keys","ts","Number","isFinite","setRoomRole","role","setRoomNoMessages","value","noMessages","setCurrentRoom","setVisibleRoom","clearVisibleRoom","setPendingNotificationJid","clearPendingNotificationJid","setReactions","reactions","setLogoutState","setActiveMessage","activeMessage","setCloseActiveMessage","title","usersCnt","incoming","previous","Math","max","unreadCapped","historyPreloadState","messageStats","historyComplete","applyRoomsPreloadBatch","patch","mergeUsersSet","usersSet","members","createSlice","name","exec","norm","s","v","split","replace","isOwn","selfXmpp","selfWallet","candidates","user","userJID","xmppUsername","xmppFrom","Boolean","self","c","count","ms","_default","default","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_toolkit","require","_insertMessageWithDelimiter","_msgSortableMs","RUNTIME_MESSAGE_LIMIT","exports","CALL_SIGNAL_BODIES","Set","isCallSignalMessage","message","body","String","trim","toLowerCase","has","stripCallSignals","messages","Array","isArray","filter","isLocalCallLogEntry","id","startsWith","mergeCallLogEntries","a","b","aLocal","bLocal","identity","display","callLog","durationMs","xmppId","date","collapseCallLogDuplicates","byCallId","Map","hasDuplicates","callId","existing","get","set","emitted","add","map","enforceMessageCap","length","shift","mergeHistoryIntoCache","fetched","ex","fe","realExisting","m","pending","realFetched","fetchedKeys","byMs","msgSortableMs","capTail","arr","slice","existingIds","overlaps","some","sort","byId","prev","isEdited","merged","from","values","initialState","rooms","activeRoomJID","visibleRoomJID","isLoading","isUnreadSyncing","editAction","isEdit","roomJid","messageId","text","pendingNotificationJid","privateStoreMarkers","readBoundaries","isValidRoomJid","jid","includes","addRoomViaApi","createAsyncThunk","room","xmpp","_xmpp","dispatch","roomsStore","actions","addRoomFromApi","reducers","addRoom","state","action","roomData","payload","lastViewed","serverMarker","lastViewedTimestamp","msgs","newest","t","messageTimestampMs","Date","getTime","incomingMessages","existingMessages","icon","undefined","roomBg","unreadMessages","unreadBaselineTimestamp","deleteRoom","updateRoom","updates","existingRoom","setRoomMessages","roomJID","capped","deleteRoomMessage","idx","findIndex","splice","isDeleted","setEditAction","editRoomMessage","addRoomMessage","start","roomMessages","incomingCallLog","existingCallIdx","msg","lengthBefore","unshift","lastViewedValue","insertMessageWithDelimiter","deleteAllRooms","setComposing","chatJID","composing","composingList","setIsLoading","loading","loadingText","setUnreadSyncing","setLastViewedTimestamp","timestamp","countNewerMessages","applyPrivateStoreMarkers","markers","Object","keys","ts","Number","isFinite","newestKnownMs","newestAckedMessageMs","nowMs","now","looksCorrupt","FUTURE_MARKER_TOLERANCE_MS","cachedMarker","setReadBoundary","clearReadBoundary","setRoomRole","role","setRoomNoMessages","value","noMessages","setCurrentRoom","setVisibleRoom","clearVisibleRoom","setPendingNotificationJid","clearPendingNotificationJid","setReactions","reactions","setLogoutState","setActiveMessage","activeMessage","setCloseActiveMessage","title","usersCnt","incoming","previous","Math","max","unreadCapped","historyPreloadState","messageStats","historyComplete","applyRoomsPreloadBatch","patch","mergeUsersSet","usersSet","members","createSlice","name","norm","s","v","split","replace","isOwn","selfXmpp","selfWallet","candidates","user","userJID","xmppUsername","xmppFrom","Boolean","self","c","ms","count","_default","default","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,2BAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,GAAG;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,kBAAkB,GAAG,IAAIC,GAAG,CAAC,CACjC,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,CACd,CAAC;AAEF,MAAMC,mBAAmB,GAAIC,OAAoC,IAAc;EAC7E,IAAI,CAACA,OAAO,EAAE;IAAC,OAAO,KAAK;EAAC;EAC5B,MAAMC,IAAI,GAAGC,MAAM,CAACF,OAAO,CAACC,IAAI,IAAI,EAAE,CAAC,CAACE,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAC5D,OAAOP,kBAAkB,CAACQ,GAAG,CAACJ,IAAI,CAAC;AACrC,CAAC;AAED,MAAMK,gBAAgB,GAAIC,QAAgC,IACxDC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,GACnBA,QAAQ,CAACG,MAAM,CAAEV,OAAO,IAAK,CAACD,mBAAmB,CAACC,OAAO,CAAC,CAAC,GAC3D,EAAE;;AAER;AACA;AACA,MAAMW,mBAAmB,GAAIX,OAAoC,IAC/DE,MAAM,CAACF,OAAO,EAAEY,EAAE,IAAI,EAAE,CAAC,CAACC,UAAU,CAAC,UAAU,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAGA,CAACC,CAAW,EAAEC,CAAW,KAAe;EAClE,MAAMC,MAAM,GAAGN,mBAAmB,CAACI,CAAC,CAAC;EACrC,MAAMG,MAAM,GAAGP,mBAAmB,CAACK,CAAC,CAAC;EACrC,MAAMG,QAAQ,GAAGF,MAAM,KAAKC,MAAM,GAAGH,CAAC,GAAGE,MAAM,GAAGD,CAAC,GAAGD,CAAC;EACvD,MAAMK,OAAO,GACX,CAACL,CAAC,CAACM,OAAO,EAAEC,UAAU,IAAI,CAAC,MAAMN,CAAC,CAACK,OAAO,EAAEC,UAAU,IAAI,CAAC,CAAC,GAAGP,CAAC,GAAGC,CAAC;EACtE,IAAIG,QAAQ,KAAKC,OAAO,EAAE;IAAC,OAAOD,QAAQ;EAAC;EAC3C,OAAO;IACL,GAAGC,OAAO;IACVR,EAAE,EAAEO,QAAQ,CAACP,EAAE;IACfW,MAAM,EAAEJ,QAAQ,CAACI,MAAM,IAAIH,OAAO,CAACG,MAAM;IACzCC,IAAI,EAAEL,QAAQ,CAACK,IAAI,IAAIJ,OAAO,CAACI;EACjC,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,MAAMC,yBAAyB,GAAIlB,QAAoB,IAAiB;EACtE,MAAMmB,QAAQ,GAAG,IAAIC,GAAG,CAAmB,CAAC;EAC5C,IAAIC,aAAa,GAAG,KAAK;EACzB,KAAK,MAAM5B,OAAO,IAAIO,QAAQ,EAAE;IAC9B,MAAMsB,MAAM,GAAG7B,OAAO,EAAEqB,OAAO,EAAEQ,MAAM;IACvC,IAAI,CAACA,MAAM,EAAE;MAAC;IAAS;IACvB,MAAMC,QAAQ,GAAGJ,QAAQ,CAACK,GAAG,CAACF,MAAM,CAAC;IACrC,IAAIC,QAAQ,EAAE;MACZF,aAAa,GAAG,IAAI;MACpBF,QAAQ,CAACM,GAAG,CAACH,MAAM,EAAEf,mBAAmB,CAACgB,QAAQ,EAAE9B,OAAO,CAAC,CAAC;IAC9D,CAAC,MAAM;MACL0B,QAAQ,CAACM,GAAG,CAACH,MAAM,EAAE7B,OAAO,CAAC;IAC/B;EACF;EACA,IAAI,CAAC4B,aAAa,EAAE;IAAC,OAAOrB,QAAQ;EAAC;EACrC,MAAM0B,OAAO,GAAG,IAAInC,GAAG,CAAS,CAAC;EACjC,OAAOS,QAAQ,CACZG,MAAM,CAAEV,OAAO,IAAK;IACnB,MAAM6B,MAAM,GAAG7B,OAAO,EAAEqB,OAAO,EAAEQ,MAAM;IACvC,IAAI,CAACA,MAAM,EAAE;MAAC,OAAO,IAAI;IAAC;IAC1B,IAAII,OAAO,CAAC5B,GAAG,CAACwB,MAAM,CAAC,EAAE;MAAC,OAAO,KAAK;IAAC;IACvCI,OAAO,CAACC,GAAG,CAACL,MAAM,CAAC;IACnB,OAAO,IAAI;EACb,CAAC,CAAC,CACDM,GAAG,CAAEnC,OAAO,IAAK;IAChB,MAAM6B,MAAM,GAAG7B,OAAO,EAAEqB,OAAO,EAAEQ,MAAM;IACvC,OAAOA,MAAM,GAAGH,QAAQ,CAACK,GAAG,CAACF,MAAM,CAAC,IAAI7B,OAAO,GAAGA,OAAO;EAC3D,CAAC,CAAC;AACN,CAAC;AAED,MAAMoC,iBAAiB,GAAI7B,QAAoB,IAAW;EACxD;EACA;EACA,OAAOA,QAAQ,CAAC8B,MAAM,GAAG1C,qBAAqB,EAAE;IAC9CY,QAAQ,CAAC+B,KAAK,CAAC,CAAC;EAClB;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,qBAAqBA,CAC5BT,QAAgC,EAChCU,OAA+B,EACnB;EACZ;EACA;EACA;EACA,MAAMC,EAAE,GAAGnC,gBAAgB,CAACwB,QAAQ,CAAC;EACrC,MAAMY,EAAE,GAAGpC,gBAAgB,CAACkC,OAAO,CAAC;EAEpC,MAAMG,YAAY,GAAGF,EAAE,CAAC/B,MAAM,CAC3BkC,CAAC,IAAKA,CAAC,IAAI,CAACA,CAAC,CAACC,OAAO,IAAID,CAAC,CAAChC,EAAE,KAAK,eACrC,CAAC;EACD,MAAMkC,WAAW,GAAGJ,EAAE,CAAChC,MAAM,CAAEkC,CAAC,IAAKA,CAAC,IAAIA,CAAC,CAAChC,EAAE,KAAK,eAAe,CAAC;;EAEnE;EACA,IAAIkC,WAAW,CAACT,MAAM,KAAK,CAAC,EAAE;IAAC,OAAOI,EAAE;EAAC;;EAEzC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMM,WAAW,GAAG,IAAIjD,GAAG,CAAS,CAAC;EACrC,KAAK,MAAM8C,CAAC,IAAIE,WAAW,EAAE;IAC3B,IAAIF,CAAC,EAAEhC,EAAE,IAAI,IAAI,EAAE;MAACmC,WAAW,CAACb,GAAG,CAAChC,MAAM,CAAC0C,CAAC,CAAChC,EAAE,CAAC,CAAC;IAAC;IAClD,IAAKgC,CAAC,EAAUrB,MAAM,EAAE;MAACwB,WAAW,CAACb,GAAG,CAAChC,MAAM,CAAE0C,CAAC,CAASrB,MAAM,CAAC,CAAC;IAAC;EACtE;EACA,MAAMsB,OAAO,GAAGJ,EAAE,CAAC/B,MAAM,CACtBkC,CAAC,IACAA,CAAC,EAAEC,OAAO,IACV,CAACE,WAAW,CAAC1C,GAAG,CAACH,MAAM,CAAC0C,CAAC,CAAChC,EAAE,CAAC,CAAC,IAC9B,EAAEgC,CAAC,CAACrB,MAAM,IAAIwB,WAAW,CAAC1C,GAAG,CAACH,MAAM,CAAC0C,CAAC,CAACrB,MAAM,CAAC,CAAC,CACnD,CAAC;EAED,MAAMyB,IAAI,GAAGA,CAACjC,CAAW,EAAEC,CAAW,KACpC,IAAAiC,4BAAa,EAAClC,CAAC,CAAC,GAAG,IAAAkC,4BAAa,EAACjC,CAAC,CAAC;EACrC,MAAMkC,OAAO,GAAIC,GAAe,IAC9BA,GAAG,CAACd,MAAM,GAAG1C,qBAAqB,GAC9BwD,GAAG,CAACC,KAAK,CAAC,CAACzD,qBAAqB,CAAC,GACjCwD,GAAG;EAET,MAAME,WAAW,GAAG,IAAIvD,GAAG,CAAC6C,YAAY,CAACR,GAAG,CAAES,CAAC,IAAK1C,MAAM,CAAC0C,CAAC,CAAChC,EAAE,CAAC,CAAC,CAAC;EAClE,MAAM0C,QAAQ,GAAGR,WAAW,CAACS,IAAI,CAAEX,CAAC,IAAKS,WAAW,CAAChD,GAAG,CAACH,MAAM,CAAC0C,CAAC,CAAChC,EAAE,CAAC,CAAC,CAAC;;EAEvE;EACA,IAAI+B,YAAY,CAACN,MAAM,KAAK,CAAC,IAAI,CAACiB,QAAQ,EAAE;IAC1C,OAAO,CACL,GAAGJ,OAAO,CAACzB,yBAAyB,CAACqB,WAAW,CAACM,KAAK,CAAC,CAAC,CAACI,IAAI,CAACR,IAAI,CAAC,CAAC,CAAC,EACrE,GAAGH,OAAO,CACX;EACH;;EAEA;EACA;EACA,MAAMY,IAAI,GAAG,IAAI9B,GAAG,CAAmB,CAAC;EACxC,KAAK,MAAMiB,CAAC,IAAID,YAAY,EAAE;IAACc,IAAI,CAACzB,GAAG,CAAC9B,MAAM,CAAC0C,CAAC,CAAChC,EAAE,CAAC,EAAEgC,CAAC,CAAC;EAAC;EACzD,KAAK,MAAMA,CAAC,IAAIE,WAAW,EAAE;IAC3B;IACA;IACA;IACA;IACA,MAAMY,IAAI,GAAGD,IAAI,CAAC1B,GAAG,CAAC7B,MAAM,CAAC0C,CAAC,CAAChC,EAAE,CAAC,CAAC;IACnC6C,IAAI,CAACzB,GAAG,CACN9B,MAAM,CAAC0C,CAAC,CAAChC,EAAE,CAAC,EACZ8C,IAAI,EAAEC,QAAQ,IAAI,CAACf,CAAC,CAACe,QAAQ,GAAG;MAAE,GAAGf,CAAC;MAAEe,QAAQ,EAAE;IAAK,CAAC,GAAGf,CAC7D,CAAC;EACH;EACA,MAAMgB,MAAM,GAAGnC,yBAAyB,CACtCjB,KAAK,CAACqD,IAAI,CAACJ,IAAI,CAACK,MAAM,CAAC,CAAC,CAAC,CAACN,IAAI,CAACR,IAAI,CACrC,CAAC;EACD,OAAO,CAAC,GAAGE,OAAO,CAACU,MAAM,CAAC,EAAE,GAAGf,OAAO,CAAC;AACzC;AAuDA,MAAMkB,YAA+B,GAAG;EACtCC,KAAK,EAAE,CAAC,CAAC;EACTC,aAAa,EAAE,IAAI;EACnBC,cAAc,EAAE,IAAI;EACpBC,SAAS,EAAE,KAAK;EAChBC,eAAe,EAAE,KAAK;EACtBC,UAAU,EAAE;IACVC,MAAM,EAAE,KAAK;IACbC,OAAO,EAAE,EAAE;IACXC,SAAS,EAAE,EAAE;IACbC,IAAI,EAAE;EACR,CAAC;EACDC,sBAAsB,EAAE,IAAI;EAC5BC,mBAAmB,EAAE,CAAC,CAAC;EACvBC,cAAc,EAAE,CAAC;AACnB,CAAC;AAED,MAAMC,cAAc,GAAIC,GAAY,IAAoB;EACtD,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,CAACA,GAAG,EAAE,OAAO,KAAK;EACjD,IAAI,CAACA,GAAG,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK;EACpC,OAAO,IAAI;AACb,CAAC;AAEM,MAAMC,aAAa,GAAApF,OAAA,CAAAoF,aAAA,GAAG,IAAAC,yBAAgB,EAC3C,4BAA4B,EAC5B,OACE;EAAEC,IAAI;EAAEC,IAAI,EAAEC;AAAyC,CAAC,EACxD;EAAEC;AAAS,CAAC,KACT;EACH,IAAI,CAACH,IAAI,IAAI,CAACA,IAAI,CAACJ,GAAG,EAAE;EACxBO,QAAQ,CAACC,UAAU,CAACC,OAAO,CAACC,cAAc,CAAC;IAAEN;EAAK,CAAC,CAAC,CAAC;AACvD,CACF,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMO,QAAQ,GAAG;EACfC,OAAOA,CAACC,KAAuC,EAAEC,MAA0C,EAAE;IACzF,MAAM;MAAEC;IAAS,CAAC,GAAGD,MAAM,CAACE,OAAO;IACnC,MAAMhE,QAAQ,GAAG6D,KAAK,CAAC3B,KAAK,CAAC6B,QAAQ,CAACf,GAAG,CAAC;IAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAIiB,UAAkB;IACtB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMC,YAAY,GAAGL,KAAK,CAAChB,mBAAmB,GAAGkB,QAAQ,CAACf,GAAG,CAAC,IAAI,CAAC;IACnE,IAAIe,QAAQ,CAACI,mBAAmB,IAAI,IAAI,IAAIJ,QAAQ,CAACI,mBAAmB,KAAK,CAAC,EAAE;MAC9EF,UAAU,GAAGF,QAAQ,CAACI,mBAAmB;IAC3C,CAAC,MAAM,IAAInE,QAAQ,EAAEmE,mBAAmB,IAAI,IAAI,IAAInE,QAAQ,CAACmE,mBAAmB,GAAG,CAAC,EAAE;MACpFF,UAAU,GAAGjE,QAAQ,CAACmE,mBAAmB;IAC3C,CAAC,MAAM,IAAID,YAAY,GAAG,CAAC,EAAE;MAC3BD,UAAU,GAAGC,YAAY;IAC3B,CAAC,MAAM;MACL,MAAME,IAAI,GAAGL,QAAQ,CAACtF,QAAQ,IAAI,EAAE;MACpC,IAAI4F,MAAM,GAAG,CAAC;MACd,KAAK,MAAMvD,CAAC,IAAIsD,IAAI,EAAE;QACpB,MAAME,CAAC,GAAIxD,CAAC,EAAUyD,kBAAkB,KACrCzD,CAAC,EAAEpB,IAAI,GAAG,IAAI8E,IAAI,CAAC1D,CAAC,CAACpB,IAAI,CAAC,CAAC+E,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAIH,CAAC,GAAGD,MAAM,EAAE;UAACA,MAAM,GAAGC,CAAC;QAAC;MAC9B;MACAL,UAAU,GAAGI,MAAM,CAAC,CAAC;IACvB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMK,gBAAgB,GAAGhG,KAAK,CAACC,OAAO,CAACoF,QAAQ,CAACtF,QAAQ,CAAC,GACrDsF,QAAQ,CAACtF,QAAQ,GACjB,EAAE;IACN,MAAMkG,gBAAgB,GAAGjG,KAAK,CAACC,OAAO,CAACqB,QAAQ,EAAEvB,QAAQ,CAAC,GACtDuB,QAAQ,CAAEvB,QAAQ,GAClB,EAAE;IACNoF,KAAK,CAAC3B,KAAK,CAAC6B,QAAQ,CAACf,GAAG,CAAC,GAAG;MAC1B,GAAGe,QAAQ;MACXa,IAAI,EAAEb,QAAQ,CAACa,IAAI,KAAKC,SAAS,GAAGd,QAAQ,CAACa,IAAI,GAAG5E,QAAQ,EAAE4E,IAAI;MAClEE,MAAM,EAAEf,QAAQ,CAACe,MAAM,KAAKD,SAAS,GAAGd,QAAQ,CAACe,MAAM,GAAG9E,QAAQ,EAAE8E,MAAM;MAC1ErG,QAAQ,EACNkG,gBAAgB,CAACpE,MAAM,GAAG,CAAC,GAAGoE,gBAAgB,GAAGD,gBAAgB;MACnEP,mBAAmB,EAAEF,UAAU;MAC/Bc,cAAc,EACZhB,QAAQ,CAACgB,cAAc,IAAI/E,QAAQ,EAAE+E,cAAc,IAAI,CAAC;MAC1DC,uBAAuB,EACrBhF,QAAQ,EAAEgF,uBAAuB,IACjChF,QAAQ,EAAEmE,mBAAmB,IAC5BJ,QAAQ,CAASiB,uBAAuB,IACzC;IACJ,CAAC;EACH,CAAC;EACDC,UAAUA,CAACpB,KAAuC,EAAEC,MAAsC,EAAE;IAC1F,MAAM;MAAEd;IAAI,CAAC,GAAGc,MAAM,CAACE,OAAO;IAC9B,IAAIH,KAAK,CAAC3B,KAAK,CAACc,GAAG,CAAC,EAAE;MACpB,OAAOa,KAAK,CAAC3B,KAAK,CAACc,GAAG,CAAC;MACvB,IAAIa,KAAK,CAACzB,cAAc,KAAKY,GAAG,EAAE;QAChCa,KAAK,CAACzB,cAAc,GAAG,IAAI;MAC7B;IACF;EACF,CAAC;EACD8C,UAAUA,CACRrB,KAAuC,EACvCC,MAA+D,EAC/D;IACA,MAAM;MAAEd,GAAG;MAAEmC;IAAQ,CAAC,GAAGrB,MAAM,CAACE,OAAO;IACvC,MAAMoB,YAAY,GAAGvB,KAAK,CAAC3B,KAAK,CAACc,GAAG,CAAC;IAErC,IAAIoC,YAAY,EAAE;MAChBvB,KAAK,CAAC3B,KAAK,CAACc,GAAG,CAAC,GAAG;QACjB,GAAGoC,YAAY;QACf,GAAGD;MACL,CAAC;IACH;EACF,CAAC;EACDE,eAAeA,CACbxB,KAAuC,EACvCC,MAAgE,EAChE;IACA,MAAM;MAAEwB,OAAO;MAAE7G;IAAS,CAAC,GAAGqF,MAAM,CAACE,OAAO;IAC5C,IAAIH,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC,EAAE;MACxB;MACA;MACA;MACA,MAAMC,MAAM,GACV9G,QAAQ,CAAC8B,MAAM,GAAG1C,qBAAqB,GACnCY,QAAQ,CAAC6C,KAAK,CAAC,CAACzD,qBAAqB,CAAC,GACtCY,QAAQ;MACdoF,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC,CAAC7G,QAAQ,GAAG8G,MAAM;IACxC;EACF,CAAC;EACDC,iBAAiBA,CACf3B,KAAuC,EACvCC,MAA6D,EAC7D;IACA,MAAM;MAAEwB,OAAO;MAAE5C;IAAU,CAAC,GAAGoB,MAAM,CAACE,OAAO;IAC7C,MAAMZ,IAAI,GAAGS,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC;IACjC,IAAI,CAAClC,IAAI,EAAE3E,QAAQ,EAAE;MAAC;IAAO;IAC7B;IACA;IACA;IACA;IACA;IACA,IAAIiE,SAAS,KAAK,eAAe,EAAE;MACjC,MAAM+C,GAAG,GAAGrC,IAAI,CAAC3E,QAAQ,CAACiH,SAAS,CAAE5E,CAAC,IAAKA,CAAC,CAAChC,EAAE,KAAK,eAAe,CAAC;MACpE,IAAI2G,GAAG,KAAK,CAAC,CAAC,EAAE;QAACrC,IAAI,CAAC3E,QAAQ,CAACkH,MAAM,CAACF,GAAG,EAAE,CAAC,CAAC;MAAC;MAC9C;IACF;IACArC,IAAI,CAAC3E,QAAQ,CAAC4B,GAAG,CAAEnC,OAAO,IAAK;MAC7B,IAAIA,OAAO,CAACY,EAAE,KAAK4D,SAAS,EAAE;QAC5BxE,OAAO,CAAC0H,SAAS,GAAG,IAAI;MAC1B;IACF,CAAC,CAAC;EACJ,CAAC;EACDC,aAAa,EAAEA,CAAChC,KAAuC,EAAEC,MAA6C,KAAK;IACzG,IAAIA,MAAM,CAACE,OAAO,EAAExB,MAAM,EAAE;MAC1BqB,KAAK,CAACtB,UAAU,GAAGuB,MAAM,CAACE,OAAO;IACnC,CAAC,MAAM;MACLH,KAAK,CAACtB,UAAU,GAAG;QACjBC,MAAM,EAAE,KAAK;QACbC,OAAO,EAAE,EAAE;QACXC,SAAS,EAAE,EAAE;QACbC,IAAI,EAAE;MACR,CAAC;IACH;EACF,CAAC;EACDmD,eAAeA,CACbjC,KAAuC,EACvCC,MAIE,EACF;IACA,MAAM;MAAEwB,OAAO;MAAE5C,SAAS;MAAEC;IAAK,CAAC,GAAGmB,MAAM,CAACE,OAAO;IACnD,IAAIH,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC,EAAE;MACxBzB,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC,CAAC7G,QAAQ,CAAC4B,GAAG,CAAEnC,OAAO,IAAK;QAC7C,IAAIA,OAAO,CAACY,EAAE,KAAK4D,SAAS,EAAE;UAC5BxE,OAAO,CAACC,IAAI,GAAGwE,IAAI;UACnB;UACA;UACA;UACAzE,OAAO,CAAC2D,QAAQ,GAAG,IAAI;QACzB;MACF,CAAC,CAAC;IACJ;EACF,CAAC;EACDkE,cAAcA,CACZlC,KAAuC,EACvCC,MAIE,EACF;IACA,MAAM;MAAEwB,OAAO;MAAEpH,OAAO;MAAE8H;IAAM,CAAC,GAAGlC,MAAM,CAACE,OAAO;;IAElD;IACA;IACA;IACA;IACA,IAAI/F,mBAAmB,CAACC,OAAO,CAAC,EAAE;MAChC;IACF;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,CAAC2F,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC,EAAE;MACzB;IACF;IAEA,IAAI,CAACzB,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC,CAAC7G,QAAQ,EAAE;MAClCoF,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC,CAAC7G,QAAQ,GAAG,EAAE;IACpC;IAEA,MAAMwH,YAAY,GAAGpC,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC,CAAC7G,QAAQ;;IAElD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMyH,eAAe,GAAGhI,OAAO,CAACqB,OAAO;IACvC,IAAI2G,eAAe,EAAEnG,MAAM,EAAE;MAC3B,MAAMoG,eAAe,GAAGF,YAAY,CAACP,SAAS,CAC3CU,GAAG,IAAKA,GAAG,CAAC7G,OAAO,EAAEQ,MAAM,KAAKmG,eAAe,CAACnG,MACnD,CAAC;MACD,IAAIoG,eAAe,KAAK,CAAC,CAAC,EAAE;QAC1B,MAAMnG,QAAQ,GAAGiG,YAAY,CAACE,eAAe,CAAC;QAC9C,MAAMrE,MAAM,GAAG9C,mBAAmB,CAACgB,QAAQ,EAAc9B,OAAO,CAAC;QACjE,IAAI4D,MAAM,KAAM9B,QAAqB,EAAE;UACrCiG,YAAY,CAACE,eAAe,CAAC,GAAGrE,MAAM;QACxC;QACA;MACF;IACF;IAEA,MAAMuE,YAAY,GAAGJ,YAAY,CAAC1F,MAAM;IAExC,IAAI0F,YAAY,CAAC1F,MAAM,KAAK,CAAC,IAAIyF,KAAK,EAAE;MACtCC,YAAY,CAACK,OAAO,CAACpI,OAAO,CAAC;IAC/B,CAAC,MAAM;MACL,MAAMqI,eAAe,GAAG1C,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC,CAACnB,mBAAmB;MAChE,MAAMA,mBAAmB,GACvBN,KAAK,CAACzB,cAAc,KAAKkD,OAAO,GAC5B,IAAI,GACJiB,eAAe,GACbA,eAAe,GACf,IAAI;MAEZ,IAAAC,sDAA0B,EAACP,YAAY,EAAE/H,OAAO,EAAEiG,mBAAmB,CAAC;IACxE;;IAEA;IACA;IACA;IACA;IACA,IAAI8B,YAAY,CAAC1F,MAAM,GAAG8F,YAAY,EAAE;MACtC/F,iBAAiB,CAAC2F,YAAY,CAAC;IACjC;EACF,CAAC;EACDQ,cAAcA,CAAC5C,KAAuC,EAAE;IACtDA,KAAK,CAAC3B,KAAK,GAAG,CAAC,CAAC;IAChB2B,KAAK,CAACzB,cAAc,GAAG,IAAI;IAC3ByB,KAAK,CAAChB,mBAAmB,GAAG,CAAC,CAAC;IAC9BgB,KAAK,CAACf,cAAc,GAAG,CAAC,CAAC;IACzBe,KAAK,CAACvB,eAAe,GAAG,KAAK;EAC/B,CAAC;EACDoE,YAAYA,CACV7C,KAAuC,EACvCC,MAIE,EACF;IACA,MAAM;MAAE6C,OAAO;MAAEC,SAAS;MAAEC;IAAc,CAAC,GAAG/C,MAAM,CAACE,OAAO;IAC5DH,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAACC,SAAS,GAAGA,SAAS;IAC1C/C,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAACE,aAAa,GAAGA,aAAa;EACpD,CAAC;EACDC,YAAY,EAAEA,CACZjD,KAAuC,EACvCC,MAAmF,KAChF;IACH,MAAM;MAAE6C,OAAO;MAAEI,OAAO;MAAEC;IAAY,CAAC,GAAGlD,MAAM,CAACE,OAAO;IACxD,IAAI2C,OAAO,IAAI9C,KAAK,CAAC3B,KAAK,GAAGyE,OAAO,CAAC,EAAE;MACrC9C,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAACtE,SAAS,GAAG0E,OAAO;IAC1C;IACAlD,KAAK,CAACxB,SAAS,GAAG0E,OAAO;IACzBlD,KAAK,CAACmD,WAAW,GAAGA,WAAW;EACjC,CAAC;EACDC,gBAAgB,EAAEA,CAChBpD,KAAuC,EACvCC,MAA8B,KAC3B;IACHD,KAAK,CAACvB,eAAe,GAAGwB,MAAM,CAACE,OAAO;EACxC,CAAC;EACDkD,sBAAsB,EAAEA,CACtBrD,KAAuC,EACvCC,MAA6D,KAC1D;IACH,MAAM;MAAE6C,OAAO;MAAEQ;IAAU,CAAC,GAAGrD,MAAM,CAACE,OAAO;IAC7C,IAAIH,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,EAAE;MACxB9C,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAACxC,mBAAmB,GAAGgD,SAAS;MACpD;MACA;MACA;MACA;MACA;MACA,IAAI,EAAEA,SAAS,GAAG,CAAC,CAAC,EAAE;QACpBtD,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAAC5B,cAAc,GAAG,CAAC;MACzC,CAAC,MAAM;QACLlB,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAAC5B,cAAc,GAAGqC,kBAAkB,CACtDvD,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAAClI,QAAQ,EAC7B0I,SACF,CAAC;MACH;IACF;EACF,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACIE,wBAAwB,EAAEA,CACxBxD,KAAuC,EACvCC,MAA6C,KAC1C;IACH,MAAMwD,OAAO,GAAGxD,MAAM,CAACE,OAAO;IAC9B,IAAI,CAACsD,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MAAC;IAAO;IACrD,IAAI,CAACzD,KAAK,CAAChB,mBAAmB,EAAE;MAACgB,KAAK,CAAChB,mBAAmB,GAAG,CAAC,CAAC;IAAC;IAChE,KAAK,MAAMG,GAAG,IAAIuE,MAAM,CAACC,IAAI,CAACF,OAAO,CAAC,EAAE;MACtC,MAAMG,EAAE,GAAGC,MAAM,CAACJ,OAAO,CAACtE,GAAG,CAAC,CAAC;MAC/B,IAAI,CAACA,GAAG,IAAI,CAAC0E,MAAM,CAACC,QAAQ,CAACF,EAAE,CAAC,IAAIA,EAAE,IAAI,CAAC,EAAE;QAAC;MAAS;MAEvD,MAAMrE,IAAI,GAAGS,KAAK,CAAC3B,KAAK,CAACc,GAAG,CAAC;MAC7B,MAAM4E,aAAa,GAAGxE,IAAI,GAAGyE,oBAAoB,CAACzE,IAAI,CAAC3E,QAAQ,CAAC,GAAG,CAAC;MACpE;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,MAAMqJ,KAAK,GAAGtD,IAAI,CAACuD,GAAG,CAAC,CAAC;MACxB,MAAMC,YAAY,GAAIhI,QAAgB,IACpC4H,aAAa,GAAG,CAAC,IACjB5H,QAAQ,GAAG4H,aAAa,GAAGK,0BAA0B,IACrDjI,QAAQ,GAAG8H,KAAK,GAAGG,0BAA0B;;MAE/C;MACA;MACA,MAAMC,YAAY,GAAGrE,KAAK,CAAChB,mBAAmB,CAACG,GAAG,CAAC,IAAI,CAAC;MACxD,IAAIyE,EAAE,GAAGS,YAAY,IAAIF,YAAY,CAACE,YAAY,CAAC,EAAE;QACnDrE,KAAK,CAAChB,mBAAmB,CAACG,GAAG,CAAC,GAAGyE,EAAE;MACrC;MACA;MACA;MACA;MACA,IAAIrE,IAAI,KAAKqE,EAAE,IAAIrE,IAAI,CAACe,mBAAmB,IAAI,CAAC,CAAC,IAAI6D,YAAY,CAAC5E,IAAI,CAACe,mBAAmB,IAAI,CAAC,CAAC,CAAC,EAAE;QACjGf,IAAI,CAACe,mBAAmB,GAAGsD,EAAE;QAC7BrE,IAAI,CAAC2B,cAAc,GAAGqC,kBAAkB,CAAChE,IAAI,CAAC3E,QAAQ,EAAEgJ,EAAE,CAAC;MAC7D;IACF;EACF,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;EACIU,eAAe,EAAEA,CACftE,KAAuC,EACvCC,MAAyD,KACtD;IACH,MAAM;MAAEd,GAAG;MAAEyE;IAAG,CAAC,GAAG3D,MAAM,CAACE,OAAO;IAClC,IAAI,CAAChB,GAAG,EAAE;MAAC;IAAO;IAClB,IAAI,CAACa,KAAK,CAACf,cAAc,EAAE;MAACe,KAAK,CAACf,cAAc,GAAG,CAAC,CAAC;IAAC;IACtD,IAAI,OAAO2E,EAAE,KAAK,QAAQ,IAAIC,MAAM,CAACC,QAAQ,CAACF,EAAE,CAAC,IAAIA,EAAE,GAAG,CAAC,EAAE;MAC3D5D,KAAK,CAACf,cAAc,CAACE,GAAG,CAAC,GAAGyE,EAAE;IAChC,CAAC,MAAM;MACL,OAAO5D,KAAK,CAACf,cAAc,CAACE,GAAG,CAAC;IAClC;EACF,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;EACIoF,iBAAiB,EAAEA,CACjBvE,KAAuC,EACvCC,MAAsC,KACnC;IACH,MAAM;MAAEd;IAAI,CAAC,GAAGc,MAAM,CAACE,OAAO;IAC9B,IAAIhB,GAAG,IAAIa,KAAK,CAACf,cAAc,EAAE;MAAC,OAAOe,KAAK,CAACf,cAAc,CAACE,GAAG,CAAC;IAAC;EACrE,CAAC;EACDqF,WAAW,EAAEA,CACXxE,KAAuC,EACvCC,MAAwD,KACrD;IACH,MAAM;MAAE6C,OAAO;MAAE2B;IAAK,CAAC,GAAGxE,MAAM,CAACE,OAAO;IACxC,IAAIH,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,EAAE;MACxB9C,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAAC2B,IAAI,GAAGA,IAAI;IAClC;EACF,CAAC;EACDC,iBAAiB,EAAEA,CACjB1E,KAAuC,EACvCC,MAA2D,KACxD;IACH,MAAM;MAAE0E,KAAK;MAAE7B;IAAQ,CAAC,GAAG7C,MAAM,CAACE,OAAO;IACzC,IAAI2C,OAAO,EAAE;MACX9C,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAAC8B,UAAU,GAAGD,KAAK;IACzC;EACF,CAAC;EACDE,cAAc,EAAEA,CACd7E,KAAuC,EACvCC,MAAiD,KAC9C;IACH;IACA;IACAD,KAAK,CAAC1B,aAAa,GAAG2B,MAAM,CAACE,OAAO,CAACsB,OAAO,IAAI,EAAE;EACpD,CAAC;EACDqD,cAAc,EAAEA,CACd9E,KAAuC,EACvCC,MAAiD,KAC9C;IACHD,KAAK,CAACzB,cAAc,GAAG0B,MAAM,CAACE,OAAO,CAACsB,OAAO,IAAI,IAAI;IACrD,MAAMtC,GAAG,GAAGa,KAAK,CAACzB,cAAc;IAChC,IAAIY,GAAG,IAAIa,KAAK,CAAC3B,KAAK,CAACc,GAAG,CAAC,EAAE;MAC3Ba,KAAK,CAAC3B,KAAK,CAACc,GAAG,CAAC,CAAC+B,cAAc,GAAG,CAAC;IACrC;EACF,CAAC;EACD6D,gBAAgB,EAAG/E,KAAuC,IAAK;IAC7D,MAAMb,GAAG,GAAGa,KAAK,CAACzB,cAAc;IAChCyB,KAAK,CAACzB,cAAc,GAAG,IAAI;IAE3B,IAAIY,GAAG,IAAIa,KAAK,CAAC3B,KAAK,CAACc,GAAG,CAAC,EAAE;MAC3B,MAAMI,IAAI,GAAGS,KAAK,CAAC3B,KAAK,CAACc,GAAG,CAAC;MAC7B,MAAMsB,CAAC,GAAGlB,IAAI,CAACe,mBAAmB,IAAI,CAAC;MACvCf,IAAI,CAAC2B,cAAc,GAAGT,CAAC,GAAG,CAAC,GAAG8C,kBAAkB,CAAChE,IAAI,CAAC3E,QAAQ,EAAE6F,CAAC,CAAC,GAAG,CAAC;IACxE;EACF,CAAC;EACD;AACJ;AACA;AACA;AACA;EACIuE,yBAAyB,EAAEA,CACzBhF,KAAuC,EACvCC,MAAoC,KACjC;IACHD,KAAK,CAACjB,sBAAsB,GAAGkB,MAAM,CAACE,OAAO;EAC/C,CAAC;EACD8E,2BAA2B,EAAGjF,KAAuC,IAAK;IACxEA,KAAK,CAACjB,sBAAsB,GAAG,IAAI;EACrC,CAAC;EACD;AACJ;AACA;AACA;AACA;EACImG,YAAY,EAAEA,CACZlF,KAAuC,EACvCC,MAOE,KACC;IACH,MAAM;MAAEwB,OAAO;MAAE5C,SAAS;MAAEsG;IAAU,CAAC,GAAGlF,MAAM,CAACE,OAAO;IACxD,MAAMZ,IAAI,GAAGS,KAAK,CAAC3B,KAAK,CAACoD,OAAO,CAAC;IACjC,IAAI,CAAClC,IAAI,EAAE3E,QAAQ,EAAE;MAAC;IAAO;IAC7B,KAAK,MAAM2H,GAAG,IAAIhD,IAAI,CAAC3E,QAAQ,EAAE;MAC/B,IAAI2H,GAAG,EAAEtH,EAAE,KAAK4D,SAAS,EAAE;QACxB0D,GAAG,CAAS4C,SAAS,GAAGA,SAAS;QAClC;MACF;IACF;EACF,CAAC;EACDC,cAAc,EAAGpF,KAAuC,IAAK;IAC3DA,KAAK,CAAC3B,KAAK,GAAG,CAAC,CAAC;IAChB2B,KAAK,CAAC1B,aAAa,GAAG,IAAI;IAC1B0B,KAAK,CAACzB,cAAc,GAAG,IAAI;IAC3ByB,KAAK,CAACxB,SAAS,GAAG,KAAK;IACvBwB,KAAK,CAACvB,eAAe,GAAG,KAAK;IAC7BuB,KAAK,CAAChB,mBAAmB,GAAG,CAAC,CAAC;IAC9BgB,KAAK,CAACf,cAAc,GAAG,CAAC,CAAC;EAC3B,CAAC;EACDoG,gBAAgB,EAAEA,CAChBrF,KAAuC,EACvCC,MAAsD,KACnD;IACH,MAAM;MAAEhF,EAAE;MAAE6H;IAAQ,CAAC,GAAG7C,MAAM,CAACE,OAAO;IAEtCH,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAAClI,QAAQ,CAAC4B,GAAG,CAAEnC,OAAO,IAAK;MAC7C,IAAIA,OAAO,CAACY,EAAE,KAAKA,EAAE,EAAE;QACrBZ,OAAO,CAACiL,aAAa,GAAG,IAAI;MAC9B,CAAC,MAAM;QACLjL,OAAO,CAACiL,aAAa,GAAG,KAAK;MAC/B;IACF,CAAC,CAAC;EACJ,CAAC;EACDC,qBAAqB,EAAEA,CACrBvF,KAAuC,EACvCC,MAA0C,KACvC;IACH,MAAM;MAAE6C;IAAQ,CAAC,GAAG7C,MAAM,CAACE,OAAO;IAElCH,KAAK,CAAC3B,KAAK,CAACyE,OAAO,CAAC,CAAClI,QAAQ,CAAC4B,GAAG,CAAEnC,OAAO,IAAK;MAC7CA,OAAO,CAACiL,aAAa,GAAG,KAAK;IAC/B,CAAC,CAAC;EACJ,CAAC;EACD;AACJ;AACA;AACA;AACA;EACIzF,cAAc,EAAEA,CAACG,KAAuC,EAAEC,MAAsC,KAAK;IACnG,MAAM;MAAEV;IAAK,CAAC,GAAGU,MAAM,CAACE,OAAO;IAC/B,IAAI,CAACjB,cAAc,CAACK,IAAI,EAAEJ,GAAG,CAAC,EAAE;IAChC,MAAMhD,QAAQ,GAAG6D,KAAK,CAAC3B,KAAK,CAACkB,IAAI,CAACJ,GAAG,CAAC;IACtC,MAAM0B,gBAAgB,GAAGhG,KAAK,CAACC,OAAO,CAACyE,IAAI,CAAC3E,QAAQ,CAAC,GACjD2E,IAAI,CAAC3E,QAAQ,GACb,EAAE;IACN,MAAMkG,gBAAgB,GAAGjG,KAAK,CAACC,OAAO,CAACqB,QAAQ,EAAEvB,QAAQ,CAAC,GACtDuB,QAAQ,CAAEvB,QAAQ,GAClB,EAAE;IACNoF,KAAK,CAAC3B,KAAK,CAACkB,IAAI,CAACJ,GAAG,CAAC,GAAG;MACtB,GAAGhD,QAAQ;MACX,GAAGoD,IAAI;MACPiG,KAAK,EAAEjG,IAAI,CAACiG,KAAK,IAAIrJ,QAAQ,EAAEqJ,KAAK,IAAIjG,IAAI,CAACiG,KAAK;MAClDC,QAAQ,EAAE,CAAC,MAAM;QACf,MAAMC,QAAQ,GACZ,OAAOnG,IAAI,CAACkG,QAAQ,KAAK,QAAQ,IAAIlG,IAAI,CAACkG,QAAQ,GAAG,CAAC,GAClDlG,IAAI,CAACkG,QAAQ,GACb,CAAC;QACP,MAAME,QAAQ,GACZ,OAAOxJ,QAAQ,EAAEsJ,QAAQ,KAAK,QAAQ,IAAItJ,QAAQ,CAACsJ,QAAQ,GAAG,CAAC,GAC3DtJ,QAAQ,CAACsJ,QAAQ,GACjB,CAAC;QACP,IAAIC,QAAQ,KAAK,CAAC,IAAIC,QAAQ,KAAK,CAAC,EAAE,OAAOpG,IAAI,CAACkG,QAAQ;QAC1D,OAAOG,IAAI,CAACC,GAAG,CAACH,QAAQ,EAAEC,QAAQ,CAAC;MACrC,CAAC,EAAE,CAAC;MACJ5E,IAAI,EAAExB,IAAI,CAACwB,IAAI,IAAI5E,QAAQ,EAAE4E,IAAI;MACjCnG,QAAQ,EACNkG,gBAAgB,CAACpE,MAAM,GAAG,CAAC,GAAGoE,gBAAgB,GAAGD,gBAAgB;MACnEK,cAAc,EAAE/E,QAAQ,EAAE+E,cAAc,IAAI3B,IAAI,CAAC2B,cAAc,IAAI,CAAC;MACpEZ,mBAAmB,EACjBnE,QAAQ,EAAEmE,mBAAmB,IAAIf,IAAI,CAACe,mBAAmB,IAAI,CAAC;MAChEa,uBAAuB,EACrBhF,QAAQ,EAAEgF,uBAAuB,IACjChF,QAAQ,EAAEmE,mBAAmB,IAC7Bf,IAAI,CAAC4B,uBAAuB,IAC5B5B,IAAI,CAACe,mBAAmB,IACxB,CAAC;MACH0C,aAAa,EAAE7G,QAAQ,EAAE6G,aAAa,IAAIzD,IAAI,CAACyD,aAAa;MAC5DD,SAAS,EAAE5G,QAAQ,EAAE4G,SAAS,IAAIxD,IAAI,CAACwD,SAAS;MAChD+C,YAAY,EAAE3J,QAAQ,EAAE2J,YAAY,IAAIvG,IAAI,CAACuG,YAAY,IAAI,KAAK;MAClEC,mBAAmB,EACjB5J,QAAQ,EAAE4J,mBAAmB,IAAIxG,IAAI,CAACwG,mBAAmB,IAAI,MAAM;MACrEC,YAAY,EAAE7J,QAAQ,EAAE6J,YAAY,IAAIzG,IAAI,CAACyG,YAAY;MACzDC,eAAe,EAAE9J,QAAQ,EAAE8J,eAAe,IAAI1G,IAAI,CAAC0G;IACrD,CAAC;EACH,CAAC;EACDC,sBAAsB,EAAEA,CACtBlG,KAAuC,EACvCC,MAAoD,KACjD;IACH,MAAM;MAAE5B;IAAM,CAAC,GAAG4B,MAAM,CAACE,OAAO;IAChC,KAAK,MAAMgG,KAAK,IAAI9H,KAAK,EAAE;MACzB,MAAMkB,IAAI,GAAGS,KAAK,CAAC3B,KAAK,CAAC8H,KAAK,CAAChH,GAAG,CAAC;MACnC,IAAI,CAACI,IAAI,EAAE;QAAC;MAAS;MACrB,IAAI,OAAO4G,KAAK,CAACJ,mBAAmB,KAAK,WAAW,EAAE;QACpDxG,IAAI,CAACwG,mBAAmB,GAAGI,KAAK,CAACJ,mBAAmB;MACtD;MACA,IAAI,OAAOI,KAAK,CAACL,YAAY,KAAK,WAAW,EAAE;QAC7CvG,IAAI,CAACuG,YAAY,GAAGK,KAAK,CAACL,YAAY;MACxC;MACA,IAAI,OAAOK,KAAK,CAACF,eAAe,KAAK,WAAW,EAAE;QAChD1G,IAAI,CAAC0G,eAAe,GAAGE,KAAK,CAACF,eAAe;MAC9C;MACA,IAAIpL,KAAK,CAACC,OAAO,CAACqL,KAAK,CAACvL,QAAQ,CAAC,EAAE;QACjC;QACA;QACA;QACA;QACA2E,IAAI,CAAC3E,QAAQ,GAAGgC,qBAAqB,CAAC2C,IAAI,CAAC3E,QAAQ,EAAEuL,KAAK,CAACvL,QAAQ,CAAC;MACtE;IACF;EACF,CAAC;EACD;EACA;EACA;EACA;EACAwL,aAAaA,CACXpG,KAAuC,EACvCC,MAAuD,EACvD;IACAD,KAAK,CAACqG,QAAQ,GAAG;MAAE,IAAIrG,KAAK,CAACqG,QAAQ,IAAI,CAAC,CAAC,CAAC;MAAE,GAAGpG,MAAM,CAACE,OAAO,CAACmG;IAAQ,CAAC;EAC3E;AACJ,CAAC;AAEM,MAAM3G,UAAqE,GAAA1F,OAAA,CAAA0F,UAAA,GAAG,IAAA4G,oBAAW,EAAC;EAC/FC,IAAI,EAAE,cAAc;EACpBpI,YAAY;EACZ0B;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAM2G,IAAI,GAAIC,CAAM,IAAa;EAC/B,IAAIA,CAAC,IAAI,IAAI,EAAE;IAAC,OAAO,EAAE;EAAC;EAC1B,IAAIC,CAAC,GAAGpM,MAAM,CAACmM,CAAC,CAAC,CAACjM,WAAW,CAAC,CAAC;EAC/BkM,CAAC,GAAGA,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACnBD,CAAC,GAAGA,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACnB,OAAOD,CAAC,CAACE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AAC5B,CAAC;AAED,MAAMC,KAAK,GAAGA,CACZvE,GAAa,EACbwE,QAAgB,EAChBC,UAAkB,KACN;EACZ,IAAI,CAACD,QAAQ,IAAI,CAACC,UAAU,EAAE;IAAC,OAAO,KAAK;EAAC;EAC5C,MAAMC,UAAU,GAAG,CACjBR,IAAI,CAAElE,GAAG,EAAU2E,IAAI,EAAEjM,EAAE,CAAC,EAC5BwL,IAAI,CAAElE,GAAG,EAAU2E,IAAI,EAAEC,OAAO,CAAC,EACjCV,IAAI,CAAElE,GAAG,EAAU2E,IAAI,EAAEE,YAAY,CAAC,EACtCX,IAAI,CAAElE,GAAG,EAAU8E,QAAQ,CAAC,CAC7B,CAACtM,MAAM,CAACuM,OAAO,CAAC;EACjB,IAAIL,UAAU,CAACvK,MAAM,KAAK,CAAC,EAAE;IAAC,OAAO,KAAK;EAAC;EAC3C,MAAM6K,IAAI,GAAG,IAAIpN,GAAG,CAClB,CAACsM,IAAI,CAACM,QAAQ,CAAC,EAAEN,IAAI,CAACO,UAAU,CAAC,CAAC,CAACjM,MAAM,CAACuM,OAAO,CACnD,CAAC;EACD,KAAK,MAAME,CAAC,IAAIP,UAAU,EAAE;IAC1B,IAAIM,IAAI,CAAC7M,GAAG,CAAC8M,CAAC,CAAC,EAAE;MAAC,OAAO,IAAI;IAAC;EAChC;EACA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMpD,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMJ,oBAAoB,GAAIpJ,QAAgC,IAAa;EACzE,IAAI4F,MAAM,GAAG,CAAC;EACd,KAAK,MAAMvD,CAAC,IAAIrC,QAAQ,IAAI,EAAE,EAAE;IAC9B,IAAI,CAACqC,CAAC,IAAIA,CAAC,CAAChC,EAAE,KAAK,eAAe,IAAIgC,CAAC,CAACC,OAAO,EAAE;MAAC;IAAS;IAC3D,MAAMuK,EAAE,GAAG,IAAAnK,4BAAa,EAACL,CAAC,CAAC;IAC3B,IAAIwK,EAAE,GAAGjH,MAAM,EAAE;MAACA,MAAM,GAAGiH,EAAE;IAAC;EAChC;EACA,OAAOjH,MAAM;AACf,CAAC;AAED,MAAM+C,kBAAkB,GAAGA,CACzB3I,QAAoB,EACpB0I,SAAiB,EACjByD,QAAgB,GAAG,EAAE,EACrBC,UAAkB,GAAG,EAAE,KACZ;EACX,IAAI,CAACpM,QAAQ,EAAE8B,MAAM,IAAI,CAAC4G,SAAS,EAAE;IAAC,OAAO,CAAC;EAAC;EAC/C,IAAIoE,KAAK,GAAG,CAAC;EACb,KAAK,MAAMrN,OAAO,IAAIO,QAAQ,EAAE;IAC9B,IAAI,CAACP,OAAO,IAAIA,OAAO,CAACY,EAAE,KAAK,eAAe,IAAIZ,OAAO,CAAC6C,OAAO,EAAE;MAAC;IAAS;IAC7E,IAAI4J,KAAK,CAACzM,OAAO,EAAE0M,QAAQ,EAAEC,UAAU,CAAC,EAAE;MAAC;IAAS;IACpD,MAAMS,EAAE,GAAG,IAAAnK,4BAAa,EAACjD,OAAO,CAAC;IACjC,IAAIwJ,MAAM,CAACC,QAAQ,CAAC2D,EAAE,CAAC,IAAIA,EAAE,GAAGnE,SAAS,EAAE;MAACoE,KAAK,IAAI,CAAC;IAAC;EACzD;EACA,OAAOA,KAAK;AACd,CAAC;AAEM,MAAM;EACX3H,OAAO;EACP6C,cAAc;EACdpB,eAAe;EACfU,cAAc;EACdP,iBAAiB;EACjBK,aAAa;EACbC,eAAe;EACfY,YAAY;EACZI,YAAY;EACZG,gBAAgB;EAChBC,sBAAsB;EACtBG,wBAAwB;EACxBc,eAAe;EACfC,iBAAiB;EACjBG,iBAAiB;EACjBG,cAAc;EACdC,cAAc;EACdC,gBAAgB;EAChBP,WAAW;EACXY,cAAc;EACdC,gBAAgB;EAChBE,qBAAqB;EACrBnE,UAAU;EACVC,UAAU;EACV6E,sBAAsB;EACtBlB,yBAAyB;EACzBC,2BAA2B;EAC3BC,YAAY;EACZkB;AACF,CAAC,GAAGzG,UAAU,CAACC,OAAO;AAAC3F,OAAA,CAAAmM,aAAA,GAAAA,aAAA;AAAAnM,OAAA,CAAAiL,YAAA,GAAAA,YAAA;AAAAjL,OAAA,CAAAgL,2BAAA,GAAAA,2BAAA;AAAAhL,OAAA,CAAA+K,yBAAA,GAAAA,yBAAA;AAAA/K,OAAA,CAAAiM,sBAAA,GAAAA,sBAAA;AAAAjM,OAAA,CAAAoH,UAAA,GAAAA,UAAA;AAAApH,OAAA,CAAAmH,UAAA,GAAAA,UAAA;AAAAnH,OAAA,CAAAsL,qBAAA,GAAAA,qBAAA;AAAAtL,OAAA,CAAAoL,gBAAA,GAAAA,gBAAA;AAAApL,OAAA,CAAAmL,cAAA,GAAAA,cAAA;AAAAnL,OAAA,CAAAuK,WAAA,GAAAA,WAAA;AAAAvK,OAAA,CAAA8K,gBAAA,GAAAA,gBAAA;AAAA9K,OAAA,CAAA6K,cAAA,GAAAA,cAAA;AAAA7K,OAAA,CAAA4K,cAAA,GAAAA,cAAA;AAAA5K,OAAA,CAAAyK,iBAAA,GAAAA,iBAAA;AAAAzK,OAAA,CAAAsK,iBAAA,GAAAA,iBAAA;AAAAtK,OAAA,CAAAqK,eAAA,GAAAA,eAAA;AAAArK,OAAA,CAAAuJ,wBAAA,GAAAA,wBAAA;AAAAvJ,OAAA,CAAAoJ,sBAAA,GAAAA,sBAAA;AAAApJ,OAAA,CAAAmJ,gBAAA,GAAAA,gBAAA;AAAAnJ,OAAA,CAAAgJ,YAAA,GAAAA,YAAA;AAAAhJ,OAAA,CAAA4I,YAAA,GAAAA,YAAA;AAAA5I,OAAA,CAAAgI,eAAA,GAAAA,eAAA;AAAAhI,OAAA,CAAA+H,aAAA,GAAAA,aAAA;AAAA/H,OAAA,CAAA0H,iBAAA,GAAAA,iBAAA;AAAA1H,OAAA,CAAAiI,cAAA,GAAAA,cAAA;AAAAjI,OAAA,CAAAuH,eAAA,GAAAA,eAAA;AAAAvH,OAAA,CAAA2I,cAAA,GAAAA,cAAA;AAAA3I,OAAA,CAAA8F,OAAA,GAAAA,OAAA;AAAA,IAAA4H,QAAA,GAAA1N,OAAA,CAAA2N,OAAA,GAERjI,UAAU,CAACkI,OAAO","ignoreList":[]}
|