local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_GuiService_0 = game:GetService("GuiService");
local l_UserInputService_0 = game:GetService("UserInputService");
local v4 = require(l_CorePackages_0.Roact);
local v5 = require(l_CorePackages_0.RoactRodux);
local v6 = require(l_CorePackages_0.UIBlox);
local v7 = require(l_CorePackages_0.Packages.t);
local v8 = require(l_CorePackages_0.Otter);
local l_withStyle_0 = v6.Style.withStyle;
local l_IconButton_0 = v6.App.Button.IconButton;
local l_IconSize_0 = v6.App.ImageSet.Enum.IconSize;
local v12 = v6.App.ImageSet.getIconSize(l_IconSize_0.Small);
local l_Images_0 = v6.App.ImageSet.Images;
local l_Parent_0 = script.Parent.Parent;
local l_WithLayoutValues_0 = require(l_Parent_0.Connection.LayoutValues).WithLayoutValues;
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v17 = require(l_RobloxGui_0.Modules.Interfaces.playerInterface);
local v18 = require(l_RobloxGui_0.Modules.Chrome.Enabled);
local v19 = require(script.Parent.PlayerEntry);
local v20 = require(script.Parent.TeamEntry);
local v21 = require(script.Parent.PlayerDropDown);
local v22 = require(script.Parent.TitleBar);
local l_Parent_1 = l_Parent_0.Parent;
local v24 = require(l_Parent_1.Actions.SetPlayerListVisibility);
local v25 = require(l_Parent_1.GetFakeNeutralTeam);
local v26 = v18() and not game:DefineFastFlag("DisablePlayerListDisplayCloseBtn", false);
local v27 = {
    dampingRatio = 1,
    frequency = 4
};
local v28 = v4.PureComponent:extend("PlayerListDisplay");
v28.validateProps = v7.strictInterface({
    isVisible = v7.boolean,
    isMinimized = v7.boolean,
    isTenFootInterface = v7.boolean,
    isUsingGamepad = v7.boolean,
    screenSizeY = v7.integer,
    entrySize = v7.integer,
    sortedPlayers = v7.array(v17),
    sortedTeams = v7.optional(v7.array(v7.instanceIsA("Team"))),
    teamColorToPlayerMap = v7.optional(v7.map(v7.integer, v7.array(v7.instanceIsA("Player")))),
    teamScores = v7.optional(v7.map(v7.instanceIsA("Team"), v7.map(v7.string, v7.any))),
    teamNames = v7.map(v7.instanceIsA("Team"), v7.string),
    teamColors = v7.map(v7.instanceIsA("Team"), v7.BrickColor),
    playerTeam = v7.map(v7.integer, v7.instanceIsA("Team")),
    playerStats = v7.map(v7.integer, v7.map(v7.string, v7.any)),
    gameStats = v7.array(v7.strictInterface({
        name = v7.string,
        text = v7.string,
        addId = v7.integer,
        isPrimary = v7.boolean,
        priority = v7.number
    })),
    playerIconInfo = v7.map(v7.integer, v7.strictInterface({
        isPlaceOwner = v7.boolean,
        avatarIcon = v7.optional(v7.table),
        specialGroupIcon = v7.optional(v7.table)
    })),
    playerRelationship = v7.map(v7.integer, v7.strictInterface({
        isBlocked = v7.boolean,
        friendStatus = v7.enum(Enum.FriendStatus),
        isFollowing = v7.boolean,
        isFollower = v7.boolean
    })),
    dropDownPlayer = v7.optional(v7.instanceIsA("Player")),
    dropDownVisible = v7.boolean,
    dismissPlayerList = v7.callback
});
v28.init = function(v29)
    v29.scrollingFrameRef = v4.createRef();
    v29.firstPlayerRef = v4.createRef();
    v29.state = {
        containerSizeY = 100,
        scrollingFramePositionY = 0,
        lastCanvasPosition = Vector2.new(0, 0),
        contentsVisible = true
    };
    v29.absoluteSizeChanged = function(v30)
        v29:setState({
            containerSizeY = v30.AbsoluteSize.Y
        });
    end;
    v29.canvasPositionChanged = function(v31)
        v29:setState({
            lastCanvasPosition = v31.CanvasPosition
        });
    end;
    v29.absolutePositionChanged = function(v32)
        v29:setState({
            scrollingFramePositionY = v32.AbsolutePosition.Y
        });
    end;
    local v33, v34 = v4.createBinding(0);
    v29.minimizedBinding = v33;
    v29.updateMinimizedBinding = v34;
    v29.minimizedMotor = v8.createSingleMotor(0);
    v29.minimizedMotor:onStep(v29.updateMinimizedBinding);
    v29.minimizedMotor:onComplete(function(v35)
        if v35 == 0 then
            v29:setState({
                contentsVisible = true
            });
        end;
    end);
end;
v28.inVerticalScrollWindow = function(v36, v37, v38)
    if (v37 + v38) + v38 * 3 < v36.state.lastCanvasPosition.Y then
        return false;
    elseif v36.state.lastCanvasPosition.Y + v36.state.containerSizeY < v37 - v38 * 3 then
        return false;
    else
        return true;
    end;
end;
v28.calculateDropDownAbsPosition = function(v39, v40, v41)
    local l_current_0 = v39.scrollingFrameRef.current;
    if not l_current_0 then
        return v40, nil;
    else
        v40 = v40 - l_current_0.CanvasPosition.Y;
        if l_current_0.AbsoluteSize.Y <= v40 + v41 then
            local v43 = (v40 + v41) - l_current_0.AbsoluteSize.Y;
            return v40 - v43, Vector2.new(0, l_current_0.CanvasPosition.Y + v43);
        else
            return v40, nil;
        end;
    end;
end;
v28.render = function(v44)
    return l_WithLayoutValues_0(function(v45)
        return l_withStyle_0(function(v46)
            local l_EntryPadding_0 = v45.EntryPadding;
            local l_TeamEntrySizeY_0 = v45.TeamEntrySizeY;
            local l_PlayerEntrySizeY_0 = v45.PlayerEntrySizeY;
            local v50 = {};
            local v51 = 0;
            local v52 = 0;
            if not v44.props.sortedTeams then
                for v53, v54 in ipairs(v44.props.sortedPlayers) do
                    if not (v53 ~= 1 and not v44:inVerticalScrollWindow(v51, l_PlayerEntrySizeY_0)) then
                        local l_UserId_0 = v54.UserId;
                        v50["p_" .. tostring(l_UserId_0)] = v4.createElement("Frame", {
                            Position = UDim2.fromOffset(0, v51),
                            Size = UDim2.new(1, v45.EntryXOffset, 0, v45.PlayerEntrySizeY),
                            BackgroundTransparency = 1
                        }, {
                            v4.createElement(v19, {
                                player = v54,
                                playerStats = v44.props.playerStats[l_UserId_0],
                                playerIconInfo = v44.props.playerIconInfo[l_UserId_0],
                                playerRelationship = v44.props.playerRelationship[l_UserId_0],
                                titlePlayerEntry = false,
                                gameStats = v44.props.gameStats,
                                hasDivider = v53 ~= #v44.props.sortedPlayers,
                                entrySize = v44.props.entrySize,
                                [v4.Ref] = v53 == 1 and v44.firstPlayerRef or nil
                            })
                        });
                    end;
                    if v54 == v44.props.dropDownPlayer then
                        v52 = v51;
                    end;
                    v51 = (v51 + l_PlayerEntrySizeY_0) + l_EntryPadding_0;
                end;
            else
                local v56 = 0;
                local v57 = true;
                for v58, v59 in ipairs(v44.props.sortedTeams) do
                    if v44:inVerticalScrollWindow(v51, l_TeamEntrySizeY_0) then
                        v50["t_" .. tostring(v58)] = v4.createElement("Frame", {
                            Position = UDim2.fromOffset(0, v51),
                            Size = UDim2.new(1, v45.EntryXOffset, 0, v45.TeamEntrySizeY),
                            BackgroundTransparency = 1
                        }, {
                            v4.createElement(v20, {
                                teamName = v44.props.teamNames[v59.team],
                                teamColor = v44.props.teamColors[v59.team],
                                leaderstats = v44.props.teamScores[v59.team],
                                gameStats = v44.props.gameStats,
                                entrySize = v44.props.entrySize
                            })
                        });
                    end;
                    v56 = v56 + 1;
                    v51 = (v51 + l_TeamEntrySizeY_0) + l_EntryPadding_0;
                    local v60 = nil;
                    if v59.team == v25 then
                        v60 = {};
                        for _, v62 in ipairs(v44.props.sortedPlayers) do
                            if v44.props.playerTeam[v62.UserId] == nil then
                                table.insert(v60, v62);
                            end;
                        end;
                    else
                        v60 = v44.props.teamColorToPlayerMap[v59.team.TeamColor.Number] or {};
                    end;
                    for v63, v64 in ipairs(v60) do
                        if not (not v57 and not v44:inVerticalScrollWindow(v51, l_PlayerEntrySizeY_0)) then
                            local l_UserId_1 = v64.UserId;
                            v50["p_" .. tostring(l_UserId_1)] = v4.createElement("Frame", {
                                Position = UDim2.fromOffset(0, v51),
                                Size = UDim2.new(1, v45.EntryXOffset, 0, v45.PlayerEntrySizeY),
                                BackgroundTransparency = 1
                            }, {
                                v4.createElement(v19, {
                                    player = v64,
                                    playerStats = v44.props.playerStats[l_UserId_1],
                                    playerIconInfo = v44.props.playerIconInfo[l_UserId_1],
                                    playerRelationship = v44.props.playerRelationship[l_UserId_1],
                                    titlePlayerEntry = false,
                                    gameStats = v44.props.gameStats,
                                    hasDivider = not (v63 == #v60),
                                    entrySize = v44.props.entrySize,
                                    [v4.Ref] = not not v57 and v44.firstPlayerRef or nil
                                })
                            });
                        end;
                        v57 = false;
                        if v64 == v44.props.dropDownPlayer then
                            v52 = v51;
                        end;
                        v51 = (v51 + l_PlayerEntrySizeY_0) + l_EntryPadding_0;
                        v56 = v56 + 1;
                    end;
                end;
            end;
            local v66, v67 = v44:calculateDropDownAbsPosition(v52, l_PlayerEntrySizeY_0);
            if not v45.IsTenFoot then
                local v68 = v44.state.containerSizeY - 8;
                if #v44.props.gameStats > 0 then
                    v68 = v68 - v45.TitleBarSizeY;
                end;
                local v69 = if not v18() then v46.Theme.BackgroundContrast.Color else v46.Theme.BackgroundUIContrast.Color;
                local v72 = v44.minimizedBinding:map(function(v70)
                    local v71 = v45.OverrideBackgroundTransparency * v46.Settings.PreferredTransparency;
                    return v71 + (v45.FadedBackgroundTransparency - v71) * v70;
                end);
                local l_contentsVisible_0 = v44.state.contentsVisible;
                local l_createElement_0 = v4.createElement;
                local v75 = "Frame";
                local v76 = {
                    Position = v45.PlayerScrollListPosition,
                    Size = v45.PlayerScrollListSize,
                    BackgroundTransparency = 1,
                    [v4.Change.AbsoluteSize] = v44.absoluteSizeChanged
                };
                local v77 = {};
                local l_createElement_1 = v4.createElement;
                local v79 = "Frame";
                local v80 = {
                    BackgroundTransparency = 1,
                    Size = UDim2.fromScale(1, 1),
                    Position = UDim2.fromScale(0.5, 0.5),
                    AnchorPoint = Vector2.new(0.5, 0.5)
                };
                local v82 = {
                    UIScale = v4.createElement("UIScale", {
                        Scale = v44.minimizedBinding:map(function(v81)
                            return 1 - v45.FadedBackgroundScaleDelta * v81;
                        end)
                    }),
                    UIListLayout = v4.createElement("UIListLayout", {
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        FillDirection = Enum.FillDirection.Vertical,
                        VerticalAlignment = Enum.VerticalAlignment.Top,
                        HorizontalAlignment = Enum.HorizontalAlignment.Left
                    }),
                    TopRoundedRect = if v26 then v4.createElement("Frame", {
                        LayoutOrder = 1,
                        ClipsDescendants = true,
                        Size = UDim2.new(1, 0, 0, v12 + 2),
                        BackgroundTransparency = 1
                    }, {
                        v4.createElement("Frame", {
                            Size = UDim2.new(1, 0, 0, (v12 + 2) * 2),
                            BackgroundColor3 = v69,
                            BackgroundTransparency = v72
                        }, {
                            v4.createElement(l_IconButton_0, {
                                Name = "DismissButton",
                                position = UDim2.new(0, 1, 0, 1),
                                iconSize = l_IconSize_0.Small,
                                icon = l_Images_0["icons/navigation/close"],
                                onActivated = v44.props.dismissPlayerList
                            }),
                            v4.createElement("UICorner", {
                                CornerRadius = UDim.new(0, 7)
                            })
                        })
                    }) else v4.createElement("ImageLabel", {
                        LayoutOrder = 1,
                        BackgroundTransparency = 1,
                        Image = "rbxasset://textures/ui/TopRoundedRect8px.png",
                        ImageColor3 = v69,
                        ImageTransparency = v72,
                        ScaleType = Enum.ScaleType.Slice,
                        SliceCenter = Rect.new(8, 8, 24, 18),
                        SliceScale = 0.5,
                        Size = UDim2.new(1, 0, 0, 4)
                    })
                };
                local v83 = false;
                if #v44.props.gameStats > 0 then
                    v83 = v4.createElement(v22, {
                        LayoutOrder = 2,
                        contentsVisible = v44.state.contentsVisible,
                        backgroundTransparency = v72,
                        gameStats = v44.props.gameStats,
                        Size = UDim2.new(1, 0, 0, v45.TitleBarSizeY),
                        entrySize = v44.props.entrySize
                    });
                end;
                v82.TitleBar = v83;
                v82.ScrollingFrameContainer = v4.createElement("Frame", {
                    LayoutOrder = 3,
                    Position = UDim2.new(0, 0, 0, 0),
                    Size = UDim2.new(1, 0, 0, (math.min(v51, v68))),
                    BackgroundColor3 = v69,
                    BackgroundTransparency = v72,
                    BorderSizePixel = 0,
                    [v4.Change.AbsolutePosition] = v44.absolutePositionChanged
                }, {
                    PlayerDropDown = v4.createElement(v21, {
                        contentsVisible = l_contentsVisible_0,
                        selectedPlayer = v44.props.dropDownPlayer,
                        positionY = v66,
                        minPositionBoundY = -v44.state.scrollingFramePositionY + v45.DropDownScreenSidePadding,
                        maxPositionBoundY = (v44.props.screenSizeY - v44.state.scrollingFramePositionY) - v45.DropDownScreenSidePadding
                    }),
                    ScrollingFrameClippingFrame = v4.createElement("Frame", {
                        Visible = v44.state.contentsVisible,
                        Size = UDim2.new(1, 0, 1, 0),
                        BackgroundTransparency = 1,
                        ClipsDescendants = true
                    }, {
                        ScollingFrame = v4.createElement("ScrollingFrame", {
                            Size = UDim2.new(1, -v45.ScrollBarOffset, 1, 0),
                            CanvasSize = UDim2.new(0, 0, 0, v51),
                            BackgroundTransparency = 1,
                            ScrollBarImageColor3 = v45.ScrollImageColor,
                            ScrollBarImageTransparency = v45.ScrollImageTransparency,
                            BorderSizePixel = 0,
                            ScrollBarThickness = v45.ScrollBarSize,
                            VerticalScrollBarInset = Enum.ScrollBarInset.Always,
                            ClipsDescendants = false,
                            ScrollingEnabled = not v44.props.dropDownVisible,
                            Selectable = false,
                            CanvasPosition = not not v44.props.dropDownVisible and v67 or v44.state.lastCanvasPosition,
                            [v4.Change.CanvasPosition] = v44.canvasPositionChanged,
                            [v4.Ref] = v44.scrollingFrameRef
                        }, {
                            OffsetUndoFrame = v4.createElement("Frame", {
                                Size = UDim2.new(1, v45.ScrollBarOffset + v45.ScrollBarSize, 0, v51),
                                BackgroundTransparency = 1
                            }, v50)
                        })
                    })
                });
                v82.BottomRoundedRect = if v26 then v4.createElement("Frame", {
                    LayoutOrder = 4,
                    ClipsDescendants = true,
                    Size = UDim2.new(1, 0, 0, 7),
                    BackgroundTransparency = 1,
                    BorderSizePixel = 0
                }, {
                    v4.createElement("Frame", {
                        Position = UDim2.new(0, 0, 0, -8),
                        Size = UDim2.new(1, 0, 0, 14),
                        BackgroundColor3 = v69,
                        BackgroundTransparency = v72,
                        BorderSizePixel = 0
                    }, {
                        v4.createElement("UICorner", {
                            CornerRadius = UDim.new(0, 7)
                        })
                    })
                }) else v4.createElement("ImageLabel", {
                    LayoutOrder = 4,
                    BackgroundTransparency = 1,
                    Image = "rbxasset://textures/ui/BottomRoundedRect8px.png",
                    ImageColor3 = v69,
                    ImageTransparency = v72,
                    ScaleType = Enum.ScaleType.Slice,
                    SliceCenter = Rect.new(8, 8, 24, 16),
                    SliceScale = 0.5,
                    Size = UDim2.new(1, 0, 0, 4)
                });
                v77.SizeOffsetFrame = l_createElement_1(v79, v80, v82);
                return l_createElement_0(v75, v76, v77);
            else
                return v4.createElement("Frame", {
                    Position = v45.PlayerScrollListPosition,
                    Size = v45.PlayerScrollListSize,
                    BackgroundTransparency = 1,
                    [v4.Change.AbsoluteSize] = v44.absoluteSizeChanged
                }, {
                    ScollingFrame = v4.createElement("ScrollingFrame", {
                        Position = UDim2.new(0, 0, 0, 0),
                        Size = UDim2.new(1, 0, 1, 0),
                        CanvasSize = UDim2.new(0, 0, 0, v51),
                        BackgroundTransparency = 1,
                        ScrollBarImageColor3 = v45.ScrollImageColor,
                        ScrollBarImageTransparency = v45.ScrollImageTransparency,
                        BorderSizePixel = 0,
                        ScrollBarThickness = 6,
                        ScrollingEnabled = not v44.props.dropDownVisible,
                        Selectable = false,
                        CanvasPosition = not not v44.props.dropDownVisible and v67 or v44.state.lastCanvasPosition,
                        [v4.Change.CanvasPosition] = v44.canvasPositionChanged,
                        [v4.Ref] = v44.scrollingFrameRef
                    }, v50)
                });
            end;
        end);
    end);
end;
v28.didUpdate = function(v84, v85)
    if v84.props.isVisible ~= v85.isVisible then
        if not v84.props.isVisible then
            if not (not v84.props.isTenFootInterface or not v84.props.isUsingGamepad) then
                l_UserInputService_0.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.None;
            end;
            if not (not l_GuiService_0.SelectedCoreObject or not l_GuiService_0.SelectedCoreObject:IsDescendantOf(v84.scrollingFrameRef.current)) then
                l_GuiService_0.SelectedCoreObject = nil;
            end;
            l_GuiService_0:RemoveSelectionGroup("PlayerlistGuiSelection");
        else
            if not (not v84.props.isTenFootInterface or not v84.props.isUsingGamepad) then
                l_GuiService_0.SelectedCoreObject = v84.firstPlayerRef.current;
                l_UserInputService_0.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.ForceHide;
            end;
            l_GuiService_0:AddSelectionParent("PlayerlistGuiSelection", v84.scrollingFrameRef.current);
        end;
    end;
    if v84.props.isMinimized ~= v85.isMinimized then
        v84.minimizedMotor:setGoal(v8.spring(not v84.props.isMinimized and 0 or 1, v27));
        if v84.props.isMinimized then
            v84:setState({
                contentsVisible = false
            });
        end;
    end;
end;
return v5.UNSTABLE_connect2(function(v86)
    return {
        isVisible = v86.displayOptions.isVisible,
        isMinimized = v86.displayOptions.isMinimized,
        isTenFootInterface = v86.displayOptions.isTenFootInterface,
        isUsingGamepad = v86.displayOptions.isUsingGamepad,
        gameStats = v86.gameStats,
        teamNames = v86.teamNames,
        teamColors = v86.teamColors,
        playerStats = v86.playerStats,
        playerIconInfo = v86.playerIconInfo,
        playerRelationship = v86.playerRelationship,
        playerTeam = v86.playerTeam,
        dropDownPlayer = v86.playerDropDown.selectedPlayer,
        dropDownVisible = v86.playerDropDown.isVisible
    };
end, function(v87)
    return {
        dismissPlayerList = function()
            return v87(v24(false));
        end
    };
end)(v28);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local v4 = require(l_CorePackages_0.Cryo);
local v5 = require(l_CorePackages_0.Packages.t);
local v6 = require(l_CoreGui_0:WaitForChild("RobloxGui").Modules.Interfaces.playerInterface);
local l_Parent_0 = script.Parent;
local v8 = require(l_Parent_0.PlayerListDisplay);
local l_Parent_1 = l_Parent_0.Parent.Parent;
local v10 = require(l_Parent_1.GetFakeNeutralTeam);
local v11 = require(l_Parent_1.PlayerSorting);
local v12 = v2.PureComponent:extend("PlayerListSorter");
v12.init = function(v13)
    v13.state = {
        sortedPlayers = {},
        playerKeys = {}
    };
end;
local function _(v14, v15)
    if v15 == nil then
        return v14.Team == nil;
    else
        return v14.TeamColor == v15.TeamColor;
    end;
end;
local function v27(v17, v18, v19, v20)
    local v21 = {};
    for _, v23 in ipairs(v17) do
        for _, v25 in ipairs(v18) do
            if if v20 == nil then v25.Team == nil else v25.TeamColor == v20.TeamColor then
                local v26 = v19[v25.UserId][v23.name];
                if type(v26) == "number" then
                    v21[v23.name] = v21[v23.name] or 0;
                    v21[v23.name] = v21[v23.name] + v26;
                end;
            end;
        end;
    end;
    return v21;
end;
local function v35(v28, v29, v30, v31)
    local v32 = {};
    for _, v34 in ipairs(v29) do
        v32[v34] = v27(v28, v30, v31, v34);
    end;
    v32[v10] = v27(v28, v30, v31, nil);
    return v32;
end;
local _ = function(v36)
    for _, v38 in ipairs(v36) do
        if v38.Team == nil then
            return true;
        end;
    end;
    return false;
end;
local function v50(_, _, v42, v43)
    local v44 = {};
    local v45 = {};
    for _, v47 in ipairs(v42) do
        if v45[v47.TeamColor.Number] == nil then
            v45[v47.TeamColor.Number] = true;
            v44[#v44 + 1] = {
                team = v47,
                originalPos = v47.ChildOrder
            };
        end;
    end;
    if v43 then
        v44[#v44 + 1] = {
            team = v10,
            originalPos = #v44 + 1
        };
    end;
    table.sort(v44, function(v48, v49)
        if v48.team == v10 then
            return false;
        elseif v49.team == v10 then
            return true;
        else
            return v48.originalPos < v49.originalPos;
        end;
    end);
    return v44;
end;
v12.validateProps = v5.strictInterface({
    screenSizeY = v5.integer,
    entrySize = v5.integer,
    players = v5.array(v6),
    teams = v5.array(v5.instanceIsA("Team")),
    playerTeam = v5.map(v5.integer, v5.instanceIsA("Team")),
    playerKeys = v5.strictInterface({
        keys = v5.map(v6, v5.strictInterface({
            name = v5.string,
            stat = v5.union(v5.number, v5.string, v5.none)
        })),
        primaryStat = v5.optional(v5.string)
    }),
    playerStats = v5.map(v5.integer, v5.map(v5.string, v5.any)),
    gameStats = v5.array(v5.strictInterface({
        name = v5.string,
        text = v5.string,
        addId = v5.integer,
        isPrimary = v5.boolean,
        priority = v5.number
    }))
});
v12.render = function(v51)
    local v52 = not not v51.props.gameStats[1] and v51.props.gameStats[1].name or nil;
    local l_sortedPlayers_0 = v51.state.sortedPlayers;
    if v4.isEmpty(v51.props.teams) then
        return v2.createElement(v8, {
            sortedPlayers = l_sortedPlayers_0,
            sortedTeams = nil,
            teamColorToPlayerMap = nil,
            teamScores = nil,
            screenSizeY = v51.props.screenSizeY,
            entrySize = v51.props.entrySize
        });
    else
        local v54 = v35(v51.props.gameStats, v51.props.teams, v51.props.players, v51.props.playerStats);
        local v55;
        for _, v57 in ipairs(v51.props.players) do
            if v57.Team == nil then
                v55 = true;
                goto label0 --[[  true, false  ]];
            end;
        end;
        v55 = false;
        ::label0::;
        local v58 = v50(v54, v52, v51.props.teams, v55);
        local v59 = {};
        for _, v61 in ipairs(l_sortedPlayers_0) do
            if v61.TeamColor and v51.props.playerTeam[v61.UserId] ~= nil then
                if not v59[v61.TeamColor.Number] then
                    v59[v61.TeamColor.Number] = {
                        v61
                    };
                else
                    table.insert(v59[v61.TeamColor.Number], v61);
                end;
            end;
        end;
        return v2.createElement(v8, {
            sortedPlayers = l_sortedPlayers_0,
            sortedTeams = v58,
            teamColorToPlayerMap = v59,
            teamScores = v54,
            screenSizeY = v51.props.screenSizeY,
            entrySize = v51.props.entrySize
        });
    end;
end;
v12.getDerivedStateFromProps = v11.getDerivedStateFromProps;
return v3.connect(function(v62)
    return {
        gameStats = v62.gameStats,
        teams = v62.teams,
        players = v62.players,
        playerKeys = v62.playerKeys,
        playerStats = v62.playerStats,
        playerTeam = v62.playerTeam
    };
end, nil)(v12);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_CorePackages_0.Packages.t);
local v5 = require(l_CorePackages_0.Workspace.Packages.VerifiedBadges);
local v6 = require(l_CorePackages_0.Packages.Cryo);
local l_Parent_0 = script.Parent.Parent.Parent;
local l_WithLayoutValues_0 = require(l_Parent_0.Components.Connection.LayoutValues).WithLayoutValues;
local v9 = require(l_Parent_0.Hooks.usePlayerCombinedName);
local v10 = require(l_CorePackages_0.Workspace.Packages.UserProfiles);
local v11 = require(l_CoreGui_0.RobloxGui.Modules.ApolloClient);
local v12 = require(l_RobloxGui_0.Modules.Flags.getIsUserProfileOnLeaderboardEnabled);
local v13 = require(l_Parent_0.Flags.FFlagRefactorPlayerNameTag);
local v14 = require(l_RobloxGui_0.Modules.Interfaces.playerInterface);
local v15 = v3.PureComponent:extend("PlayerNameTag");
v15.validateProps = v4.strictInterface({
    player = v14,
    isTitleEntry = v4.boolean,
    isHovered = v4.boolean,
    layoutOrder = v4.integer,
    name = if not v13 then nil else v4.string,
    textStyle = v4.strictInterface({
        Color = v4.Color3,
        Transparency = v4.number,
        StrokeColor = v4.optional(v4.Color3),
        StrokeTransparency = v4.optional(v4.number)
    }),
    textFont = v4.strictInterface({
        Size = v4.number,
        MinSize = v4.number,
        Font = v4.enum(Enum.Font)
    })
});
if not v13 then
    v15.init = function(v16)
        if v12() then
            v16:setState({
                name = v16.props.player.DisplayName
            });
            v11:query({
                query = v10.Queries.userProfilesCombinedNameByUserIds,
                variables = {
                    userIds = {
                        (tostring(v16.props.player.UserId))
                    }
                }
            }):andThen(function(v17)
                v16:setState({
                    name = v17.data.userProfiles[1].names.combinedName
                });
            end, function()
            end);
        end;
    end;
end;
v15.render = function(v18)
    return l_WithLayoutValues_0(function(v19)
        local l_IconUnSelectedColor_0 = v19.IconUnSelectedColor;
        if v18.props.isHovered then
            l_IconUnSelectedColor_0 = v19.IconSelectedColor;
        end;
        local l_Font_0 = v18.props.textFont.Font;
        local l_Size_0 = v18.props.textFont.Size;
        local l_MinSize_0 = v18.props.textFont.MinSize;
        local v24 = {};
        local l_PlatformName_0 = v18.props.player.PlatformName;
        local v26 = v5.isPlayerVerified(v18.props.player);
        if v19.IsTenFoot and l_PlatformName_0 ~= "" then
            v24.VerticalLayout = v3.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                FillDirection = Enum.FillDirection.Vertical,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                Padding = UDim.new(0, 10)
            });
            v24.PlayerPlatformName = v3.createElement("TextLabel", {
                Position = UDim2.new(0, 0, 0, 0),
                Size = UDim2.new(1, 0, 0.35, 0),
                TextXAlignment = Enum.TextXAlignment.Left,
                Font = Enum.Font.SourceSans,
                TextSize = l_Size_0,
                TextColor3 = v18.props.textStyle.Color,
                TextTransparency = v18.props.textStyle.Transparency,
                TextStrokeColor3 = v18.props.textStyle.StrokeColor,
                TextStrokeTransparency = v18.props.textStyle.StrokeTransparency,
                BackgroundTransparency = 1,
                Text = l_PlatformName_0,
                LayoutOrder = 2
            });
            v24.RobloxNameFrame = v3.createElement("Frame", {
                Size = UDim2.new(1, 0, 0.45, 0),
                BackgroundTransparency = 1,
                LayoutOrder = 2
            }, {
                Layout = v3.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    FillDirection = Enum.FillDirection.Horizontal,
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    Padding = UDim.new(0, 6)
                }),
                RobloxIcon = v3.createElement("ImageButton", {
                    Size = UDim2.new(0, 24, 0, 24),
                    Image = v19.RobloxIconImage,
                    BackgroundTransparency = 1,
                    Selectable = false,
                    ImageColor3 = l_IconUnSelectedColor_0,
                    LayoutOrder = 1
                }),
                PlayerNameContainer = v3.createElement(v5.EmojiWrapper, {
                    emoji = not v26 and "" or v5.emoji.verified,
                    layoutOrder = 2,
                    mockIsEnrolled = true,
                    size = UDim2.new(1, -30, 0, 0),
                    automaticSize = Enum.AutomaticSize.Y,
                    verticalAlignment = Enum.VerticalAlignment.Center
                }, {
                    PlayerName = v3.createElement("TextLabel", {
                        AutomaticSize = Enum.AutomaticSize.X,
                        ClipsDescendants = false,
                        Size = UDim2.fromScale(0, 1),
                        Font = l_Font_0,
                        Text = if not v13 then if v12() then v18.state.name else v18.props.player.Name else v18.props.name,
                        TextSize = l_Size_0,
                        TextColor3 = v18.props.textStyle.Color,
                        TextTransparency = v18.props.textStyle.Transparency,
                        TextStrokeColor3 = v18.props.textStyle.StrokeColor,
                        TextStrokeTransparency = v18.props.textStyle.StrokeTransparency,
                        TextTruncate = Enum.TextTruncate.AtEnd,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        BackgroundTransparency = 1
                    })
                })
            });
        else
            v24.PlayerNameContainer = v3.createElement(v5.EmojiWrapper, {
                emoji = not v26 and "" or v5.emoji.verified,
                anchorPoint = Vector2.new(0, 0.5),
                position = UDim2.fromScale(0, 0.5),
                mockIsEnrolled = true,
                verticalAlignment = Enum.VerticalAlignment.Center,
                automaticSize = Enum.AutomaticSize.X,
                size = UDim2.new(0, 0, 0, l_Size_0)
            }, {
                PlayerName = v3.createElement("TextLabel", {
                    AutomaticSize = Enum.AutomaticSize.X,
                    Size = UDim2.fromScale(0, 1),
                    Font = l_Font_0,
                    Text = if not v13 then if v12() then v18.state.name else v18.props.player.DisplayName else v18.props.name,
                    TextSize = l_Size_0,
                    TextColor3 = v18.props.textStyle.Color,
                    TextTransparency = v18.props.textStyle.Transparency,
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    TextScaled = true,
                    TextStrokeColor3 = v18.props.textStyle.StrokeColor,
                    TextStrokeTransparency = v18.props.textStyle.StrokeTransparency,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    BackgroundTransparency = 1
                }, {
                    SizeConstraint = v3.createElement("UITextSizeConstraint", {
                        MaxTextSize = l_Size_0,
                        MinTextSize = l_MinSize_0
                    })
                })
            });
        end;
        return v3.createElement("Frame", {
            LayoutOrder = v18.props.layoutOrder,
            Size = v19.PlayerNameSize,
            BackgroundTransparency = 1
        }, v24);
    end);
end;
local function v28(v27)
    return v3.createElement(v15, v6.Dictionary.join(v27, {
        name = v9(tostring(v27.player.UserId), v27.player.DisplayName)
    }));
end;
if not v13 then
    return v15;
else
    return v28;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.Packages.t);
local l_withStyle_0 = require(l_CorePackages_0.UIBlox).Style.withStyle;
local v5 = require(l_CoreGui_0:WaitForChild("RobloxGui").Modules.GameTranslator);
local l_Parent_0 = script.Parent.Parent;
local l_WithLayoutValues_0 = require(l_Parent_0.Connection.LayoutValues).WithLayoutValues;
local v8 = require(l_Parent_0.Parent.FormatStatString);
local v9 = v2.PureComponent:extend("StatEntry");
v9.validateProps = v3.strictInterface({
    statName = v3.string,
    statValue = v3.optional(v3.any),
    isTitleEntry = v3.boolean,
    isTeamEntry = v3.boolean,
    layoutOrder = v3.integer,
    backgroundStyle = v3.strictInterface({
        Color = v3.Color3,
        Transparency = v3.number
    }),
    overlayStyle = v3.strictInterface({
        Color = v3.Color3,
        Transparency = v3.number
    }),
    doubleOverlay = v3.boolean,
    textStyle = v3.strictInterface({
        Color = v3.Color3,
        Transparency = v3.number,
        StrokeColor = v3.optional(v3.Color3),
        StrokeTransparency = v3.optional(v3.number)
    }),
    onActivated = v3.optional(v3.callback),
    onSelectionGained = v3.optional(v3.callback),
    onSelectionLost = v3.optional(v3.callback),
    onMouseEnter = v3.optional(v3.callback),
    onMouseLeave = v3.optional(v3.callback),
    onMouseDown = v3.optional(v3.callback),
    onInputEnded = v3.optional(v3.callback)
});
v9.render = function(v10)
    return l_WithLayoutValues_0(function(v11)
        return l_withStyle_0(function(v12)
            local v13 = v5:TranslateGameText(l_CoreGui_0, v10.props.statName);
            local v14 = nil;
            local v15 = nil;
            if v11.IsTenFoot then
                v15 = v11.StatTextSize;
                v14 = v11.StatFont;
                if not v10.props.isTitleEntry then
                    if v10.props.isTeamEntry then
                        v14 = v11.TeamStatFont;
                    end;
                else
                    v14 = v11.TitleStatFont;
                end;
            else
                v14 = v12.Font.CaptionHeader.Font;
                v15 = v12.Font.CaptionHeader.RelativeSize * v12.Font.BaseSize;
            end;
            local v16 = v8(v10.props.statValue);
            local v17 = {};
            if v11.IsTenFoot then
                v17.Shadow = v2.createElement("ImageLabel", {
                    BackgroundTransparency = 1,
                    Image = v11.ShadowImage,
                    Position = UDim2.new(0, -v11.ShadowSize, 0, 0),
                    Size = UDim2.new(1, v11.ShadowSize * 2, 1, v11.ShadowSize),
                    ScaleType = Enum.ScaleType.Slice,
                    SliceCenter = v11.ShadowSliceRect
                });
            end;
            v17.StatText = v2.createElement("TextLabel", {
                Size = not not v10.props.isTitleEntry and UDim2.new(1, 0, 0.5, 0) or UDim2.new(1, 0, 1, 0),
                Position = not not v10.props.isTitleEntry and UDim2.new(0, 0, 0.5, 0) or UDim2.new(0, 0, 0, 0),
                BackgroundTransparency = 1,
                Font = v14,
                TextSize = v15,
                TextColor3 = v10.props.textStyle.Color,
                TextTransparency = v10.props.textStyle.Transparency,
                TextStrokeColor3 = v10.props.textStyle.StrokeColor,
                TextStrokeTransparency = v10.props.textStyle.StrokeTransparency,
                Text = v16,
                TextTruncate = Enum.TextTruncate.AtEnd,
                Active = true
            }, {
                v2.createElement("UIPadding", {
                    PaddingLeft = UDim.new(0, v11.StatTextPadding)
                }) or nil
            });
            if v10.props.isTitleEntry then
                v17.StatName = v2.createElement("TextLabel", {
                    Size = UDim2.new(1, 0, 0.5, 0),
                    Position = UDim2.new(0, 0, 0, 0),
                    BackgroundTransparency = 1,
                    Font = v11.StatNameFont,
                    TextSize = v15,
                    TextColor3 = v10.props.textStyle.Color,
                    TextTransparency = v10.props.textStyle.Transparency,
                    TextStrokeColor3 = v10.props.textStyle.StrokeColor,
                    TextStrokeTransparency = v10.props.textStyle.StrokeTransparency,
                    Text = v13,
                    Active = true,
                    ClipsDescendants = true
                });
            end;
            return v2.createElement("TextButton", {
                Text = "",
                LayoutOrder = v10.props.layoutOrder,
                Size = UDim2.new(0, v11.StatEntrySizeX, 1, 0),
                BackgroundTransparency = v10.props.backgroundStyle.Transparency,
                BackgroundColor3 = v10.props.backgroundStyle.Color,
                BorderSizePixel = 0,
                AutoLocalize = false,
                AutoButtonColor = false,
                Selectable = false,
                [v2.Event.Activated] = v10.props.onActivated,
                [v2.Event.SelectionGained] = v10.props.onSelectionGained,
                [v2.Event.SelectionLost] = v10.props.onSelectionLost,
                [v2.Event.MouseEnter] = v10.props.onMouseEnter,
                [v2.Event.MouseLeave] = v10.props.onMouseLeave,
                [v2.Event.MouseButton1Down] = v10.props.onMouseDown,
                [v2.Event.MouseButton1Up] = v10.props.onInputEnded,
                [v2.Event.InputEnded] = function(_, v19)
                    if v19.UserInputType == Enum.UserInputType.Touch then
                        if v10.props.onMouseLeave then
                            v10.props.onMouseLeave();
                        end;
                        if v10.props.onInputEnded then
                            v10.props.onInputEnded();
                        end;
                    end;
                end
            }, {
                DoubleOverLay = v2.createElement("Frame", {
                    ZIndex = 1,
                    Visible = v10.props.doubleOverlay,
                    Size = UDim2.new(1, 0, 1, 0),
                    BackgroundTransparency = v10.props.overlayStyle.Transparency,
                    BackgroundColor3 = v10.props.overlayStyle.Color,
                    BorderSizePixel = 0
                }),
                OverlayFrame = v2.createElement("Frame", {
                    ZIndex = 2,
                    Size = UDim2.new(1, 0, 1, 0),
                    BackgroundTransparency = v10.props.overlayStyle.Transparency,
                    BackgroundColor3 = v10.props.overlayStyle.Color,
                    BorderSizePixel = 0
                }, v17)
            });
        end);
    end);
end;
return v9;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local l_withStyle_0 = require(l_CorePackages_0.UIBlox).Style.withStyle;
local v5 = require(l_CoreGui_0:WaitForChild("RobloxGui").Modules.GameTranslator);
local l_WithLayoutValues_0 = require(script.Parent.Parent.Connection.LayoutValues).WithLayoutValues;
local v7 = require(script.Parent.EntryFrame);
local v8 = require(script.Parent.StatEntry);
local v9 = require(script.Parent.CellExtender);
local v10 = v2.PureComponent:extend("TeamEntry");
v10.render = function(v11)
    return l_WithLayoutValues_0(function(v12)
        return l_withStyle_0(function(v13)
            local l_NeutralTeamName_0 = v12.NeutralTeamName;
            local l_Color_0 = v12.NeutralTeamColor.Color;
            if v11.props.teamName then
                l_NeutralTeamName_0 = v5:TranslateGameText(l_CoreGui_0, v11.props.teamName);
                l_Color_0 = v11.props.teamColor.Color;
            end;
            local v16 = nil;
            v16 = if v12.IsTenFoot then {
                Color = l_Color_0,
                Transparency = v12.BackgroundStyle.Default.Transparency
            } else if v11.props.teamColor then {
                Color = v11.props.teamColor.Color,
                Transparency = v12.TeamEntryBackgroundTransparency * v13.Settings.PreferredTransparency
            } else v13.Theme.Divider;
            local v17 = {
                Transparency = 1,
                Color = Color3.new(1, 1, 1)
            };
            local v18 = nil;
            v18 = if not v12.IsTenFoot then v13.Theme.TextEmphasis else v12.DefaultTextStyle;
            local l_entrySize_0 = v11.props.entrySize;
            local v20 = nil;
            local v21 = nil;
            if v12.IsTenFoot then
                v20 = v12.PlayerNameTextSize;
                v21 = v12.TeamEntryFont;
            else
                v20 = v13.Font.CaptionHeader.RelativeSize * v13.Font.BaseSize;
                v21 = v13.Font.CaptionHeader.Font;
            end;
            local v22 = {};
            local v23 = nil;
            if v12.IsTenFoot then
                v23 = UDim.new(0, v12.PlayerEntryPadding);
            end;
            v22.Layout = v2.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                FillDirection = Enum.FillDirection.Horizontal,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                Padding = v23
            });
            v22.NameFrame = v2.createElement("Frame", {
                LayoutOrder = 0,
                Size = UDim2.new(0, l_entrySize_0, 0, v12.TeamEntrySizeY),
                BackgroundTransparency = 1
            }, {
                Shadow = v2.createElement("ImageLabel", {
                    BackgroundTransparency = 1,
                    Image = v12.ShadowImage,
                    Position = UDim2.new(0, -v12.ShadowSize, 0, 0),
                    Size = UDim2.new(1, v12.ShadowSize * 2, 1, v12.ShadowSize),
                    ScaleType = Enum.ScaleType.Slice,
                    SliceCenter = v12.ShadowSliceRect,
                    Visible = v12.IsTenFoot
                }),
                BGFrame = v2.createElement(v7, {
                    sizeX = l_entrySize_0,
                    sizeY = v12.TeamEntrySizeY,
                    isTeamFrame = true,
                    backgroundStyle = v16,
                    overlayStyle = v17,
                    doubleOverlay = false
                }, {
                    TeamName = v2.createElement("TextLabel", {
                        Position = UDim2.new(0, 0, 0, 0),
                        Size = UDim2.new(1, 0, 1, 0),
                        TextXAlignment = Enum.TextXAlignment.Left,
                        Font = v21,
                        TextSize = v20,
                        TextColor3 = v18.Color,
                        TextStrokeTransparency = v18.StrokeTransparency,
                        TextStrokeColor3 = v18.StrokeColor,
                        BackgroundTransparency = 1,
                        Text = l_NeutralTeamName_0,
                        TextTruncate = Enum.TextTruncate.AtEnd
                    }, {
                        v2.createElement("UIPadding", {
                            PaddingLeft = UDim.new(0, v12.TeamEntryTextPadding)
                        })
                    })
                })
            });
            local l_MaxLeaderstats_0 = v12.MaxLeaderstats;
            if v11.props.isSmallTouchDevice then
                l_MaxLeaderstats_0 = v12.MaxLeaderstatsSmallScreen;
            end;
            for v25, v26 in ipairs(v11.props.gameStats) do
                if l_MaxLeaderstats_0 >= v25 then
                    v22["gameStat_" .. v26.name] = v2.createElement(v8, {
                        statName = v26.name,
                        statValue = v11.props.leaderstats[v26.name],
                        isTitleEntry = false,
                        isTeamEntry = true,
                        layoutOrder = v25,
                        backgroundStyle = v16,
                        overlayStyle = v17,
                        doubleOverlay = false,
                        textStyle = v18
                    });
                else
                    break;
                end;
            end;
            if not v12.IsTenFoot then
                v22.BackgroundExtender = v2.createElement(v9, {
                    layoutOrder = 100,
                    size = UDim2.new(0, v12.ExtraContainerPadding, 1, 0),
                    backgroundStyle = v16,
                    overlayStyle = v17,
                    doubleOverlay = false
                });
            end;
            return v2.createFragment(v22);
        end);
    end);
end;
return v3.UNSTABLE_connect2(function(v27)
    return {
        isSmallTouchDevice = v27.displayOptions.isSmallTouchDevice
    };
end, nil)(v10);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local v4 = require(l_CorePackages_0.Packages.t);
local l_withStyle_0 = require(l_CorePackages_0.UIBlox).Style.withStyle;
local l_WithLayoutValues_0 = require(script.Parent.Parent.Connection.LayoutValues).WithLayoutValues;
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v8 = require(l_RobloxGui_0.Modules.GameTranslator);
local v9 = require(l_RobloxGui_0.Modules.RobloxTranslator);
local v10 = require(l_RobloxGui_0.Modules.Chrome.Enabled);
local v11 = v2.PureComponent:extend("TitleBar");
v11.validateProps = v4.strictInterface({
    Size = v4.UDim2,
    LayoutOrder = v4.integer,
    entrySize = v4.integer,
    contentsVisible = v4.boolean,
    backgroundTransparency = v4.union(v4.number, v4.table),
    isSmallTouchDevice = v4.boolean,
    gameStats = v4.array(v4.strictInterface({
        name = v4.string,
        text = v4.string,
        addId = v4.integer,
        isPrimary = v4.boolean,
        priority = v4.number
    }))
});
v11.render = function(v12)
    return l_WithLayoutValues_0(function(v13)
        return l_withStyle_0(function(v14)
            local v15 = {
                layout = v2.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    FillDirection = Enum.FillDirection.Horizontal,
                    VerticalAlignment = Enum.VerticalAlignment.Center
                }),
                playersHeader = v2.createElement("TextLabel", {
                    LayoutOrder = 1,
                    Size = UDim2.new(0, v12.props.entrySize, 1, 0),
                    Text = v9:FormatByKey("InGame.PlayerList.Players"),
                    BackgroundTransparency = 1,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextYAlignment = Enum.TextYAlignment.Center,
                    Font = v14.Font.Footer.Font,
                    TextSize = v14.Font.BaseSize * v14.Font.Footer.RelativeSize,
                    TextTransparency = v14.Theme.TextMuted.Transparency,
                    TextColor3 = v14.Theme.TextMuted.Color
                }, {
                    Padding = v2.createElement("UIPadding", {
                        PaddingLeft = UDim.new(0, 15)
                    })
                })
            };
            local l_MaxLeaderstats_0 = v13.MaxLeaderstats;
            if v12.props.isSmallTouchDevice then
                l_MaxLeaderstats_0 = v13.MaxLeaderstatsSmallScreen;
            end;
            for v17, v18 in ipairs(v12.props.gameStats) do
                if l_MaxLeaderstats_0 >= v17 then
                    v15["stat_" .. v18.name] = v2.createElement("TextLabel", {
                        LayoutOrder = v17 + 1,
                        Size = UDim2.new(0, v13.StatEntrySizeX, 1, 0),
                        Text = v8:TranslateGameText(l_CoreGui_0, v18.name),
                        BackgroundTransparency = 1,
                        TextXAlignment = Enum.TextXAlignment.Center,
                        TextYAlignment = Enum.TextYAlignment.Center,
                        Font = v14.Font.Footer.Font,
                        TextSize = v14.Font.BaseSize * v14.Font.Footer.RelativeSize,
                        TextTransparency = v14.Theme.TextMuted.Transparency,
                        TextColor3 = v14.Theme.TextMuted.Color,
                        TextTruncate = Enum.TextTruncate.AtEnd
                    });
                else
                    break;
                end;
            end;
            return v2.createElement("Frame", {
                Size = v12.props.Size,
                LayoutOrder = v12.props.LayoutOrder,
                BackgroundTransparency = v12.props.backgroundTransparency,
                BackgroundColor3 = if not v10() then v14.Theme.BackgroundContrast.Color else v14.Theme.BackgroundUIContrast.Color,
                BorderSizePixel = 0
            }, {
                Divider = v2.createElement("Frame", {
                    Visible = v12.props.contentsVisible,
                    Size = UDim2.new(1, 0, 0, 1),
                    Position = UDim2.new(0, 0, 1, 0),
                    AnchorPoint = Vector2.new(0, 1),
                    BackgroundTransparency = v14.Theme.Divider.Transparency,
                    BackgroundColor3 = v14.Theme.Divider.Color,
                    BorderSizePixel = 0
                }),
                ChildrenFrame = v2.createElement("Frame", {
                    Visible = v12.props.contentsVisible,
                    BackgroundTransparency = 1,
                    Position = UDim2.new(0, 0, 0, -2),
                    Size = UDim2.new(1, 0, 1, 0)
                }, v15)
            });
        end);
    end);
end;
return v3.UNSTABLE_connect2(function(v19)
    return {
        isSmallTouchDevice = v19.displayOptions.isSmallTouchDevice
    };
end, nil)(v11);


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Roact);
local v2 = require(l_CorePackages_0.Packages.t);
local v3 = require(l_CorePackages_0.UIBlox);
local l_withStyle_0 = v3.Style.withStyle;
local l_WithLayoutValues_0 = require(script.Parent.Parent.Connection.LayoutValues).WithLayoutValues;
local l_ImageSetLabel_0 = v3.Core.ImageSet.ImageSetLabel;
local v7 = v1.PureComponent:extend("IconButton");
v7.validateProps = v2.strictInterface({
    size = v2.UDim2,
    position = v2.UDim2,
    backgroundColor = v2.Color3,
    icon = v2.union(v2.string, v2.table),
    showBackground = v2.boolean,
    onActivated = v2.optional(v2.callback)
});
v7.init = function(v8)
    v8.state = {
        isHovered = false,
        isPressed = false
    };
end;
v7.render = function(v9)
    return l_WithLayoutValues_0(function(v10)
        return l_withStyle_0(function(v11)
            local v12 = {
                Transparency = 1,
                Color = Color3.new(1, 1, 1)
            };
            if v9.props.onActivated then
                if not v9.state.isPressed then
                    if v9.state.isHovered then
                        v12 = v11.Theme.BackgroundOnHover;
                    end;
                else
                    v12 = v11.Theme.BackgroundOnPress;
                end;
            end;
            return v1.createElement("TextButton", {
                Text = "",
                BorderSizePixel = 0,
                BackgroundTransparency = not not v9.props.showBackground and v10.IconButtonBackgroundTransparency or 1,
                BackgroundColor3 = v9.props.backgroundColor,
                Position = v9.props.position,
                Size = v9.props.size,
                [v1.Event.Activated] = v9.props.onActivated,
                [v1.Event.MouseButton1Down] = function()
                    v9:setState({
                        isPressed = true
                    });
                end,
                [v1.Event.MouseButton1Up] = function()
                    v9:setState({
                        isPressed = false
                    });
                end,
                [v1.Event.MouseEnter] = function()
                    v9:setState({
                        isHovered = true
                    });
                end,
                [v1.Event.MouseLeave] = function()
                    v9:setState({
                        isHovered = false,
                        isPressed = false
                    });
                end
            }, {
                HoverBackground = v1.createElement("Frame", {
                    ZIndex = 1,
                    Size = UDim2.new(1, 0, 1, 0),
                    BackgroundTransparency = v12.Transparency,
                    BackgroundColor3 = v12.Color,
                    BorderSizePixel = 0
                }),
                ImageButton = v1.createElement(l_ImageSetLabel_0, {
                    Position = UDim2.new(0.5, 0, 0.5, 0),
                    Size = UDim2.new(0, v10.DropDownIconSize, 0, v10.DropDownIconSize),
                    Image = v9.props.icon,
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    BackgroundTransparency = 1,
                    ZIndex = 2
                })
            });
        end);
    end);
end;
return v7;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local v2 = require(l_RobloxGui_0.Modules.Flags.FFlagMobilePlayerList);
local v3 = require(l_RobloxGui_0.Modules.Flags.FFlagPlayerIconAvatarFix);
local v4 = require(l_CorePackages_0.Roact);
local v5 = require(l_CorePackages_0.RoactRodux);
local v6 = require(l_CorePackages_0.UIBlox);
local v7 = require(l_CorePackages_0.Packages.t);
local v8 = require(l_RobloxGui_0.Modules.Interfaces.playerInterface);
local l_WithLayoutValues_0 = require(script.Parent.Parent.Connection.LayoutValues).WithLayoutValues;
local l_ImageSetLabel_0 = v6.Core.ImageSet.ImageSetLabel;
local v11 = v4.PureComponent:extend("PlayerIcon");
v11.validateProps = v7.strictInterface({
    player = v8,
    layoutOrder = v7.optional(v7.integer),
    isSmallTouchDevice = v7.optional(v7.boolean),
    playerIconInfo = v7.strictInterface({
        isPlaceOwner = v7.boolean,
        avatarIcon = v7.optional(v7.table),
        specialGroupIcon = v7.optional(v7.table)
    }),
    playerRelationship = v7.strictInterface({
        isBlocked = v7.boolean,
        friendStatus = v7.enum(Enum.FriendStatus),
        isFollowing = v7.boolean,
        isFollower = v7.boolean
    })
});
local function _(v12, v13)
    local v14 = v12.FriendIcons[v13.friendStatus];
    if not v13.isBlocked then
        if not v14 then
            return nil;
        else
            return v14;
        end;
    else
        return v12.BlockedIcon;
    end;
end;
local function _(v16, v17, v18, v19)
    local v20 = v16.MembershipIcons[v17.MembershipType];
    local v21 = if not v19.isBlocked then v16.FriendIcons[v19.friendStatus] or nil else v16.BlockedIcon;
    if not v21 then
        if not v18.isPlaceOwner then
            if not v16.CustomPlayerIcons[v17.UserId] then
                if not v18.specialGroupIcon then
                    if not v19.isFollowing then
                        if not v20 then
                            return "";
                        else
                            return v20;
                        end;
                    else
                        return v16.FollowingIcon;
                    end;
                else
                    return v18.specialGroupIcon;
                end;
            else
                return v16.CustomPlayerIcons[v17.UserId];
            end;
        else
            return v16.PlaceOwnerIcon;
        end;
    else
        return v21;
    end;
end;
v11.render = function(v23)
    return l_WithLayoutValues_0(function(v24)
        local v25 = nil;
        v25 = if not v3 then v23.props.playerIconInfo.avatarIcon else v23.props.playerIconInfo and v23.props.playerIconInfo.avatarIcon;
        if v25 == nil then
            v25 = v24.DefaultThumbnail;
        end;
        if not v24.IsTenFoot then
            if not v2 or not v23.props.isSmallTouchDevice then
                local l_createElement_0 = v4.createElement;
                local l_l_ImageSetLabel_0_0 = l_ImageSetLabel_0;
                local v28 = {
                    LayoutOrder = v23.props.layoutOrder,
                    Size = v24.PlayerIconSize,
                    BackgroundTransparency = 1
                };
                local l_player_0 = v23.props.player;
                local l_playerIconInfo_0 = v23.props.playerIconInfo;
                local l_playerRelationship_0 = v23.props.playerRelationship;
                local v32 = v24.MembershipIcons[l_player_0.MembershipType];
                local v33 = if not l_playerRelationship_0.isBlocked then v24.FriendIcons[l_playerRelationship_0.friendStatus] or nil else v24.BlockedIcon;
                v28.Image = if not v33 then if l_playerIconInfo_0.isPlaceOwner then v24.PlaceOwnerIcon else if v24.CustomPlayerIcons[l_player_0.UserId] then v24.CustomPlayerIcons[l_player_0.UserId] else if l_playerIconInfo_0.specialGroupIcon then l_playerIconInfo_0.specialGroupIcon else if l_playerRelationship_0.isFollowing then v24.FollowingIcon else v32 or "" else v33;
                v28.BorderSizePixel = 0;
                return l_createElement_0(l_l_ImageSetLabel_0_0, v28);
            else
                local l_createElement_1 = v4.createElement;
                local l_l_ImageSetLabel_0_1 = l_ImageSetLabel_0;
                local v36 = {
                    AnchorPoint = Vector2.new(0, 0.5),
                    Position = UDim2.new(0, v24.PlayerNamePaddingXMobile, 0.5, 0),
                    Size = v24.PlayerIconSizeMobile,
                    BackgroundTransparency = 1
                };
                local l_player_1 = v23.props.player;
                local l_playerIconInfo_1 = v23.props.playerIconInfo;
                local l_playerRelationship_1 = v23.props.playerRelationship;
                local v40 = v24.MembershipIcons[l_player_1.MembershipType];
                local v41 = if not l_playerRelationship_1.isBlocked then v24.FriendIcons[l_playerRelationship_1.friendStatus] or nil else v24.BlockedIcon;
                v36.Image = if not v41 then if l_playerIconInfo_1.isPlaceOwner then v24.PlaceOwnerIcon else if v24.CustomPlayerIcons[l_player_1.UserId] then v24.CustomPlayerIcons[l_player_1.UserId] else if l_playerIconInfo_1.specialGroupIcon then l_playerIconInfo_1.specialGroupIcon else if l_playerRelationship_1.isFollowing then v24.FollowingIcon else v40 or "" else v41;
                v36.BorderSizePixel = 0;
                return l_createElement_1(l_l_ImageSetLabel_0_1, v36);
            end;
        else
            return v4.createElement("ImageLabel", {
                LayoutOrder = v23.props.layoutOrder or 1,
                Size = v24.PlayerIconBackgroundSize,
                BackgroundTransparency = 1,
                Image = v24.PlayerBackgroundImage
            }, {
                v4.createElement("ImageLabel", {
                    Size = v24.PlayerIconSize,
                    Position = UDim2.new(0.5, 0, 0.5, 0),
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    BackgroundTransparency = 1,
                    Image = v25,
                    BorderSizePixel = 0
                })
            });
        end;
    end);
end;
return v5.connect(function(v42)
    return {
        isSmallTouchDevice = v42.displayOptions.isSmallTouchDevice
    };
end, nil)(v11);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_Players_0 = game:GetService("Players");
local l_GuiService_0 = game:GetService("GuiService");
local l_RunService_0 = game:GetService("RunService");
local v5 = require(l_CorePackages_0.Roact);
local v6 = require(l_CorePackages_0.RoactRodux);
local l_Parent_0 = script.Parent.Parent.Parent;
local v8 = require(l_Parent_0.Actions.ClosePlayerDropDown);
local v9 = require(l_Parent_0.Actions.SetPlayerListVisibility);
local v10 = require(l_CoreGui_0.RobloxGui.Modules.isNewInGameMenuEnabled);
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v12 = v5.PureComponent:extend("TenFootSideBar");
local function _(v13)
    pcall(function()
        local l_PlatformService_0 = game:GetService("PlatformService");
        if v13 and #v13 > 0 then
            l_PlatformService_0:PopupProfileUI(Enum.UserInputType.Gamepad1, v13);
        end;
    end);
end;
v12.init = function(v16)
    v16.sideBar = nil;
end;
v12.render = function(_)
    return nil;
end;
v12.shouldShowSidebar = function(_, v19, v20)
    if not l_RunService_0:IsStudio() then
        local v21 = false;
        if v19 ~= l_Players_0.LocalPlayer then
            v21 = true;
        end;
        local v22 = false;
        if v20 and #v20 > 0 then
            v22 = true;
        end;
        return v21, v22;
    else
        return false, false;
    end;
end;
v12.openSidebar = function(v23, v24)
    local v25 = nil;
    pcall(function()
        v25 = game:GetService("PlatformService"):GetPlatformId(v24.UserId);
    end);
    local v26, v27 = v23:shouldShowSidebar(v24, v25);
    if v26 or v27 then
        local l_SelectedCoreObject_0 = l_GuiService_0.SelectedCoreObject;
        local v29 = require(l_RobloxGui_0.Modules:FindFirstChild("ScreenManager") or l_RobloxGui_0.Modules.Shell.ScreenManager);
        local v30 = require(l_RobloxGui_0.Modules:FindFirstChild("LocalizedStrings") or l_RobloxGui_0.Modules.Shell.LocalizedStrings);
        if not v23.sideBar then
            v23.sideBar = require(l_RobloxGui_0.Modules:FindFirstChild("SideBar") or l_RobloxGui_0.Modules.Shell.SideBar)();
        end;
        v23.sideBar:RemoveAllItems();
        if v27 then
            v23.sideBar:AddItem(v30:LocalizedString("ViewGamerCardWord"), function()
                local l_v25_0 = v25;
                pcall(function()
                    local l_PlatformService_1 = game:GetService("PlatformService");
                    if l_v25_0 and #l_v25_0 > 0 then
                        l_PlatformService_1:PopupProfileUI(Enum.UserInputType.Gamepad1, l_v25_0);
                    end;
                end);
            end);
        end;
        if v26 then
            v23.sideBar:AddItem(v30:LocalizedString("ReportPlayer"), function()
                v23.props.closePlayerList();
                l_GuiService_0.SelectedCoreObject = nil;
                if not v10() then
                    require(l_RobloxGui_0.Modules.Settings.Pages.ReportAbuseMenuNewContainerPage):ReportPlayer(v24, v23.__componentName);
                    return ;
                else
                    require(l_RobloxGui_0.Modules.InGameMenuInit).openReportDialog(v24, v23.__componentName);
                    return ;
                end;
            end);
        end;
        local v33 = nil;
        v33 = v23.sideBar.Closed:connect(function()
            v33:disconnect();
            v23.props.closeSideBar();
            if v23.props.playerListVisible then
                if not l_SelectedCoreObject_0 or not l_SelectedCoreObject_0.Parent then
                    v23.props.closePlayerList();
                    v23.props.openPlayerList();
                else
                    l_GuiService_0.SelectedCoreObject = l_SelectedCoreObject_0;
                    return ;
                end;
            end;
        end);
        v29:OpenScreen(v23.sideBar, false);
        return ;
    else
        v23.props.closeSideBar();
        return ;
    end;
end;
v12.didMount = function(v34)
    if v34.props.sideBarVisible then
        v34:openSidebar(v34.props.selectedPlayer);
    end;
end;
v12.didUpdate = function(v35, v36)
    if v35.props.sideBarVisible and v35.props.sideBarVisible ~= v36.sideBarVisible then
        v35:openSidebar(v35.props.selectedPlayer);
    end;
end;
return v6.connect(function(v37)
    return {
        selectedPlayer = v37.playerDropDown.selectedPlayer,
        sideBarVisible = v37.displayOptions.isTenFootInterface and v37.playerDropDown.isVisible,
        playerListVisible = v37.displayOptions.isVisible
    };
end, function(v38)
    return {
        closeSideBar = function()
            return v38(v8());
        end,
        closePlayerList = function()
            return v38(v9(false));
        end,
        openPlayerList = function()
            return v38(v9(true));
        end
    };
end)(v12);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_RbxAnalyticsService_0 = game:GetService("RbxAnalyticsService");
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.RoactRodux);
local l_WithLayoutValues_0 = require(script.Parent.Parent.Connection.LayoutValues).WithLayoutValues;
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v7 = require(l_RobloxGui_0.Modules.RobloxTranslator);
local v8 = v3.PureComponent:extend("VoiceChatShield");
v8.getVoiceEnabledString = function(v9)
    if not v9.state.xboxMuteAllState then
        return v7:FormatByKey("DisableVoiceKey");
    else
        return v7:FormatByKey("EnableVoiceKey");
    end;
end;
v8.init = function(v10)
    v10.seenYButtonPressed = false;
    v10.shieldRef = v3.createRef();
    v10.state = {
        xboxMuteAllState = false
    };
    local v11 = require(l_RobloxGui_0.Modules.Shell.HintActionView)(nil, "ToggleVoiceChat", UDim2.new(0.96, -1, 0.96, -1));
    v11:SetText(v10:getVoiceEnabledString());
    v11:SetImage("rbxasset://textures/ui/Shell/ButtonIcons/YButton.png");
    v10.xboxToggleVoiceHotkey = v11;
end;
v8.render = function(v12)
    return l_WithLayoutValues_0(function(v13)
        return v3.createElement(v3.Portal, {
            target = l_RobloxGui_0
        }, {
            PlayerListShield = v3.createElement("Frame", {
                AutoLocalize = false,
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundColor3 = v13.VoiceChatShieldColor,
                BackgroundTransparency = v13.VoiceChatShieldTransparency,
                Visible = v12.props.isVisible,
                [v3.Ref] = v12.shieldRef
            })
        });
    end);
end;
v8.bindAction = function(v14)
    v14.xboxToggleVoiceHotkey:BindAction(function(_, v16, _)
        if v16 == Enum.UserInputState.Begin then
            v14.seenYButtonPressed = true;
            return ;
        else
            if not (not (v16 == Enum.UserInputState.End) or not v14.seenYButtonPressed) then
                v14:setState({
                    xboxMuteAllState = not v14.state.xboxMuteAllState
                });
                game:GetService("VoiceChatServiceXbox"):VoiceChatSetMuteAllState(v14.state.xboxMuteAllState);
                v14.xboxToggleVoiceHotkey:SetText(v14:getVoiceEnabledString());
                v14.seenYButtonPressed = false;
                local v18 = not v14.state.xboxMuteAllState and "XboxEnableVoiceChat" or "XboxDisableVoiceChat";
                l_RbxAnalyticsService_0:ReportCounter(v18, 1);
                l_RbxAnalyticsService_0:SetRBXEventStream("console", "XboxOne", v18, {});
            end;
            return ;
        end;
    end, Enum.KeyCode.ButtonY);
end;
v8.didMount = function(v19)
    v19.xboxToggleVoiceHotkey:SetParent(v19.shieldRef.current);
    if v19.props.isVisible then
        v19:bindAction();
    end;
end;
v8.didUpdate = function(v20, v21)
    if v20.props.isVisible ~= v21.isVisible then
        if not v20.props.isVisible then
            v20.xboxToggleVoiceHotkey:UnbindAction();
            v20.seenYButtonPressed = false;
        else
            v20:bindAction();
        end;
    end;
    v20.xboxToggleVoiceHotkey:SetParent(v20.shieldRef.current);
end;
v8.willUnmount = function(v22)
    v22.xboxToggleVoiceHotkey:UnbindAction();
end;
return v4.connect(function(v23)
    return {
        isVisible = v23.displayOptions.isVisible
    };
end, nil)(v8);


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Roact);
local v2 = require(l_CorePackages_0.RoactRodux);
local v3 = require(l_CorePackages_0.Packages.t);
local v4 = require(l_CorePackages_0.UIBlox);
local l_withStyle_0 = v4.Style.withStyle;
local l_Parent_0 = script.Parent.Parent;
local l_WithLayoutValues_0 = require(l_Parent_0.Connection.LayoutValues).WithLayoutValues;
local v8 = require(l_Parent_0.PresentationCommon.IconButton);
local l_Colors_0 = require(l_CorePackages_0.Workspace.Packages.Style).Colors;
local l_ImageSetLabel_0 = v4.Core.ImageSet.ImageSetLabel;
local l_Images_0 = v4.App.ImageSet.Images;
local v12 = v1.PureComponent:extend("DropDownButton");
v12.validateProps = v3.strictInterface({
    contentVisible = v3.boolean,
    buttonTransparency = v3.any,
    text = v3.string,
    layoutOrder = v3.optional(v3.integer),
    icon = v3.union(v3.string, v3.table),
    lastButton = v3.boolean,
    forceShowOptions = v3.boolean,
    screenSizeX = v3.integer,
    screenSizeY = v3.integer,
    onActivated = v3.optional(v3.callback),
    onDecline = v3.optional(v3.callback),
    onDismiss = v3.optional(v3.callback),
    animatingAccept = v3.optional(v3.boolean),
    animatingDecline = v3.optional(v3.boolean),
    animatingPercentage = v3.optional(v3.number)
});
v12.init = function(v13)
    v13.state = {
        isHovered = false,
        isPressed = false,
        sizeX = 100,
        absolutePosX = 0,
        absolutePosY = 0
    };
end;
v12.getColorBackgroundAnimation = function(v14, v15)
    if v14.props.animatingPercentage == nil then
        return 0, 0;
    else
        local v16 = v14.state.sizeX - v15.DropDownRightOptionSize;
        local l_DropDownRightOptionSize_0 = v15.DropDownRightOptionSize;
        if v14.props.animatingDecline then
            v16 = v16 - v15.DropDownRightOptionSize;
        end;
        local v18 = v14.state.sizeX - v15.DropDownRightOptionSize;
        l_DropDownRightOptionSize_0 = l_DropDownRightOptionSize_0 + v18 * v14.props.animatingPercentage;
        v16 = v16 - (v18 * v14.props.animatingPercentage) * 0.5;
        if v14.state.sizeX < v16 + l_DropDownRightOptionSize_0 then
            v16 = v16 - ((v16 + l_DropDownRightOptionSize_0) - v14.state.sizeX);
        end;
        return v16, l_DropDownRightOptionSize_0;
    end;
end;
v12.render = function(v19)
    return l_WithLayoutValues_0(function(v20)
        return l_withStyle_0(function(v21)
            local v22 = {
                Transparency = 1,
                Color = Color3.new(1, 1, 1)
            };
            if not v19.state.isPressed then
                if v19.state.isHovered then
                    v22 = v21.Theme.BackgroundOnHover;
                end;
            else
                v22 = v21.Theme.BackgroundOnPress;
            end;
            local v23 = "";
            if v19.props.lastButton then
                v23 = "rbxasset://textures/ui/BottomRoundedRect8px.png";
            end;
            local v24 = true;
            if v19.props.onActivated == nil then
                v24 = v19.props.animatingAccept;
            end;
            local v25 = true;
            if v19.props.onDecline == nil then
                v25 = v19.props.animatingDecline;
            end;
            local v26 = true;
            if v19.props.onDecline == nil then
                v26 = true;
                if v19.props.animatingPercentage == nil then
                    v26 = v19.props.forceShowOptions;
                end;
            end;
            local v27, v28 = v19:getColorBackgroundAnimation(v20);
            local l_Green_0 = l_Colors_0.Green;
            if not v19.props.animatingDecline then
                if v19.props.forceShowOptions then
                    l_Green_0 = l_Colors_0.White;
                end;
            else
                l_Green_0 = l_Colors_0.Red;
            end;
            local v30 = v20.DropDownPadding * 2 + v20.DropDownIconSize;
            local v31 = v20.DropDownRightOptionSize * 2;
            if v26 then
                v30 = v30 + v31;
            end;
            local function v32()
                if not v26 then
                    v19:setState({
                        isPressed = true
                    });
                end;
            end;
            local function v33()
                v19:setState({
                    isPressed = false
                });
            end;
            local l_createElement_0 = v1.createElement;
            local v35 = "ImageButton";
            local v38 = {
                LayoutOrder = v19.props.layoutOrder,
                Image = v23,
                ScaleType = Enum.ScaleType.Slice,
                SliceCenter = Rect.new(8, 8, 24, 16),
                SliceScale = 0.5,
                ImageTransparency = not not v19.props.lastButton and v19.props.buttonTransparency or 1,
                ImageColor3 = Color3.fromRGB(0, 0, 0),
                Size = UDim2.new(1, 0, 0, v20.DropDownButtonSizeY),
                BackgroundTransparency = if not v19.props.lastButton then v19.props.buttonTransparency else 1,
                BackgroundColor3 = Color3.fromRGB(0, 0, 0),
                AutoButtonColor = false,
                BorderSizePixel = 0,
                [v1.Event.Activated] = not v26 and v19.props.onActivated or nil,
                [v1.Event.MouseEnter] = function()
                    if not v26 then
                        v19:setState({
                            isHovered = true
                        });
                    end;
                end,
                [v1.Event.MouseLeave] = function()
                    v19:setState({
                        isHovered = false,
                        isPressed = false
                    });
                end,
                [v1.Change.AbsoluteSize] = function(v36)
                    v19:setState({
                        sizeX = v36.AbsoluteSize.X
                    });
                end,
                [v1.Change.AbsolutePosition] = function(v37)
                    v19:setState({
                        absolutePosX = v37.AbsolutePosition.X,
                        absolutePosY = v37.AbsolutePosition.Y
                    });
                end,
                [v1.Event.MouseButton1Down] = v32,
                [v1.Event.MouseButton1Up] = v33
            };
            local v39 = {};
            local l_createElement_1 = v1.createElement;
            local v41 = "ImageLabel";
            local v42 = {};
            local v43 = false;
            if v19.props.animatingPercentage ~= nil then
                v43 = v19.props.contentVisible;
            end;
            v42.Visible = v43;
            v42.ZIndex = 1;
            v42.Size = UDim2.new(0, v28, 1, 0);
            v42.Position = UDim2.fromOffset(v27, 0);
            v42.Image = v23;
            v42.ScaleType = Enum.ScaleType.Slice;
            v42.SliceCenter = Rect.new(8, 8, 24, 16);
            v42.SliceScale = 0.5;
            v42.ImageTransparency = not not v19.props.lastButton and v20.IconButtonBackgroundTransparency or 1;
            v42.ImageColor3 = l_Green_0;
            v42.BackgroundTransparency = if not v19.props.lastButton then v20.IconButtonBackgroundTransparency else 1;
            v42.BackgroundColor3 = l_Green_0;
            v42.BorderSizePixel = 0;
            v39.ColorBackground = l_createElement_1(v41, v42);
            v39.HoverBackground = v1.createElement("ImageLabel", {
                ZIndex = 2,
                Size = UDim2.fromScale(1, 1),
                Visible = v19.props.contentVisible,
                Image = v23,
                ScaleType = Enum.ScaleType.Slice,
                SliceCenter = Rect.new(8, 8, 24, 16),
                SliceScale = 0.5,
                ImageTransparency = not not v19.props.lastButton and v22.Transparency or 1,
                ImageColor3 = v22.Color,
                BackgroundTransparency = if not v19.props.lastButton then v22.Transparency else 1,
                BackgroundColor3 = v22.Color,
                BorderSizePixel = 0
            }, {
                InitalPadding = v1.createElement("UIPadding", {
                    PaddingLeft = UDim.new(0, v20.DropDownPadding)
                }),
                ListLayout = v1.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    FillDirection = Enum.FillDirection.Horizontal,
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    Padding = UDim.new(0, v20.DropDownPadding)
                }),
                Icon = v1.createElement(l_ImageSetLabel_0, {
                    LayoutOrder = 1,
                    Size = UDim2.fromOffset(v20.DropDownIconSize, v20.DropDownIconSize),
                    ImageColor3 = v21.Theme.IconEmphasis.Color,
                    Image = v19.props.icon,
                    BackgroundTransparency = 1
                }),
                Text = v1.createElement("TextLabel", {
                    LayoutOrder = 2,
                    Size = UDim2.new(1, -v30, 1, 0),
                    Text = v19.props.text,
                    Font = v21.Font.Header2.Font,
                    TextSize = v21.Font.BaseSize * v21.Font.Header2.RelativeSize,
                    TextColor3 = v21.Theme.TextEmphasis.Color,
                    TextTransparency = v21.Theme.TextEmphasis.Transparency,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    BackgroundTransparency = 1
                }),
                ButtonContainer = v1.createElement("Frame", {
                    LayoutOrder = 3,
                    Visible = v26,
                    BackgroundTransparency = 1,
                    Size = UDim2.new(0, v31, 1, 0)
                }, {
                    ConfirmButton = not not v24 and v1.createElement(v8, {
                        size = UDim2.fromScale(0.5, 1),
                        position = UDim2.fromScale(0.5, 0),
                        backgroundColor = not not v19.props.onDecline and l_Colors_0.Green or l_Colors_0.White,
                        icon = l_Images_0["icons/actions/accept"],
                        showBackground = v19.props.animatingPercentage == nil,
                        onActivated = v19.props.onActivated
                    }) or nil,
                    DeclineButton = not not v25 and v1.createElement(v8, {
                        size = UDim2.fromScale(0.5, 1),
                        position = UDim2.new(0, 0, 0, 0),
                        backgroundColor = l_Colors_0.Red,
                        icon = l_Images_0["icons/actions/reject"],
                        showBackground = v19.props.animatingPercentage == nil,
                        onActivated = v19.props.onDecline
                    }) or nil
                })
            });
            l_createElement_1 = v1.createElement;
            v41 = "ImageButton";
            v42 = {
                Image = "",
                BackgroundTransparency = 1,
                Size = UDim2.fromOffset(v19.props.screenSizeX, v19.props.screenSizeY),
                Position = UDim2.fromOffset(-v19.state.absolutePosX, -v19.state.absolutePosY)
            };
            v43 = false;
            if v19.props.onDismiss ~= nil then
                v43 = v19.props.contentVisible;
            end;
            v42.Visible = v43;
            v42[v1.Event.Activated] = v19.props.onDismiss;
            v39.DismissInputHandler = l_createElement_1(v41, v42);
            v39.Divider = not v19.props.lastButton and v1.createElement("Frame", {
                Visible = v19.props.contentVisible,
                ZIndex = 3,
                Size = UDim2.new(1, 0, 0, 1),
                Position = UDim2.fromScale(0, 1),
                AnchorPoint = Vector2.new(0, 1),
                BackgroundTransparency = v21.Theme.Divider.Transparency,
                BackgroundColor3 = v21.Theme.Divider.Color,
                BorderSizePixel = 0
            });
            return l_createElement_0(v35, v38, v39);
        end);
    end);
end;
return v2.connect(function(v44)
    return {
        screenSizeX = v44.screenSize.X,
        screenSizeY = v44.screenSize.Y
    };
end, nil)(v12);


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Roact);
local v2 = require(l_CorePackages_0.Packages.t);
local v3 = require(l_CorePackages_0.Otter);
local l_WithLayoutValues_0 = require(script.Parent.Parent.Connection.LayoutValues).WithLayoutValues;
local v5 = require(script.Parent.DropDownButton);
local v6 = {
    dampingRatio = 1,
    frequency = 4
};
local v7 = {
    dampingRatio = 1,
    frequency = 4
};
local v8 = v1.PureComponent:extend("DropDownAnimator");
v8.validateProps = v2.strictInterface({
    text = v2.string,
    icon = v2.union(v2.string, v2.table),
    lastButton = v2.boolean,
    layoutOrder = v2.integer,
    onActivated = v2.callback,
    forceShowOptions = v2.boolean,
    selectedPlayer = v2.optional(v2.instanceIsA("Player")),
    onDecline = v2.optional(v2.callback),
    onDismiss = v2.optional(v2.callback),
    contentVisible = v2.boolean
});
v8.init = function(v9)
    v9.state = {
        lastButtonProps = nil,
        onDeclineCalled = nil,
        onActivatedCalled = nil,
        overlayPercentage = 0
    };
    local v10, v11 = v1.createBinding(UDim2.new(0, 0, 0, 0));
    v9.currentButtonPosition = v10;
    v9.updateCurrentButtonPosition = v11;
    v10, v11 = v1.createBinding(UDim2.new(0, 0, 0, 0));
    v9.lastButtonPosition = v10;
    v9.updateLastButtonPosition = v11;
    v9.positionMotor = v3.createSingleMotor(0);
    v9.positionMotor:onStep(function(v12)
        v9.updateCurrentButtonPosition(UDim2.new(v12, 0, 0, 0));
        if not v9.animatingRight then
            v9.updateLastButtonPosition(UDim2.new(v12 - 1, 0, 0, 0));
            return ;
        else
            v9.updateLastButtonPosition(UDim2.new(v12 + 1, 0, 0, 0));
            return ;
        end;
    end);
    v9.positionMotor:onComplete(function(v13)
        if v13 == 0 then
            v9:setState({
                lastButtonProps = v1.None,
                onDeclineCalled = v1.None,
                onActivatedCalled = v1.None
            });
        end;
    end);
    v9.overlayMotor = v3.createSingleMotor(0);
    v9.overlayMotor:onStep(function(v14)
        v9:setState({
            overlayPercentage = v14
        });
    end);
    v9.overlayMotor:onComplete(function(v15)
        if v15 == 1 then
            v9.positionMotor:setGoal(v3.spring(0, v6));
        end;
    end);
end;
v8.getButtonProps = function(v16, v17, v18)
    local v19 = {
        text = v17.text,
        icon = v17.icon,
        lastButton = v17.lastButton,
        forceShowOptions = v17.forceShowOptions,
        onDismiss = v17.onDismiss
    };
    if not (v16.state.lastButtonProps ~= nil) then
        if not v17.onActivated or not v17.onDecline and not v16.props.forceShowOptions then
            if v17.onActivated then
                v19.onActivated = v17.onActivated;
            end;
        else
            v19.onActivated = function()
                v16:setState({
                    onActivatedCalled = true,
                    onDeclineCalled = false
                });
                v17.onActivated();
            end;
        end;
        if v17.onDecline then
            v19.onDecline = function()
                v16:setState({
                    onActivatedCalled = false,
                    onDeclineCalled = true
                });
                v17.onDecline();
            end;
        end;
    elseif v18 then
        v19.animatingAccept = v16.state.onActivatedCalled;
        v19.animatingDecline = v16.state.onDeclineCalled;
        v19.animatingPercentage = v16.state.overlayPercentage;
        return v19;
    end;
    return v19;
end;
v8.render = function(v20)
    return l_WithLayoutValues_0(function(v21)
        local v22 = {
            CurrentButtonContainer = v1.createElement("Frame", {
                Size = UDim2.new(1, 0, 1, 0),
                Position = v20.currentButtonPosition,
                BackgroundTransparency = 1
            }, {
                DropDownButton = v1.createElement(v5, v20:getButtonProps(v20.props))
            })
        };
        if v20.state.lastButtonProps then
            v22.LastButtonContainer = v1.createElement("Frame", {
                Size = UDim2.new(1, 0, 1, 0),
                Position = v20.lastButtonPosition,
                BackgroundTransparency = 1
            }, {
                DropDownButton = v1.createElement(v5, v20:getButtonProps(v20.state.lastButtonProps, true))
            });
        end;
        return v1.createElement("Frame", {
            Visible = v20.props.contentVisible,
            ZIndex = 2,
            Size = UDim2.new(1, 0, 0, v21.DropDownButtonSizeY),
            BackgroundTransparency = 1,
            LayoutOrder = v20.props.layoutOrder
        }, v22);
    end);
end;
v8.didUpdate = function(v23, v24, _)
    local v26 = v23.props.text ~= v24.text;
    local v27 = true;
    if v24.onDecline == nil then
        v27 = v23.props.forceShowOptions;
    end;
    local v28 = v23.state.onDeclineCalled or v23.state.onActivatedCalled;
    if not ((not v26 or not v27) or not v28) then
        if not v23.state.onActivatedCalled or v23.props.forceShowOptions then
            v23.animatingRight = false;
            v23.positionMotor:setGoal(v3.instant(1));
        else
            v23.animatingRight = true;
            v23.positionMotor:setGoal(v3.instant(-1));
        end;
        v23.overlayMotor:setGoal(v3.instant(0));
        v23.positionMotor:step(0);
        v23.overlayMotor:step(0);
        v23:setState({
            lastButtonProps = v24
        });
        v23.overlayMotor:setGoal(v3.spring(1, v7));
    end;
    if v23.props.selectedPlayer ~= v24.selectedPlayer then
        v23.positionMotor:setGoal(v3.instant(0));
        v23.overlayMotor:setGoal(v3.instant(0));
        v23.positionMotor:step(0);
        v23.overlayMotor:step(0);
        v23:setState({
            lastButtonProps = v1.None
        });
    end;
end;
v8.willUnmount = function(v29)
    v29.positionMotor:destroy();
    v29.positionMotor = nil;
    v29.overlayMotor:destroy();
    v29.overlayMotor = nil;
end;
return v8;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Roact);
local v2 = require(l_CorePackages_0.Packages.t);
local v3 = require(l_CorePackages_0.UIBlox);
local v4 = require(l_CorePackages_0.Workspace.Packages.VerifiedBadges);
local l_withStyle_0 = v3.Style.withStyle;
local l_WithLayoutValues_0 = require(script.Parent.Parent.Connection.LayoutValues).WithLayoutValues;
local l_EmojiTextLabel_0 = v3.Core.Text.EmojiTextLabel;
local l_Emoji_0 = v3.App.Emoji.Enum.Emoji;
local v9 = v1.PureComponent:extend("DropDownPlayerHeader");
v9.validateProps = v2.strictInterface({
    player = v2.instanceIsA("Player"),
    transparency = v2.any,
    contentVisible = v2.boolean
});
v9.render = function(v10)
    return l_WithLayoutValues_0(function(v11)
        return l_withStyle_0(function(v12)
            local l_player_0 = v10.props.player;
            return v1.createElement("TextButton", {
                BackgroundTransparency = 1,
                Text = "",
                Size = UDim2.new(1, 0, 0, v11.DropDownHeaderSizeY),
                LayoutOrder = 0,
                Selectable = false
            }, {
                Background = v1.createElement("ImageLabel", {
                    BackgroundTransparency = 1,
                    Image = "rbxasset://textures/ui/PlayerList/NewAvatarBackground.png",
                    ImageTransparency = v10.props.transparency,
                    Size = UDim2.new(1, 0, 0, v11.DropDownHeaderBackgroundSize),
                    Position = UDim2.new(0, 0, 1, 0),
                    AnchorPoint = Vector2.new(0, 1)
                }, {
                    TextContainerFrame = v1.createElement("Frame", {
                        Visible = v10.props.contentVisible,
                        BackgroundTransparency = 1,
                        Size = UDim2.new(1, -124, 1, 0),
                        Position = UDim2.new(0, 107, 0, 0)
                    }, {
                        Layout = v1.createElement("UIListLayout", {
                            SortOrder = Enum.SortOrder.LayoutOrder,
                            FillDirection = Enum.FillDirection.Vertical,
                            Padding = UDim.new(0, 0),
                            VerticalAlignment = Enum.VerticalAlignment.Center
                        }),
                        DisplayName = not not v4.isPlayerVerified(l_player_0) and v1.createElement(l_EmojiTextLabel_0, {
                            fontStyle = v12.Font.Header2,
                            colorStyle = v12.Theme.TextEmphasis,
                            fluidSizing = false,
                            emoji = l_Emoji_0.Verified,
                            maxSize = Vector2.new(v11.PlayerDropDownSizeXMobile - 124, 22),
                            LayoutOrder = 1,
                            Text = l_player_0.DisplayName,
                            TextXAlignment = Enum.TextXAlignment.Left,
                            TextTruncate = Enum.TextTruncate.AtEnd,
                            BackgroundTransparency = 1,
                            TextScaled = true
                        }) or v1.createElement("TextLabel", {
                            LayoutOrder = 1,
                            Size = UDim2.new(1, 0, 0, 22),
                            Text = l_player_0.DisplayName,
                            Font = v12.Font.Header2.Font,
                            TextSize = v12.Font.BaseSize * v12.Font.Header2.RelativeSize,
                            TextColor3 = v12.Theme.TextEmphasis.Color,
                            TextTransparency = v12.Theme.TextEmphasis.Transparency,
                            TextXAlignment = Enum.TextXAlignment.Left,
                            TextTruncate = Enum.TextTruncate.AtEnd,
                            BackgroundTransparency = 1,
                            TextScaled = true
                        }, {
                            SizeConstraint = v1.createElement("UITextSizeConstraint", {
                                MaxTextSize = v12.Font.BaseSize * v12.Font.Header2.RelativeSize,
                                MinTextSize = v12.Font.BaseSize * v12.Font.Footer.RelativeSize
                            })
                        }),
                        PlayerName = v1.createElement("TextLabel", {
                            LayoutOrder = 2,
                            Size = UDim2.new(1, 0, 0, 22),
                            Text = "@" .. l_player_0.Name,
                            Font = v12.Font.CaptionHeader.Font,
                            TextSize = v12.Font.BaseSize * v12.Font.CaptionHeader.RelativeSize,
                            TextColor3 = v12.Theme.TextMuted.Color,
                            TextTransparency = v12.Theme.TextMuted.Transparency,
                            TextXAlignment = Enum.TextXAlignment.Left,
                            TextTruncate = Enum.TextTruncate.AtEnd,
                            BackgroundTransparency = 1,
                            TextScaled = true
                        }, {
                            SizeConstraint = v1.createElement("UITextSizeConstraint", {
                                MaxTextSize = v12.Font.BaseSize * v12.Font.CaptionHeader.RelativeSize,
                                MinTextSize = v12.Font.BaseSize * v12.Font.Footer.RelativeSize
                            })
                        })
                    })
                }),
                AvatarImage = v1.createElement("ImageLabel", {
                    Position = UDim2.new(0, 56, 0, 0),
                    Size = UDim2.new(0, v11.DropDownHeaderSizeY, 0, v11.DropDownHeaderSizeY),
                    AnchorPoint = Vector2.new(0.5, 0),
                    BackgroundTransparency = 1,
                    ImageTransparency = v10.props.transparency,
                    Image = ("rbxthumb://type=AvatarHeadShot&id=%d&w=150&h=150"):format(l_player_0.UserId),
                    ZIndex = 2
                }),
                Divider = not v10.props.lastButton and v1.createElement("Frame", {
                    Size = UDim2.new(1, 0, 0, 1),
                    Position = UDim2.new(0, 0, 1, 0),
                    AnchorPoint = Vector2.new(0, 1),
                    Visible = v10.props.contentVisible,
                    BackgroundTransparency = v12.Theme.Divider.Transparency,
                    BackgroundColor3 = v12.Theme.Divider.Color,
                    BorderSizePixel = 0,
                    ZIndex = 3
                })
            });
        end);
    end);
end;
return v9;