local v0 = require(script.Parent.Parent.Parent.Src.Util.ReviewStatus);
return {
    isApprovedAsset = function(v1)
        if not v1.isModerated then
            local v2 = true;
            if v1.reviewStatus ~= v0.Finished then
                v2 = v1.reviewStatus == v0.DoesNotRequire;
            end;
            return v2;
        else
            return false;
        end;
    end,
    getModerationTooltip = function(v3, v4)
        if v4.reviewStatus == v0.Pending then
            return v3:getText("AssetItem", "PendingModerationTooltip");
        elseif not v4.isModerated then
            return ;
        else
            return v3:getText("AssetItem", "FailedModerationTooltip");
        end;
    end
};


local v0 = {
    IconEnums = {
        Places = "PlacesFolder",
        Images = "ImagesFolder",
        Meshes = "MeshesFolder",
        Packages = "PackagesFolder",
        Scripts = "StarterPlayerScripts",
        Audio = "AudioFolder",
        Video = "VideoFolder",
        Models = "ModelsFolder",
        BlankFolder = "BlankFolder",
        Import = "Import",
        List = "List",
        Grid = "List",
        Menu = "Menu",
        Back = "Back",
        Forward = "Fwd",
        ArrowDown = "ArrowDown",
        ArrowRight = "ArrowRight",
        More = "More",
        Zoom = "ZoomIn",
        Spawn = "Spawn"
    }
};
v0.HighDpiAssetManagerIconsWithTheme1 = {
    [v0.IconEnums.Places] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Large/" .. v0.IconEnums.Places .. ".png",
    [v0.IconEnums.Images] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Large/" .. v0.IconEnums.Images .. ".png",
    [v0.IconEnums.Meshes] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Large/" .. v0.IconEnums.Meshes .. ".png",
    [v0.IconEnums.Packages] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Large/" .. v0.IconEnums.Packages .. ".png",
    [v0.IconEnums.Audio] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Large/" .. v0.IconEnums.Audio .. ".png",
    [v0.IconEnums.Video] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Large/" .. v0.IconEnums.BlankFolder .. ".png",
    [v0.IconEnums.Models] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Large/" .. v0.IconEnums.Models .. ".png",
    [v0.IconEnums.BlankFolder] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Standard/" .. v0.IconEnums.BlankFolder .. ".png",
    [v0.IconEnums.Import] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Standard/" .. v0.IconEnums.Import .. ".png",
    [v0.IconEnums.List] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Standard/" .. v0.IconEnums.List .. ".png",
    [v0.IconEnums.Grid] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Standard/" .. v0.IconEnums.Grid .. ".png",
    [v0.IconEnums.Menu] = "rbxasset://studio_svg_textures/Lua/AssetManager/%s/Standard/" .. v0.IconEnums.Menu .. ".png",
    [v0.IconEnums.Back] = "rbxasset://studio_svg_textures/Shared/Navigation/%s/Standard/" .. v0.IconEnums.Back .. ".png",
    [v0.IconEnums.Forward] = "rbxasset://studio_svg_textures/Shared/Navigation/%s/Standard/" .. v0.IconEnums.Forward .. ".png",
    [v0.IconEnums.ArrowDown] = "rbxasset://studio_svg_textures/Shared/Navigation/%s/Standard/" .. v0.IconEnums.ArrowDown .. ".png",
    [v0.IconEnums.ArrowRight] = "rbxasset://studio_svg_textures/Shared/Navigation/%s/Standard/" .. v0.IconEnums.ArrowRight .. ".png",
    [v0.IconEnums.More] = "rbxasset://studio_svg_textures/Shared/Navigation/%s/Standard/" .. v0.IconEnums.More .. ".png",
    [v0.IconEnums.Zoom] = "rbxasset://studio_svg_textures/Shared/Navigation/%s/Standard/" .. v0.IconEnums.Zoom .. ".png",
    [v0.IconEnums.Scripts] = "rbxasset://studio_svg_textures/Shared/InsertableObjects/%s/Standard/" .. v0.IconEnums.Scripts .. ".png",
    [v0.IconEnums.Spawn] = "rbxasset://studio_svg_textures/Shared/InsertableObjects/%s/Standard/" .. v0.IconEnums.Spawn .. ".png"
};
v0.getIconForCurrentTheme = function(v1)
    return string.format(v0.HighDpiAssetManagerIconsWithTheme1[v1], settings().Studio.Theme.Name);
end;
return v0;


local l_Promise_0 = require(script.Parent.Parent.Parent.Packages.Framework).Util.Promise;
local l_AssetManagerVideoPreviewFix_0 = game:GetFastFlag("AssetManagerVideoPreviewFix");
local function v5(v2)
    for _, v4 in pairs(v2:GetDescendants()) do
        if v4:IsA("Script") then
            v4.Disabled = true;
        end;
    end;
end;
local function v13(v6)
    local v7 = nil;
    local l_status_0, l_result_0 = pcall(function()
        v7 = game:GetObjectsAsync((("rbxassetid://%d"):format(v6)));
    end);
    if l_status_0 then
        local v10 = nil;
        if #v7 == 1 then
            v10 = v7[1];
        else
            v10 = Instance.new("Model");
            v10.Name = "Preview";
            for _, v12 in ipairs(v7) do
                v12.Parent = v10;
                if not v12.Parent then
                    v12:Destroy();
                end;
            end;
        end;
        v5(v10);
        return v10;
    else
        return l_result_0;
    end;
end;
return function(v14, v15)
    return (l_Promise_0.new(function(v16, v17)
        spawn(function()
            local v18 = nil;
            if v15 == Enum.AssetType.Audio.Value then
                local l_Sound_0 = Instance.new("Sound");
                l_Sound_0.SoundId = ("rbxassetid://%d"):format(v14);
                v18 = l_Sound_0;
            elseif v15 == Enum.AssetType.Image.Value then
                local l_Decal_0 = Instance.new("Decal");
                l_Decal_0.Texture = ("rbxassetid://%d"):format(v14);
                v18 = l_Decal_0;
            elseif l_AssetManagerVideoPreviewFix_0 and v15 == Enum.AssetType.Video.Value then
                local l_VideoFrame_0 = Instance.new("VideoFrame");
                l_VideoFrame_0.Video = ("rbxassetid://%d"):format(v14);
                v18 = l_VideoFrame_0;
            else
                v18 = v13(v14);
            end;
            if type(v18) == "string" then
                v17(v18);
                return ;
            else
                v16(v18);
                return ;
            end;
        end);
    end));
end;


return {
    Pending = "Pending",
    Finished = "Finished",
    DoesNotRequire = "DoesNotRequire"
};


local l_Parent_0 = script.Parent.Parent.Parent;
local _ = require(l_Parent_0.Packages.Framework).Util.LayoutOrderIterator;
local v2 = require(l_Parent_0.Src.Util.ModernIcons);
local l_shouldEnableAudioImport_0 = require(l_Parent_0.Src.Util.AssetManagerUtilities).shouldEnableAudioImport;
local l_shouldEnableVideoImport_0 = require(l_Parent_0.Src.Util.AssetManagerUtilities).shouldEnableVideoImport;
local l_Places_0 = v2.IconEnums.Places;
local l_Images_0 = v2.IconEnums.Images;
local l_Meshes_0 = v2.IconEnums.Meshes;
local l_Packages_0 = v2.IconEnums.Packages;
local l_Audio_0 = v2.IconEnums.Audio;
local l_Video_0 = v2.IconEnums.Video;
local l_Models_0 = v2.IconEnums.Models;
local v12 = {
    MAIN = {
        Path = "MAIN"
    },
    PLACES = {
        Path = "PLACES"
    },
    MESHES = {
        Path = "MESHES"
    },
    IMAGES = {
        Path = "IMAGES"
    },
    PACKAGES = {
        Path = "PACKAGES"
    }
};
if l_shouldEnableAudioImport_0() then
    v12.AUDIO = {
        Path = "AUDIO"
    };
    v12.AUDIO.Parent = v12.MAIN.Path;
    v12.AUDIO.AssetType = Enum.AssetType.Audio;
    v12.AUDIO.LayoutOrder = 6;
    v12.AUDIO.Image = l_Audio_0;
end;
if l_shouldEnableVideoImport_0() then
    v12.VIDEO = {
        Path = "VIDEO"
    };
    v12.VIDEO.Parent = v12.MAIN.Path;
    v12.VIDEO.AssetType = Enum.AssetType.Video;
    v12.VIDEO.LayoutOrder = 7;
    v12.VIDEO.Image = l_Video_0;
end;
v12.MODELS = {
    Path = "MODELS"
};
v12.MODELS.Parent = v12.MAIN.Path;
v12.MODELS.AssetType = Enum.AssetType.Model;
v12.MODELS.LayoutOrder = not l_shouldEnableVideoImport_0() and 7 or 8;
v12.MODELS.Image = l_Models_0;
v12.MESHES.Parent = v12.MAIN.Path;
v12.IMAGES.Parent = v12.MAIN.Path;
v12.PACKAGES.Parent = v12.MAIN.Path;
v12.PLACES.Parent = v12.MAIN.Path;
v12.MESHES.AssetType = Enum.AssetType.MeshPart;
v12.IMAGES.AssetType = Enum.AssetType.Image;
v12.PACKAGES.AssetType = Enum.AssetType.Package;
v12.PLACES.AssetType = Enum.AssetType.Place;
v12.PLACES.LayoutOrder = 1;
v12.IMAGES.LayoutOrder = 2;
v12.MESHES.LayoutOrder = 3;
v12.PACKAGES.LayoutOrder = 4;
v12.PLACES.Image = l_Places_0;
v12.IMAGES.Image = l_Images_0;
v12.MESHES.Image = l_Meshes_0;
v12.PACKAGES.Image = l_Packages_0;
return v12;


return {
    GRID = {
        Key = "GRID"
    },
    LIST = {
        Key = "LIST"
    }
};


game:DefineFastFlag("ShowDebugVisualizerUI", false);
if game:GetFastFlag("ShowDebugVisualizerUI") then
    local v0 = nil;
    local v1 = require(script.Parent.Parent.Src.tr);
    local function v2()
        if not settings().Physics.AreTimestepsShown then
            v0.Parent = nil;
            return ;
        else
            v0.Parent = game:GetService("CoreGui");
            return ;
        end;
    end;
    local function v9(v3, v4)
        local l_Frame_0 = Instance.new("Frame");
        l_Frame_0.Size = UDim2.new(1, 0, 0, 15);
        l_Frame_0.BackgroundTransparency = 1;
        local l_UIListLayout_0 = Instance.new("UIListLayout");
        l_UIListLayout_0.Parent = l_Frame_0;
        l_UIListLayout_0.FillDirection = "Horizontal";
        l_UIListLayout_0.HorizontalAlignment = "Center";
        l_UIListLayout_0.VerticalAlignment = "Center";
        local l_Frame_1 = Instance.new("Frame");
        l_Frame_1.Size = UDim2.new(0, 15, 0, 15);
        l_Frame_1.Parent = l_Frame_0;
        l_Frame_1.BackgroundColor3 = v3;
        l_Frame_1.BorderSizePixel = 0;
        local l_TextLabel_0 = Instance.new("TextLabel");
        l_TextLabel_0.Text = v4;
        l_TextLabel_0.Parent = l_Frame_0;
        l_TextLabel_0.Size = UDim2.new(1, -15, 0, 15);
        l_TextLabel_0.BackgroundTransparency = 1;
        l_TextLabel_0.TextColor3 = Color3.new(1, 1, 1);
        return l_Frame_0;
    end;
    local function v16()
        v0 = Instance.new("ScreenGui");
        v0.Name = "AdaptiveTimeSteppingLegend";
        v0.Enabled = true;
        local l_Frame_2 = Instance.new("Frame");
        l_Frame_2.Parent = v0;
        l_Frame_2.Size = UDim2.new(0, 120, 0, 80);
        l_Frame_2.Position = UDim2.new(0, 0, 0, 0);
        l_Frame_2.BackgroundColor3 = Color3.new(0, 0, 0);
        local l_TextLabel_1 = Instance.new("TextLabel");
        l_TextLabel_1.Parent = l_Frame_2;
        l_TextLabel_1.Size = UDim2.new(1, 0, 0, 25);
        l_TextLabel_1.TextColor3 = Color3.new(1, 1, 1);
        l_TextLabel_1.Text = v1("Studio.DebugVisualizerUI.AdaptiveTimesteppingLegend.LegendLabel");
        l_TextLabel_1.BackgroundTransparency = 1;
        l_TextLabel_1.LayoutOrder = 0;
        local l_UIListLayout_1 = Instance.new("UIListLayout");
        l_UIListLayout_1.Parent = l_Frame_2;
        l_UIListLayout_1.FillDirection = "Vertical";
        l_UIListLayout_1.HorizontalAlignment = "Center";
        l_UIListLayout_1.VerticalAlignment = "Center";
        l_UIListLayout_1.SortOrder = "LayoutOrder";
        local v13 = v9(Color3.new(255, 0, 0), "240hz");
        v13.Parent = l_Frame_2;
        v13.LayoutOrder = 1;
        local v14 = v9(Color3.fromRGB(255, 198, 0), "120hz");
        v14.Parent = l_Frame_2;
        v14.LayoutOrder = 2;
        local v15 = v9(Color3.fromRGB(64, 166, 81), "60hz");
        v15.Parent = l_Frame_2;
        v15.LayoutOrder = 3;
        plugin.Name = "DebugVisualizerUI";
    end;
    plugin.Unloading:Connect(function()
        v0.Parent = nil;
    end);
    settings().Physics:GetPropertyChangedSignal("AreTimestepsShown"):Connect(v2);
    v16();
    if not settings().Physics.AreTimestepsShown then
        v0.Parent = nil;
    else
        v0.Parent = game:GetService("CoreGui");
    end;
    return ;
else
    return ;
end;


local l_Parent_0 = script.Parent.Parent;
local l_StudioService_0 = game:GetService("StudioService");
local l_SourceStrings_0 = l_Parent_0.Src.Resources.SourceStrings;
local l_Translator_0 = l_Parent_0.Src.Resources.LocalizedStrings:GetTranslator(l_StudioService_0.StudioLocaleId);
local l_l_SourceStrings_0_Translator_0 = l_SourceStrings_0:GetTranslator("en-us");
return function(v5, ...)
    local v6 = nil;
    local v7 = nil;
    local v8 = {
        ...
    };
    local l_status_0, l_result_0 = pcall(function()
        return l_Translator_0:FormatByKey(v5, v8);
    end);
    v6 = l_status_0;
    v7 = l_result_0;
    if not v6 then
        l_status_0, l_result_0 = pcall(function()
            return l_l_SourceStrings_0_Translator_0:FormatByKey(v5, v8);
        end);
        v6 = l_status_0;
        v7 = l_result_0;
        if not v6 then
            return v5;
        else
            return v7;
        end;
    else
        return v7;
    end;
end;


game:DefineFastFlag("DeveloperInspectorMigrateToRoact17", false);
return nil;


if plugin then
    require(script.Parent.defineLuaFlags);
    if game:GetService("StudioService"):HasInternalPermission() then
        local l_Parent_0 = script.Parent.Parent;
        if not require(l_Parent_0.Src.Util.DebugFlags).RunningUnderCLI() then
            require(l_Parent_0.Src.Util.commonInit)();
            local v1 = require(l_Parent_0.Src.MainPlugin);
            local v2 = nil;
            local v3 = require(l_Parent_0.Packages.Roact);
            v3.setGlobalConfig({
                typeChecks = true,
                propValidation = true,
                elementTracing = true
            });
            local function _()
                plugin.Name = "DeveloperInspector";
                v2 = v3.mount((v3.createElement(v1, {
                    Plugin = plugin
                })));
            end;
            plugin.Unloading:Connect(function()
                if v2 then
                    v3.unmount(v2);
                    v2 = nil;
                end;
            end);
            plugin.Name = "DeveloperInspector";
            v2 = v3.mount((v3.createElement(v1, {
                Plugin = plugin
            })));
            return ;
        else
            return ;
        end;
    else
        return ;
    end;
else
    return ;
end;


local l_Parent_0 = script.Parent.Parent;
require(l_Parent_0.Src.Util.commonInit)();
local v1 = require(l_Parent_0.Src.Util.DebugFlags);
if not (not v1.RunningUnderCLI() and not v1.RunTests()) then
    _G.__DEV__ = true;
    _G.__ROACT_17_MOCK_SCHEDULER__ = true;
    _G.__ROACT_17_INLINE_ACT__ = true;
    local v2 = require(l_Parent_0.Packages.Dev.TestEZ);
    local l_TestBootstrap_0 = v2.TestBootstrap;
    local l_TeamCityReporter_0 = v2.Reporters.TeamCityReporter;
    local l_TextReporter_0 = v2.Reporters.TextReporter;
    if v1.LogTestsQuiet() then
        l_TextReporter_0 = v2.Reporters.TextReporterQuiet;
    end;
    l_TextReporter_0 = not not _G.TEAMCITY and l_TeamCityReporter_0 or l_TextReporter_0;
    print("----- All " .. script.Parent.Parent.Name .. " Tests ------");
    require(script.Parent.defineLuaFlags);
    l_TestBootstrap_0:run({
        l_Parent_0.Src
    }, l_TextReporter_0);
    print("----------------------------------");
end;
if v1.RunningUnderCLI() then
    pcall(function()
        game:GetService("ProcessService"):ExitAsync(0);
    end);
end;


local l_DeveloperInspectorMigrateToRoact17_0 = game:GetFastFlag("DeveloperInspectorMigrateToRoact17");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("Packages");
if not l_DeveloperInspectorMigrateToRoact17_0 then
    return require(l_script_FirstAncestor_0._Index.Roact.Roact);
else
    return require(l_script_FirstAncestor_0.Roact17);
end;


return require(script.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return v0;
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        data = v0
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        path = v0
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function()
    return {};
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        change = v0
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        nodeIndex = v0
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        selectedRow = v0
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        isPicking = v0
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        filter = v0
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0, v1)
    return {
        tableName = v0,
        pageIndex = v1
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0, v1)
    return {
        tableName = v0,
        pageSize = v1
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        searchTerm = v0
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        isProfiling = v0
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0, v1, v2)
    return {
        tableName = v0,
        sortIndex = v1,
        sortOrder = v2
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0, v1)
    return {
        path = v0,
        branch = v1
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0, v1, v2, v3)
    return {
        path = v0,
        nodeIndex = v1,
        fieldPath = v2,
        fields = v3
    };
end);


return require(script.Parent.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0, v1, v2)
    return {
        path = v0,
        children = v1,
        updatedIndexes = v2
    };
end);


return require(script.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        target = v0
    };
end);


return require(script.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        tab = v0
    };
end);


return require(script.Parent.Parent.Parent.Packages.Framework).Util.Action(script.Name, function(v0)
    return {
        change = v0
    };
end);


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Framework);
local v2 = require(l_Parent_0.Packages.Roact);
local l_mapOne_0 = require(l_Parent_0.Packages.Dash).mapOne;
local v4 = v2.PureComponent:extend("FieldTreeRow");
local l_TextLabel_0 = v1.UI.TextLabel;
v4.init = function(v6)
    v6.state = {
        isHovering = false
    };
    v6.onMouseEnter = function()
        v6:setState({
            isHovering = true
        });
    end;
    v6.onMouseLeave = function()
        v6:setState({
            isHovering = false
        });
    end;
    v6.onInputBegan = function(_, v8)
        if v8.UserInputType == Enum.UserInputType.MouseButton1 then
            v6.props.OnSelect(v6.props.Index);
        end;
    end;
    v6.onToggle = function()
        v6.props.OnToggle(v6.props.Row);
    end;
end;
v4.render = function(v9)
    local l_props_0 = v9.props;
    local l_state_0 = v9.state;
    local l_Style_0 = l_props_0.Style;
    local l_IsSelected_0 = l_props_0.IsSelected;
    local l_IsExpanded_0 = l_props_0.IsExpanded;
    local l_isHovering_0 = l_state_0.isHovering;
    local l_Row_0 = l_props_0.Row;
    local l_item_0 = l_Row_0.item;
    local v18 = l_item_0.Children and l_mapOne_0(l_item_0.Children);
    local l_IsHeading_0 = l_item_0.IsHeading;
    local v20 = ((not not l_IsHeading_0 and l_Style_0.HeadingColor or l_IsSelected_0 and l_Style_0.SelectedColor) or l_isHovering_0 and l_Style_0.HoverColor) or l_Style_0.BackgroundColor;
    local v21 = if not l_IsHeading_0 then l_Row_0.depth * l_Style_0.Indent else 0;
    local v22 = not not l_IsHeading_0 and UDim2.fromScale(1, 1) or UDim2.new(0.35, 0, 1, 0);
    local l_Size_0 = l_Style_0.Arrow.Size;
    local v24 = (5 + v21) + (not not v18 and l_Size_0 + 5 or 0);
    return v2.createElement("Frame", {
        [v2.Event.MouseEnter] = v9.onMouseEnter,
        [v2.Event.MouseLeave] = v9.onMouseLeave,
        [v2.Event.InputBegan] = v9.onInputBegan,
        LayoutOrder = l_props_0.Index,
        BackgroundTransparency = 1,
        Position = l_props_0.Position,
        Size = l_props_0.Size
    }, {
        NameCell = v2.createElement("Frame", {
            Size = v22,
            BackgroundColor3 = v20,
            BorderColor3 = l_Style_0.BorderColor
        }, {
            Toggle = not not v18 and v2.createElement("ImageButton", {
                Position = UDim2.new(0, v21 + 5, 0.5, 0),
                AnchorPoint = Vector2.new(0, 0.5),
                Size = UDim2.new(0, l_Size_0, 0, l_Size_0),
                BackgroundTransparency = 1,
                Image = l_Style_0.Arrow.Image,
                ImageColor3 = l_Style_0.Arrow.Color,
                ImageRectSize = Vector2.new(l_Size_0, l_Size_0),
                ImageRectOffset = not not l_IsExpanded_0 and l_Style_0.Arrow.ExpandedOffset or l_Style_0.Arrow.CollapsedOffset,
                [v2.Event.Activated] = v9.onToggle
            }) or nil,
            NameLabel = v2.createElement(l_TextLabel_0, {
                Text = tostring(l_item_0.Name),
                Font = not not l_IsHeading_0 and Enum.Font.SourceSansBold or nil,
                TextXAlignment = Enum.TextXAlignment.Left,
                Position = UDim2.new(0, v24, 0, 2),
                Size = UDim2.new(1, -5 - v24, 1, -4),
                TextTruncate = Enum.TextTruncate.AtEnd
            })
        }),
        SummaryCell = not l_IsHeading_0 and v2.createElement("Frame", {
            Size = UDim2.new(0.65, 0, 1, 0),
            Position = UDim2.new(0.35, 0, 0, 0),
            BackgroundColor3 = v20,
            BorderColor3 = l_Style_0.BorderColor
        }, {
            SummaryLabel = v2.createElement(l_TextLabel_0, {
                Text = tostring(l_item_0.Summary),
                Font = not not l_IsHeading_0 and Enum.Font.SourceSansBold or nil,
                TextXAlignment = Enum.TextXAlignment.Left,
                Position = UDim2.new(0, 5, 0, 2),
                Size = UDim2.new(1, -10, 1, -4),
                TextTruncate = Enum.TextTruncate.AtEnd
            })
        })
    });
end;
return v4;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local v4 = require(l_Parent_0.Src.Util.InspectorContext);
local v5 = require(script.FieldTreeRow);
local l_RoactInspectorApi_0 = v3.DeveloperTools.RoactInspectorApi;
local v7 = require(l_Parent_0.Packages.Dash);
local l_flat_0 = v7.flat;
local l_values_0 = v7.values;
local l_sort_0 = table.sort;
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_TreeView_0 = v3.UI.TreeView;
local l_Actions_0 = l_Parent_0.Src.Actions;
local v15 = require(l_Actions_0.RoactInspector.SelectField);
local v16 = require(l_Actions_0.RoactInspector.ToggleField);
local v17 = v1.PureComponent:extend("FieldsTable");
v17.init = function(v18)
    v18.onToggleField = function(v19)
        local l_item_0 = v19.item;
        local v21 = not v18.props.Expansion[l_item_0];
        v18.props.toggleField({
            [l_item_0] = v21
        });
        if v21 then
            local v22 = v18.props.Inspector:get():getTargetApi();
            if l_RoactInspectorApi_0.isInstance(v22) then
                v22:getFields(v18.props.SelectedPath, v18.props.SelectedNodeIndex, l_item_0.Path);
            end;
        end;
    end;
    v18.onSelectField = function(_)
    end;
    v18.getRowProps = function(v24, _, v26, v27)
        return {
            Row = v24,
            OnSelect = v18.onSelectField,
            OnToggle = v18.onToggleField,
            IsExpanded = v18.props.Expansion[v24.item],
            IsSelected = false,
            Position = v26,
            Style = v18.props.Stylizer,
            Size = v27
        };
    end;
end;
local function v32(v28)
    local v29 = l_values_0(v28.Children or {});
    l_sort_0(v29, function(v30, v31)
        if typeof(v30) == typeof(v31) then
            return v30.Name < v31.Name;
        else
            return tostring(v30.Name) < tostring(v31.Name);
        end;
    end);
    return v29;
end;
v17.render = function(v33)
    local l_Children_0 = v33.props.Root.Children;
    return v1.createElement(l_TreeView_0, {
        Size = UDim2.new(1, 0, 1, 0),
        Expansion = v33.props.Expansion,
        RootItems = l_flat_0({
            {
                {
                    Name = "Props",
                    IsHeading = true
                }
            },
            v32(l_Children_0.props),
            {
                {
                    Name = "State",
                    IsHeading = true
                }
            },
            v32(l_Children_0.state),
            {
                {
                    Name = "Context",
                    IsHeading = true
                }
            },
            (v32(l_Children_0._context))
        }),
        RowComponent = v5,
        GetChildren = v32,
        GetRowProps = v33.getRowProps,
        ScrollingDirection = Enum.ScrollingDirection.Y,
        Style = "BorderBox"
    });
end;
return v2.connect(function(v35, _)
    return {
        SelectedPath = v35.RoactInspector.selectedPath,
        SelectedNodeIndex = v35.RoactInspector.selectedNodeIndex,
        Root = v35.RoactInspector.fields,
        Selection = v35.RoactInspector.selectedFields,
        Expansion = v35.RoactInspector.expandedFields
    };
end, function(v37)
    return {
        selectField = function(v38)
            v37(v15(v38));
        end,
        toggleField = function(v39)
            v37(v16(v39));
        end
    };
end)((l_withContext_0({
    Stylizer = l_ContextServices_0.Stylizer,
    Inspector = v4
})(v17)));


local l_StyleKey_0 = require(script.Parent.Parent.Parent.Parent.Packages.Framework).Style.StyleKey;
return {
    RowHeight = 24,
    HoverColor = l_StyleKey_0.ButtonHover,
    SelectedColor = l_StyleKey_0.DialogMainButton,
    SelectedTextColor = l_StyleKey_0.DialogMainButtonText,
    BackgroundColor = l_StyleKey_0.MainBackground,
    HeadingColor = l_StyleKey_0.CategoryItem,
    BorderColor = l_StyleKey_0.Border,
    Indent = 20,
    Arrow = {
        Image = "rbxasset://textures/StudioSharedUI/arrowSpritesheet.png",
        Size = 12,
        ExpandedOffset = Vector2.new(24, 0),
        CollapsedOffset = Vector2.new(12, 0),
        Color = l_StyleKey_0.MainText
    }
};


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v3.ContextServices;
local v5 = require(l_Parent_0.Src.Util.InspectorContext);
local l_DeveloperTools_0 = v3.DeveloperTools;
local l_Actions_0 = l_Parent_0.Src.Actions;
local v8 = require(l_Actions_0.AddTargets);
local v9 = require(l_Actions_0.ClearTargets);
local v10 = require(l_Actions_0.RoactInspector.PickInstance);
local v11 = require(l_Actions_0.RoactInspector.UpdateInstances);
local v12 = require(l_Actions_0.RoactInspector.UpdateBranch);
local v13 = require(l_Actions_0.RoactInspector.UpdateFields);
local v14 = require(l_Actions_0.SetTab);
local v15 = require(l_Actions_0.RoactInspector.UpdateProfileData);
local v16 = v1.PureComponent:extend("InspectorProvider");
v16.init = function(v17)
    v17.inspector = l_DeveloperTools_0.forInspector({
        onAddTargets = v17.props.addTargets,
        RoactInspector = {
            onUpdateInstances = v17.props.updateInstances,
            onUpdateBranch = v17.props.updateBranch,
            onUpdateFields = v17.props.updateFields,
            onPickInstance = function(v18)
                v17.props.pickInstance(v17.props.Tabs[1], v18);
            end,
            onUpdateProfileData = v17.props.updateProfileData
        }
    });
    v17.inspectorContext = v5.new(v17.inspector);
end;
v16.didMount = function(v19)
    v19.inspector:getTargets();
end;
v16.willUnmount = function(v20)
    if v20.inspector then
        v20.inspector:destroy();
    end;
end;
v16.didUpdate = function(v21, v22)
    if v22.Active == false and v21.props.Active == true then
        v21.props.clearTargets();
        v21.inspector:getTargets();
    end;
end;
v16.render = function(v23)
    return l_ContextServices_0.provide({
        v23.inspectorContext
    }, v23.props[v1.Children]);
end;
return v2.connect(function(v24)
    return {
        Tabs = v24.Targets.tabs
    };
end, function(v25)
    return {
        clearTargets = function()
            v25(v9());
        end,
        addTargets = function(v26)
            v25(v8(v26));
        end,
        updateInstances = function(v27, v28, v29)
            v25(v11(v27, v28, v29));
        end,
        updateBranch = function(v30, v31)
            v25(v12(v30, v31));
        end,
        updateFields = function(v32, v33, v34, v35)
            v25(v13(v32, v33, v34, v35));
        end,
        pickInstance = function(v36, v37)
            v25(v14(v36));
            v25(v10(v37));
        end,
        updateProfileData = function(v38)
            v25(v15(v38));
        end
    };
end)(v16);


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local v4 = require(script.Parent.TargetTree);
local v5 = require(l_Parent_0.Src.Util.TabIds);
local v6 = require(l_Parent_0.Src.Components.RoactInspectorView);
local v7 = require(l_Parent_0.Src.Components.RoactProfilerView);
local v8 = require(l_Parent_0.Src.Components.TopBar);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_UI_0 = v3.UI;
local l_Pane_0 = l_UI_0.Pane;
local l_TextLabel_0 = l_UI_0.TextLabel;
local v14 = v1.PureComponent:extend("MainView");
v14.render = function(v15)
    local l_props_0 = v15.props;
    return not not l_props_0.SelectedTarget and v15:renderTarget(l_props_0) or v15:renderSelectTarget(l_props_0);
end;
v14.renderSelectTarget = function(v17, v18)
    local l_Stylizer_0 = v18.Stylizer;
    return v1.createElement(l_Pane_0, {
        Style = "SubtleBox",
        Layout = Enum.FillDirection.Vertical,
        Padding = l_Stylizer_0.Padding
    }, {
        Label = v1.createElement(l_TextLabel_0, {
            LayoutOrder = 1,
            Text = "Roact Trees",
            Size = UDim2.new(1, 0, 0, l_Stylizer_0.HeaderHeight),
            TextXAlignment = Enum.TextXAlignment.Left
        }),
        TargetTree = v1.createElement(l_Pane_0, {
            LayoutOrder = 2,
            Size = UDim2.new(1, 0, 1, -l_Stylizer_0.HeaderHeight)
        }, {
            Child = v1.createElement(v4, {
                selectTarget = v17.selectTarget
            })
        })
    });
end;
v14.renderTarget = function(_, v21)
    local l_Stylizer_1 = v21.Stylizer;
    local v23 = nil;
    if v21.SelectedTab.Id == v5.ELEMENTS then
        v23 = v1.createElement(v6, {});
    elseif v21.SelectedTab.Id == v5.PROFILE then
        v23 = v1.createElement(v7, {});
    else
        error({
            name = "Missing tab",
            tab = v21.SelectedTab
        });
    end;
    return v1.createElement(l_Pane_0, {
        Layout = Enum.FillDirection.Vertical,
        Style = "Box"
    }, {
        TopBar = v1.createElement(v8, {
            Active = v21.Active
        }),
        Content = v1.createElement(l_Pane_0, {
            LayoutOrder = 2,
            Size = UDim2.new(1, 0, 1, -l_Stylizer_1.HeaderHeight)
        }, {
            Child = v23
        })
    });
end;
return v2.connect(function(v24, _)
    return {
        SelectedTab = v24.Targets.selectedTab,
        SelectedTarget = v24.Targets.selectedTarget
    };
end)((l_withContext_0({
    Stylizer = l_ContextServices_0.Stylizer
})(v14)));


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Framework);
local v2 = require(l_Parent_0.Packages.Roact);
local v3 = require(l_Parent_0.Src.Util.getInspectorIcon);
local l_TweenService_0 = game:GetService("TweenService");
local l_join_0 = require(l_Parent_0.Packages.Dash).join;
local v6 = v2.PureComponent:extend("NodeListRow");
local l_UI_0 = v1.UI;
local l_Pane_0 = l_UI_0.Pane;
local l_LinkText_0 = l_UI_0.LinkText;
local l_TextLabel_0 = l_UI_0.TextLabel;
v6.init = function(v11)
    v11.containerRef = v2.createRef();
    v11.state = {
        isHovering = false
    };
    v11.onMouseEnter = function()
        v11:setState({
            isHovering = true
        });
    end;
    v11.onMouseLeave = function()
        v11:setState({
            isHovering = false
        });
    end;
    v11.onInputBegan = function(_, v13)
        if v13.UserInputType == Enum.UserInputType.MouseButton1 then
            v11.props.OnSelect(v11.props.Index);
        end;
    end;
    v11.onClick = function()
        v11.props.OnClickLink(v11.props.Index);
    end;
end;
v6.didUpdate = function(v14)
    if v14.props.Flash then
        v14:flash(v14.props.Flash.heat);
    end;
end;
v6.flash = function(v15, v16)
    local v17 = v15.containerRef:getValue();
    if v17 then
        if v15.flashTween then
            v15.flashTween:Cancel();
        end;
        if not v15.props.IsSelected then
            v15.flashTween = l_TweenService_0:create(v17, TweenInfo.new(1, Enum.EasingStyle.Linear), {
                BackgroundColor3 = v15.props.Style.BackgroundColor
            });
            v17.BackgroundColor3 = Color3.fromRGB(255, math.max(0, 255 - v16 * 10), 100);
            v15.flashTween:Play();
            return ;
        else
            return ;
        end;
    else
        return ;
    end;
end;
v6.render = function(v18)
    local l_props_0 = v18.props;
    local l_state_0 = v18.state;
    local l_Style_0 = l_props_0.Style;
    local l_IsSelected_0 = l_props_0.IsSelected;
    local l_IconPadding_0 = l_Style_0.IconPadding;
    local v24 = v3(l_props_0.Icon);
    local l_X_0 = v24.ImageRectSize.X;
    local v26 = l_X_0 + 3 * l_IconPadding_0;
    local v27 = (not not l_IsSelected_0 and l_Style_0.SelectedColor or l_state_0.isHovering and l_Style_0.HoverColor) or l_Style_0.BackgroundColor;
    local v28 = not not l_IsSelected_0 and l_Style_0.SelectedTextColor or nil;
    return v2.createElement(l_Pane_0, {
        [v2.Event.MouseEnter] = v18.onMouseEnter,
        [v2.Event.MouseLeave] = v18.onMouseLeave,
        [v2.Event.InputBegan] = v18.onInputBegan,
        [v2.Ref] = v18.containerRef,
        LayoutOrder = l_props_0.Index,
        BackgroundColor3 = v27,
        Size = UDim2.new(1, 0, 0, l_Style_0.RowHeight)
    }, {
        Icon = v2.createElement("ImageLabel", {
            Size = UDim2.fromOffset(l_X_0, v24.ImageRectSize.Y),
            BackgroundTransparency = 1,
            Image = v24.Image,
            ImageRectSize = v24.ImageRectSize,
            ImageRectOffset = v24.ImageRectOffset,
            Position = UDim2.new(0, l_IconPadding_0, 0.5, 0),
            AnchorPoint = Vector2.new(0, 0.5)
        }),
        Text = v2.createElement(l_TextLabel_0, {
            Style = l_Style_0.Text,
            Text = l_props_0.Name,
            TextColor = v28,
            Size = UDim2.new(1, 0, 0, l_Style_0.RowHeight),
            Position = UDim2.fromOffset(v26, 0),
            TextXAlignment = Enum.TextXAlignment.Left,
            TextYAlignment = Enum.TextYAlignment.Center
        }),
        Link = v2.createElement(l_LinkText_0, {
            OnClick = v18.onClick,
            Style = l_join_0(l_Style_0.Link, {
                TextColor = v28
            }),
            AnchorPoint = Vector2.new(1, 0),
            Position = UDim2.new(1, -10, 0, 0),
            Text = v18.props.LinkText,
            Size = UDim2.new(1, 0, 0, l_Style_0.RowHeight),
            TextXAlignment = Enum.TextXAlignment.Right,
            TextYAlignment = Enum.TextYAlignment.Center
        })
    });
end;
return v6;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Framework);
local v2 = require(l_Parent_0.Packages.Roact);
local v3 = require(l_Parent_0.Packages.RoactRodux);
local l_ContextServices_0 = v1.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local v6 = require(l_Parent_0.Src.Util.InspectorContext);
local l_RoactInspectorApi_0 = v1.DeveloperTools.RoactInspectorApi;
local l_UI_0 = v1.UI;
local l_Pane_0 = l_UI_0.Pane;
local l_ScrollingFrame_0 = l_UI_0.ScrollingFrame;
local v11 = require(l_Parent_0.Packages.Dash);
local l_collect_0 = v11.collect;
local l_find_0 = v11.find;
local l_shallowEqual_0 = v11.shallowEqual;
local v15 = require(script.NodeListRow);
local v16 = require(l_Parent_0.Src.Util.traceSource);
local v17 = require(l_Parent_0.Src.Actions.RoactInspector.SelectNode);
local v18 = v2.PureComponent:extend("NodeList");
v18.init = function(v19)
    v19.onSelectNode = function(v20)
        v19.props.selectNode(v20);
        local v21 = v19.props.Inspector:get():getTargetApi();
        if l_RoactInspectorApi_0.isInstance(v21) then
            v21:getFields(v19.props.SelectedPath, v20, {
                "props"
            });
            v21:getFields(v19.props.SelectedPath, v20, {
                "state"
            });
            v21:getFields(v19.props.SelectedPath, v20, {
                "_context"
            });
        end;
    end;
end;
v18.getFlash = function(v22)
    local v25 = l_find_0(v22.props.Flash, function(_, v24)
        return l_shallowEqual_0(v24, v22.props.SelectedPath);
    end);
    if v25 and os.clock() - v25.time < 1 then
        return v25;
    else
        return nil;
    end;
end;
v18.onSelectLink = function(v26, v27)
    local v28 = v26.props.Plugin:get();
    local v29, v30 = v16(v27);
    if v29 then
        v28:OpenScript(v29, v30);
    end;
end;
v18.render = function(v31)
    local l_props_0 = v31.props;
    local l_Stylizer_0 = l_props_0.Stylizer;
    local v34 = v31:getFlash();
    return v2.createElement(l_Pane_0, {
        Padding = l_Stylizer_0.Padding,
        Size = l_props_0.Size,
        Style = "BorderBox"
    }, {
        ScrollingFrame = v2.createElement(l_ScrollingFrame_0, {
            Size = UDim2.fromScale(1, 1),
            Style = l_Stylizer_0.ScrollingFrame,
            AutoSizeCanvas = true,
            AutoSizeLayoutOptions = {
                SortOrder = Enum.SortOrder.LayoutOrder
            }
        }, (l_collect_0(l_props_0.Nodes, function(v35, v36)
            return "Item " .. v35, v2.createElement(v15, {
                Index = v35,
                Icon = v36.Icon,
                Name = v36.Name,
                Flash = not not (v34 and v34.indexSet[v35]) and v34 or nil,
                LinkText = v36.Link,
                IsSelected = v35 == l_props_0.SelectedIndex,
                OnSelect = v31.onSelectNode,
                OnClickLink = function()
                    v31:onSelectLink(v36.Source);
                end,
                Style = l_Stylizer_0
            });
        end)))
    });
end;
return v3.connect(function(v37, _)
    return {
        Flash = v37.RoactInspector.flashInstances,
        Nodes = v37.RoactInspector.nodes,
        SelectedPath = v37.RoactInspector.selectedPath,
        SelectedIndex = v37.RoactInspector.selectedNodeIndex
    };
end, function(v39)
    return {
        selectNode = function(v40)
            v39(v17(v40));
        end
    };
end)((l_withContext_0({
    Stylizer = l_ContextServices_0.Stylizer,
    Plugin = l_ContextServices_0.Plugin,
    Inspector = v6
})(v18)));


local v0 = require(script.Parent.Parent.Parent.Parent.Packages.Framework);
local l_StyleKey_0 = v0.Style.StyleKey;
local l_deepCopy_0 = v0.Util.deepCopy;
local l_UIData_0 = v0.UIData;
local v4 = require(l_UIData_0.ScrollingFrame.style);
local v5 = require(l_UIData_0.RoundBox.style);
return {
    Background = v5,
    BackgroundStyle = v5,
    ScrollingFrame = v4,
    BackgroundColor = l_StyleKey_0.MainBackground,
    Padding = 1,
    RowHeight = 24,
    IconPadding = 5,
    HoverColor = l_StyleKey_0.ButtonHover,
    SelectedColor = l_StyleKey_0.DialogMainButton,
    SelectedTextColor = l_StyleKey_0.DialogMainButtonText,
    Link = l_deepCopy_0((require(l_UIData_0.LinkText.style)))
};


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Framework);
local v2 = require(l_Parent_0.Packages.Roact);
local v3 = require(l_Parent_0.Src.Util.getInspectorIcon);
local l_TweenService_0 = game:GetService("TweenService");
local l_mapOne_0 = require(l_Parent_0.Packages.Dash).mapOne;
local v6 = v2.PureComponent:extend("RoactElementRow");
local l_UI_0 = v1.UI;
local l_Pane_0 = l_UI_0.Pane;
local l_TextLabel_0 = l_UI_0.TextLabel;
v6.init = function(v10)
    v10.state = {
        isHovering = false
    };
    v10.containerRef = v2.createRef();
    v10.onMouseEnter = function()
        v10:setState({
            isHovering = true
        });
        v10.props.OnEnterRow(v10.props.Row);
    end;
    v10.onMouseLeave = function()
        v10:setState({
            isHovering = false
        });
        v10.props.OnLeaveRow(v10.props.Row);
    end;
    v10.onInputBegan = function(_, v12)
        if v12.UserInputType == Enum.UserInputType.MouseButton1 then
            v10.props.OnSelect(v10.props.Row);
        end;
    end;
    v10.onToggle = function()
        v10.props.OnToggle(v10.props.Row);
    end;
end;
v6.didUpdate = function(v13)
    if v13:isFlashing() then
        v13:flash(v13.props.Flash.heat);
    end;
end;
v6.isFlashing = function(v14)
    local l_Flash_0 = v14.props.Flash;
    if l_Flash_0 and os.clock() - l_Flash_0.time < 1 then
        return true;
    else
        return false;
    end;
end;
v6.flash = function(v16, v17)
    local v18 = v16.containerRef:getValue();
    if v18 then
        if v16.flashTween then
            v16.flashTween:Cancel();
        end;
        v16.flashTween = l_TweenService_0:create(v18, TweenInfo.new(1, Enum.EasingStyle.Linear), {
            BackgroundColor3 = v16.props.Style.BackgroundColor
        });
        v18.BackgroundColor3 = Color3.fromRGB(255, math.max(0, 255 - v17 * 10), 100);
        v16.flashTween:Play();
        return ;
    else
        return ;
    end;
end;
v6.render = function(v19)
    local l_props_0 = v19.props;
    local l_Style_0 = l_props_0.Style;
    local l_IsExpanded_0 = l_props_0.IsExpanded;
    local l_IsSelected_0 = l_props_0.IsSelected;
    local l_Row_0 = l_props_0.Row;
    local l_item_0 = l_Row_0.item;
    local v26 = l_item_0.Children and l_mapOne_0(l_item_0.Children) ~= nil;
    local v27 = l_Row_0.depth * l_Style_0.Indent;
    local l_Size_0 = l_Style_0.Arrow.Size;
    local l_IconPadding_0 = l_Style_0.IconPadding;
    local v30 = v3(l_item_0.Icon);
    local v31 = v30.ImageRectSize or Vector2.new();
    return v2.createElement(l_Pane_0, {
        AutomaticSize = Enum.AutomaticSize.X,
        Position = l_props_0.Position,
        Size = l_props_0.Size,
        LayoutOrder = l_Row_0.index,
        [v2.Ref] = v19.containerRef
    }, {
        Toggle = not not v26 and v2.createElement("ImageButton", {
            Position = UDim2.new(0, v27 + l_IconPadding_0, 0.5, 0),
            AnchorPoint = Vector2.new(0, 0.5),
            Size = UDim2.new(0, l_Size_0, 0, l_Size_0),
            BackgroundTransparency = 1,
            Image = l_Style_0.Arrow.Image,
            ImageColor3 = l_Style_0.Arrow.Color,
            ImageRectSize = Vector2.new(l_Size_0, l_Size_0),
            ImageRectOffset = not not l_IsExpanded_0 and l_Style_0.Arrow.ExpandedOffset or l_Style_0.Arrow.CollapsedOffset,
            [v2.Event.Activated] = v19.onToggle
        }) or nil,
        Label = v2.createElement("Frame", {
            AutomaticSize = Enum.AutomaticSize.X,
            [v2.Event.MouseEnter] = v19.onMouseEnter,
            [v2.Event.MouseLeave] = v19.onMouseLeave,
            [v2.Event.InputBegan] = v19.onInputBegan,
            BackgroundTransparency = v19.state.isHovering or (l_IsSelected_0 and 0 or 1),
            BorderSizePixel = 0,
            BackgroundColor3 = not not l_IsSelected_0 and l_Style_0.SelectedColor or l_Style_0.HoverColor,
            Position = UDim2.fromOffset((v27 + l_Size_0) + 2 * l_IconPadding_0, 0),
            Size = UDim2.fromScale(0, 1)
        }, {
            Icon = v2.createElement("ImageLabel", {
                Size = UDim2.fromOffset(v31.X, v31.Y),
                BackgroundTransparency = 1,
                Image = v30.Image,
                ImageRectSize = v31,
                ImageRectOffset = v30.ImageRectOffset,
                Position = UDim2.new(0, l_IconPadding_0, 0.5, 0),
                AnchorPoint = Vector2.new(0, 0.5)
            }),
            Text = v2.createElement(l_TextLabel_0, {
                AutomaticSize = Enum.AutomaticSize.X,
                Style = l_Style_0.Text,
                Text = tostring(l_item_0.Name),
                TextColor = not not l_IsSelected_0 and l_Style_0.SelectedTextColor or nil,
                Size = UDim2.fromScale(0, 1),
                Position = UDim2.new(0, v31.X + 3 * l_IconPadding_0, 0, 0),
                TextXAlignment = Enum.TextXAlignment.Left,
                TextYAlignment = Enum.TextYAlignment.Center
            })
        })
    });
end;
return v6;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local v4 = require(l_Parent_0.Src.Util.InspectorContext);
local v5 = require(script.RoactElementRow);
local l_RoactInspectorApi_0 = v3.DeveloperTools.RoactInspectorApi;
local v7 = require(l_Parent_0.Packages.Dash);
local l_shallowEqual_0 = v7.shallowEqual;
local l_mapOne_0 = v7.mapOne;
local l_values_0 = v7.values;
local l_sort_0 = table.sort;
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_TreeView_0 = v3.UI.TreeView;
local l_Actions_0 = l_Parent_0.Src.Actions;
local v16 = require(l_Actions_0.RoactInspector.SelectInstance);
local v17 = require(l_Actions_0.RoactInspector.ToggleInstance);
local v18 = v1.PureComponent:extend("RoactElementTree");
v18.init = function(v19)
    v19.onToggleInstance = function(v20)
        local l_item_0 = v20.item;
        local v22 = not v19.props.Expansion[l_item_0];
        v19.props.toggleInstance({
            [l_item_0] = v22
        });
        if v22 then
            local v23 = v19.props.Inspector:get():getTargetApi();
            if l_RoactInspectorApi_0.isInstance(v23) then
                v23:getChildren(l_item_0.Path);
            end;
        end;
    end;
    v19.onSelectInstance = function(v24)
        local l_item_1 = v24.item;
        if not v19.props.Expansion[l_item_1] then
            v19.onToggleInstance(v24);
        end;
        v19.props.selectInstance({
            [l_item_1] = true
        });
        local v26 = v19.props.Inspector:get():getTargetApi();
        if l_RoactInspectorApi_0.isInstance(v26) then
            v26:getBranch(l_item_1.Path);
        end;
    end;
    v19.onEnterRow = function(v27)
        v19.hoveredItem = v27.item;
        local v28 = v19.props.Inspector:get():getTargetApi();
        if l_RoactInspectorApi_0.isInstance(v28) then
            v28:highlight(v27.item.Path);
        end;
    end;
    v19.onLeaveRow = function(v29)
        if v29.item ~= v19.hoveredItem then
            return ;
        else
            local v30 = v19.props.Inspector:get():getTargetApi();
            if l_RoactInspectorApi_0.isInstance(v30) then
                v30:dehighlight();
            end;
            return ;
        end;
    end;
    v19.getRowProps = function(v31, _, v33, v34)
        return {
            Row = v31,
            OnEnterRow = v19.onEnterRow,
            OnLeaveRow = v19.onLeaveRow,
            OnSelect = v19.onSelectInstance,
            OnToggle = v19.onToggleInstance,
            Position = v33,
            Flash = l_mapOne_0(v19.props.Flash, function(v35, v36)
                if not l_shallowEqual_0(v36, v31.item.Path) then
                    return nil;
                else
                    return v35;
                end;
            end),
            IsExpanded = v19.props.Expansion[v31.item],
            IsSelected = v19.props.Selection[v31.item],
            Size = v34,
            Style = v19.props.Stylizer
        };
    end;
end;
local function v41(v37)
    local v38 = not not v37.Children and l_values_0(v37.Children) or {};
    l_sort_0(v38, function(v39, v40)
        return v39.Name < v40.Name;
    end);
    return v38;
end;
v18.render = function(v42)
    local l_props_0 = v42.props;
    return v1.createElement(l_TreeView_0, {
        Size = UDim2.new(1, 0, 1, 0),
        Expansion = l_props_0.Expansion,
        GetRowProps = v42.getRowProps,
        RootItems = v41(l_props_0.RootInstance),
        RowComponent = v5,
        GetChildren = v41,
        ScrollingDirection = Enum.ScrollingDirection.Y,
        Style = "BorderBox"
    });
end;
return v2.connect(function(v44, _)
    return {
        SelectedNodeIndex = v44.RoactInspector.selectedNodeIndex,
        RootInstance = v44.RoactInspector.rootInstance,
        Flash = v44.RoactInspector.flashInstances,
        Selection = v44.RoactInspector.selectedInstances,
        Expansion = v44.RoactInspector.expandedInstances
    };
end, function(v46)
    return {
        selectInstance = function(v47)
            v46(v16(v47));
        end,
        toggleInstance = function(v48)
            v46(v17(v48));
        end
    };
end)((l_withContext_0({
    Stylizer = l_ContextServices_0.Stylizer,
    Inspector = v4
})(v18)));


local l_StyleKey_0 = require(script.Parent.Parent.Parent.Parent.Packages.Framework).Style.StyleKey;
return {
    RowHeight = 24,
    HoverColor = l_StyleKey_0.ButtonHover,
    SelectedColor = l_StyleKey_0.DialogMainButton,
    SelectedTextColor = l_StyleKey_0.DialogMainButtonText,
    HeadingColor = l_StyleKey_0.CategoryItem,
    BorderColor = l_StyleKey_0.Border,
    Indent = 20,
    IconPadding = 5,
    Arrow = {
        Image = "rbxasset://textures/StudioSharedUI/arrowSpritesheet.png",
        Size = 12,
        ExpandedOffset = Vector2.new(24, 0),
        CollapsedOffset = Vector2.new(12, 0),
        Color = l_StyleKey_0.MainText
    }
};


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.Framework);
local v3 = require(script.Parent.RoactElementTree);
local v4 = require(script.Parent.FieldsTable);
local v5 = require(script.Parent.NodeList);
local l_Pane_0 = v2.UI.Pane;
local l_ContextServices_0 = v2.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local v9 = v1.PureComponent:extend("RoactInspectorView");
v9.render = function(v10)
    local l_Stylizer_0 = v10.props.Stylizer;
    return v1.createElement(l_Pane_0, {
        Layout = Enum.FillDirection.Horizontal,
        Padding = l_Stylizer_0.Padding,
        Spacing = l_Stylizer_0.Padding
    }, {
        Left = v1.createElement(l_Pane_0, {
            LayoutOrder = 1,
            Layout = Enum.FillDirection.Vertical,
            Size = UDim2.new(0.5, -l_Stylizer_0.Padding, 1, 0),
            Spacing = l_Stylizer_0.Padding
        }, {
            TreeContainer = v1.createElement(l_Pane_0, {
                LayoutOrder = 1,
                Size = UDim2.new(1, 0, 1, -l_Stylizer_0.NodeListHeight)
            }, {
                RoactElementTree = v1.createElement(v3, {})
            }),
            ListContainer = v1.createElement(l_Pane_0, {
                LayoutOrder = 2,
                Size = UDim2.new(1, 0, 0, l_Stylizer_0.NodeListHeight - l_Stylizer_0.Padding)
            }, {
                NodeList = v1.createElement(v5, {
                    selectTarget = v10.selectTarget
                })
            })
        }),
        Right = v1.createElement(l_Pane_0, {
            LayoutOrder = 2,
            Size = UDim2.fromScale(0.5, 1)
        }, {
            Child = v1.createElement(v4, {})
        })
    });
end;
return (l_withContext_0({
    Stylizer = l_ContextServices_0.Stylizer
})(v9));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local v4 = require(l_Parent_0.Src.Util.InspectorContext);
local v5 = require(l_Parent_0.Src.Util.TableIds);
local l_RoactInspectorApi_0 = v3.DeveloperTools.RoactInspectorApi;
local l_Actions_0 = l_Parent_0.Src.Actions;
local v8 = require(l_Actions_0.RoactInspector.SetProfilePageSize);
local v9 = require(l_Actions_0.RoactInspector.SetProfilePageIndex);
local v10 = require(l_Actions_0.RoactInspector.SortProfileData);
local v11 = require(l_Actions_0.RoactInspector.SelectProfileRow);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_UI_0 = v3.UI;
local l_PaginatedTable_0 = l_UI_0.PaginatedTable;
local l_Pane_0 = l_UI_0.Pane;
local l_TextLabel_0 = l_UI_0.TextLabel;
local v18 = v1.Component:extend("RoactProfilerComponentsTable");
local v19 = {
    {
        Name = "Component",
        Key = "instanceName",
        TooltipKey = "pathString",
        Width = UDim.new(0.3, 0)
    },
    {
        Name = "Depth",
        Key = "depth",
        Width = UDim.new(0.15, 0)
    },
    {
        Name = "Renders",
        Key = "count",
        Width = UDim.new(0.15, 0)
    },
    {
        Name = "Render Time (ms)",
        Key = "renderTime",
        Width = UDim.new(0.2, 0)
    },
    {
        Name = "Deep Time (ms)",
        Key = "time",
        Width = UDim.new(0.2, 0)
    }
};
v18.init = function(v20)
    v20.onPageChange = function(v21)
        local v22 = v20.props.Inspector:get():getTargetApi();
        v20.props.setPageIndex(v21);
        if l_RoactInspectorApi_0.isInstance(v22) then
            if v22.setProfileComponentsPageIndex then
                v22:setProfileComponentsPageIndex(v21);
                v22:getProfileData();
            else
                return ;
            end;
        end;
    end;
    v20.onHover = function(_, v24)
        local v25 = v20.props.Inspector:get():getTargetApi();
        local v26 = v20.props.TableData.pageRows[v24];
        if not ((not v26 or not v26.path) or not l_RoactInspectorApi_0.isInstance(v25)) then
            v25:highlight(v26.path);
        end;
    end;
    v20.onMouseLeave = function()
        local v27 = v20.props.Inspector:get():getTargetApi();
        if l_RoactInspectorApi_0.isInstance(v27) then
            v27:dehighlight();
        end;
    end;
    v20.onSizeChange = function(v28)
        local v29 = v20.props.Inspector:get():getTargetApi();
        v20.props.setPageSize(v28);
        if l_RoactInspectorApi_0.isInstance(v29) then
            if v29.setProfileComponentsPageSize then
                v29:setProfileComponentsPageSize(v28);
                v29:getProfileData();
            else
                return ;
            end;
        end;
    end;
    v20.onSortChange = function(v30, v31)
        local v32 = v20.props.Inspector:get():getTargetApi();
        v20.props.setSort(v30, v31);
        if l_RoactInspectorApi_0.isInstance(v32) then
            if v32.sortProfileData then
                v32:sortProfileData("profileComponents", v30, v31);
                v32:getProfileData();
            else
                return ;
            end;
        end;
    end;
    v20.onSelectRow = function(_, v34)
        local v35 = v20.props.Inspector:get():getTargetApi();
        local l_TableData_0 = v20.props.TableData;
        local v37 = v34 + (l_TableData_0.pageIndex - 1) * l_TableData_0.pageSize;
        local v38 = l_TableData_0.pageRows[v34];
        if v38 then
            local l_instanceId_0 = v38.instanceId;
            v20.props.selectRow(v37);
            if l_RoactInspectorApi_0.isInstance(v35) then
                v35:selectProfileInstance(l_instanceId_0);
                v35:setProfileEventsPageIndex(1);
                v35:getProfileData();
            end;
        end;
    end;
end;
v18.render = function(v40)
    local l_props_0 = v40.props;
    local l_ProfileData_0 = l_props_0.ProfileData;
    local l_TableData_1 = l_props_0.TableData;
    return v1.createElement(l_PaginatedTable_0, {
        Columns = v19,
        Rows = l_TableData_1.pageRows,
        SelectedRow = l_TableData_1.selectedRow,
        SortIndex = l_TableData_1.sortIndex,
        SortOrder = l_TableData_1.sortOrder,
        PageIndex = l_TableData_1.pageIndex,
        PageSize = l_TableData_1.pageSize,
        PageCount = math.ceil(l_ProfileData_0.rowCount / l_TableData_1.pageSize),
        OnHoverRow = v40.onHover,
        OnMouseLeave = v40.onMouseLeave,
        OnSelectRow = v40.onSelectRow,
        OnPageChange = v40.onPageChange,
        OnPageSizeChange = v40.onSizeChange,
        OnSortChange = v40.onSortChange,
        Footer = v1.createElement(l_Pane_0, {
            Padding = 5,
            Layout = Enum.FillDirection.Horizontal,
            HorizontalAlignment = Enum.HorizontalAlignment.Left
        }, {
            Label = v1.createElement(l_TextLabel_0, {
                AutomaticSize = Enum.AutomaticSize.XY,
                Text = ("%s Events from %s Components"):format(l_ProfileData_0.eventCount, l_ProfileData_0.rowCount)
            })
        })
    });
end;
return v2.connect(function(v44)
    return {
        ProfileData = v44.RoactInspector.profileData,
        TableData = v44.RoactInspector[v5.COMPONENTS]
    };
end, function(v45)
    return {
        setSort = function(v46, v47)
            v45(v10(v5.COMPONENTS, v46, v47));
        end,
        setPageSize = function(v48)
            v45(v8(v5.COMPONENTS, v48));
        end,
        setPageIndex = function(v49)
            v45(v9(v5.COMPONENTS, v49));
        end,
        selectRow = function(v50)
            v45(v11(v50));
        end
    };
end)((l_withContext_0({
    Inspector = v4,
    Stylizer = l_ContextServices_0.Stylizer
})(v18)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local v4 = require(l_Parent_0.Src.Util.InspectorContext);
local v5 = require(l_Parent_0.Src.Util.TableIds);
local l_RoactInspectorApi_0 = v3.DeveloperTools.RoactInspectorApi;
local l_Actions_0 = l_Parent_0.Src.Actions;
local v8 = require(l_Actions_0.RoactInspector.SetProfilePageSize);
local v9 = require(l_Actions_0.RoactInspector.SetProfilePageIndex);
local v10 = require(l_Actions_0.RoactInspector.SortProfileData);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_UI_0 = v3.UI;
local l_PaginatedTable_0 = l_UI_0.PaginatedTable;
local l_Pane_0 = l_UI_0.Pane;
local v16 = v1.Component:extend("RoactProfilerEventsTable");
local v17 = {
    {
        Name = "At (s)",
        Key = "startTime",
        Width = UDim.new(0.1, 0)
    },
    {
        Name = "Render Time (ms)",
        Key = "renderTime",
        Width = UDim.new(0.2, 0)
    },
    {
        Name = "Deep Time (ms)",
        Key = "time",
        Width = UDim.new(0.2, 0)
    },
    {
        Name = "Cause",
        Key = "cause",
        TooltipKey = "log",
        Width = UDim.new(0.15, 0)
    },
    {
        Name = "Details",
        Key = "details",
        TooltipKey = "detailsTip",
        Width = UDim.new(0.35, 0)
    }
};
v16.init = function(v18)
    v18.onPageChange = function(v19)
        local v20 = v18.props.Inspector:get():getTargetApi();
        v18.props.setPageIndex(v19);
        if l_RoactInspectorApi_0.isInstance(v20) then
            if v20.setProfileEventsPageIndex then
                v20:setProfileEventsPageIndex(v19);
                v20:getProfileData();
            else
                return ;
            end;
        end;
    end;
    v18.onSizeChange = function(v21)
        local v22 = v18.props.Inspector:get():getTargetApi();
        v18.props.setPageSize(v21);
        if l_RoactInspectorApi_0.isInstance(v22) then
            if v22.setProfileEventsPageSize then
                v22:setProfileEventsPageSize(v21);
                v22:getProfileData();
            else
                return ;
            end;
        end;
    end;
    v18.onSortChange = function(v23, v24)
        local v25 = v18.props.Inspector:get():getTargetApi();
        v18.props.setSort(v23, v24);
        if l_RoactInspectorApi_0.isInstance(v25) then
            if v25.setProfileEventsPageIndex then
                v25:sortProfileData(v5.EVENTS, v23, v24);
                v25:getProfileData();
            else
                return ;
            end;
        end;
    end;
end;
v16.render = function(v26)
    local l_props_0 = v26.props;
    local l_ProfileData_0 = l_props_0.ProfileData;
    local l_TableData_0 = l_props_0.TableData;
    return v1.createElement(l_PaginatedTable_0, {
        Columns = v17,
        Rows = l_TableData_0.pageRows,
        SortIndex = l_TableData_0.sortIndex,
        SortOrder = l_TableData_0.sortOrder,
        PageIndex = l_TableData_0.pageIndex,
        PageSize = l_TableData_0.pageSize,
        PageCount = math.ceil(l_ProfileData_0.instanceEventCount / l_TableData_0.pageSize),
        OnPageChange = v26.onPageChange,
        OnPageSizeChange = v26.onSizeChange,
        OnSortChange = v26.onSortChange,
        Footer = v1.createElement(l_Pane_0, {
            Padding = 5,
            Layout = Enum.FillDirection.Horizontal,
            HorizontalAlignment = Enum.HorizontalAlignment.Left
        })
    });
end;
return v2.connect(function(v30)
    return {
        ProfileData = v30.RoactInspector.profileData,
        TableData = v30.RoactInspector[v5.EVENTS]
    };
end, function(v31)
    return {
        setSort = function(v32, v33)
            v31(v10(v5.EVENTS, v32, v33));
        end,
        setPageSize = function(v34)
            v31(v8(v5.EVENTS, v34));
        end,
        setPageIndex = function(v35)
            v31(v9(v5.EVENTS, v35));
        end
    };
end)((l_withContext_0({
    Inspector = v4,
    Stylizer = l_ContextServices_0.Stylizer
})(v16)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local v4 = require(l_Parent_0.Src.Util.InspectorContext);
local v5 = require(l_Parent_0.Src.Components.RoactProfilerEventsTable);
local v6 = require(l_Parent_0.Src.Components.RoactProfilerComponentsTable);
local l_RoactInspectorApi_0 = v3.DeveloperTools.RoactInspectorApi;
local l_Actions_0 = l_Parent_0.Src.Actions;
local v9 = require(l_Actions_0.RoactInspector.ClearProfileData);
local v10 = require(l_Actions_0.RoactInspector.SetProfileSearchTerm);
local v11 = require(l_Actions_0.RoactInspector.SetProfileFilter);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_StyleModifier_0 = v3.Util.StyleModifier;
local l_UI_0 = v3.UI;
local l_Pane_0 = l_UI_0.Pane;
local l_Tooltip_0 = l_UI_0.Tooltip;
local l_Button_0 = l_UI_0.Button;
local l_Image_0 = l_UI_0.Image;
local l_SearchBar_0 = l_UI_0.SearchBar;
local v21 = v1.PureComponent:extend("RoactProfilerView");
v21.init = function(v22)
    v22.onSearchTable = function(v23)
        v22.props.setProfileSearchTerm(v23);
        local v24 = v22.props.Inspector:get():getTargetApi();
        if l_RoactInspectorApi_0.isInstance(v24) then
            v24:setProfileSearchTerm(v23);
            v24:getProfileData();
        end;
    end;
    v22.onViewComponent = function()
        local v25 = v22.props.Inspector:get():getTargetApi();
        local v26 = v22:getSelectedPath();
        if not (not l_RoactInspectorApi_0.isInstance(v25) or not v26) then
            v25:openPath(v26);
        end;
    end;
    v22.onClearTable = function()
        local v27 = v22.props.Inspector:get():getTargetApi();
        if l_RoactInspectorApi_0.isInstance(v27) then
            v27:clearProfileData();
        end;
        v22.props.clearTable();
    end;
    v22.onToggleFilter = function()
        local v28 = #v22.props.Filter > 0 and {} or {
            "Consumer",
            "Provider",
            "RoduxConnection"
        };
        v22.props.setProfileFilter(v28);
        local v29 = v22.props.Inspector:get():getTargetApi();
        if l_RoactInspectorApi_0.isInstance(v29) then
            v29:setProfileFilter(v28);
            v29:getProfileData();
        end;
    end;
end;
v21.getSelectedPath = function(v30)
    local l_TableData_0 = v30.props.TableData;
    if l_TableData_0.selectedRow then
        local v32 = l_TableData_0.pageRows[l_TableData_0.selectedRow - (l_TableData_0.pageIndex - 1) * l_TableData_0.pageSize];
        return not not v32 and v32.path or nil;
    else
        return nil;
    end;
end;
v21.render = function(v33)
    local l_Stylizer_0 = v33.props.Stylizer;
    return v1.createElement(l_Pane_0, {
        Layout = Enum.FillDirection.Horizontal
    }, {
        Left = v1.createElement(l_Pane_0, {
            Size = UDim2.fromScale(0.5, 1),
            LayoutOrder = 1,
            Layout = Enum.FillDirection.Vertical
        }, {
            Tools = v1.createElement(l_Pane_0, {
                Padding = l_Stylizer_0.Padding,
                LayoutOrder = 1,
                Layout = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                Size = UDim2.new(1, 0, 0, 32)
            }, {
                Search = v1.createElement(l_SearchBar_0, {
                    LayoutOrder = 1,
                    ShowSearchIcon = true,
                    ShowSearchButton = false,
                    OnTextChanged = v33.onSearchTable,
                    Width = 300
                }),
                Filter = v1.createElement(l_Button_0, {
                    Style = #v33.props.Filter > 0 and "RoundPrimary" or "RoundSubtle",
                    Size = UDim2.new(0, l_Stylizer_0.ButtonSize, 1, 0),
                    LayoutOrder = 2,
                    OnClick = v33.onToggleFilter
                }, {
                    Tooltip = v1.createElement(l_Tooltip_0, {
                        Text = "Exclude higher-order components"
                    }),
                    Icon = v1.createElement(l_Image_0, {
                        Size = UDim2.fromOffset(l_Stylizer_0.IconSize, l_Stylizer_0.IconSize),
                        Position = UDim2.fromScale(0.5, 0.5),
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        Image = "rbxasset://textures/DeveloperInspector/Filter.png"
                    })
                }),
                Clear = v1.createElement(l_Button_0, {
                    Style = "RoundSubtle",
                    Size = UDim2.new(0, l_Stylizer_0.ButtonSize, 1, 0),
                    LayoutOrder = 3,
                    OnClick = v33.onClearTable
                }, {
                    Tooltip = v1.createElement(l_Tooltip_0, {
                        Text = "Clear the table"
                    }),
                    Icon = v1.createElement(l_Image_0, {
                        Size = UDim2.fromOffset(l_Stylizer_0.IconSize, l_Stylizer_0.IconSize),
                        Position = UDim2.fromScale(0.5, 0.5),
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        Image = "rbxasset://textures/DeveloperInspector/Bin.png"
                    })
                })
            }),
            Table = v1.createElement(l_Pane_0, {
                Padding = l_Stylizer_0.Padding,
                LayoutOrder = 2,
                Size = UDim2.new(1, 0, 1, -32)
            }, {
                Child = v1.createElement(v6)
            })
        }),
        Right = v1.createElement(l_Pane_0, {
            Size = UDim2.fromScale(0.5, 1),
            LayoutOrder = 2,
            Layout = Enum.FillDirection.Vertical
        }, {
            Tools = v1.createElement(l_Pane_0, {
                Padding = l_Stylizer_0.Padding,
                LayoutOrder = 1,
                Layout = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Right,
                Size = UDim2.new(1, 0, 0, 32)
            }, {
                View = v1.createElement(l_Button_0, {
                    Style = "Round",
                    Text = "View Component",
                    Size = UDim2.new(0, 130, 1, 0),
                    OnClick = v33.onViewComponent,
                    StyleModifier = v33:getSelectedPath() == nil and l_StyleModifier_0.Disabled or nil
                })
            }),
            Table = v1.createElement(l_Pane_0, {
                Padding = l_Stylizer_0.Padding,
                LayoutOrder = 2,
                Size = UDim2.new(1, 0, 1, -32)
            }, {
                Child = v1.createElement(v5)
            })
        })
    });
end;
return v2.connect(function(v35)
    return {
        Tabs = v35.Targets.tabs,
        TableData = v35.RoactInspector.profileComponents,
        SearchTerm = v35.RoactInspector.profileSearchTerm,
        Filter = v35.RoactInspector.profileFilter
    };
end, function(v36)
    return {
        clearTable = function()
            v36(v9());
        end,
        setProfileSearchTerm = function(v37)
            v36(v10(v37));
        end,
        setProfileFilter = function(v38)
            v36(v11(v38));
        end
    };
end)((l_withContext_0({
    Inspector = v4,
    Stylizer = l_ContextServices_0.Stylizer
})(v21)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local v4 = require(l_Parent_0.Src.Util.InspectorContext);
local v5 = require(l_Parent_0.Packages.Dash);
local l_values_0 = v5.values;
local l_keys_0 = v5.keys;
local l_withContext_0 = v3.ContextServices.withContext;
local l_InstanceTreeView_0 = v3.UI.InstanceTreeView;
local l_Actions_0 = l_Parent_0.Src.Actions;
local v11 = require(l_Actions_0.SelectTarget);
local v12 = require(l_Actions_0.ToggleTarget);
local v13 = v1.PureComponent:extend("TargetTree");
local l_UserInputService_0 = game:GetService("UserInputService");
v13.init = function(v15)
    v15.onSelectTarget = function(v16)
        local v17 = v15:getTargetFromChange(v16);
        if v17 then
            v15.props.Inspector:get():attachRoactTree(v17.BridgeId, v17.Id):getRoot();
            v15.props.selectTarget(v17);
            l_UserInputService_0.MouseIconEnabled = true;
            return ;
        else
            return ;
        end;
    end;
end;
v13.getTargetFromChange = function(_, v19)
    local v20 = l_keys_0(v19)[1];
    if not v20.BridgeId then
        return nil;
    else
        return v20;
    end;
end;
v13.render = function(v21)
    local l_props_0 = v21.props;
    return v1.createElement(l_InstanceTreeView_0, {
        Instances = l_values_0(l_props_0.Instances),
        Expansion = l_props_0.Expansion,
        Selection = {},
        OnExpansionChange = l_props_0.toggleTarget,
        OnSelectionChange = v21.onSelectTarget,
        Size = UDim2.new(1, 0, 1, 0),
        Style = "BorderBox"
    });
end;
return v2.connect(function(v23, _)
    return {
        Instances = v23.Targets.targets,
        Expansion = v23.Targets.expandedTargets
    };
end, function(v25)
    return {
        selectTarget = function(v26)
            v25(v11(v26));
        end,
        toggleTarget = function(v27)
            v25(v12(v27));
        end
    };
end)((l_withContext_0({
    Inspector = v4
})(v13)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local v4 = require(l_Parent_0.Src.Util.InspectorContext);
local l_Actions_0 = l_Parent_0.Src.Actions;
local v6 = require(l_Actions_0.CloseTarget);
local v7 = require(l_Actions_0.RoactInspector.SetPicking);
local v8 = require(l_Actions_0.RoactInspector.SetProfiling);
local v9 = require(l_Actions_0.RoactInspector.Reset);
local v10 = require(l_Actions_0.SetTab);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_UI_0 = v3.UI;
local l_Pane_0 = l_UI_0.Pane;
local l_Tabs_0 = l_UI_0.Tabs;
local l_Tooltip_0 = l_UI_0.Tooltip;
local l_Button_0 = l_UI_0.Button;
local l_Image_0 = l_UI_0.Image;
local l_TextLabel_0 = l_UI_0.TextLabel;
local l_RoactInspectorApi_0 = v3.DeveloperTools.RoactInspectorApi;
local v21 = v1.PureComponent:extend("TopBar");
v21.init = function(v22)
    v22.closeTarget = function()
        v22.props.Inspector:get():closeTargetApi();
        v22.props.closeTarget();
        if v22.props.IsProfiling then
            v22.toggleProfiling();
        end;
    end;
    v22.togglePicking = function()
        local v23 = not v22.props.IsPicking;
        local v24 = v22.props.Inspector:get():getTargetApi();
        if l_RoactInspectorApi_0.isInstance(v24) then
            v24:setPicking(v23);
        end;
        v22.props.setPicking(v23);
    end;
    v22.toggleProfiling = function()
        local v25 = not v22.props.IsProfiling;
        local v26 = v22.props.Inspector:get():getTargetApi();
        if l_RoactInspectorApi_0.isInstance(v26) then
            v26:setProfiling(v25);
        end;
        v22.props.setProfiling(v25);
        if v25 then
            v22.props.selectTab(v22.props.Tabs[2]);
        end;
    end;
end;
v21.didUpdate = function(v27)
    if not v27.props.Active then
        v27.closeTarget();
    end;
end;
v21.didMount = function(v28)
    local v29 = v28.props.PluginActions:get("ToggleProfileRoact");
    v29.Enabled = true;
    v28.toggleProfileConnection = v29.Triggered:Connect(v28.toggleProfiling);
end;
v21.willUnmount = function(v30)
    if v30.props.Active then
        v30.closeTarget();
    end;
    v30.props.PluginActions:get("ToggleProfileRoact").Enabled = false;
    v30.toggleProfileConnection:Disconnect();
end;
v21.render = function(v31)
    local l_props_0 = v31.props;
    local l_Stylizer_0 = l_props_0.Stylizer;
    return v1.createElement(l_Pane_0, {
        Size = UDim2.new(1, 0, 0, l_Stylizer_0.HeaderHeight),
        Style = "SubtleBox",
        BorderColor3 = l_Stylizer_0.HeaderBorderColor,
        BorderSizePixel = 1
    }, {
        Inspect = v1.createElement(l_Button_0, {
            Style = not l_props_0.IsPicking and "RoundSubtle" or "RoundPrimary",
            Position = UDim2.fromOffset(l_Stylizer_0.Padding, 0),
            Size = UDim2.fromOffset(l_Stylizer_0.ButtonSize, l_Stylizer_0.ButtonSize),
            LayoutOrder = 1,
            OnClick = v31.togglePicking
        }, {
            Tooltip = v1.createElement(l_Tooltip_0, {
                Text = "Inspect a UI element"
            }),
            Icon = v1.createElement(l_Image_0, {
                Size = UDim2.fromOffset(l_Stylizer_0.IconSize, l_Stylizer_0.IconSize),
                Position = UDim2.fromScale(0.5, 0.5),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Image = "rbxasset://textures/DeveloperInspector/Inspect.png"
            })
        }),
        Profile = v1.createElement(l_Button_0, {
            Style = not l_props_0.IsProfiling and "RoundSubtle" or "RoundPrimary",
            Position = UDim2.fromOffset(l_Stylizer_0.ButtonSize + l_Stylizer_0.Padding * 2, 0),
            Size = UDim2.fromOffset(l_Stylizer_0.ButtonSize, l_Stylizer_0.ButtonSize),
            LayoutOrder = 2,
            OnClick = v31.toggleProfiling
        }, {
            Tooltip = v1.createElement(l_Tooltip_0, {
                Text = "Profile a Roact tree (Ctrl+Shift+R)"
            }),
            Icon = v1.createElement(l_Image_0, {
                Size = UDim2.fromOffset(l_Stylizer_0.IconSize, l_Stylizer_0.IconSize),
                Position = UDim2.fromScale(0.5, 0.5),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Image = "rbxasset://textures/DeveloperInspector/Record.png"
            })
        }),
        Tabs = v1.createElement(l_Pane_0, {
            Position = UDim2.fromOffset(l_Stylizer_0.ButtonSize * 2 + l_Stylizer_0.Padding * 3, l_Stylizer_0.Padding),
            LayoutOrder = 3
        }, {
            Child = v1.createElement(l_Tabs_0, {
                OnTabSelected = v31.props.selectTab,
                SelectedTab = l_props_0.SelectedTab,
                Tabs = l_props_0.Tabs
            })
        }),
        Right = v1.createElement(l_Pane_0, {
            Layout = Enum.FillDirection.Horizontal,
            Spacing = l_Stylizer_0.Padding,
            AnchorPoint = Vector2.new(1, 0),
            Position = UDim2.fromScale(1, 0),
            AutomaticSize = Enum.AutomaticSize.XY
        }, {
            TargetName = v1.createElement(l_TextLabel_0, {
                AutomaticSize = Enum.AutomaticSize.XY,
                Text = l_props_0.SelectedTarget.Name,
                LayoutOrder = 1,
                TextXAlignment = Enum.TextXAlignment.Right
            }),
            Close = v1.createElement(l_Button_0, {
                Style = "RoundSubtle",
                Position = UDim2.fromScale(1, 0),
                Size = UDim2.fromOffset(l_Stylizer_0.ButtonSize, l_Stylizer_0.ButtonSize),
                AnchorPoint = Vector2.new(1, 0),
                LayoutOrder = 4,
                OnClick = v31.closeTarget
            }, {
                Tooltip = v1.createElement(l_Tooltip_0, {
                    Text = "Close this Roact tree"
                }),
                Icon = v1.createElement(l_Image_0, {
                    Size = UDim2.fromOffset(l_Stylizer_0.IconSize, l_Stylizer_0.IconSize),
                    Position = UDim2.fromScale(0.5, 0.5),
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    Image = "rbxasset://textures/DeveloperInspector/Close.png"
                })
            })
        })
    });
end;
return v2.connect(function(v34)
    return {
        Tabs = v34.Targets.tabs,
        SelectedTab = v34.Targets.selectedTab,
        SelectedTarget = v34.Targets.selectedTarget,
        IsPicking = v34.RoactInspector.isPicking,
        IsProfiling = v34.RoactInspector.isProfiling
    };
end, function(v35)
    return {
        selectTab = function(v36)
            v35(v10(v36));
        end,
        setPicking = function(v37)
            v35(v7(v37));
        end,
        setProfiling = function(v38)
            v35(v8(v38));
        end,
        closeTarget = function()
            v35(v6());
            v35(v9());
        end
    };
end)((l_withContext_0({
    PluginActions = l_ContextServices_0.PluginActions,
    Stylizer = l_ContextServices_0.Stylizer,
    Inspector = v4
})(v21)));


local l_StyleKey_0 = require(script.Parent.Parent.Parent.Parent.Packages.Framework).Style.StyleKey;
return {
    Padding = 2,
    HeaderHeight = 33,
    ButtonSize = 32,
    IconSize = 24,
    HeaderBorderColor = l_StyleKey_0.Border,
    SelectedIconColor = l_StyleKey_0.DialogMainButton,
    IconColor = l_StyleKey_0.MainText
};


local l_StudioFixPluginWidgetLocalizedIds_0 = game:GetFastFlag("StudioFixPluginWidgetLocalizedIds");
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Packages.Roact);
local v3 = require(l_Parent_0.Packages.Rodux);
local v4 = require(l_Parent_0.Packages.Framework);
local l_UI_0 = v4.UI;
local l_DockWidget_0 = l_UI_0.DockWidget;
local l_PluginButton_0 = l_UI_0.PluginButton;
local l_PluginToolbar_0 = l_UI_0.PluginToolbar;
local l_ContextServices_0 = v4.ContextServices;
local l_Plugin_0 = l_ContextServices_0.Plugin;
local l_Mouse_0 = l_ContextServices_0.Mouse;
local l_Store_0 = l_ContextServices_0.Store;
local l_PluginActions_0 = l_ContextServices_0.PluginActions;
local v14 = require(l_Parent_0.Src.Reducers.MainReducer);
local v15 = require(l_Parent_0.Src.Resources.MakeTheme);
local l_SourceStrings_0 = l_Parent_0.Src.Resources.Localization.SourceStrings;
local l_LocalizedStrings_0 = l_Parent_0.Src.Resources.Localization.LocalizedStrings;
local l_Components_0 = l_Parent_0.Src.Components;
local v19 = require(l_Components_0.InspectorProvider);
local v20 = require(l_Components_0.MainView);
local v21 = v2.PureComponent:extend("MainPlugin");
v21.init = function(v22)
    v22.state = {
        enabled = false
    };
    v22.toggleEnabled = function()
        v22:setState(function(v23)
            return {
                enabled = not v23.enabled
            };
        end);
    end;
    v22.onClose = function()
        v22:setState({
            enabled = false
        });
    end;
    v22.onRestore = function(v24)
        v22:setState({
            enabled = v24
        });
    end;
    v22.onWidgetEnabledChanged = function(v25)
        v22:setState({
            enabled = v25.Enabled
        });
    end;
    v22.store = v3.Store.new(v14, nil, {
        v3.thunkMiddleware
    });
    v22.localization = l_ContextServices_0.Localization.new({
        stringResourceTable = l_SourceStrings_0,
        translationResourceTable = l_LocalizedStrings_0,
        pluginName = "DeveloperInspector",
        libraries = {
            [v4.Resources.LOCALIZATION_PROJECT_NAME] = {
                stringResourceTable = v4.Resources.SourceStrings,
                translationResourceTable = v4.Resources.LocalizedStrings
            }
        }
    });
    v22.pluginActions = l_PluginActions_0.new(v22.props.Plugin, {
        ToggleProfileRoact = {
            id = "ToggleProfileRoact",
            text = "Toggle Roact Profiler",
            defaultShortcut = "Ctrl+Shift+R",
            allowBinding = false
        }
    });
end;
v21.renderButtons = function(v26, v27)
    return {
        Toggle = v2.createElement(l_PluginButton_0, {
            Toolbar = v27,
            Active = v26.state.enabled,
            Title = v26.localization:getText("Plugin", "Button"),
            Tooltip = v26.localization:getText("Plugin", "Description"),
            Icon = "rbxasset://textures/DeveloperInspector/ToolbarIcon.png",
            OnClick = v26.toggleEnabled,
            ClickableWhenViewportHidden = true
        })
    };
end;
v21.render = function(v28)
    local l_props_0 = v28.props;
    local l_state_0 = v28.state;
    local l_Plugin_1 = l_props_0.Plugin;
    local l_enabled_0 = l_state_0.enabled;
    return l_ContextServices_0.provide({
        l_Plugin_0.new(l_Plugin_1),
        l_Store_0.new(v28.store),
        l_Mouse_0.new(l_Plugin_1:getMouse()),
        v15(),
        v28.pluginActions,
        v28.localization
    }, {
        Toolbar = v2.createElement(l_PluginToolbar_0, {
            Title = v28.localization:getText("Plugin", "Toolbar"),
            RenderButtons = function(v33)
                return v28:renderButtons(v33);
            end
        }),
        MainWidget = v2.createElement(l_DockWidget_0, {
            Id = if not l_StudioFixPluginWidgetLocalizedIds_0 then nil else "DeveloperInspector",
            Enabled = l_enabled_0,
            Title = v28.localization:getText("Plugin", "Name"),
            ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
            InitialDockState = Enum.InitialDockState.Bottom,
            Size = Vector2.new(640, 480),
            MinSize = Vector2.new(250, 200),
            OnClose = v28.onClose,
            ShouldRestore = true,
            OnWidgetRestored = v28.onRestore
        }, {
            InspectorProvider = v2.createElement(v19, {
                Active = l_enabled_0
            }, {
                MainView = v2.createElement(v20, {
                    Active = l_enabled_0
                })
            })
        })
    });
end;
return v21;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.Rodux);
local v3 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v3.ContextServices;
local l_MockPlugin_0 = v3.TestHelpers.Instances.MockPlugin;
local v6 = require(l_Parent_0.Src.Reducers.MainReducer);
local v7 = require(l_Parent_0.Src.Resources.MakeTheme);
local v8 = v1.PureComponent:extend("MockProvider");
v8.createMocks = function()
    local v9 = l_MockPlugin_0.new();
    return {
        plugin = v9,
        mouse = v9:GetMouse(),
        store = v2.Store.new(v6),
        theme = v7(true)
    };
end;
v8.createMockContextItems = function(v10)
    return {
        plugin = l_ContextServices_0.Plugin.new(v10.plugin),
        mouse = l_ContextServices_0.Mouse.new(v10.mouse),
        store = l_ContextServices_0.Store.new(v10.store),
        analytics = l_ContextServices_0.Analytics.mock()
    };
end;
v8.cleanupMocks = function(v11, v12)
    v12.theme:destroy();
    v11.store:destruct();
    v11.plugin:Destroy();
end;
v8.init = function(v13)
    v13.mocks = v8.createMocks();
    v13.mockItems = v8.createMockContextItems(v13.mocks);
end;
v8.render = function(v14)
    return l_ContextServices_0.provide({
        v14.mockItems.plugin,
        v14.mockItems.mouse,
        v14.mockItems.store,
        v14.mockItems.theme,
        v14.mockItems.analytics
    }, {
        WrappedComponent = v1.createElement("Frame", nil, v14.props[v1.Children])
    });
end;
v8.createElementWithMockContext = function(v15, v16, v17)
    local v18 = true;
    if type(v15) ~= "function" then
        v18 = false;
        if type(v15) == "table" then
            v18 = type(v15.render) == "function";
        end;
    end;
    assert(v18, "MockWrapper.createElementWithMockContext passed invalid component");
    return v1.createElement(v8, {
        MyComponent = v1.createElement(v15, v16, v17)
    });
end;
mockWrap = function(v19, v20, v21)
    return v8.createElementWithMockContext(v19, v20, v21);
end;
return mockWrap;


return require(script.Parent.Parent.Parent.Packages.Rodux).combineReducers({
    Targets = require(script.Parent.TargetReducer),
    RoactInspector = require(script.Parent.RoactInspectorReducer)
});


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Rodux);
local v2 = require(l_Parent_0.Packages.Dash);
local l_collectSet_0 = v2.collectSet;
local l_forEach_0 = v2.forEach;
local l_pick_0 = v2.pick;
local l_join_0 = v2.join;
local l_joinDeep_0 = v2.joinDeep;
local l_keys_0 = v2.keys;
local l_find_0 = v2.find;
local l_shallowEqual_0 = v2.shallowEqual;
local l_Actions_0 = l_Parent_0.Src.Actions;
local v12 = require(l_Actions_0.RoactInspector.UpdateInstances);
local v13 = require(l_Actions_0.RoactInspector.SelectInstance);
local v14 = require(l_Actions_0.RoactInspector.ToggleInstance);
local v15 = require(l_Actions_0.RoactInspector.SelectNode);
local v16 = require(l_Actions_0.RoactInspector.PickInstance);
local v17 = require(l_Actions_0.RoactInspector.UpdateBranch);
local v18 = require(l_Actions_0.RoactInspector.UpdateFields);
local v19 = require(l_Actions_0.RoactInspector.Reset);
local v20 = require(l_Actions_0.RoactInspector.SelectField);
local v21 = require(l_Actions_0.RoactInspector.ToggleField);
local v22 = require(l_Actions_0.RoactInspector.SetPicking);
local v23 = require(l_Actions_0.RoactInspector.SetProfiling);
local v24 = require(l_Actions_0.RoactInspector.ClearProfileData);
local v25 = require(l_Actions_0.RoactInspector.SortProfileData);
local v26 = require(l_Actions_0.RoactInspector.UpdateProfileData);
local v27 = require(l_Actions_0.RoactInspector.SetProfilePageIndex);
local v28 = require(l_Actions_0.RoactInspector.SetProfileFilter);
local v29 = require(l_Actions_0.RoactInspector.SetProfileSearchTerm);
local v30 = require(l_Actions_0.RoactInspector.SetProfilePageSize);
local v31 = require(l_Actions_0.RoactInspector.SelectProfileRow);
local v32 = require(l_Parent_0.Src.Util.updateTree);
local function v33()
    return {
        Children = {
            props = {
                Name = "props",
                Path = {
                    "props"
                },
                Children = {}
            },
            state = {
                Name = "state",
                Path = {
                    "state"
                },
                Children = {}
            },
            _context = {
                Name = "_context",
                Path = {
                    "_context"
                },
                Children = {}
            }
        }
    };
end;
local function v34()
    return {
        rootInstance = {},
        flashInstances = {},
        selectedInstances = {},
        expandedInstances = {},
        nodes = {},
        selectedPath = {},
        selectedNodeIndex = 0,
        fields = v33(),
        selectedFields = {},
        expandedFields = {},
        isPicking = false,
        profileData = {
            eventCount = 0,
            instanceEventCount = 0,
            rowCount = 0,
            cached = false
        },
        profileSearchTerm = "",
        profileFilter = {},
        profileComponents = {
            pageRows = {},
            sortIndex = nil,
            sortOrder = nil,
            pageSize = 1,
            pageIndex = 1,
            selectedRow = nil
        },
        profileEvents = {
            pageRows = {},
            sortIndex = nil,
            sortOrder = nil,
            pageSize = 1,
            pageIndex = 1
        }
    };
end;
local function v37(v35, v36)
    return l_join_0(v35, v36, {
        profileData = l_join_0(v35.profileData, {
            cached = false
        })
    });
end;
return v1.createReducer(v34(), {
    [v19.name] = function(_, _)
        return (v34());
    end,
    [v17.name] = function(v40, v41)
        if not l_shallowEqual_0(v41.path, v40.selectedPath) then
            return v40;
        else
            return l_join_0(v40, {
                nodes = v41.branch
            });
        end;
    end,
    [v15.name] = function(v42, v43)
        return l_join_0(v42, {
            selectedNodeIndex = v43.nodeIndex,
            fields = v33(),
            selectedFields = {},
            expandedFields = {}
        });
    end,
    [v12.name] = function(v44, v45)
        local v48 = l_pick_0(v44.flashInstances, function(v46, _)
            return os.clock() - 1 < v46.time;
        end);
        if v45.updatedIndexes and #v45.updatedIndexes > 0 then
            local v51 = l_find_0(v48, function(_, v50)
                return l_shallowEqual_0(v50, v45.path);
            end);
            local v52 = l_collectSet_0(v45.updatedIndexes);
            if not v51 then
                v48[v45.path] = {
                    time = os.clock(),
                    heat = 0,
                    indexSet = v52
                };
            else
                v51.heat = v51.heat + 1;
                v51.time = os.clock();
                v51.indexSet = v52;
            end;
        end;
        local v53 = v32({
            root = v44.rootInstance,
            selected = v44.selectedInstances,
            expanded = v44.expandedInstances,
            children = v45.children,
            path = v45.path
        });
        return l_join_0(v44, {
            rootInstance = v53.root,
            selectedInstances = v53.selected,
            expandedInstances = v53.expanded,
            flashInstances = v48
        });
    end,
    [v13.name] = function(v54, v55)
        local v56 = l_keys_0(v55.change)[1];
        return l_join_0(v54, {
            fields = v33(),
            expandedFields = {},
            selectedFields = {},
            selectedInstances = v55.change,
            selectedPath = v56 and v56.Path,
            nodes = {},
            selectedNodeIndex = 0
        });
    end,
    [v14.name] = function(v57, v58)
        return l_joinDeep_0(v57, {
            expandedInstances = v58.change
        });
    end,
    [v16.name] = function(v59, v60)
        local v61 = {};
        local l_rootInstance_0 = v59.rootInstance;
        l_forEach_0(v60.path, function(v63)
            if l_rootInstance_0 then
                l_rootInstance_0 = l_rootInstance_0.Children and l_rootInstance_0.Children[v63];
                if l_rootInstance_0 then
                    v61[l_rootInstance_0] = true;
                end;
            end;
        end);
        local v64 = {};
        if l_rootInstance_0 then
            v64[l_rootInstance_0] = true;
        end;
        return l_join_0(v59, {
            selectedPath = v60.path,
            selectedInstances = v64,
            expandedInstances = l_join_0(v59.expandedInstances, v61),
            isPicking = false
        });
    end,
    [v18.name] = function(v65, v66)
        if l_shallowEqual_0(v66.path, v65.selectedPath) and v66.nodeIndex == v65.selectedNodeIndex then
            local v67 = v32({
                root = v65.fields,
                selected = v65.selectedFields,
                expanded = v65.expandedFields,
                children = v66.fields,
                path = v66.fieldPath
            });
            return l_join_0(v65, {
                fields = v67.root,
                selectedFields = v67.selected,
                expandedFields = v67.expanded
            });
        else
            return v65;
        end;
    end,
    [v20.name] = function(v68, v69)
        return l_join_0(v68, {
            selectedFields = v69.change
        });
    end,
    [v21.name] = function(v70, v71)
        return l_joinDeep_0(v70, {
            expandedFields = v71.change
        });
    end,
    [v22.name] = function(v72, v73)
        return l_joinDeep_0(v72, {
            isPicking = v73.isPicking
        });
    end,
    [v23.name] = function(v74, v75)
        return l_joinDeep_0(v74, {
            isProfiling = v75.isProfiling
        });
    end,
    [v24.name] = function(v76)
        local v77 = v34();
        return l_join_0(v76, {
            profileData = v77.profileData,
            profileComponents = v77.profileComponents,
            profileEvents = v77.profileEvents
        });
    end,
    [v26.name] = function(v78, v79)
        if v78.profileData.cached and v79.data.eventCount == v78.profileData.eventCount then
            return v78;
        else
            return l_join_0(v78, {
                profileData = l_join_0(v78.profileData, {
                    eventCount = v79.data.eventCount,
                    rowCount = v79.data.rowCount,
                    instanceEventCount = v79.data.instanceEventCount,
                    cached = true
                }),
                profileComponents = l_join_0(v78.profileComponents, {
                    rowCount = v79.data.rowCount,
                    pageRows = v79.data.componentRows
                }),
                profileEvents = l_join_0(v78.profileEvents, {
                    pageRows = v79.data.eventRows
                })
            });
        end;
    end,
    [v25.name] = function(v80, v81)
        return v37(v80, {
            [v81.tableName] = l_join_0(v80[v81.tableName], {
                sortIndex = v81.sortIndex,
                sortOrder = v81.sortOrder
            })
        });
    end,
    [v27.name] = function(v82, v83)
        return v37(v82, {
            [v83.tableName] = l_join_0(v82[v83.tableName], {
                pageIndex = v83.pageIndex
            })
        });
    end,
    [v30.name] = function(v84, v85)
        return v37(v84, {
            [v85.tableName] = l_join_0(v84[v85.tableName], {
                pageSize = v85.pageSize
            })
        });
    end,
    [v31.name] = function(v86, v87)
        return v37(v86, {
            profileEvents = l_join_0(v86.profileEvents, {
                pageIndex = 1
            }),
            profileComponents = l_join_0(v86.profileComponents, {
                selectedRow = v87.selectedRow
            })
        });
    end,
    [v29.name] = function(v88, v89)
        return v37(v88, {
            profileSearchTerm = v89.searchTerm
        });
    end,
    [v28.name] = function(v90, v91)
        return v37(v90, {
            profileFilter = v91.filter
        });
    end,
    [v31.name] = function(v92, v93)
        return v37(v92, {
            profileEvents = l_join_0(v92.profileEvents, {
                pageIndex = 1
            }),
            profileComponents = l_join_0(v92.profileComponents, {
                selectedRow = v93.selectedRow
            })
        });
    end
});