local l_TextService_0 = game:GetService("TextService");
local l_UserInputService_0 = game:GetService("UserInputService");
local v2 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v2.Roact;
local l_UIBlox_0 = v2.UIBlox;
local l_t_0 = v2.t;
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local l_Parent_0 = script.Parent.Parent;
local v8 = require(l_Parent_0.Resources.Assets);
local v9 = require(l_Parent_0.GlobalConfig);
local v10 = require(l_Parent_0.Components.ThemedTextLabel);
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local v12 = {
    [Enum.KeyCode.Escape] = {
        text = "ESC",
        fontKey = "Footer",
        width = 36
    },
    [Enum.KeyCode.Space] = {
        text = "Space",
        width = 92
    },
    [Enum.KeyCode.LeftShift] = {
        text = "Shift",
        width = 66,
        alignment = Enum.TextXAlignment.Left
    },
    [Enum.KeyCode.LeftControl] = {
        text = "Ctrl",
        width = 66,
        alignment = Enum.TextXAlignment.Left
    },
    [Enum.KeyCode.LeftSuper] = {
        text = "Command"
    },
    [Enum.KeyCode.LeftMeta] = {
        text = "fn"
    },
    [Enum.KeyCode.LeftAlt] = {
        text = "Opt"
    },
    [Enum.KeyCode.Tilde] = {
        text = "~",
        fontKey = "CaptionHeader"
    },
    [Enum.KeyCode.F10] = {
        fontKey = "CaptionHeader",
        width = 36
    },
    [Enum.KeyCode.F11] = {
        fontKey = "CaptionHeader",
        width = 36
    },
    [Enum.KeyCode.Up] = {
        image = v8.Images.UpArrow
    },
    [Enum.KeyCode.Down] = {
        image = v8.Images.DownArrow
    },
    [Enum.KeyCode.Left] = {
        image = v8.Images.LeftArrow
    },
    [Enum.KeyCode.Right] = {
        image = v8.Images.RightArrow
    }
};
local v13 = l_t_0.strictInterface({
    input = l_t_0.enum(Enum.KeyCode),
    borderThemeKey = l_t_0.optional(l_t_0.string),
    textThemeKey = l_t_0.optional(l_t_0.string),
    AnchorPoint = l_t_0.optional(l_t_0.Vector2),
    Position = l_t_0.optional(l_t_0.UDim2),
    LayoutOrder = l_t_0.optional(l_t_0.integer),
    ZIndex = l_t_0.optional(l_t_0.integer)
});
local function v25(v14, v15, v16)
    local v17 = v12[v14];
    if not v17 or not v17.image then
        local v18 = nil;
        local v19 = nil;
        local v20 = nil;
        local v21 = nil;
        local l_l_UserInputService_0_StringForKeyCode_0 = l_UserInputService_0:GetStringForKeyCode(v14);
        v18 = if not not v17 and v17.text then v17.text else if l_l_UserInputService_0_StringForKeyCode_0 and l_l_UserInputService_0_StringForKeyCode_0 ~= "" then l_l_UserInputService_0_StringForKeyCode_0 else v14.Name;
        local v23 = v18:len() < 3;
        v19 = if not not v17 and v17.fontKey then v17.fontKey else not v23 and "Footer" or "CaptionHeader";
        if not v17 or not v17.width then
            if not v23 then
                local v24 = v15.Font[v19];
                v20 = l_TextService_0:GetTextSize(v18, v24.RelativeSize * v15.Font.BaseSize, v24.Font, Vector2.new(math.huge, 36)).X + 28;
            else
                v20 = 36;
            end;
        else
            v20 = v17.width;
        end;
        if not (not v17 or not v17.alignment) then
            v21 = v17.alignment;
        end;
        return v20, l_Roact_0.createElement(v10, {
            fontKey = v19,
            themeKey = v16 or "TextEmphasis",
            Text = v18,
            Size = UDim2.new(1, 0, 1, 0),
            Position = UDim2.new(0, 0, 0, -1),
            TextXAlignment = v21
        }), v21;
    else
        return 36, (l_Roact_0.createElement(l_ImageSetLabel_0, {
            AnchorPoint = Vector2.new(0.5, 0.5),
            BackgroundTransparency = 1,
            Image = v17.image,
            ImageColor3 = v15.Theme.IconEmphasis.Color,
            ImageTransparency = v15.Theme.IconEmphasis.Transparency,
            Position = UDim2.new(0.5, 0, 0.5, -1),
            Size = UDim2.new(0, 16, 0, 16)
        }));
    end;
end;
return function(v26)
    if v9.propValidation then
        assert(v13(v26));
    end;
    return l_withStyle_0(function(v27)
        local v28 = v27.Theme[v26.borderThemeKey or "UIEmphasis"];
        local v29, v30, v31 = v25(v26.input, v27, v26.textThemeKey);
        local v32 = nil;
        if v31 then
            v32 = 9;
        end;
        return l_Roact_0.createElement(l_ImageSetLabel_0, {
            BackgroundTransparency = 1,
            ImageTransparency = v28.Transparency,
            ImageColor3 = v28.Color,
            Image = v8.Images.KeyBorder,
            ScaleType = Enum.ScaleType.Slice,
            SliceCenter = Rect.new(Vector2.new(9, 7), Vector2.new(26, 26)),
            Size = UDim2.new(0, v29, 0, 36),
            Position = v26.Position,
            AnchorPoint = v26.AnchorPoint,
            LayoutOrder = v26.LayoutOrder,
            ZIndex = v26.ZIndex
        }, {
            Padding = v32 and l_Roact_0.createElement("UIPadding", {
                PaddingLeft = UDim.new(0, v32),
                PaddingRight = UDim.new(0, v32)
            }),
            LabelContent = v30
        });
    end);
end;


local l_RunService_0 = game:GetService("RunService");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local v3 = require(l_CorePackages_0.InGameMenuDependencies);
local l_Roact_0 = v3.Roact;
local l_RoactRodux_0 = v3.RoactRodux;
local l_t_0 = v3.t;
local l_Parent_0 = script.Parent.Parent;
local v8 = require(l_Parent_0.Localization.withLocalization);
local v9 = require(l_Parent_0.Actions.CancelLeavingGame);
local v10 = require(l_Parent_0.GlobalConfig);
local v11 = require(script.Parent.ConfirmationDialog);
local v12 = require(l_Parent_0.Resources.Constants);
local v13 = require(l_Parent_0.Utility.SendAnalytics);
local v14 = require(l_RobloxGui_0.Modules.Common.GetDefaultQualityLevel);
local v15 = l_t_0.strictInterface({
    isLeavingGame = l_t_0.boolean,
    onCancel = l_t_0.callback,
    sendAnalytics = l_t_0.callback
});
return l_RoactRodux_0.UNSTABLE_connect2(function(v16, _)
    return {
        isLeavingGame = v16.leavingGame
    };
end, function(v18)
    return {
        onCancel = function()
            v18(v9());
            v13(v12.AnalyticsInGameMenuName, v12.AnalyticsLeaveGameName, {
                confirmed = v12.AnalyticsCancelledName
            });
        end
    };
end)(function(v19)
    if v10.propValidation then
        assert(v15(v19));
    end;
    return v8({
        bodyText = "CoreScripts.InGameMenu.ConfirmLeaveGame",
        confirmText = "CoreScripts.InGameMenu.Leave",
        titleText = "CoreScripts.InGameMenu.LeaveGameQuestion",
        cancelText = "CoreScripts.InGameMenu.Cancel"
    })(function(v20)
        return l_Roact_0.createElement(v11, {
            bodyText = v20.bodyText,
            confirmText = v20.confirmText,
            titleText = v20.titleText,
            cancelText = v20.cancelText,
            bindReturnToConfirm = true,
            onCancel = v19.onCancel,
            onConfirm = function()
                v13(v12.AnalyticsInGameMenuName, v12.AnalyticsLeaveGameName, {
                    confirmed = v12.AnalyticsConfirmedName
                });
                l_RunService_0.Heartbeat:Wait();
                game:Shutdown();
                settings().Rendering.QualityLevel = v14();
            end,
            blurBackground = true,
            visible = v19.isLeavingGame
        });
    end);
end);


local l_CoreGui_0 = game:GetService("CoreGui");
local v1 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v1.Roact;
local l_RoactRodux_0 = v1.RoactRodux;
local l_t_0 = v1.t;
local l_UIBlox_0 = v1.UIBlox;
local l_Parent_0 = script.Parent.Parent;
local v7 = require(l_Parent_0.Localization.withLocalization);
local v8 = require(l_Parent_0.Actions.SetMenuIconTooltipOpen);
local v9 = require(l_Parent_0.Parent.TopBar.Constants);
local l_Tooltip_0 = l_UIBlox_0.App.Dialog.Tooltip;
local v11 = Vector2.new(v9.ScreenSideOffset, v9.TopBarHeight - 32);
local v12 = l_Roact_0.PureComponent:extend("MenuIconTooltip");
v12.validateProps = l_t_0.strictInterface({
    isTooltipOpen = l_t_0.boolean,
    onDismiss = l_t_0.callback
});
v12.render = function(v13)
    return v7({
        bodyText = "CoreScripts.InGameMenu.EducationalPopup.MenuIconTooltip"
    })(function(v14)
        return v13.props.isTooltipOpen and l_Roact_0.createElement(l_Roact_0.Portal, {
            target = l_CoreGui_0
        }, {
            TooltipScreenGui = l_Roact_0.createElement("ScreenGui", {
                IgnoreGuiInset = true,
                ZIndexBehavior = Enum.ZIndexBehavior.Sibling
            }, {
                Tooltip = l_Roact_0.createElement(l_Tooltip_0, {
                    triggerPosition = v11,
                    triggerSize = Vector2.new(32, 32),
                    bodyText = v14.bodyText,
                    onDismiss = v13.props.onDismiss,
                    forceClickTriggerPoint = true
                })
            })
        });
    end);
end;
return l_RoactRodux_0.UNSTABLE_connect2(function(v15, _)
    return {
        isTooltipOpen = v15.nativeClosePrompt.menuIconTooltipOpen
    };
end, function(v17)
    return {
        onDismiss = function()
            v17(v8(false));
        end
    };
end)(v12);


local v0 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v0.Roact;
local l_t_0 = v0.t;
local l_UIBlox_0 = v0.UIBlox;
local l_Parent_0 = script.Parent.Parent;
local v5 = require(l_Parent_0.Resources.Assets);
local l_ImageSetButton_0 = l_UIBlox_0.Core.ImageSet.ImageSetButton;
local v7 = require(l_Parent_0.GlobalConfig);
local v8 = l_t_0.strictInterface({
    onClick = l_t_0.callback
});
return function(v9)
    if v7.propValidation then
        assert(v8(v9));
    end;
    return l_Roact_0.createElement(l_ImageSetButton_0, {
        AnchorPoint = Vector2.new(0.5, 0.5),
        BackgroundTransparency = 1,
        Image = v5.Images.RobloxLogo,
        Position = UDim2.new(0, 50, 0.5, 0),
        Size = UDim2.new(0, 32, 0, 32),
        [l_Roact_0.Event.Activated] = v9.onClick
    });
end;


local v0 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v0.Roact;
local l_UIBlox_0 = v0.UIBlox;
local l_t_0 = v0.t;
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local l_Parent_0 = script.Parent.Parent;
local v6 = require(l_Parent_0.Resources.Assets);
local v7 = require(l_Parent_0.GlobalConfig);
local v8 = l_t_0.strictInterface({
    Size = l_t_0.optional(l_t_0.UDim2),
    AnchorPoint = l_t_0.optional(l_t_0.UDim2),
    CanvasSize = l_t_0.optional(l_t_0.UDim2),
    Position = l_t_0.optional(l_t_0.UDim2),
    [l_Roact_0.Children] = l_t_0.optional(l_t_0.table)
});
return function(v9)
    if v7.propValidation then
        assert(v8(v9));
    end;
    return l_withStyle_0(function(v10)
        return l_Roact_0.createElement("ScrollingFrame", {
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            ScrollBarImageColor3 = v10.Theme.UIEmphasis.Color,
            ScrollBarImageTransparency = v10.Theme.UIEmphasis.Transparency,
            BottomImage = v6.Images.ScrollBottom,
            MidImage = v6.Images.ScrollMid,
            TopImage = v6.Images.ScrollTop,
            ClipsDescendants = false,
            ScrollBarThickness = 12,
            Size = v9.Size,
            AnchorPoint = v9.AnchorPoint,
            CanvasSize = v9.CanvasSize,
            Position = v9.Position
        }, v9[l_Roact_0.Children]);
    end);
end;


local v0 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v0.Roact;
local l_RoactRodux_0 = v0.RoactRodux;
local l_UIBlox_0 = v0.UIBlox;
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local l_withSelectionCursorProvider_0 = l_UIBlox_0.App.SelectionImage.withSelectionCursorProvider;
local l_CursorKind_0 = l_UIBlox_0.App.SelectionImage.CursorKind;
local l_Parent_0 = script.Parent.Parent;
local v8 = require(l_Parent_0.Thunks.NavigateUp);
local v9 = require(l_Parent_0.Resources.Assets);
local v10 = require(l_Parent_0.Resources.Constants);
local v11 = require(l_Parent_0.Components.ZonePortal);
local v12 = require(l_Parent_0.Enums.Direction);
local l_ImageSetButton_0 = l_UIBlox_0.Core.ImageSet.ImageSetButton;
local v14 = require(script.Parent.ThemedTextLabel);
local function v18(v15, v16)
    return l_withStyle_0(function(v17)
        return l_Roact_0.createElement("TextButton", {
            AutoButtonColor = false,
            Text = "",
            BackgroundColor3 = v17.Theme.BackgroundContrast.Color,
            BackgroundTransparency = v17.Theme.BackgroundContrast.Transparency,
            BorderSizePixel = 0,
            Position = v15.position,
            Size = UDim2.new(1, 0, 1, 0),
            Visible = v15.visible and not v15.pageIsModal,
            ZIndex = v15.zIndex,
            Selectable = false
        }, {
            PageTitle = l_Roact_0.createElement(v14, {
                fontKey = "Header1",
                themeKey = "TextEmphasis",
                AnchorPoint = Vector2.new(0.5, 0),
                Position = UDim2.new(0.5, 0, 0, 28),
                Size = UDim2.new(1, -48, 0, 28),
                Text = v15.pageTitle
            }, {
                ExtraChildren = v15.titleChildren,
                BackButton = l_Roact_0.createElement(l_ImageSetButton_0, {
                    BackgroundTransparency = 1,
                    Image = v9.Images.NavigateBack,
                    AnchorPoint = Vector2.new(0, 0.5),
                    ImageColor3 = v17.Theme.IconEmphasis.Color,
                    ImageTransparency = v17.Theme.IconEmphasis.Transparency,
                    Position = UDim2.new(0, 4, 0.5, 0),
                    Size = UDim2.new(0, 36, 0, 36),
                    NextSelectionDown = v15.NextSelectionDown,
                    [l_Roact_0.Event.Activated] = v15.navigateUp,
                    [l_Roact_0.Ref] = v15.buttonRef,
                    SelectionImageObject = v16(l_CursorKind_0.RoundedRect)
                })
            }),
            PageContainer = l_Roact_0.createElement("Frame", {
                AnchorPoint = Vector2.new(0, 1),
                BackgroundTransparency = 1,
                Position = UDim2.new(0, v10.Zone.ContentOffset, 1, 0),
                Size = UDim2.new(1, -v10.Zone.ContentOffset, 1, -68)
            }, v15[l_Roact_0.Children]),
            ZonePortal = l_Roact_0.createElement(v11, {
                targetZone = 0,
                direction = v12.Left
            })
        });
    end);
end;
return l_RoactRodux_0.UNSTABLE_connect2(nil, function(v19)
    return {
        navigateUp = function()
            v19(v8);
        end
    };
end)(function(v20)
    return l_withSelectionCursorProvider_0(function(v21)
        return v18(v20, v21);
    end);
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_GuiService_0 = game:GetService("GuiService");
local v2 = require(l_CorePackages_0.InGameMenuDependencies);
local l_Roact_0 = v2.Roact;
local l_RoactRodux_0 = v2.RoactRodux;
local l_Otter_0 = v2.Otter;
local l_t_0 = v2.t;
local l_Parent_0 = script.Parent.Parent;
local v8 = require(script.Parent.BlurredModalPortal);
local v9 = require(script.Parent.Pages);
local v10 = require(script.Parent.Parent.Resources.Constants);
local v11 = {};
for v12, v13 in pairs(v9.pagesByKey) do
    v11[v12] = require(v13.component);
end;
local v14 = require(l_Parent_0.Localization.withLocalization);
local v15 = l_Roact_0.PureComponent:extend("PageContainer");
v15.validateProps = l_t_0.strictInterface({
    currentPage = l_t_0.string,
    visible = l_t_0.boolean,
    controllerBarHeight = l_t_0.number,
    controllerBarCount = l_t_0.number
});
v15.init = function(v16, v17)
    v16.onContainerRendered = function(v18, v19)
        if v18 then
            local v20 = v16.getSelectionParentNameFromKey(v19);
            l_GuiService_0:RemoveSelectionGroup(v20);
            l_GuiService_0:AddSelectionParent(v20, v18);
        end;
    end;
    v16.getSelectionParentNameFromKey = function(v21)
        return v21 .. "_IGMPageSelectionGroup";
    end;
    local v22 = {};
    local v23 = {};
    local v24 = {};
    v16.pagePositions = {};
    v16.pageVisibilities = {};
    for v25, _ in pairs(v9.pagesByKey) do
        local v27 = v17.currentPage == v25 and 1 or 0;
        local v28, v29 = l_Roact_0.createBinding(v27);
        v22[v25] = v28;
        v23[v25] = v29;
        v24[v25] = v27;
        v16.pagePositions[v25] = v22[v25]:map(function(v30)
            return UDim2.new(v30 - 1, 0, 0, 0);
        end);
        v16.pageVisibilities[v25] = v22[v25]:map(function(v31)
            if not (v31 ~= 0) or v31 == 1.25 then
                return false;
            else
                return true;
            end;
        end);
    end;
    v16.pageMotor = l_Otter_0.createGroupMotor(v24);
    v16.pageMotor:onStep(function(v32)
        for v33, v34 in pairs(v32) do
            v23[v33](v34);
        end;
    end);
end;
v15.render = function(v35)
    local v36 = {};
    for v37, v38 in pairs(v9.pagesByKey) do
        local v39 = v35.pageVisibilities[v37];
        v36[v37] = v14({
            title = v38.title
        })(function(v40)
            if v38.isModal then
                return l_Roact_0.createElement(v8, {
                    Enabled = v35.props.currentPage == v37
                }, {
                    ModalPageContent = l_Roact_0.createElement(v11[v37], {
                        pageTitle = v40.title
                    })
                });
            else
                return l_Roact_0.createElement("Frame", {
                    Size = UDim2.new(1, 0, 1, 0),
                    Position = v35.pagePositions[v37],
                    BackgroundTransparency = 1,
                    ZIndex = v38.navigationDepth,
                    Visible = v39,
                    [l_Roact_0.Ref] = function(v41)
                        v35.onContainerRendered(v41, v37);
                    end
                }, {
                    Page = l_Roact_0.createElement(v11[v37], {
                        pageTitle = v38.title and v40.title
                    })
                });
            end;
        end);
    end;
    return l_Roact_0.createElement("Frame", {
        Size = UDim2.new(0, 400, 1, v35.props.controllerBarCount > 0 and -1 * v10.ControllerBarHeight or nil),
        Position = UDim2.new(0, 64, 0, 0),
        BackgroundTransparency = 1,
        Visible = v35.props.visible,
        ClipsDescendants = true
    }, v36);
end;
v15.didUpdate = function(v42, v43, _)
    local l_currentPage_0 = v43.currentPage;
    local l_currentPage_1 = v42.props.currentPage;
    if l_currentPage_0 ~= l_currentPage_1 then
        local l_isModal_0 = v9.pagesByKey[l_currentPage_1].isModal;
        local l_isModal_1 = v9.pagesByKey[l_currentPage_0].isModal;
        if not l_isModal_0 and not l_isModal_1 then
            if v9.pagesByKey[l_currentPage_0].navigationDepth < v9.pagesByKey[l_currentPage_1].navigationDepth then
                if not l_isModal_0 then
                    v42.pageMotor:setGoal({
                        [l_currentPage_0] = l_Otter_0.spring(1.25, {
                            frequency = 2.5
                        })
                    });
                end;
            elseif v9.pagesByKey[l_currentPage_0].navigationDepth == v9.pagesByKey[l_currentPage_1].navigationDepth then
                v42.pageMotor:setGoal({
                    [l_currentPage_0] = l_Otter_0.spring(0, {
                        frequency = 2.5
                    })
                });
            else
                local v49 = {};
                local l_l_currentPage_0_0 = l_currentPage_0;
                while l_l_currentPage_0_0 ~= nil and l_l_currentPage_0_0 ~= l_currentPage_1 do
                    v49[l_l_currentPage_0_0] = l_Otter_0.spring(0, {
                        frequency = 3.5
                    });
                    l_l_currentPage_0_0 = v9.pagesByKey[l_l_currentPage_0_0].parentPage;
                end;
                v42.pageMotor:setGoal(v49);
            end;
            v42.pageMotor:setGoal({
                [l_currentPage_1] = l_Otter_0.spring(1, {
                    frequency = 2.5
                })
            });
        else
            return ;
        end;
    end;
end;
v15.willUnmount = function(v51)
    for v52, v53 in pairs(v9.pagesByKey) do
        if not v53.isModal then
            l_GuiService_0:RemoveSelectionGroup((v51.getSelectionParentNameFromKey(v52)));
        end;
    end;
end;
return l_RoactRodux_0.UNSTABLE_connect2(function(v54)
    return {
        currentPage = v54.menuPage,
        visible = v54.isMenuOpen,
        controllerBarHeight = v54.controllerBarHeight,
        controllerBarCount = v54.controllerBarCount
    };
end)(v15);


local v0 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Otter_0 = v0.Otter;
local l_Roact_0 = v0.Roact;
local l_RoactRodux_0 = v0.RoactRodux;
local l_UIBlox_0 = v0.UIBlox;
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_withSelectionCursorProvider_0 = l_UIBlox_0.App.SelectionImage.withSelectionCursorProvider;
local l_CursorKind_0 = l_UIBlox_0.App.SelectionImage.CursorKind;
local l_Parent_0 = script.Parent.Parent;
local v10 = require(l_Parent_0.Actions.SetCurrentPage);
local v11 = require(script.Parent.Pages);
local v12 = require(script.Parent.ThemedTextLabel);
local v13 = require(script.Parent.Divider);
local v14 = require(l_Parent_0.Localization.withLocalization);
local v15 = require(l_Parent_0.Utility.divideTransparency);
local v16 = require(l_Parent_0.Utility.SendAnalytics);
local v17 = require(l_Parent_0.Resources.Constants);
local v18 = l_Roact_0.PureComponent:extend("NavigationButton");
v18.init = function(v19, v20)
    local v21 = not v20.selected and 0 or 1;
    local v22, v23 = l_Roact_0.createBinding(v21);
    v19.fillSize = v22:map(function(v24)
        return UDim2.new(v24, 0, 1, 0);
    end);
    local v25, v26 = l_Roact_0.createBinding(0);
    v19.hoverTransparency = v25;
    v19.setHoverTransparency = v26;
    v19.motor = l_Otter_0.createGroupMotor({
        fillProgress = v21,
        hoverTransparency = 0
    });
    v19.motor:onStep(function(v27)
        v23(v27.fillProgress);
        v19.setHoverTransparency(v27.hoverTransparency);
    end);
    v19:setState({
        hovering = false,
        pressing = false
    });
end;
v18.renderWithSelectionCursor = function(v28, v29)
    local l_props_0 = v28.props;
    return v14({
        text = l_props_0.text
    })(function(v31)
        return l_withStyle_0(function(v32)
            local v33 = v28.state.pressing and not l_props_0.selected;
            local v34 = {
                Transparency = 1,
                Color = Color3.new(1, 1, 1)
            };
            if not v28.state.pressing then
                if v28.state.hovering then
                    v34 = v32.Theme.BackgroundOnHover;
                end;
            else
                v34 = v32.Theme.BackgroundOnPress;
            end;
            return l_Roact_0.createElement("TextButton", {
                AutoButtonColor = false,
                BackgroundTransparency = v34.Transparency,
                BackgroundColor3 = v34.Color,
                BorderSizePixel = 0,
                LayoutOrder = l_props_0.LayoutOrder,
                Size = UDim2.new(1, 0, 0, 70),
                Text = "",
                SelectionImageObject = v29(l_CursorKind_0.Square),
                [l_Roact_0.Event.Activated] = l_props_0.onActivated,
                [l_Roact_0.Ref] = l_props_0.LayoutOrder == 1 and l_props_0.mainPageFirstButtonRef or nil,
                [l_Roact_0.Event.MouseEnter] = function()
                    v28:setState({
                        hovering = true
                    });
                end,
                [l_Roact_0.Event.MouseLeave] = function()
                    v28:setState({
                        hovering = false,
                        pressing = false
                    });
                end,
                [l_Roact_0.Event.InputBegan] = function(_, v36)
                    if not (v36.UserInputType ~= Enum.UserInputType.MouseButton1) or v36.UserInputType == Enum.UserInputType.Touch then
                        v28:setState({
                            pressing = true
                        });
                    end;
                end,
                [l_Roact_0.Event.InputEnded] = function(_, v38)
                    if not (v38.UserInputType ~= Enum.UserInputType.MouseButton1) or v38.UserInputType == Enum.UserInputType.Touch then
                        v28:setState({
                            pressing = false
                        });
                    end;
                end
            }, {
                ContentContainer = l_Roact_0.createElement("Frame", {
                    Size = UDim2.new(1, 0, 1, 0),
                    Position = UDim2.new(0.5, 0, 0.5, 0),
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    ZIndex = 3,
                    BackgroundTransparency = 1
                }, {
                    Icon = l_Roact_0.createElement(l_ImageSetLabel_0, {
                        AnchorPoint = Vector2.new(0, 0.5),
                        BackgroundTransparency = 1,
                        Image = l_props_0.image,
                        ImageColor3 = v32.Theme.IconEmphasis.Color,
                        ImageTransparency = v15(v32.Theme.IconEmphasis.Transparency, not v33 and 1 or 2),
                        Position = UDim2.new(0, 28, 0.5, 0),
                        Size = UDim2.new(0, 36, 0, 36),
                        ZIndex = 3
                    }),
                    Text = l_Roact_0.createElement(v12, {
                        fontKey = "Header1",
                        themeKey = "TextEmphasis",
                        AnchorPoint = Vector2.new(0, 0.5),
                        Position = UDim2.new(0, 80, 0.5, 0),
                        Size = UDim2.new(1, -104, 1, 0),
                        Text = v31.text,
                        TextTransparency = v15(v32.Theme.TextEmphasis.Transparency, not v33 and 1 or 2),
                        TextXAlignment = Enum.TextXAlignment.Left,
                        ZIndex = 3
                    })
                }),
                SelectedFill = l_Roact_0.createElement("Frame", {
                    BorderSizePixel = 0,
                    Size = v28.fillSize,
                    BackgroundColor3 = v32.Theme.BackgroundMuted.Color,
                    ZIndex = 2
                })
            });
        end);
    end);
end;
v18.render = function(v39)
    return l_withSelectionCursorProvider_0(function(v40)
        return v39:renderWithSelectionCursor(v40);
    end);
end;
v18.didUpdate = function(v41)
    v41.motor:setGoal({
        fillProgress = l_Otter_0.spring(not v41.props.selected and 0 or 1, {
            frequency = 2.5
        }),
        hoverTransparency = l_Otter_0.spring(not v41.state.hovering and 0 or 1, {
            frequency = 5
        })
    });
end;
return l_RoactRodux_0.UNSTABLE_connect2(function(v42, _)
    return {
        currentPage = v42.menuPage
    };
end, function(v44)
    return {
        setCurrentPage = function(v45)
            v44(v10(v45));
            v16("open_" .. v45 .. "_tab", v17.AnalyticsMenuActionName, {});
        end
    };
end)(function(v46)
    local v47 = {
        Layout = l_Roact_0.createElement("UIListLayout", {
            SortOrder = Enum.SortOrder.LayoutOrder,
            HorizontalAlignment = Enum.HorizontalAlignment.Right
        })
    };
    local v48 = #v11.pagesByIndex;
    local v49 = 1;
    for v50, v51 in ipairs(v11.pagesByIndex) do
        if v51.parentPage == v17.MainPagePageKey then
            v47["Page" .. v51.key] = l_Roact_0.createElement(v18, {
                image = v51.icon,
                LayoutOrder = v49,
                selected = v46.currentPage == v51.key,
                text = v51.title,
                onActivated = function()
                    v46.setCurrentPage(v51.key);
                end,
                mainPageFirstButtonRef = v49 == 1 and v46.mainPageFirstButtonRef or nil
            });
            v49 = v49 + 1;
            if v50 < v48 then
                v47["Divider" .. v49] = l_Roact_0.createElement(v13, {
                    LayoutOrder = v49,
                    Size = UDim2.new(1, -24, 0, 1)
                });
                v49 = v49 + 1;
            end;
        end;
    end;
    return l_Roact_0.createElement("Frame", {
        BackgroundTransparency = 1,
        Position = v46.Position,
        Size = UDim2.new(1, -v17.Zone.ContentOffset, 0, v48 * 70 + (v48 - 1))
    }, v47);
end);


local v0 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v0.Roact;
local l_RoactRodux_0 = v0.RoactRodux;
local l_t_0 = v0.t;
local v4 = l_Roact_0.PureComponent:extend("PageNavigationWatcher");
v4.validateProps = l_t_0.strictInterface({
    desiredPage = l_t_0.string,
    onNavigateTo = l_t_0.optional(l_t_0.callback),
    onNavigateAway = l_t_0.optional(l_t_0.callback),
    currentPage = l_t_0.string,
    menuOpen = l_t_0.boolean
});
v4.init = function(v5, v6)
    v5:setState({
        lastPage = v6.currentPage,
        lastMenuOpen = v6.menuOpen
    });
end;
v4.render = function(v7)
    return l_Roact_0.createFragment(v7.props[l_Roact_0.Children]);
end;
v4.didUpdate = function(v8)
    local l_lastPage_0 = v8.state.lastPage;
    local l_lastMenuOpen_0 = v8.state.lastMenuOpen;
    local l_currentPage_0 = v8.props.currentPage;
    local l_menuOpen_0 = v8.props.menuOpen;
    if not (l_lastPage_0 == l_currentPage_0) or l_lastMenuOpen_0 ~= l_menuOpen_0 then
        v8:setState({
            lastPage = l_currentPage_0,
            lastMenuOpen = l_menuOpen_0
        });
        if not (not (l_currentPage_0 == v8.props.desiredPage) or not l_menuOpen_0) and v8.props.onNavigateTo ~= nil then
            v8.props.onNavigateTo();
            return ;
        elseif not (not (l_lastPage_0 == v8.props.desiredPage) or not l_lastMenuOpen_0) and v8.props.onNavigateAway ~= nil then
            v8.props.onNavigateAway();
            return ;
        elseif not (not l_lastMenuOpen_0 or l_menuOpen_0) and v8.props.onNavigateAway ~= nil then
            v8.props.onNavigateAway();
        end;
    end;
end;
return l_RoactRodux_0.UNSTABLE_connect2(function(v13)
    return {
        currentPage = v13.menuPage,
        menuOpen = v13.isMenuOpen
    };
end)(v4);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_GuiService_0 = game:GetService("GuiService");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local v4 = require(l_CorePackages_0.InGameMenuDependencies);
local l_Roact_0 = v4.Roact;
local l_UIBlox_0 = v4.UIBlox;
local l_t_0 = v4.t;
local l_Parent_0 = script.Parent.Parent.Parent;
local l_Parent_1 = l_Parent_0.Parent;
local v10 = require(l_Parent_0.GameIcon);
local l_Button_0 = l_UIBlox_0.App.Button.Button;
local l_ButtonType_0 = l_UIBlox_0.App.Button.Enum.ButtonType;
local v13 = require(l_Parent_0.ThemedTextLabel);
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local v15 = require(l_Parent_0.Connection.FocusHandler);
local v16 = require(l_Parent_0.ZonePortal);
local v17 = require(l_Parent_1.Enums.Direction);
local v18 = require(l_RobloxGui_0.Modules.FTUX.Flags.GetFFlagEnableVRFTUXExperience);
local v19 = require(l_RobloxGui_0.Modules.FTUX.Utility.IsFTUXExperience);
local v20 = require(l_RobloxGui_0.Modules.FTUX.Enums.PlatformEnum);
local v21 = l_Roact_0.PureComponent:extend("LeavePrompt");
v21.validateProps = l_t_0.strictInterface({
    titleText = l_t_0.string,
    bodyText = l_t_0.string,
    confirmText = l_t_0.string,
    cancelText = l_t_0.string,
    onConfirm = l_t_0.callback,
    onCancel = l_t_0.callback,
    canGamepadCaptureFocus = l_t_0.boolean,
    canKeyboardCaptureFocus = l_t_0.boolean
});
v21.defaultProps = {
    canGamepadCaptureFocus = false,
    canKeyboardCaptureFocus = false
};
v21.init = function(v22)
    v22.leaveButtonRef = l_Roact_0.createRef();
end;
v21.render = function(v23)
    return l_withStyle_0(function(v24)
        local l_Font_0 = v24.Font;
        return l_Roact_0.createElement("ImageButton", {
            Size = UDim2.fromScale(1, 1),
            AutoButtonColor = false,
            BackgroundColor3 = v24.Theme.BackgroundDefault.Color,
            BackgroundTransparency = v24.Theme.BackgroundDefault.Transparency,
            Selectable = false
        }, {
            Content = l_Roact_0.createElement("Frame", {
                Size = UDim2.fromScale(1, 1),
                BackgroundTransparency = 1,
                Selectable = false
            }, {
                Layout = l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    Padding = UDim.new(0, 24),
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                GameThumbnail = l_Roact_0.createElement(v10, {
                    gameId = game.GameId,
                    iconSize = 100,
                    layoutOrder = 1
                }),
                TitleText = l_Roact_0.createElement(v13, {
                    fontKey = "Header1",
                    themeKey = "TextEmphasis",
                    LayoutOrder = 2,
                    Size = UDim2.new(1, 0, 0, l_Font_0.Header1.RelativeSize * l_Font_0.BaseSize + 4),
                    Text = v23.props.titleText
                }),
                BodyText = l_Roact_0.createElement(v13, {
                    fontKey = "Body",
                    themeKey = "TextDefault",
                    LayoutOrder = 3,
                    Size = if not not v18() and v19(v20.QuestVR) then UDim2.fromOffset(353, 4 * (l_Font_0.Body.RelativeSize * l_Font_0.BaseSize + 4)) else UDim2.fromOffset(353, 2 * (l_Font_0.Body.RelativeSize * l_Font_0.BaseSize + 4)),
                    Text = v23.props.bodyText,
                    TextWrapped = true
                }),
                ButtonGroup = l_Roact_0.createElement("Frame", {
                    BackgroundTransparency = 1,
                    Size = UDim2.fromOffset(353, 84),
                    LayoutOrder = 4
                }, {
                    ConfirmButton = l_Roact_0.createElement(l_Button_0, {
                        buttonType = l_ButtonType_0.PrimarySystem,
                        layoutOrder = 4,
                        position = UDim2.fromOffset(0, 0),
                        size = UDim2.fromOffset(353, 36),
                        onActivated = v23.props.onConfirm,
                        text = v23.props.confirmText,
                        buttonRef = v23.leaveButtonRef
                    }),
                    CancelButton = l_Roact_0.createElement(l_Button_0, {
                        buttonType = l_ButtonType_0.Secondary,
                        layoutOrder = 5,
                        position = UDim2.fromOffset(0, 48),
                        size = UDim2.fromOffset(353, 36),
                        onActivated = v23.props.onCancel,
                        text = v23.props.cancelText
                    })
                })
            }),
            FocusHandler = l_Roact_0.createElement(v15, {
                isFocused = v23.props.canGamepadCaptureFocus,
                didFocus = function()
                    l_GuiService_0.SelectedCoreObject = v23.leaveButtonRef.current;
                end
            }),
            ZonePortal = l_Roact_0.createElement(v16, {
                targetZone = 0,
                direction = v17.Left
            }),
            KeyboardFocusHandler = l_Roact_0.createElement(v15, {
                isFocused = v23.props.canKeyboardCaptureFocus,
                didFocus = function()
                    l_ContextActionService_0:BindCoreAction("LeavePromptConfirm", function(_, v27)
                        if v27 == Enum.UserInputState.End then
                            v23.props.onConfirm();
                            return Enum.ContextActionResult.Sink;
                        else
                            return Enum.ContextActionResult.Pass;
                        end;
                    end, false, Enum.KeyCode.Return);
                end,
                didBlur = function()
                    l_ContextActionService_0:UnbindCoreAction("LeavePromptConfirm");
                end
            }) or nil
        });
    end);
end;
return v21;


local v0 = require(game:GetService("CorePackages").InGameMenuDependencies).Roact.PureComponent:extend("InitalPage");
v0.render = function(_)
end;
return v0;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Parent_0 = script.Parent.Parent;
local l_Images_0 = require(l_CorePackages_0.InGameMenuDependencies).UIBlox.App.ImageSet.Images;
local v3 = require(l_Parent_0.Resources.Constants);
local v4 = {
    {
        key = v3.InitalPageKey,
        navigationDepth = 1,
        component = script.InitalPage,
        parentPage = nil
    },
    {
        key = v3.MainPagePageKey,
        navigationDepth = 1,
        component = script.Parent.MainPage,
        parentPage = nil
    },
    {
        key = "Players",
        title = "CoreScripts.InGameMenu.PageTitle.Players",
        icon = l_Images_0["icons/controls/players"],
        component = script.PlayersPage,
        navigationDepth = 2,
        parentPage = v3.MainPagePageKey
    },
    {
        key = "InviteFriends",
        title = "CoreScripts.InGameMenu.PageTitle.InviteFriends",
        icon = l_Images_0["icons/actions/friends/friendInvite"],
        component = script.Parent.InviteFriendsPage,
        navigationDepth = 2,
        parentPage = v3.MainPagePageKey
    },
    {
        key = "GameSettings",
        title = "CoreScripts.InGameMenu.PageTitle.GameSettings",
        icon = l_Images_0["icons/common/settings"],
        component = script.Parent.GameSettingsPage.BasicPage,
        navigationDepth = 2,
        parentPage = v3.MainPagePageKey
    },
    {
        key = "Report",
        title = "CoreScripts.InGameMenu.PageTitle.Report",
        icon = l_Images_0["icons/actions/feedback"],
        component = script.Parent.ReportPage,
        navigationDepth = 2,
        parentPage = v3.MainPagePageKey
    },
    {
        key = "Controls",
        title = "CoreScripts.InGameMenu.PageTitle.Controls",
        icon = l_Images_0["icons/controls/controls"],
        component = script.Parent.ControlsPage,
        isModal = true,
        navigationDepth = 2,
        parentPage = v3.MainPagePageKey
    },
    {
        key = "AdvancedGameSettings",
        title = "CoreScripts.InGameMenu.PageTitle.GameSettings",
        icon = l_Images_0["icons/menu/settings_large"],
        component = script.Parent.GameSettingsPage.AdvancedPage,
        isSecondaryPage = true,
        navigationDepth = 3,
        parentPage = "GameSettings"
    },
    {
        key = "VRGameSettings",
        title = "CoreScripts.InGameMenu.PageTitle.VRComfortSettings",
        icon = l_Images_0["icons/menu/settings_large"],
        component = script.Parent.GameSettingsPage.VRComfortSettingsPage,
        isSecondaryPage = true,
        navigationDepth = 3,
        parentPage = "GameSettings"
    },
    {
        key = v3.LeaveToAppPromptPageKey,
        navigationDepth = 1,
        component = script.Dialog.LeaveToAppPrompt,
        parentPage = nil
    },
    {
        key = v3.LeaveGamePromptPageKey,
        navigationDepth = 1,
        component = script.Dialog.LeaveGamePrompt,
        parentPage = nil
    }
};
local v5 = {};
for v6, v7 in ipairs(v4) do
    v7.index = v6;
    assert(v5[v7.key] == nil, ("page key %s is duplicated"):format(v7.key));
    v5[v7.key] = v7;
end;
return {
    pagesByIndex = v4,
    pagesByKey = v5
};


local l_CorePackages_0 = game:GetService("CorePackages");
local l_UserInputService_0 = game:GetService("UserInputService");
local v2 = require(l_CorePackages_0.Packages.React);
local v3 = require(l_CorePackages_0.Workspace.Packages.VerifiedBadges);
local v4 = require(l_CorePackages_0.InGameMenuDependencies);
local l_Roact_0 = v4.Roact;
local l_UIBlox_0 = v4.UIBlox;
local l_Cryo_0 = v4.Cryo;
local l_t_0 = v4.t;
local l_Cell_0 = l_UIBlox_0.App.Table.Cell;
local l_CursorKind_0 = l_UIBlox_0.App.SelectionImage.CursorKind;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_LoadableImage_0 = l_UIBlox_0.App.Loading.LoadableImage;
local l_LoadingStrategy_0 = l_UIBlox_0.App.Loading.Enum.LoadingStrategy;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local l_withSelectionCursorProvider_0 = l_UIBlox_0.App.SelectionImage.withSelectionCursorProvider;
local l_Parent_0 = script.Parent.Parent;
local v18 = require(l_Parent_0.Resources.Assets);
local v19 = require(l_Parent_0.Components.ThemedTextLabel);
local v20 = UDim.new(0, 24);
local v21 = l_Roact_0.PureComponent:extend("PlayerCell");
v21.validateProps = l_t_0.strictInterface({
    userId = l_t_0.number,
    username = l_t_0.string,
    displayName = l_t_0.optional(l_t_0.string),
    hasVerifiedBadge = l_t_0.optional(l_t_0.boolean),
    isOnline = l_t_0.optional(l_t_0.boolean),
    isSelected = l_t_0.optional(l_t_0.boolean),
    LayoutOrder = l_t_0.union(l_t_0.integer, l_t_0.table),
    Visible = l_t_0.optional(l_t_0.boolean),
    loadingStrategy = l_t_0.optional(l_LoadingStrategy_0.isEnumValue),
    onActivated = l_t_0.optional(l_t_0.callback),
    memoKey = l_t_0.optional(l_t_0.number),
    [l_Roact_0.Children] = l_t_0.optional(l_t_0.table),
    [l_Roact_0.Change.AbsolutePosition] = l_t_0.optional(l_t_0.callback),
    forwardRef = l_t_0.optional(l_t_0.union(l_t_0.callback, l_t_0.table)),
    UserInputService = l_t_0.optional(l_t_0.union(l_t_0.Instance, l_t_0.table))
});
v21.defaultProps = {
    Visible = true,
    UserInputService = l_UserInputService_0
};
v21.init = function(v22)
    v22.onActivated = function()
        if not (not v22.props.onActivated or not v22.props.userId) then
            v22.props.onActivated(v22.props.userId);
        end;
    end;
end;
v21.renderButtons = function(v23)
    return (l_Cryo_0.Dictionary.join(v23.props[l_Roact_0.Children] or {}, {
        List = l_Roact_0.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Horizontal,
            HorizontalAlignment = Enum.HorizontalAlignment.Right,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            Padding = UDim.new(0, 5)
        })
    }));
end;
v21.renderWithSelectionCursor = function(v24, v25)
    local l_props_0 = v24.props;
    local v27 = l_props_0.displayName ~= "" and l_props_0.displayName or l_props_0.username;
    return l_withStyle_0(function(v28)
        local l_BackgroundContrast_0 = v28.Theme.BackgroundContrast;
        local v30 = 1.1;
        if v24.props.isSelected then
            l_BackgroundContrast_0 = v28.Theme.BackgroundOnHover;
            v30 = 0.23;
        end;
        local l_Color_0 = l_BackgroundContrast_0.Color;
        return l_Roact_0.createElement(l_Cell_0, {
            background = not not v24.props.isSelected and l_Roact_0.createElement("Frame", {
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundColor3 = l_Color_0,
                BackgroundTransparency = l_BackgroundContrast_0.Transparency
            }) or nil,
            onActivated = v24.onActivated,
            [l_Roact_0.Change.AbsolutePosition] = v24.props[l_Roact_0.Change.AbsolutePosition],
            [l_Roact_0.Ref] = v24.props.forwardRef or nil,
            SelectionImageObject = v25(l_CursorKind_0.Square),
            layoutOrder = l_props_0.LayoutOrder,
            size = UDim2.new(1, 0, 0, 72),
            head = l_Roact_0.createElement("Frame", {
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                AnchorPoint = Vector2.new(0, 0),
                Size = UDim2.new(1, -20, 0, 72),
                AutomaticSize = Enum.AutomaticSize.XY
            }, {
                HeadListLayout = l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    VerticalAlignment = Enum.VerticalAlignment.Center
                }),
                AvatarBackground = l_Roact_0.createElement(l_ImageSetLabel_0, {
                    BackgroundTransparency = 1,
                    Image = l_Images_0["component_assets/userBG_dark"],
                    Size = UDim2.new(0, 48, 0, 48)
                }, {
                    BorderRadius = l_Roact_0.createElement("UICorner", {
                        CornerRadius = v20
                    }),
                    PlayerIcon = l_Roact_0.createElement(l_LoadableImage_0, {
                        loadingStrategy = v24.props.loadingStrategy,
                        Size = UDim2.fromScale(1, 1),
                        ImageColor3 = not not l_props_0.isOnline and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(115, 115, 115),
                        BackgroundTransparency = 1,
                        Image = l_props_0.userId > 0 and "rbxthumb://type=AvatarHeadShot&id=" .. l_props_0.userId .. "&w=60&h=60" or "",
                        ZIndex = 2,
                        LayoutOrder = 1,
                        useShimmerAnimationWhileLoading = true,
                        renderOnFailed = function()
                            return l_Roact_0.createElement(l_ImageSetLabel_0, {
                                Size = UDim2.fromScale(1, 1),
                                BackgroundTransparency = 1,
                                Image = l_Images_0["icons/common/user"],
                                ZIndex = 2,
                                LayoutOrder = 1
                            }, {
                                Corner = l_Roact_0.createElement("UICorner", {
                                    CornerRadius = v20
                                })
                            });
                        end,
                        cornerRadius = v20
                    }),
                    OnlineIndicator = not not v24.props.isOnline and l_Roact_0.createElement(l_ImageSetLabel_0, {
                        AnchorPoint = Vector2.new(1, 1),
                        Image = v18.Images.Circle,
                        ImageColor3 = not not l_props_0.isOnline and v28.Theme.OnlineStatus.Color or nil,
                        Position = UDim2.new(1, -3, 1, -3),
                        Size = UDim2.new(0, 6, 0, 6),
                        ZIndex = 3
                    }, {
                        Corner = l_Roact_0.createElement("UICorner", {
                            CornerRadius = UDim.new(0, 3)
                        }),
                        Border = l_Roact_0.createElement("UIStroke", {
                            ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
                            Color = Color3.new(l_Color_0.R * v30, l_Color_0.G * v30, l_Color_0.B * v30),
                            Transparency = 0,
                            Thickness = 2
                        })
                    }) or nil
                }),
                NameContainer = l_Roact_0.createElement("Frame", {
                    BackgroundTransparency = 1,
                    Size = UDim2.new(1, -68, 0, 72),
                    Position = UDim2.fromOffset(48, 0),
                    AnchorPoint = Vector2.new(0, 0.5),
                    LayoutOrder = 2
                }, {
                    NameListLayout = l_Roact_0.createElement("UIListLayout", {
                        FillDirection = Enum.FillDirection.Vertical,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        VerticalAlignment = Enum.VerticalAlignment.Center
                    }),
                    NamePadding = l_Roact_0.createElement("UIPadding", {
                        PaddingLeft = UDim.new(0, 6)
                    }),
                    DisplayNameLabel = l_Roact_0.createElement(v3.EmojiWrapper, {
                        emoji = not l_props_0.hasVerifiedBadge and "" or v3.emoji.verified,
                        automaticSize = Enum.AutomaticSize.None,
                        size = UDim2.new(1, -40, 0, 20)
                    }, {
                        DisplayNameLabel = l_Roact_0.createElement(v19, {
                            fontKey = "CaptionHeader",
                            themeKey = "TextEmphasis",
                            BackgroundTransparency = 1,
                            Text = v27 or l_props_0.username,
                            Size = UDim2.new(1, 0, 0, 20),
                            AutomaticSize = if not l_props_0.hasVerifiedBadge then Enum.AutomaticSize.None else Enum.AutomaticSize.XY,
                            TextXAlignment = Enum.TextXAlignment.Left,
                            TextTruncate = Enum.TextTruncate.AtEnd,
                            LayoutOrder = 1
                        })
                    }),
                    UsernameLabel = l_Roact_0.createElement(v19, {
                        fontKey = "Footer",
                        themeKey = "TextDefault",
                        BackgroundTransparency = 1,
                        AnchorPoint = Vector2.new(0, 0.5),
                        Size = UDim2.new(1, 0, 0, 14),
                        Text = "@" .. l_props_0.username,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextTruncate = Enum.TextTruncate.AtEnd,
                        LayoutOrder = 2
                    })
                })
            }),
            tail = l_Roact_0.createElement("Frame", {
                AnchorPoint = Vector2.new(1, 0),
                BackgroundTransparency = 1,
                Position = UDim2.new(1, 0, 0, 0),
                Size = UDim2.new(0, 0, 1, 0)
            }, v24:renderButtons())
        });
    end);
end;
v21.render = function(v32)
    return l_withSelectionCursorProvider_0(function(v33)
        return v32:renderWithSelectionCursor(v33);
    end);
end;
return v2.memo(v21, function(v34, v35)
    local v36 = false;
    if v34.isSelected == v35.isSelected then
        v36 = false;
        if v34.isOnline == v35.isOnline then
            v36 = false;
            if v34[l_Roact_0.Change.AbsolutePosition] == v35[l_Roact_0.Change.AbsolutePosition] then
                v36 = false;
                if v34.forwardRef == v35.forwardRef then
                    v36 = false;
                    if v34.memoKey == v35.memoKey then
                        v36 = v34.loadingStrategy == v35.loadingStrategy;
                    end;
                end;
            end;
        end;
    end;
    return v36;
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local l_GuiService_0 = game:GetService("GuiService");
local v4 = require(l_CorePackages_0.InGameMenuDependencies);
local l_Roact_0 = v4.Roact;
local l_UIBlox_0 = v4.UIBlox;
local l_t_0 = v4.t;
local l_BaseMenu_0 = l_UIBlox_0.App.Menu.BaseMenu;
local l_Parent_0 = script.Parent.Parent;
local v10 = require(script.Parent.Connection.FocusHandler);
local v11 = require(script.Parent.Connection.RootedConnection);
local l_Flags_0 = l_Parent_0.Flags;
local v13 = require(l_Flags_0.GetFFlagIGMRefactorPlayerContextualMenuGamepadSupport);
local v14 = require(l_Flags_0.GetFFlagIGMGamepadSelectionHistory);
local v15 = l_Roact_0.PureComponent:extend("PlayerContextualMenu");
v15.validateProps = l_t_0.strictInterface({
    moreActions = l_t_0.table,
    actionWidth = l_t_0.number,
    xOffset = l_t_0.number,
    yOffset = l_t_0.number,
    onClose = l_t_0.callback,
    canCaptureFocus = l_t_0.boolean
});
v15.init = function(v16)
    if not v13() then
        v16.firstOptionRef = nil;
        v16.containerRef = nil;
        v16.state = {
            isRooted = false,
            firstOptionRef = nil,
            containerRef = nil
        };
        v16.setFirstOptionRef = function(v17)
            v16:setState({
                firstOptionRef = v17
            });
        end;
        v16.setContainerRef = function(v18)
            v16:setState({
                containerRef = v18
            });
        end;
        v16.onAncestryChanged = function(v19)
            if v19:IsDescendantOf(game) then
                v16:setState({
                    isRooted = true
                });
            end;
        end;
        return ;
    else
        v16.firstOptionRef = l_Roact_0.createRef();
        v16.containerRef = l_Roact_0.createRef();
        return ;
    end;
end;
v15.renderContextualMenuFocusHandler = function(v20, v21, v22)
    local _ = nil;
    return l_Roact_0.createElement(v10, {
        isFocused = if not v13() then ((v20.props.canCaptureFocus and v20.state.isRooted) and v20.state.firstOptionRef) and v20.state.containerRef else v20.props.canCaptureFocus and v21,
        didFocus = function(v24)
            l_ContextActionService_0:BindCoreAction("player_contextual_menu_close_action", function(_, v26)
                if not (v26 == Enum.UserInputState.End) or not v20.props.onClose then
                    return Enum.ContextActionResult.Pass;
                else
                    v20.props.onClose();
                    return Enum.ContextActionResult.Sink;
                end;
            end, false, Enum.KeyCode.ButtonB);
            l_GuiService_0:RemoveSelectionGroup("player_contextual_menu_selection_parent");
            if not v13() then
                l_GuiService_0:AddSelectionParent("player_contextual_menu_selection_parent", v20.state.containerRef);
                if not v14() then
                    l_GuiService_0.SelectedCoreObject = v20.state.firstOptionRef;
                    return ;
                else
                    l_GuiService_0.SelectedCoreObject = v24 or v20.state.firstOptionRef;
                    return ;
                end;
            else
                l_GuiService_0:AddSelectionParent("player_contextual_menu_selection_parent", v20.containerRef:getValue());
                if not v14() then
                    l_GuiService_0.SelectedCoreObject = v20.firstOptionRef:getValue();
                    return ;
                else
                    l_GuiService_0.SelectedCoreObject = v24 or v20.firstOptionRef:getValue();
                    return ;
                end;
            end;
        end,
        didBlur = function()
            l_ContextActionService_0:UnbindCoreAction("player_contextual_menu_close_action");
        end
    }, not not v13() and v22 or nil);
end;
v15.render = function(v27)
    return l_Roact_0.createElement(l_Roact_0.Portal, {
        target = l_CoreGui_0
    }, {
        InGameMenuContextGui = l_Roact_0.createElement("ScreenGui", {
            DisplayOrder = 2,
            ZIndexBehavior = Enum.ZIndexBehavior.Sibling
        }, {
            FocusHandler = not v13() and v27:renderContextualMenuFocusHandler() or nil,
            MoreActionsMenu = not v13() and l_Roact_0.createElement("Frame", {
                [l_Roact_0.Event.AncestryChanged] = v27.onAncestryChanged,
                Size = UDim2.fromScale(1, 1),
                BackgroundTransparency = 1,
                [l_Roact_0.Ref] = v27.setContainerRef
            }, {
                BaseMenu = l_Roact_0.createElement(l_BaseMenu_0, {
                    buttonProps = v27.props.moreActions,
                    setFirstItemRef = v27.setFirstOptionRef,
                    width = UDim.new(0, v27.props.actionWidth),
                    position = UDim2.fromOffset(v27.props.xOffset, v27.props.yOffset)
                })
            }) or nil,
            RootedConnection = not not v13() and l_Roact_0.createElement(v11, {
                render = function(v28)
                    return v27:renderContextualMenuFocusHandler(v28, {
                        MoreActionsMenu = l_Roact_0.createElement("Frame", {
                            Size = UDim2.fromScale(1, 1),
                            BackgroundTransparency = 1,
                            [l_Roact_0.Ref] = v27.containerRef
                        }, {
                            BaseMenu = l_Roact_0.createElement(l_BaseMenu_0, {
                                buttonProps = v27.props.moreActions,
                                setFirstItemRef = v27.firstOptionRef,
                                width = UDim.new(0, v27.props.actionWidth),
                                position = UDim2.fromOffset(v27.props.xOffset, v27.props.yOffset)
                            })
                        })
                    });
                end
            }) or nil
        })
    });
end;
return v15;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.InGameMenuDependencies);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_Cryo_0 = v1.Cryo;
local l_t_0 = v1.t;
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local l_Parent_0 = script.Parent.Parent;
local v8 = require(l_Parent_0.Flags.FFlagLuaMenuPerfImprovements);
local v9 = require(l_Parent_0.Resources.Assets);
local v10 = require(l_Parent_0.Components.ThemedTextLabel);
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_withSelectionCursorProvider_0 = l_UIBlox_0.App.SelectionImage.withSelectionCursorProvider;
local l_CursorKind_0 = l_UIBlox_0.App.SelectionImage.CursorKind;
local v14 = {
    AnchorPoint = Vector2.new(0, 0.5),
    Position = UDim2.new(0, 24, 0.5, 0),
    Size = UDim2.new(0, 44, 0, 44)
};
local l_validatePropsWithForwardRef_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).validatePropsWithForwardRef;
local v16 = l_Roact_0.PureComponent:extend("PlayerLabel");
v16.validateProps = l_t_0.strictInterface(l_validatePropsWithForwardRef_0({
    userId = l_t_0.number,
    username = l_t_0.string,
    isOnline = l_t_0.boolean,
    isSelected = l_t_0.boolean,
    LayoutOrder = l_t_0.integer,
    Visible = l_t_0.optional(l_t_0.boolean),
    onActivated = l_t_0.optional(l_t_0.callback),
    [l_Roact_0.Children] = l_t_0.optional(l_t_0.table),
    [l_Roact_0.Change.AbsolutePosition] = l_t_0.optional(l_t_0.callback),
    [l_Roact_0.Ref] = l_t_0.optional(l_t_0.union(l_t_0.callback, l_t_0.table))
}));
v16.defaultProps = {
    Visible = true
};
if v8 then
    v16.init = function(v17)
        v17.onActivated = function()
            v17.props.onActivated(v17.props.userId);
        end;
    end;
end;
v16.renderButtons = function(v18)
    return (l_Cryo_0.Dictionary.join(v18.props[l_Roact_0.Children] or {}, {
        List = l_Roact_0.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Horizontal,
            HorizontalAlignment = Enum.HorizontalAlignment.Right,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            Padding = UDim.new(0, 12)
        })
    }));
end;
v16.renderWithSelectionCursor = function(v19, v20)
    local l_props_0 = v19.props;
    return l_withStyle_0(function(v22)
        local l_BackgroundContrast_0 = v22.Theme.BackgroundContrast;
        if v19.props.isSelected then
            l_BackgroundContrast_0 = {
                Color = Color3.fromRGB(48, 50, 52),
                Transparency = 0
            };
        end;
        local l_onActivated_0 = v19.props.onActivated;
        if v8 then
            l_onActivated_0 = not not v19.props.onActivated and v19.onActivated or nil;
        end;
        return l_Roact_0.createElement("TextButton", {
            BackgroundTransparency = l_BackgroundContrast_0.Transparency,
            BackgroundColor3 = l_BackgroundContrast_0.Color,
            BorderSizePixel = 0,
            LayoutOrder = l_props_0.LayoutOrder,
            Size = UDim2.new(1, 0, 0, 70),
            Visible = l_props_0.Visible,
            Text = "",
            AutoButtonColor = false,
            [l_Roact_0.Event.Activated] = l_onActivated_0,
            [l_Roact_0.Change.AbsolutePosition] = v19.props[l_Roact_0.Change.AbsolutePosition],
            [l_Roact_0.Ref] = v19.props.forwardRef,
            SelectionImageObject = v20(l_CursorKind_0.Square)
        }, {
            PlayerCutout = l_Roact_0.createElement(l_ImageSetLabel_0, l_Cryo_0.Dictionary.join(v14, {
                BackgroundTransparency = 1,
                Image = v9.Images.CircleCutout,
                ImageColor3 = l_BackgroundContrast_0.Color,
                ZIndex = 3
            })),
            PlayerIcon = l_Roact_0.createElement(l_ImageSetLabel_0, l_Cryo_0.Dictionary.join(v14, {
                BackgroundTransparency = 1,
                Image = l_props_0.userId > 0 and "rbxthumb://type=AvatarHeadShot&id=" .. l_props_0.userId .. "&w=48&h=48" or "",
                ZIndex = 2
            })),
            PlayerBackground = l_Roact_0.createElement("Frame", l_Cryo_0.Dictionary.join(v14, {
                BackgroundColor3 = v22.Theme.UIDefault.Color,
                BackgroundTransparency = 0,
                BorderSizePixel = 0
            })),
            OnlineIndicator = l_Roact_0.createElement(l_ImageSetLabel_0, {
                AnchorPoint = Vector2.new(0, 0.5),
                BackgroundTransparency = 1,
                Image = v9.Images.Circle,
                ImageColor3 = not not l_props_0.isOnline and v22.Theme.OnlineStatus.Color or v22.Theme.UIDefault.Color,
                Position = UDim2.new(0, 80, 0.5, 0),
                Size = UDim2.new(0, 16, 0, 16)
            }),
            UsernameLabel = l_Roact_0.createElement(v10, {
                fontKey = "Header2",
                themeKey = "TextEmphasis",
                AnchorPoint = Vector2.new(0, 0.5),
                Position = UDim2.new(0, 100, 0.5, 0),
                Size = UDim2.new(0, 219, 0, 22),
                Text = l_props_0.username,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextTruncate = Enum.TextTruncate.AtEnd
            }),
            ButtonContainer = l_Roact_0.createElement("Frame", {
                AnchorPoint = Vector2.new(1, 0),
                BackgroundTransparency = 1,
                Position = UDim2.new(1, -24, 0, 0),
                Size = UDim2.new(0, 0, 1, 0)
            }, v19:renderButtons())
        });
    end);
end;
v16.render = function(v25)
    return l_withSelectionCursorProvider_0(function(v26)
        return v25:renderWithSelectionCursor(v26);
    end);
end;
return l_Roact_0.forwardRef(function(v27, v28)
    return l_Roact_0.createElement(v16, l_Cryo_0.Dictionary.join(v27, {
        forwardRef = v28
    }));
end);


local l_PolicyService_0 = require(game:GetService("CoreGui"):WaitForChild("RobloxGui").Modules.Common:WaitForChild("PolicyService"));
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.InGameMenuDependencies);
local l_Roact_0 = v2.Roact;
local l_UIBlox_0 = v2.UIBlox;
local l_Cryo_0 = v2.Cryo;
local l_t_0 = v2.t;
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local l_withSelectionCursorProvider_0 = l_UIBlox_0.App.SelectionImage.withSelectionCursorProvider;
local l_CursorKind_0 = l_UIBlox_0.App.SelectionImage.CursorKind;
local l_Parent_0 = script.Parent.Parent;
local v11 = require(l_Parent_0.Flags.FFlagLuaMenuPerfImprovements);
local v12 = require(l_Parent_0.Flags.FFlagAlwaysShowDisplayNameInExpMenu);
local v13 = require(l_Parent_0.Components.ThemedTextLabel);
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local v15 = {
    AnchorPoint = Vector2.new(0, 1),
    Position = UDim2.new(0, 24, 1, 1),
    Size = UDim2.new(0, 56, 0, 56)
};
local l_validatePropsWithForwardRef_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).validatePropsWithForwardRef;
local v17 = l_Roact_0.PureComponent:extend("PlayerLabelV2");
v17.validateProps = l_t_0.strictInterface(l_validatePropsWithForwardRef_0({
    userId = l_t_0.number,
    username = l_t_0.string,
    displayName = l_t_0.string,
    isOnline = l_t_0.boolean,
    isSelected = l_t_0.boolean,
    LayoutOrder = l_t_0.integer,
    Visible = l_t_0.optional(l_t_0.boolean),
    onActivated = l_t_0.optional(l_t_0.callback),
    [l_Roact_0.Children] = l_t_0.optional(l_t_0.table),
    [l_Roact_0.Change.AbsolutePosition] = l_t_0.optional(l_t_0.callback),
    [l_Roact_0.Ref] = l_t_0.optional(l_t_0.union(l_t_0.callback, l_t_0.table))
}));
v17.defaultProps = {
    Visible = true
};
if v11 then
    v17.init = function(v18)
        v18.onActivated = function()
            v18.props.onActivated(v18.props.userId);
        end;
    end;
end;
v17.renderButtons = function(v19)
    return (l_Cryo_0.Dictionary.join(v19.props[l_Roact_0.Children] or {}, {
        List = l_Roact_0.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Horizontal,
            HorizontalAlignment = Enum.HorizontalAlignment.Right,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            Padding = UDim.new(0, 12)
        })
    }));
end;
v17.renderWithSelectionCursor = function(v20, v21)
    local l_props_0 = v20.props;
    local v23 = l_PolicyService_0:IsSubjectToChinaPolicies() or v12;
    local v24 = l_props_0.displayName ~= "" and l_props_0.displayName or l_props_0.username;
    return l_withStyle_0(function(v25)
        local l_BackgroundContrast_0 = v25.Theme.BackgroundContrast;
        if v20.props.isSelected then
            l_BackgroundContrast_0 = v25.Theme.BackgroundOnHover;
        end;
        local l_onActivated_0 = v20.props.onActivated;
        if v11 then
            l_onActivated_0 = not not v20.props.onActivated and v20.onActivated or nil;
        end;
        return l_Roact_0.createElement("TextButton", {
            BackgroundTransparency = l_BackgroundContrast_0.Transparency,
            BackgroundColor3 = l_BackgroundContrast_0.Color,
            BorderSizePixel = 0,
            LayoutOrder = l_props_0.LayoutOrder,
            Size = UDim2.new(1, 0, 0, 71),
            Visible = l_props_0.Visible,
            Text = "",
            AutoButtonColor = false,
            [l_Roact_0.Event.Activated] = l_onActivated_0,
            [l_Roact_0.Change.AbsolutePosition] = v20.props[l_Roact_0.Change.AbsolutePosition],
            [l_Roact_0.Ref] = v20.props.forwardRef,
            SelectionImageObject = v21(l_CursorKind_0.Square)
        }, {
            PlayerIcon = l_Roact_0.createElement(l_ImageSetLabel_0, l_Cryo_0.Dictionary.join(v15, {
                ImageColor3 = not not l_props_0.isOnline and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(115, 115, 115),
                BackgroundTransparency = 1,
                Image = l_props_0.userId > 0 and "rbxthumb://type=AvatarHeadShot&id=" .. l_props_0.userId .. "&w=60&h=60" or "",
                ZIndex = 2
            })),
            DisplayNameLabel = l_Roact_0.createElement(v13, {
                fontKey = "Header2",
                themeKey = "TextEmphasis",
                Position = UDim2.new(0, 104, 0, not v23 and 35.5 or 14),
                AnchorPoint = not not v23 and Vector2.new(0, 0) or Vector2.new(0, 0.5),
                Size = UDim2.new(0, 219, 0, 22),
                Text = not not v23 and v24 or l_props_0.username,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextTruncate = Enum.TextTruncate.AtEnd
            }),
            UsernameLabel = v23 and l_Roact_0.createElement(v13, {
                fontKey = "Header2",
                themeKey = "TextDefault",
                Position = UDim2.new(0, 104, 0, 36),
                Size = UDim2.new(0, 219, 0, 22),
                Text = "@" .. l_props_0.username,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextTruncate = Enum.TextTruncate.AtEnd
            }),
            ButtonContainer = l_Roact_0.createElement("Frame", {
                AnchorPoint = Vector2.new(1, 0),
                BackgroundTransparency = 1,
                Position = UDim2.new(1, -24, 0, 0),
                Size = UDim2.new(0, 0, 1, 0)
            }, v20:renderButtons())
        });
    end);
end;
v17.render = function(v28)
    return l_withSelectionCursorProvider_0(function(v29)
        return v28:renderWithSelectionCursor(v29);
    end);
end;
return l_Roact_0.forwardRef(function(v30, v31)
    return l_Roact_0.createElement(v17, l_Cryo_0.Dictionary.join(v30, {
        forwardRef = v31
    }));
end);


local v0 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v0.Roact;
local l_UIBlox_0 = v0.UIBlox;
local l_t_0 = v0.t;
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local l_Parent_0 = script.Parent.Parent;
local v6 = require(l_Parent_0.Flags.FFlagLuaMenuPerfImprovements);
local v7 = require(l_Parent_0.Resources.Assets);
local l_ImageSetButton_0 = l_UIBlox_0.Core.ImageSet.ImageSetButton;
local v9 = l_Roact_0.PureComponent:extend("MoreButton");
v9.validateProps = l_t_0.strictInterface({
    onActivated = l_t_0.callback,
    LayoutOrder = l_t_0.integer,
    userId = not not v6 and l_t_0.number or nil
});
v9.init = function(v10)
    if v6 then
        v10.onActivated = function()
            v10.props.onActivated(v10.props.userId);
        end;
    end;
end;
v9.render = function(v11)
    return l_withStyle_0(function(v12)
        local l_onActivated_0 = v11.props.onActivated;
        if v6 then
            l_onActivated_0 = not not v11.props.onActivated and v11.onActivated or nil;
        end;
        return l_Roact_0.createElement(l_ImageSetButton_0, {
            Size = UDim2.new(0, 36, 0, 36),
            BackgroundTransparency = 1,
            Image = v7.Images.MoreActions,
            ImageColor3 = v12.Theme.IconEmphasis.Color,
            LayoutOrder = v11.props.LayoutOrder,
            [l_Roact_0.Event.Activated] = l_onActivated_0
        });
    end);
end;
return v9;


local v0 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v0.Roact;
local l_t_0 = v0.t;
local l_UIBlox_0 = v0.UIBlox;
local l_Parent_0 = script.Parent.Parent;
local v5 = require(l_Parent_0.Resources.Assets);
local v6 = require(l_Parent_0.GlobalConfig);
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local v8 = {
    [Enum.UserInputType.MouseButton1] = v5.Images.Mouse1Press,
    [Enum.UserInputType.MouseButton2] = v5.Images.Mouse2Press,
    [Enum.UserInputType.MouseWheel] = v5.Images.MouseWheelScroll
};
local v9 = l_t_0.strictInterface({
    input = l_t_0.enum(Enum.UserInputType),
    AnchorPoint = l_t_0.optional(l_t_0.Vector2),
    Position = l_t_0.optional(l_t_0.UDim2),
    LayoutOrder = l_t_0.optional(l_t_0.integer)
});
return function(v10)
    if v6.propValidation then
        assert(v9(v10));
    end;
    return l_Roact_0.createElement(l_ImageSetLabel_0, {
        BackgroundTransparency = 1,
        Image = v8[v10.input],
        Size = UDim2.new(0, 36, 0, 36),
        Position = v10.Position,
        AnchorPoint = v10.AnchorPoint,
        LayoutOrder = v10.LayoutOrder
    });
end;


local l_RunService_0 = game:GetService("RunService");
local v1 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v1.Roact;
local l_t_0 = v1.t;
local l_UIBlox_0 = v1.UIBlox;
local v5 = require(script.Parent.Parent.Parent.Resources.Assets);
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local v7 = Color3.fromRGB(98, 98, 99);
local v8 = Color3.fromRGB(255, 255, 255);
local v9 = Color3.fromRGB(196, 0, 1);
local v10 = l_Roact_0.PureComponent:extend("FillCircle");
v10.validateProps = l_t_0.strictInterface({
    Position = l_t_0.UDim2,
    AnchorPoint = l_t_0.Vector2,
    fillFraction = l_t_0.number,
    largerCircleFraction = l_t_0.number,
    popCircleFraction = l_t_0.number,
    shakeCircleFraction = l_t_0.number,
    BackgroundColor = l_t_0.Color3
});
local function _(v11)
    if v11 > 0.75 then
        return 8;
    elseif v11 > 0.5 then
        return 6;
    elseif v11 > 0.25 then
        return 4;
    elseif v11 > 0 then
        return 2;
    else
        return 0;
    end;
end;
local function _(v13, v14, v15)
    return (v13 - v14 / 30) / ((v15 - v14) / 30);
end;
local function _(v17, v18, v19)
    local v20 = false;
    if v18 / 30 <= v17 then
        v20 = v17 <= v19 / 30;
    end;
    return v20;
end;
local function v28(v22, v23, v24, v25)
    if v24 then
        v22 = 0.26666666666666666 - v22;
    end;
    local l_v22_0 = v22;
    local v27 = false;
    if l_v22_0 >= 0 then
        v27 = l_v22_0 <= 0.16666666666666666;
    end;
    if not v27 then
        l_v22_0 = v22;
        v27 = false;
        if l_v22_0 >= 0.16666666666666666 then
            v27 = l_v22_0 <= 0.26666666666666666;
        end;
        if not v27 then
            if v22 < 0 then
                v23.size(UDim2.new(0, 16, 0, 16));
                v25();
                return ;
            else
                v23.size(UDim2.new(0, 20, 0, 20));
                v25();
                return ;
            end;
        else
            l_v22_0 = 22 - 2 * ((v22 - 0.16666666666666666) / 0.1);
            v23.size(UDim2.new(0, l_v22_0, 0, l_v22_0));
            return ;
        end;
    else
        l_v22_0 = 16 + 6 * ((v22 - 0) / 0.16666666666666666);
        v23.size(UDim2.new(0, l_v22_0, 0, l_v22_0));
        return ;
    end;
end;
local function v36(v29, v30, _, v32)
    local v33 = false;
    if v29 >= 0 then
        v33 = v29 <= 0.1;
    end;
    if not v33 then
        v33 = false;
        if v29 >= 0.1 then
            v33 = v29 <= 0.2;
        end;
        if not v33 then
            v30.size(UDim2.new(0, 20, 0, 20));
            v32();
            return ;
        else
            local v34 = 24 - 4 * ((v29 - 0.1) / 0.1);
            v30.size(UDim2.new(0, v34, 0, v34));
            return ;
        end;
    else
        local v35 = 20 + 4 * ((v29 - 0) / 0.1);
        v30.size(UDim2.new(0, v35, 0, v35));
        return ;
    end;
end;
local function v42(v37, v38, _, v40)
    local v41 = false;
    if v37 >= 0 then
        v41 = v37 <= 0.1;
    end;
    if not v41 then
        v41 = false;
        if v37 >= 0.1 then
            v41 = v37 <= 0.2;
        end;
        if not v41 then
            v41 = false;
            if v37 >= 0.2 then
                v41 = v37 <= 0.26666666666666666;
            end;
            if not v41 then
                v41 = false;
                if v37 >= 0.26666666666666666 then
                    v41 = v37 <= 0.3333333333333333;
                end;
                if not v41 then
                    v41 = false;
                    if v37 >= 0.3333333333333333 then
                        v41 = v37 <= 0.4;
                    end;
                    if not v41 then
                        v41 = false;
                        if v37 >= 0.4 then
                            v41 = v37 <= 0.4666666666666667;
                        end;
                        if not v41 then
                            v38.positionOffset(UDim2.new(0, 0, 0, 0));
                            v40();
                            return ;
                        else
                            v38.positionOffset(UDim2.new(0, -8 + 8 * ((v37 - 0.4) / 0.06666666666666667), 0, 0));
                            return ;
                        end;
                    else
                        v38.positionOffset(UDim2.new(0, 8 - 16 * ((v37 - 0.3333333333333333) / 0.06666666666666667), 0, 0));
                        return ;
                    end;
                else
                    v38.positionOffset(UDim2.new(0, -8 + 16 * ((v37 - 0.26666666666666666) / 0.06666666666666667), 0, 0));
                    return ;
                end;
            else
                v38.positionOffset(UDim2.new(0, 8 - 16 * ((v37 - 0.2) / 0.06666666666666667), 0, 0));
                return ;
            end;
        else
            v38.positionOffset(UDim2.new(0, -4 + 12 * ((v37 - 0.1) / 0.1), 0, 0));
            return ;
        end;
    else
        v38.positionOffset(UDim2.new(0, -4 * ((v37 - 0) / 0.1), 0, 0));
        return ;
    end;
end;
v10.init = function(v43)
    local v44, v45 = l_Roact_0.createBinding(UDim2.new(0, 16, 0, 16));
    v43.sizeBinding = v44;
    v43.sizeBindingUpdate = v45;
    v43.largerSizeBinding = v43.sizeBinding:map(function(v46)
        return v46 + UDim2.new(0, 2, 0, 2);
    end);
    v44, v45 = l_Roact_0.createBinding(UDim2.new(0, 0, 0, 0));
    v43.positionOffsetBinding = v44;
    v43.positionOffsetBindingUpdate = v45;
    v43.updateBindings = {
        size = v43.sizeBindingUpdate,
        positionOffset = v43.positionOffsetBindingUpdate
    };
    v43.animationStartTime = nil;
    v43.animationFunction = nil;
    v43.reverseAnimation = false;
    v43.renderSteppedConnection = nil;
end;
v10.render = function(v47)
    local l_props_0 = v47.props;
    local v49 = l_props_0.fillFraction >= 1 and v9 or v8;
    local l_createElement_0 = l_Roact_0.createElement;
    local v51 = "Frame";
    local v52 = {
        Size = v47.sizeBinding,
        Position = l_props_0.Position,
        AnchorPoint = l_props_0.AnchorPoint,
        BackgroundTransparency = 1
    };
    local v53 = {};
    local l_createElement_1 = l_Roact_0.createElement;
    local v55 = "Frame";
    local v56 = {
        Position = v47.positionOffsetBinding,
        Size = UDim2.new(1, 0, 1, 0),
        BorderSizePixel = 0,
        BackgroundColor3 = v7
    };
    local v57 = {
        OuterRing = l_Roact_0.createElement(l_ImageSetLabel_0, {
            Image = v5.Images.CircleCutout,
            Size = UDim2.new(1, 0, 1, 0),
            ImageColor3 = l_props_0.BackgroundColor,
            BackgroundTransparency = 1,
            ZIndex = 10
        }),
        InnerRing = l_Roact_0.createElement(l_ImageSetLabel_0, {
            Image = v5.Images.Circle,
            Size = UDim2.new(1, -4, 1, -4),
            Position = UDim2.new(0.5, 0, 0.5, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            ImageColor3 = l_props_0.BackgroundColor,
            BackgroundTransparency = 1,
            ZIndex = 10
        })
    };
    local l_createElement_2 = l_Roact_0.createElement;
    local v59 = "Frame";
    local v60 = {
        BackgroundTransparency = 1,
        Size = UDim2.new(0, 0, 0, 0),
        Position = UDim2.new(0.5, 0, 0.5, 0),
        Rotation = l_props_0.fillFraction * 360
    };
    local l_fillFraction_0 = l_props_0.fillFraction;
    v60.ZIndex = l_fillFraction_0 > 0.75 and 8 or (l_fillFraction_0 > 0.5 and 6 or (l_fillFraction_0 > 0.25 and 4 or (l_fillFraction_0 > 0 and 2 or 0)));
    v57.FillRingRotationFrame = l_createElement_2(v59, v60, {
        FillRing = l_Roact_0.createElement(l_ImageSetLabel_0, {
            Image = v5.Images.QuarterCircle,
            Size = v47.largerSizeBinding,
            AnchorPoint = Vector2.new(0.5, 0.5),
            ImageColor3 = v49,
            BackgroundTransparency = 1
        })
    });
    v57.EdgeBlockers = l_Roact_0.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.new(1, 0, 1, 0),
        ZIndex = 10
    }, {
        Top = l_Roact_0.createElement("Frame", {
            AnchorPoint = Vector2.new(0.5, 1),
            Position = UDim2.new(0.5, 0, 0, 0),
            Size = UDim2.new(1, 4, 0, 2),
            BackgroundColor3 = l_props_0.BackgroundColor,
            BorderSizePixel = 0
        }),
        Right = l_Roact_0.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0.5),
            Position = UDim2.new(1, 0, 0.5, 0),
            Size = UDim2.new(0, 2, 1, 4),
            BackgroundColor3 = l_props_0.BackgroundColor,
            BorderSizePixel = 0
        }),
        Bottom = l_Roact_0.createElement("Frame", {
            AnchorPoint = Vector2.new(0.5, 0),
            Position = UDim2.new(0.5, 0, 1, 0),
            Size = UDim2.new(1, 4, 0, 2),
            BackgroundColor3 = l_props_0.BackgroundColor,
            BorderSizePixel = 0
        }),
        Left = l_Roact_0.createElement("Frame", {
            AnchorPoint = Vector2.new(1, 0.5),
            Position = UDim2.new(0, 0, 0.5, 0),
            Size = UDim2.new(0, 2, 1, 4),
            BackgroundColor3 = l_props_0.BackgroundColor,
            BorderSizePixel = 0
        })
    });
    v57.TopLeftFill = l_Roact_0.createElement("Frame", {
        Size = UDim2.new(0.5, 0, 0.5, 0),
        BackgroundColor3 = l_props_0.fillFraction >= 1 and v49 or v7,
        BorderSizePixel = 0,
        ZIndex = l_props_0.fillFraction >= 1 and 9 or 7
    });
    v57.BottomLeftFill = l_Roact_0.createElement("Frame", {
        Size = UDim2.new(0.5, 0, 0.5, 0),
        Position = UDim2.new(0, 0, 0.5, 0),
        BackgroundColor3 = l_props_0.fillFraction >= 0.75 and v49 or v7,
        BorderSizePixel = 0,
        ZIndex = l_props_0.fillFraction >= 0.75 and 9 or 5
    });
    v57.BottomRightFill = l_Roact_0.createElement("Frame", {
        Size = UDim2.new(0.5, 0, 0.5, 0),
        Position = UDim2.new(0.5, 0, 0.5, 0),
        BackgroundColor3 = l_props_0.fillFraction >= 0.5 and v49 or v7,
        BorderSizePixel = 0,
        ZIndex = l_props_0.fillFraction >= 0.5 and 9 or 3
    });
    v57.TopRightFill = l_Roact_0.createElement("Frame", {
        Size = UDim2.new(0.5, 0, 0.5, 0),
        Position = UDim2.new(0.5, 0, 0, 0),
        BackgroundColor3 = l_props_0.fillFraction >= 0.25 and v49 or v7,
        BorderSizePixel = 0,
        ZIndex = l_props_0.fillFraction >= 0.25 and 9 or 1
    });
    v53.PositionOffsetFrame = l_createElement_1(v55, v56, v57);
    return l_createElement_0(v51, v52, v53);
end;
v10.didUpdate = function(v62, v63, _)
    local v65 = v63.largerCircleFraction <= v63.fillFraction;
    local v66 = v62.props.largerCircleFraction <= v62.props.fillFraction;
    if v65 ~= v66 then
        v62:playAnimation(v28, not v66);
    end;
    local v67 = v63.popCircleFraction <= v63.fillFraction;
    if not (not (v62.props.popCircleFraction <= v62.props.fillFraction) or v67) then
        v62:playAnimation(v36, false);
    end;
    local v68 = v63.shakeCircleFraction <= v63.fillFraction;
    if not (not (v62.props.shakeCircleFraction <= v62.props.fillFraction) or v68) then
        v62:playAnimation(v42, false);
    end;
end;
v10.playAnimation = function(v69, v70, v71)
    if v69.animationFunction then
        v69.animationFunction(100, v69.updateBindings, v69.reverseAnimation, function()
        end);
    end;
    v69.animationStartTime = tick();
    v69.animationFunction = v70;
    v69.reverseAnimation = v71;
    if not v69.renderSteppedConnection then
        v69.renderSteppedConnection = l_RunService_0.RenderStepped:Connect(function()
            v69.animationFunction(tick() - v69.animationStartTime, v69.updateBindings, v69.reverseAnimation, function()
                v69:stopAnimation();
            end);
        end);
    end;
end;
v10.stopAnimation = function(v72)
    if v72.renderSteppedConnection then
        v72.renderSteppedConnection:Disconnect();
        v72.renderSteppedConnection = nil;
    end;
end;
v10.willUnmount = function(v73)
    v73:stopAnimation();
end;
return v10;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.InGameMenuDependencies);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_t_0 = v1.t;
local l_Cryo_0 = v1.Cryo;
local l_withStyle_0 = l_UIBlox_0.Core.Style.withStyle;
local l_withSelectionCursorProvider_0 = l_UIBlox_0.App.SelectionImage.withSelectionCursorProvider;
local l_CursorKind_0 = l_UIBlox_0.App.SelectionImage.CursorKind;
local l_Parent_0 = script.Parent.Parent.Parent;
local v10 = require(l_Parent_0.Components.ThemedTextLabel);
local v11 = require(l_Parent_0.Resources.Assets);
local v12 = require(l_CorePackages_0.Workspace.Packages.React);
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local v14 = l_Roact_0.PureComponent:extend("GameLabel");
v14.validateProps = l_t_0.strictInterface({
    gameId = l_t_0.number,
    gameName = l_t_0.string,
    LayoutOrder = l_t_0.integer,
    onActivated = l_t_0.optional(l_t_0.callback),
    [l_Roact_0.Children] = l_t_0.optional(l_t_0.table),
    buttonRef = l_t_0.optional(l_t_0.table)
});
v14.renderButtons = function(v15)
    return (l_Cryo_0.Dictionary.join(v15.props[l_Roact_0.Children] or {}, {
        List = l_Roact_0.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Horizontal,
            HorizontalAlignment = Enum.HorizontalAlignment.Right,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            Padding = UDim.new(0, 12)
        })
    }));
end;
v14.renderWithSelectionCursor = function(v16, v17)
    local l_gameId_0 = v16.props.gameId;
    local l_PlaceholderGameIcon_0 = v11.Images.PlaceholderGameIcon;
    if v16.props.gameId > 0 then
        l_PlaceholderGameIcon_0 = "rbxthumb://type=GameIcon&id=" .. l_gameId_0 .. "&w=150&h=150";
    end;
    return l_withStyle_0(function(_)
        return l_Roact_0.createElement("TextButton", {
            [v12.Tag] = "data-testid=experienceLabel",
            BackgroundTransparency = 1,
            LayoutOrder = v16.props.LayoutOrder,
            Size = UDim2.new(1, 0, 0, 70),
            Text = "",
            AutoButtonColor = false,
            SelectionImageObject = v17(l_CursorKind_0.Square),
            [l_Roact_0.Ref] = v16.props.buttonRef,
            [l_Roact_0.Event.Activated] = v16.props.onActivated
        }, {
            GameIcon = l_Roact_0.createElement(l_ImageSetLabel_0, {
                AnchorPoint = Vector2.new(0, 0.5),
                Position = UDim2.new(0, 24, 0.5, 0),
                Size = UDim2.new(0, 44, 0, 44),
                BackgroundTransparency = 1,
                Image = l_PlaceholderGameIcon_0
            }),
            GameNameLabel = l_Roact_0.createElement(v10, {
                fontKey = "Header2",
                themeKey = "TextEmphasis",
                AnchorPoint = Vector2.new(0, 0.5),
                Position = UDim2.new(0, 80, 0.5, 0),
                Size = UDim2.new(0, 219, 0, 22),
                Text = v16.props.gameName,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextTruncate = Enum.TextTruncate.AtEnd
            }),
            ButtonContainer = l_Roact_0.createElement("Frame", {
                AnchorPoint = Vector2.new(1, 0),
                BackgroundTransparency = 1,
                Position = UDim2.new(1, -24, 0, 0),
                Size = UDim2.new(0, 0, 1, 0)
            }, v16:renderButtons())
        });
    end);
end;
v14.render = function(v21)
    return l_withSelectionCursorProvider_0(function(v22)
        return v21:renderWithSelectionCursor(v22);
    end);
end;
return l_Roact_0.forwardRef(function(v23, v24)
    return l_Roact_0.createElement(v14, l_Cryo_0.Dictionary.join(v23, {
        buttonRef = v24
    }));
end);


local v0 = require(game:GetService("CorePackages").InGameMenuDependencies);
local l_Roact_0 = v0.Roact;
local l_RoactRodux_0 = v0.RoactRodux;
local l_t_0 = v0.t;
local l_UIBlox_0 = v0.UIBlox;
local l_Parent_0 = script.Parent.Parent.Parent;
local v6 = require(l_Parent_0.GlobalConfig);
local v7 = require(l_Parent_0.Resources.Assets);
local v8 = require(l_Parent_0.Actions.OpenReportDialog);
local l_ImageSetButton_0 = l_UIBlox_0.Core.ImageSet.ImageSetButton;
local l_withSelectionCursorProvider_0 = l_UIBlox_0.App.SelectionImage.withSelectionCursorProvider;
local l_CursorKind_0 = l_UIBlox_0.App.SelectionImage.CursorKind;
local v12 = l_t_0.strictInterface({
    userId = l_t_0.optional(l_t_0.integer),
    userName = l_t_0.optional(l_t_0.string),
    LayoutOrder = l_t_0.integer,
    dispatchOpenReportDialog = l_t_0.callback
});
return l_RoactRodux_0.UNSTABLE_connect2(nil, function(v13)
    return {
        dispatchOpenReportDialog = function(v14, v15)
            v13(v8(v14, v15));
        end
    };
end)(function(v16)
    if v6.propValidation then
        assert(v12(v16));
    end;
    return l_withSelectionCursorProvider_0(function(v17)
        return l_Roact_0.createElement(l_ImageSetButton_0, {
            Selectable = false,
            Image = v7.Images.ReportIcon,
            Size = UDim2.new(0, 36, 0, 36),
            ImageColor3 = Color3.fromRGB(255, 255, 255),
            BackgroundTransparency = 1,
            LayoutOrder = v16.LayoutOrder,
            SelectionImageObject = v17(l_CursorKind_0.RoundedRectNoInset),
            [l_Roact_0.Event.Activated] = function()
                v16.dispatchOpenReportDialog(v16.userId, v16.userName);
            end
        });
    end);
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_GuiService_0 = game:GetService("GuiService");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local v3 = require(l_CorePackages_0.InGameMenuDependencies);
local l_Roact_0 = v3.Roact;
local l_RoactRodux_0 = v3.RoactRodux;
local l_t_0 = v3.t;
local l_Parent_0 = script.Parent.Parent.Parent;
local v8 = require(l_Parent_0.Resources.Assets);
local v9 = require(l_Parent_0.Actions.CloseReportSentDialog);
local v10 = require(l_Parent_0.Resources.Constants);
local v11 = require(l_Parent_0.Localization.withLocalization);
local v12 = require(l_Parent_0.Components.InfoDialog);
local v13 = require(script.Parent.Parent.Connection.FocusHandler);
local v14 = l_t_0.strictInterface({
    isReportSentOpen = l_t_0.boolean,
    onDismiss = l_t_0.callback,
    inputType = l_t_0.optional(l_t_0.string)
});
local v15 = l_Roact_0.PureComponent:extend("ReportSentDialog");
v15.validateProps = v14;
v15.init = function(v16)
    v16.buttonRef = l_Roact_0.createRef();
end;
v15.renderFocusHandler = function(v17)
    local l_createElement_0 = l_Roact_0.createElement;
    local l_v13_0 = v13;
    local v20 = {};
    local v21 = false;
    if v17.props.inputType == v10.InputType.Gamepad then
        v21 = v17.props.isReportSentOpen;
    end;
    v20.isFocused = v21;
    v20.didFocus = function()
        l_GuiService_0:RemoveSelectionGroup("ReportSentDialogGroup");
        l_GuiService_0:AddSelectionParent("ReportSentDialogGroup", v17.buttonRef:getValue());
        l_GuiService_0.SelectedCoreObject = v17.buttonRef:getValue();
        l_ContextActionService_0:BindCoreAction("ReporSentDialogSinkAction", function(_, _)
            return Enum.ContextActionResult.Sink;
        end, false, Enum.KeyCode.ButtonB, Enum.KeyCode.ButtonY, Enum.KeyCode.ButtonX);
    end;
    v20.didBlur = function()
        l_ContextActionService_0:UnbindCoreAction("ReporSentDialogSinkAction");
        l_GuiService_0:RemoveSelectionGroup("ReportSentDialogGroup");
    end;
    return l_createElement_0(l_v13_0, v20);
end;
v15.render = function(v24)
    return v11({
        titleText = "CoreScripts.InGameMenu.Report.ThanksForReport",
        bodyText = "CoreScripts.InGameMenu.Report.WillReviewBody",
        dismissText = "CoreScripts.InGameMenu.Ok"
    })(function(v25)
        return l_Roact_0.createFragment({
            Dialog = l_Roact_0.createElement(v12, {
                titleText = v25.titleText,
                bodyText = v25.bodyText,
                dismissText = v25.dismissText,
                iconImage = v8.Images.SuccessTick,
                buttonRef = v24.buttonRef,
                onDismiss = v24.props.onDismiss,
                visible = v24.props.isReportSentOpen
            }),
            FocusHandler = v24:renderFocusHandler()
        });
    end);
end;
return l_RoactRodux_0.UNSTABLE_connect2(function(v26, _)
    return {
        isReportSentOpen = v26.report.reportSentOpen,
        inputType = v26.displayOptions.inputType
    };
end, function(v28)
    return {
        onDismiss = function()
            v28(v9());
        end
    };
end)(v15);