Roblox/luau_corpus huggingface dataset:
----------SCRIPTED BY ZEDARKALIEN----------

local button = script.Parent
local frame = script.Parent.Parent:WaitForChild("Frame")
local debounce = false

button.MouseButton1Up:Connect(function()
	
	script.Parent.ClickSound:Play()
	
	if debounce == false then
		debounce = true
		
		frame.Visible = true
		script.Parent.Text = "CLOSE"
		
	elseif debounce == true then
		debounce = false
		
		frame.Visible = false
		script.Parent.Text = "SHOP"
		
	end
end)
-- Disable PickupInfo when player is seated
local runningWhenSeated = false
local function onCharacterAdded(character)
	local characterHumanoid = character:WaitForChild("Humanoid")
	characterHumanoid.Seated:Connect(function(isSeated)
		if isSeated and PickupInfoHandler.instance.isRunning then
			runningWhenSeated = true
			PickupInfoHandler.instance:stop()
		elseif not isSeated and not PickupInfoHandler.instance.isRunning and runningWhenSeated == true then
			runningWhenSeated = false
			PickupInfoHandler.instance:start()
		end
	end)
end

localPlayer.CharacterAdded:Connect(onCharacterAdded)
if localPlayer.Character then
	onCharacterAdded(localPlayer.Character)
end

return PickupInfoHandler
-- Parts
local TopBarPart = Home:WaitForChild("TopBarPart")


local Hook1 = Tire:WaitForChild("Hook1")
local Hook2 = Tire:WaitForChild("Hook2")
local TireMesh = Tire:WaitForChild("TireMesh")
local TireSeat = Tire:WaitForChild("TireSeat")

local RopeSupport1 = TopBar:WaitForChild("RopeSupport1")
local RopeSupport2 = TopBar:WaitForChild("RopeSupport2")
-- Decompiled with the Synapse X Luau decompiler.

local v1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
while not v1.Loaded do
	game:GetService("RunService").Heartbeat:Wait();
end;
function Messages(p1)

		local v5 = nil;

		for v2, v3 in ipairs(p1) do
		if v2 then

		else
			break;
		end;
		local v6 = nil;
		v6, v5 = unpack(v3);
		if v6 ~= "Triple Gems Boost" then
			if v6 == "Triple Gems" then
				v1.Signal.Fire("Notification", "You got x" .. v5 .. " Triple Gems Boost!", {
					color = Color3.fromRGB(255, 82, 218)
				});
			elseif v6 ~= "Super Lucky Boost" then
				if v6 == "Super Lucky" then
					v1.Signal.Fire("Notification", "You got x" .. v5 .. " Super Lucky Boost!", {
						color = Color3.fromRGB(255, 82, 218)
					});
				elseif v6 ~= "Ultra Lucky Boost" then
					if v6 == "Ultra Lucky" then
						v1.Signal.Fire("Notification", "You got x" .. v5 .. " Ultra Lucky Boost!", {
							color = Color3.fromRGB(128, 72, 173)
						});
					elseif v6 ~= "Triple Energy Boost" then
						if v6 == "Triple Energy" then
							v1.Signal.Fire("Notification", "You got x" .. v5 .. " Triple Energy Boost!", {
								color = Color3.fromRGB(255, 255, 0)
							});
						else
							v1.Signal.Fire("Notification", "You got " .. v1.Functions.Format.Commas(v5) .. " " .. v6 .. "!", {
								color = Color3.fromRGB(85, 170, 255)
							});
						end;
					else
						v1.Signal.Fire("Notification", "You got x" .. v5 .. " Triple Energy Boost!", {
							color = Color3.fromRGB(255, 255, 0)
						});
					end;
				else
					v1.Signal.Fire("Notification", "You got x" .. v5 .. " Ultra Lucky Boost!", {
						color = Color3.fromRGB(170, 85, 255)
					});
				end;
			else
				v1.Signal.Fire("Notification", "You got x" .. v5 .. " Super Lucky Boost!", {
					color = Color3.fromRGB(255, 82, 218)
				});
			end;
		else
			v1.Signal.Fire("Notification", "You got x" .. v5 .. " Triple Gems Boost!", {
				color = Color3.fromRGB(255, 82, 76)
			});
		end;
		if 1 < #p1 then
			v1.Functions.Wait(0.5);
		end;	
	end;
end;
v1.Network.Fired("Rewards Redeemed"):Connect(function(p2)
	Messages(p2);
end);
v1.Signal.Fired("Rewards Redeemed"):Connect(function(p3)
	Messages(p3);
end);
--[[

	LOWGames Studios
	Date: 27 October 2022
	by Elder
	
]]--

local v1 = require(game.ReplicatedStorage:WaitForChild("Framework"):WaitForChild("Library"));
while not v1.Loaded do
	game:GetService("RunService").Heartbeat:Wait();
end;
return function(p1, p2, ...)
	local v2 = ...;
	p1.title.Text = v2;
	v1.Shared.ApplyRarityColor(p1.title.back, v2);
end;
-- Controller script
local PlayerScripts = player.PlayerScripts
local Controller = PlayerScripts.Controller
-- Unanchores all parts in a weld list.
function UnanchorWeldList(weldList)
	for i,v in pairs(weldList) do
		v.Part0.Anchored = false
		v.Part1.Anchored = false
	end
end
-- Sunset time
sunset_h1,sunset_m1 = 17,20	--start
sunset_h2,sunset_m2 = 18,50	-- end
local sunset_time1 = (sunset_h1 + (sunset_m1/60)) * 60
local sunset_time2 = (sunset_h2 + (sunset_m2/60)) * 60
--			local frame = Instance.new("Frame", game.Workspace.PlotDisplay.SurfaceGui)
--			frame.Name = tostring(x) .. "_" .. tostring(z)
--			frame.Size = UDim2.new(1/stepsX,0,1/stepsZ,0)
--			frame.Position = UDim2.new(x/stepsX,0,z/stepsZ,0)
--			frame.BackgroundColor3 = Color3.new(0,1,0)
		end
	end
end

local function nodeInList(list, node)
	for _, otherNode in pairs(list) do
		if node.X == otherNode.X and node.Z == otherNode.Z and otherNode.f <= node.f then
			return true
		end
	end
	return false
end
-------------------Utilities-------------------

		if(key == keys.camset.code) and on == true and cam_change == true  then--Camera Setting
				if(camset == 0) then
				game.Workspace.CurrentCamera.CameraType = Enum.CameraType.Attach
				camset = 1
				elseif(camset == 1) then
				game.Workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
				camset = 0 
				end
			end
--[=[
	@return Trove
	Constructs a Trove object.
]=]
function Trove.new()
	local self = setmetatable({}, Trove)
	self._objects = {}
	self._cleaning = false
	return self
end
--[[Transmission]]
	Tune.TransModes		= {"Auto", "Semi", "Manual"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch
		
		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}								
		>First mode is default mode													]]
	
	--Automatic Settings
	Tune.AutoShiftMode	= "Speed"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]	
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)
	
	--Gear Ratios
	Tune.FinalDrive		= 2.36			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.70		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		3.53		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		1.94		,
		--[[ 3 ]]		1.28		,
		--[[ 4 ]]		.93		,
		--[[ 5 ]]		0.71		,
		--[[ 6 ]]		0.54		,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
--created by
------------------------------------------
--Clear And Enter

function Clear()
print("Cleared")
Input = ""
end

script.Parent.Clear.ClickDetector.MouseClick:connect(Clear)




function Enter()
if Input == Code then
print("Entered")
Input = ""

local door = script.Parent.Parent.Door

door.CanCollide = false
door.Transparency = door.Transparency + 0.1
wait(0.1)
door.Transparency = door.Transparency + 0.1
wait(0.1)
door.Transparency = door.Transparency + 0.1
wait(0.1)
door.Transparency = door.Transparency + 0.1
wait(0.1)
door.Transparency = door.Transparency + 0.1
wait(0.1)
door.Transparency = door.Transparency + 0.1
wait(0.1)
door.Transparency = door.Transparency + 0.1
wait(0.1)
door.Transparency = 0.8
wait(3)--
door.Transparency = door.Transparency - 0.1
wait(0.1)
door.Transparency = door.Transparency - 0.1
wait(0.1)
door.Transparency = door.Transparency - 0.1
wait(0.1)
door.Transparency = door.Transparency - 0.1
wait(0.1)
door.Transparency = door.Transparency - 0.1
wait(0.1)
door.Transparency = door.Transparency - 0.1
wait(0.1)
door.Transparency = door.Transparency - 0.1
wait(0.1)
door.Transparency = 0
door.CanCollide = true



return end
Input = ""
print("Wrong Code")
end




script.Parent.Enter.ClickDetector.MouseClick:connect(Enter)
--[[ Gamepad Support ]]--
local THUMBSTICK_DEADZONE = 0.2
---------------
--// Code
---------------
while true do
	task.wait()
	count1 = count1 + 0.001*speed
	

	if count1 > 1 then
		count1 = 0
	end	
	
	script.Parent.Color = Color3.fromHSV(count1,1,1)
end
-- Use module to insert latest tool
local GetLatestTool = require(580330877);
if not GetLatestTool then
	return;
end;
-- UI Display Screens
local curScreen = 1
local screens = {lobbyScreen1, lobbyScreen2, lobbyScreen3}
-- Return the number of common items that precede in reverse direction.
-- The length of what Myers paper calls a “snake” in a reverse path.
local function countCommonItemsR(
	aStart: number,
	aIndex: number,
	bStart: number,
	bIndex: number,
	isCommon: IsCommon
): number
	local nCommon = 0
	while aStart <= aIndex and bStart <= bIndex and isCommon(aIndex, bIndex) do
		aIndex = aIndex - 1
		bIndex = bIndex - 1
		nCommon = nCommon + 1
	end
	return nCommon
end
--[[
	Registers the creation of an object which can be used as a dependency.

	This is used to make sure objects don't capture dependencies originating
	from inside of themselves.
]]

local Package = script.Parent.Parent
local PubTypes = require(Package.PubTypes)
local sharedState = require(Package.Dependencies.sharedState)

local initialisedStack = sharedState.initialisedStack

local function initDependency(dependency: PubTypes.Dependency)
	local initialisedStackSize = sharedState.initialisedStackSize

	for index, initialisedSet in ipairs(initialisedStack) do
		if index > initialisedStackSize then
			return
		end

		initialisedSet[dependency] = true
	end
end

return initDependency
--Star Dust--

local function AttachParticleControl(source_part)
	
	local prtc = nil
	local prtc2 = nil
	
	local function Start()
		prtc = script.Stars:clone()
		prtc.Parent = source_part
		prtc2 = script.Space:clone()
		prtc2.Parent = source_part
	end
	
	local function Update()
		
	end
	
	local function Stop()
		if prtc ~= nil then
			prtc:destroy()
			prtc = nil
		end
		if prtc2 ~= nil then
			prtc2:destroy()
			prtc2 = nil
		end
	end
	
	return {Start = Start, Update = Update, Stop = Stop}
end

return AttachParticleControl
-- This function converts 4 different, redundant enumeration types to one standard so the values can be compared
function CameraUtils.ConvertCameraModeEnumToStandard(enumValue)
	if enumValue == Enum.TouchCameraMovementMode.Default then
		return Enum.ComputerCameraMovementMode.Follow
	end

	if enumValue == Enum.ComputerCameraMovementMode.Default then
		return Enum.ComputerCameraMovementMode.Classic
	end

	if enumValue == Enum.TouchCameraMovementMode.Classic or
		enumValue == Enum.DevTouchCameraMovementMode.Classic or
		enumValue == Enum.DevComputerCameraMovementMode.Classic or
		enumValue == Enum.ComputerCameraMovementMode.Classic then
		return Enum.ComputerCameraMovementMode.Classic
	end

	if enumValue == Enum.TouchCameraMovementMode.Follow or
		enumValue == Enum.DevTouchCameraMovementMode.Follow or
		enumValue == Enum.DevComputerCameraMovementMode.Follow or
		enumValue == Enum.ComputerCameraMovementMode.Follow then
		return Enum.ComputerCameraMovementMode.Follow
	end

	if enumValue == Enum.TouchCameraMovementMode.Orbital or
		enumValue == Enum.DevTouchCameraMovementMode.Orbital or
		enumValue == Enum.DevComputerCameraMovementMode.Orbital or
		enumValue == Enum.ComputerCameraMovementMode.Orbital then
		return Enum.ComputerCameraMovementMode.Orbital
	end

	if FFlagUserCameraToggle then
		if enumValue == Enum.ComputerCameraMovementMode.CameraToggle or
			enumValue == Enum.DevComputerCameraMovementMode.CameraToggle then
			return Enum.ComputerCameraMovementMode.CameraToggle
		end
	end

	-- Note: Only the Dev versions of the Enums have UserChoice as an option
	if enumValue == Enum.DevTouchCameraMovementMode.UserChoice or
		enumValue == Enum.DevComputerCameraMovementMode.UserChoice then
		return Enum.DevComputerCameraMovementMode.UserChoice
	end

	-- For any unmapped options return Classic camera
	return Enum.ComputerCameraMovementMode.Classic
end

return CameraUtils
--[[**
	ensures Lua primitive none type

	@param value The value to check against

	@returns True iff the condition is satisfied, false otherwise
**--]]
t.none = primitive("nil")
t["nil"] = t.none
-- TODO: Optimize all loops into a single thread
while true do
	local dt = wait()
	System.Parkour:Update(dt)
end
-- Water and sounds --
local water = p.Water.Mesh
local drainSound = p.Water.WaterDrainSound
local bathSound = p.Tap.BathSound
local showerSound = p.ShowerHead.Spout.ShowerSound
--TODO: investigate - does ordering matter here? need to check all the faces
return {
	[Enum.NormalId.Front] = {
		{ 1, 1, -1 }, --v1 - top front right
		{ 1, -1, -1 }, --v2 - bottom front right
		{ -1, -1, -1 }, --v3 - bottom front left
		{ -1, 1, -1 }, --v4 - top front left
	},
	[Enum.NormalId.Back] = {
		{ 1, 1, 1 }, --v5 - top back right
		{ 1, -1, 1 }, --v6 - bottom back right
		{ -1, -1, 1 }, --v7 - bottom back left
		{ -1, 1, 1 },  --v8 - top back left
	},
	[Enum.NormalId.Left] = {
		{ -1, -1, -1 }, --v3 - bottom front left
		{ -1, 1, -1 }, --v4 - top front left
		{ -1, -1, 1 }, --v7 - bottom back left
		{ -1, 1, 1 },  --v8 - top back left
	},
	[Enum.NormalId.Right] = {
		{ 1, 1, -1 }, --v1 - top front right
		{ 1, -1, -1 }, --v2 - bottom front right
		{ 1, 1, 1 }, --v5 - top back right
		{ 1, -1, 1 }, --v6 - bottom back right
	},
	[Enum.NormalId.Top] = {
		{ 1, 1, -1 }, --v1 - top front right
		{ -1, 1, -1 }, --v4 - top front left
		{ 1, 1, 1 }, --v5 - top back right
		{ -1, 1, 1 },  --v8 - top back left
	},
	[Enum.NormalId.Bottom] = {
		{ 1, -1, -1 }, --v2 - bottom front right
		{ -1, -1, -1 }, --v3 - bottom front left
		{ 1, -1, 1 }, --v6 - bottom back right
		{ -1, -1, 1 }, --v7 - bottom back left
	},
}
-- Assign hotkeys for selection clearing
AssignHotkey({ 'LeftShift', 'R' }, Support.Call(Selection.Clear, true));
AssignHotkey({ 'RightShift', 'R' }, Support.Call(Selection.Clear, true));
-- Decompiled with the Synapse X Luau decompiler.

local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
end)();
return function(p1)
	local v1 = Instance.new("Part");
	v1.Anchored = true;
	v1.CanCollide = false;
	v1.Transparency = 1;
	v1.Material = Enum.Material.SmoothPlastic;
	v1.CastShadow = false;
	v1.Size = Vector3.new();
	v1.CFrame = typeof(p1) == "Vector3" and CFrame.new(p1) or p1;
	v1.Name = "host";
	local v2 = Instance.new("Attachment");
	v2.Parent = v1;
	v1.Parent = u1.GameDebris;
	return v1, v2;
end;
-- Services
MarketplaceService = Game:GetService 'MarketplaceService';
HttpService = Game:GetService 'HttpService';
Workspace = Game:GetService 'Workspace';
--[[Transmission]]
	Tune.TransModes		= {"Semi"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch
		
		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}								
		>First mode is default mode													]]
	
	--Automatic Settings
	Tune.AutoShiftMode	= "RPM"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]	
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)
	
	--Gear Ratios
	Tune.FinalDrive		= 3.21		 --	[TRANSMISSION CALCULATIONS FOR NERDS]
	Tune.Ratios			= {			 --		SPEED [SPS]	 = (Wheel diameter(studs) * pi(3.14) * RPM) / (60 * Gear Ratio * Final Drive * Multiplier)
		--[[Reverse]]	5.000		,--		WHEEL TORQUE = Engine Torque * Gear Ratio * Final Drive * Multiplier
		--[[Neutral]]	0			,
		--[[ 1 ]]		3.519      	,
		--[[ 2 ]]		2.320		,
		--[[ 3 ]]		1.700		,
		--[[ 4 ]]		1.400		,
		--[[ 5 ]]		0.907		,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
--// All global vars will be wiped/replaced except script
--// All guis are autonamed client.Variables.CodeName..gui.Name

return function(data)
	local gui = script.Parent.Parent
	local playergui = service.PlayerGui
	local str = data.Message
	local time = data.Time or 15

	--client.UI.Make("HintHolder")
	local container = client.UI.Get("HintHolder",nil,true)
	if not container then
		local holder = service.New("ScreenGui")
		local hTable = client.UI.Register(holder)
		local frame = service.New("ScrollingFrame", holder)
		client.UI.Prepare(holder)
		hTable.Name = "HintHolder"
		frame.Name = "Frame"
		frame.BackgroundTransparency = 1
		frame.Size = UDim2.new(1, 0, 0,150)
		frame.CanvasSize = UDim2.new(0, 0, 0, 0)
		frame.ChildAdded:Connect(function(c)
			if #frame:GetChildren() == 0 then
				frame.Visible = false
			else
				frame.Visible = true
			end
		end)

		frame.ChildRemoved:Connect(function(c)
			if #frame:GetChildren() == 0 then
				frame.Visible = false
			else
				frame.Visible = true
			end
		end)

		container = hTable
		hTable:Ready()
	end
	container = container.Object.Frame

	--// First things first account for notif :)
	local notif = client.UI.Get("Notif")
	local topbar = client.UI.Get("TopBar")

	container.Position = UDim2.new(0,0,0,((notif and 30) or 0) + ((topbar and 40) or 0) - 35)

	local children = container:children()

	gui.Position = UDim2.new(0,0,0,-100)
	gui.Frame.msg.Text = str
	local bounds = gui.Frame.msg.TextBounds.X
	
	spawn(function()
		local sound = Instance.new("Sound",service.LocalContainer())
		sound.SoundId = "rbxassetid://255881176"
		sound.Volume = 0.25
		wait(0.1)
		sound:Play()
		wait(0.8)
		sound:Destroy()
	end)

	local function moveGuis(m,ignore)
		m = m or 0
		local max = #container:children()
		for i,v in pairs(container:children()) do
			if v~=ignore then
				local y = (i+m)*28
				v.Position = UDim2.new(0,0,0,y)
				if i~=max then v.Size = UDim2.new(1,0,0,28) end
			end
		end
	end

	local lom = -1
	moveGuis(-1)
	gui.Parent = container
	if #container:children()>5 then lom = -2 end
	UDim2.new(0,0,0,(#container:children()+lom)*28)
	moveGuis(-1)
	--gui:TweenPosition(UDim2.new(0,0,0,(#container:children()+lom)*28),nil,nil,0.3,true,function() if gui and gui.Parent then moveGuis(-1) end end)

	if #container:children()>5 then
		local gui = container:children()[1]
		moveGuis(-2,gui)
		gui:Destroy()
		--gui:TweenPosition(UDim2.new(0,0,0,-100),nil,nil,0.2,true,function() if gui and gui.Parent then gui:Destroy() end end)
	end

	wait(data.Time or 5)

	if gui and gui.Parent then
		moveGuis(-2,gui)
		gui:Destroy()
		--gui:TweenPosition(UDim2.new(0,0,0,-100),nil,nil,0.2,true,function() if gui and gui.Parent then gui:Destroy() end end)
	end
end
-- Définir les paramètres de la caméra
local sensitivity = 0.2 -- Sensibilité de la souris
local maxVerticalAngle = 80 -- Angle vertical maximal
local minVerticalAngle = -80 -- Angle vertical minimal
--Attach to character added
Player.CharacterAdded:Connect(function()
	Character = Player.Character
	HRP = Character:WaitForChild("HumanoidRootPart")
	Humanoid = Character:WaitForChild("Humanoid")
	Humanoid:GetPropertyChangedSignal("Sit"):Connect(function()
		if Humanoid.Sit then
			ButtonGui.Parent = script
			AdornedSeat = nil
		end
	end)
end)
--!strict
local Array = script.Parent
type Array<T> = { [number]: T }
local isArray = require(Array.isArray)
local LuauPolyfill = Array.Parent
type Object = { [string]: any }
local instanceof = require(LuauPolyfill.instanceof)
local Set
local Map
type mapFn<T, U> = (element: T, index: number) -> U
type mapFnWithThisArg<T, U> = (thisArg: any, element: T, index: number) -> U
-- Container for temporary connections (disconnected automatically)
local Connections = {};

function DecorateTool.Equip()
	-- Enables the tool's equipped functionality

	-- Start up our interface
	ShowUI();

end;

function DecorateTool.Unequip()
	-- Disables the tool's equipped functionality

	-- Clear unnecessary resources
	HideUI();
	ClearConnections();

end;

function ClearConnections()
	-- Clears out temporary connections

	for ConnectionKey, Connection in pairs(Connections) do
		Connection:Disconnect();
		Connections[ConnectionKey] = nil;
	end;

end;

function ShowUI()
	-- Creates and reveals the UI

	-- Reveal UI if already created
	if DecorateTool.UI then

		-- Reveal the UI
		DecorateTool.UI.Visible = true;

		-- Update the UI every 0.1 seconds
		UIUpdater = Support.ScheduleRecurringTask(UpdateUI, 0.1);

		-- Skip UI creation
		return;

	end;

	-- Create the UI
	DecorateTool.UI = Core.Tool.Interfaces.BTDecorateToolGUI:Clone();
	DecorateTool.UI.Parent = Core.UI;
	DecorateTool.UI.Visible = true;

	-- Enable each decoration type UI
	EnableOptionsUI(DecorateTool.UI.Smoke);
	EnableOptionsUI(DecorateTool.UI.Fire);
	EnableOptionsUI(DecorateTool.UI.Sparkles);

	-- Update the UI every 0.1 seconds
	UIUpdater = Support.ScheduleRecurringTask(UpdateUI, 0.1);

end;
--[[
	Returns an array of `afterEach` hooks in FILO order
]]
function LifecycleHooks:getAfterEachHooks()
	local key = TestEnum.NodeType.AfterEach
	local hooks = {}

	for _, level in ipairs(self._stack) do
		for _, hook in ipairs(level[key]) do
			table.insert(hooks, 1, hook)
		end
	end

	return hooks
end
----- Private Variables -----

local ActiveProfileStores = ProfileService._active_profile_stores
local AutoSaveList = ProfileService._auto_save_list
local IssueQueue = ProfileService._issue_queue

local DataStoreService = game:GetService("DataStoreService")
local RunService = game:GetService("RunService")

local PlaceId = game.PlaceId
local JobId = game.JobId

local AutoSaveIndex = 1 -- Next profile to auto save
local LastAutoSave = os.clock()

local LoadIndex = 0

local ActiveProfileLoadJobs = 0 -- Number of active threads that are loading in profiles
local ActiveProfileSaveJobs = 0 -- Number of active threads that are saving profiles

local CriticalStateStart = 0 -- os.clock()

local IsStudio = RunService:IsStudio()
local IsLiveCheckActive = false

local UseMockDataStore = false
local MockDataStore = ProfileService._mock_data_store -- Mock data store used when API access is disabled

local UserMockDataStore = ProfileService._user_mock_data_store -- Separate mock data store accessed via ProfileStore.Mock
local UseMockTag = {}

local CustomWriteQueue = {
	--[[
		[store] = {
			[key] = {
				LastWrite = os.clock(),
				Queue = {callback, ...},
				CleanupJob = nil,
			},
			...
		},
		...
	--]]
}
-- << SETUP >>
--Autosave
spawn(function()
	while wait(autosaveInterval) do
		for player, pdata in pairs(main.pd) do
			if main.players:FindFirstChild(player.Name) == nil then
				pdata = nil
			else
				savePlayerData(player)
			end
		end
	end
end)
--Stickmasterluke


sp=script.Parent


while sp:FindFirstChild("Scope")==nil or sp:FindFirstChild("Frame1")==nil or sp:FindFirstChild("Frame2")==nil do
	wait()
end

function update()
	sp.Scope.Position=UDim2.new(.5,-10-(sp.AbsoluteSize.y/2),0,-10)
	sp.Scope.Size=UDim2.new(0,20+sp.AbsoluteSize.y,0,20+sp.AbsoluteSize.y)
	sp.Frame1.Size=UDim2.new(0,20+((sp.AbsoluteSize.x-sp.AbsoluteSize.y)/2),1,20)
	sp.Frame2.Size=UDim2.new(0,20+((sp.AbsoluteSize.x-sp.AbsoluteSize.y)/2),1,20)
	sp.Frame2.Position=UDim2.new(1,-10-((sp.AbsoluteSize.x-sp.AbsoluteSize.y)/2),0,-10)
end

sp.Changed:connect(update)
-- [ SETTINGS ] --

local statsName = "Minutes" -- Your stats name
local maxItems = 50 -- Max number of items to be displayed on the leaderboard
local minValueDisplay = 1 -- Any numbers lower than this will be excluded
local maxValueDisplay = 10e15 -- (10 ^ 15) Any numbers higher than this will be excluded
local abbreviateValue = true -- The displayed number gets abbreviated to make it "human readable"
local updateEvery = 60 -- (in seconds) How often the leaderboard has to update
local headingColor = Color3.fromRGB(25, 181, 254) -- The background color of the heading
--[[
	Loads Module Functions for testing
	Studio Only!
	Phoenix
]]

local Run = true

if game:GetService("RunService"):IsStudio() == true or Run == true then
	for Index, Module in pairs(script.Parent.Modules:GetChildren()) do
		local Ran, Err = pcall(require(Module))

		if Err then
			warn("Module Function: ".. tostring(Module.Name) .. " ran into an error;\n".. tostring(Err))
		else
			--print("Module Function: ".. tostring(Module.Name) .. " ran with no errors")
		end
	end
end