local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local v2 = require(l_Parent_0.Packages.Framework);
local l_UI_0 = v2.UI;
local l_Breadcrumb_0 = l_UI_0.Breadcrumb;
local l_Pane_0 = l_UI_0.Pane;
local l_RadioButton_0 = l_UI_0.RadioButton;
local l_joinTags_0 = v2.Styling.joinTags;
return function(v8)
    local l_Schema_0 = v8.Schema;
    return v1.createElement(l_Pane_0, {
        [v1.Tag] = l_joinTags_0(v8[v1.Tag], "X-Middle X-Row")
    }, {
        Label = v1.createElement(l_Breadcrumb_0, {
            Editing = v8.Editing or l_Schema_0 and l_Schema_0.Editing,
            LayoutOrder = 1,
            OnPressed = v8.OnPressed,
            OnDoubleClick = v8.OnDoubleClick,
            OnEdited = v8.OnChanged,
            Text = v8.Value.Name,
            [v1.Tag] = "BreadcrumbRadioSize"
        }),
        Radio = v1.createElement(l_RadioButton_0, {
            LayoutOrder = 2,
            Key = v8.Value:GetDebugId(),
            OnClick = function(_)
                v8.OnClick(v8.Value);
            end,
            Selected = v8.Selected,
            Text = "Active"
        })
    });
end;


return function()
    local v0 = {};
    for v1 = 1, 1032 do
        local v2 = BrickColor.new(v1);
        if v2 then
            v0[v2.Number] = v2;
        end;
    end;
    local v3 = {};
    for _, v5 in v0, nil, nil do
        table.insert(v3, v5);
    end;
    return v3;
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useState_0 = v1.useState;
local l_useEffect_0 = v1.useEffect;
local l_useRef_0 = v1.useRef;
local v5 = require(l_Parent_0.Packages.Framework);
local l_IconButton_0 = v5.UI.IconButton;
local l_Pane_0 = v5.UI.Pane;
local l_TextInput_0 = v5.UI.TextInput;
local l_TextLabel_0 = v5.UI.TextLabel;
local v10 = require(l_Parent_0.Packages.Dash);
local l_map_0 = v10.map;
local l_filter_0 = v10.filter;
local v13 = require(script.getAllBrickColors);
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
local _ = require(l_Parent_0.Src.Types);
local v17 = l_map_0(v13(), function(v16)
    return {
        Value = v16.Name,
        BrickColor = v16,
        NameLower = v16.Name:lower()
    };
end);
local function v21(v18)
    local v19 = v18:lower();
    return l_filter_0(v17, function(v20)
        return v20.NameLower:match(v19);
    end);
end;
local function v25(v22)
    if typeof(v22) == "BrickColor" then
        return v22;
    elseif typeof(v22) == "Color3" then
        return BrickColor.new(v22);
    elseif typeof(v22) == "string" then
        local l_status_0, l_result_0 = pcall(function()
            return Color3.fromHex(v22);
        end);
        if not l_status_0 then
            return BrickColor.new(v22);
        else
            return BrickColor.new(l_result_0);
        end;
    else
        return nil;
    end;
end;
return function(v26)
    local v27 = l_useRef_0(nil);
    local v28, v29 = l_useState_0(nil);
    local function v30()
        if v27.current then
            v27.current:CaptureFocus();
        end;
    end;
    local function v32(v31)
        v29(v31);
    end;
    local function v33()
        v29(nil);
    end;
    local function v37(v34, _)
        if v28 ~= nil then
            local v36 = v25(v34);
            if v36 and v36 ~= v26.Value then
                v26.OnChanged(v36);
            end;
        end;
        v29(nil);
    end;
    l_useEffect_0(function()
        v29(nil);
    end, {
        v26.Schema,
        v26.Value
    });
    local function v39(v38)
        return v21(v38);
    end;
    local v40 = nil;
    local v41 = nil;
    if not v28 then
        local v42 = v25(v26.Value) or v26.Schema.GetDefaultValue();
        v40 = v42.Color;
        v41 = v42.Name;
    else
        local v43 = v25(v28);
        v40 = not not v43 and v43.Color or nil;
        v41 = v28;
    end;
    return v1.createElement(l_Pane_0, {}, {
        Input = v1.createElement(l_TextInput_0, {
            Disabled = v26.Disabled,
            LeadingComponent = l_IconButton_0,
            LeadingComponentProps = {
                BackgroundColor = v40,
                Cursor = "PointingHand",
                OnClick = v30,
                [v1.Tag] = "Icon16"
            },
            ForwardRef = v27,
            OnTextChanged = v32,
            OnFocused = v33,
            OnFocusLost = v37,
            Size = if not v26.AutomaticSize then UDim2.fromScale(1, 1) else UDim2.new(1, 0, 0, v26.MinimumHeight or 24),
            Text = v41,
            GetAutocompleteItems = v39,
            OnRenderAutocompleteItem = function(v44, v45, v46, _)
                return v1.createElement(l_Pane_0, {
                    key = v44.NameLower,
                    LayoutOrder = v45,
                    OnPress = v46,
                    [v1.Tag] = "X-Pad X-RowM X-Middle DropdownItem"
                }, {
                    Preview = v1.createElement(l_Pane_0, {
                        BackgroundColor3 = v44.BrickColor.Color,
                        LayoutOrder = 1,
                        [v1.Tag] = "X-Corner Icon16"
                    }, {}),
                    Text = v1.createElement(l_TextLabel_0, {
                        LayoutOrder = 2,
                        Text = v44.BrickColor.Name,
                        [v1.Tag] = "TextXAlignLeft"
                    }, {})
                });
            end
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useState_0 = v1.useState;
local l_useRef_0 = v1.useRef;
local l_useEffect_0 = v1.useEffect;
local v5 = require(l_Parent_0.Packages.Framework);
local l_ColorPicker_0 = v5.UI.ColorPicker;
local l_IconButton_0 = v5.UI.IconButton;
local l_Pane_0 = v5.UI.Pane;
local l_TextInput_0 = v5.UI.TextInput;
local v10 = require(l_Parent_0.Src.Util.colorFromString);
local v11 = require(l_Parent_0.Src.Renderers.Modal);
local _ = require(l_Parent_0.Src.Types);
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
local l_Attribute_0 = require(l_Parent_0.Src.Resources.PluginStyles):GetAttribute("Icon16");
local function _(v15)
    local l_status_0, l_result_0 = pcall(function()
        return v15:ToHex();
    end);
    if not l_status_0 then
        return "#";
    else
        return "#" .. l_result_0;
    end;
end;
return function(v19)
    local v20, v21 = l_useState_0(false);
    local v22, v23 = l_useState_0(nil);
    local l_l_useState_0_0 = l_useState_0;
    local l_Value_0 = v19.Value;
    local l_l_Value_0_0 = l_Value_0 --[[ copy: 7 -> 11 ]];
    local l_status_1, l_result_1 = pcall(function()
        return l_l_Value_0_0:ToHex();
    end);
    local v29;
    l_l_useState_0_0, v29 = l_l_useState_0_0(not l_status_1 and "#" or "#" .. l_result_1);
    l_Value_0 = l_useRef_0(nil);
    l_status_1 = l_useRef_0(tick());
    l_useEffect_0(function()
        local l_v29_0 = v29;
        local l_Value_1 = v19.Value;
        local l_status_2, l_result_2 = pcall(function()
            return l_Value_1:ToHex();
        end);
        l_v29_0(not l_status_2 and "#" or "#" .. l_result_2);
    end, {
        v19.Value
    });
    l_result_1 = function()
        v21(true);
    end;
    local function _()
        v21(false);
    end;
    return v1.createElement(l_Pane_0, {}, {
        Input = v1.createElement(l_TextInput_0, {
            Disabled = v19.Disabled,
            LeadingComponent = l_IconButton_0,
            LeadingComponentProps = {
                BackgroundColor = v19.Value,
                Size = l_Attribute_0,
                OnClick = l_result_1,
                ForwardRef = l_Value_0
            },
            OnFocusLost = function(v35, _)
                local v37 = v10(v35);
                if v37 and v37 ~= v19.Value then
                    v19.OnChanged(v37);
                    return ;
                else
                    local l_v29_1 = v29;
                    local l_Value_2 = v19.Value;
                    local l_status_3, l_result_3 = pcall(function()
                        return l_Value_2:ToHex();
                    end);
                    l_v29_1(not l_status_3 and "#" or "#" .. l_result_3);
                    return ;
                end;
            end,
            OnTextChanged = function(v42)
                local v43 = v10(v42);
                v29(v42);
                if not v43 then
                    v23("Error: invalid color");
                    return ;
                else
                    v23(nil);
                    return ;
                end;
            end,
            Size = if not v19.AutomaticSize then UDim2.fromScale(1, 1) else UDim2.new(1, 0, 0, v19.MinimumHeight or 24),
            Text = l_l_useState_0_0,
            [v1.Tag] = if not (v22 ~= nil) then nil else "PropertyCellError"
        }),
        Modal = v1.createElement(v11, {
            Open = v20,
            MaxSize = Vector2.new(325, 250),
            MinSize = Vector2.new(325, 250),
            ObjectRef = l_Value_0,
            OnFocusLost = function()
                v21(false);
            end
        }, {
            Container = v1.createElement(l_Pane_0, {
                [v1.Tag] = "X-Fit"
            }, {
                ColorPicker = v1.createElement(l_ColorPicker_0, {
                    Size = UDim2.fromOffset(325, 225),
                    Color = v19.Value,
                    OnColorChanged = function(v44)
                        if v44 ~= v19.Value and (l_status_1.current or 0) + 0.05 < tick() then
                            l_status_1.current = tick();
                            v19.OnChanged(v44);
                        end;
                    end
                })
            })
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_UI_0 = require(l_Parent_0.Packages.Framework).UI;
local l_IconButton_0 = l_UI_0.IconButton;
local l_Pane_0 = l_UI_0.Pane;
local l_TextLabel_0 = l_UI_0.TextLabel;
local v6 = require(l_Parent_0.Src.Resources.ModernIcons);
local l_Attribute_0 = require(l_Parent_0.Src.Resources.PluginStyles):GetAttribute("ButtonHeight");
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
return function(v9)
    return v1.createElement(l_Pane_0, {
        Size = v9.Size,
        [v1.Tag] = "DeriveRenderer"
    }, {
        Name = v1.createElement(l_TextLabel_0, {
            Text = v9.Value.Name,
            TextXAlignment = Enum.TextXAlignment.Left
        }),
        XButton = v1.createElement(l_IconButton_0, {
            LeftIcon = v6.close(),
            Cursor = "PointingHand",
            OnClick = function()
                v9.OnClick(v9.Value);
            end,
            [v1.Tag] = "IconOnly",
            Position = UDim2.new(1, -l_Attribute_0, 0, 0)
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.RoactRodux);
local v2 = require(l_Parent_0.Packages.React);
local l_useMemo_0 = v2.useMemo;
local l_collectArray_0 = require(l_Parent_0.Packages.Dash).collectArray;
local l_UI_0 = require(l_Parent_0.Packages.Framework).UI;
local l_Button_0 = l_UI_0.Button;
local l_Select_0 = l_UI_0.PropertyCell.Renderers.Select;
local l_TextLabel_0 = l_UI_0.TextLabel;
local v9 = require(l_Parent_0.Src.Util.sortByLabel);
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
local _ = require(l_Parent_0.Src.Types);
local _ = require(l_Parent_0.Src.Reducers.RootReducer);
local l_Attribute_0 = require(l_Parent_0.Src.Resources.PluginStyles):GetAttribute("PropertyCellSize");
return v1.connect(function(v14)
    return {
        Fonts = v14.Asset.Fonts
    };
end)(function(v15)
    return v2.createElement(l_Select_0, {
        OnChanged = function(v16)
            local l_Value_0 = v15.Value;
            l_Value_0.Family = v16;
            v15.OnChanged(l_Value_0);
        end,
        OnRenderItem = function(v18, v19, v20, _)
            return v2.createElement(l_Button_0, {
                LayoutOrder = v19,
                OnClick = function()
                    v20();
                end,
                Size = l_Attribute_0
            }, {
                Label = v2.createElement(l_TextLabel_0, {
                    RichText = true,
                    Text = ("%*"):format(v18.Id, v18.Label),
                    [v2.Tag] = "X-Fill X-Pad ItemTextSize TextXAlignLeft"
                })
            });
        end,
        PlaceholderText = v15.Value.Family == "rbxasset://fonts/families/LegacyArial.json" and "Arial (Legacy)" or "Font...",
        Schema = {
            Items = l_useMemo_0(function()
                return v9((l_collectArray_0(v15.Fonts, function(_, v23)
                    if v23.AssetId == "rbxasset://fonts/families/LegacyArial.json" then
                        return nil;
                    else
                        return {
                            Id = v23.AssetId,
                            Label = v23.Name,
                            Value = v23.AssetId
                        };
                    end;
                end)));
            end, {
                v15.Fonts
            })
        },
        Value = v15.Value.Family
    });
end);


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.RoactRodux);
local v2 = require(l_Parent_0.Packages.React);
local v3 = require(l_Parent_0.Packages.Framework);
local l_joinTags_0 = v3.Styling.joinTags;
local l_Pane_0 = v3.UI.Pane;
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
local _ = require(l_Parent_0.Src.Types);
local _ = require(l_Parent_0.Src.Reducers.RootReducer);
return v1.connect(function(v9)
    return {
        Fonts = v9.Asset.Fonts
    };
end)(function(v10)
    local l_Value_0 = v10.Value;
    local v12 = l_Value_0.Style == Enum.FontStyle.Italic;
    local l_Bold_0 = l_Value_0.Bold;
    return v2.createElement(l_Pane_0, {
        [v2.Tag] = "X-Middle X-PadS X-RowM"
    }, {
        Bold = v2.createElement(l_Pane_0, {
            [v2.Tag] = not l_Bold_0 and "FontStyle X-Corner X-Stroke" or l_joinTags_0("FontStyle X-Corner X-Stroke", "Selected")
        }, {
            BoldButton = v2.createElement("TextButton", {
                [v2.Event.Activated] = function(_)
                    l_Value_0.Weight = if not l_Bold_0 then Enum.FontWeight.Bold else Enum.FontWeight.Regular;
                    v10.OnChanged(l_Value_0);
                end,
                [v2.Tag] = not l_Bold_0 and "FontStyle ItemTextSize X-Fill" or l_joinTags_0("FontStyle ItemTextSize X-Fill", "Selected")
            })
        }),
        Italic = v2.createElement(l_Pane_0, {
            [v2.Tag] = not v12 and "FontStyle X-Corner X-Stroke" or l_joinTags_0("FontStyle X-Corner X-Stroke", "Selected")
        }, {
            ItalicButton = v2.createElement("TextButton", {
                [v2.Event.Activated] = function(_)
                    l_Value_0.Style = if not v12 then Enum.FontStyle.Italic else Enum.FontStyle.Normal;
                    v10.OnChanged(l_Value_0);
                end,
                [v2.Tag] = not v12 and "FontStyle ItemTextSize X-Fill" or l_joinTags_0("FontStyle ItemTextSize X-Fill", "Selected")
            })
        })
    });
end);


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.RoactRodux);
local v2 = require(l_Parent_0.Packages.React);
local l_useMemo_0 = v2.useMemo;
local l_Select_0 = require(l_Parent_0.Packages.Framework).UI.PropertyCell.Renderers.Select;
local l_collectArray_0 = require(l_Parent_0.Packages.Dash).collectArray;
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
local _ = require(l_Parent_0.Src.Types);
local _ = require(l_Parent_0.Src.Reducers.RootReducer);
return v1.connect(function(v9)
    return {
        Fonts = v9.Asset.Fonts
    };
end)(function(v10)
    local l_Value_0 = v10.Value;
    return v2.createElement(l_Select_0, {
        OnChanged = function(v12)
            l_Value_0.Weight = v12;
            v10.OnChanged(l_Value_0);
        end,
        PlaceholderText = "Bold (procedural)",
        Schema = {
            Items = l_useMemo_0(function()
                return l_collectArray_0(if not v10.Fonts[l_Value_0.Family] then {} else v10.Fonts[l_Value_0.Family].Faces, function(_, v14)
                    if v14.Style == Enum.FontStyle.Italic then
                        return nil;
                    else
                        local l_Weight_0 = v14.Weight;
                        return {
                            Id = l_Weight_0,
                            Label = l_Weight_0.Name,
                            Value = l_Weight_0
                        };
                    end;
                end);
            end, {
                l_Value_0.Family
            })
        },
        Value = l_Value_0.Weight
    });
end);


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useState_0 = v1.useState;
local v3 = require(l_Parent_0.Packages.Framework);
local l_CaptureFocus_0 = v3.UI.CaptureFocus;
local l_Pane_0 = v3.UI.Pane;
local l_join_0 = require(l_Parent_0.Packages.Dash).join;
local v7 = require(l_Parent_0.Src.Hooks.useFrameworkContext);
local _ = require(l_Parent_0.Src.Types);
return function(v9)
    local v10 = v7();
    local v11, v12 = l_useState_0(Vector2.zero);
    return v9.Open and v1.createElement(l_CaptureFocus_0, {
        OnFocusLost = v9.OnFocusLost
    }, {
        Window = v1.createElement(l_Pane_0, {
            Position = (function()
                if v9.ObjectRef and v9.ObjectRef.current then
                    local v13 = v10.Focus:get();
                    local v14 = v9.MinSize or Vector2.zero;
                    local l_current_0 = v9.ObjectRef.current;
                    local l_AbsolutePosition_0 = l_current_0.AbsolutePosition;
                    local l_AbsoluteSize_0 = l_current_0.AbsoluteSize;
                    local l_AbsoluteSize_1 = v13.AbsoluteSize;
                    local v19 = math.max(math.min(l_AbsolutePosition_0.Y + l_AbsoluteSize_0.Y, l_AbsoluteSize_1.Y - v11.Y), 0);
                    local v20 = math.max(v14.X, v11.X);
                    local v21 = math.min(l_AbsoluteSize_1.X, v9.MaxSize.X);
                    if v21 < v20 then
                        local l_v21_0 = v21;
                        v21 = v20;
                        v20 = l_v21_0;
                    end;
                    return UDim2.fromOffset(math.max(math.min((l_AbsolutePosition_0.X + l_AbsoluteSize_0.X / 2) - v21 / 2, l_AbsoluteSize_1.X - v21), 0), v19);
                else
                    return UDim2.fromOffset(0, 0);
                end;
            end)(),
            [v1.Tag] = "Paper X-Center X-Column X-Fill X-Stroke",
            [v1.Change.AbsoluteSize] = function(v23)
                if v23 then
                    v12(v23.AbsoluteSize);
                end;
            end
        }, l_join_0(v9.children, {
            UISizeConstraint = v1.createElement("UISizeConstraint", {
                MinSize = v9.MinSize,
                MaxSize = v9.MaxSize
            })
        }))
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useState_0 = v1.useState;
local l_useEffect_0 = v1.useEffect;
local v4 = require(l_Parent_0.Packages.Framework);
local l_Tooltip_0 = v4.UI.Tooltip;
local l_Pane_0 = v4.UI.Pane;
local l_TextInput_0 = v4.UI.TextInput;
local v8 = require(l_Parent_0.Packages.Dash);
local l_filter_0 = v8.filter;
local l_keys_0 = v8.keys;
local v11 = require(script.localizePropertyNameError);
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
local v13 = require(l_Parent_0.Src.Util.getAutocompleteItems);
local v14 = require(l_Parent_0.Src.Enums.PropertyNameValidationError);
local v15 = require(l_Parent_0.Src.Util.StyleSchema);
local v16 = require(l_Parent_0.Src.Hooks.useFrameworkContext);
local l_Attribute_0 = require(l_Parent_0.Src.Resources.PluginStyles):GetAttribute("TooltipMaxWidth");
local _ = require(l_Parent_0.Src.Types);
local _ = function(v19, v20)
    for _, v22 in v19, nil, nil do
        if v15.allProperties[v22][v20] ~= nil then
            return true;
        end;
    end;
    return false;
end;
return function(v24)
    local l_StyleRuleInfo_0 = v24.Schema.StyleRuleInfo;
    local l_Localization_0 = v16().Localization;
    if l_StyleRuleInfo_0 then
        assert(l_StyleRuleInfo_0 ~= nil, "expecting valid StyleRuleInfo");
        local v27, v28 = l_useState_0({
            text = v24.Value,
            error = v14.None
        });
        local _ = function(v29)
            if not l_StyleRuleInfo_0.CanMatchAnyClass then
                local v30;
                for _, v32 in l_StyleRuleInfo_0.PossibleClasses, nil, nil do
                    if v15.allProperties[v32][v29] ~= nil then
                        v30 = true;
                        goto label0 --[[  true, false  ]];
                    end;
                end;
                v30 = false;
                ::label0::;
                if not v30 then
                    return v14.DoesNotExistOnType;
                end;
            elseif v15.possiblePropertyTypes[v29] == nil then
                return v14.DoesNotExist;
            end;
            local v33 = v24.Value ~= v29;
            local v34 = false;
            if l_StyleRuleInfo_0.Properties[v29] ~= nil then
                v34 = v33;
            end;
            if not v34 then
                return v14.None;
            else
                return v14.AlreadyDefined;
            end;
        end;
        local _ = function(v36)
            local v37, v38, v39;
            if not l_StyleRuleInfo_0.CanMatchAnyClass then
                for _, v41 in l_StyleRuleInfo_0.PossibleClasses, nil, nil do
                    if v15.allProperties[v41][v36] ~= nil then
                        v37 = true;
                        goto label2 --[[  true, false  ]];
                    end;
                end;
                v37 = false;
                ::label2::;
                if not v37 then
                    v39 = v14.DoesNotExistOnType;
                    goto label1 --[[  true, true  ]];
                end;
            elseif v15.possiblePropertyTypes[v36] == nil then
                v39 = v14.DoesNotExist;
                goto label1 --[[  true, true  ]];
            end;
            v37 = v24.Value ~= v36;
            v38 = false;
            if l_StyleRuleInfo_0.Properties[v36] ~= nil then
                v38 = v37;
            end;
            v39 = if not v38 then v14.None else v14.AlreadyDefined;
            ::label1::;
            v28({
                text = v36,
                error = v39
            });
        end;
        local function v49(v43)
            local v44, v45, v46;
            if not l_StyleRuleInfo_0.CanMatchAnyClass then
                for _, v48 in l_StyleRuleInfo_0.PossibleClasses, nil, nil do
                    if v15.allProperties[v48][v43] ~= nil then
                        v44 = true;
                        goto label4 --[[  true, false  ]];
                    end;
                end;
                v44 = false;
                ::label4::;
                if not v44 then
                    v46 = v14.DoesNotExistOnType;
                    goto label3 --[[  true, true  ]];
                end;
            elseif v15.possiblePropertyTypes[v43] == nil then
                v46 = v14.DoesNotExist;
                goto label3 --[[  true, true  ]];
            end;
            v44 = v24.Value ~= v43;
            v45 = false;
            if l_StyleRuleInfo_0.Properties[v43] ~= nil then
                v45 = v44;
            end;
            v46 = if not v45 then v14.None else v14.AlreadyDefined;
            ::label3::;
            v28({
                text = v43,
                error = v46
            });
        end;
        local function v61(v50, _)
            local v52, v53, v54;
            if not l_StyleRuleInfo_0.CanMatchAnyClass then
                for _, v56 in l_StyleRuleInfo_0.PossibleClasses, nil, nil do
                    if v15.allProperties[v56][v50] ~= nil then
                        v52 = true;
                        goto label6 --[[  true, false  ]];
                    end;
                end;
                v52 = false;
                ::label6::;
                if not v52 then
                    v54 = v14.DoesNotExistOnType;
                    goto label5 --[[  true, true  ]];
                end;
            elseif v15.possiblePropertyTypes[v50] == nil then
                v54 = v14.DoesNotExist;
                goto label5 --[[  true, true  ]];
            end;
            v52 = v24.Value ~= v50;
            v53 = false;
            if l_StyleRuleInfo_0.Properties[v50] ~= nil then
                v53 = v52;
            end;
            v54 = if not v53 then v14.None else v14.AlreadyDefined;
            ::label5::;
            if v54 == v14.None and v24.Value ~= v50 then
                v24.OnChanged(v50);
                return ;
            else
                v52 = v24.Value;
                local v57, v58;
                if not l_StyleRuleInfo_0.CanMatchAnyClass then
                    for _, v60 in l_StyleRuleInfo_0.PossibleClasses, nil, nil do
                        if v15.allProperties[v60][v52] ~= nil then
                            v57 = true;
                            goto label8 --[[  true, false  ]];
                        end;
                    end;
                    v57 = false;
                    ::label8::;
                    if not v57 then
                        v53 = v14.DoesNotExistOnType;
                        goto label7 --[[  true, true  ]];
                    end;
                elseif v15.possiblePropertyTypes[v52] == nil then
                    v53 = v14.DoesNotExist;
                    goto label7 --[[  true, true  ]];
                end;
                v57 = v24.Value ~= v52;
                v58 = false;
                if l_StyleRuleInfo_0.Properties[v52] ~= nil then
                    v58 = v57;
                end;
                v53 = if not v58 then v14.None else v14.AlreadyDefined;
                ::label7::;
                v28({
                    text = v52,
                    error = v53
                });
                return ;
            end;
        end;
        l_useEffect_0(function()
            local l_Value_0 = v24.Value;
            local v63, v64, v65;
            if not l_StyleRuleInfo_0.CanMatchAnyClass then
                for _, v67 in l_StyleRuleInfo_0.PossibleClasses, nil, nil do
                    if v15.allProperties[v67][l_Value_0] ~= nil then
                        v63 = true;
                        goto label10 --[[  true, false  ]];
                    end;
                end;
                v63 = false;
                ::label10::;
                if not v63 then
                    v65 = v14.DoesNotExistOnType;
                    goto label9 --[[  true, true  ]];
                end;
            elseif v15.possiblePropertyTypes[l_Value_0] == nil then
                v65 = v14.DoesNotExist;
                goto label9 --[[  true, true  ]];
            end;
            v63 = v24.Value ~= l_Value_0;
            v64 = false;
            if l_StyleRuleInfo_0.Properties[l_Value_0] ~= nil then
                v64 = v63;
            end;
            v65 = if not v64 then v14.None else v14.AlreadyDefined;
            ::label9::;
            v28({
                text = l_Value_0,
                error = v65
            });
        end, {
            v24.Schema,
            v24.Value
        });
        local function v78(v68)
            local v69 = {};
            if not l_StyleRuleInfo_0.CanMatchAnyClass then
                local v70 = {};
                for _, v72 in l_StyleRuleInfo_0.PossibleClasses, nil, nil do
                    for _, v74 in v15.getPropertyNames(v72) do
                        v70[v74] = true;
                    end;
                end;
                v69 = l_keys_0(v70);
            else
                v69 = v15.getPropertyNames("");
            end;
            return v13(l_filter_0(v69, function(v75, _)
                local v77 = true;
                if v75 ~= v24.Value then
                    v77 = l_StyleRuleInfo_0.Properties[v75] == nil;
                end;
                return v77;
            end), v68);
        end;
        local v79 = v15.getPossiblePropertyTypes(v27.text);
        local v80 = {};
        if #v79 > 0 then
            table.insert(v80, table.concat(v79, ", "));
        end;
        if not l_StyleRuleInfo_0.CanMatchAnyClass then
            table.insert(v80, l_Localization_0:getText("Label", "PropertyAppliesTo", {
                classList = table.concat(l_filter_0(l_StyleRuleInfo_0.PossibleClasses, function(v81)
                    return v15.getPropertySchema(v24.Value, v81) ~= nil;
                end), ", ")
            }));
        end;
        local v82 = v27.error ~= v14.None;
        local v83 = v11(l_Localization_0, v27.error, {
            type = table.concat(l_StyleRuleInfo_0.PossibleClasses, ", ")
        });
        local l_createElement_0 = v1.createElement;
        local l_l_Pane_0_0 = l_Pane_0;
        local v86 = {};
        local v87 = {
            Input = v1.createElement(l_TextInput_0, {
                Disabled = v24.Disabled,
                OnTextChanged = v49,
                OnFocusLost = v61,
                Size = if not v24.AutomaticSize then UDim2.fromScale(1, 1) else UDim2.new(1, 0, 0, v24.MinimumHeight or 24),
                Text = v27.text,
                GetAutocompleteItems = v78,
                PlaceholderText = l_Localization_0:getText("Table", "PropertyNamePlaceholder"),
                [v1.Tag] = if not v82 then nil else v24.Schema.ErrorStyle or "PropertyCellError"
            })
        };
        local v88 = false;
        if #v27.text > 0 then
            v88 = v1.createElement(l_Tooltip_0, {
                Text = if not v82 then table.concat(v80, "\n") else v83,
                MaxWidth = l_Attribute_0
            });
        end;
        v87.Tooltip = v88;
        return l_createElement_0(l_l_Pane_0_0, v86, v87);
    else
        return v1.createElement(l_Pane_0, {}, {
            Input = v1.createElement(l_TextInput_0, {
                Disabled = true,
                Size = if not v24.AutomaticSize then UDim2.fromScale(1, 1) else UDim2.new(1, 0, 0, v24.MinimumHeight or 24),
                Text = v24.Value,
                PlaceholderText = l_Localization_0:getText("Table", "PropertyNamePlaceholder"),
                [v1.Tag] = "PropertyCellDisabled"
            })
        });
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Src.Enums.PropertyNameValidationError);
local _ = require(l_Parent_0.Src.Types);
local v3 = {
    [v1.DoesNotExist] = "PropertyNameErrorDoesNotExist",
    [v1.DoesNotExistOnType] = "PropertyNameErrorDoesNotExistOnType",
    [v1.AlreadyDefined] = "PropertyNameErrorAlreadyDefined",
    Unknown = "ErrorUnknown"
};
return function(v4, v5, v6)
    if v5 == v1.None then
        return "";
    else
        return v4:getText("Label", v3[v5] or v3.Unknown, v6);
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useContext_0 = v1.useContext;
local v3 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v3.ContextServices;
local l_IconButton_0 = v3.UI.IconButton;
local l_Pane_0 = v3.UI.Pane;
local l_join_0 = require(l_Parent_0.Packages.Dash).join;
local v8 = require(l_Parent_0.Src.Resources.ModernIcons);
local v9 = require(l_Parent_0.Src.Renderers.SequenceRenderers.LabelCell);
local v10 = require(l_Parent_0.Src.Renderers.ColorRenderer);
local _ = require(l_Parent_0.Src.Types);
local _ = require(l_Parent_0.Src.Renderers.SequenceRenderers.Types);
local v13 = {
    Type = "Color"
};
local v14 = {
    Type = "Number",
    Min = 0,
    Max = 1
};
return function(v15)
    local v16 = l_useContext_0(l_ContextServices_0.Context.Consumer)[l_ContextServices_0.Localization.Key];
    return v1.createElement(l_Pane_0, {
        LayoutOrder = v15.LayoutOrder,
        [v1.Tag] = "X-Center X-Middle X-FitY X-Pad X-RowM"
    }, {
        SequenceButtonsContainer = v1.createElement(l_Pane_0, {
            LayoutOrder = 1,
            [v1.Tag] = "X-Left X-Pad X-RowM X-FitY",
            Size = UDim2.fromScale(0.5, 1)
        }, {
            Time = v1.createElement(v9, {
                LayoutOrder = 1,
                Text = v16:getText("Label", "Time"),
                Schema = v14,
                Disabled = v15.IsKeypointFixed,
                Value = v15.Keypoint.Time,
                OnChanged = function(v17)
                    v15.OnEdit(l_join_0(v15.Keypoint, {
                        Time = v17
                    }));
                end
            }),
            Color = v1.createElement(v9, {
                LayoutOrder = 2,
                Text = v16:getText("Label", "Color"),
                Schema = v13,
                Value = v15.Keypoint.Value,
                OnChanged = function(v18)
                    v15.OnEdit(l_join_0(v15.Keypoint, {
                        Value = v18
                    }));
                end,
                Renderer = v10
            }),
            Delete = v1.createElement(l_IconButton_0, {
                LayoutOrder = 3,
                TooltipText = v16:getText("Control", "DeleteTooltip"),
                LeftIcon = v8.delete(),
                Disabled = v15.IsKeypointFixed,
                OnClick = v15.OnDelete
            })
        }),
        CommitButtonsContainer = v1.createElement(l_Pane_0, {
            LayoutOrder = 2,
            [v1.Tag] = "X-Right X-Pad X-RowM X-FitY",
            Size = UDim2.fromScale(0.5, 1)
        }, {
            Save = v1.createElement(l_IconButton_0, {
                LayoutOrder = 1,
                Text = v16:getText("Modal", "Save"),
                OnClick = v15.OnSave
            })
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_joinTags_0 = require(l_Parent_0.Packages.Framework).Styling.joinTags;
local _ = require(l_Parent_0.Src.Renderers.SequenceRenderers.Types);
return function(v4)
    return v1.createElement("Frame", {
        LayoutOrder = v4.LayoutOrder,
        Position = v4.Position,
        [v1.Tag] = l_joinTags_0("ColorSequenceLine", if not v4.Selected then nil else "Selected"),
        [v1.Event.MouseEnter] = function()
            v4.OnHoverStart();
        end
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useState_0 = v1.useState;
local l_useRef_0 = v1.useRef;
local l_useEffect_0 = v1.useEffect;
local l_useMemo_0 = v1.useMemo;
local v6 = require(l_Parent_0.Packages.Framework);
local l_Pane_0 = v6.UI.Pane;
local l_TextInput_0 = v6.UI.TextInput;
local l_Tooltip_0 = v6.UI.Tooltip;
local v10 = require(l_Parent_0.Packages.Dash);
local l_join_0 = v10.join;
local l_map_0 = v10.map;
local v13 = require(l_Parent_0.Src.Util.bind);
local v14 = require(l_Parent_0.Src.Util.colorFromString);
local v15 = require(l_Parent_0.Src.Renderers.SequenceRenderers.Keypoint);
local v16 = require(l_Parent_0.Src.Renderers.Modal);
local v17 = require(l_Parent_0.Src.Renderers.SequenceRenderers.mouseCoordsRelativeToElement);
local v18 = require(l_Parent_0.Src.Renderers.SequenceRenderers.PreviewButton);
local v19 = require(l_Parent_0.Src.Renderers.SequenceRenderers.useKeypointSequence);
local v20 = require(script.KeypointControls);
local v21 = require(script.KeypointLine);
local _ = require(l_Parent_0.Src.Types);
local _ = require(l_Parent_0.Src.Renderers.SequenceRenderers.Types);
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
local function _(v25)
    local l_Keypoints_0 = v25.Keypoints;
    if #l_Keypoints_0 > 2 then
        return "<ColorSequence>";
    elseif l_Keypoints_0[1].Value ~= l_Keypoints_0[2].Value then
        return "<ColorSequence>";
    else
        return "#" .. l_Keypoints_0[1].Value:ToHex();
    end;
end;
local function _(v28)
    local v29 = v14(v28);
    if not v29 then
        return nil, "Error: invalid color";
    else
        return ColorSequence.new(v29), nil;
    end;
end;
local function _(v31)
    return (l_map_0(v31.Keypoints, function(v32)
        return {
            Time = v32.Time,
            Value = v32.Value
        };
    end));
end;
local function v36(v34)
    return ColorSequence.new(l_map_0(v34, function(v35)
        return ColorSequenceKeypoint.new(v35.Time, v35.Value);
    end));
end;
return function(v37)
    local v38 = l_useRef_0(nil);
    local v39 = l_useRef_0(nil);
    local v40, v41 = l_useState_0(false);
    local l_l_useState_0_0 = l_useState_0;
    local l_Keypoints_1 = v37.Value.Keypoints;
    local v44;
    l_l_useState_0_0, v44 = l_l_useState_0_0(#l_Keypoints_1 > 2 and "<ColorSequence>" or (l_Keypoints_1[1].Value ~= l_Keypoints_1[2].Value and "<ColorSequence>" or "#" .. l_Keypoints_1[1].Value:ToHex()));
    local v45;
    v45, l_Keypoints_1 = l_useState_0(nil);
    local v47 = v19((l_map_0(v37.Value.Keypoints, function(v46)
        return {
            Time = v46.Time,
            Value = v46.Value
        };
    end)));
    local v48 = l_useMemo_0(function()
        return v36(v47.keypoints);
    end, {
        v47.keypoints
    });
    l_useEffect_0(function()
        l_Keypoints_1(nil);
        local l_v44_0 = v44;
        local l_Keypoints_2 = v37.Value.Keypoints;
        l_v44_0(#l_Keypoints_2 > 2 and "<ColorSequence>" or (l_Keypoints_2[1].Value ~= l_Keypoints_2[2].Value and "<ColorSequence>" or "#" .. l_Keypoints_2[1].Value:ToHex()));
    end, {
        v37.Value,
        l_Keypoints_1,
        v44
    });
    local function _()
        v47.save(function(v51)
            local v53 = ColorSequence.new(l_map_0(v51, function(v52)
                return ColorSequenceKeypoint.new(v52.Time, v52.Value);
            end));
            if v53 ~= v37.Value then
                v37.OnChanged(v53);
            end;
        end);
    end;
    local function v56()
        v47.reset((l_map_0(v37.Value.Keypoints, function(v55)
            return {
                Time = v55.Time,
                Value = v55.Value
            };
        end)));
        v41(true);
    end;
    local function v60()
        v47.save(function(v57)
            local v59 = ColorSequence.new(l_map_0(v57, function(v58)
                return ColorSequenceKeypoint.new(v58.Time, v58.Value);
            end));
            if v59 ~= v37.Value then
                v37.OnChanged(v59);
            end;
        end);
        v41(false);
    end;
    local function v64()
        v47.remove();
        v47.save(function(v61)
            local v63 = ColorSequence.new(l_map_0(v61, function(v62)
                return ColorSequenceKeypoint.new(v62.Time, v62.Value);
            end));
            if v63 ~= v37.Value then
                v37.OnChanged(v63);
            end;
        end);
    end;
    local function v69(v65)
        v47.update(v65);
        v47.save(function(v66)
            local v68 = ColorSequence.new(l_map_0(v66, function(v67)
                return ColorSequenceKeypoint.new(v67.Time, v67.Value);
            end));
            if v68 ~= v37.Value then
                v37.OnChanged(v68);
            end;
        end);
    end;
    local function v77(v70, _)
        if v70 == "<ColorSequence>" then
            return ;
        else
            local v72 = v14(v70);
            local v73;
            if not v72 then
                v73 = nil;
                local _ = "Error: invalid color";
            else
                v73 = ColorSequence.new(v72);
                local _ = nil;
            end;
            if v73 and v73 ~= v37.Value then
                v37.OnChanged(v73);
                return ;
            else
                v72 = v44;
                local l_Keypoints_3 = v37.Value.Keypoints;
                v72(#l_Keypoints_3 > 2 and "<ColorSequence>" or (l_Keypoints_3[1].Value ~= l_Keypoints_3[2].Value and "<ColorSequence>" or "#" .. l_Keypoints_3[1].Value:ToHex()));
                return ;
            end;
        end;
    end;
    local function v83(v78)
        v44(v78);
        if v78 == "<ColorSequence>" then
            l_Keypoints_1(nil);
            return ;
        else
            local v79 = v14(v78);
            local v80;
            if not v79 then
                local _ = nil;
                v80 = "Error: invalid color";
            else
                local _ = ColorSequence.new(v79);
                v80 = nil;
            end;
            l_Keypoints_1(v80);
            return ;
        end;
    end;
    local function v88(v84)
        if v39.current then
            if not v47.isFixedKeypointSelected() then
                v47.update((l_join_0(v47.getSelectedKeypoint(), {
                    Time = v17(v39.current, v84).X
                })));
                v47.save(function(v85)
                    local v87 = ColorSequence.new(l_map_0(v85, function(v86)
                        return ColorSequenceKeypoint.new(v86.Time, v86.Value);
                    end));
                    if v87 ~= v37.Value then
                        v37.OnChanged(v87);
                    end;
                end);
                return ;
            else
                return ;
            end;
        else
            return ;
        end;
    end;
    local function v94(_, v90)
        if v90.UserInputType == Enum.UserInputType.MouseButton1 then
            v47.add({
                Time = v17(v39.current, (Vector2.new(v90.Position.X, v90.Position.Y))).X,
                Value = v47.getSelectedKeypoint().Value
            });
            v47.save(function(v91)
                local v93 = ColorSequence.new(l_map_0(v91, function(v92)
                    return ColorSequenceKeypoint.new(v92.Time, v92.Value);
                end));
                if v93 ~= v37.Value then
                    v37.OnChanged(v93);
                end;
            end);
        end;
    end;
    local function v96(v95)
        v47.select(v95);
    end;
    local v97 = {};
    local v98 = {};
    for v99, v100 in v47.keypoints, nil, nil do
        local v101 = "Keypoint_" .. tostring(v99);
        local v102 = v47.selectedIndex == v99;
        v98[v101] = v1.createElement(v21, {
            Position = UDim2.fromScale(v100.Time, 0),
            Selected = v102,
            OnHoverStart = v13(v96, {
                v99
            })
        });
        v97[v101] = v1.createElement(v15, {
            Position = Vector2.new(v100.Time, 0),
            Value = v100.Value,
            Selected = v102,
            Tag = "ColorSequenceKeypoint",
            OnMoved = v88,
            OnHoverStart = v13(v96, {
                v99
            }),
            OnDragEnd = function()
                v47.save(function(v103)
                    local v105 = ColorSequence.new(l_map_0(v103, function(v104)
                        return ColorSequenceKeypoint.new(v104.Time, v104.Value);
                    end));
                    if v105 ~= v37.Value then
                        v37.OnChanged(v105);
                    end;
                end);
            end
        });
    end;
    local v106 = v45 ~= nil;
    return v1.createElement(l_Pane_0, {
        [v1.Tag] = "X-Fill"
    }, {
        Input = v1.createElement(l_TextInput_0, {
            Disabled = v37.Disabled,
            LeadingComponent = v18,
            LeadingComponentProps = {
                Color = v37.Value,
                OnClick = v56,
                ForwardRef = v38
            },
            OnFocusLost = v77,
            OnTextChanged = v83,
            Size = if not v37.AutomaticSize then UDim2.fromScale(1, 1) else UDim2.new(1, 0, 0, v37.MinimumHeight or 24),
            Text = l_l_useState_0_0,
            [v1.Tag] = if not v106 then nil else "PropertyCellError"
        }),
        Tooltip = v1.createElement(l_Tooltip_0, {
            Enabled = v106,
            Text = v45 or ""
        }),
        SequencePickerModal = v1.createElement(v16, {
            Open = v40,
            MaxSize = Vector2.new(800, 225),
            MinSize = Vector2.new(400, 200),
            ObjectRef = v38,
            OnFocusLost = v60
        }, {
            SequenceTimelinePane = v1.createElement(l_Pane_0, {
                LayoutOrder = 1,
                Size = UDim2.new(1, 0, 0, 150),
                [v1.Tag] = "X-Pad X-Column",
                OnClick = v94
            }, {
                SequenceTimelineContainer = v1.createElement(l_Pane_0, {
                    LayoutOrder = 1,
                    BackgroundTransparency = 0,
                    BackgroundColor3 = Color3.new(1, 1, 1),
                    ForwardRef = v39,
                    [v1.Tag] = "X-Fill"
                }, {
                    l_join_0(v98, {
                        UIGradient = v1.createElement("UIGradient", {
                            Color = v48
                        })
                    })
                }),
                KeypointContainer = v1.createElement(l_Pane_0, {
                    LayoutOrder = 2,
                    [v1.Tag] = "X-FitY"
                }, v97)
            }),
            KeypointControls = v1.createElement(v20, {
                LayoutOrder = 2,
                Keypoint = v47.getSelectedKeypoint(),
                IsKeypointFixed = v47.isFixedKeypointSelected(),
                OnSave = v60,
                OnDelete = v64,
                OnEdit = v69
            })
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local v2 = require(l_Parent_0.Packages.Framework);
local l_joinTags_0 = v2.Styling.joinTags;
local l_DragListener_0 = v2.UI.DragListener;
local l_HoverArea_0 = v2.UI.HoverArea;
local l_isInputMainPress_0 = v2.Util.isInputMainPress;
local l_Attribute_0 = require(l_Parent_0.Src.Resources.PluginStyles):GetAttribute("CursorOpenedHand");
return function(v8)
    local v9, v10 = v1.useState(false);
    local v11 = {
        HoverArea = v1.createElement(l_HoverArea_0, {
            Cursor = l_Attribute_0,
            MouseEnter = function()
                if v8.OnHoverStart then
                    v8.OnHoverStart();
                end;
            end,
            MouseLeave = function()
                if v8.OnHoverEnd then
                    v8.OnHoverEnd();
                end;
            end
        })
    };
    if v9 then
        v11.DragListener = v1.createElement(l_DragListener_0, {
            OnDragMoved = function(v12)
                if v8.OnMoved then
                    v8.OnMoved((Vector2.new(v12.Position.X, v12.Position.Y)));
                end;
            end,
            OnDragEnded = function()
                v10(false);
                if v8.OnDragEnd then
                    v8.OnDragEnd();
                end;
            end
        });
    end;
    return v1.createElement("TextButton", {
        Position = UDim2.fromScale(v8.Position.X, 1 - v8.Position.Y),
        [v1.Tag] = l_joinTags_0("SequenceKeypoint", not v8.Selected and "" or "Selected", v8.Tag),
        [v1.Event.InputBegan] = function(_, v14)
            if l_isInputMainPress_0(v14) then
                v10(true);
            end;
        end
    }, v11);
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Dash);
local l_join_0 = v1.join;
local l_joinDeep_0 = v1.joinDeep;
local l_copy_0 = v1.copy;
local v5 = require(l_Parent_0.Src.Util.roundDecimal);
local _ = require(l_Parent_0.Src.Renderers.SequenceRenderers.Types);
local v24 = {
    MAX_KEYPOINT_COUNT = 20,
    updateIndexMut = function(v7)
        local l_Selected_0 = v7.Selected;
        if not (l_Selected_0 > 1) or #v7.Keypoints <= l_Selected_0 then
            return l_Selected_0;
        else
            local l_Keypoints_0 = v7.Keypoints;
            local function _(v10, v11)
                local v12 = l_Keypoints_0[v10];
                l_Keypoints_0[v10] = l_Keypoints_0[v11];
                l_Keypoints_0[v11] = v12;
            end;
            for _ = 0, 15 do
                local v15 = l_Keypoints_0[l_Selected_0];
                local v16 = l_Keypoints_0[l_Selected_0 - 1];
                if v16 and v15.Time < v16.Time then
                    local v17 = l_Selected_0 - 1;
                    local l_l_Selected_0_0 = l_Selected_0;
                    local v19 = l_Keypoints_0[v17];
                    l_Keypoints_0[v17] = l_Keypoints_0[l_l_Selected_0_0];
                    l_Keypoints_0[l_l_Selected_0_0] = v19;
                    l_Selected_0 = l_Selected_0 - 1;
                else
                    local v20 = l_Keypoints_0[l_Selected_0 + 1];
                    if v20 and v20.Time < v15.Time then
                        local l_l_Selected_0_1 = l_Selected_0;
                        local v22 = l_Selected_0 + 1;
                        local v23 = l_Keypoints_0[l_l_Selected_0_1];
                        l_Keypoints_0[l_l_Selected_0_1] = l_Keypoints_0[v22];
                        l_Keypoints_0[v22] = v23;
                        l_Selected_0 = l_Selected_0 + 1;
                    else
                        break;
                    end;
                end;
            end;
            v7.Selected = l_Selected_0;
            return ;
        end;
    end
};
v24.updateSelected = function(v25, v26)
    if v25.Selected == 1 then
        v26.Time = 0;
    elseif v25.Selected == #v25.Keypoints then
        v26.Time = 1;
    else
        v26.Time = math.clamp(v5(v26.Time, 3), 0.01, 0.99);
    end;
    if typeof(v26.Value) == "number" then
        v26.Value = math.clamp(v5(v26.Value, 3), 0, 1);
    end;
    local v27 = l_join_0(v25, {
        Keypoints = l_join_0(v25.Keypoints, {
            [v25.Selected] = v26
        })
    });
    v24.updateIndexMut(v27);
    return v27;
end;
v24.add = function(v28, v29)
    if v24.MAX_KEYPOINT_COUNT <= #v28.Keypoints then
        return v28;
    else
        local v30 = l_join_0(v28, {
            Keypoints = l_copy_0(v28.Keypoints)
        });
        local v31 = -1;
        for v32, v33 in v30.Keypoints, nil, nil do
            if v29.Time == v33.Time then
                v29.Time = v29.Time - 0.001;
            end;
            if v29.Time < v33.Time then
                v31 = v32;
                table.insert(v30.Keypoints, v31, v29);
                break;
            end;
        end;
        v30.Selected = v31;
        return v30;
    end;
end;
v24.removeSelected = function(v34)
    local v35 = l_copy_0(v34.Keypoints);
    table.remove(v35, v34.Selected);
    return {
        Keypoints = v35,
        Selected = v34.Selected - 1
    };
end;
v24.isFixedKeypointSelected = function(v36)
    local v37 = true;
    if v36.Selected ~= 1 then
        v37 = v36.Selected == #v36.Keypoints;
    end;
    return v37;
end;
v24.select = function(v38, v39)
    return l_joinDeep_0(v38, {
        Selected = v39
    });
end;
v24.selectedKeypoint = function(v40)
    return v40.Keypoints[v40.Selected];
end;
return v24;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local v2 = require(l_Parent_0.Packages.Framework);
local l_TextLabel_0 = v2.UI.TextLabel;
local l_PropertyCell_0 = v2.UI.PropertyCell;
local l_Pane_0 = v2.UI.Pane;
return function(v6)
    return v1.createElement(l_Pane_0, {
        LayoutOrder = v6.LayoutOrder,
        [v1.Tag] = "X-RowM X-FitX X-Middle X-Stroke LabelCell"
    }, {
        Label = v1.createElement(l_TextLabel_0, {
            LayoutOrder = 1,
            Text = v6.Text,
            [v1.Tag] = "X-Fit"
        }),
        Cell = v1.createElement(l_PropertyCell_0, {
            LayoutOrder = 2,
            Size = UDim2.fromOffset(100, 30),
            Disabled = v6.Disabled,
            Schema = v6.Schema,
            Value = v6.Value,
            OnChanged = v6.OnChanged,
            Renderers = {
                Color = v6.Renderer
            }
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useContext_0 = v1.useContext;
local l_join_0 = require(l_Parent_0.Packages.Dash).join;
local v4 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v4.ContextServices;
local l_IconButton_0 = v4.UI.IconButton;
local l_Pane_0 = v4.UI.Pane;
local v8 = require(l_Parent_0.Src.Resources.ModernIcons);
local v9 = require(l_Parent_0.Src.Renderers.SequenceRenderers.LabelCell);
local _ = require(l_Parent_0.Src.Types);
local _ = require(l_Parent_0.Src.Renderers.SequenceRenderers.Types);
local v12 = {
    Type = "Number",
    Min = 0,
    Max = 1
};
return function(v13)
    local v14 = l_useContext_0(l_ContextServices_0.Context.Consumer)[l_ContextServices_0.Localization.Key];
    local function _(v15)
        return function(v16)
            v13.OnEdit(l_join_0(v13.Keypoint, {
                [v15] = v16
            }));
        end;
    end;
    local l_createElement_0 = v1.createElement;
    local l_l_Pane_0_0 = l_Pane_0;
    local v20 = {
        LayoutOrder = v13.LayoutOrder,
        [v1.Tag] = "X-Center X-Middle X-RowM X-Fit"
    };
    local v21 = {};
    local l_createElement_1 = v1.createElement;
    local l_l_Pane_0_1 = l_Pane_0;
    local v24 = {
        LayoutOrder = 1,
        [v1.Tag] = "X-Left X-Pad X-RowM X-Fit"
    };
    local v25 = {};
    local l_createElement_2 = v1.createElement;
    local l_v9_0 = v9;
    local v28 = {
        LayoutOrder = 1,
        Text = v14:getText("Label", "Time"),
        Schema = v12,
        Disabled = v13.IsKeypointFixed,
        Value = v13.Keypoint.Time
    };
    local v29 = "Time";
    local l_v29_0 = v29 --[[ copy: 16 -> 17 ]];
    v28.OnChanged = function(v31)
        v13.OnEdit(l_join_0(v13.Keypoint, {
            [l_v29_0] = v31
        }));
    end;
    v25.Time = l_createElement_2(l_v9_0, v28);
    l_createElement_2 = v1.createElement;
    l_v9_0 = v9;
    v28 = {
        LayoutOrder = 2,
        Text = v14:getText("Label", "Value"),
        Schema = v12,
        Value = v13.Keypoint.Value
    };
    v29 = "Value";
    local l_v29_1 = v29 --[[ copy: 16 -> 18 ]];
    v28.OnChanged = function(v33)
        v13.OnEdit(l_join_0(v13.Keypoint, {
            [l_v29_1] = v33
        }));
    end;
    v25.Value = l_createElement_2(l_v9_0, v28);
    l_createElement_2 = v1.createElement;
    l_v9_0 = v9;
    v28 = {
        LayoutOrder = 3,
        Text = v14:getText("Label", "Envelope"),
        Schema = v12,
        Value = v13.Keypoint.Envelope
    };
    v29 = "Envelope";
    v28.OnChanged = function(v34)
        v13.OnEdit(l_join_0(v13.Keypoint, {
            [v29] = v34
        }));
    end;
    v25.Envelope = l_createElement_2(l_v9_0, v28);
    v21.SequenceButtonsContainer = l_createElement_1(l_l_Pane_0_1, v24, v25);
    v21.CommitButtonsContainer = v1.createElement(l_Pane_0, {
        LayoutOrder = 3,
        [v1.Tag] = "X-Right X-Pad X-RowM X-Fit"
    }, {
        Delete = v1.createElement(l_IconButton_0, {
            LayoutOrder = 1,
            TooltipText = v14:getText("Control", "DeleteTooltip"),
            LeftIcon = v8.delete(),
            Disabled = v13.IsKeypointFixed,
            OnClick = v13.OnDelete
        }),
        Save = v1.createElement(l_IconButton_0, {
            LayoutOrder = 2,
            Text = v14:getText("Modal", "Save"),
            OnClick = v13.OnSave
        })
    });
    return l_createElement_0(l_l_Pane_0_0, v20, v21);
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_joinTags_0 = require(l_Parent_0.Packages.Framework).Styling.joinTags;
local _ = require(l_Parent_0.Src.Renderers.SequenceRenderers.Types);
return function(v4)
    local l_PlotAbsoluteSize_0 = v4.PlotAbsoluteSize;
    local v6 = l_PlotAbsoluteSize_0 * Vector2.new(v4.StartKeypoint.Time, 1 - v4.StartKeypoint.Value);
    local v7 = l_PlotAbsoluteSize_0 * Vector2.new(v4.EndKeypoint.Time, 1 - v4.EndKeypoint.Value);
    local v8 = (v6 + v7) / 2;
    local v9 = v7 - v6;
    return v1.createElement("Frame", {
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.fromOffset(v8.X, v8.Y),
        Rotation = math.deg((math.atan2(v9.Y, v9.X))),
        Size = UDim2.fromOffset(v9.Magnitude, 2),
        LayoutOrder = v4.LayoutOrder,
        [v1.Tag] = l_joinTags_0("NumberSequenceLine", if not v4.StartKeypointSelected then nil else "SelectedStart", if not v4.EndKeypointSelected then nil else "SelectedEnd")
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useState_0 = v1.useState;
local l_useRef_0 = v1.useRef;
local l_useEffect_0 = v1.useEffect;
local v5 = require(l_Parent_0.Packages.Framework);
local l_Pane_0 = v5.UI.Pane;
local l_TextInput_0 = v5.UI.TextInput;
local l_Tooltip_0 = v5.UI.Tooltip;
local v9 = require(l_Parent_0.Packages.Dash);
local l_join_0 = v9.join;
local l_map_0 = v9.map;
local v12 = require(l_Parent_0.Src.Renderers.SequenceRenderers.PreviewButton);
local v13 = require(script.SequenceLine);
local v14 = require(script.KeypointControls);
local v15 = require(l_Parent_0.Src.Util.bind);
local v16 = require(l_Parent_0.Src.Renderers.SequenceRenderers.mouseCoordsRelativeToElement);
local v17 = require(l_Parent_0.Src.Renderers.SequenceRenderers.useKeypointSequence);
local v18 = require(l_Parent_0.Src.Renderers.SequenceRenderers.Keypoint);
local v19 = require(l_Parent_0.Src.Renderers.Modal);
local v20 = require(l_Parent_0.Src.Util.roundDecimal);
local _ = require(l_Parent_0.Src.Types);
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
local _ = require(l_Parent_0.Src.Renderers.SequenceRenderers.Types);
local v24 = ColorSequence.new(Color3.fromRGB(255, 255, 255));
local function _(v25)
    local l_Keypoints_0 = v25.Keypoints;
    if #l_Keypoints_0 > 2 then
        return "<NumberSequence>";
    elseif l_Keypoints_0[1].Value ~= l_Keypoints_0[2].Value then
        return "<NumberSequence>";
    else
        return (tostring(v20(l_Keypoints_0[1].Value, 3)));
    end;
end;
local function _(v28)
    return NumberSequence.new(l_map_0(v28, function(v29)
        return NumberSequenceKeypoint.new(v29.Time, v29.Value, v29.Envelope);
    end));
end;
local function _(v31)
    return (l_map_0(v31.Keypoints, function(v32)
        return {
            Time = v32.Time,
            Value = v32.Value,
            Envelope = v32.Envelope
        };
    end));
end;
local function v38(v34)
    local v35 = tonumber(v34);
    if v35 then
        assert(typeof(v35) == "number", "expecting a number");
        if not (v35 >= 0) or v35 > 1 then
            return nil, "Error: number out of range, expecting 0 < num < 1";
        else
            local l_status_0, l_result_0 = pcall(function()
                return NumberSequence.new(v35);
            end);
            if l_status_0 then
                return l_result_0;
            else
                return nil, "Error: something went wrong";
            end;
        end;
    else
        return nil, "Error: invalid number";
    end;
end;
return function(v39)
    local v40 = l_useRef_0(nil);
    local v41 = l_useRef_0(nil);
    local v42, v43 = l_useState_0(false);
    local l_l_useState_0_0 = l_useState_0;
    local l_Keypoints_1 = v39.Value.Keypoints;
    local v46;
    l_l_useState_0_0, v46 = l_l_useState_0_0(#l_Keypoints_1 > 2 and "<NumberSequence>" or (l_Keypoints_1[1].Value ~= l_Keypoints_1[2].Value and "<NumberSequence>" or tostring(v20(l_Keypoints_1[1].Value, 3))));
    local v47;
    v47, l_Keypoints_1 = l_useState_0(nil);
    local v48, v49 = l_useState_0(Vector2.one);
    local v51 = v17((l_map_0(v39.Value.Keypoints, function(v50)
        return {
            Time = v50.Time,
            Value = v50.Value,
            Envelope = v50.Envelope
        };
    end)));
    l_useEffect_0(function()
        if v39.Value then
            l_Keypoints_1(nil);
            local l_v46_0 = v46;
            local l_Keypoints_2 = v39.Value.Keypoints;
            l_v46_0(#l_Keypoints_2 > 2 and "<NumberSequence>" or (l_Keypoints_2[1].Value ~= l_Keypoints_2[2].Value and "<NumberSequence>" or tostring(v20(l_Keypoints_2[1].Value, 3))));
        end;
    end, {
        v39.Value,
        l_Keypoints_1,
        v46
    });
    local function _()
        v51.save(function(v54)
            local v56 = NumberSequence.new(l_map_0(v54, function(v55)
                return NumberSequenceKeypoint.new(v55.Time, v55.Value, v55.Envelope);
            end));
            if v56 ~= v39.Value then
                v39.OnChanged(v56);
            end;
        end);
    end;
    local function v58()
        v43(true);
    end;
    local function v62()
        v51.save(function(v59)
            local v61 = NumberSequence.new(l_map_0(v59, function(v60)
                return NumberSequenceKeypoint.new(v60.Time, v60.Value, v60.Envelope);
            end));
            if v61 ~= v39.Value then
                v39.OnChanged(v61);
            end;
        end);
        v43(false);
    end;
    local function v66()
        v51.remove();
        v51.save(function(v63)
            local v65 = NumberSequence.new(l_map_0(v63, function(v64)
                return NumberSequenceKeypoint.new(v64.Time, v64.Value, v64.Envelope);
            end));
            if v65 ~= v39.Value then
                v39.OnChanged(v65);
            end;
        end);
    end;
    local function v71(v67)
        v51.update(v67);
        v51.save(function(v68)
            local v70 = NumberSequence.new(l_map_0(v68, function(v69)
                return NumberSequenceKeypoint.new(v69.Time, v69.Value, v69.Envelope);
            end));
            if v70 ~= v39.Value then
                v39.OnChanged(v70);
            end;
        end);
    end;
    local function v73(v72)
        v51.select(v72);
    end;
    local function v77(v74)
        if v40.current then
            if not v51.isFixedKeypointSelected() then
                local v75 = v51.getSelectedKeypoint();
                local v76 = v16(v40.current, v74);
                v51.update((l_join_0(v75, {
                    Time = v76.X,
                    Value = 1 - v76.Y
                })));
                return ;
            else
                return ;
            end;
        else
            return ;
        end;
    end;
    local function v84(_, v79)
        if v79.UserInputType == Enum.UserInputType.MouseButton1 then
            local v80 = v16(v40.current, (Vector2.new(v79.Position.X, v79.Position.Y)));
            v51.add({
                Time = v80.X,
                Value = 1 - v80.Y,
                Envelope = 0
            });
            v51.save(function(v81)
                local v83 = NumberSequence.new(l_map_0(v81, function(v82)
                    return NumberSequenceKeypoint.new(v82.Time, v82.Value, v82.Envelope);
                end));
                if v83 ~= v39.Value then
                    v39.OnChanged(v83);
                end;
            end);
        end;
    end;
    local function v91(v85, _)
        if v85 == "<NumberSequence>" then
            return ;
        else
            local v87, _ = v38(v85);
            if v87 and v87 ~= v39.Value then
                v39.OnChanged(v87);
                return ;
            else
                local l_v46_1 = v46;
                local l_Keypoints_3 = v39.Value.Keypoints;
                l_v46_1(#l_Keypoints_3 > 2 and "<NumberSequence>" or (l_Keypoints_3[1].Value ~= l_Keypoints_3[2].Value and "<NumberSequence>" or tostring(v20(l_Keypoints_3[1].Value, 3))));
                return ;
            end;
        end;
    end;
    local function v95(v92)
        v46(v92);
        if v92 == "<NumberSequence>" then
            l_Keypoints_1(nil);
            return ;
        else
            local _, v94 = v38(v92);
            l_Keypoints_1(v94);
            return ;
        end;
    end;
    local v96 = {};
    for v97, v98 in v51.keypoints, nil, nil do
        v96["Keypoint_" .. v97] = v1.createElement(v18, {
            Position = Vector2.new(v98.Time, v98.Value),
            Selected = v97 == v51.selectedIndex,
            Tag = "NumberSequenceKeypoint",
            OnMoved = v77,
            OnHoverStart = v15(v73, {
                v97
            }),
            OnDragEnd = function()
                v51.save(function(v99)
                    local v101 = NumberSequence.new(l_map_0(v99, function(v100)
                        return NumberSequenceKeypoint.new(v100.Time, v100.Value, v100.Envelope);
                    end));
                    if v101 ~= v39.Value then
                        v39.OnChanged(v101);
                    end;
                end);
            end
        });
    end;
    for v102 = 1, #v51.keypoints - 1 do
        v96["SequenceLine_" .. v102 .. "_" .. v102 + 1] = v1.createElement(v13, {
            StartKeypoint = v51.keypoints[v102],
            EndKeypoint = v51.keypoints[v102 + 1],
            PlotAbsoluteSize = v48,
            StartKeypointSelected = v51.selectedIndex == v102,
            EndKeypointSelected = v51.selectedIndex == v102 + 1
        });
    end;
    local v103 = v47 ~= nil;
    return v1.createElement(l_Pane_0, {
        [v1.Tag] = "X-Fill"
    }, {
        NumberSequenceInput = v1.createElement(l_TextInput_0, {
            Disabled = v39.Disabled,
            LeadingComponent = v12,
            LeadingComponentProps = {
                OnClick = v58,
                ForwardRef = v41,
                Color = v24,
                Transparency = v39.Value
            },
            OnFocusLost = v91,
            OnTextChanged = v95,
            Size = if not v39.AutomaticSize then UDim2.fromScale(1, 1) else UDim2.new(1, 0, 0, v39.MinimumHeight or 24),
            Text = l_l_useState_0_0,
            [v1.Tag] = if not v103 then nil else "PropertyCellError"
        }),
        Tooltip = v1.createElement(l_Tooltip_0, {
            Enabled = v103,
            Text = v47 or ""
        }),
        NumberSequenceModal = v1.createElement(v19, {
            Open = v42,
            MaxSize = Vector2.new(800, 275),
            MinSize = Vector2.new(600, 225),
            ObjectRef = v41,
            OnFocusLost = v62
        }, {
            Container = v1.createElement(l_Pane_0, {
                [v1.Tag] = "X-Pad X-ColumnM X-FitY"
            }, {
                Plot = v1.createElement(l_Pane_0, {
                    Active = true,
                    LayoutOrder = 1,
                    Size = UDim2.new(1, 0, 0, 200),
                    ForwardRef = v40,
                    OnClick = v84,
                    [v1.Tag] = "Contrast X-Clip",
                    [v1.Change.AbsoluteSize] = function(v104)
                        if v104 then
                            v49(v104.AbsoluteSize);
                        end;
                    end
                }, v96),
                KeypointControls = v1.createElement(v14, {
                    Keypoint = v51.getSelectedKeypoint(),
                    IsKeypointFixed = v51.isFixedKeypointSelected(),
                    OnEdit = v71,
                    OnDelete = v66,
                    OnSave = v62,
                    LayoutOrder = 2
                })
            })
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local _ = require(l_Parent_0.Src.Types);
return function(v3)
    return v1.createElement("TextButton", {
        Text = "",
        ref = v3.ForwardRef,
        [v1.Event.Activated] = v3.OnClick,
        [v1.Tag] = "SequencePreviewButton X-Corner X-Stroke"
    }, {
        Gradient = v1.createElement("UIGradient", {
            Color = v3.Color,
            Transparency = v3.Transparency
        })
    });
end;


return function(v0, v1)
    if v0 then
        assert(v0, "element should be valid");
        local l_AbsoluteSize_0 = v0.AbsoluteSize;
        local v3 = v1 - v0.AbsolutePosition;
        return Vector2.new(math.clamp(v3.X / l_AbsoluteSize_0.X, 0, 1), (math.clamp(v3.Y / l_AbsoluteSize_0.Y, 0, 1)));
    else
        return Vector2.new(0, 0);
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local l_useState_0 = require(l_Parent_0.Packages.React).useState;
local v2 = require(l_Parent_0.Src.Renderers.SequenceRenderers.KeypointSequence);
local _ = require(l_Parent_0.Src.Renderers.SequenceRenderers.Types);
return function(v4)
    local v5, v6 = l_useState_0({
        Keypoints = v4,
        Selected = 1
    });
    return {
        keypoints = v5.Keypoints,
        selectedIndex = v5.Selected,
        reset = function(v7)
            v6({
                Keypoints = v7,
                Selected = 1
            });
        end,
        update = function(v8)
            v6(function(v9)
                return v2.updateSelected(v9, v8);
            end);
        end,
        add = function(v10)
            v6(function(v11)
                return v2.add(v11, v10);
            end);
        end,
        remove = function()
            v6(function(v12)
                return v2.removeSelected(v12);
            end);
        end,
        select = function(v13)
            v6(function(v14)
                return v2.select(v14, v13);
            end);
        end,
        save = function(v15)
            v6(function(v16)
                v15(v16.Keypoints);
                return v16;
            end);
        end,
        isFixedKeypointSelected = function()
            return v2.isFixedKeypointSelected(v5);
        end,
        getSelectedKeypoint = function()
            return v2.selectedKeypoint(v5);
        end
    };
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local v2 = require(l_Parent_0.Packages.Framework);
local l_Pane_0 = v2.UI.Pane;
local l_TextLabel_0 = v2.UI.TextLabel;
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
return function(v6)
    return v1.createElement(l_Pane_0, {}, {
        Label = v1.createElement(l_TextLabel_0, {
            Text = v6.Value,
            [v1.Tag] = "X-FitX TextXAlignLeft"
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local v2 = require(l_Parent_0.Packages.Framework);
local l_Pane_0 = v2.UI.Pane;
local l_TextLabel_0 = v2.UI.TextLabel;
local v5 = require(l_Parent_0.Src.Hooks.useFrameworkContext);
local v6 = require(script.Parent.TokenTooltip);
local v7 = require(script.Parent.TokenSourceLink);
local _ = require(script.Parent.Types);
return function(v9)
    return v1.createElement(l_Pane_0, {
        LayoutOrder = v9.LayoutOrder,
        OnPress = v9.OnActivated,
        [v1.Tag] = "X-Pad DropdownItem"
    }, {
        Tooltip = v1.createElement(v6, {
            TokenInfo = v9.TokenInfo,
            ErrorStyle = v9.ErrorStyle
        }),
        Content = v1.createElement(l_Pane_0, {
            [v1.Tag] = "X-Fill X-RowS X-Middle"
        }, {
            NameText = v1.createElement(l_TextLabel_0, {
                LayoutOrder = 1,
                Text = v5().Localization:getText("Label", "TokenIn", {
                    token = v9.TokenInfo.Name
                }),
                [v1.Tag] = "TextXAlignLeft X-FitX"
            }),
            SourceLink = v9.TokenInfo.Source and v1.createElement(v7, {
                Source = v9.TokenInfo.Source,
                LayoutOrder = 2
            })
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local v2 = require(l_Parent_0.Packages.Framework);
local l_Pane_0 = v2.UI.Pane;
local l_TextLabel_0 = v2.UI.TextLabel;
local l_Image_0 = v2.UI.Image;
local v6 = require(l_Parent_0.Src.Resources.ModernIcons);
local v7 = require(l_Parent_0.Src.Util.MenuHelpers);
local function _(v8)
    local l_v8_Attribute_0 = v8:GetAttribute("StyleCategory");
    if l_v8_Attribute_0 == "Themes" then
        return v6.Standard.ThemeSheet();
    elseif l_v8_Attribute_0 == "Tokens" then
        return v6.Standard.TokenSheet();
    else
        return v7.getClassIcon(v8.ClassName) or "";
    end;
end;
return function(v11)
    local l_createElement_0 = v1.createElement;
    local l_l_Pane_0_0 = l_Pane_0;
    local v14 = {
        LayoutOrder = v11.LayoutOrder,
        [v1.Tag] = "X-Fit X-RowS X-Middle TokenSource"
    };
    local v15 = {};
    local l_createElement_1 = v1.createElement;
    local l_l_Image_0_0 = l_Image_0;
    local v18 = {};
    local l_Source_0 = v11.Source;
    local l_l_Source_0_Attribute_0 = l_Source_0:GetAttribute("StyleCategory");
    v18.Image = if l_l_Source_0_Attribute_0 == "Themes" then v6.Standard.ThemeSheet() else if l_l_Source_0_Attribute_0 == "Tokens" then v6.Standard.TokenSheet() else v7.getClassIcon(l_Source_0.ClassName) or "";
    v18.LayoutOrder = 1;
    v18[v1.Tag] = "TokenSourceIcon";
    v15.Icon = l_createElement_1(l_l_Image_0_0, v18);
    v15.NameLabel = v1.createElement(l_TextLabel_0, {
        LayoutOrder = 2,
        Text = v11.Source.Name,
        [v1.Tag] = "X-Fit"
    });
    return l_createElement_0(l_l_Pane_0_0, v14, v15);
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useState_0 = v1.useState;
local v3 = require(l_Parent_0.Packages.Framework);
local l_Pane_0 = v3.UI.Pane;
local l_TextLabel_0 = v3.UI.TextLabel;
local l_Tooltip_0 = v3.UI.Tooltip;
local l_joinTags_0 = v3.Styling.joinTags;
local v8 = require(l_Parent_0.Src.Hooks.useLayoutOrderCounter);
local v9 = require(l_Parent_0.Src.Hooks.useFrameworkContext);
local v10 = require(l_Parent_0.Src.Enums.TokenValidationError);
local v11 = require(l_Parent_0.Src.Resources.PluginStyles);
local _ = require(l_Parent_0.Src.Reducers.RootReducer);
local v13 = require(script.Parent.TokenSourceLink);
local v14 = require(script.Parent.TokenValuePreview);
local _ = require(script.Parent.Types);
local v16 = Vector2.new(350, 60);
local l_v11_Attribute_0 = v11:GetAttribute("TokenTooltipRowHeight");
local v18 = {
    [v10.IncorrectType] = "TokenErrorIncorrectType",
    [v10.DoesNotExist] = "TokenErrorDoesNotExist",
    [v10.InvalidSyntax] = "TokenErrorInvalidSyntax",
    [v10.CyclicReference] = "TokenErrorCyclicReference",
    Unknown = "ErrorUnknown"
};
return function(v19)
    local v20, v21 = l_useState_0(v16);
    local v22 = v8();
    local l_Localization_0 = v9().Localization;
    local _ = {};
    return v1.createElement(l_Tooltip_0, {
        Content = v1.createElement(l_Pane_0, {
            [v1.Tag] = "X-Column X-Fit",
            [v1.Change.AbsoluteSize] = function(v25)
                if v25 then
                    v21(v25.AbsoluteSize);
                    return ;
                else
                    return ;
                end;
            end
        }, if not (v19.TokenInfo.Error ~= v10.None) then {
            ValuePreview = v1.createElement(v14, {
                LayoutOrder = v22(),
                TokenValue = v19.TokenInfo.Value
            }),
            TypeLabel = v1.createElement(l_TextLabel_0, {
                LayoutOrder = v22(),
                Size = UDim2.fromOffset(0, l_v11_Attribute_0),
                Text = string.format("%s", (typeof(v19.TokenInfo.Value))),
                [v1.Tag] = "X-FitX"
            }),
            SourceContainer = v19.TokenInfo.Source and v1.createElement(l_Pane_0, {
                LayoutOrder = v22(),
                [v1.Tag] = "X-Fit X-Row"
            }, {
                LeadingLabel = v1.createElement(l_TextLabel_0, {
                    LayoutOrder = 1,
                    Size = UDim2.fromOffset(0, l_v11_Attribute_0),
                    Text = l_Localization_0:getText("Label", "TokenDefinedIn"),
                    [v1.Tag] = "X-FitX"
                }),
                SourceLink = v1.createElement(v13, {
                    Source = v19.TokenInfo.Source,
                    LayoutOrder = 2
                })
            })
        } else {
            ErrorLabel = v1.createElement(l_TextLabel_0, {
                LayoutOrder = v22(),
                Size = UDim2.fromOffset(0, l_v11_Attribute_0),
                Text = l_Localization_0:getText("Label", v18[v19.TokenInfo.Error] or v18.Unknown, {
                    expectedType = if not v19.TokenInfo.ExpectedTypes then nil else table.concat(v19.TokenInfo.ExpectedTypes, ", "),
                    actualType = typeof(v19.TokenInfo.Value)
                }),
                [v1.Tag] = l_joinTags_0("X-FitX", v19.ErrorStyle)
            })
        }),
        ContentExtents = v20
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.RoactRodux);
local v2 = require(l_Parent_0.Packages.React);
local v3 = require(l_Parent_0.Packages.Framework);
local l_Pane_0 = v3.UI.Pane;
local l_TextLabel_0 = v3.UI.TextLabel;
local v6 = require(l_Parent_0.Src.Hooks.useLayoutOrderCounter);
local v7 = require(l_Parent_0.Src.Resources.PluginStyles);
local _ = require(l_Parent_0.Src.Reducers.RootReducer);
local _ = require(l_Parent_0.Src.Types);
local v10 = require(script.Parent.attributeValueToString);
local _ = require(script.Parent.Types);
local l_v7_Attribute_0 = v7:GetAttribute("TokenTooltipRowHeight");
return v1.connect(function(v13)
    return {
        Fonts = v13.Asset.Fonts
    };
end)(function(v14)
    local v15 = v6();
    local v16 = typeof(v14.TokenValue);
    return v2.createElement(l_Pane_0, {
        LayoutOrder = v14.LayoutOrder,
        [v2.Tag] = "X-RowM X-Fit"
    }, {
        LeadingComponent = if not (v16 ~= "Color3") or v16 == "BrickColor" then v2.createElement(l_Pane_0, {
            LayoutOrder = v15(),
            BackgroundColor3 = if v16 == "Color3" then v14.TokenValue else v14.TokenValue.Color,
            [v2.Tag] = "X-Corner Icon16"
        }) else if v16 == "ColorSequence" then v2.createElement("Frame", {
            LayoutOrder = v15(),
            [v2.Tag] = "SequencePreviewButton X-Corner X-Stroke"
        }, {
            Gradient = v2.createElement("UIGradient", {
                Color = v14.TokenValue
            })
        }) else if v16 == "NumberSequence" then v2.createElement("Frame", {
            LayoutOrder = v15(),
            [v2.Tag] = "SequencePreviewButton X-Corner X-Stroke"
        }, {
            Gradient = v2.createElement("UIGradient", {
                Transparency = v14.TokenValue
            })
        }) else nil,
        Label = v2.createElement(l_TextLabel_0, {
            LayoutOrder = v15(),
            FontFace = if v16 == "Font" then v14.TokenValue else nil,
            Size = UDim2.fromOffset(0, l_v7_Attribute_0),
            Text = v10(v14.TokenValue, {
                Fonts = v14.Fonts
            }),
            [v2.Tag] = "X-FitX"
        })
    });
end);


local _ = require(script.Parent.Parent.Parent.Parent.Src.Enums.TokenValidationError);
return {};


local _ = require(script.Parent.Parent.Parent.Parent.Src.Types);
local v19 = {
    string = function(v1)
        return string.format("'%s'", v1);
    end,
    number = function(v2)
        return string.format("%.3f", v2);
    end,
    UDim = function(v3)
        return string.format("{%.3f, %d}", v3.Scale, v3.Offset);
    end,
    UDim2 = function(v4)
        return string.format("{%.3f, %d}, {%.3f, %d}", v4.X.Scale, v4.X.Offset, v4.Y.Scale, v4.Y.Offset);
    end,
    Vector2 = function(v5)
        return string.format("{%.3f, %.3f}", v5.X, v5.Y);
    end,
    Vector3 = function(v6)
        return string.format("{%.3f, %.3f, %.3f}", v6.X, v6.Y, v6.Z);
    end,
    Rect = function(v7)
        return string.format("{%.3f, %.3f}, {%.3f, %.3f}", v7.Min.X, v7.Min.Y, v7.Max.X, v7.Max.Y);
    end,
    Color3 = function(v8)
        return string.format("#%s", v8:ToHex());
    end,
    Font = function(v9, v10)
        local v11 = v10.Fonts[v9.Family];
        if not v11 then
            return v9.Family:match("/([^%s/]+)%.json") or v9.Family;
        else
            return v11.Name;
        end;
    end,
    BrickColor = function(v12)
        return v12.Name;
    end,
    CFrame = function(v13)
        local v14, v15, v16 = v13:ToEulerAnglesXYZ();
        return string.format("{%.3f, %.3f, %.3f}, {%.3f, %.3f, %.3f}", v13.Position.X, v13.Position.Y, v13.Position.Z, v14, v15, v16);
    end,
    NumberSequence = function(v17)
        if not (#v17.Keypoints <= 2) or v17.Keypoints[1].Value ~= v17.Keypoints[2].Value then
            return "<NumberSequence>";
        else
            return string.format("%.3f", v17.Keypoints[1].Value);
        end;
    end,
    ColorSequence = function(v18)
        if not (#v18.Keypoints <= 2) or v18.Keypoints[1].Value ~= v18.Keypoints[2].Value then
            return "<ColorSequence>";
        else
            return string.format("#%s", v18.Keypoints[1].Value:ToHex());
        end;
    end
};
return function(v20, v21)
    local v22 = v19[typeof(v20)];
    if not v22 then
        return (tostring(v20));
    else
        return v22(v20, v21);
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.React);
local l_useState_0 = v1.useState;
local l_useEffect_0 = v1.useEffect;
local l_useMemo_0 = v1.useMemo;
local l_useRef_0 = v1.useRef;
local l_useCallback_0 = v1.useCallback;
local v7 = require(l_Parent_0.Packages.Framework);
local l_Pane_0 = v7.UI.Pane;
local l_TextInput_0 = v7.UI.TextInput;
local l_collectArray_0 = require(l_Parent_0.Packages.Dash).collectArray;
local v11 = require(script.TokenAutocompleteItem);
local v12 = require(script.TokenTooltip);
local _ = require(script.Types);
local v14 = require(l_Parent_0.Src.Util.escapeStringPattern);
local v15 = require(l_Parent_0.Src.Util.TokenHelpers);
local v16 = require(l_Parent_0.Src.Enums.TokenValidationError);
local _ = require(l_Parent_0.Src.Types);
local _ = require(l_Parent_0.Src.Renderers.RendererTypes);
return function(v19)
    local v20, v21 = l_useState_0(v19.Value);
    local v22 = l_useRef_0(nil);
    local v23 = l_useMemo_0(function()
        return v15.getAllAttributes(v19.Schema.Instance);
    end, {
        v19.Schema.Instance
    });
    local v24 = l_useMemo_0(function()
        return v15.getDerivedAttributes(v19.Schema.Instance);
    end, {
        v19.Schema.Instance
    });
    local v28 = l_useMemo_0(function()
        local v25, v26 = v15.validateToken(v23, v20, v19.Schema.ExpectedTypes);
        local v27 = nil;
        if v26 == v16.None then
            v27 = v15.getTokenSourceStyleSheet(v19.Schema.Instance, v20);
        end;
        return {
            Name = v20,
            Value = v25,
            Error = v26,
            Source = v27,
            ExpectedTypes = v19.Schema.ExpectedTypes
        };
    end, {
        v20,
        v19.Schema.Instance,
        v19.Schema.ExpectedTypes,
        v23
    });
    local v30 = l_useCallback_0(function(v29)
        v21(v29);
    end, {
        v21
    });
    l_useEffect_0(function()
        v30(v19.Value);
    end, {
        v19.Value,
        v30
    });
    return v1.createElement(l_Pane_0, {}, {
        Input = v1.createElement(l_TextInput_0, {
            GetAutocompleteItems = l_useCallback_0(function(v31)
                if v19.Schema.Instance then
                    local v32 = (v15.parseAttributeName(v31) or v31):lower();
                    local v33 = if not v19.Schema.HideSelfTokens then v23 else v24;
                    return l_collectArray_0(v15.stripStyleEditorMetaAttributes(v33), function(v34, _)
                        if v34:lower():find(v14(v32)) then
                            local v36 = "$" .. v34;
                            local v37, v38 = v15.validateToken(v33, v36, v19.Schema.ExpectedTypes);
                            if v38 ~= v16.None then
                                return nil;
                            else
                                return {
                                    Id = v36,
                                    Value = v36,
                                    TokenInfo = {
                                        Name = v36,
                                        Value = v37,
                                        Error = v38,
                                        Source = v15.getTokenSourceStyleSheet(v19.Schema.Instance, v36),
                                        ExpectedTypes = v19.Schema.ExpectedTypes
                                    }
                                };
                            end;
                        else
                            return nil;
                        end;
                    end);
                else
                    return {};
                end;
            end, {
                v19.Schema,
                v19.Schema.ExpectedTypes
            }),
            OnRenderAutocompleteItem = function(v39, v40, v41, _)
                return v1.createElement(v11, {
                    TokenInfo = v39.TokenInfo,
                    OnActivated = v41,
                    ErrorStyle = v19.Schema.ErrorStyle,
                    LayoutOrder = v40
                });
            end,
            Disabled = v19.Disabled,
            OnTextChanged = v30,
            OnFocusLost = function(v43, _)
                if v43 == v19.Value then
                    return ;
                else
                    v21(v43);
                    v19.OnChanged(v43);
                    return ;
                end;
            end,
            Size = if not v19.AutomaticSize then UDim2.fromScale(1, 1) else UDim2.new(1, 0, 0, v19.MinimumHeight or 24),
            Text = v20,
            ForwardRef = v22,
            [v1.Tag] = if not (v28.Error ~= v16.None) then nil else v19.Schema.ErrorStyle
        }),
        Tooltip = v1.createElement(v12, {
            TokenInfo = v28,
            ErrorStyle = v19.Schema.ErrorStyle
        })
    });
end;


return {
    BrickColor = require(script.BrickColorRenderer),
    Color = require(script.ColorRenderer),
    ColorSequence = require(script.SequenceRenderers.ColorSequenceRenderer),
    Derive = require(script.DeriveRenderer),
    FontFamily = require(script.FontRenderers.FontFamilyRenderer),
    FontStyle = require(script.FontRenderers.FontStyleRenderer),
    FontWeight = require(script.FontRenderers.FontWeightRenderer),
    NumberSequence = require(script.SequenceRenderers.NumberSequenceRenderer),
    PropertyName = require(script.PropertyNameRenderer),
    StaticText = require(script.StaticTextRenderer),
    Theme = require(script.BreadcrumbRadioRenderer),
    TokenReference = require(script.TokenReferenceRenderer)
};


local l_Parent_0 = script.Parent.Parent.Parent;
local _ = require(l_Parent_0.Src.Types);
local v2 = require(l_Parent_0.Src.Util.getStudioTheme);
local function _(v3, v4, v5)
    return function()
        return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(v3, v2(), v4, v5));
    end;
end;
local function _(v7, v8, v9)
    return function()
        return (("rbxasset://studio_svg_textures/Shared/%*/%*/%*/%*.png"):format(v7, v2(), v8, v9));
    end;
end;
local function _(v11)
    return function()
        return (("rbxasset://textures/StyleEditor/%*.png"):format(v11));
    end;
end;
local v13 = {};
local v14 = {};
local v15 = "StyleEditor";
local v16 = "Standard";
local v17 = "StyleSheetDesign";
local l_v15_0 = v15 --[[ copy: 9 -> 12 ]];
local l_v16_0 = v16 --[[ copy: 10 -> 13 ]];
local l_v17_0 = v17 --[[ copy: 11 -> 14 ]];
v14.DesignSheet = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_0, v2(), l_v16_0, l_v17_0));
end;
v15 = "StyleEditor";
v16 = "Standard";
v17 = "StyleSheetToken";
local l_v15_1 = v15 --[[ copy: 9 -> 15 ]];
local l_v16_1 = v16 --[[ copy: 10 -> 16 ]];
local l_v17_1 = v17 --[[ copy: 11 -> 17 ]];
v14.TokenSheet = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_1, v2(), l_v16_1, l_v17_1));
end;
v15 = "StyleEditor";
v16 = "Standard";
v17 = "StyleSheetTheme";
local l_v15_2 = v15 --[[ copy: 9 -> 18 ]];
local l_v16_2 = v16 --[[ copy: 10 -> 19 ]];
local l_v17_2 = v17 --[[ copy: 11 -> 20 ]];
v14.ThemeSheet = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_2, v2(), l_v16_2, l_v17_2));
end;
v13.Standard = v14;
v14 = {};
v15 = "WidgetIcons";
v16 = "Large";
v17 = "StyleEditor";
local l_v15_3 = v15 --[[ copy: 9 -> 21 ]];
local l_v16_3 = v16 --[[ copy: 10 -> 22 ]];
local l_v17_3 = v17 --[[ copy: 11 -> 23 ]];
v14.StyleEditor = function()
    return (("rbxasset://studio_svg_textures/Shared/%*/%*/%*/%*.png"):format(l_v15_3, v2(), l_v16_3, l_v17_3));
end;
v13.Large = v14;
v14 = {};
v15 = "StyleEditor";
v16 = "Standard";
v17 = "UI";
local l_v15_4 = v15 --[[ copy: 9 -> 24 ]];
local l_v16_4 = v16 --[[ copy: 10 -> 25 ]];
local l_v17_4 = v17 --[[ copy: 11 -> 26 ]];
v14.Class = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_4, v2(), l_v16_4, l_v17_4));
end;
v15 = "StyleEditor";
v16 = "Standard";
v17 = "StyleSheetChild";
local l_v15_5 = v15 --[[ copy: 9 -> 27 ]];
local l_v16_5 = v16 --[[ copy: 10 -> 28 ]];
local l_v17_5 = v17 --[[ copy: 11 -> 29 ]];
v14.Child = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_5, v2(), l_v16_5, l_v17_5));
end;
v15 = "StyleEditor";
v16 = "Standard";
v17 = "StyleSheetDescendant";
local l_v15_6 = v15 --[[ copy: 9 -> 30 ]];
local l_v16_6 = v16 --[[ copy: 10 -> 31 ]];
local l_v17_6 = v17 --[[ copy: 11 -> 32 ]];
v14.Descendant = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_6, v2(), l_v16_6, l_v17_6));
end;
v15 = "StyleEditor";
v16 = "Standard";
v17 = "StyleSheetEnumerator";
local l_v15_7 = v15 --[[ copy: 9 -> 33 ]];
local l_v16_7 = v16 --[[ copy: 10 -> 34 ]];
local l_v17_7 = v17 --[[ copy: 11 -> 35 ]];
v14.Enumerator = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_7, v2(), l_v16_7, l_v17_7));
end;
v15 = "StyleEditor";
v16 = "Standard";
v17 = "StyleSheetGuiState";
local l_v15_8 = v15 --[[ copy: 9 -> 36 ]];
local l_v16_8 = v16 --[[ copy: 10 -> 37 ]];
local l_v17_8 = v17 --[[ copy: 11 -> 38 ]];
v14.GuiState = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_8, v2(), l_v16_8, l_v17_8));
end;
v15 = "StyleEditor";
v16 = "Standard";
v17 = "StyleSheetName";
local l_v15_9 = v15 --[[ copy: 9 -> 39 ]];
local l_v16_9 = v16 --[[ copy: 10 -> 40 ]];
local l_v17_9 = v17 --[[ copy: 11 -> 41 ]];
v14.Name = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_9, v2(), l_v16_9, l_v17_9));
end;
v15 = "StyleEditor";
v16 = "Standard";
v17 = "StyleSheetPseudoInstance";
local l_v15_10 = v15 --[[ copy: 9 -> 42 ]];
local l_v16_10 = v16 --[[ copy: 10 -> 43 ]];
local l_v17_10 = v17 --[[ copy: 11 -> 44 ]];
v14.PseudoInstance = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_10, v2(), l_v16_10, l_v17_10));
end;
v15 = "TagEditor";
v16 = "Standard";
v17 = "Tag";
local l_v15_11 = v15 --[[ copy: 9 -> 45 ]];
local l_v16_11 = v16 --[[ copy: 10 -> 46 ]];
v14.Tag = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v15_11, v2(), l_v16_11, v17));
end;
v13.Selectors = v14;
local v53 = "Navigation";
v15 = "Standard";
v16 = "CloseWidget";
local l_v53_0 = v53 --[[ copy: 8 -> 47 ]];
local l_v15_12 = v15 --[[ copy: 9 -> 48 ]];
local l_v16_12 = v16 --[[ copy: 10 -> 49 ]];
v13.close = function()
    return (("rbxasset://studio_svg_textures/Shared/%*/%*/%*/%*.png"):format(l_v53_0, v2(), l_v15_12, l_v16_12));
end;
v53 = "StyleEditor";
v15 = "Large";
v16 = "Color";
local l_v53_1 = v53 --[[ copy: 8 -> 50 ]];
local l_v15_13 = v15 --[[ copy: 9 -> 51 ]];
local l_v16_13 = v16 --[[ copy: 10 -> 52 ]];
v13.colors = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_1, v2(), l_v15_13, l_v16_13));
end;
v53 = "Clipboard";
v15 = "Standard";
v16 = "Copy";
local l_v53_2 = v53 --[[ copy: 8 -> 53 ]];
local l_v15_14 = v15 --[[ copy: 9 -> 54 ]];
local l_v16_14 = v16 --[[ copy: 10 -> 55 ]];
v13.copy = function()
    return (("rbxasset://studio_svg_textures/Shared/%*/%*/%*/%*.png"):format(l_v53_2, v2(), l_v15_14, l_v16_14));
end;
v53 = "TagEditor";
v15 = "Standard";
v16 = "Tag_Delete";
local l_v53_3 = v53 --[[ copy: 8 -> 56 ]];
local l_v15_15 = v15 --[[ copy: 9 -> 57 ]];
local l_v16_15 = v16 --[[ copy: 10 -> 58 ]];
v13.delete = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_3, v2(), l_v15_15, l_v16_15));
end;
v53 = "StyleEditor";
v15 = "Standard";
v16 = "Size";
local l_v53_4 = v53 --[[ copy: 8 -> 59 ]];
local l_v15_16 = v15 --[[ copy: 9 -> 60 ]];
local l_v16_16 = v16 --[[ copy: 10 -> 61 ]];
v13.dimensions = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_4, v2(), l_v15_16, l_v16_16));
end;
v53 = "Clipboard";
v15 = "Standard";
v16 = "Duplicate";
local l_v53_5 = v53 --[[ copy: 8 -> 62 ]];
local l_v15_17 = v15 --[[ copy: 9 -> 63 ]];
local l_v16_17 = v16 --[[ copy: 10 -> 64 ]];
v13.duplicate = function()
    return (("rbxasset://studio_svg_textures/Shared/%*/%*/%*/%*.png"):format(l_v53_5, v2(), l_v15_17, l_v16_17));
end;
v53 = "TagEditor";
v15 = "Standard";
v16 = "Tag_Edit";
local l_v53_6 = v53 --[[ copy: 8 -> 65 ]];
local l_v15_18 = v15 --[[ copy: 9 -> 66 ]];
local l_v16_18 = v16 --[[ copy: 10 -> 67 ]];
v13.edit = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_6, v2(), l_v15_18, l_v16_18));
end;
v53 = "StyleEditor";
v15 = "Standard";
v16 = "Folder";
local l_v53_7 = v53 --[[ copy: 8 -> 68 ]];
local l_v15_19 = v15 --[[ copy: 9 -> 69 ]];
local l_v16_19 = v16 --[[ copy: 10 -> 70 ]];
v13.folder = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_7, v2(), l_v15_19, l_v16_19));
end;
v53 = "StyleEditor";
v15 = "Standard";
v16 = "Typography";
local l_v53_8 = v53 --[[ copy: 8 -> 71 ]];
local l_v15_20 = v15 --[[ copy: 9 -> 72 ]];
local l_v16_20 = v16 --[[ copy: 10 -> 73 ]];
v13.fonts = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_8, v2(), l_v15_20, l_v16_20));
end;
v53 = "StyleEditor";
v15 = "Standard";
v16 = "GridPattern";
local l_v53_9 = v53 --[[ copy: 8 -> 74 ]];
local l_v15_21 = v15 --[[ copy: 9 -> 75 ]];
local l_v16_21 = v16 --[[ copy: 10 -> 76 ]];
v13.gridpattern = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_9, v2(), l_v15_21, l_v16_21));
end;
v53 = "StyleEditor";
v15 = "Large";
v16 = "Color";
local l_v53_10 = v53 --[[ copy: 8 -> 77 ]];
local l_v15_22 = v15 --[[ copy: 9 -> 78 ]];
local l_v16_22 = v16 --[[ copy: 10 -> 79 ]];
v13.palette = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_10, v2(), l_v15_22, l_v16_22));
end;
v53 = "StyleEditor";
v15 = "Standard";
v16 = "More";
local l_v53_11 = v53 --[[ copy: 8 -> 80 ]];
local l_v15_23 = v15 --[[ copy: 9 -> 81 ]];
local l_v16_23 = v16 --[[ copy: 10 -> 82 ]];
v13.more = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_11, v2(), l_v15_23, l_v16_23));
end;
v53 = "StyleEditor";
v15 = "Standard";
v16 = "InsertS";
local l_v53_12 = v53 --[[ copy: 8 -> 83 ]];
local l_v15_24 = v15 --[[ copy: 9 -> 84 ]];
local l_v16_24 = v16 --[[ copy: 10 -> 85 ]];
v13.new = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_12, v2(), l_v15_24, l_v16_24));
end;
v53 = "StyleEditor";
v15 = "Standard";
v16 = "QuickOpen";
local l_v53_13 = v53 --[[ copy: 8 -> 86 ]];
local l_v15_25 = v15 --[[ copy: 9 -> 87 ]];
local l_v16_25 = v16 --[[ copy: 10 -> 88 ]];
v13.open = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_13, v2(), l_v15_25, l_v16_25));
end;
v53 = "Clipboard";
v15 = "Standard";
v16 = "Paste";
local l_v53_14 = v53 --[[ copy: 8 -> 89 ]];
local l_v15_26 = v15 --[[ copy: 9 -> 90 ]];
local l_v16_26 = v16 --[[ copy: 10 -> 91 ]];
v13.paste = function()
    return (("rbxasset://studio_svg_textures/Shared/%*/%*/%*/%*.png"):format(l_v53_14, v2(), l_v15_26, l_v16_26));
end;
v53 = "TagEditor";
v15 = "Standard";
v16 = "Tag_Remove";
local l_v53_15 = v53 --[[ copy: 8 -> 92 ]];
local l_v15_27 = v15 --[[ copy: 9 -> 93 ]];
local l_v16_27 = v16 --[[ copy: 10 -> 94 ]];
v13.remove = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_15, v2(), l_v15_27, l_v16_27));
end;
v53 = "StyleEditor";
v15 = "Standard";
v16 = "Size";
local l_v53_16 = v53 --[[ copy: 8 -> 95 ]];
local l_v15_28 = v15 --[[ copy: 9 -> 96 ]];
local l_v16_28 = v16 --[[ copy: 10 -> 97 ]];
v13.sizes = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_16, v2(), l_v15_28, l_v16_28));
end;
v53 = "TagEditor";
v15 = "Standard";
v16 = "Tag_Add";
local l_v53_17 = v53 --[[ copy: 8 -> 98 ]];
local l_v15_29 = v15 --[[ copy: 9 -> 99 ]];
local l_v16_29 = v16 --[[ copy: 10 -> 100 ]];
v13.set = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_17, v2(), l_v15_29, l_v16_29));
end;
v53 = "StyleEditor";
v15 = "Standard";
v16 = "Typography";
local l_v53_18 = v53 --[[ copy: 8 -> 101 ]];
v13.typography = function()
    return (("rbxasset://studio_svg_textures/Lua/%*/%*/%*/%*.png"):format(l_v53_18, v2(), v15, v16));
end;
v53 = "onboarding";
v13.onboarding = function()
    return (("rbxasset://textures/StyleEditor/%*.png"):format(v53));
end;
return v13;