/* Metro module 4093; source: utils/native/parseURL.tsx; dependencies: [57, 661, 663, 4094, 4095, 1468, 3855, 1473, 4096, 4101, 4127, 4129, 4245, 1471, 4246, 4120, 4247, 1581, 477, 4248, 683, 490, 4253, 2] */ import Module00057 from '../../by-id/module-00057.js'; /* Metro dependency 57 */ import Module01473 from '../../by-id/module-01473.js'; /* Metro dependency 1473 */ import Module03855 from '../../by-id/module-03855.js'; /* Metro dependency 3855 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ import * as MobileNativeUpdateConstantsModule from '../../modules/mobile_native_updater/MobileNativeUpdateConstants.tsx'; /* Metro dependency 4094 */ import * as FindCodedLinksModule from '../../modules/coded_links/findCodedLinks.tsx'; /* Metro dependency 4096 */ import * as CodedLinkModule from '../../modules/coded_links/CodedLink.tsx'; /* Metro dependency 4101 */ import * as GiftCodeUtilsModule from '../GiftCodeUtils.tsx'; /* Metro dependency 4129 */ import * as QRLoginUtilsModule from '../../modules/remote_auth/QRLoginUtils.tsx'; /* Metro dependency 4245 */ function _fun33539(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#33539, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4251:6, offset: 0x01031c3f, size: 551 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ConstantsModule; const env0_4 = value.AnalyticEvents; const env0_5 = value.GuildSettingsSections; const env0_6 = value.GuildSettingsSubsections; const env0_7 = value.LinkingTypes; value = require(663) /* metro dependency 663: CollectiblesShopConstants */; const env0_8 = value.CollectibleShopTab; const env0_9 = value.CollectiblesMobileShopScreen; value = require(4095) /* metro dependency 4095: PaymentConstants */; const env0_11 = value.MobileWebRedirectCheckoutDeepLinkActions; const env0_12 = value.MobileWebRedirectCheckoutDeepLinkQueryKeys; const env0_13 = RegExp('feature\\/([\\w-]+)', ''); const env0_14 = RegExp('feature\\/boost\\/([0-9]+)', ''); const env0_15 = RegExp('users\\/(\\d+)', ''); const env0_16 = RegExp('(?:connect|oauth2)\\/authorize', ''); const env0_17 = RegExp('login\\/one-time', ''); const env0_18 = RegExp('promos\\.discord\\.gg', ''); const env0_19 = RegExp('mweb-handoff', ''); const env0_20 = RegExp('connections\\/(xbox|playstation|playstation-stg|crunchyroll)\\/link', ''); const env0_21 = RegExp('connections\\/([a-z-]+)', ''); const env0_22 = RegExp('guilds\\/(\\d+)\\/settings(?:\\/([a-z-]+)(?:\\/([a-z-]+))?)?', ''); const env0_23 = RegExp('guilds\\/settings(?:\\/([a-z-]+)(?:\\/([a-z-]+))?)?', ''); const env0_24 = RegExp('activate', ''); const env0_25 = RegExp('quests\\/(\\d+)', ''); const env0_26 = RegExp('quest-preview\\/(\\d+)', ''); const env0_27 = RegExp('quest-home', ''); const env0_28 = RegExp('subscriptions\\/(\\d+)', ''); (FileImportTrackerModule).fileFinishedImporting('utils/native/parseURL.tsx'); exports.default = parseURL; function parseQuery(a0) { // fn#33540, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4251:868, offset: 0x01031e66, size: 100 bytes, params: 2, frame: 13 var environment; var value; var property; var Object; var fromEntries; var Object2; var closure; var error; try { value = environment; property = dependencyMap[5]; value = importDefault(property); value = value.parse(a0); Object = global.Object; fromEntries = Object.fromEntries; Object2 = global.Object; value = Object2.entries(value); closure = function(a0) { var r0; var r2; var r3; var item3; var value3; 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 r1 = value2 ? value : item; if (value2) { r0 = item2; r2 = value2; r3 = value; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r0 = item3; r2 = value3; r3 = value; } else { r0 = item3; r2 = value3; r3 = item; } } if (!r2) { r0.return(); } var items = [r1]; items[1] = global.Array.isArray(r3) ? r3[0] : r3; return items; }; value = value.map(closure); value = Reflect.apply(fromEntries, Object, [value]); } catch (error) { return {}; } return value; } function parseURL(a0) { // fn#33542, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4251:1096, offset: 0x01031f35, size: 5890 bytes, params: 2, frame: 53 var environment; var r28; var r11; var r7; var r30; var r33; var r36; var r26; var r29; var host; var type; const CodedLinkType = (CodedLinkModule).CodedLinkType; var BUILD_OVERRIDE; var MANUAL_BUILD_OVERRIDE; var EXPERIMENT; var EVENT; var CHANNEL_LINK; var APP_DIRECTORY_PROFILE; var ACTIVITY_BOOKMARK; var EMBEDDED_ACTIVITY_INVITE; var GUILD_PRODUCT; var SERVER_SHOP; var SOCIAL_LAYER_STOREFRONT; var SOCIAL_LAYER_STOREFRONT_APP; var QUESTS_EMBED; var APP_DIRECTORY_STOREFRONT; var APP_DIRECTORY_STOREFRONT_SKU; var APP_OAUTH2_LINK; var COLLECTIBLES_SHOP; var Error; var HermesInternal; var concat; var moduleValue2; var isVirtualCurrencyEnabled; var enabled; var code; var split; var value7; var value8; var property; var property2; var ORBS; var FEATURED_PAGE; var object; var object2; var SHOP; var defaultImport4; var defaultImport5; var isDiscordLocalhost; var value9; var value10; var match; var value11; var value12; var value13; var moduleValue6; var parseOAuth2AuthorizeProps; var oAuth2AuthorizeProps; var value14; var value15; var SUBSCRIPTION_SETTINGS; var quest_id; var QUEST_PREVIEW_TOOL; var BOOST_SETTINGS; var CONNECTED_GAMES; var section; var NITRO_HOME; var GIFT; var query3; var userId; var fingerprint2; var moduleValue7; var getSecureFramesDeeplinkExperiment; var DAVE_PROTOCOL_VERIFICATION; var moduleValue8; var isIOS; var query4; var text; var channelId; var shareId; var attachmentManifest; var JSON; var value16; var Array; var isArray; var value17; var SHARE; var AUTHORIZED_APPS; var moduleValue9; var isMobileWebRedirectCheckoutEnabled; var isMobileWebRedirectCheckoutEnabled2; var moduleValue10; var isMetaQuest; var value18; var query5; var DEEP_LINK_ACTION; var GUILD_ID; var property3; var MOBILE_WEB_REDIRECT_CHECKOUT; var DEFAULT; var ACCOUNT_STANDING; var promo_url; var FEATURE_PROMO_URL; var FAMILY_CENTER; var source; var CONNECTIONS; var ICYMI; var query6; var guild_id; var highlight_channel_id; var highlight_message_id; var GUILD_HOME; var SESSION_MANAGEMENT; var query7; var channel_id; var user_id; var via; var action; var VOICE_CHANNEL; var EDIT_PROFILE; var FRIENDS; var ADD_FRIENDS; var CONTACT_SYNC; var COMPOSE_MESSAGE; var moduleValue11; var tryParseEventDetailsPath; var value19; var value20; var value21; var value22; var value23; var value24; var url; var NONE; var MOBILE_NATIVE_UPDATE; var PROMOTIONS; var decodeURIComponent; var value25; var property4; var feature; var object8; var value26; var property5; var property6; var object9; var value27; var query9; var query10; var key; var redirect; var URL; var location; var window; var GLOBAL_ENV; var WEBAPP_ENDPOINT; var value28; var prototype; var value29; var uRL; var value30; var searchParams; var append; var MOBILE_WEB_HANDOFF; var defaultImport10; var track; var MOBILE_WEB_HANDOFF_FAILURE; var maybeExtractId; var error; var token; var object11; var object12; var defaultImport11; var ad_creative_ids; var flat; var value31; var QUESTS; var QUEST_HOME_PREVIEW; var summaryId; var object13; var messageId; let value = a1; const value2 = undefined; reducibleJoin2: while (true) { if (value !== value2) { r28 = value; break reducibleJoin2; } value = false; r28 = value; break reducibleJoin2; } const closure = function(a0) { return RegExp('^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$', 'i').test(a0); }; value = environment; const value3 = (Module03855).sanitizeUrl(a0); const value4 = null; if (value4 == value3) { return {payload: {type: LinkingTypes.NONE}}; } const value5 = (Module01473).parse(value3); let protocol = value5.protocol; const host2 = value5.host; const hostname = value5.hostname; const pathname = value5.pathname; const query = value5.query; let parseQueryBinding = parseQuery; const value6 = ''; let {fingerprint, username, attemptId, installationId, custom_id, referrer_id, link_id, sort, filter} = parseQueryBinding(value4 != query ? query : value6); const codedLink = (FindCodedLinksModule).findCodedLink(value3); if (value4 != codedLink) { type = codedLink.type; if (CodedLinkType.INVITE === type) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.INVITE, inviteCode: codedLink.code, username: username, deeplinkAttemptId: attemptId}}; } if (CodedLinkType.TEMPLATE === type) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.GUILD_TEMPLATE, guildTemplateCode: codedLink.code}}; } BUILD_OVERRIDE = CodedLinkType.BUILD_OVERRIDE; reducibleJoin32: while (true) { reducibleJoin192: while (true) { if (BUILD_OVERRIDE === type) { break reducibleJoin192; } MANUAL_BUILD_OVERRIDE = CodedLinkType.MANUAL_BUILD_OVERRIDE; if (MANUAL_BUILD_OVERRIDE === type) { break reducibleJoin192; } EXPERIMENT = CodedLinkType.EXPERIMENT; if (EXPERIMENT === type) { break reducibleJoin32; } EVENT = CodedLinkType.EVENT; if (EVENT === type) { break reducibleJoin32; } CHANNEL_LINK = CodedLinkType.CHANNEL_LINK; if (CHANNEL_LINK === type) { break reducibleJoin32; } APP_DIRECTORY_PROFILE = CodedLinkType.APP_DIRECTORY_PROFILE; if (APP_DIRECTORY_PROFILE === type) { break reducibleJoin32; } ACTIVITY_BOOKMARK = CodedLinkType.ACTIVITY_BOOKMARK; if (ACTIVITY_BOOKMARK === type) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.ACTIVITY, applicationId: codedLink.code, customId: custom_id, referrerId: referrer_id, linkId: link_id, isDeepLink: r28}}; } EMBEDDED_ACTIVITY_INVITE = CodedLinkType.EMBEDDED_ACTIVITY_INVITE; if (EMBEDDED_ACTIVITY_INVITE === type) { break reducibleJoin32; } GUILD_PRODUCT = CodedLinkType.GUILD_PRODUCT; if (GUILD_PRODUCT === type) { break reducibleJoin32; } SERVER_SHOP = CodedLinkType.SERVER_SHOP; if (SERVER_SHOP === type) { break reducibleJoin32; } SOCIAL_LAYER_STOREFRONT = CodedLinkType.SOCIAL_LAYER_STOREFRONT; if (SOCIAL_LAYER_STOREFRONT === type) { break reducibleJoin32; } SOCIAL_LAYER_STOREFRONT_APP = CodedLinkType.SOCIAL_LAYER_STOREFRONT_APP; if (SOCIAL_LAYER_STOREFRONT_APP === type) { break reducibleJoin32; } QUESTS_EMBED = CodedLinkType.QUESTS_EMBED; if (QUESTS_EMBED === type) { break reducibleJoin32; } APP_DIRECTORY_STOREFRONT = CodedLinkType.APP_DIRECTORY_STOREFRONT; if (APP_DIRECTORY_STOREFRONT === type) { break reducibleJoin32; } APP_DIRECTORY_STOREFRONT_SKU = CodedLinkType.APP_DIRECTORY_STOREFRONT_SKU; if (APP_DIRECTORY_STOREFRONT_SKU === type) { break reducibleJoin32; } APP_OAUTH2_LINK = CodedLinkType.APP_OAUTH2_LINK; if (APP_OAUTH2_LINK !== type) { COLLECTIBLES_SHOP = CodedLinkType.COLLECTIBLES_SHOP; if (COLLECTIBLES_SHOP === type) { moduleValue2 = require(4127) /* metro dependency 4127: useVirtualCurrencyMobileEnabled */; isVirtualCurrencyEnabled = moduleValue2.isVirtualCurrencyEnabled; enabled = Reflect.apply(isVirtualCurrencyEnabled, moduleValue2, []).enabled; code = codedLink.code; split = code.split; value7 = Reflect.apply(split, code, ['-']); value8 = Module00057(value7, 2); property = value8[0]; property2 = value8[1]; reducibleJoin29: while (true) { reducibleJoin27: while (true) { if (enabled) { ORBS = CollectibleShopTab.ORBS; if (property === ORBS) { ORBS = CollectiblesMobileShopScreen.ORBS; r11 = ORBS; break reducibleJoin29; } break reducibleJoin27; } break reducibleJoin27; } FEATURED_PAGE = CollectiblesMobileShopScreen.FEATURED_PAGE; r11 = FEATURED_PAGE; break reducibleJoin29; } object = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId}; object2 = {}; SHOP = LinkingTypes.SHOP; object2.type = SHOP; object2.screen = r11; r11 = value6 === property2 ? value2 : property2; object2.skuId = r11; object.payload = object2; return object; } Error = global.Error; type = codedLink.type; HermesInternal = global.HermesInternal; concat = HermesInternal.concat; throw Error('Unknown coded link type: ' + type); } break reducibleJoin32; } BUILD_OVERRIDE = LinkingTypes.BUILD_OVERRIDE; code = codedLink.code; return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: BUILD_OVERRIDE, overrideUrl: code}}; } } const giftCodes = (GiftCodeUtilsModule).findGiftCodes(value3); let length = giftCodes.length; if (length > 0) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.GIFT_CODE, giftCode: giftCodes[0]}}; } const remoteAuthFingerprint = (QRLoginUtilsModule).findRemoteAuthFingerprint(host2, pathname); if (value4 != remoteAuthFingerprint) { length = remoteAuthFingerprint.length; reducibleJoin35: while (true) { if (length > 0) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.REMOTE_AUTH, remoteAuthFingerprint: remoteAuthFingerprint}}; } break reducibleJoin35; } } const defaultImport3 = importDefault(1471) /* metro dependency 1471: URLUtils */; if (!defaultImport3.isDiscordHostname(host2)) { defaultImport4 = defaultImport3; reducibleJoin38: while (true) { if (!defaultImport4.isDiscordProtocol(protocol)) { defaultImport5 = importDefault(1471) /* metro dependency 1471: URLUtils */; isDiscordLocalhost = defaultImport5.isDiscordLocalhost; if (Reflect.apply(isDiscordLocalhost, defaultImport5, [host2, hostname])) { break reducibleJoin38; } reducibleJoin142: while (true) { if (value4 == host2) { r26 = value2; break reducibleJoin142; } match = host2.match; value24 = Reflect.apply(match, host2, [env0_18]); r26 = value24; break reducibleJoin142; } if (value4 != r26) { PROMOTIONS = LinkingTypes.PROMOTIONS; r26 = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: PROMOTIONS, url: value3}}; } else { reducibleJoin145: while (true) { if (value4 == UPDATE_CONFIG) { host = value2; break reducibleJoin145; } url = UPDATE_CONFIG.url; host = url.host; break reducibleJoin145; } if (host2 === host) { MOBILE_NATIVE_UPDATE = LinkingTypes.MOBILE_NATIVE_UPDATE; r26 = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: MOBILE_NATIVE_UPDATE, url: value3}}; } else { NONE = LinkingTypes.NONE; r26 = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: NONE}}; } } return r26; } break reducibleJoin38; } } if (value4 != pathname) { value9 = (require(4246) /* metro dependency 4246: LinkUtils */).tryParseDiceRollLink(pathname); if (value4 != value9) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.ROLL_DICE, guildId: value9.guildId, channelId: value9.channelId, diceCount: value9.diceCount, diceSides: value9.diceSides}}; } value10 = (require(4246) /* metro dependency 4246: LinkUtils */).tryParseChannelPath(pathname); if (value4 != value10) { summaryId = parseQuery(value4 != query ? query : value6).summaryId; object = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId}; object13 = {}; messageId = value10.messageId; object13.type = value4 != messageId ? LinkingTypes.MESSAGE : LinkingTypes.CHANNEL; object13.guildId = value10.guildId; object13.channelId = value10.channelId; messageId = value10.messageId; object13.messageId = messageId; object13.summaryId = summaryId; object.payload = object13; return object; } value11 = pathname.match(env0_25); reducibleJoin140: while (true) { reducibleJoin45: while (true) { if (value4 == value11) { value12 = pathname.match(env0_26); if (value4 == value12) { break reducibleJoin45; } if (value12.length > 1) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.QUEST_PREVIEW_TOOL, questId: value12[1]}}; } break reducibleJoin45; } length = value11.length; if (length > 1) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.QUESTS, questId: value11[1], referrerId: referrer_id, sort: sort, filter: filter}}; } match = pathname.match; value12 = Reflect.apply(match, pathname, [env0_26]); if (value4 == value12) { break reducibleJoin45; } length = value12.length; if (length > 1) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.QUEST_PREVIEW_TOOL, questId: value12[1]}}; } break reducibleJoin45; } match = pathname.match; if (value4 != Reflect.apply(match, pathname, [env0_27])) { defaultImport11 = importDefault(1468) /* metro dependency 1468 */; parse = defaultImport11.parse; r7 = value4 != query ? query : value6; ad_creative_ids = Reflect.apply(parse, defaultImport11, [r7]).ad_creative_ids; reducibleJoin178: while (true) { if (value4 != ad_creative_ids) { r7 = ad_creative_ids; break reducibleJoin178; } r7 = []; break reducibleJoin178; } object = [r7]; flat = object.flat; value31 = Reflect.apply(flat, object, []); length = value31.length; if (length > 0) { QUEST_HOME_PREVIEW = LinkingTypes.QUEST_HOME_PREVIEW; r7 = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: QUEST_HOME_PREVIEW, adCreativeIds: value31}}; } else { QUESTS = LinkingTypes.QUESTS; r7 = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: QUESTS, referrerId: referrer_id, sort: sort, filter: filter}}; } return r7; } match = pathname.match; if (value4 != Reflect.apply(match, pathname, [env0_28])) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.SUBSCRIPTION_SETTINGS}}; } match = pathname.match; value13 = Reflect.apply(match, pathname, [env0_15]); if (value4 != value13) { length = value13.length; reducibleJoin49: while (true) { if (length > 1) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.USER_PROFILE, userId: value13[1]}}; } break reducibleJoin49; } } match = pathname.match; if (value4 != Reflect.apply(match, pathname, [env0_16])) { moduleValue6 = require(4120) /* metro dependency 4120: Authorize */; parseOAuth2AuthorizeProps = moduleValue6.parseOAuth2AuthorizeProps; r7 = value4 != query ? query : value6; oAuth2AuthorizeProps = Reflect.apply(parseOAuth2AuthorizeProps, moduleValue6, [r7]); reducibleJoin52: while (true) { if (value4 != oAuth2AuthorizeProps) { object = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId}; object11 = {}; object11.type = LinkingTypes.OAUTH2_AUTHORIZE; object12 = {}; copyDataProperties(object12, oAuth2AuthorizeProps, undefined); object12['wasDeepLink'] = r28; object11.props = object12; object.payload = object11; return object; } break reducibleJoin52; } } match = pathname.match; if (value4 != Reflect.apply(match, pathname, [env0_17])) { token = parseQuery(value4 != query ? query : value6).token; return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.ONE_TIME_LOGIN, token: value4 != token ? token : value4}}; } match = pathname.match; value14 = Reflect.apply(match, pathname, [env0_14]); if (value4 != value14) { length = value14.length; reducibleJoin55: while (true) { if (length > 1) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.BOOST_MARKETING, guildId: value14[1]}}; } break reducibleJoin55; } } match = pathname.match; value15 = Reflect.apply(match, pathname, [env0_13]); if (value4 != value15) { length = value15.length; reducibleJoin133: while (true) { if (length > 1) { property = value15[1]; if (property === 'composeMessage') { COMPOSE_MESSAGE = LinkingTypes.COMPOSE_MESSAGE; r29 = {type: COMPOSE_MESSAGE}; } else if (property === 'contactSync') { CONTACT_SYNC = LinkingTypes.CONTACT_SYNC; r29 = {type: CONTACT_SYNC}; } else if (property === 'addFriends') { ADD_FRIENDS = LinkingTypes.ADD_FRIENDS; r29 = {type: ADD_FRIENDS}; } else if (property === 'friends') { parseQueryBinding = parseQuery; r26 = value4 != query ? query : value6; user_id = parseQueryBinding(r26).user_id; FRIENDS = LinkingTypes.FRIENDS; r29 = {type: FRIENDS, userId: user_id}; } else if (property === 'editProfile') { EDIT_PROFILE = LinkingTypes.EDIT_PROFILE; r29 = {type: EDIT_PROFILE}; } else if (property === 'voiceChannel') { parseQueryBinding = parseQuery; r26 = value4 != query ? query : value6; query7 = parseQueryBinding(r26); guild_id = query7.guild_id; channel_id = query7.channel_id; user_id = query7.user_id; via = query7.via; action = query7.action; VOICE_CHANNEL = LinkingTypes.VOICE_CHANNEL; r29 = {type: VOICE_CHANNEL, guildId: guild_id, channelId: channel_id, userId: user_id, via: via, action: action}; } else if (property === 'sessionManagement') { SESSION_MANAGEMENT = LinkingTypes.SESSION_MANAGEMENT; r29 = {type: SESSION_MANAGEMENT}; } else if (property === 'home') { parseQueryBinding = parseQuery; r26 = value4 != query ? query : value6; query6 = parseQueryBinding(r26); guild_id = query6.guild_id; highlight_channel_id = query6.highlight_channel_id; highlight_message_id = query6.highlight_message_id; GUILD_HOME = LinkingTypes.GUILD_HOME; r29 = {type: GUILD_HOME, guildId: guild_id, highlightChannelId: highlight_channel_id, highlightMessageId: highlight_message_id}; } else if (property === 'icymi') { ICYMI = LinkingTypes.ICYMI; r29 = {type: ICYMI}; } else if (property === 'connections') { parseQueryBinding = parseQuery; r26 = value4 != query ? query : value6; source = parseQueryBinding(r26).source; CONNECTIONS = LinkingTypes.CONNECTIONS; r29 = {type: CONNECTIONS, source: source}; } else if (property === 'family-center') { FAMILY_CENTER = LinkingTypes.FAMILY_CENTER; r29 = {type: FAMILY_CENTER, pathname: pathname}; } else if (property === 'promo-url') { parseQueryBinding = parseQuery; r26 = value4 != query ? query : value6; promo_url = parseQueryBinding(r26).promo_url; reducibleJoin132: while (true) { if (value2 === promo_url) { r29 = value4; break reducibleJoin132; } FEATURE_PROMO_URL = LinkingTypes.FEATURE_PROMO_URL; r29 = {type: FEATURE_PROMO_URL, promoUrl: promo_url}; break reducibleJoin132; } } else if (property === 'account-standing') { ACCOUNT_STANDING = LinkingTypes.ACCOUNT_STANDING; r29 = {type: ACCOUNT_STANDING, pathname: pathname}; } else if (property === 'mobile-web-redirect-checkout') { moduleValue9 = require(4247) /* metro dependency 4247: MobileWebRedirectCheckoutUtils */; isMobileWebRedirectCheckoutEnabled = moduleValue9.isMobileWebRedirectCheckoutEnabled; isMobileWebRedirectCheckoutEnabled2 = Reflect.apply(isMobileWebRedirectCheckoutEnabled, moduleValue9, []); reducibleJoin108: while (true) { if (isMobileWebRedirectCheckoutEnabled2) { moduleValue10 = require(1581) /* metro dependency 1581: MetaQuestUtilsAndroid */; isMetaQuest = moduleValue10.isMetaQuest; value18 = !Reflect.apply(isMetaQuest, moduleValue10, []); r26 = value18; break reducibleJoin108; } r26 = isMobileWebRedirectCheckoutEnabled2; break reducibleJoin108; } parseQueryBinding = parseQuery; r30 = value4 != query ? query : value6; query5 = parseQueryBinding(r30); DEEP_LINK_ACTION = MobileWebRedirectCheckoutDeepLinkQueryKeys.DEEP_LINK_ACTION; property = query5[DEEP_LINK_ACTION]; GUILD_ID = MobileWebRedirectCheckoutDeepLinkQueryKeys.GUILD_ID; property3 = query5[GUILD_ID]; reducibleJoin132: while (true) { if (r26) { MOBILE_WEB_REDIRECT_CHECKOUT = LinkingTypes.MOBILE_WEB_REDIRECT_CHECKOUT; reducibleJoin112: while (true) { if (value4 != property) { r33 = property; break reducibleJoin112; } DEFAULT = MobileWebRedirectCheckoutDeepLinkActions.DEFAULT; r33 = DEFAULT; break reducibleJoin112; } r29 = {type: MOBILE_WEB_REDIRECT_CHECKOUT, deepLinkAction: r33, guildId: property3}; break reducibleJoin132; } r29 = value4; break reducibleJoin132; } } else if (property === 'open-shop') { SHOP = LinkingTypes.SHOP; r29 = {type: SHOP}; } else if (property === 'authorized-apps') { AUTHORIZED_APPS = LinkingTypes.AUTHORIZED_APPS; r29 = {type: AUTHORIZED_APPS}; } else if (property === 'share') { moduleValue8 = require(477) /* metro dependency 477: PlatformUtils */; isIOS = moduleValue8.isIOS; reducibleJoin132: while (true) { if (Reflect.apply(isIOS, moduleValue8, [])) { parseQueryBinding = parseQuery; r30 = value4 != query ? query : value6; query4 = parseQueryBinding(r30); text = query4.text; channelId = query4.channelId; shareId = query4.shareId; attachmentManifest = query4.attachmentManifest; reducibleJoin98: while (true) { if (typeof shareId !== 'string') { r33 = value2; break reducibleJoin98; } if (closure(shareId)) { r33 = shareId; break reducibleJoin98; } r33 = value2; break reducibleJoin98; } if (typeof attachmentManifest === 'string') { JSON = global.JSON; parse = JSON.parse; value16 = Reflect.apply(parse, JSON, [attachmentManifest]); r36 = value16; } else { r36 = []; } Array = global.Array; isArray = Array.isArray; reducibleJoin103: while (true) { if (Reflect.apply(isArray, Array, [r36])) { break reducibleJoin103; } r36 = []; break reducibleJoin103; } filter = r36.filter; value17 = Reflect.apply(filter, r36, [_fun33544]); SHARE = LinkingTypes.SHARE; r29 = {type: SHARE, text: text, channelId: channelId, shareId: r33, attachmentManifest: value17}; break reducibleJoin132; } r29 = value4; break reducibleJoin132; } } else if (property === 'dave-protocol-verification') { parseQueryBinding = parseQuery; r30 = value4 != query ? query : value6; query3 = parseQueryBinding(r30); userId = query3.userId; fingerprint2 = query3.fingerprint; reducibleJoin132: while (true) { if (value4 != userId) { if (value4 != fingerprint2) { moduleValue7 = require(4248) /* metro dependency 4248: SecureFramesDeeplinkExperiment */; getSecureFramesDeeplinkExperiment = moduleValue7.getSecureFramesDeeplinkExperiment; enabled = Reflect.apply(getSecureFramesDeeplinkExperiment, moduleValue7, [{location: 'parseUrl'}]).enabled; if (enabled) { DAVE_PROTOCOL_VERIFICATION = LinkingTypes.DAVE_PROTOCOL_VERIFICATION; r29 = {type: DAVE_PROTOCOL_VERIFICATION, userId: userId, fingerprint: fingerprint2}; break reducibleJoin132; } r29 = value4; break reducibleJoin132; } r29 = value4; break reducibleJoin132; } r29 = value4; break reducibleJoin132; } } else if (property === 'gift') { GIFT = LinkingTypes.GIFT; r29 = {type: GIFT}; } else if (property === 'store') { parseQueryBinding = parseQuery; r30 = value4 != query ? query : value6; section = parseQueryBinding(r30).section; NITRO_HOME = LinkingTypes.NITRO_HOME; r29 = {type: NITRO_HOME, section: section}; } else if (property === 'connected-games') { CONNECTED_GAMES = LinkingTypes.CONNECTED_GAMES; r29 = {type: CONNECTED_GAMES}; } else if (property === 'boost-settings') { BOOST_SETTINGS = LinkingTypes.BOOST_SETTINGS; r29 = {type: BOOST_SETTINGS}; } else if (property === 'quest-preview-tool') { parseQueryBinding = parseQuery; r30 = value4 != query ? query : value6; quest_id = parseQueryBinding(r30).quest_id; QUEST_PREVIEW_TOOL = LinkingTypes.QUEST_PREVIEW_TOOL; r29 = {type: QUEST_PREVIEW_TOOL, questId: quest_id}; } else { reducibleJoin132: while (true) { if (property !== 'subscription-settings') { r29 = value4; break reducibleJoin132; } SUBSCRIPTION_SETTINGS = LinkingTypes.SUBSCRIPTION_SETTINGS; r29 = {type: SUBSCRIPTION_SETTINGS}; break reducibleJoin132; } } if (value4 != r29) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: r29}; } break reducibleJoin133; } break reducibleJoin133; } } moduleValue11 = require(4246) /* metro dependency 4246: LinkUtils */; tryParseEventDetailsPath = moduleValue11.tryParseEventDetailsPath; value19 = Reflect.apply(tryParseEventDetailsPath, moduleValue11, [pathname]); if (value4 != value19) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.GUILD_EVENT_DETAILS, guildEventId: value19.guildEventId, guildId: value19.guildId, recurrenceId: value19.recurrenceId}}; } match = pathname.match; if (value4 != Reflect.apply(match, pathname, [env0_19])) { parseQueryBinding = parseQuery; decodeURIComponent = global.decodeURIComponent; query10 = parseQueryBinding(decodeURIComponent(query)); key = query10.key; redirect = query10.redirect; fingerprint = query10.fingerprint; if (value4 != key) { reducibleJoin165: while (true) { if (value4 != redirect) { URL = global.URL; location = global.location; protocol = location.protocol; window = global.window; GLOBAL_ENV = window.GLOBAL_ENV; WEBAPP_ENDPOINT = GLOBAL_ENV.WEBAPP_ENDPOINT; HermesInternal = global.HermesInternal; concat = HermesInternal.concat; value28 = value6 + protocol + WEBAPP_ENDPOINT; prototype = URL.prototype; value29 = Object.create(prototype, {constructor: {value: URL}}); uRL = new URL(); value30 = uRL instanceof Object ? uRL : value29; reducibleJoin164: while (true) { if (value4 == fingerprint) { break reducibleJoin164; } searchParams = value30.searchParams; append = searchParams.append; Reflect.apply(append, searchParams, ['fingerprint', fingerprint]); break reducibleJoin164; } MOBILE_WEB_HANDOFF = LinkingTypes.MOBILE_WEB_HANDOFF; return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: MOBILE_WEB_HANDOFF, nonce: key, redirectUrl: value30, fingerprint: fingerprint}}; } break reducibleJoin165; } } defaultImport10 = importDefault(683) /* metro dependency 683: AnalyticsUtils */; track = defaultImport10.track; MOBILE_WEB_HANDOFF_FAILURE = AnalyticEvents.MOBILE_WEB_HANDOFF_FAILURE; value = require(490) /* metro dependency 490: FingerprintUtils */; maybeExtractId = value.maybeExtractId; Reflect.apply(track, defaultImport10, [MOBILE_WEB_HANDOFF_FAILURE, {reason: 'invalid_query_params', fingerprint: Reflect.apply(maybeExtractId, value, [fingerprint])}, {fingerprint: fingerprint}]); Error = global.Error; prototype = Error.prototype; value = Object.create(prototype, {constructor: {value: Error}}); error = new Error('Missing nonce or redirect query params'); value = error instanceof Object ? error : value; throw value; } match = pathname.match; value20 = Reflect.apply(match, pathname, [env0_20]); if (value4 != value20) { query9 = parseQuery(global.decodeURIComponent(value4 != query ? query : value6)); return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.USER_CONNECTIONS_LINK_CALLBACK, provider: value20[1], callbackCode: query9.code, callbackState: query9.state}}; } match = pathname.match; value21 = Reflect.apply(match, pathname, [env0_21]); if (value4 != value21) { value27 = Module00057(value21, 2); value27[0]; return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.USER_CONNECTIONS_CALLBACK, provider: value27[1], searchParams: parseQuery(global.decodeURIComponent(value4 != query ? query : value6))}}; } match = pathname.match; value22 = Reflect.apply(match, pathname, [env0_22]); if (value4 != value22) { value26 = Module00057(value22, 4); property = value26[1]; property5 = value26[2]; property6 = value26[3]; object = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId}; object9 = {}; object9.type = LinkingTypes.GUILD_SETTINGS; object9.guildId = property; object9.settingsSection = (importDefault(4253) /* metro dependency 4253: urlPartToSettingsEnum */)(GuildSettingsSections, property5); object9.settingsSubsection = (importDefault(4253) /* metro dependency 4253: urlPartToSettingsEnum */)(GuildSettingsSubsections, property6); object.payload = object9; return object; } match = pathname.match; value23 = Reflect.apply(match, pathname, [env0_23]); if (value4 != value23) { value25 = Module00057(value23, 3); property = value25[1]; property4 = value25[2]; feature = parseQuery(value4 != query ? query : value6).feature; object = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId}; object8 = {}; object8.type = LinkingTypes.GUILD_SETTINGS_PICKER; object8.settingsSection = (importDefault(4253) /* metro dependency 4253: urlPartToSettingsEnum */)(GuildSettingsSections, property); object8.settingsSubsection = (importDefault(4253) /* metro dependency 4253: urlPartToSettingsEnum */)(GuildSettingsSubsections, property4); object8.feature = feature; object.payload = object8; return object; } match = pathname.match; if (value4 != Reflect.apply(match, pathname, [env0_24])) { return {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.ACTIVATE_DEVICE, userCode: parseQuery(global.decodeURIComponent(value4 != query ? query : value6)).user_code}}; } break reducibleJoin140; } } reducibleJoin142: while (true) { if (value4 == host2) { r26 = value2; break reducibleJoin142; } match = host2.match; value24 = Reflect.apply(match, host2, [env0_18]); r26 = value24; break reducibleJoin142; } if (value4 != r26) { r26 = {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.PROMOTIONS, url: value3}}; } else { reducibleJoin145: while (true) { if (value4 == UPDATE_CONFIG) { host = value2; break reducibleJoin145; } url = UPDATE_CONFIG.url; host = url.host; break reducibleJoin145; } r26 = host2 === host ? {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.MOBILE_NATIVE_UPDATE, url: value3}} : {fingerprint: fingerprint, attemptId: attemptId, installationId: installationId, payload: {type: LinkingTypes.NONE}}; } return r26; function _fun33544(a0) { // fn#33544, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4251:7398, offset: 0x01033654, size: 63 bytes, params: 2, frame: 12 return typeof a0.originalFilename === 'string' && typeof a0.temporaryFilename === 'string' && isValidUUID(a0.temporaryFilename); } } } global.__d(_fun33539, 4093, [57, 661, 663, 4094, 4095, 1468, 3855, 1473, 4096, 4101, 4127, 4129, 4245, 1471, 4246, 4120, 4247, 1581, 477, 4248, 683, 490, 4253, 2]) /* metro module 4093, dependencies: [57, 661, 663, 4094, 4095, 1468, 3855, 1473, 4096, 4101, 4127, 4129, 4245, 1471, 4246, 4120, 4247, 1581, 477, 4248, 683, 490, 4253, 2] */;