local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_CorePackages_0.Symbol);
local v4 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.AvatarScreen);
local v5 = require(l_Modules_0.AvatarExperience.Common.Enum.FullView);
local _ = require(l_Modules_0.AvatarExperience.Common.Types);
local v7 = require(l_CorePackages_0.Workspace.Packages.SharedFlags);
local v8 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAccessoryAdjustmentEnabled);
local l_GetFFlagAdjustVRFloor_0 = v7.GetFFlagAdjustVRFloor;
local l_GetFIntMaquettesAppPanelDistanceMultiplierPercentage_0 = v7.GetFIntMaquettesAppPanelDistanceMultiplierPercentage;
local v11 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXItemCardRedesignIXPEnabled);
local v12 = l_GetFIntMaquettesAppPanelDistanceMultiplierPercentage_0() / 100;
local v13 = {
    _150x150 = "w=150&h=150",
    _420x420 = "w=420&h=420"
};
local v14 = {
    PageButtonCornerRadius = 12,
    CatalogThumbnailTypeToSize = {
        Asset = v13,
        BundleThumbnail = v13
    },
    DeviceType = {
        Android = "Android",
        IOS = "iOS",
        Other = "Other"
    },
    NumRecommendedItems = 6,
    AnalyticsTag = "LuaAvatarExperience",
    ProfileAnalyticsTag = "LuaProfile",
    DefaultRigPosition = Vector3.new(11.7777386, 6.76653099, 0.274315476),
    AvatarType = {
        R6 = "R6",
        R15 = "R15"
    },
    ItemPromptType = {
        OpenPurchasePrompt = "OpenPurchasePrompt",
        OpenGoToAvatarEditorPrompt = "OpenGoToAvatarEditorPrompt",
        OpenPremiumUpsellPrompt = "OpenPremiumUpsellPrompt",
        Disabled = "Disabled",
        SoldOut = "SoldOut"
    },
    ItemTilePadding = 10,
    ItemTilePaddingExtraSmall = if not v11() then nil else 5,
    ItemTileTitleMaxLines = 2,
    ItemTileInnerPadding = 4,
    ItemTileTallAspectRatio = 0.7,
    ImpressionsDetectionInterval = 1,
    FocusType = {
        Legs = "Legs",
        Face = "Face",
        Arms = "Arms",
        Head = "Head",
        Neck = "Neck",
        Waist = "Waist",
        Shoulders = "Shoulders"
    },
    AssetCategories = {
        Animation = "Animation",
        Body = "Body",
        Clothing = "Clothing",
        Accessory = "Accessory",
        Emotes = "Emotes"
    },
    PageType = {
        Normal = "Normal",
        Animation = "Animation",
        BodyColors = "BodyColors",
        BodyStyle = "BodyStyle",
        Emotes = "Emotes",
        Other = "Other",
        AllAnimation = "AllAnimation"
    },
    ParticleType = {
        CatalogToAvatarEditor = "CatalogToAvatarEditor",
        AvatarEditorToCatalog = "AvatarEditorToCatalog",
        None = "None"
    },
    BackgroundType = {
        LargerShapes = "LargerShapes",
        NoShapesNoWalls = "NoShapesNoWalls",
        Walls = "Walls"
    },
    NavigationDirection = {
        IS_LEFT = "IS_LEFT",
        IS_RIGHT = "IS_RIGHT"
    },
    ShimmerCardsToDisplay = 30,
    UserInventoryKey = "avatar.inventory.",
    OutfitsKey = "avatar.outfits.",
    OutfitInfoKey = "avatar.outfit.info.",
    RecommendedItemsKey = "avatar.recommendedItems.",
    GetAvatarRulesKey = "avatareditor.getavatarrules",
    SearchCatalogKey = "avatar.search.",
    AvatarHomeRecKey = "avatar.home.recommendations",
    NewOutfitNotificationKey = "avatar.newOutfitNotification",
    NewDHOutfitNotificationKey = "avatar.newDHOutfitNotification",
    PeekHeaderHeight = 25,
    MainNavHeight = 40,
    SubNavHeight = 40,
    PillBarHeight = 52,
    FocusedWidgetTitleHeight = 52,
    ScrollYPositionDetectableEpsilon = 1,
    LandscapeNavWidth = 0.6,
    LandscapeUiMargin = 24,
    LandscapeSceneWidth = 0.4,
    LoadableGridViewCellPadding = 10,
    PortraitSceneHeight = 0.4,
    LandingPagePortraitSceneHeight = 0.5,
    LandingPagePortraitMinItemsHeightPix = 300,
    LandingPageMinTopFrameHeightPix = 100,
    LandingPageMinBottomFrameHeightPix = 65,
    PageButtonForegroundMinHeightPix = 100,
    SceneButtonSize = 44,
    SceneButtonCornerRadius = UDim.new(0, 8),
    SceneButtonHorizontalPadding = 24,
    DynamicHeadSplashMaxViews = 3,
    CommunityCreationsCategoryFilter = "CommunityCreations",
    PremiumCategoryFilter = "Premium",
    MobileScreenXBreakpoint = if not v11() then nil else 792,
    AccessoryAssetTypes = {
        tostring(Enum.AssetType.Hat.Value),
        tostring(Enum.AssetType.FaceAccessory.Value),
        tostring(Enum.AssetType.NeckAccessory.Value),
        tostring(Enum.AssetType.ShoulderAccessory.Value),
        tostring(Enum.AssetType.FrontAccessory.Value),
        tostring(Enum.AssetType.BackAccessory.Value),
        (tostring(Enum.AssetType.WaistAccessory.Value))
    },
    BundleTypeIdStrings = {},
    BundleTypeIdStringToName = {}
};
for _, v16 in (Enum.BundleType:GetEnumItems()), nil, nil do
    v14.BundleTypeIdStrings[v16.Name] = tostring(v16.Value);
    v14.BundleTypeIdStringToName[tostring(v16.Value)] = v16.Name;
end;
v14.AssetTypeIdStrings = {};
v14.AssetTypeIdStringToName = {};
for _, v18 in (Enum.AvatarAssetType:GetEnumItems()), nil, nil do
    v14.AssetTypeIdStrings[v18.Name] = tostring(v18.Value);
    v14.AssetTypeIdStringToName[tostring(v18.Value)] = v18.Name;
end;
v14.DynamicHeadAssetTypes = {
    [v14.AssetTypeIdStrings.EyebrowAccessory] = true,
    [v14.AssetTypeIdStrings.EyelashAccessory] = true,
    [v14.AssetTypeIdStrings.MoodAnimation] = true,
    [v14.AssetTypeIdStrings.DynamicHead] = true
};
v14.OutfitTypes = {
    Avatar = "Avatar",
    DynamicHead = "DynamicHead"
};
v14.ItemTileType = {
    AvatarEditorTile = "AvatarEditorTile",
    BodyColorButton = "BodyColorButton",
    BundleItemTile = "BundleItemTile",
    BundleItemTileNoText = "BundleItemTileNoText",
    CatalogItemTile = "CatalogItemTile",
    RecommendedCatalogItemTile = "RecommendedCatalogItemTile",
    TallCatalogItemTile = "TallCatalogItemTile",
    LookItemTile = "LookItemTile"
};
v14.ItemType = {
    Bundle = "Bundle",
    Asset = "Asset",
    Outfit = "UserOutfit"
};
v14.LookType = {
    Avatar = "Avatar",
    Outfit = "Outfit"
};
v14.confirmItemType = function(v19)
    if v19 == v14.ItemType.Asset then
        return v14.ItemType.Asset;
    elseif v19 == v14.ItemType.Bundle then
        return v14.ItemType.Bundle;
    elseif v19 == v14.ItemType.Outfit then
        return v14.ItemType.Asset;
    else
        return nil;
    end;
end;
v14.AnalyticsContext = {
    [v4.AvatarExperienceLandingPage] = v4.AvatarExperienceLandingPage,
    [v4.Catalog] = v4.Catalog,
    [v4.CatalogSearch] = v4.CatalogSearch,
    [v4.AvatarEditor] = v4.AvatarEditor,
    [v4.ProfilePictureEditorEmotes] = v4.ProfilePictureEditorEmotes,
    [v4.AccessoryAdjustment] = if not v8() then nil else v4.AccessoryAdjustment,
    [v4.LayeredClothingSort] = v4.LayeredClothingSort
};
v14.PagePlayParticleType = {
    [v4.AvatarEditor] = v14.ParticleType.CatalogToAvatarEditor,
    [v4.ProfilePictureEditorEmotes] = v14.ParticleType.CatalogToAvatarEditor,
    [v4.ProfilePictureEditorCamera] = v14.ParticleType.None,
    [v4.ProfilePictureEditorFinal] = v14.ParticleType.None,
    [v4.AvatarBackground] = v14.ParticleType.None,
    [v4.Catalog] = v14.ParticleType.AvatarEditorToCatalog
};
v14.PageBackgroundType = {
    [v4.AvatarEditor] = v14.BackgroundType.LargerShapes,
    [v4.ProfilePictureEditorEmotes] = v14.BackgroundType.LargerShapes,
    [v4.ProfilePictureEditorCamera] = v14.BackgroundType.NoShapesNoWalls,
    [v4.ProfilePictureEditorFinal] = v14.BackgroundType.NoShapesNoWalls,
    [v4.AvatarBackground] = v14.BackgroundType.Walls,
    [v4.Catalog] = v14.BackgroundType.Walls,
    [v4.AvatarExperienceLandingPage] = v14.BackgroundType.Walls
};
v14.AttachmentName = {
    BodyBackAttachment = "BodyBackAttachment",
    BodyFrontAttachment = "BodyFrontAttachment",
    Bone = "Bone",
    FaceCenterAttachment = "FaceCenterAttachment",
    FaceFrontAttachment = "FaceFrontAttachment",
    HairAttachment = "HairAttachment",
    HatAttachment = "HatAttachment",
    LeftAnkleRigAttachment = "LeftAnkleRigAttachment",
    LeftCollarAttachment = "LeftCollarAttachment",
    LeftElbowRigAttachment = "LeftElbowRigAttachment",
    LeftFootAttachment = "LeftFootAttachment",
    LeftGripAttachment = "LeftGripAttachment",
    LeftHipRigAttachment = "LeftHipRigAttachment",
    LeftKneeRigAttachment = "LeftKneeRigAttachment",
    LeftShoulderAttachment = "LeftShoulderAttachment",
    LeftShoulderRigAttachment = "LeftShoulderRigAttachment",
    LeftWristRigAttachment = "LeftWristRigAttachment",
    NeckAttachment = "NeckAttachment",
    NeckRigAttachment = "NeckRigAttachment",
    RightAnkleRigAttachment = "RightAnkleRigAttachment",
    RightCollarAttachment = "RightCollarAttachment",
    RightElbowRigAttachment = "RightElbowRigAttachment",
    RightFootAttachment = "RightFootAttachment",
    RightGripAttachment = "RightGripAttachment",
    RightHipRigAttachment = "RightHipRigAttachment",
    RightKneeRigAttachment = "RightKneeRigAttachment",
    RightShoulderAttachment = "RightShoulderAttachment",
    RightShoulderRigAttachment = "RightShoulderRigAttachment",
    RightWristRigAttachment = "RightWristRigAttachment",
    RootRigAttachment = "RootRigAttachment",
    WaistBackAttachment = "WaistBackAttachment",
    WaistCenterAttachment = "WaistCenterAttachment",
    WaistFrontAttachment = "WaistFrontAttachment",
    WaistRigAttachment = "WaistRigAttachment"
};
v14.PartName = {
    Head = "Head",
    R6_BODY_PARTS = {
        Torso = "Torso",
        LeftLeg = "Left Leg",
        RightLeg = "Right Leg",
        LeftArm = "Left Arm",
        RightArm = "Right Arm"
    },
    R15_BODY_PARTS = {
        UpperTorso = "UpperTorso",
        LowerTorso = "LowerTorso",
        LeftUpperLeg = "LeftUpperLeg",
        LeftLowerLeg = "LeftLowerLeg",
        LeftFoot = "LeftFoot",
        RightUpperLeg = "RightUpperLeg",
        RightLowerLeg = "RightLowerLeg",
        RightFoot = "RightFoot",
        LeftUpperArm = "LeftUpperArm",
        LeftLowerArm = "LeftLowerArm",
        LeftHand = "LeftHand",
        RightUpperArm = "RightUpperArm",
        RightLowerArm = "RightLowerArm",
        RightHand = "RightHand"
    }
};
v14.AssetTypeIdToPartsAndAttachments = {
    [v14.AvatarType.R6] = {
        [v14.AssetTypeIdStrings.Hat] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.HatAttachment
            }
        },
        [v14.AssetTypeIdStrings.HairAccessory] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.HairAttachment
            }
        },
        [v14.AssetTypeIdStrings.FaceAccessory] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.FaceFrontAttachment
            }
        },
        [v14.AssetTypeIdStrings.NeckAccessory] = {
            {
                Part = v14.PartName.Head
            }
        },
        [v14.AssetTypeIdStrings.FrontAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.BackAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.WaistAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.Shirt] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightArm
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftArm
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.TShirt] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightArm
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftArm
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.Pants] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightLeg
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftLeg
            }
        },
        [v14.AssetTypeIdStrings.Head] = {
            {
                Part = v14.PartName.Head
            }
        },
        [v14.AssetTypeIdStrings.Face] = {
            {
                Part = v14.PartName.Head
            }
        },
        [v14.AssetTypeIdStrings.Torso] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.RightArm] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightArm
            }
        },
        [v14.AssetTypeIdStrings.LeftArm] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftArm
            }
        },
        [v14.AssetTypeIdStrings.RightLeg] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightLeg
            }
        },
        [v14.AssetTypeIdStrings.LeftLeg] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftLeg
            }
        },
        [v14.AssetTypeIdStrings.ClimbAnimation] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.FallAnimation] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.IdleAnimation] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.JumpAnimation] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.RunAnimation] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.SwimAnimation] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.WalkAnimation] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.TShirtAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.ShirtAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.PantsAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightLeg
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftLeg
            }
        },
        [v14.AssetTypeIdStrings.JacketAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.SweaterAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.AssetTypeIdStrings.ShortsAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightLeg
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftLeg
            }
        },
        [v14.AssetTypeIdStrings.LeftShoeAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftLeg
            }
        },
        [v14.AssetTypeIdStrings.RightShoeAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightLeg
            }
        },
        [v14.AssetTypeIdStrings.DressSkirtAccessory] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightLeg
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftLeg
            }
        }
    },
    [v14.AvatarType.R15] = {
        [v14.AssetTypeIdStrings.Hat] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.HatAttachment
            }
        },
        [v14.AssetTypeIdStrings.HairAccessory] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.HairAttachment
            }
        },
        [v14.AssetTypeIdStrings.FaceAccessory] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.FaceFrontAttachment
            }
        },
        [v14.AssetTypeIdStrings.NeckAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso,
                Attachment = v14.AttachmentName.NeckAttachment
            }
        },
        [v14.AssetTypeIdStrings.FrontAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso,
                Attachment = v14.AttachmentName.BodyFrontAttachment
            }
        },
        [v14.AssetTypeIdStrings.BackAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso,
                Attachment = v14.AttachmentName.BodyBackAttachment
            }
        },
        [v14.AssetTypeIdStrings.WaistAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.LowerTorso,
                Attachment = v14.AttachmentName.WaistCenterAttachment
            }
        },
        [v14.AssetTypeIdStrings.Shirt] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperArm
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperArm
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.TShirt] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperArm
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperArm
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.Pants] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.RightLowerLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftLowerLeg
            }
        },
        [v14.AssetTypeIdStrings.Head] = {
            {
                Part = v14.PartName.Head
            }
        },
        [v14.AssetTypeIdStrings.Face] = {
            {
                Part = v14.PartName.Head
            }
        },
        [v14.AssetTypeIdStrings.Torso] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.RightArm] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperArm
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.RightLowerArm
            }
        },
        [v14.AssetTypeIdStrings.LeftArm] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperArm
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftLowerArm
            }
        },
        [v14.AssetTypeIdStrings.RightLeg] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.RightLowerLeg
            }
        },
        [v14.AssetTypeIdStrings.LeftLeg] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftLowerLeg
            }
        },
        [v14.AssetTypeIdStrings.ClimbAnimation] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.FallAnimation] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.IdleAnimation] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.JumpAnimation] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.RunAnimation] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.SwimAnimation] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.WalkAnimation] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.TShirtAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.ShirtAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.PantsAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.RightLowerLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftLowerLeg
            }
        },
        [v14.AssetTypeIdStrings.JacketAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.SweaterAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.AssetTypeIdStrings.ShortsAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperLeg
            }
        },
        [v14.AssetTypeIdStrings.LeftShoeAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftFoot
            }
        },
        [v14.AssetTypeIdStrings.RightShoeAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightFoot
            }
        },
        [v14.AssetTypeIdStrings.DressSkirtAccessory] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperLeg
            }
        }
    }
};
v14.AvatarTypeFocusGroups = {
    [v14.AvatarType.R15] = {
        [v14.FocusType.Legs] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.RightLowerLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftLowerLeg
            }
        },
        [v14.FocusType.Face] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.FaceFrontAttachment
            }
        },
        [v14.FocusType.Arms] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.FocusType.Head] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.HatAttachment
            },
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.NeckRigAttachment
            }
        },
        [v14.FocusType.Neck] = {
            {
                Part = v14.PartName.Head
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.UpperTorso
            }
        },
        [v14.FocusType.Waist] = {
            {
                Part = v14.PartName.R15_BODY_PARTS.LowerTorso
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperLeg
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperLeg
            }
        },
        [v14.FocusType.Shoulders] = {
            {
                Part = v14.PartName.Head
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.RightUpperArm
            },
            {
                Part = v14.PartName.R15_BODY_PARTS.LeftUpperArm
            }
        }
    },
    [v14.AvatarType.R6] = {
        [v14.FocusType.Legs] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.RightLeg
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftLeg
            }
        },
        [v14.FocusType.Face] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.FaceFrontAttachment
            }
        },
        [v14.FocusType.Arms] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.FocusType.Head] = {
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.HatAttachment
            },
            {
                Part = v14.PartName.Head,
                Attachment = v14.AttachmentName.NeckRigAttachment
            }
        },
        [v14.FocusType.Neck] = {
            {
                Part = v14.PartName.Head
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            }
        },
        [v14.FocusType.Waist] = {
            {
                Part = v14.PartName.R6_BODY_PARTS.Torso
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.RightLeg
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftLeg
            }
        },
        [v14.FocusType.Shoulders] = {
            {
                Part = v14.PartName.Head
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.RightArm
            },
            {
                Part = v14.PartName.R6_BODY_PARTS.LeftArm
            }
        }
    }
};
v14.AssetTypeIdToCategory = {
    [v14.AssetTypeIdStrings.TShirt] = v14.AssetCategories.Clothing,
    [v14.AssetTypeIdStrings.Hat] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.HairAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.FaceAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.NeckAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.ShoulderAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.FrontAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.BackAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.WaistAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.Shirt] = v14.AssetCategories.Clothing,
    [v14.AssetTypeIdStrings.Pants] = v14.AssetCategories.Clothing,
    [v14.AssetTypeIdStrings.Gear] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.Head] = v14.AssetCategories.Body,
    [v14.AssetTypeIdStrings.Face] = v14.AssetCategories.Body,
    [v14.AssetTypeIdStrings.Torso] = v14.AssetCategories.Body,
    [v14.AssetTypeIdStrings.RightArm] = v14.AssetCategories.Body,
    [v14.AssetTypeIdStrings.LeftArm] = v14.AssetCategories.Body,
    [v14.AssetTypeIdStrings.RightLeg] = v14.AssetCategories.Body,
    [v14.AssetTypeIdStrings.LeftLeg] = v14.AssetCategories.Body,
    [v14.AssetTypeIdStrings.ClimbAnimation] = v14.AssetCategories.Animation,
    [v14.AssetTypeIdStrings.FallAnimation] = v14.AssetCategories.Animation,
    [v14.AssetTypeIdStrings.IdleAnimation] = v14.AssetCategories.Animation,
    [v14.AssetTypeIdStrings.JumpAnimation] = v14.AssetCategories.Animation,
    [v14.AssetTypeIdStrings.RunAnimation] = v14.AssetCategories.Animation,
    [v14.AssetTypeIdStrings.SwimAnimation] = v14.AssetCategories.Animation,
    [v14.AssetTypeIdStrings.WalkAnimation] = v14.AssetCategories.Animation,
    [v14.AssetTypeIdStrings.EmoteAnimation] = v14.AssetCategories.Animation,
    [v14.AssetTypeIdStrings.TShirtAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.ShirtAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.PantsAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.JacketAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.SweaterAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.ShortsAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.LeftShoeAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.RightShoeAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.DressSkirtAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.MoodAnimation] = v14.AssetCategories.Animation,
    [v14.AssetTypeIdStrings.EyebrowAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.EyelashAccessory] = v14.AssetCategories.Accessory,
    [v14.AssetTypeIdStrings.DynamicHead] = v14.AssetCategories.Body
};
v14.GradientBackgroundAssetTypeIds = {
    [v14.AssetTypeIdStrings.TShirtAccessory] = true,
    [v14.AssetTypeIdStrings.ShirtAccessory] = true,
    [v14.AssetTypeIdStrings.PantsAccessory] = true,
    [v14.AssetTypeIdStrings.JacketAccessory] = true,
    [v14.AssetTypeIdStrings.SweaterAccessory] = true,
    [v14.AssetTypeIdStrings.ShortsAccessory] = true,
    [v14.AssetTypeIdStrings.LeftShoeAccessory] = true,
    [v14.AssetTypeIdStrings.RightShoeAccessory] = true,
    [v14.AssetTypeIdStrings.DressSkirtAccessory] = true
};
v14.AssetCategoriesLocalized = {
    [v14.AssetCategories.Animation] = "Feature.Catalog.Label.Animation",
    [v14.AssetCategories.Body] = "Feature.Catalog.Label.Body",
    [v14.AssetCategories.Clothing] = "Feature.Avatar.Heading.Clothing",
    [v14.AssetCategories.Accessory] = "Feature.Avatar.Label.Accessory",
    [v14.AssetCategories.Emotes] = "Feature.Catalog.Label.Emotes"
};
v14.AssetTypeLocalized = {
    [v14.AssetTypeIdStrings.TShirt] = "Feature.Avatar.Label.ClassicTShirts",
    [v14.AssetTypeIdStrings.Hat] = "Feature.Avatar.Label.Hat",
    [v14.AssetTypeIdStrings.HairAccessory] = "Feature.Avatar.Label.Hair",
    [v14.AssetTypeIdStrings.FaceAccessory] = "Feature.Avatar.Label.Face",
    [v14.AssetTypeIdStrings.NeckAccessory] = "Feature.Avatar.Label.Neck",
    [v14.AssetTypeIdStrings.ShoulderAccessory] = "Feature.Avatar.Label.Shoulder",
    [v14.AssetTypeIdStrings.FrontAccessory] = "Feature.Avatar.Label.Front",
    [v14.AssetTypeIdStrings.BackAccessory] = "Feature.Avatar.Label.Back",
    [v14.AssetTypeIdStrings.WaistAccessory] = "Feature.Avatar.Label.Waist",
    [v14.AssetTypeIdStrings.Shirt] = "Feature.Avatar.Label.ClassicShirts",
    [v14.AssetTypeIdStrings.Pants] = "Feature.Avatar.Label.ClassicPants",
    [v14.AssetTypeIdStrings.Gear] = "Feature.Avatar.Label.Gear",
    [v14.AssetTypeIdStrings.Head] = "Feature.Avatar.Label.Head",
    [v14.AssetTypeIdStrings.Face] = "Feature.Avatar.Label.Face",
    [v14.AssetTypeIdStrings.Torso] = "Feature.Avatar.Label.Torso",
    [v14.AssetTypeIdStrings.RightArm] = "Feature.Avatar.Label.RightArms",
    [v14.AssetTypeIdStrings.LeftArm] = "Feature.Avatar.Label.LeftArms",
    [v14.AssetTypeIdStrings.LeftLeg] = "Feature.Avatar.Label.LeftLegs",
    [v14.AssetTypeIdStrings.RightLeg] = "Feature.Avatar.Label.RightLegs",
    [v14.AssetTypeIdStrings.ClimbAnimation] = "Feature.Avatar.Label.Climb",
    [v14.AssetTypeIdStrings.FallAnimation] = "Feature.Avatar.Label.Fall",
    [v14.AssetTypeIdStrings.IdleAnimation] = "Feature.Avatar.Label.Idle",
    [v14.AssetTypeIdStrings.JumpAnimation] = "Feature.Avatar.Label.Jump",
    [v14.AssetTypeIdStrings.RunAnimation] = "Feature.Avatar.Label.Run",
    [v14.AssetTypeIdStrings.SwimAnimation] = "Feature.Avatar.Label.Swim",
    [v14.AssetTypeIdStrings.WalkAnimation] = "Feature.Avatar.Label.Walk",
    [v14.AssetTypeIdStrings.EmoteAnimation] = "Feature.Avatar.Label.Emote",
    [v14.AssetTypeIdStrings.TShirtAccessory] = "Feature.Avatar.Label.TShirt",
    [v14.AssetTypeIdStrings.ShirtAccessory] = "Feature.Avatar.Label.Shirt",
    [v14.AssetTypeIdStrings.PantsAccessory] = "Feature.Avatar.Label.Pants",
    [v14.AssetTypeIdStrings.JacketAccessory] = "Feature.Avatar.Label.Jacket",
    [v14.AssetTypeIdStrings.SweaterAccessory] = "Feature.Avatar.Label.Sweater",
    [v14.AssetTypeIdStrings.ShortsAccessory] = "Feature.Avatar.Label.Shorts",
    [v14.AssetTypeIdStrings.LeftShoeAccessory] = "Feature.Avatar.Label.LeftShoe",
    [v14.AssetTypeIdStrings.RightShoeAccessory] = "Feature.Avatar.Label.RightShoe",
    [v14.AssetTypeIdStrings.DressSkirtAccessory] = "Feature.Avatar.Label.DressesAndSkirts",
    [v14.AssetTypeIdStrings.EyelashAccessory] = "Feature.Catalog.Label.Eyelash",
    [v14.AssetTypeIdStrings.EyebrowAccessory] = "Feature.Catalog.Label.Eyebrow",
    [v14.AssetTypeIdStrings.MoodAnimation] = "Feature.Avatar.Label.Mood",
    [v14.AssetTypeIdStrings.DynamicHead] = "Feature.Avatar.Label.DynamicHead"
};
v14.AssetTypeIdStringToHumanoidDescriptionProp = {
    [tostring(Enum.AssetType.TShirt.Value)] = "GraphicTShirt",
    [tostring(Enum.AssetType.Hat.Value)] = "HatAccessory",
    [tostring(Enum.AssetType.Shirt.Value)] = "Shirt",
    [tostring(Enum.AssetType.Pants.Value)] = "Pants",
    [tostring(Enum.AssetType.Head.Value)] = "Head",
    [tostring(Enum.AssetType.Face.Value)] = "Face",
    [tostring(Enum.AssetType.Torso.Value)] = "Torso",
    [tostring(Enum.AssetType.RightArm.Value)] = "RightArm",
    [tostring(Enum.AssetType.LeftArm.Value)] = "LeftArm",
    [tostring(Enum.AssetType.LeftLeg.Value)] = "LeftLeg",
    [tostring(Enum.AssetType.RightLeg.Value)] = "RightLeg",
    [tostring(Enum.AssetType.HairAccessory.Value)] = "HairAccessory",
    [tostring(Enum.AssetType.FaceAccessory.Value)] = "FaceAccessory",
    [tostring(Enum.AssetType.NeckAccessory.Value)] = "NeckAccessory",
    [tostring(Enum.AssetType.ShoulderAccessory.Value)] = "ShouldersAccessory",
    [tostring(Enum.AssetType.FrontAccessory.Value)] = "FrontAccessory",
    [tostring(Enum.AssetType.BackAccessory.Value)] = "BackAccessory",
    [tostring(Enum.AssetType.WaistAccessory.Value)] = "WaistAccessory",
    [tostring(Enum.AssetType.ClimbAnimation.Value)] = "ClimbAnimation",
    [tostring(Enum.AssetType.FallAnimation.Value)] = "FallAnimation",
    [tostring(Enum.AssetType.IdleAnimation.Value)] = "IdleAnimation",
    [tostring(Enum.AssetType.JumpAnimation.Value)] = "JumpAnimation",
    [tostring(Enum.AssetType.RunAnimation.Value)] = "RunAnimation",
    [tostring(Enum.AssetType.SwimAnimation.Value)] = "SwimAnimation",
    [tostring(Enum.AssetType.WalkAnimation.Value)] = "WalkAnimation",
    [tostring(Enum.AssetType.MoodAnimation.Value)] = "MoodAnimation",
    [tostring(Enum.AssetType.DynamicHead.Value)] = "Head"
};
v14.HumanoidDescriptionScaleToName = {
    bodyType = "BodyTypeScale",
    head = "HeadScale",
    height = "HeightScale",
    proportion = "ProportionScale",
    depth = "DepthScale",
    width = "WidthScale"
};
v14.HumanoidDescriptionBodyColorIdToName = {
    headColorId = "HeadColor",
    leftArmColorId = "LeftArmColor",
    leftLegColorId = "LeftLegColor",
    rightArmColorId = "RightArmColor",
    rightLegColorId = "RightLegColor",
    torsoColorId = "TorsoColor"
};
v14.BodyPartForSkinColoringIdToHumanoidDescription = {
    headColor3 = "HeadColor",
    leftArmColor3 = "LeftArmColor",
    leftLegColor3 = "LeftLegColor",
    rightArmColor3 = "RightArmColor",
    rightLegColor3 = "RightLegColor",
    torsoColor3 = "TorsoColor"
};
v14.GamepadInputTypes = {
    [Enum.UserInputType.Keyboard] = true,
    [Enum.UserInputType.Gamepad1] = true,
    [Enum.UserInputType.Gamepad2] = true,
    [Enum.UserInputType.Gamepad3] = true,
    [Enum.UserInputType.Gamepad4] = true,
    [Enum.UserInputType.Gamepad5] = true,
    [Enum.UserInputType.Gamepad6] = true,
    [Enum.UserInputType.Gamepad7] = true,
    [Enum.UserInputType.Gamepad8] = true
};
v14.ThumbstickDeadzone = 0.2;
v14.SceneGamepad = {
    FullViewIndicatorTag = v3.named("FullViewIndicatorTag")
};
v14.AnimationCategoryCameraZoomRadius = 5;
v14.SceneRowHeight = 28;
v14.LayeredClothingOrder = {
    [v14.AssetTypeIdStrings.EyebrowAccessory] = 0,
    [v14.AssetTypeIdStrings.EyelashAccessory] = 1,
    [v14.AssetTypeIdStrings.Pants] = 2,
    [v14.AssetTypeIdStrings.Shirt] = 3,
    [v14.AssetTypeIdStrings.TShirt] = 4,
    [v14.AssetTypeIdStrings.LeftShoeAccessory] = 5,
    [v14.AssetTypeIdStrings.RightShoeAccessory] = 5,
    [v14.AssetTypeIdStrings.PantsAccessory] = 6,
    [v14.AssetTypeIdStrings.ShortsAccessory] = 7,
    [v14.AssetTypeIdStrings.DressSkirtAccessory] = 8,
    [v14.AssetTypeIdStrings.TShirtAccessory] = 9,
    [v14.AssetTypeIdStrings.ShirtAccessory] = 10,
    [v14.AssetTypeIdStrings.SweaterAccessory] = 11,
    [v14.AssetTypeIdStrings.JacketAccessory] = 12,
    [v14.AssetTypeIdStrings.HairAccessory] = 13
};
v14.LCIgnoredForSorting = {
    [v14.AssetTypeIdStrings.HairAccessory] = true,
    [v14.AssetTypeIdStrings.EyebrowAccessory] = true,
    [v14.AssetTypeIdStrings.EyelashAccessory] = true
};
v14.AssetTypeIdToAccessoryTypeEnum = {
    [tostring(Enum.AssetType.Hat.Value)] = Enum.AccessoryType.Hat,
    [tostring(Enum.AssetType.HairAccessory.Value)] = Enum.AccessoryType.Hair,
    [tostring(Enum.AssetType.FaceAccessory.Value)] = Enum.AccessoryType.Face,
    [tostring(Enum.AssetType.NeckAccessory.Value)] = Enum.AccessoryType.Neck,
    [tostring(Enum.AssetType.ShoulderAccessory.Value)] = Enum.AccessoryType.Shoulder,
    [tostring(Enum.AssetType.FrontAccessory.Value)] = Enum.AccessoryType.Front,
    [tostring(Enum.AssetType.BackAccessory.Value)] = Enum.AccessoryType.Back,
    [tostring(Enum.AssetType.WaistAccessory.Value)] = Enum.AccessoryType.Waist,
    [tostring(Enum.AssetType.TShirtAccessory.Value)] = Enum.AccessoryType.TShirt,
    [tostring(Enum.AssetType.ShirtAccessory.Value)] = Enum.AccessoryType.Shirt,
    [tostring(Enum.AssetType.PantsAccessory.Value)] = Enum.AccessoryType.Pants,
    [tostring(Enum.AssetType.JacketAccessory.Value)] = Enum.AccessoryType.Jacket,
    [tostring(Enum.AssetType.SweaterAccessory.Value)] = Enum.AccessoryType.Sweater,
    [tostring(Enum.AssetType.ShortsAccessory.Value)] = Enum.AccessoryType.Shorts,
    [tostring(Enum.AssetType.LeftShoeAccessory.Value)] = Enum.AccessoryType.LeftShoe,
    [tostring(Enum.AssetType.RightShoeAccessory.Value)] = Enum.AccessoryType.RightShoe,
    [tostring(Enum.AssetType.DressSkirtAccessory.Value)] = Enum.AccessoryType.DressSkirt,
    [tostring(Enum.AssetType.EyebrowAccessory.Value)] = Enum.AccessoryType.Eyebrow,
    [tostring(Enum.AssetType.EyelashAccessory.Value)] = Enum.AccessoryType.Eyelash
};
v14.AccessoryTypeEnumToAssetTypeId = {};
for v20, v21 in v14.AssetTypeIdToAccessoryTypeEnum, nil, nil do
    v14.AccessoryTypeEnumToAssetTypeId[v21] = v20;
end;
v14.LayeredAssetTypes = {
    [tostring(Enum.AssetType.TShirtAccessory.Value)] = Enum.AccessoryType.TShirt,
    [tostring(Enum.AssetType.ShirtAccessory.Value)] = Enum.AccessoryType.Shirt,
    [tostring(Enum.AssetType.PantsAccessory.Value)] = Enum.AccessoryType.Pants,
    [tostring(Enum.AssetType.JacketAccessory.Value)] = Enum.AccessoryType.Jacket,
    [tostring(Enum.AssetType.SweaterAccessory.Value)] = Enum.AccessoryType.Sweater,
    [tostring(Enum.AssetType.ShortsAccessory.Value)] = Enum.AccessoryType.Shorts,
    [tostring(Enum.AssetType.LeftShoeAccessory.Value)] = Enum.AccessoryType.LeftShoe,
    [tostring(Enum.AssetType.RightShoeAccessory.Value)] = Enum.AccessoryType.RightShoe,
    [tostring(Enum.AssetType.DressSkirtAccessory.Value)] = Enum.AccessoryType.DressSkirt,
    [tostring(Enum.AssetType.HairAccessory.Value)] = Enum.AccessoryType.Hair,
    [tostring(Enum.AssetType.EyebrowAccessory.Value)] = Enum.AccessoryType.Eyebrow,
    [tostring(Enum.AssetType.EyelashAccessory.Value)] = Enum.AccessoryType.Eyelash
};
v14.AssetCategory = {
    LCTops = "LCTops",
    LCBottoms = "LCBottoms"
};
v14.AssetCategoryToAssetTypes = {
    [v14.AssetCategory.LCTops] = {
        v14.AssetTypeIdStrings.ShirtAccessory,
        v14.AssetTypeIdStrings.TShirtAccessory,
        v14.AssetTypeIdStrings.SweaterAccessory
    },
    [v14.AssetCategory.LCBottoms] = {
        v14.AssetTypeIdStrings.PantsAccessory,
        v14.AssetTypeIdStrings.ShortsAccessory,
        v14.AssetTypeIdStrings.DressSkirtAccessory
    }
};
v14.NavOuterPadding = 6;
v14.NavInnerPadding = 6;
v14.NavButtonElementPadding = 4;
v14.NavButtonElementMargin = 4;
v14.NavCornerSize = 8;
v14.NavButtonBorderSize = 2;
v14.NavSubButtonInnerPadding = 4;
v14.AssetTypeToAssetCategory = {};
for v22, v23 in v14.AssetCategoryToAssetTypes, nil, nil do
    for _, v25 in v23, nil, nil do
        v14.AssetTypeToAssetCategory[v25] = v22;
    end;
end;
v14.MinTileWidthToFontHeightRatio = 6;
v14.SmallRadioButtonHeight = 56;
v14.SortAndFiltersRowHeight = 45;
v14.SortAndFiltersSmallRowHeight = 32;
v14.SortAndFiltersSectionPadding = 8;
v14.FullViewPageDefaults = {
    [v4.AccessoryAdjustment] = v5.None,
    [v4.LayeredClothingSort] = v5.None,
    [v4.AvatarEditor] = v5.None,
    [v4.AvatarExperienceLandingPage] = v5.None,
    [v4.Catalog] = v5.None,
    [v4.CatalogSearch] = v5.None,
    [v4.ProfilePictureEditorEmotes] = v5.None
};
local v26 = not l_GetFFlagAdjustVRFloor_0() and 4.6 or -0.4;
local v27 = -2 * v12;
local v28 = -4.4 * v12;
local v29 = 3.2 * v12;
local v30 = (3.52 * v12 - 3.52) / 2;
v14.VR = {
    SPACE_BETWEEN_STACKED_PANELS = 0.01,
    PanelInfo = {
        Left = {
            PartSize = Vector2.new(2.2, 3.52) * v12,
            Offset = not not l_GetFFlagAdjustVRFloor_0() and Vector3.new(-v29, v26, v27) or CFrame.lookAt(Vector3.new(-v29, v26, v27), (Vector3.new(0, v26, 0))),
            VirtualScreenSize = Vector2.new(360, 704)
        },
        Right = {
            PartSize = Vector2.new(2.2, 3.52) * v12,
            Offset = not not l_GetFFlagAdjustVRFloor_0() and Vector3.new(v29, v26, v27) or CFrame.lookAt(Vector3.new(v29, v26, v27), (Vector3.new(0, v26, 0))),
            VirtualScreenSize = Vector2.new(360, 704)
        },
        Center = {
            PartSize = Vector2.new(3, 3.52) * v12,
            Offset = not not l_GetFFlagAdjustVRFloor_0() and Vector3.new(0, v26, v28) or CFrame.lookAt(Vector3.new(0, v26, v28), (Vector3.new(0, v26, 0))),
            VirtualScreenSize = Vector2.new(600, 704)
        }
    },
    AvatarEditorNavBarSize = Vector2.new(2.5, 0.3) * v12,
    AvatarEditorNavBarPosition = Vector3.new(0, (not l_GetFFlagAdjustVRFloor_0() and 6.9 or 1.9) + v30, v28),
    AvatarEditorNavBarOrientation = Vector3.new(0, 7 + v30, 0),
    AvatarEditorNavBarResolution = Vector2.new(650, 75)
};
v14.Counter = {
    PREFIX = "AvatarExperience_",
    CatalogView = "CatalogView",
    SearchView = "SearchView",
    EditorView = "EditorView",
    CatalogItemDetailsView = "CatalogItemDetailsView",
    SearchItemDetailsView = "SearchItemDetailsView",
    CatalogFiltersView = "CatalogFiltersView",
    SearchFiltersView = "SearchFiltersView",
    OthersView = "OthersView",
    TopLevelErrors = {
        CatalogViewError = "CatalogViewError",
        SearchViewError = "SearchViewError",
        EditorViewError = "EditorViewError",
        CatalogItemDetailsViewError = "CatalogItemDetailsViewError",
        SearchItemDetailsViewError = "SearchItemDetailsViewError",
        CatalogFiltersViewError = "CatalogFiltersViewError",
        SearchFiltersViewError = "SearchFiltersViewError",
        UnknownViewError = "UnknownViewError"
    },
    TopLevelLatency = {
        CatalogViewLatency = "CatalogViewLatency",
        SearchViewLatency = "SearchViewLatency",
        EditorViewLatency = "EditorViewLatency",
        CatalogItemDetailsViewLatency = "CatalogItemDetailsViewLatency",
        SearchItemDetailsViewLatency = "SearchItemDetailsViewLatency",
        CatalogFiltersViewLatency = "CatalogFiltersViewLatency",
        SearchFiltersViewLatency = "SearchFiltersViewLatency",
        UnknownViewLatency = "UnknownViewLatency"
    },
    TopLevelFPS = {
        Catalog = "tracking-pattern:catalog-view",
        Search = "tracking-pattern:search-view",
        Editor = "tracking-pattern:editor-view",
        CatalogItemDetails = "tracking-pattern:catalog-item-details-view",
        SearchItemDetails = "tracking-pattern:search-item-details-view",
        CatalogFilters = "tracking-pattern:catalog-filters-view",
        SearchFilters = "tracking-pattern:search-filters-view",
        Unknown = "tracking-pattern:unknown-view-latency"
    },
    PopularLooksWidgetHomeView = "PopularLooksWidgetHomeView",
    PopularLooksWidgetHomeTileClicked = "PopularLooksWidgetHomeTileClicked",
    PopularLooksWidgetSearchTileClicked = "PopularLooksWidgetSearchTileClicked",
    PopularLooksWidgetHomeBuyClicked = "PopularLooksWidgetHomeBuyClicked",
    PopularLooksWidgetSearchBuyClicked = "PopularLooksWidgetSearchBuyClicked",
    CatalogRefresh = {
        StaleResults = "CatalogRefreshStaleResults"
    },
    AvatarEditorServiceErrors = {
        GetRecommendedAssets = "AvatarEditorServiceGetRecommendedAssetsError",
        GetOutfits = "AvatarEditorServiceGetOutfitsError",
        CreateOutfit = "AvatarEditorServiceCreateOutfitError",
        GetAvatarRules = "AvatarEditorServiceGetAvatarRulesError",
        GetInventory = "AvatarEditorServiceGetInventoryError",
        SearchCatalog = "AvatarEditorServiceSearchCatalogError",
        GetBatchItemDetails = "AvatarEditorServiceGetBatchItemDetailsError",
        GetRecommendedBundles = "AvatarEditorServiceGetRecommendedBundlesError",
        NoPromptSetFavorite = "AvatarEditorServiceNoPromptSetFavoriteError",
        NoPromptSaveAvatarThumbnailCustomization = "AvatarEditorServiceNoPromptSaveAvatarThumbnailCustomizationError",
        NoPromptCreateOutfit = "AvatarEditorServiceNoPromptCreateOutfitError",
        GetOutfitDetails = "AvatarEditorServiceGetOutfitDetailsError",
        FetchAssetOrBundleInfo = "AvatarEditorServiceFetchAssetOrBundleInfoError",
        FetchBundleInfo = "AvatarEditorServiceFetchBundleInfoError",
        GetAssetFavorite = "AvatarEditorServiceGetAssetFavoriteError",
        GetBundleFavorite = "AvatarEditorServiceGetBundleFavoriteError",
        SetBundleFavorite = "AvatarEditorServiceSetBundleFavoriteError",
        SetAssetFavorite = "AvatarEditorServiceSetAssetFavoriteError",
        ConformToAvatarRules = "AvatarEditorServiceConformToAvatarRulesError",
        NoPromptSaveAvatar = "AvatarEditorServiceNoPromptSaveAvatarError",
        PromptSaveAvatarCompleted = "AvatarEditorServicePromptSaveAvatarCompletedError"
    }
};
return v14;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Packages.React);
local _ = require(l_CorePackages_0.Workspace.Packages.AppCommonLib);
return (v1.createContext(nil));


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local v2 = require(l_CorePackages_0.Packages.React);
local v3 = require(l_CoreGui_0.RobloxGui.Modules.AvatarExperience.Common.Util.makeEvents);
local v4 = require(script.Parent.BodyDataCallbacksContext);
local v5 = require(script.Parent.BodyDataEventsContext);
return function(v6)
    local v7, v8 = v2.useState({});
    local v9, v10 = v2.useState({});
    v2.useEffect(function()
        local v11, v12, v13 = v3({
            "setBodyColors"
        });
        v8(v11);
        v10(v12);
        return function()
            for _, v15 in v13, nil, nil do
                v15();
            end;
        end;
    end, {});
    return v2.createElement(v4.Provider, {
        value = v9
    }, {
        BodyDataEventsContextProvider = v2.createElement(v5.Provider, {
            value = v7
        }, v6.children)
    });
end;


local l_CorePackages_0 = game:GetService("CorePackages");
return (require(l_CorePackages_0.Roact).createContext(require(l_CorePackages_0.Packages.RoactGamepad).createRefCache()));


local v0 = require(game:GetService("CorePackages").Roact);
local v1 = v0.Component:extend("PageObjectManagerProvider");
local v2 = v0.createContext(nil);
v1.render = function(v3)
    return v0.createElement(v2.Provider, {
        value = v3.props.pageObjectManager
    }, v3.props[v0.Children]);
end;
return {
    Provider = v1,
    Consumer = v2.Consumer
};


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(game:GetService("CoreGui").RobloxGui.Modules.AvatarExperience.Common.Util.makeEvents);
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(script.Parent.SceneInteractionCallbacksContext);
local v4 = require(script.Parent.SceneInteractionEventsContext);
local v5 = v2.PureComponent:extend("SceneInteractionProvider");
v5.init = function(v6)
    local v7, v8, v9 = v1({
        "panByDistance",
        "panByPixels",
        "rotateByRadians",
        "rotateByPixels",
        "setAngularVelocityByPixels",
        "zoomStraight",
        "zoomToPoint"
    });
    v6.events = v7;
    v6.callbacks = v8;
    v6.cleanups = v9;
end;
v5.render = function(v10)
    return v2.createElement(v3.Provider, {
        value = v10.callbacks
    }, {
        SceneInteractionEventsProvider = v2.createElement(v4.Provider, {
            value = v10.events
        }, v10.props[v2.Children])
    });
end;
v5.willUnmount = function(v11)
    for _, v13 in v11.cleanups, nil, nil do
        v13();
    end;
end;
return v5;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Packages.React);
local v3 = require(l_Modules_0.AvatarExperience.Common.Context.AdaptiveScrollingContext);
return function()
    return v2.useContext(v3);
end;


local v0 = require(game:GetService("CorePackages").Packages.React);
local v1 = require(script.Parent.BodyDataCallbacksContext);
return function()
    return v0.useContext(v1);
end;


local v0 = require(game:GetService("CorePackages").Packages.React);
local v1 = require(script.Parent.BodyDataEventsContext);
return function()
    return v0.useContext(v1);
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Packages.Dash);
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_Modules_0.AvatarExperience.Common.Context.AdaptiveScrollingContext);
local _ = require(l_CorePackages_0.Workspace.Packages.AppCommonLib);
return function(v6)
    return function(v7)
        return v3.createElement(v4.Consumer, {
            render = function(v8)
                return v3.createElement(v6, v2.join(v7, {
                    adaptiveScrolling = v8
                }));
            end
        });
    end;
end;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.AvatarExperience.Common.Context.NamedRefsContext);
local v2 = require(l_Modules_0.AvatarExperience.Common.withContextValue);
return function(v3)
    return v2(v3, v1.Consumer, "namedRefs");
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Packages.Dash);
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_Modules_0.AvatarExperience.Common.Context.WidgetInfoContext);
return function(v5)
    return function(v6)
        return v3.createElement(v4.Consumer, {
            render = function(v7)
                return v3.createElement(v5, v2.join(v6, {
                    widgetInfo = v7
                }));
            end
        });
    end;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(script.Parent.SceneInteractionCallbacksContext);
return function(v4)
    return function(v5)
        return v2.createElement(v3.Consumer, {
            render = function(v6)
                return v2.createElement(v4, v1.Dictionary.join(v5, v6));
            end
        });
    end;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(script.Parent.SceneInteractionEventsContext);
return function(v4)
    return function(v5)
        return v2.createElement(v3.Consumer, {
            render = function(v6)
                return v2.createElement(v4, v1.Dictionary.join(v5, {
                    interactionEvents = v6
                }));
            end
        });
    end;
end;


local l_IXPService_0 = game:GetService("IXPService");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_useExternalEvent_0 = require(l_CorePackages_0.UIBlox).Core.Hooks.useExternalEvent;
local v4 = require(l_Modules_0.AvatarExperience.Common.Debug.LogTree).logger("ax.init");
local l_AvatarExperienceFeatureLayer_0 = require(l_Modules_0.LuaApp.Experiment.AppUserLayers).AvatarExperienceFeatureLayer;
return function()
    l_useExternalEvent_0(l_IXPService_0.OnUserLayerLoadingStatusChanged, function(v6)
        v4:info("IXPLayerLoadingStatusChanged: {}", v6);
        local l_l_IXPService_0_UserLayerLoadingStatus_0 = l_IXPService_0:GetUserLayerLoadingStatus();
        local l_l_IXPService_0_UserStatusForLayer_0 = l_IXPService_0:GetUserStatusForLayer(l_AvatarExperienceFeatureLayer_0);
        if l_l_IXPService_0_UserLayerLoadingStatus_0 ~= v6 then
            v4:info("IXPLayerLoadingStatusChanged -- latest status differs: {}", l_l_IXPService_0_UserLayerLoadingStatus_0);
        end;
        if l_l_IXPService_0_UserStatusForLayer_0 ~= v6 then
            v4:info("IXPLayerLoadingStatusChanged -- status for layer {} differs: {}", l_AvatarExperienceFeatureLayer_0, l_l_IXPService_0_UserStatusForLayer_0);
        end;
    end);
    return nil;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Packages.React);
local v3 = require(l_Modules_0.LuaApp.Hooks.useRoactService);
local v4 = require(l_Modules_0.LuaApp.Services.RoactAnalytics);
local l_NavigationEvents_0 = require(l_CorePackages_0.RoactNavigation).NavigationEvents;
return function(v6)
    local v7 = v3(v4);
    local function v8()
        v7.EventStream:sendEventDeferred(v6.eventContext, v6.eventName, v6.additionalArgs);
    end;
    v2.useEffect(function()
        if v6.when == "OnMount" then
            v7.EventStream:sendEventDeferred(v6.eventContext, v6.eventName, v6.additionalArgs);
        end;
    end, {});
    if v6.when == "OnFocus" then
        return v2.createElement(l_NavigationEvents_0, {
            onDidFocus = v8
        });
    else
        return nil;
    end;
end;


return {
    obfuscateUserId = function(v0)
        if v0 == nil then
            return "<User ID: nil>";
        elseif v0 == 0 then
            return "<User ID: 0>";
        else
            return "<User ID: ####>";
        end;
    end,
    obfuscatePlayer = function(v1)
        if v1 == nil then
            return "<Player: nil>";
        else
            local v2 = true;
            if v1.UserId ~= 0 then
                v2 = v1.UserId == nil;
            end;
            return string.format("<Player: ####%s>", not v2 and "" or " [NO USER ID]");
        end;
    end
};


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Packages.Dash);
local v3 = require(l_CorePackages_0.Lumberyak);
local l_Levels_0 = v3.Logger.Levels;
local v5 = require(l_Modules_0.LuaApp.LuaAppBacktraceLogger);
local v6 = require(l_Modules_0.AvatarExperience.Common.Debug.SharedSink);
local v7 = game:DefineFastInt("LogTreeMaxLogsToBacktrace", 1000);
local v8 = game:DefineFastString("DebugLogTags", "");
local v9 = game:DefineFastString("BacktraceLogTags", "");
local v10 = v3.Logger.new(nil, "root");
local v11 = tick();
local v12 = 0;
local v13 = {
    ["*"] = v10
};
v10:setContext({
    tostring = function(v14)
        if typeof(v14) == "string" then
            return v14;
        else
            local v15 = getmetatable(v14);
            if not v15 or not v15.__tostring then
                return v2.pretty(v14);
            else
                return (tostring(v14));
            end;
        end;
    end
});
local function _(v16, v17)
    local v18 = v3.Logger.new(v16, v17);
    v13[v17] = v18;
    return v18;
end;
local function v30(v20)
    local v21 = v20:split(".");
    local v22 = "";
    local l_v10_0 = v10;
    for v24, v25 in v21, nil, nil do
        if v25 == "" then
            error("Invalid log tag: " .. v20);
        end;
        v22 = if v24 == 1 then v25 else v22 .. "." .. v25;
        local v26 = v13[v22];
        if not v26 then
            local l_l_v10_0_0 = l_v10_0;
            local l_v22_0 = v22;
            local v29 = v3.Logger.new(l_l_v10_0_0, l_v22_0);
            v13[l_v22_0] = v29;
            v26 = v29;
        end;
        l_v10_0 = v26;
    end;
    return l_v10_0;
end;
local function v32(v31)
    return v13[v31] or v30(v31);
end;
local function _(v33)
    local v34 = v33:split(":");
    if #v34 ~= 2 then
        warn("Invalid LogTree value: " .. v33);
        return nil, nil;
    else
        local v35, v36 = table.unpack(v34);
        return v2.trim(v35), l_Levels_0.fromString(v36);
    end;
end;
local function v42(v38, v39, v40)
    local v41 = string.format("%s [%s] %s", v39.level:sub(1, 1), v39.loggerName, v38);
    if v40 then
        v41 = string.format("[%0.3f] %s", tick() - v11, v41);
    end;
    return v41;
end;
local function v48(_, v44, v45)
    local l_level_0 = v45.level;
    local v47 = v42(v44, v45, false);
    if not (l_level_0 ~= l_Levels_0.Error) or l_level_0 == l_Levels_0.Warning then
        warn(v47);
        return ;
    else
        print(v47);
        return ;
    end;
end;
local function v52(_, v50, v51)
    v12 = v12 + 1;
    if v7 < v12 then
        if v7 > 0 and v12 == v7 + 1 then
            v5:addLumberyakLog(string.format("[Log limit reached: %d]", v7));
        end;
        return ;
    else
        v5:addLumberyakLog((v42(v50, v51, true)));
        return ;
    end;
end;
local function _(v53)
    return v2.filter(v2.splitOn(v53, "%s+"), function(v54)
        return #v54 > 0;
    end);
end;
local function v68(v56, v57)
    local v58 = v6.new(v57);
    for _, v61 in (v2.filter(v2.splitOn(v56, "%s+"), function(v59)
        return #v59 > 0;
    end)), nil, nil do
        local v62 = v61:split(":");
        local v63, v64;
        if #v62 ~= 2 then
            warn("Invalid LogTree value: " .. v61);
            v63 = nil;
            v64 = nil;
        else
            local v65, v66 = table.unpack(v62);
            v63 = v2.trim(v65);
            v64 = l_Levels_0.fromString(v66);
        end;
        if v63 ~= nil then
            local v67 = tostring(v63);
            (v13[v67] or v30(v67)):addSink((v58:newSink(v64)));
        end;
    end;
end;
v68(v8, v48);
v68(v9, v52);
return {
    logger = v32
};


local v0 = {};
v0.__index = v0;
v0.new = function(v1)
    local v2 = {
        log = v1,
        lastContext = nil
    };
    setmetatable(v2, v0);
    return v2;
end;
v0.newSink = function(v3, v4)
    return {
        maxLevel = v4,
        log = function(v5, v6, v7)
            if v7 ~= v3.lastContext then
                v3.lastContext = v7;
                v3.log(v5, v6, v7);
            end;
        end
    };
end;
return v0;


local function _(v0, v1)
    local l_status_0, l_result_0 = pcall(function()
        return v0[v1];
    end);
    if not l_status_0 then
        return nil;
    else
        return (tostring(l_result_0));
    end;
end;
local function v15(v5, v6)
    local l_Name_0 = v5.Name;
    local v8 = false;
    local v9 = v6 or {};
    for _, v11 in v9, nil, nil do
        local l_status_1, l_result_1 = pcall(function()
            return v5[v11];
        end);
        local v14 = if not l_status_1 then nil else tostring(l_result_1);
        if v14 then
            if v8 then
                l_Name_0 = l_Name_0 .. ", ";
            else
                v8 = true;
                l_Name_0 = l_Name_0 .. "   (";
            end;
            l_Name_0 = l_Name_0 .. v11 .. "=" .. v14;
        end;
    end;
    if v8 then
        l_Name_0 = l_Name_0 .. ")";
    end;
    return l_Name_0 .. "\n";
end;
local function v16(v17, v18, v19)
    if v17 == nil then
        return v19 .. "[nil Instance]\n";
    elseif v17.Name == nil then
        return v19 .. "[Invalid Instance]\n";
    else
        local v20 = v19 .. v15(v17, v18);
        for _, v22 in v17:GetChildren() do
            v20 = v20 .. v16(v22, v18, v19 .. "   ");
        end;
        return v20;
    end;
end;
return function(v23, v24)
    return (v16(v23, v24, ""));
end;


local v0 = 1;
local v1 = setmetatable({}, {
    __mode = "k"
});
return function(v2)
    if v2 == nil then
        return 0;
    else
        local v3 = v1[v2];
        if not v3 then
            v3 = v0;
            v0 = v0 + 1;
            v1[v2] = v3;
        end;
        return v3;
    end;
end;


return function(v0)
    local v1 = 1 + (v0 or 5);
    local v2 = debug.traceback();
    local v3 = nil;
    local v4 = 1;
    for _ = 1, v1 do
        local _, v7 = v2:find("\n", v4, true);
        if v7 then
            v4 = v7 + 1;
            if not v3 then
                v3 = v4;
            end;
        else
            return v2:sub(v3 or 1);
        end;
    end;
    return v2:sub(v3 or 1, v4 - 1);
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(game:GetService("CoreGui").RobloxGui.Modules.AvatarExperience.Common.Debug.LogTree);
local l_Levels_0 = require(l_CorePackages_0.Lumberyak).Logger.Levels;
local v3 = {
    [l_Levels_0.Error] = "pink",
    [l_Levels_0.Warning] = "orange",
    [l_Levels_0.Info] = "yellow",
    [l_Levels_0.Debug] = "cyan",
    [l_Levels_0.Trace] = "green"
};
local v4 = {
    [l_Levels_0.Error] = 1,
    [l_Levels_0.Warning] = 2,
    [l_Levels_0.Info] = 3,
    [l_Levels_0.Debug] = 4,
    [l_Levels_0.Trace] = 5
};
local function _(v5)
    local v6 = v3[v5];
    return not not v6 and string.format(" fillcolor=%s style=filled", v6) or "";
end;
local function _(v8)
    return v4[v8] or 0;
end;
local function _(v10, v11)
    return (v4[v11] or 0) < (v4[v10] or 0) and v10 or v11;
end;
local function v13(v14, v15)
    local v16 = "";
    local v17 = tostring(v14.name);
    for _, v19 in v14.sinks, nil, nil do
        v17 = v17 .. "\\n(sink: " .. tostring(v19.maxLevel) .. ")";
        local l_v15_0 = v15;
        local l_maxLevel_0 = v19.maxLevel;
        if (v4[l_maxLevel_0] or 0) < (v4[l_v15_0] or 0) then
            v15 = l_v15_0;
            if v15 then
                continue;
            end;
        end;
        v15 = l_maxLevel_0;
    end;
    local l_v16_0 = v16;
    local l_format_0 = string.format;
    local v24 = "\"%s\" [label=\"%s\"%s];\n";
    local l_name_0 = v14.name;
    local l_v17_0 = v17;
    local v27 = v3[v15];
    v16 = l_v16_0 .. l_format_0(v24, l_name_0, l_v17_0, not not v27 and string.format(" fillcolor=%s style=filled", v27) or "");
    for v28, _ in v14.children, nil, nil do
        v16 = v16 .. string.format("\"%s\" -> \"%s\"\n", tostring(v28.name), v14.name) .. v13(v28, v15);
    end;
    return v16;
end;
return function()
    return "digraph {\n" .. v13((v1.logger("*"))) .. "}\n";
end;


return require(game:GetService("CorePackages").enumerate)(script.Name, {
    Featured = "Featured",
    Recommended = "Recommended",
    Characters = "Characters",
    Clothing = "Clothing",
    Accessories = "Accessories",
    Head = "Head",
    Body = "Body",
    AllAnimations = "AllAnimations"
});


return require(game:GetService("CorePackages").enumerate)(script.Name, {
    Featured = "Featured",
    Limited = "Limited",
    Community = "Community",
    Premium = "Premium",
    Shirts = "Shirts",
    TShirts = "TShirts",
    Sweaters = "Sweaters",
    Jackets = "Jackets",
    Pants = "Pants",
    DressesAndSkirts = "DressSkirt",
    Shorts = "Shorts",
    Shoes = "Shoes",
    ClassicShirts = "Classic Shirts",
    ClassicTShirts = "Classic T-Shirts",
    ClassicPants = "Classic Pants",
    Hats = "Hats",
    Face = "Face",
    Neck = "Neck",
    Shoulder = "Shoulder",
    Front = "Front",
    Back = "Back",
    Waist = "Waist",
    Gear = "Gear",
    Heads = "Heads",
    Hair = "Hair",
    ClassicHeads = "Classic Heads",
    ClassicFaces = "Classic Faces",
    AnimationBundles = "AnimationBundles",
    Emotes = "Emotes"
});


return (require(game:GetService("CorePackages").enumerate)(script.Name, {
    "None",
    "SceneFullView",
    "UIFullView"
}));


return {
    All = "All",
    Collectibles = "Collectibles",
    Premium = "Premium"
};


return {
    AllTime = "AllTime",
    PastWeek = "PastWeek",
    PastDay = "PastDay"
};


return {
    Relevance = "Relevance",
    MostFavorited = "MostFavorited",
    Bestselling = "Bestselling",
    PriceLowToHigh = "PriceLowToHigh",
    PriceHighToLow = "PriceHighToLow",
    RecentlyCreated = "RecentlyCreated",
    RecentlyUpdated = "RecentlyUpdated"
};


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Packages.React);
local v2 = require(l_CorePackages_0.Packages.ReactFocusNavigation);
local l_FocusNavigationEventNameEnum_0 = require(l_CorePackages_0.Workspace.Packages.FocusNavigationUtils).FocusNavigationEventNameEnum;
local v4 = require(l_CorePackages_0.Packages.InputHandlers);
local v5 = require(script.Parent.useOpenQuickMenuCallback);
local v6 = require(script.Parent.useQuickMenuAvailable);
local v7 = {
    [Enum.KeyCode.ButtonStart] = l_FocusNavigationEventNameEnum_0.OpenQuickMenu
};
return function(v8, v9)
    local v10 = v6();
    local v11 = v5(v8.overlayClosedCallback);
    return v2.useEventHandlerMap(v1.useMemo(function()
        return {
            [l_FocusNavigationEventNameEnum_0.OpenQuickMenu] = {
                handler = if not v10 then nil else v4.onRelease(v11)
            }
        };
    end, {
        v8
    }), (v2.useEventMap(v7, v9)));
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
local v3 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.AvatarRouteContext);
local v4 = require(l_CorePackages_0.Packages.React);
local _ = require(l_Modules_0.AvatarExperience.Common.Types);
return function()
    return v2.isNotNil(v4.useContext(v3), "AvatarRouteContext");
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Packages.React);
local l_useSelector_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector;
local v4 = require(l_Modules_0.AvatarExperience.Common.Utils);
local v5 = require(l_Modules_0.AvatarExperience.Common.Hooks.useAvatarRoute);
return function()
    local v6 = v5();
    return l_useSelector_0((v2.useCallback(function(v7)
        return v4.getCategoryInfoFromState(v7, v6);
    end, {
        v6
    })));
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_CorePackages_0.Packages.React);
local l_useRouteName_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.useRouteName;
local l_useSelector_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector;
local l_useDispatch_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useDispatch;
local v7 = require(l_Modules_0.LuaApp.Hooks.useRoactService);
local v8 = require(l_Modules_0.AvatarExperience.Common.Services.Analytics);
local _ = require(l_Modules_0.AvatarExperience.Common.Enum.FullView);
local v10 = require(l_Modules_0.AvatarExperience.Common.Selectors.selectIsFullView);
local v11 = require(l_Modules_0.AvatarExperience.Common.Thunks.SetFullView);
return function()
    local v12 = l_useRouteName_0();
    local v14 = l_useSelector_0((v3.useCallback(function(v13)
        return v10(v13, v12);
    end, {
        v12
    })));
    local v15 = v7(v8);
    local v16 = l_useDispatch_0();
    return v14, (v3.useCallback(function(v17)
        v16(v11(v15, v12, v17));
    end, {
        v15,
        v12,
        v16
    }));
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local v1 = require(game:GetService("CorePackages").Packages.React);
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_Modules_0.AvatarExperience.Common.Hooks.useAvatarRoute);
local v4 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.NavigationUtils);
return function(v5)
    local v6, v7 = v1.useState(false);
    local v8 = v3();
    v1.useEffect(function()
        v7((v4.isWithinViewContext(v8, v5)));
    end, {
        v8
    });
    return v6;
end;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.React);
local l_useSelector_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector;
local l_PerformFetch_0 = require(l_CorePackages_0.Workspace.Packages.Http).PerformFetch;
local v5 = require(l_Modules_0.AvatarExperience.Common.Selectors.selectItemInfo);
local v6 = require(l_Modules_0.AvatarExperience.Catalog.CatalogUtils);
local v7 = require(l_Modules_0.LuaApp.Enum.RetrievalStatus);
return function(v8, v9)
    local v11 = l_useSelector_0(function(v10)
        return l_PerformFetch_0.GetStatus(v10, v6.GetItemDetailsKey(v8, v9));
    end);
    return (l_useSelector_0((v2.useCallback(function(v12)
        if v11 ~= v7.NotStarted then
            return v5(v12.AvatarExperience, v8, v9);
        else
            return nil;
        end;
    end, {
        v11
    }))));
end;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.React);
local l_useSelector_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector;
local v4 = require(l_Modules_0.AvatarExperience.Common.Selectors.selectItemInfo);
local v5 = require(l_Modules_0.AvatarExperience.Catalog.CatalogUtils);
local _ = require(l_Modules_0.AvatarExperience.Common.Models.CollectibleInfo);
local v7 = require(l_Modules_0.AvatarExperience.Catalog.CatalogConstants);
local _ = require(l_Modules_0.AvatarExperience.Common.Types);
local v9 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagEnableCollectiblesSaleLocationCheck);
local v10 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXLimitedBundlesHandleNewData);
return function(v11, v12)
    local v14 = l_useSelector_0(function(v13)
        return v4(v13.AvatarExperience, v11, v12);
    end);
    local v15 = if not v14 then nil else v14.collectibleItemId;
    local v16 = if not v10() then nil else v14 and v14.isLimitedCollectible;
    local v18 = l_useSelector_0((v2.useCallback(function(v17)
        if not v15 then
            return nil;
        else
            return v17.AvatarExperience.Common.Collectibles.CollectiblesItemInfo[v15];
        end;
    end, {
        v15
    })));
    local v20 = l_useSelector_0((v2.useCallback(function(v19)
        if not v10() or v16 then
            if not v15 then
                return nil;
            else
                return v19.AvatarExperience.Common.Collectibles.CollectiblesResellableInstances[v15];
            end;
        else
            return nil;
        end;
    end, {
        v15,
        if not v10() then nil else v16
    })));
    local v21 = false;
    local v22 = false;
    local v23 = false;
    if v14 then
        if v14.isResellable then
            v21 = true;
        end;
        if v14.isTradeable then
            v22 = true;
        end;
        if v14.hasAttribution then
            v23 = true;
        end;
    end;
    local v24 = 0;
    local v25 = false;
    local v26 = false;
    local v27 = not not v14 and if v14.resellerUserAssetIds then #v14.resellerUserAssetIds > 0 else false;
    local v28 = if not not v14 and v14.soldCount then v14.soldCount else 0;
    local v29 = if not not v14 and v14.totalQuantity then v14.totalQuantity else 0;
    local v30 = if not not v14 and v14.originalPrice then v14.originalPrice else 0;
    local v31 = if not not v14 and v14.averagePrice then v14.averagePrice else 0;
    local l_None_0 = v7.ResaleRestriction.None;
    if v18 then
        l_None_0 = if not v18.resaleRestriction then v7.ResaleRestriction.None else v18.resaleRestriction;
        v27 = not not v18.hasResellers and v18.hasResellers;
        local v33 = v18.assetStock or 0;
        local v34 = v18.unitsAvailableForConsumption or 0;
        v28 = if not not v33 and v34 then v33 - v34 else 0;
        v30 = v18.price or 0;
        v31 = v18.recentAveragePrice or 0;
        v29 = v18.assetStock or 0;
        v24 = v18.quantityLimitPerUser or 0;
        v26 = v5.reachQuantityLimit(v18, v20);
        v25 = v5.shouldShowQuantityLimit(v24);
    end;
    local v35 = v28 < v29;
    if v9() then
        v35 = v35 and v5.isOriginalStockSellableInShop(v18);
    end;
    return {
        averagePrice = v31,
        hasResellers = v27,
        hasAttribution = v23,
        isStockAvailable = v35,
        isTradeable = v22,
        isResellable = v21,
        itemStock = v29,
        originalPrice = v30,
        collectiblesResaleRestriction = l_None_0,
        quantityLimit = v24,
        reachedQuantityLimit = v26,
        shouldShowQuantityLimit = v25,
        soldCount = v28
    };
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Packages.React);
local v2 = require(l_CorePackages_0.Packages.RoactNavigation);
local l_useNavigation_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.useNavigation;
return function(v4)
    local v5 = l_useNavigation_0();
    v1.useEffect(function()
        local v6 = {};
        local function _(v7, v8)
            if v4[v8] then
                table.insert(v6, v5.addListener(v7, v4[v8]));
            end;
        end;
        local l_WillFocus_0 = v2.Events.WillFocus;
        if v4.onWillFocus then
            table.insert(v6, v5.addListener(l_WillFocus_0, v4.onWillFocus));
        end;
        l_WillFocus_0 = v2.Events.WillBlur;
        if v4.onWillBlur then
            table.insert(v6, v5.addListener(l_WillFocus_0, v4.onWillBlur));
        end;
        l_WillFocus_0 = v2.Events.DidFocus;
        if v4.onDidFocus then
            table.insert(v6, v5.addListener(l_WillFocus_0, v4.onDidFocus));
        end;
        l_WillFocus_0 = v2.Events.DidBlur;
        if v4.onDidBlur then
            table.insert(v6, v5.addListener(l_WillFocus_0, v4.onDidBlur));
        end;
        return function()
            for _, v12 in v6, nil, nil do
                v12.remove();
            end;
        end;
    end, {
        v4.onWillFocus,
        v4.onWillBlur,
        v4.onDidFocus,
        v4.onDidBlur
    });
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_CorePackages_0.Packages.React);
local l_useNavigation_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.useNavigation;
local v5 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.AvatarScreen);
return function(v6)
    local v7 = l_useNavigation_0();
    return (v3.useCallback(function()
        if v7 then
            v7.navigate(v5.AvatarExperienceQuickMenu, {
                onOverlayClosed = v6
            });
        end;
    end, {
        v6,
        v7
    }));
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.Debug.logOnOverlayClosed);
local v5 = require(l_Modules_0.AvatarExperience.Common.Hooks.useAvatarRoute);
local l_GetFFlagEnableAppCommonInputHooks_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagEnableAppCommonInputHooks;
local v7 = nil;
v7 = if not l_GetFFlagEnableAppCommonInputHooks_0() then require(l_CorePackages_0.Packages.ReactFocusNavigation).useLastInputMethod else require(l_CorePackages_0.Workspace.Packages.FocusNavigationUtils).useLastInputMethod;
return function(v8)
    local l_name_0 = v5().opaque.name;
    local v10 = v7() == "Gamepad";
    return (v3.useCallback(function()
        local l_v10_0 = v10;
        v4(l_name_0, l_v10_0);
        if not (not l_v10_0 or not v8) then
            v8.captureFocus();
        end;
    end, {
        v10,
        l_name_0,
        v8
    }));
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_Modules_0.AvatarExperience.Common.Enum.FullView);
local l_IsVRAppBuild_0 = require(l_CorePackages_0.Workspace.Packages.AppCommonLib).IsVRAppBuild;
local l_useSelector_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector;
local v7 = require(l_Modules_0.AvatarExperience.Common.Hooks.useAvatarRoute);
local l_GetFFlagEnableAppCommonInputHooks_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagEnableAppCommonInputHooks;
local v9 = nil;
v9 = if not l_GetFFlagEnableAppCommonInputHooks_0() then require(l_CorePackages_0.Packages.ReactFocusNavigation).useLastInputMethod else require(l_CorePackages_0.Workspace.Packages.FocusNavigationUtils).useLastInputMethod;
return function()
    local l_name_0 = v7().opaque.name;
    local v12 = l_useSelector_0((v3.useCallback(function(v11)
        return v11.AvatarExperience.Common.FullView[l_name_0] == v4.SceneFullView;
    end, {
        l_name_0
    })));
    local v13 = v9() == "Gamepad";
    if not (v12 or l_IsVRAppBuild_0()) and v13 then
        return true;
    else
        return false;
    end;
end;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.LuaApp.Hooks.useRoactService);
local v2 = require(l_Modules_0.AvatarExperience.Catalog.Services.Analytics);
local v3 = require(l_Modules_0.AvatarExperience.Common.Constants);
return function()
    local v4 = v1(v2);
    return function(v5)
        v4.sendCounter(v3.Counter.PREFIX .. v5);
    end;
end;


local v0 = require(game:GetService("CorePackages").Packages.React);
return function(v1)
    local v2 = v0.useRef(v1);
    v2.current = v1;
    return v2;
end;