/* Metro module 12533; source: utils/ReadyPayloadUtils.tsx; dependencies: [1383, 1910, 5231, 5237, 1930, 5238, 1926, 22, 44, 2] */ function _fun95762(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#95762, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:6, offset: 0x0214d6f7, size: 258 bytes, params: 8, frame: 19 let env0_0 = require; const _arrayLikeToArray_95765 = function(a0, a1) { var r0; var r1; var r2; var value3; var length; var value5; var value = undefined; var value2 = value == null; reducibleJoin2: while (true) { if (value2) { r0 = value2; break reducibleJoin2; } value3 = value > a0.length; r0 = value3; break reducibleJoin2; } reducibleJoin4: while (true) { if (r0) { length = a0.length; r1 = length; break reducibleJoin4; } r1 = value; break reducibleJoin4; } value = (0, global.Array)(r1); var value4 = 0; if (value4 < r1) { r2 = value4; reducibleLoop5: while (true) { value[r2] = a0[r2]; value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value5 < r1) { r2 = value5; continue reducibleLoop5; } break reducibleLoop5; } } return value; }; const restoreUsers = function(a0, a1) { var env0_0 = a0; if (a1 != null) { a1.forEach(_fun95769); } return []; }; const closure = hydratePreviouslyUnavailableGuild; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = (require(1383) /* metro dependency 1383: ChannelRecord */).createChannelRecordFromServer; const env0_5 = {}; (require(2) /* metro dependency 2 */).fileFinishedImporting('utils/ReadyPayloadUtils.tsx'); exports.hydrateReadySupplementalPayload = hydrateReadySupplementalPayload; exports.preloadReadyPayloadData = preloadReadyPayloadData; exports.hydrateReadyPayloadPrioritized = hydrateReadyPayloadPrioritized; exports.hydrateInitialGuild = function(a0, a1) { var value2 = hydratePreviouslyUnavailableGuild(a0); env0_4 = {guild: a0, identifyTime: a1}; return value2; }; exports.hydratePreviouslyUnavailableGuild = closure; } function _createForOfIteratorHelperLoose_95763(a0, a1) { // fn#95763, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:142, offset: 0x0214d7f9, size: 372 bytes, params: 3, frame: 20 var r6; var r9; var r5; var value3; var regexp; const env0_0 = a0; const Symbol = global.Symbol; let value = typeof Symbol !== 'undefined'; let r1 = value && a0[global.Symbol.iterator]; r1 = !r1 ? a0['@@iterator'] : r1; if (r1) { value = r1.call(a0); return value.next.bind(value); } const Array = global.Array; if (Array.isArray(a0)) { if (r1) { } return _fun95764; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_95765(a0, value); r5 = value; } else { value3 = ({}).toString.call(a0).slice(8, -1); r6 = value3 === 'Object' && a0.constructor; r9 = r6 ? a0.constructor.name : value3; if (r9 === 'Map') { r6 = global.Array.from(a0); } else if (r9 === 'Set') { r6 = global.Array.from(a0); } else if (r9 === 'Arguments') { value = _arrayLikeToArray_95765(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_95765(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun95764; } const TypeError = global.TypeError; throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'); } function maybeIncludeInitialGuild(a0, a1, a2) { // fn#95766, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:1068, offset: 0x0214d96d, size: 90 bytes, params: 4, frame: 14 const value2 = null; return value2 == env0_4 || env0_4.identifyTime !== a0 ? value2 : value2 == a1 ? a2(env0_4.guild) : a1.some(_fun95767) ? value2 : a2(env0_4.guild); } function restoreUsers(a0, a1) { // fn#95768, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:1201, offset: 0x0214d9e6, size: 45 bytes, params: 3, frame: 12 const env0_0 = a0; if (a1 != null) { a1.forEach(_fun95769); } return []; } function hydrateGuild(a0) { // fn#95770, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:1422, offset: 0x0214da97, size: 885 bytes, params: 2, frame: 19 var r7; var r1; var r6; var r3; var r0; var object6; var object7; var partial_updates; var channels; var value; var value2; var deleted_channel_ids; var object8; var emojis; var deleted_emoji_ids; var properties; var object10; var roles; var deleted_role_ids; var object11; var stickers; var deleted_sticker_ids; var threads; var collectThreadMessagesBinding; var object12; const env0_0 = a0; if (a0.data_mode !== 'partial') { object6 = {}; object6.id = a0.id; object6.dataMode = a0.data_mode; object6.emojis = {op: 'full_sync', items: a0.emojis}; object6.guild_scheduled_events = a0.guild_scheduled_events; object6.experiments = a0.experiments; object6.joined_at = a0.joined_at; object6.lastMessages = a0.last_messages; object6.member_count = a0.member_count; object6.members = a0.members; object6.premium_subscription_count = a0.premium_subscription_count; object6.properties = a0.properties; object6.roles = {op: 'full_sync', items: a0.roles}; object6.stage_instances = a0.stage_instances; object6.stickers = {op: 'full_sync', items: a0.stickers}; threads = a0.threads; r3 = threads?.map(_fun95771); r3 = r3 ?? []; object6.threads = r3; collectThreadMessagesBinding = collectThreadMessages; threads = a0.threads; object6.threadMessages = collectThreadMessagesBinding(threads); object12 = {op: 'full_sync'}; object12.items = a0.channels.map(_fun95772); object6.channels = object12; object6.version = a0.version; object6.hasThreadsSubscription = a0.has_threads_subscription; r0 = object6; } else { object6 = {}; object6.id = a0.id; object6.dataMode = a0.data_mode; object7 = {op: 'update'}; partial_updates = a0.partial_updates; channels = partial_updates.channels; value = null; value2 = undefined; r7 = value == channels ? value2 : channels.map(_fun95773); r7 = value == r7 ? [] : r7; object7.writes = r7; partial_updates = a0.partial_updates; deleted_channel_ids = partial_updates.deleted_channel_ids; r7 = value != deleted_channel_ids ? deleted_channel_ids : []; object7.deletes = r7; object6.channels = object7; object6.channelTimestampUpdates = a0.channel_updates; object8 = {op: 'update'}; partial_updates = a0.partial_updates; emojis = partial_updates.emojis; r7 = value != emojis ? emojis : []; object8.writes = r7; partial_updates = a0.partial_updates; deleted_emoji_ids = partial_updates.deleted_emoji_ids; r7 = value != deleted_emoji_ids ? deleted_emoji_ids : []; object8.deletes = r7; object6.emojis = object8; object6.guild_scheduled_events = a0.guild_scheduled_events; object6.experiments = a0.experiments; object6.joined_at = a0.joined_at; object6.lastMessages = a0.last_messages; object6.member_count = a0.member_count; object6.members = a0.members; object6.premium_subscription_count = a0.premium_subscription_count; properties = a0.properties; r1 = value != properties ? properties : value; object6.properties = r1; object10 = {op: 'update'}; partial_updates = a0.partial_updates; roles = partial_updates.roles; r7 = value != roles ? roles : []; object10.writes = r7; partial_updates = a0.partial_updates; deleted_role_ids = partial_updates.deleted_role_ids; r7 = value != deleted_role_ids ? deleted_role_ids : []; object10.deletes = r7; object6.roles = object10; object6.stage_instances = a0.stage_instances; object11 = {op: 'update'}; partial_updates = a0.partial_updates; stickers = partial_updates.stickers; r6 = value != stickers ? stickers : []; object11.writes = r6; partial_updates = a0.partial_updates; deleted_sticker_ids = partial_updates.deleted_sticker_ids; r6 = value != deleted_sticker_ids ? deleted_sticker_ids : []; object11.deletes = r6; object6.stickers = object11; object6.unableToSyncDeletes = a0.unable_to_sync_deletes; threads = a0.threads; r1 = value == threads ? value2 : threads.map(_fun95774); r1 = value == r1 ? [] : r1; object6.threads = r1; collectThreadMessagesBinding = collectThreadMessages; threads = a0.threads; object6.threadMessages = collectThreadMessagesBinding(threads); object6.version = a0.version; object6.hasThreadsSubscription = a0.has_threads_subscription; r0 = object6; } return r0; } function hydratePreviouslyUnavailableGuild(a0) { // fn#95775, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:3377, offset: 0x0214de57, size: 929 bytes, params: 2, frame: 19 var r7; var r1; var r6; var r2; var r0; var object6; var object7; var partial_updates; var channels; var value; var value2; var deleted_channel_ids; var object8; var emojis; var deleted_emoji_ids; var properties; var object10; var roles; var deleted_role_ids; var object11; var stickers; var deleted_sticker_ids; var threads; var collectThreadMessagesBinding; var object12; const env0_0 = a0; if (a0.data_mode !== 'partial') { object6 = {}; object6.id = a0.id; object6.guild_scheduled_events = a0.guild_scheduled_events; object6.experiments = a0.experiments; object6.joined_at = a0.joined_at; object6.lastMessages = a0.last_messages; object6.member_count = a0.member_count; object6.members = a0.members; object6.premium_subscription_count = a0.premium_subscription_count; object6.properties = a0.properties; object6.roles = {op: 'full_sync', items: a0.roles}; object6.stage_instances = a0.stage_instances; threads = a0.threads; r2 = threads?.map(_fun95776); r2 = r2 ?? []; object6.threads = r2; collectThreadMessagesBinding = collectThreadMessages; threads = a0.threads; object6.threadMessages = collectThreadMessagesBinding(threads); object6.presences = a0.presences; object6.activity_instances = a0.activity_instances; object6.voice_states = a0.voice_states; object6.version = a0.version; object6.hasThreadsSubscription = a0.has_threads_subscription; object6.emojis = {op: 'full_sync', items: a0.emojis}; object6.stickers = {op: 'full_sync', items: a0.stickers}; object12 = {op: 'full_sync'}; object12.items = a0.channels.map(_fun95777); object6.channels = object12; r0 = object6; } else { object6 = {}; object6.id = a0.id; object7 = {op: 'update'}; partial_updates = a0.partial_updates; channels = partial_updates.channels; value = null; value2 = undefined; r7 = value == channels ? value2 : channels.map(_fun95778); r7 = value == r7 ? [] : r7; object7.writes = r7; partial_updates = a0.partial_updates; deleted_channel_ids = partial_updates.deleted_channel_ids; r7 = value != deleted_channel_ids ? deleted_channel_ids : []; object7.deletes = r7; object6.channels = object7; object6.channelTimestampUpdates = a0.channel_updates; object6.activity_instances = a0.activity_instances; object8 = {op: 'update'}; partial_updates = a0.partial_updates; emojis = partial_updates.emojis; r7 = value != emojis ? emojis : []; object8.writes = r7; partial_updates = a0.partial_updates; deleted_emoji_ids = partial_updates.deleted_emoji_ids; r7 = value != deleted_emoji_ids ? deleted_emoji_ids : []; object8.deletes = r7; object6.emojis = object8; object6.guild_scheduled_events = a0.guild_scheduled_events; object6.experiments = a0.experiments; object6.joined_at = a0.joined_at; object6.lastMessages = a0.last_messages; object6.member_count = a0.member_count; object6.members = a0.members; object6.premium_subscription_count = a0.premium_subscription_count; object6.presences = a0.presences; properties = a0.properties; r1 = value != properties ? properties : value; object6.properties = r1; object10 = {op: 'update'}; partial_updates = a0.partial_updates; roles = partial_updates.roles; r7 = value != roles ? roles : []; object10.writes = r7; partial_updates = a0.partial_updates; deleted_role_ids = partial_updates.deleted_role_ids; r7 = value != deleted_role_ids ? deleted_role_ids : []; object10.deletes = r7; object6.roles = object10; object6.stage_instances = a0.stage_instances; object11 = {op: 'update'}; partial_updates = a0.partial_updates; stickers = partial_updates.stickers; r6 = value != stickers ? stickers : []; object11.writes = r6; partial_updates = a0.partial_updates; deleted_sticker_ids = partial_updates.deleted_sticker_ids; r6 = value != deleted_sticker_ids ? deleted_sticker_ids : []; object11.deletes = r6; object6.stickers = object11; object6.unableToSyncDeletes = a0.unable_to_sync_deletes; threads = a0.threads; r1 = value == threads ? value2 : threads.map(_fun95779); r1 = value == r1 ? [] : r1; object6.threads = r1; collectThreadMessagesBinding = collectThreadMessages; threads = a0.threads; object6.threadMessages = collectThreadMessagesBinding(threads); object6.voice_states = a0.voice_states; object6.version = a0.version; object6.hasThreadsSubscription = a0.has_threads_subscription; r0 = object6; } return r0; } function collectThreadMessages(a0) { // fn#95780, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:5491, offset: 0x0214e1f8, size: 87 bytes, params: 2, frame: 15 var r2; var value; var value2; var done; var value3; var most_recent_message; var push; var value4; const items2 = []; if (a0 != null) { value = _createForOfIteratorHelperLoose_95763(a0); value2 = value(); done = value2.done; if (!done) { r2 = value2; while (true) { value3 = r2.value; most_recent_message = value3.most_recent_message; if (most_recent_message != null) { push = items2.push; most_recent_message = value3.most_recent_message; Reflect.apply(push, items2, [most_recent_message]); } value4 = value(); done = value4.done; if (done) { break; } r2 = value4; continue; } } } return items2; } function hydrateReadySupplementalPayload(a0, a1) { // fn#95781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:5787, offset: 0x0214e24f, size: 209 bytes, params: 3, frame: 21 const guilds = a0.guilds; const env0_0 = a0.merged_members; const merged_presences = a0.merged_presences; const object3 = {'guilds': 0, 'merged_members': 0, 'merged_presences': 0}; silentSetPrototypeOf(object3, null, undefined); const value = copyDataProperties({}, a0, object3, undefined); const restoreUsersBinding = restoreUsers; const binding = env0_5; const value3 = undefined; const value4 = restoreUsersBinding(binding, merged_presences == null ? value3 : merged_presences.friends); let r2 = guilds == null ? value3 : guilds.map(_fun95782); r2 = r2 ?? []; const value6 = maybeIncludeInitialGuild(a1, guilds, function(a0) { return {id: a0.id, members: a0.members, presences: a0.presences, activity_instances: a0.activity_instances, voice_states: a0.voice_states, unavailable: false}; }); if (value6 != null) { r2.push(value6); } env0_5 = {}; const object4 = {}; copyDataProperties(object4, value, object3); object4['presences'] = value4; object4['guilds'] = r2; return object4; } function preloadReadyPayloadData() { // fn#95784, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:6399, offset: 0x0214e3f2, size: 337 bytes, params: 1, frame: 16 var r4; var r3; var Promise; var resolve; var Set; var value5; var set; var value; let value2 = (importDefault(1910) /* metro dependency 1910: DatabaseDaos */).database(); const isCacheEnabledNativeModule = require(5231) /* metro dependency 5231: isCacheEnabledNative */; const r5 = isCacheEnabledNativeModule.isCacheEnabled() ? (importDefault(5237) /* metro dependency 5237: GuildVersions */).getCommittedVersions() : global.Promise.resolve({}); const moduleValue2 = isCacheEnabledNativeModule; if (moduleValue2.isCacheEnabled()) { r4 = (importDefault(1930) /* metro dependency 1930: ChannelReader */).getGuildIds(); } else { Promise = global.Promise; resolve = Promise.resolve; Set = global.Set; value5 = Object.create(Set.prototype, {constructor: {value: Set}}); set = new Set(); r4 = Reflect.apply(resolve, Promise, [set instanceof Object ? set : value5]); } if (value2 != null) { value = importDefault(5238) /* metro dependency 5238: KvCacheVersion */; value = value.okAsync(value2); r3 = value; } else { r3 = global.Promise.resolve(false); } Promise = global.Promise; return Promise.all([r5, r4, r3]).then(function(a0) { var r0; var r2; var r4; var r1; var item3; var value3; var item4; var value4; var iterator = a0[Symbol.iterator](); var iterator2 = iterator.next; var item2 = Reflect.apply(iterator2, iterator, []); var item = item2.value; item2 = item2.done ? undefined : iterator; var value = undefined; var value2 = item2 === value; var r3 = value2 ? value : item; if (value2) { r0 = item2; r2 = value; r4 = value2; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r0 = item3; r2 = value; r4 = value3; } else { r0 = item3; r2 = item; r4 = value3; } } if (r4) { r1 = value; } else { item4 = Reflect.apply(iterator2, r0, []); item = item4.value; item4 = item4.done ? undefined : r0; value4 = item4 === value; if (value4) { r0 = item4; r1 = value; r4 = value4; } else { r0 = item4; r1 = item; r4 = value4; } } if (!r4) { r0.return(); } return {guildVersions: r3, guildChannels: r2, databaseOk: r1}; }); } function hydrateReadyPayloadPrioritized(a0, a1, a2) { // fn#95786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:6797, offset: 0x0214e5b3, size: 362 bytes, params: 4, frame: 21 const users = a0.users; const private_channels = a0.private_channels; const env0_0 = a0.merged_members; const guilds = a0.guilds; const object3 = {'users': 0, 'private_channels': 0, 'merged_members': 0, 'guilds': 0}; silentSetPrototypeOf(object3, null, undefined); const value = copyDataProperties({}, a0, object3, undefined); const value3 = undefined; const defaultImport = importDefault(1910) /* metro dependency 1910: DatabaseDaos */; let r4 = defaultImport.database() != null && a2.databaseOk === false; if (r4) { (importDefault(1926) /* metro dependency 1926: DatabaseManager */).replaceDisableAllDatabases('ReadyPayloadUtils: database was not ok'); } env0_5 = (importDefault(22) /* metro dependency 22 */).keyBy(users, function(a0) { return a0.id; }); if (private_channels != null) { private_channels.forEach(function(a0) { var recipient_ids = a0.recipient_ids; if (recipient_ids != null) { a0.recipients = recipient_ids.map(_fun95789); } delete a0.recipient_ids; }); } r4 = guilds == null ? value3 : guilds.map(_fun95790); r4 = r4 ?? []; const value7 = maybeIncludeInitialGuild(a1, guilds, function(a0) { return hydrateGuild(a0); }); if (value7 != null) { r4.push(value7); } const object4 = {}; copyDataProperties(object4, value, object3); object4['users'] = users; object4['presences'] = []; object4['guilds'] = r4; object4['private_channels'] = private_channels ?? []; return object4; } function _fun95767({id}) { // fn#95767, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:1162, offset: 0x0214d9c7, size: 31 bytes, params: 2, frame: 2 return id === env1_4.guild.id; } function _fun95769(a0) { // fn#95769, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:1264, offset: 0x0214da13, size: 132 bytes, params: 2, frame: 18 var user_id; var value; var binding; if (a0 != null) { user_id = a0.user_id; if (user_id != null) { value = environment.__proto__; value = importDefault(44) /* metro dependency 44 */; binding = env0_0; value(binding[user_id] != null, 'Missing user[' + user_id + '] in compressed ready payload'); a0.user = binding[user_id]; } delete a0.user_id; binding = env0_1; binding.push(a0); } } function _fun95771(a0) { // fn#95771, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:1994, offset: 0x0214de0c, size: 32 bytes, params: 2, frame: 13 return createChannelRecordFromServer(a0, env0_0.id); } function _fun95772(a0) { // fn#95772, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:2110, offset: 0x0214de2c, size: 43 bytes, params: 2, frame: 13 const binding = env0_0; a0.guild_id = binding.id; return createChannelRecordFromServer(a0, binding.id); } function _fun95782(a0, a1) { // fn#95782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:5965, offset: 0x0214e320, size: 143 bytes, params: 3, frame: 19 var r2; var r9; var guilds; let value = environment.__proto__; const restoreUsersBinding = restoreUsers; const binding = env1_5; const value3 = merged_presences == null; const value4 = undefined; if (value3) { r2 = value4; r9 = value3; } else { guilds = merged_presences.guilds; r2 = guilds[a1]; r9 = guilds; } const value5 = restoreUsersBinding(binding, r2); value = restoreUsers(env1_5, merged_members == null ? value4 : merged_members[a1]); const object2 = {}; copyDataProperties(object2, a0, r9); object2['unavailable'] = value4 === a0.voice_states; object2['presences'] = value5; object2['members'] = value; return object2; } function _fun95788(a0) { // fn#95788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:7082, offset: 0x0214e71d, size: 49 bytes, params: 2, frame: 12 const recipient_ids = a0.recipient_ids; if (recipient_ids != null) { a0.recipients = recipient_ids.map(_fun95789); } delete a0.recipient_ids; } function _fun95790(a0, a1) { // fn#95790, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:7278, offset: 0x0214e78e, size: 83 bytes, params: 3, frame: 18 var r0; var value2; let value = a0; if (value.unavailable === true) { r0 = value; } else { value2 = environment.__proto__; value.members = restoreUsers(env1_5, merged_members?.[a1]); value = hydrateGuild(value); r0 = value; } return r0; } function _fun95789(a0) { // fn#95789, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12723:7138, offset: 0x0214e74e, size: 64 bytes, params: 2, frame: 15 (importDefault(44) /* metro dependency 44 */)(env2_5[a0] != null, 'Missing user in compressed ready payload'); return env2_5[a0]; }