System: You will be given a Luau script (that has been decompiled). You will rename the variables and functions to sound better, make the script more coherent, and add comments to areas of the script. Return the fixed script without adding ``` as we handle that. If no script has been given, do not produce any output. Do not respond with anything but the script
User: -- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/wyButjTMhM)
-- Decompiled on 2024-11-03 06:14:50
-- Luau version 6, Types version 3
-- Time taken: 0.048910 seconds

local Players_upvr = game:GetService("Players")
local ReplicatedStorage_upvr = game:GetService("ReplicatedStorage")
local RunService_upvr = game:GetService("RunService")
local ContentProvider_upvr = game:GetService("ContentProvider")
local LocalPlayer_upvr = Players_upvr.LocalPlayer
local CurrentCamera_upvr = workspace.CurrentCamera
local Shared = ReplicatedStorage_upvr:WaitForChild("Shared")
local Data = ReplicatedStorage_upvr:WaitForChild("Data")
local Assets_upvr = ReplicatedStorage_upvr:WaitForChild("Assets")
local module_9_upvr = require(ReplicatedStorage_upvr:WaitForChild("Packages"):WaitForChild("Knit"))
local module_6_upvr = require(Shared:WaitForChild("Button"))
local module_3_upvr = require(Shared:WaitForChild("Tween"))
local module_10_upvr = require(Shared:WaitForChild("ScrollingFrameAutoScale"))
local module_15_upvr = require(Data:WaitForChild("Constants"))
local any_CreateController_result1 = module_9_upvr.CreateController({
	Name = script.Name;
})
local var18_upvw
local var19_upvw
local var20_upvw
local var21_upvw
local var22_upvw
local var23_upvw
local var24_upvw
local var25_upvw
local var26_upvw
local var27_upvw
local var28_upvw
local var29_upvw
local var30_upvw
local var31_upvw
local tbl_15_upvr = {}
local tbl_4_upvr = {}
local var34_upvw = true
local var35_upvw = false
local function _(arg1) -- Line 65, Named "getEmoteButtonsFromId"
	--[[ Upvalues[1]:
		[1]: tbl_15_upvr (readonly)
	]]
	local var36 = tbl_15_upvr[tostring(arg1)]
	if not var36 then return end
	if #var36 == 0 then return end
	return var36
end
local function getEmoteDataInstanceFromId_upvr(arg1) -- Line 79, Named "getEmoteDataInstanceFromId"
	--[[ Upvalues[1]:
		[1]: var21_upvw (read and write)
	]]
	return var21_upvw:FindFirstChild(arg1)
end
local module_5_upvr = require(Data:WaitForChild("EmoteAttributes"))
local function getEmoteAttributeDataByName_upvr(arg1) -- Line 83, Named "getEmoteAttributeDataByName"
	--[[ Upvalues[1]:
		[1]: module_5_upvr (readonly)
	]]
	for i, v in module_5_upvr do
		if v.Name == arg1 then
			local clone_8 = table.clone(v)
			clone_8.SortOrder = i
			return clone_8
		end
	end
end
local function getEmoteAttributesFromDataInstance_upvr(arg1) -- Line 93, Named "getEmoteAttributesFromDataInstance"
	--[[ Upvalues[1]:
		[1]: getEmoteAttributeDataByName_upvr (readonly)
	]]
	local Attributes = arg1:FindFirstChild("Attributes")
	if not Attributes then
		return {}
	end
	local module = {}
	for _, v_2 in Attributes:GetChildren() do
		if v_2:IsA("Configuration") then
			table.insert(module, getEmoteAttributeDataByName_upvr(v_2.Name))
		end
	end
	table.sort(module, function(arg1_2, arg2) -- Line 108
		local var49
		if arg1_2.SortOrder >= arg2.SortOrder then
			var49 = false
		else
			var49 = true
		end
		return var49
	end)
	return module
end
local function getEmoteDataFromDataInstance_upvr(arg1) -- Line 115, Named "getEmoteDataFromDataInstance"
	--[[ Upvalues[1]:
		[1]: getEmoteAttributesFromDataInstance_upvr (readonly)
	]]
	local module_17 = {
		Id = arg1.Name;
		Name = arg1:GetAttribute("EmoteName");
		Attributes = getEmoteAttributesFromDataInstance_upvr(arg1);
	}
	module_17.Instance = arg1
	if arg1:FindFirstChild("StartAnimation") then
		module_17.StartAnimationId = arg1.StartAnimation.AnimationId
	end
	if arg1:FindFirstChild("Animation") then
		module_17.AnimationId = arg1.Animation.AnimationId
	end
	if arg1:FindFirstChild("StartSound") then
		module_17.StartSoundId = arg1.StartSound.SoundId
	end
	if arg1:FindFirstChild("Sound") then
		module_17.SoundId = arg1.Sound.SoundId
	end
	if arg1:FindFirstChild("StartCamera") then
		module_17.StartCameraId = arg1.StartCamera.AnimationId
	end
	if arg1:FindFirstChild("Camera") then
		module_17.CameraId = arg1.Camera.AnimationId
	end
	return module_17
end
local function _(arg1) -- Line 145, Named "getEmoteAttributesFromId"
	--[[ Upvalues[2]:
		[1]: var21_upvw (read and write)
		[2]: getEmoteAttributesFromDataInstance_upvr (readonly)
	]]
	local SOME_3 = var21_upvw:FindFirstChild(arg1)
	if not SOME_3 then return end
	return getEmoteAttributesFromDataInstance_upvr(SOME_3)
end
local function _(arg1) -- Line 154, Named "getRobloxEmoteDataFromId"
	--[[ Upvalues[1]:
		[1]: var22_upvw (read and write)
	]]
	for _, v_3 in var22_upvw do
		if v_3.Id == tonumber(arg1) then
			return v_3
		end
	end
end
local function _(arg1) -- Line 162, Named "getRobloxEmoteDataFromName"
	--[[ Upvalues[1]:
		[1]: var22_upvw (read and write)
	]]
	for _, v_4 in var22_upvw do
		if v_4.Name == arg1 then
			return v_4
		end
	end
end
local function updateSideButtons_upvr() -- Line 170, Named "updateSideButtons"
	--[[ Upvalues[4]:
		[1]: var24_upvw (read and write)
		[2]: var26_upvw (read and write)
		[3]: var21_upvw (read and write)
		[4]: getEmoteAttributesFromDataInstance_upvr (readonly)
	]]
	-- KONSTANTERROR: [0] 1. Error Block 65 start (CF ANALYSIS FAILED)
	local SideButtons = var24_upvw:FindFirstChild("SideButtons")
	if not SideButtons then return end
	local var61 = var26_upvw
	if var61 then
		local SOME_2 = var21_upvw:FindFirstChild(var26_upvw.Id)
		if not SOME_2 then
			var61 = nil
		else
			var61 = getEmoteAttributesFromDataInstance_upvr(SOME_2)
		end
	end
	if not var61 then
		for _, v_5 in SideButtons:GetChildren() do
			if v_5:IsA("ImageButton") then
				if v_5.Name == "EmoteSpeed" then
					v_5.Visible = true
				else
					v_5.Visible = false
				end
			end
		end
		return
	end
	local children_4, NONE_3, NONE_13 = SideButtons:GetChildren()
	-- KONSTANTERROR: [0] 1. Error Block 65 end (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [116] 88. Error Block 41 start (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [116] 88. Error Block 41 end (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [52] 42. Error Block 18 start (CF ANALYSIS FAILED)
	-- KONSTANTERROR: Expression was reused, decompilation is incorrect
	-- KONSTANTERROR: [52] 42. Error Block 18 end (CF ANALYSIS FAILED)
end
local function isEmoteFavorited_upvr(arg1, arg2) -- Line 232, Named "isEmoteFavorited"
	--[[ Upvalues[1]:
		[1]: var23_upvw (read and write)
	]]
	local var76
	for _, v_6 in var23_upvw:GetValue("favoritedEmotes") do
		if v_6.type == arg1 and v_6.id == tostring(arg2) then
			var76 = true
			return var76
		end
	end
	return var76
end
local function updateEmoteState_upvr(arg1, arg2, arg3) -- Line 245, Named "updateEmoteState"
	--[[ Upvalues[6]:
		[1]: getEmoteDataFromDataInstance_upvr (readonly)
		[2]: getEmoteDataInstanceFromId_upvr (readonly)
		[3]: var22_upvw (read and write)
		[4]: isEmoteFavorited_upvr (readonly)
		[5]: tbl_15_upvr (readonly)
		[6]: var26_upvw (read and write)
	]]
	-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [8] 8. Error Block 3 start (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [8] 8. Error Block 3 end (CF ANALYSIS FAILED)
end
local function _(arg1, arg2) -- Line 307, Named "favoriteEmote"
	--[[ Upvalues[5]:
		[1]: isEmoteFavorited_upvr (readonly)
		[2]: var20_upvw (read and write)
		[3]: var18_upvw (read and write)
		[4]: updateEmoteState_upvr (readonly)
		[5]: module_15_upvr (readonly)
	]]
	if isEmoteFavorited_upvr(arg1, arg2) then
	else
		var20_upvw:FavoriteEmote(arg2):andThen(function(arg1_3) -- Line 312
			--[[ Upvalues[5]:
				[1]: var18_upvw (copied, read and write)
				[2]: updateEmoteState_upvr (copied, readonly)
				[3]: arg1 (readonly)
				[4]: arg2 (readonly)
				[5]: module_15_upvr (copied, readonly)
			]]
			if arg1_3 == true then
				var18_upvw:NewNotification("SmallBottom", {
					t = "success";
					text = "Emote Favorited";
				})
				updateEmoteState_upvr(arg1, arg2, true)
			elseif arg1_3 == "MAX_FAVORITED_EMOTES" then
				var18_upvw:NewNotification("SmallBottom", {
					t = "error";
					text = `Max Favorited Emotes ({module_15_upvr.MAX_FAVORITED_EMOTES})`;
				})
			end
		end)
	end
end
local function _(arg1, arg2) -- Line 329, Named "unfavoriteEmote"
	--[[ Upvalues[3]:
		[1]: var20_upvw (read and write)
		[2]: var18_upvw (read and write)
		[3]: updateEmoteState_upvr (readonly)
	]]
	var20_upvw:UnfavoriteEmote(arg2):andThen(function(arg1_4) -- Line 330
		--[[ Upvalues[4]:
			[1]: var18_upvw (copied, read and write)
			[2]: updateEmoteState_upvr (copied, readonly)
			[3]: arg1 (readonly)
			[4]: arg2 (readonly)
		]]
		if arg1_4 == true then
			var18_upvw:NewNotification("SmallBottom", {
				t = "info";
				text = "Emote Unfavorited";
			})
			updateEmoteState_upvr(arg1, arg2, false)
		end
	end)
end
local function createEmoteCam_upvr() -- Line 342, Named "createEmoteCam"
	--[[ Upvalues[5]:
		[1]: LocalPlayer_upvr (readonly)
		[2]: Assets_upvr (readonly)
		[3]: CurrentCamera_upvr (readonly)
		[4]: var28_upvw (read and write)
		[5]: RunService_upvr (readonly)
	]]
	local Character = LocalPlayer_upvr.Character
	if not Character then return end
	local clone_3_upvr = Assets_upvr:WaitForChild("EmoteCamTemplate"):Clone()
	clone_3_upvr.Name = "EmoteCam"
	clone_3_upvr.Parent = workspace
	local Motor6D = Instance.new("Motor6D")
	Motor6D.Part0 = Character.PrimaryPart
	Motor6D.Part1 = clone_3_upvr.PrimaryPart
	Motor6D.Parent = Character.PrimaryPart
	local class_Humanoid_3 = clone_3_upvr:FindFirstChildOfClass("Humanoid")
	local class_Animator_3_upvw = class_Humanoid_3:FindFirstChildOfClass("Animator")
	if not class_Animator_3_upvw then
		class_Animator_3_upvw = Instance.new("Animator")
		class_Animator_3_upvw.Parent = class_Humanoid_3
	end
	return {
		Enabled = true;
		Model = clone_3_upvr;
		PlayingAnimationTrack = nil;
		LoadedAnimationTracks = {};
		SetEnabled = function(arg1, arg2) -- Line 375, Named "SetEnabled"
			--[[ Upvalues[2]:
				[1]: CurrentCamera_upvr (copied, readonly)
				[2]: clone_3_upvr (readonly)
			]]
			arg1.Enabled = arg2
			if arg2 then
				CurrentCamera_upvr.CameraType = Enum.CameraType.Scriptable
				CurrentCamera_upvr.CFrame = clone_3_upvr.Torso.CFrame
			else
				CurrentCamera_upvr.CameraType = Enum.CameraType.Custom
			end
		end;
		LoadAnimation = function(arg1, arg2, arg3, arg4) -- Line 386, Named "LoadAnimation"
			--[[ Upvalues[1]:
				[1]: class_Animator_3_upvw (read and write)
			]]
			local any_LoadAnimation_result1 = class_Animator_3_upvw:LoadAnimation(arg3)
			any_LoadAnimation_result1.Looped = arg4
			any_LoadAnimation_result1.Priority = Enum.AnimationPriority.Action
			arg1.LoadedAnimationTracks[arg2] = any_LoadAnimation_result1
			return true
		end;
		GetPlayingAnimationTrack = function(arg1) -- Line 396, Named "GetPlayingAnimationTrack"
			return arg1.PlayingAnimationTrack
		end;
		Play = function(arg1, arg2, arg3, arg4) -- Line 400, Named "Play"
			--[[ Upvalues[4]:
				[1]: var28_upvw (copied, read and write)
				[2]: CurrentCamera_upvr (copied, readonly)
				[3]: clone_3_upvr (readonly)
				[4]: RunService_upvr (copied, readonly)
			]]
			if not arg1.LoadedAnimationTracks[arg2] then
			else
				if arg1.LoadedAnimationTracks[arg2].IsPlaying then return end
				local var89 = arg1.LoadedAnimationTracks[arg2]
				var89:Play(0, 1, var28_upvw.Value)
				arg1.PlayingAnimationTrack = var89
				var89.TimePosition = arg4 or 0
				if arg1.Enabled then
					CurrentCamera_upvr.CameraType = Enum.CameraType.Scriptable
					CurrentCamera_upvr.CFrame = clone_3_upvr.Torso.CFrame
				end
				if arg1.CameraFollowRenderSteppedConnection then
					arg1.CameraFollowRenderSteppedConnection:Disconnect()
				end
				arg1.CameraFollowRenderSteppedConnection = RunService_upvr.RenderStepped:Connect(function() -- Line 426
					--[[ Upvalues[3]:
						[1]: arg1 (readonly)
						[2]: CurrentCamera_upvr (copied, readonly)
						[3]: clone_3_upvr (copied, readonly)
					]]
					if arg1.Enabled then
						CurrentCamera_upvr.CFrame = clone_3_upvr.Torso.CFrame
					end
				end)
				task.delay(0.3, function() -- Line 432
					--[[ Upvalues[1]:
						[1]: clone_3_upvr (copied, readonly)
					]]
					pcall(function() -- Line 433
						--[[ Upvalues[1]:
							[1]: clone_3_upvr (copied, readonly)
						]]
						repeat
							task.wait()
							clone_3_upvr.Torso.CanCollide = false
						until 1 < tick() - tick()
					end)
				end)
				if arg3 then
					var89.Stopped:Wait()
				end
			end
		end;
		SetTimePosition = function(arg1, arg2) -- Line 446, Named "SetTimePosition"
			arg1.PlayingAnimationTrack.TimePosition = arg2
		end;
		AdjustSpeed = function(arg1, arg2) -- Line 449, Named "AdjustSpeed"
			arg1.PlayingAnimationTrack:AdjustSpeed(arg2)
		end;
		Destroy = function(arg1) -- Line 452, Named "Destroy"
			--[[ Upvalues[1]:
				[1]: CurrentCamera_upvr (copied, readonly)
			]]
			for _, v_7 in arg1.LoadedAnimationTracks do
				v_7:Destroy()
			end
			arg1.Model:Destroy()
			arg1.CameraFollowRenderSteppedConnection:Disconnect()
			CurrentCamera_upvr.CameraType = Enum.CameraType.Custom
		end;
	}
end
local function fetchRobloxEmoteAnimation_upvr(arg1) -- Line 467, Named "fetchRobloxEmoteAnimation"
	--[[ Upvalues[2]:
		[1]: var20_upvw (read and write)
		[2]: var22_upvw (read and write)
	]]
	-- KONSTANTERROR: [0] 1. Error Block 10 start (CF ANALYSIS FAILED)
	local tonumber_result1_upvw = tonumber(arg1)
	local pcall_result1, pcall_result2 = pcall(function() -- Line 470
		--[[ Upvalues[2]:
			[1]: var20_upvw (copied, read and write)
			[2]: tonumber_result1_upvw (read and write)
		]]
		return var20_upvw:FetchRobloxEmoteAnimation(tonumber_result1_upvw):expect()
	end)
	local var99
	if not pcall_result1 then
		var99 = tonumber_result1_upvw
		warn(`Failed to fetch roblox emote animation {var99}: {pcall_result2}`)
		return
	end
	-- KONSTANTERROR: [0] 1. Error Block 10 end (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [38] 32. Error Block 6 start (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [38] 32. Error Block 6 end (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [29] 26. Error Block 4 start (CF ANALYSIS FAILED)
	-- KONSTANTERROR: Expression was reused, decompilation is incorrect
	-- KONSTANTERROR: [29] 26. Error Block 4 end (CF ANALYSIS FAILED)
end
local function _(arg1) -- Line 492, Named "preloadEmoteAssets"
	--[[ Upvalues[1]:
		[1]: ContentProvider_upvr (readonly)
	]]
	if not arg1 then
	else
		if arg1:GetAttribute("Preloaded") then return end
		ContentProvider_upvr:PreloadAsync(arg1:GetChildren())
		arg1:SetAttribute("Preloaded", true)
	end
end
local function getPlayersInSyncWithLocalPlayer_upvr() -- Line 506, Named "getPlayersInSyncWithLocalPlayer"
	--[[ Upvalues[2]:
		[1]: LocalPlayer_upvr (readonly)
		[2]: Players_upvr (readonly)
	]]
	local module_2 = {}
	local EmoteSyncedWith = LocalPlayer_upvr:GetAttribute("EmoteSyncedWith")
	for _, v_8 in Players_upvr:GetPlayers() do
		if v_8 ~= LocalPlayer_upvr then
			if EmoteSyncedWith == v_8.UserId then
				table.insert(module_2, v_8)
			end
			if v_8:GetAttribute("EmoteSyncedWith") == EmoteSyncedWith then
				table.insert(module_2, v_8)
			end
			if v_8:GetAttribute("EmoteSyncedWith") == LocalPlayer_upvr.UserId then
				print("this player is synced with local player", v_8.UserId)
				table.insert(module_2, v_8)
			end
		end
	end
	return module_2
end
local function getAnimationIdsFromEmoteId_upvr(arg1) -- Line 535, Named "getAnimationIdsFromEmoteId"
	--[[ Upvalues[2]:
		[1]: var21_upvw (read and write)
		[2]: var20_upvw (read and write)
	]]
	local module_11 = {}
	local SOME_4 = var21_upvw:FindFirstChild(arg1)
	if SOME_4 then
		local StartAnimation = SOME_4:FindFirstChild("StartAnimation")
		local Animation = SOME_4:FindFirstChild("Animation")
		if StartAnimation then
			module_11[StartAnimation.Name] = StartAnimation.AnimationId
		end
		if Animation then
			module_11[Animation.Name] = Animation.AnimationId
		end
	end
	if not SOME_4 then
		local any_FetchRobloxEmoteAnimation_result1 = var20_upvw:FetchRobloxEmoteAnimation(nil, arg1)
		if any_FetchRobloxEmoteAnimation_result1 then
			module_11.RobloxEmote = any_FetchRobloxEmoteAnimation_result1.AnimationId
		end
	end
	return module_11
end
local function getCurrentEmoteTimePositions_upvr(arg1) -- Line 562, Named "getCurrentEmoteTimePositions"
	--[[ Upvalues[2]:
		[1]: var26_upvw (read and write)
		[2]: getAnimationIdsFromEmoteId_upvr (readonly)
	]]
	if not var26_upvw then return end
	local getAnimationIdsFromEmoteId_result1 = getAnimationIdsFromEmoteId_upvr(var26_upvw.Id)
	for i_9, v_9 in getAnimationIdsFromEmoteId_result1 do
		if string.find(v_9, "www") then
			getAnimationIdsFromEmoteId_result1[i_9] = string.sub(v_9, string.find(v_9, "id=") + 3)
		else
			getAnimationIdsFromEmoteId_result1[i_9] = string.sub(v_9, string.find(v_9, "//") + 2)
		end
	end
	local Character_3 = arg1.Character
	if not Character_3 then return end
	local class_Humanoid = Character_3:FindFirstChildOfClass("Humanoid")
	if not class_Humanoid then return end
	local class_Animator_2 = class_Humanoid:FindFirstChildOfClass("Animator")
	if not class_Animator_2 then return end
	local module_4 = {}
	for _, v_10 in class_Animator_2:GetPlayingAnimationTracks(), nil do
		for i_11, v_11 in getAnimationIdsFromEmoteId_result1 do
			if string.find(v_10.Animation.AnimationId, v_11) then
				module_4[i_11] = v_10.TimePosition
				;({})[i_11] = v_10
			end
		end
	end
	if not next(module_4) then
		return nil
	end
	-- KONSTANTERROR: Expression was reused, decompilation is incorrect
	return module_4, {}
end
local function syncWithSyncGroup_upvr() -- Line 616, Named "syncWithSyncGroup"
	--[[ Upvalues[3]:
		[1]: getPlayersInSyncWithLocalPlayer_upvr (readonly)
		[2]: getCurrentEmoteTimePositions_upvr (readonly)
		[3]: LocalPlayer_upvr (readonly)
	]]
	local getCurrentEmoteTimePositions_upvr_result1, _ = getCurrentEmoteTimePositions_upvr(LocalPlayer_upvr)
	if not getCurrentEmoteTimePositions_upvr_result1 then
	else
		for _, var129 in getPlayersInSyncWithLocalPlayer_upvr(), nil do
			while true do
				task.wait()
				if getCurrentEmoteTimePositions_upvr(var129) ~= nil then break end
			end
			local _, getCurrentEmoteTimePositions_upvr_result2 = getCurrentEmoteTimePositions_upvr(var129)
			for var130, var131 in getCurrentEmoteTimePositions_upvr_result1 do
				if getCurrentEmoteTimePositions_upvr_result2[var130] then
					getCurrentEmoteTimePositions_upvr_result2[var130].TimePosition = var131
				end
			end
		end
	end
end
local var136_upvw = false
local function playEmote_upvr(arg1, arg2, arg3) -- Line 641, Named "playEmote"
	--[[ Upvalues[15]:
		[1]: var136_upvw (read and write)
		[2]: var26_upvw (read and write)
		[3]: updateEmoteState_upvr (readonly)
		[4]: var20_upvw (read and write)
		[5]: updateSideButtons_upvr (readonly)
		[6]: LocalPlayer_upvr (readonly)
		[7]: tbl_15_upvr (readonly)
		[8]: var21_upvw (read and write)
		[9]: ContentProvider_upvr (readonly)
		[10]: var28_upvw (read and write)
		[11]: var29_upvw (read and write)
		[12]: createEmoteCam_upvr (readonly)
		[13]: var30_upvw (read and write)
		[14]: var22_upvw (read and write)
		[15]: fetchRobloxEmoteAnimation_upvr (readonly)
	]]
	-- KONSTANTERROR: [0] 1. Error Block 134 start (CF ANALYSIS FAILED)
	local tostring_result1_upvw = tostring(arg1)
	local var146
	if var136_upvw then return end
	if var26_upvw then
		if var26_upvw.AnimTrack then
			var26_upvw.AnimTrack:Stop()
			var26_upvw.AnimTrack:Destroy()
		end
		if var26_upvw.Sound then
			var26_upvw.Sound:Stop()
			var26_upvw.Sound:Destroy()
		end
		if var26_upvw.Camera then
			var26_upvw.Camera:Destroy()
		end
		if var26_upvw.Buttons then
			var146 = var26_upvw
			for _, v_12 in var146.Buttons do
				v_12.UIStroke.UIGradient.Color = ColorSequence.new(Color3.fromRGB(0, 0, 0))
				local var147
				if v_12:GetAttribute("Favorited") == true then
					if var26_upvw.IsRobloxEmote then
						var147 = "Roblox"
					else
						var147 = "Default"
					end
					updateEmoteState_upvr(var147, var26_upvw.Id, true)
				end
			end
		end
		if var26_upvw.Id == tostring_result1_upvw then
			var26_upvw = nil
			var20_upvw:EmotePlayed(nil)
			updateSideButtons_upvr()
			return
		end
		var26_upvw = nil
	end
	local Character_2 = LocalPlayer_upvr.Character
	if not Character_2 then return end
	local class_Humanoid_2 = Character_2:FindFirstChildOfClass("Humanoid")
	if not class_Humanoid_2 then return end
	local class_Animator = class_Humanoid_2:FindFirstChildOfClass("Animator")
	if not class_Animator then return end
	local var151 = tbl_15_upvr[tostring(tostring_result1_upvw)]
	if not var151 then
	elseif #var151 == 0 then
	else
	end
	if not var151 then
		warn("No buttons found for emote: "..tostring_result1_upvw)
		return
	end
	var136_upvw = true
	for _, v_13 in var151 do
		v_13.UIStroke.UIGradient.Color = ColorSequence.new(Color3.fromRGB(255, 255, 255))
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect
	end
	local function getAssetAdjustedTimePosition_upvr(arg1_5) -- Line 715, Named "getAssetAdjustedTimePosition"
		--[[ Upvalues[2]:
			[1]: arg2 (readonly)
			[2]: arg3 (readonly)
		]]
		if arg2 then
			for i_14, v_14 in arg2 do
				if i_14 == arg1_5 then
					return (v_14) + (os.time() - arg3)
				end
			end
		end
		return 0
	end
	local SOME = var21_upvw:FindFirstChild(tostring_result1_upvw)
	if SOME then
		local tick_result1_upvr = tick()
		local tbl = {
			Id = tostring_result1_upvw;
			AnimTrack = nil;
			Sound = nil;
		}
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect
		tbl.Buttons = var151
		tbl.Camera = nil
		tbl.t = tick_result1_upvr
		var26_upvw = tbl
		if not SOME then
		elseif SOME:GetAttribute("Preloaded") then
		else
			ContentProvider_upvr:PreloadAsync(SOME:GetChildren())
			SOME:SetAttribute("Preloaded", true)
		end
		local tbl_13_upvr = {}
		local StartAnimation_3 = SOME:FindFirstChild("StartAnimation")
		local Animation_3 = SOME:FindFirstChild("Animation")
		local StartSound = SOME:FindFirstChild("StartSound")
		local Sound = SOME:FindFirstChild("Sound")
		local StartCamera = SOME:FindFirstChild("StartCamera")
		local Camera = SOME:FindFirstChild("Camera")
		if StartAnimation_3 then
			tbl_13_upvr.StartAnimation = class_Animator:LoadAnimation(StartAnimation_3)
			tbl_13_upvr.StartAnimation.Name = StartAnimation_3.Name
			tbl_13_upvr.StartAnimation.Looped = false
			tbl_13_upvr.StartAnimation.Priority = Enum.AnimationPriority.Action4
		end
		if Animation_3 then
			tbl_13_upvr.Animation = class_Animator:LoadAnimation(Animation_3)
			tbl_13_upvr.Animation.Name = Animation_3.Name
			tbl_13_upvr.Animation.Looped = true
			tbl_13_upvr.Animation.Priority = Enum.AnimationPriority.Action4
		end
		if StartSound then
			tbl_13_upvr.StartSound = StartSound:Clone()
			tbl_13_upvr.StartSound.Name = "PlayingEmoteStartSound"
			tbl_13_upvr.StartSound.Looped = false
			tbl_13_upvr.StartSound.Parent = LocalPlayer_upvr.Character
			tbl_13_upvr.StartSound.PlaybackSpeed = StartSound:GetAttribute("DefaultPlaybackSpeed") * var28_upvw.Value
			tbl_13_upvr.StartSound.Volume = StartSound:GetAttribute("DefaultVolume") * var29_upvw.Value
		end
		if Sound then
			tbl_13_upvr.Sound = Sound:Clone()
			tbl_13_upvr.Sound.Name = "PlayingEmoteSound"
			tbl_13_upvr.Sound.Looped = true
			tbl_13_upvr.Sound.Parent = LocalPlayer_upvr.Character
			tbl_13_upvr.Sound.PlaybackSpeed = Sound:GetAttribute("DefaultPlaybackSpeed") * var28_upvw.Value
			tbl_13_upvr.Sound.Volume = Sound:GetAttribute("DefaultVolume") * var29_upvw.Value
		end
		if StartCamera or Camera then
			tbl_13_upvr.Camera = createEmoteCam_upvr()
		end
		if StartCamera then
			tbl_13_upvr.StartCameraTrack = tbl_13_upvr.Camera:LoadAnimation("StartCamera", StartCamera, false)
		end
		if Camera then
			tbl_13_upvr.MainCameraTrack = tbl_13_upvr.Camera:LoadAnimation("MainCamera", Camera, true)
		end
		task.spawn(function() -- Line 809
			--[[ Upvalues[5]:
				[1]: tbl_13_upvr (readonly)
				[2]: var20_upvw (copied, read and write)
				[3]: tostring_result1_upvw (read and write)
				[4]: var28_upvw (copied, read and write)
				[5]: var29_upvw (copied, read and write)
			]]
			local tbl_12 = {}
			for i_15, v_15 in tbl_13_upvr do
				if string.find(i_15, "Animation") then
					table.insert({}, {
						AnimationName = i_15;
						AnimationId = v_15.Animation.AnimationId;
						TimeLength = v_15.Length;
						IsPlaying = v_15.IsPlaying;
						CurrentTimePosition = v_15.TimePosition;
					})
				elseif string.find(i_15, "Sound") then
					table.insert({}, {
						SoundName = i_15;
						SoundId = v_15.SoundId;
						TimeLength = v_15.TimeLength;
						DefaultPlaybackSpeed = v_15:GetAttribute("DefaultPlaybackSpeed");
						DefaultVolume = v_15:GetAttribute("DefaultVolume");
						IsPlaying = v_15.Playing;
						CurrentTimePosition = v_15.TimePosition;
					})
				elseif i_15 == "Camera" then
					for i_27, v_27 in v_15.LoadedAnimationTracks do
						table.insert(tbl_12, {
							CameraAnimationName = i_27;
							CameraAnimationId = v_27.Animation.AnimationId;
							TimeLength = v_27.Length;
							IsPlaying = v_27.IsPlaying;
							CurrentTimePosition = v_27.TimePosition;
						})
					end
				end
			end
			local tbl_14 = {
				EmoteId = tostring_result1_upvw;
				EmoteSpeed = var28_upvw.Value;
				EmoteVolume = var29_upvw.Value;
			}
			-- KONSTANTERROR: Expression was reused, decompilation is incorrect
			tbl_14.EmoteAnimations = {}
			-- KONSTANTERROR: Expression was reused, decompilation is incorrect
			tbl_14.EmoteSounds = {}
			tbl_14.EmoteCameraAnimations = tbl_12
			var20_upvw:EmotePlayed(tbl_14)
		end)
		task.spawn(function() -- Line 857
			--[[ Upvalues[7]:
				[1]: tbl_13_upvr (readonly)
				[2]: var26_upvw (copied, read and write)
				[3]: tostring_result1_upvw (read and write)
				[4]: tick_result1_upvr (readonly)
				[5]: var28_upvw (copied, read and write)
				[6]: getAssetAdjustedTimePosition_upvr (readonly)
				[7]: arg2 (readonly)
			]]
			local function _() -- Line 859, Named "playMainAnimationTrack"
				--[[ Upvalues[6]:
					[1]: tbl_13_upvr (copied, readonly)
					[2]: var26_upvw (copied, read and write)
					[3]: tostring_result1_upvw (copied, read and write)
					[4]: tick_result1_upvr (copied, readonly)
					[5]: var28_upvw (copied, read and write)
					[6]: getAssetAdjustedTimePosition_upvr (copied, readonly)
				]]
				if not tbl_13_upvr.Animation then
				else
					if not var26_upvw or var26_upvw.Id ~= tostring_result1_upvw or var26_upvw.t ~= tick_result1_upvr then return end
					var26_upvw.AnimTrack = tbl_13_upvr.Animation
					tbl_13_upvr.Animation:Play(0.01, 1, var28_upvw.Value)
					tbl_13_upvr.Animation.TimePosition = getAssetAdjustedTimePosition_upvr("Animation")
				end
			end
			local var179
			if arg2 and not arg2.StartAnimation then
				var179 = false
			end
			if var179 and tbl_13_upvr.StartAnimation then
				var26_upvw.AnimTrack = tbl_13_upvr.StartAnimation
				tbl_13_upvr.StartAnimation:Play(0.01, 1, var28_upvw.Value)
				tbl_13_upvr.StartAnimation.TimePosition = getAssetAdjustedTimePosition_upvr("StartAnimation")
				tbl_13_upvr.StartAnimation.Stopped:Connect(function() -- Line 888
					--[[ Upvalues[6]:
						[1]: tbl_13_upvr (copied, readonly)
						[2]: var26_upvw (copied, read and write)
						[3]: tostring_result1_upvw (copied, read and write)
						[4]: tick_result1_upvr (copied, readonly)
						[5]: var28_upvw (copied, read and write)
						[6]: getAssetAdjustedTimePosition_upvr (copied, readonly)
					]]
					if tbl_13_upvr.StartAnimation.Length <= tbl_13_upvr.StartAnimation.TimePosition then
						if not tbl_13_upvr.Animation then return end
						if var26_upvw and var26_upvw.Id == tostring_result1_upvw then
							if var26_upvw.t ~= tick_result1_upvr then return end
							var26_upvw.AnimTrack = tbl_13_upvr.Animation
							tbl_13_upvr.Animation:Play(0.01, 1, var28_upvw.Value)
							tbl_13_upvr.Animation.TimePosition = getAssetAdjustedTimePosition_upvr("Animation")
						end
					end
				end)
			else
				if not tbl_13_upvr.Animation then return end
				if var26_upvw and var26_upvw.Id == tostring_result1_upvw then
					if var26_upvw.t ~= tick_result1_upvr then return end
					var26_upvw.AnimTrack = tbl_13_upvr.Animation
					tbl_13_upvr.Animation:Play(0.01, 1, var28_upvw.Value)
					tbl_13_upvr.Animation.TimePosition = getAssetAdjustedTimePosition_upvr("Animation")
				end
			end
		end)
		task.spawn(function() -- Line 899
			--[[ Upvalues[6]:
				[1]: arg2 (readonly)
				[2]: tbl_13_upvr (readonly)
				[3]: getAssetAdjustedTimePosition_upvr (readonly)
				[4]: var26_upvw (copied, read and write)
				[5]: tostring_result1_upvw (read and write)
				[6]: tick_result1_upvr (readonly)
			]]
			local var182
			if arg2 and not arg2.StartSound then
				var182 = false
			end
			if var182 and tbl_13_upvr.StartSound then
				tbl_13_upvr.StartSound:Play()
				tbl_13_upvr.StartSound.TimePosition = getAssetAdjustedTimePosition_upvr("StartSound")
				var26_upvw.Sound = tbl_13_upvr.StartSound
				tbl_13_upvr.StartSound.Ended:Wait()
			end
			if not var26_upvw or var26_upvw.Id ~= tostring_result1_upvw or var26_upvw.t ~= tick_result1_upvr then
			elseif tbl_13_upvr.Sound then
				tbl_13_upvr.Sound:Play()
				tbl_13_upvr.Sound.TimePosition = getAssetAdjustedTimePosition_upvr("Sound")
				var26_upvw.Sound = tbl_13_upvr.Sound
			end
		end)
		task.spawn(function() -- Line 931
			--[[ Upvalues[7]:
				[1]: tbl_13_upvr (readonly)
				[2]: arg2 (readonly)
				[3]: var26_upvw (copied, read and write)
				[4]: var30_upvw (copied, read and write)
				[5]: getAssetAdjustedTimePosition_upvr (readonly)
				[6]: tostring_result1_upvw (read and write)
				[7]: tick_result1_upvr (readonly)
			]]
			if not tbl_13_upvr.Camera then
			else
				local var184
				if arg2 and not arg2.StartCamera then
					var184 = false
				end
				var26_upvw.Camera = tbl_13_upvr.Camera
				var26_upvw.Camera:SetEnabled(var30_upvw.Value)
				if var184 and tbl_13_upvr.StartCameraTrack then
					tbl_13_upvr.Camera:Play("StartCamera", true, getAssetAdjustedTimePosition_upvr("StartCamera"))
				end
				if not var26_upvw or var26_upvw.Id ~= tostring_result1_upvw or var26_upvw.t ~= tick_result1_upvr then return end
				if tbl_13_upvr.MainCameraTrack then
					tbl_13_upvr.Camera:Play("MainCamera", false, getAssetAdjustedTimePosition_upvr("Camera"))
				end
			end
		end)
		-- KONSTANTWARNING: GOTO [557] #413
	end
	-- KONSTANTERROR: [0] 1. Error Block 134 end (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [477] 353. Error Block 89 start (CF ANALYSIS FAILED)
	tbl_13_upvr = tostring_result1_upvw
	-- KONSTANTERROR: [477] 353. Error Block 89 end (CF ANALYSIS FAILED)
end
local function _(arg1) -- Line 1014, Named "changeCurrentEmoteTimePositions"
	--[[ Upvalues[1]:
		[1]: var26_upvw (read and write)
	]]
	if not var26_upvw then
	elseif arg1 then
		for i_35, v_35 in arg1 do
			if var26_upvw.AnimTrack.Name == i_35 then
				var26_upvw.AnimTrack.TimePosition = v_35
			end
		end
	end
end
local mouse_upvr = LocalPlayer_upvr:GetMouse()
local function getSelectedPlayer_upvr() -- Line 1028, Named "getSelectedPlayer"
	--[[ Upvalues[4]:
		[1]: LocalPlayer_upvr (readonly)
		[2]: CurrentCamera_upvr (readonly)
		[3]: mouse_upvr (readonly)
		[4]: Players_upvr (readonly)
	]]
	if not LocalPlayer_upvr.Character or not LocalPlayer_upvr.Character:FindFirstChild("HumanoidRootPart") then
	else
		local RaycastParams_new_result1 = RaycastParams.new()
		RaycastParams_new_result1.FilterType = Enum.RaycastFilterType.Exclude
		RaycastParams_new_result1.FilterDescendantsInstances = {LocalPlayer_upvr.Character}
		local any_ScreenPointToRay_result1_2 = CurrentCamera_upvr:ScreenPointToRay(mouse_upvr.X, mouse_upvr.Y)
		local workspace_Raycast_result1 = workspace:Raycast(any_ScreenPointToRay_result1_2.Origin, any_ScreenPointToRay_result1_2.Direction * 100, RaycastParams_new_result1)
		if workspace_Raycast_result1 then
			local class_Model = workspace_Raycast_result1.Instance:FindFirstAncestorWhichIsA("Model")
			if class_Model and class_Model:GetAttribute("PlayerCharacter") == true then
				return Players_upvr:GetPlayerFromCharacter(class_Model)
			end
		end
	end
end
local UserInputService_upvr = game:GetService("UserInputService")
local function setupTapToSync_upvr() -- Line 1053, Named "setupTapToSync"
	--[[ Upvalues[7]:
		[1]: getSelectedPlayer_upvr (readonly)
		[2]: var20_upvw (read and write)
		[3]: UserInputService_upvr (readonly)
		[4]: var34_upvw (read and write)
		[5]: var25_upvw (read and write)
		[6]: module_6_upvr (readonly)
		[7]: var24_upvw (read and write)
	]]
	local function _() -- Line 1055, Named "processPlayerClickOnCharacter"
		--[[ Upvalues[2]:
			[1]: getSelectedPlayer_upvr (copied, readonly)
			[2]: var20_upvw (copied, read and write)
		]]
		local getSelectedPlayer_upvr_result1 = getSelectedPlayer_upvr()
		if getSelectedPlayer_upvr_result1 then
			var20_upvw:SyncWithPlayer(getSelectedPlayer_upvr_result1)
		end
	end
	UserInputService_upvr.InputBegan:Connect(function(arg1, arg2) -- Line 1062
		--[[ Upvalues[2]:
			[1]: getSelectedPlayer_upvr (copied, readonly)
			[2]: var20_upvw (copied, read and write)
		]]
		if arg2 then
		elseif arg1.UserInputType == Enum.UserInputType.MouseButton1 then
			local getSelectedPlayer_result1_2 = getSelectedPlayer_upvr()
			if getSelectedPlayer_result1_2 then
				var20_upvw:SyncWithPlayer(getSelectedPlayer_result1_2)
			end
		end
	end)
	UserInputService_upvr.TouchTapInWorld:Connect(function(arg1, arg2) -- Line 1072
		--[[ Upvalues[2]:
			[1]: getSelectedPlayer_upvr (copied, readonly)
			[2]: var20_upvw (copied, read and write)
		]]
		if arg2 then
		else
			local getSelectedPlayer_result1 = getSelectedPlayer_upvr()
			if getSelectedPlayer_result1 then
				var20_upvw:SyncWithPlayer(getSelectedPlayer_result1)
			end
		end
	end)
	task.spawn(function() -- Line 1080
		--[[ Upvalues[3]:
			[1]: var34_upvw (copied, read and write)
			[2]: getSelectedPlayer_upvr (copied, readonly)
			[3]: var25_upvw (copied, read and write)
		]]
		while true do
			if var34_upvw then
				local getSelectedPlayer_upvr_result1_3 = getSelectedPlayer_upvr()
				if getSelectedPlayer_upvr_result1_3 then
					var25_upvw.Enabled = true
					var25_upvw.Parent = getSelectedPlayer_upvr_result1_3.Character
				else
					var25_upvw.Enabled = false
					var25_upvw.Parent = script
				end
			else
				var25_upvw.Enabled = false
				var25_upvw.Parent = script
			end
			task.wait(0.2)
		end
	end)
	module_6_upvr.new(var24_upvw.SyncedWith.StopSync, function() -- Line 1101
		--[[ Upvalues[1]:
			[1]: var20_upvw (copied, read and write)
		]]
		var20_upvw:Unsync()
	end):AddHoverAnimation("UI_SCALE"):AddHoldAnimation("DOWN_SCALE"):SetClickDelay(1)
end
local function paginateEmotes_upvr(arg1) -- Line 1109, Named "paginateEmotes"
	--[[ Upvalues[3]:
		[1]: var21_upvw (read and write)
		[2]: getEmoteDataFromDataInstance_upvr (readonly)
		[3]: var22_upvw (read and write)
	]]
	-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
	local tbl_17 = {}
	if arg1 == "Default" then
		for _, v_16 in var21_upvw:GetChildren() do
			if v_16:IsA("Folder") then
				table.insert(tbl_17, getEmoteDataFromDataInstance_upvr(v_16))
			end
		end
		local tbl_20 = {}
		local tbl_21 = {}
		local tbl_22 = {}
		for _, v_17 in ipairs(tbl_17) do
			local var282
			for _, v_18 in v_17.Attributes do
				if v_18.Name == "Trending" then
					var282 = true
				elseif v_18.Name == "New" then
				end
			end
			if var282 then
				table.insert(tbl_20, v_17)
			elseif true then
				table.insert(tbl_21, v_17)
			else
				table.insert(tbl_22, v_17)
			end
		end
		table.sort(tbl_20, function(arg1_6, arg2) -- Line 1151
			local var284
			if arg1_6.Name >= arg2.Name then
				var284 = false
			else
				var284 = true
			end
			return var284
		end)
		table.sort(tbl_21, function(arg1_7, arg2) -- Line 1154
			local var286
			if arg1_7.Name >= arg2.Name then
				var286 = false
			else
				var286 = true
			end
			return var286
		end)
		table.sort(tbl_22, function(arg1_8, arg2) -- Line 1157
			local var288
			if arg1_8.Name >= arg2.Name then
				var288 = false
			else
				var288 = true
			end
			return var288
		end)
		tbl_17 = {}
		for _, v_19 in ipairs(tbl_20) do
			var282 = table.insert
			var282(tbl_17, v_19)
		end
		for _, v_20 in ipairs(tbl_21) do
			var282 = table.insert
			var282(tbl_17, v_20)
		end
		for i_21, v_21 in ipairs(tbl_22) do
			var282 = table.insert
			var282(tbl_17, v_21)
		end
	elseif arg1 == "Roblox" then
		for _, v_28 in var22_upvw do
			local tbl_11 = {}
			i_21 = v_28.Id
			tbl_11.Id = i_21
			i_21 = v_28.Name
			tbl_11.Name = i_21
			i_21 = true
			tbl_11.IsRobloxEmote = i_21
			v_21 = tbl_17
			var282 = tbl_11
			i_21 = table.insert
			i_21(v_21, var282)
		end
	end
	local module_12 = {}
	for _, v_22 in ipairs(tbl_17) do
		if #module_12 == 0 then
			var282 = {}
			table.insert(module_12, var282)
		end
		local var303 = module_12[#module_12]
		if 6 <= #var303 then
			table.insert(module_12, {})
			var303 = module_12[#module_12]
		end
		table.insert(var303, v_22)
	end
	return module_12
end
local function createEmoteButton_upvr(arg1, arg2, arg3) -- Line 1204, Named "createEmoteButton"
	--[[ Upvalues[12]:
		[1]: var24_upvw (read and write)
		[2]: tbl_15_upvr (readonly)
		[3]: isEmoteFavorited_upvr (readonly)
		[4]: updateEmoteState_upvr (readonly)
		[5]: var20_upvw (read and write)
		[6]: var18_upvw (read and write)
		[7]: module_15_upvr (readonly)
		[8]: module_6_upvr (readonly)
		[9]: var31_upvw (read and write)
		[10]: playEmote_upvr (readonly)
		[11]: var19_upvw (read and write)
		[12]: module_3_upvr (readonly)
	]]
	-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
	-- KONSTANTERROR: [0] 1. Error Block 55 start (CF ANALYSIS FAILED)
	local tostring_result1_upvr = tostring(arg1.Id)
	local Name_2 = arg1.Name
	local clone_5_upvr = var24_upvw.Sections.Default.Pages.UIPageLayout.Template.UIGridLayout.Template:Clone()
	clone_5_upvr.Name = tostring_result1_upvr
	clone_5_upvr.LayoutOrder = arg2
	clone_5_upvr.EmoteName.Text = Name_2
	clone_5_upvr.Attributes.Visible = false
	clone_5_upvr.Favorite.Visible = false
	clone_5_upvr.UIStroke.UIGradient.Color = ColorSequence.new(Color3.fromRGB(0, 0, 0))
	clone_5_upvr.Parent = arg3
	local var389_upvw
	if not tbl_15_upvr[tostring_result1_upvr] then
		tbl_15_upvr[tostring_result1_upvr] = {}
	end
	table.insert(tbl_15_upvr[tostring_result1_upvr], clone_5_upvr)
	clone_5_upvr.Destroying:Connect(function() -- Line 1223
		--[[ Upvalues[3]:
			[1]: tbl_15_upvr (copied, readonly)
			[2]: tostring_result1_upvr (readonly)
			[3]: clone_5_upvr (readonly)
		]]
		if tbl_15_upvr[tostring_result1_upvr] then
			local table_find_result1 = table.find(tbl_15_upvr[tostring_result1_upvr], clone_5_upvr)
			if table_find_result1 then
				table.remove(tbl_15_upvr[tostring_result1_upvr], table_find_result1)
			end
		end
	end)
	if arg1.IsRobloxEmote then
		var389_upvw = "Roblox"
	else
		var389_upvw = "Default"
	end
	if arg1.IsRobloxEmote then
		-- KONSTANTWARNING: GOTO [99] #68
	end
	-- KONSTANTERROR: [0] 1. Error Block 55 end (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [98] 67. Error Block 59 start (CF ANALYSIS FAILED)
	local var359_upvw
	clone_5_upvr:SetAttribute("Favorited", isEmoteFavorited_upvr(var389_upvw, Name_2))
	if arg1.IsRobloxEmote then
		var359_upvw = "Roblox"
	else
		var359_upvw = "Default"
	end
	updateEmoteState_upvr(var359_upvw, tostring_result1_upvr, clone_5_upvr:GetAttribute("Favorited"))
	local function _() -- Line 1241, Named "favoriteAction"
		--[[ Upvalues[8]:
			[1]: clone_5_upvr (readonly)
			[2]: arg1 (readonly)
			[3]: tostring_result1_upvr (readonly)
			[4]: var20_upvw (copied, read and write)
			[5]: var18_upvw (copied, read and write)
			[6]: updateEmoteState_upvr (copied, readonly)
			[7]: isEmoteFavorited_upvr (copied, readonly)
			[8]: module_15_upvr (copied, readonly)
		]]
		local Favorited_upvr_4 = clone_5_upvr:GetAttribute("Favorited")
		if Favorited_upvr_4 == true then
			if arg1.IsRobloxEmote then
				Favorited_upvr_4 = "Roblox"
			else
				Favorited_upvr_4 = "Default"
			end
			local var361_upvr = tostring_result1_upvr
			var20_upvw:UnfavoriteEmote(var361_upvr):andThen(function(arg1_14) -- Line 330
				--[[ Upvalues[4]:
					[1]: var18_upvw (copied, read and write)
					[2]: updateEmoteState_upvr (copied, readonly)
					[3]: Favorited_upvr_4 (readonly)
					[4]: var361_upvr (readonly)
				]]
				if arg1_14 == true then
					var18_upvw:NewNotification("SmallBottom", {
						t = "info";
						text = "Emote Unfavorited";
					})
					updateEmoteState_upvr(Favorited_upvr_4, var361_upvr, false)
				end
			end)
		else
			var361_upvr = arg1.IsRobloxEmote
			if var361_upvr then
				Favorited_upvr_4 = "Roblox"
			else
				Favorited_upvr_4 = "Default"
			end
			var361_upvr = tostring_result1_upvr
			local var364_upvr = var361_upvr
			if isEmoteFavorited_upvr(Favorited_upvr_4, var364_upvr) then return end
			var20_upvw:FavoriteEmote(var364_upvr):andThen(function(arg1_15) -- Line 312
				--[[ Upvalues[5]:
					[1]: var18_upvw (copied, read and write)
					[2]: updateEmoteState_upvr (copied, readonly)
					[3]: Favorited_upvr_4 (readonly)
					[4]: var364_upvr (readonly)
					[5]: module_15_upvr (copied, readonly)
				]]
				if arg1_15 == true then
					var18_upvw:NewNotification("SmallBottom", {
						t = "success";
						text = "Emote Favorited";
					})
					updateEmoteState_upvr(Favorited_upvr_4, var364_upvr, true)
				elseif arg1_15 == "MAX_FAVORITED_EMOTES" then
					var18_upvw:NewNotification("SmallBottom", {
						t = "error";
						text = `Max Favorited Emotes ({module_15_upvr.MAX_FAVORITED_EMOTES})`;
					})
				end
			end)
		end
	end
	var359_upvw = 0
	var389_upvw = module_6_upvr
	var389_upvw = clone_5_upvr
	local const_number_upvw = 0
	local any_new_result1_5 = var389_upvw.new(var389_upvw, function() -- Line 1252
		--[[ Upvalues[12]:
			[1]: var359_upvw (read and write)
			[2]: clone_5_upvr (readonly)
			[3]: arg1 (readonly)
			[4]: tostring_result1_upvr (readonly)
			[5]: var20_upvw (copied, read and write)
			[6]: var18_upvw (copied, read and write)
			[7]: updateEmoteState_upvr (copied, readonly)
			[8]: isEmoteFavorited_upvr (copied, readonly)
			[9]: module_15_upvr (copied, readonly)
			[10]: const_number_upvw (read and write)
			[11]: var31_upvw (copied, read and write)
			[12]: playEmote_upvr (copied, readonly)
		]]
		-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [8] 7. Error Block 35 start (CF ANALYSIS FAILED)
		local Favorited_upvr_2 = clone_5_upvr:GetAttribute("Favorited")
		if Favorited_upvr_2 == true then
			if arg1.IsRobloxEmote then
				Favorited_upvr_2 = "Roblox"
			else
				Favorited_upvr_2 = "Default"
			end
			local var371_upvr = tostring_result1_upvr
			var20_upvw:UnfavoriteEmote(var371_upvr):andThen(function(arg1_16) -- Line 330
				--[[ Upvalues[4]:
					[1]: var18_upvw (copied, read and write)
					[2]: updateEmoteState_upvr (copied, readonly)
					[3]: Favorited_upvr_2 (readonly)
					[4]: var371_upvr (readonly)
				]]
				if arg1_16 == true then
					var18_upvw:NewNotification("SmallBottom", {
						t = "info";
						text = "Emote Unfavorited";
					})
					updateEmoteState_upvr(Favorited_upvr_2, var371_upvr, false)
				end
			end)
			-- KONSTANTWARNING: GOTO [65] #56
		end
		-- KONSTANTERROR: [8] 7. Error Block 35 end (CF ANALYSIS FAILED)
	end)
	var389_upvw = any_new_result1_5:RemoveHoverAnimation
	var389_upvw("UI_SCALE")
	var389_upvw = any_new_result1_5:AddHoverAnimation
	var389_upvw("UI_SCALE", {
		OnHoverBegin = {
			scale = 1.05;
		};
	})
	var389_upvw = module_6_upvr.new
	local function _() -- Line 1279
		--[[ Upvalues[8]:
			[1]: clone_5_upvr (readonly)
			[2]: arg1 (readonly)
			[3]: tostring_result1_upvr (readonly)
			[4]: var20_upvw (copied, read and write)
			[5]: var18_upvw (copied, read and write)
			[6]: updateEmoteState_upvr (copied, readonly)
			[7]: isEmoteFavorited_upvr (copied, readonly)
			[8]: module_15_upvr (copied, readonly)
		]]
		local Favorited_upvr_7 = clone_5_upvr:GetAttribute("Favorited")
		if Favorited_upvr_7 == true then
			if arg1.IsRobloxEmote then
				Favorited_upvr_7 = "Roblox"
			else
				Favorited_upvr_7 = "Default"
			end
			local var379_upvr = tostring_result1_upvr
			var20_upvw:UnfavoriteEmote(var379_upvr):andThen(function(arg1_17) -- Line 330
				--[[ Upvalues[4]:
					[1]: var18_upvw (copied, read and write)
					[2]: updateEmoteState_upvr (copied, readonly)
					[3]: Favorited_upvr_7 (readonly)
					[4]: var379_upvr (readonly)
				]]
				if arg1_17 == true then
					var18_upvw:NewNotification("SmallBottom", {
						t = "info";
						text = "Emote Unfavorited";
					})
					updateEmoteState_upvr(Favorited_upvr_7, var379_upvr, false)
				end
			end)
		else
			var379_upvr = arg1.IsRobloxEmote
			if var379_upvr then
				Favorited_upvr_7 = "Roblox"
			else
				Favorited_upvr_7 = "Default"
			end
			var379_upvr = tostring_result1_upvr
			local var382_upvr = var379_upvr
			if isEmoteFavorited_upvr(Favorited_upvr_7, var382_upvr) then return end
			var20_upvw:FavoriteEmote(var382_upvr):andThen(function(arg1_18) -- Line 312
				--[[ Upvalues[5]:
					[1]: var18_upvw (copied, read and write)
					[2]: updateEmoteState_upvr (copied, readonly)
					[3]: Favorited_upvr_7 (readonly)
					[4]: var382_upvr (readonly)
					[5]: module_15_upvr (copied, readonly)
				]]
				if arg1_18 == true then
					var18_upvw:NewNotification("SmallBottom", {
						t = "success";
						text = "Emote Favorited";
					})
					updateEmoteState_upvr(Favorited_upvr_7, var382_upvr, true)
				elseif arg1_18 == "MAX_FAVORITED_EMOTES" then
					var18_upvw:NewNotification("SmallBottom", {
						t = "error";
						text = `Max Favorited Emotes ({module_15_upvr.MAX_FAVORITED_EMOTES})`;
					})
				end
			end)
		end
	end
	var389_upvw = var389_upvw(clone_5_upvr.Favorite, _):SetSound
	var389_upvw("click", "Pop2")
	var389_upvw = nil
	if not arg1.IsRobloxEmote and arg1.Attributes then
		local Attributes_7_upvr = arg1.Attributes
		local _1 = Attributes_7_upvr[1]
		if _1 then
			clone_5_upvr.MainAttributeIcon.Visible = true
			clone_5_upvr.MainAttributeIcon.Image = _1.ImageId
			if 15 < #clone_5_upvr.EmoteName.Text then
				clone_5_upvr.EmoteName.Size = UDim2.fromScale(0.785, 0.6)
			end
			if _1.ImageScale then
				local class_UIScale_2 = clone_5_upvr.MainAttributeIcon:FindFirstChildWhichIsA("UIScale")
				if class_UIScale_2 then
					class_UIScale_2.Scale = _1.ImageScale
				end
			end
			if _1.Color then
				clone_5_upvr.UIGradient.Color = _1.Color
			end
			function var389_upvw() -- Line 1311
				--[[ Upvalues[2]:
					[1]: clone_5_upvr (readonly)
					[2]: Attributes_7_upvr (readonly)
				]]
				local Attributes_2 = clone_5_upvr:FindFirstChild("Attributes")
				if not Attributes_2 then
				else
					if not Attributes_2:GetAttribute("Loaded") then
						Attributes_2:SetAttribute("Loaded", true)
						for _, v_29 in Attributes_7_upvr do
							local clone_4 = Attributes_2.UIListLayout.Template:Clone()
							clone_4.Label.Text = v_29.Name
							clone_4.Icon.Image = v_29.ImageId
							if v_29.Color then
								clone_4.Icon.UIGradient.Color = v_29.Color
							end
							clone_4.Parent = Attributes_2
						end
					end
					if 4.5 < clone_5_upvr.LayoutOrder then
						Attributes_2.Position = UDim2.fromScale(0.5, -0.2)
						Attributes_2.AnchorPoint = Vector2.new(0.5, 1)
						Attributes_2.UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Bottom
					else
						Attributes_2.Position = UDim2.fromScale(0.5, 1.2)
						Attributes_2.AnchorPoint = Vector2.new(0.5, 0)
						Attributes_2.UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Top
					end
					Attributes_2.Visible = true
				end
			end
			local function var394_upvw() -- Line 1344
				--[[ Upvalues[1]:
					[1]: clone_5_upvr (readonly)
				]]
				local Attributes_3 = clone_5_upvr:FindFirstChild("Attributes")
				if not Attributes_3 then
				else
					Attributes_3.Visible = false
				end
			end
		else
			clone_5_upvr.MainAttributeIcon.Visible = false
			clone_5_upvr.EmoteName.Size = UDim2.fromScale(0.9, 0.6)
		end
	else
		Attributes_7_upvr = clone_5_upvr.MainAttributeIcon
		Attributes_7_upvr.Visible = false
		Attributes_7_upvr = clone_5_upvr.EmoteName
		Attributes_7_upvr.Size = UDim2.fromScale(0.9, 0.6)
	end
	Attributes_7_upvr = arg1.IsRobloxEmote
	if Attributes_7_upvr then
		Attributes_7_upvr = #clone_5_upvr.EmoteName.Text
		if 15 < Attributes_7_upvr then
			Attributes_7_upvr = clone_5_upvr.EmoteName
			Attributes_7_upvr.Size = UDim2.fromScale(0.785, 0.6)
		end
		Attributes_7_upvr = clone_5_upvr.Purchase
		Attributes_7_upvr.Visible = true
		Attributes_7_upvr = module_6_upvr.new
		local function _() -- Line 1369
			--[[ Upvalues[2]:
				[1]: var19_upvw (copied, read and write)
				[2]: tostring_result1_upvr (readonly)
			]]
			var19_upvw:PromptThirdPartyPurchase(tostring_result1_upvr)
		end
		Attributes_7_upvr = Attributes_7_upvr(clone_5_upvr.Purchase, _):SetClickDelay
		Attributes_7_upvr(0.5)
	end
	Attributes_7_upvr = any_new_result1_5:BindToHoverBegin
	Attributes_7_upvr(function() -- Line 1375
		--[[ Upvalues[3]:
			[1]: clone_5_upvr (readonly)
			[2]: module_3_upvr (copied, readonly)
			[3]: var389_upvw (read and write)
		]]
		clone_5_upvr.Favorite.Visible = true
		module_3_upvr.new(clone_5_upvr.Favorite, TweenInfo.new(0.5), {
			ImageTransparency = 0;
		}):Play()
		if var389_upvw then
			var389_upvw()
		end
	end)
	Attributes_7_upvr = any_new_result1_5:BindToHoverEnded
	Attributes_7_upvr(function() -- Line 1383
		--[[ Upvalues[3]:
			[1]: clone_5_upvr (readonly)
			[2]: module_3_upvr (copied, readonly)
			[3]: var394_upvw (read and write)
		]]
		clone_5_upvr.Favorite.Visible = false
		module_3_upvr.new(clone_5_upvr.Favorite, TweenInfo.new(0.5), {
			ImageTransparency = 1;
		}):Play()
		if var394_upvw then
			var394_upvw()
		end
	end)
	do
		return clone_5_upvr
	end
	-- KONSTANTERROR: [98] 67. Error Block 59 end (CF ANALYSIS FAILED)
end
local module_7_upvr = require(Shared:WaitForChild("SearchIndex"))
local function createEmotesSection_upvr(arg1) -- Line 1395, Named "createEmotesSection"
	--[[ Upvalues[6]:
		[1]: var24_upvw (read and write)
		[2]: module_3_upvr (readonly)
		[3]: module_6_upvr (readonly)
		[4]: module_7_upvr (readonly)
		[5]: tbl_4_upvr (readonly)
		[6]: createEmoteButton_upvr (readonly)
	]]
	local Sections = var24_upvw.Sections
	local clone = Sections.Template:Clone()
	local module_16_upvr = {
		Frame = clone;
		UIPageLayout = clone.Pages.UIPageLayout;
	}
	clone.Name = arg1
	clone.Visible = true
	clone.Parent = Sections
	local Pages_upvr = clone.Pages
	local NextPage_upvr = clone.NextPage
	local PreviousPage_upvr = clone.PreviousPage
	local UIPageLayout_upvr = Pages_upvr.UIPageLayout
	local PageNumber_upvr = clone.PageNumber
	UIPageLayout_upvr:GetPropertyChangedSignal("CurrentPage"):Connect(function() -- Line 1416
		--[[ Upvalues[6]:
			[1]: UIPageLayout_upvr (readonly)
			[2]: Pages_upvr (readonly)
			[3]: PageNumber_upvr (readonly)
			[4]: module_3_upvr (copied, readonly)
			[5]: PreviousPage_upvr (readonly)
			[6]: NextPage_upvr (readonly)
		]]
		local CurrentPage = UIPageLayout_upvr.CurrentPage
		local var412 = #Pages_upvr:GetChildren() - 1
		PageNumber_upvr.Text = `Page {CurrentPage.LayoutOrder}/{var412}`
		local Quint = Enum.EasingStyle.Quint
		local tbl_9 = {}
		if CurrentPage.LayoutOrder == 1 then
			Quint = 0.75
		else
			Quint = 0
		end
		tbl_9.BackgroundTransparency = Quint
		module_3_upvr.new(PreviousPage_upvr, TweenInfo.new(0.25, Quint), tbl_9):Play()
		Quint = Enum.EasingStyle.Quint
		local tbl_5 = {}
		if CurrentPage.LayoutOrder == var412 then
			Quint = 0.75
		else
			Quint = 0
		end
		tbl_5.BackgroundTransparency = Quint
		module_3_upvr.new(NextPage_upvr, TweenInfo.new(0.25, Quint), tbl_5):Play()
	end)
	local any_SetClickDelay_result1_2 = module_6_upvr.new(NextPage_upvr, function() -- Line 1434
		--[[ Upvalues[1]:
			[1]: UIPageLayout_upvr (readonly)
		]]
		UIPageLayout_upvr:Next()
	end):SetClickDelay(0.5)
	any_SetClickDelay_result1_2:RemoveHoverAnimation("UI_SCALE")
	any_SetClickDelay_result1_2:AddHoverAnimation("UI_SCALE", {
		OnHoverBegin = {
			scale = 1.05;
		};
	})
	local any_SetClickDelay_result1 = module_6_upvr.new(PreviousPage_upvr, function() -- Line 1441
		--[[ Upvalues[1]:
			[1]: UIPageLayout_upvr (readonly)
		]]
		UIPageLayout_upvr:Previous()
	end):SetClickDelay(0.5)
	any_SetClickDelay_result1:RemoveHoverAnimation("UI_SCALE")
	any_SetClickDelay_result1:AddHoverAnimation("UI_SCALE", {
		OnHoverBegin = {
			scale = 1.05;
		};
	})
	module_16_upvr.SearchIndex = module_7_upvr.new()
	tbl_4_upvr[arg1] = module_16_upvr.SearchIndex
	function module_16_upvr.CreatePages(arg1_19, arg2) -- Line 1453
		--[[ Upvalues[4]:
			[1]: UIPageLayout_upvr (readonly)
			[2]: Pages_upvr (readonly)
			[3]: createEmoteButton_upvr (copied, readonly)
			[4]: module_16_upvr (readonly)
		]]
		for i_23, v_23 in arg2 do
			local clone_6 = UIPageLayout_upvr.Template:Clone()
			clone_6.Name = "Page"..i_23
			clone_6.LayoutOrder = i_23
			clone_6.Parent = Pages_upvr
			for i_24, v_24 in v_23 do
				createEmoteButton_upvr(v_24, i_24, clone_6)
				module_16_upvr.SearchIndex:AddItem(v_24.Name)
			end
		end
		if Pages_upvr:FindFirstChild("Page1") then
			v_23 = "Page1"
			UIPageLayout_upvr:JumpTo(Pages_upvr:FindFirstChild(v_23))
		end
	end
	return module_16_upvr
end
local function getEmoteDataInstanceFromName_upvr(arg1) -- Line 1479, Named "getEmoteDataInstanceFromName"
	--[[ Upvalues[1]:
		[1]: var21_upvw (read and write)
	]]
	for _, v_25 in var21_upvw:GetChildren() do
		if v_25:IsA("Folder") and v_25:GetAttribute("EmoteName") == arg1 then
			return v_25
		end
	end
end
local function loadSection_upvr(arg1) -- Line 1487, Named "loadSection"
	--[[ Upvalues[10]:
		[1]: var24_upvw (read and write)
		[2]: createEmotesSection_upvr (readonly)
		[3]: paginateEmotes_upvr (readonly)
		[4]: module_10_upvr (readonly)
		[5]: module_6_upvr (readonly)
		[6]: getEmoteDataInstanceFromName_upvr (readonly)
		[7]: getEmoteDataFromDataInstance_upvr (readonly)
		[8]: var22_upvw (read and write)
		[9]: createEmoteButton_upvr (readonly)
		[10]: var23_upvw (read and write)
	]]
	if var24_upvw.Sections:FindFirstChild(arg1) then
	else
		if arg1 == "Default" then
			local createEmotesSection_result1 = createEmotesSection_upvr("Default")
			createEmotesSection_result1.Frame.Visible = false
			createEmotesSection_result1:CreatePages(paginateEmotes_upvr("Default"))
			return
		end
		if arg1 == "Roblox" then
			local createEmotesSection_upvr_result1 = createEmotesSection_upvr("Roblox")
			createEmotesSection_upvr_result1.Frame.Visible = false
			createEmotesSection_upvr_result1:CreatePages(paginateEmotes_upvr("Roblox"))
			return
		end
		if arg1 == "Favorited" then
			createEmotesSection_upvr("Favorited")
			local Favorited_upvr_6 = var24_upvw.Favorited
			module_10_upvr:Do(Favorited_upvr_6.Container, Favorited_upvr_6.Container.UIGridLayout, Enum.AutomaticSize.Y)
			local any_new_result1 = module_6_upvr.new(Favorited_upvr_6.Exit, function() -- Line 1520
				openSection("Default")
			end)
			any_new_result1:RemoveHoverAnimation("UI_SCALE")
			any_new_result1:RemoveHoldAnimation("DOWN_SCALE")
			local function displayFavoritedEmote_upvr(arg1_20) -- Line 1527, Named "displayFavoritedEmote"
				--[[ Upvalues[5]:
					[1]: getEmoteDataInstanceFromName_upvr (copied, readonly)
					[2]: getEmoteDataFromDataInstance_upvr (copied, readonly)
					[3]: var22_upvw (copied, read and write)
					[4]: Favorited_upvr_6 (readonly)
					[5]: createEmoteButton_upvr (copied, readonly)
				]]
				-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
				-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
				-- KONSTANTERROR: [22] 19. Error Block 24 start (CF ANALYSIS FAILED)
				-- KONSTANTERROR: [22] 19. Error Block 24 end (CF ANALYSIS FAILED)
			end
			local function loadFavoritedEmotes_upvr(arg1_21, arg2) -- Line 1554, Named "loadFavoritedEmotes"
				--[[ Upvalues[6]:
					[1]: Favorited_upvr_6 (readonly)
					[2]: var23_upvw (copied, read and write)
					[3]: displayFavoritedEmote_upvr (readonly)
					[4]: getEmoteDataInstanceFromName_upvr (copied, readonly)
					[5]: getEmoteDataFromDataInstance_upvr (copied, readonly)
					[6]: var22_upvw (copied, read and write)
				]]
				-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
				task.wait()
				-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
				-- KONSTANTERROR: [4] 4. Error Block 55 start (CF ANALYSIS FAILED)
				for _, v_30 in Favorited_upvr_6.Container:GetChildren() do
					if v_30:IsA("ImageButton") then
						v_30:Destroy()
					end
				end
				for _, v_31 in var23_upvw:GetValue("favoritedEmotes"), nil do
					displayFavoritedEmote_upvr(v_31)
				end
				-- KONSTANTERROR: [4] 4. Error Block 55 end (CF ANALYSIS FAILED)
			end
			loadFavoritedEmotes_upvr()
			var23_upvw:ListenToArrayInsert("favoritedEmotes", function(arg1_22, arg2) -- Line 1613
				--[[ Upvalues[1]:
					[1]: loadFavoritedEmotes_upvr (readonly)
				]]
				loadFavoritedEmotes_upvr("Insert", arg2)
			end)
			var23_upvw:ListenToArrayRemove("favoritedEmotes", function(arg1_23, arg2) -- Line 1616
				--[[ Upvalues[1]:
					[1]: loadFavoritedEmotes_upvr (readonly)
				]]
				loadFavoritedEmotes_upvr("Remove", arg2)
			end)
		end
	end
end
function openSection(arg1) -- Line 1622
	--[[ Upvalues[4]:
		[1]: var27_upvw (read and write)
		[2]: var24_upvw (read and write)
		[3]: loadSection_upvr (readonly)
		[4]: module_3_upvr (readonly)
	]]
	if var27_upvw.Value == arg1 then
	else
		var24_upvw.SearchResults.Visible = false
		var24_upvw.SearchBar.TextBox.Text = ""
		var24_upvw.SearchBar.Visible = true
		var24_upvw.Sections.Visible = true
		var24_upvw.Favorited.Visible = false
		loadSection_upvr(arg1)
		if arg1 == "Favorited" then
			var24_upvw.SearchResults.Visible = false
			var24_upvw.SearchBar.Visible = false
			var24_upvw.Sections.Visible = false
			var24_upvw.Favorited.Visible = true
		end
		for _, v_32 in var24_upvw.Sections:GetChildren() do
			if v_32:IsA("Frame") then
				if v_32.Name == arg1 then
					v_32.Visible = true
				else
					v_32.Visible = false
				end
			end
		end
		for _, v_33 in var24_upvw.SectionSelector:GetChildren() do
			if v_33:IsA("ImageButton") then
				if v_33.Name == arg1 then
					module_3_upvr.new(v_33.UIStroke, TweenInfo.new(0.25, Enum.EasingStyle.Quint), {
						Color = Color3.fromRGB(255, 255, 255);
					}):Play()
				else
					module_3_upvr.new(v_33.UIStroke, TweenInfo.new(0.25, Enum.EasingStyle.Quint), {
						Color = Color3.fromRGB(0, 0, 0);
					}):Play()
				end
			end
		end
		var27_upvw.Value = arg1
	end
end
local function performSearch_upvr(arg1) -- Line 1678, Named "performSearch"
	--[[ Upvalues[8]:
		[1]: var24_upvw (read and write)
		[2]: tbl_4_upvr (readonly)
		[3]: var27_upvw (read and write)
		[4]: getEmoteDataInstanceFromName_upvr (readonly)
		[5]: getEmoteDataFromDataInstance_upvr (readonly)
		[6]: var22_upvw (read and write)
		[7]: createEmoteButton_upvr (readonly)
		[8]: tbl_15_upvr (readonly)
	]]
	-- KONSTANTERROR: [0] 1. Error Block 32 start (CF ANALYSIS FAILED)
	local SearchResults = var24_upvw.SearchResults
	local Sections_2 = var24_upvw.Sections
	if arg1 == "" then
		SearchResults.Visible = false
		Sections_2.Visible = true
		return
	end
	SearchResults.Visible = true
	Sections_2.Visible = false
	local var466 = tbl_4_upvr[var27_upvw.Value]
	if not var466 then
		var466 = tbl_4_upvr.Default
	end
	local ipairs_result1_4, ipairs_result2_2, ipairs_result3_6 = ipairs(var466:Search(arg1, 20))
	-- KONSTANTERROR: [0] 1. Error Block 32 end (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [115] 85. Error Block 19 start (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [115] 85. Error Block 19 end (CF ANALYSIS FAILED)
	-- KONSTANTERROR: [43] 32. Error Block 6 start (CF ANALYSIS FAILED)
	-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [115.11]
	-- KONSTANTERROR: [43] 32. Error Block 6 end (CF ANALYSIS FAILED)
end
local function loadEmotes_upvr() -- Line 1736, Named "loadEmotes"
	--[[ Upvalues[7]:
		[1]: var35_upvw (read and write)
		[2]: var24_upvw (read and write)
		[3]: module_6_upvr (readonly)
		[4]: module_3_upvr (readonly)
		[5]: var27_upvw (read and write)
		[6]: module_10_upvr (readonly)
		[7]: performSearch_upvr (readonly)
	]]
	if var35_upvw then
	else
		var35_upvw = true
		var24_upvw.Sections.Template.Visible = false
		local SectionSelector_upvr = var24_upvw.SectionSelector
		local SectionSelectorToggle_upvr = var24_upvw.SectionSelectorToggle
		SectionSelectorToggle_upvr.CloseLabel.TextTransparency = 1
		SectionSelectorToggle_upvr.CloseLabel.Visible = true
		local var475_upvw = false
		module_6_upvr.new(SectionSelectorToggle_upvr, function() -- Line 1757
			--[[ Upvalues[5]:
				[1]: var475_upvw (read and write)
				[2]: SectionSelector_upvr (readonly)
				[3]: var24_upvw (copied, read and write)
				[4]: module_3_upvr (copied, readonly)
				[5]: SectionSelectorToggle_upvr (readonly)
			]]
			if var475_upvw then
				SectionSelector_upvr.Visible = false
				var24_upvw.SideButtons.Visible = true
				var24_upvw.EmoteSpeedSlider.Visible = false
				var24_upvw.EmoteVolumeSlider.Visible = false
				var24_upvw.EmoteVolumeSlider.Visible = false
				var24_upvw.FavoriteSectionToggle.Visible = true
				module_3_upvr.new(SectionSelectorToggle_upvr.CloseLabel, TweenInfo.new(0.25, Enum.EasingStyle.Quint), {
					TextTransparency = 1;
				}):Play()
				module_3_upvr.new(SectionSelectorToggle_upvr.Icon, TweenInfo.new(0.25, Enum.EasingStyle.Quint), {
					ImageTransparency = 0;
				}):Play()
				var475_upvw = false
			else
				SectionSelector_upvr.Visible = true
				var24_upvw.SideButtons.Visible = false
				var24_upvw.EmoteSpeedSlider.Visible = false
				var24_upvw.EmoteVolumeSlider.Visible = false
				var24_upvw.FavoriteSectionToggle.Visible = false
				module_3_upvr.new(SectionSelectorToggle_upvr.CloseLabel, TweenInfo.new(0.25, Enum.EasingStyle.Quint), {
					TextTransparency = 0;
				}):Play()
				module_3_upvr.new(SectionSelectorToggle_upvr.Icon, TweenInfo.new(0.25, Enum.EasingStyle.Quint), {
					ImageTransparency = 1;
				}):Play()
				var475_upvw = true
			end
		end):AddHoverAnimation("UI_SCALE"):AddHoldAnimation("DOWN_SCALE")
		for _, v_34_upvr in SectionSelector_upvr:GetChildren() do
			if v_34_upvr:IsA("ImageButton") then
				module_6_upvr.new(v_34_upvr, function() -- Line 1810
					--[[ Upvalues[1]:
						[1]: v_34_upvr (readonly)
					]]
					openSection(v_34_upvr.Name)
				end)
			end
		end
		SectionSelectorToggle_upvr = var24_upvw
		SectionSelector_upvr = SectionSelectorToggle_upvr.FavoriteSectionToggle
		SectionSelectorToggle_upvr = module_6_upvr.new
		SectionSelectorToggle_upvr(SectionSelector_upvr, function() -- Line 1820
			--[[ Upvalues[1]:
				[1]: var27_upvw (copied, read and write)
			]]
			if var27_upvw.Value == "Favorited" then
				openSection("Default")
			else
				openSection("Favorited")
			end
		end)
		SectionSelector_upvr = openSection
		SectionSelectorToggle_upvr = "Default"
		SectionSelector_upvr(SectionSelectorToggle_upvr)
		SectionSelector_upvr = module_10_upvr:Do
		SectionSelector_upvr(var24_upvw.SearchResults, var24_upvw.SearchResults.UIGridLayout, Enum.AutomaticSize.Y)
		SectionSelectorToggle_upvr = var24_upvw.SearchBar
		SectionSelector_upvr = SectionSelectorToggle_upvr.TextBox
		local var485_upvr = SectionSelector_upvr
		SectionSelectorToggle_upvr = var485_upvr.Focused
		SectionSelectorToggle_upvr = SectionSelectorToggle_upvr:Connect
		SectionSelectorToggle_upvr(function() -- Line 1845
			--[[ Upvalues[2]:
				[1]: module_3_upvr (copied, readonly)
				[2]: var485_upvr (readonly)
			]]
			module_3_upvr.new(var485_upvr.Parent, TweenInfo.new(0.25, Enum.EasingStyle.Quint), {
				BackgroundTransparency = 0.75;
			}):Play()
		end)
		SectionSelectorToggle_upvr = var485_upvr.FocusLost
		SectionSelectorToggle_upvr = SectionSelectorToggle_upvr:Connect
		SectionSelectorToggle_upvr(function() -- Line 1853
			--[[ Upvalues[2]:
				[1]: module_3_upvr (copied, readonly)
				[2]: var485_upvr (readonly)
			]]
			module_3_upvr.new(var485_upvr.Parent, TweenInfo.new(0.25, Enum.EasingStyle.Quint), {
				BackgroundTransparency = 1;
			}):Play()
		end)
		SectionSelectorToggle_upvr = var485_upvr:GetPropertyChangedSignal("Text")
		SectionSelectorToggle_upvr = SectionSelectorToggle_upvr:Connect
		SectionSelectorToggle_upvr(function() -- Line 1862
			--[[ Upvalues[2]:
				[1]: performSearch_upvr (copied, readonly)
				[2]: var485_upvr (readonly)
			]]
			performSearch_upvr(var485_upvr.Text)
		end)
	end
end
function any_CreateController_result1.ToggleTapToSyncUI(arg1, arg2) -- Line 1868
	--[[ Upvalues[1]:
		[1]: var34_upvw (read and write)
	]]
	var34_upvw = arg2
end
local var491_upvw
local var492_upvw
local module_upvr = require(Shared:WaitForChild("PlayerDataManagerClient"))
local var494_upvw
local module_14_upvr = require(Shared:WaitForChild("UIFrame"))
local StarterGui_upvr = game:GetService("StarterGui")
local module_13_upvr = require(LocalPlayer_upvr:WaitForChild("PlayerScripts"):WaitForChild("Modules"):WaitForChild("Slider"))
function any_CreateController_result1.KnitStart(arg1) -- Line 1872
	--[[ Upvalues[32]:
		[1]: var491_upvw (read and write)
		[2]: module_9_upvr (readonly)
		[3]: var492_upvw (read and write)
		[4]: var19_upvw (read and write)
		[5]: var20_upvw (read and write)
		[6]: var18_upvw (read and write)
		[7]: var23_upvw (read and write)
		[8]: module_upvr (readonly)
		[9]: var24_upvw (read and write)
		[10]: var494_upvw (read and write)
		[11]: module_14_upvr (readonly)
		[12]: loadEmotes_upvr (readonly)
		[13]: module_3_upvr (readonly)
		[14]: var25_upvw (read and write)
		[15]: Assets_upvr (readonly)
		[16]: updateSideButtons_upvr (readonly)
		[17]: syncWithSyncGroup_upvr (readonly)
		[18]: setupTapToSync_upvr (readonly)
		[19]: ContentProvider_upvr (readonly)
		[20]: StarterGui_upvr (readonly)
		[21]: module_6_upvr (readonly)
		[22]: var22_upvw (read and write)
		[23]: var28_upvw (read and write)
		[24]: module_13_upvr (readonly)
		[25]: var26_upvw (read and write)
		[26]: var31_upvw (read and write)
		[27]: var29_upvw (read and write)
		[28]: RunService_upvr (readonly)
		[29]: var30_upvw (read and write)
		[30]: var35_upvw (read and write)
		[31]: loadSection_upvr (readonly)
		[32]: playEmote_upvr (readonly)
	]]
	var491_upvw = module_9_upvr.GetController("UIController")
	var492_upvw = module_9_upvr.GetController("SoundController")
	var19_upvw = module_9_upvr.GetService("MarketplaceService2")
	var20_upvw = module_9_upvr.GetService("EmotesService")
	var18_upvw = module_9_upvr.GetController("NotificationController")
	var23_upvw = module_upvr:GetLocalPlayerData()
	var24_upvw = var491_upvw:GetUI({"Emotes", "Main"})
	var494_upvw = module_14_upvr.new({
		Name = "Emotes";
		Overlappable = false;
		Init = function() -- Line 1885, Named "Init"
		end;
		Open = function() -- Line 1886, Named "Open"
			--[[ Upvalues[3]:
				[1]: loadEmotes_upvr (copied, readonly)
				[2]: var24_upvw (copied, read and write)
				[3]: module_3_upvr (copied, readonly)
			]]
			loadEmotes_upvr()
			var24_upvw.Visible = true
			module_3_upvr.new(var24_upvw, TweenInfo.new(0.5, Enum.EasingStyle.Quint), {
				Position = UDim2.fromScale(0.99, 0.525);
			}):Play()
		end;
		Close = function() -- Line 1897, Named "Close"
			--[[ Upvalues[2]:
				[1]: module_3_upvr (copied, readonly)
				[2]: var24_upvw (copied, read and write)
			]]
			module_3_upvr.new(var24_upvw, TweenInfo.new(0.5, Enum.EasingStyle.Quint), {
				Position = UDim2.fromScale(1.5, 0.525);
			}):Play()
		end;
	})
	var25_upvw = Assets_upvr:WaitForChild("TapToSyncUI"):Clone()
	var25_upvw.Enabled = false
	var25_upvw.Parent = script
	updateSideButtons_upvr()
	task.spawn(function() -- Line 1968
		--[[ Upvalues[1]:
			[1]: syncWithSyncGroup_upvr (copied, readonly)
		]]
		while true do
			syncWithSyncGroup_upvr()
			task.wait(1)
		end
	end)
	setupTapToSync_upvr()
	ContentProvider_upvr:PreloadAsync({"rbxassetid://14258888130", "rbxassetid://14258888248"})
	StarterGui_upvr:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)
	module_6_upvr.new(var24_upvw.Topbar.Close, function() -- Line 1986
		--[[ Upvalues[1]:
			[1]: var494_upvw (copied, read and write)
		]]
		var494_upvw:Close()
	end):AddHoverAnimation("UI_SCALE"):AddHoldAnimation("DOWN_SCALE")
	var22_upvw = var20_upvw:GetRobloxEmotes():expect()
	local EmoteSpeedSlider_upvr = var24_upvw.EmoteSpeedSlider
	local EmoteSpeed_upvr = var24_upvw.SideButtons.EmoteSpeed
	var28_upvw = Instance.new("NumberValue")
	var28_upvw.Value = 1
	local any_new_result1_2_upvw = module_13_upvr.new(EmoteSpeedSlider_upvr, {
		SliderData = {
			Start = 0;
			End = 2;
			Increment = 0.1;
			DefaultValue = 1;
		};
		MoveType = "Tween";
		Axis = 'Y';
		Padding = 0;
		AllowBackgroundClick = true;
	})
	any_new_result1_2_upvw:Track()
	EmoteSpeedSlider_upvr.Slider.Position = UDim2.fromScale((any_new_result1_2_upvw:GetValue() - 0) / 2, 0.5)
	local function sliderChanged(arg1_24, arg2) -- Line 2031
		--[[ Upvalues[1]:
			[1]: var28_upvw (copied, read and write)
		]]
		if not arg2 then
			var28_upvw.Value = arg1_24
		end
	end
	any_new_result1_2_upvw.Changed:Connect(sliderChanged)
	any_new_result1_2_upvw.Dragged:Connect(function() -- Line 2041
		--[[ Upvalues[1]:
			[1]: var492_upvw (copied, read and write)
		]]
		var492_upvw:PlaySound("ButtonHover1")
	end)
	any_new_result1_2_upvw.Released:Connect(function() -- Line 2046
		--[[ Upvalues[1]:
			[1]: var492_upvw (copied, read and write)
		]]
		var492_upvw:PlaySound("ButtonClick1")
	end)
	module_6_upvr.new(EmoteSpeed_upvr, function() -- Line 2051
		--[[ Upvalues[2]:
			[1]: EmoteSpeedSlider_upvr (readonly)
			[2]: EmoteSpeed_upvr (readonly)
		]]
		EmoteSpeedSlider_upvr.Visible = true
		EmoteSpeed_upvr.Parent.Visible = false
	end):AddHoverAnimation("UI_SCALE"):AddHoldAnimation("DOWN_SCALE")
	module_6_upvr.new(EmoteSpeedSlider_upvr.Close, function() -- Line 2059
		--[[ Upvalues[2]:
			[1]: EmoteSpeedSlider_upvr (readonly)
			[2]: EmoteSpeed_upvr (readonly)
		]]
		EmoteSpeedSlider_upvr.Visible = false
		EmoteSpeed_upvr.Parent.Visible = true
	end):AddHoverAnimation("UI_SCALE"):AddHoldAnimation("DOWN_SCALE")
	local function emoteSpeedChanged() -- Line 2067
		--[[ Upvalues[6]:
			[1]: var28_upvw (copied, read and write)
			[2]: var26_upvw (copied, read and write)
			[3]: var31_upvw (copied, read and write)
			[4]: var20_upvw (copied, read and write)
			[5]: EmoteSpeed_upvr (readonly)
			[6]: EmoteSpeedSlider_upvr (readonly)
		]]
		local Value = var28_upvw.Value
		if var26_upvw then
			if var26_upvw.AnimTrack then
				if not var31_upvw then
					var20_upvw:EmoteSpeedChanged(Value)
				end
				var26_upvw.AnimTrack:AdjustSpeed(Value)
				if var26_upvw.Camera then
					var26_upvw.Camera:AdjustSpeed(Value)
				end
				if var26_upvw.Sound then
					var26_upvw.Sound.PlaybackSpeed = var26_upvw.Sound:GetAttribute("DefaultPlaybackSpeed") * Value
				end
			end
		end
		EmoteSpeed_upvr.Label.Text = `{string.format("%.2f", math.round(Value * 10) / 10)}x`
		EmoteSpeedSlider_upvr.Slider.Label.Text = EmoteSpeed_upvr.Label.Text
	end
	emoteSpeedChanged()
	var28_upvw.Changed:Connect(emoteSpeedChanged)
	EmoteSpeed_upvr = var24_upvw
	EmoteSpeedSlider_upvr = EmoteSpeed_upvr.EmoteVolumeSlider
	local var515_upvr = EmoteSpeedSlider_upvr
	EmoteSpeed_upvr = var24_upvw.SideButtons.EmoteVolume
	local emoteCameraEnabledChanged_upvr = EmoteSpeed_upvr
	var29_upvw = Instance.new("NumberValue")
	var29_upvw.Value = 1
	local any_new_result1_3 = module_13_upvr.new(var515_upvr, {
		SliderData = {
			Start = 0;
			End = 2;
			Increment = 0.1;
			DefaultValue = 1;
		};
		MoveType = "Tween";
		Axis = 'Y';
		Padding = 0;
		AllowBackgroundClick = true;
	})
	any_new_result1_3:Track()
	var515_upvr.Slider.Position = UDim2.fromScale((any_new_result1_3:GetValue() - 0) / 2, 0.5)
	any_new_result1_3.Changed:Connect(function(arg1_25, arg2) -- Line 2131, Named "sliderChanged"
		--[[ Upvalues[1]:
			[1]: var29_upvw (copied, read and write)
		]]
		if not arg2 then
			var29_upvw.Value = arg1_25
		end
	end)
	any_new_result1_3.Dragged:Connect(function() -- Line 2141
		--[[ Upvalues[1]:
			[1]: var492_upvw (copied, read and write)
		]]
		var492_upvw:PlaySound("ButtonHover1")
	end)
	any_new_result1_3.Released:Connect(function() -- Line 2146
		--[[ Upvalues[1]:
			[1]: var492_upvw (copied, read and write)
		]]
		var492_upvw:PlaySound("ButtonClick1")
	end)
	module_6_upvr.new(emoteCameraEnabledChanged_upvr, function() -- Line 2151
		--[[ Upvalues[2]:
			[1]: var515_upvr (readonly)
			[2]: emoteCameraEnabledChanged_upvr (readonly)
		]]
		var515_upvr.Visible = true
		emoteCameraEnabledChanged_upvr.Parent.Visible = false
	end):AddHoverAnimation("UI_SCALE"):AddHoldAnimation("DOWN_SCALE")
	module_6_upvr.new(var515_upvr.Close, function() -- Line 2159
		--[[ Upvalues[2]:
			[1]: var515_upvr (readonly)
			[2]: emoteCameraEnabledChanged_upvr (readonly)
		]]
		var515_upvr.Visible = false
		emoteCameraEnabledChanged_upvr.Parent.Visible = true
	end):AddHoverAnimation("UI_SCALE"):AddHoldAnimation("DOWN_SCALE")
	local function emoteVolumeChanged() -- Line 2167
		--[[ Upvalues[4]:
			[1]: var29_upvw (copied, read and write)
			[2]: var26_upvw (copied, read and write)
			[3]: emoteCameraEnabledChanged_upvr (readonly)
			[4]: var515_upvr (readonly)
		]]
		local Value_4 = var29_upvw.Value
		if var26_upvw then
			if var26_upvw.AnimTrack and var26_upvw.Sound then
				var26_upvw.Sound.Volume = var26_upvw.Sound:GetAttribute("DefaultVolume") * Value_4
			end
		end
		emoteCameraEnabledChanged_upvr.Label.Text = `{string.format("%d", math.round(Value_4 * 100))}%`
		var515_upvr.Slider.Label.Text = emoteCameraEnabledChanged_upvr.Label.Text
		if Value_4 == 0 then
			emoteCameraEnabledChanged_upvr.Icon.Image = "rbxassetid://106850594406931"
			var515_upvr.Slider.Icon.Image = "rbxassetid://106850594406931"
		else
			emoteCameraEnabledChanged_upvr.Icon.Image = "rbxassetid://78611025365215"
			var515_upvr.Slider.Icon.Image = "rbxassetid://78611025365215"
		end
	end
	emoteVolumeChanged()
	var29_upvw.Changed:Connect(emoteVolumeChanged)
	if RunService_upvr:IsStudio() then
		any_new_result1_3:OverrideValue(0)
	end
	emoteCameraEnabledChanged_upvr = var24_upvw.SideButtons
	var515_upvr = emoteCameraEnabledChanged_upvr.EmoteCameraEnabled
	local var525_upvr = var515_upvr
	emoteCameraEnabledChanged_upvr = Instance.new("BoolValue")
	var30_upvw = emoteCameraEnabledChanged_upvr
	emoteCameraEnabledChanged_upvr = var30_upvw
	emoteCameraEnabledChanged_upvr.Value = true
	emoteCameraEnabledChanged_upvr = module_6_upvr.new
	local function _() -- Line 2204
		--[[ Upvalues[1]:
			[1]: var30_upvw (copied, read and write)
		]]
		var30_upvw.Value = not var30_upvw.Value
	end
	emoteCameraEnabledChanged_upvr = emoteCameraEnabledChanged_upvr(var525_upvr, _):AddHoverAnimation("UI_SCALE"):AddHoldAnimation
	emoteCameraEnabledChanged_upvr("DOWN_SCALE")
	function emoteCameraEnabledChanged_upvr() -- Line 2211, Named "emoteCameraEnabledChanged"
		--[[ Upvalues[3]:
			[1]: var30_upvw (copied, read and write)
			[2]: var525_upvr (readonly)
			[3]: var26_upvw (copied, read and write)
		]]
		local Value_3 = var30_upvw.Value
		if Value_3 then
			var525_upvr.Label.Text = "ON"
		else
			var525_upvr.Label.Text = "OFF"
		end
		if var26_upvw and var26_upvw.Camera then
			var26_upvw.Camera:SetEnabled(Value_3)
		end
	end
	local Value_2 = var30_upvw.Value
	if Value_2 then
		var525_upvr.Label.Text = "ON"
	else
		var525_upvr.Label.Text = "OFF"
	end
	if var26_upvw and var26_upvw.Camera then
		var26_upvw.Camera:SetEnabled(Value_2)
	end
	var30_upvw.Changed:Connect(emoteCameraEnabledChanged_upvr)
	emoteCameraEnabledChanged_upvr = var20_upvw
	var525_upvr = emoteCameraEnabledChanged_upvr.PlayEmote
	var525_upvr = var525_upvr:Connect
	var525_upvr(function(arg1_26) -- Line 2231
		--[[ Upvalues[6]:
			[1]: any_new_result1_2_upvw (read and write)
			[2]: var35_upvw (copied, read and write)
			[3]: loadEmotes_upvr (copied, readonly)
			[4]: var22_upvw (copied, read and write)
			[5]: loadSection_upvr (copied, readonly)
			[6]: playEmote_upvr (copied, readonly)
		]]
		-- KONSTANTERROR: [0] 1. Error Block 16 start (CF ANALYSIS FAILED)
		if arg1_26.EmoteSpeed then
			any_new_result1_2_upvw:OverrideValue(arg1_26.EmoteSpeed)
		end
		if not var35_upvw then
			loadEmotes_upvr()
		end
		-- KONSTANTERROR: [0] 1. Error Block 16 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [30] 24. Error Block 8 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [30] 24. Error Block 8 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [19] 16. Error Block 18 start (CF ANALYSIS FAILED)
		-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [30.8]
		-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [30.9]
		if nil == nil then
			-- KONSTANTWARNING: GOTO [33] #26
		end
		-- KONSTANTERROR: [19] 16. Error Block 18 end (CF ANALYSIS FAILED)
	end)
	emoteCameraEnabledChanged_upvr = var20_upvw
	var525_upvr = emoteCameraEnabledChanged_upvr.StopEmote
	var525_upvr = var525_upvr:Connect
	var525_upvr(function() -- Line 2248
		--[[ Upvalues[2]:
			[1]: var26_upvw (copied, read and write)
			[2]: playEmote_upvr (copied, readonly)
		]]
		if var26_upvw and var26_upvw.Id then
			playEmote_upvr(var26_upvw.Id)
		end
	end)
	emoteCameraEnabledChanged_upvr = var20_upvw
	var525_upvr = emoteCameraEnabledChanged_upvr.ChangeEmoteSpeed
	var525_upvr = var525_upvr:Connect
	var525_upvr(function(arg1_27, arg2, arg3) -- Line 2254
		--[[ Upvalues[2]:
			[1]: any_new_result1_2_upvw (read and write)
			[2]: var26_upvw (copied, read and write)
		]]
		any_new_result1_2_upvw:OverrideValue(arg2)
		if arg3 then
			if not var26_upvw then return end
			if arg3 then
				for i_26, v_26 in arg3 do
					if var26_upvw.AnimTrack.Name == i_26 then
						var26_upvw.AnimTrack.TimePosition = v_26
					end
				end
			end
		end
	end)
	emoteCameraEnabledChanged_upvr = var20_upvw
	var525_upvr = emoteCameraEnabledChanged_upvr.Unsynced
	var525_upvr = var525_upvr:Connect
	var525_upvr(function(arg1_28) -- Line 2262
		--[[ Upvalues[4]:
			[1]: var31_upvw (copied, read and write)
			[2]: any_new_result1_2_upvw (read and write)
			[3]: var24_upvw (copied, read and write)
			[4]: var18_upvw (copied, read and write)
		]]
		var31_upvw = nil
		any_new_result1_2_upvw:Track()
		var24_upvw.SyncedWith.Visible = false
		var18_upvw:NewNotification("SmallBottom", {
			t = "info";
			text = "Unsynced";
		})
	end)
	emoteCameraEnabledChanged_upvr = var20_upvw
	var525_upvr = emoteCameraEnabledChanged_upvr.SyncedWithPlayer
	var525_upvr = var525_upvr:Connect
	var525_upvr(function(arg1_29) -- Line 2275
		--[[ Upvalues[4]:
			[1]: var31_upvw (copied, read and write)
			[2]: any_new_result1_2_upvw (read and write)
			[3]: var24_upvw (copied, read and write)
			[4]: var18_upvw (copied, read and write)
		]]
		var31_upvw = arg1_29
		any_new_result1_2_upvw:Untrack()
		var24_upvw.SyncedWith.Visible = true
		var24_upvw.SyncedWith.Text = `Synced with: @{arg1_29.Name}`
		var18_upvw:NewNotification("SmallBottom", {
			t = "success";
			text = `Synced with: @{arg1_29.Name}`;
		})
	end)
end
function any_CreateController_result1.KnitInit(arg1) -- Line 2291
	--[[ Upvalues[3]:
		[1]: var21_upvw (read and write)
		[2]: ReplicatedStorage_upvr (readonly)
		[3]: var27_upvw (read and write)
	]]
	var21_upvw = ReplicatedStorage_upvr:WaitForChild("Assets"):FindFirstChild("CustomEmotes")
	var27_upvw = Instance.new("StringValue")
	var27_upvw.Name = "OpenedSection"
	var27_upvw.Parent = script
end
return any_CreateController_result1
Assistant: