Pinkstack/roblox-luau-corpus-text huggingface dataset:
--[[Steering]]


	Tune.SteerInner		= 70		-- Inner wheel steering angle (in degrees)
	Tune.SteerOuter		= 65		-- Outer wheel steering angle (in degrees)
	Tune.SteerSpeed		= .2		-- Steering increment per tick (in degrees)
	Tune.ReturnSpeed	= .2		-- Steering increment per tick (in degrees)
	Tune.SteerDecay		= 320		-- Speed of gradient cutoff (in SPS)
	Tune.MinSteer		= 10		-- Minimum steering at max steer decay (in percent)
	Tune.MSteerExp		= 1			-- Mouse steering exponential degree
	
	--Steer Gyro Tuning
	Tune.SteerD			= 100		-- Steering Dampening
	Tune.SteerMaxTorque	= 50000		-- Steering Force
	Tune.SteerP			= 1500		-- Steering Aggressiveness
--- Skip forwards in now
-- @param delta now to skip forwards


function Spring:TimeSkip(delta)
	local now = tick()
	local position, velocity = self:_positionVelocity(now+delta)
	self._position0 = position
	self._velocity0 = velocity
	self._time0 = now
end

function Spring:__index(index)
	if Spring[index] then
		return Spring[index]
	elseif index == "Value" or index == "Position" or index == "p" then
		local position, _ = self:_positionVelocity(tick())
		return position
	elseif index == "Velocity" or index == "v" then
		local _, velocity = self:_positionVelocity(tick())
		return velocity
	elseif index == "Target" or index == "t" then
		return self._target
	elseif index == "Damper" or index == "d" then
		return self._damper
	elseif index == "Speed" or index == "s" then
		return self._speed
	else
		error(("%q is not a valid member of Spring"):format(tostring(index)), 2)
	end
end

function Spring:__newindex(index, value)
	local now = tick()

	if index == "Value" or index == "Position" or index == "p" then
		local _, velocity = self:_positionVelocity(now)
		self._position0 = value
		self._velocity0 = velocity
	elseif index == "Velocity" or index == "v" then
		local position, _ = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = value
	elseif index == "Target" or index == "t" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._target = value
	elseif index == "Damper" or index == "d" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._damper = math.clamp(value, 0, 1)
	elseif index == "Speed" or index == "s" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._speed = value < 0 and 0 or value
	else
		error(("%q is not a valid member of Spring"):format(tostring(index)), 2)
	end

	self._time0 = now
end

function Spring:_positionVelocity(now)
	local p0 = self._position0
	local v0 = self._velocity0
	local p1 = self._target
	local d = self._damper
	local s = self._speed

	local t = s*(now - self._time0)
	local d2 = d*d

	local h, si, co
	if d2 < 1 then
		h = math.sqrt(1 - d2)
		local ep = math.exp(-d*t)/h
		co, si = ep*math.cos(h*t), ep*math.sin(h*t)
	elseif d2 == 1 then
		h = 1
		local ep = math.exp(-d*t)/h
		co, si = ep, ep*t
	else
		h = math.sqrt(d2 - 1)
		local u = math.exp((-d + h)*t)/(2*h)
		local v = math.exp((-d - h)*t)/(2*h)
		co, si = u + v, u - v
	end

	local a0 = h*co + d*si
	local a1 = 1 - (h*co + d*si)
	local a2 = si/s/2

	local b0 = -s*si
	local b1 = s*si
	local b2 = h*co - d*si

	return
		a0*p0 + a1*p1 + a2*v0,
		b0*p0 + b1*p1 + b2*v0
end

return Spring
--ScanForPoint()



hum.MoveToFinished:connect(function()

anims.AntWalk:Stop()
if enRoute then
enRoute = false
end
end)

local movementCoroutine = coroutine.wrap(function()
while true do
if target then
local sessionLock = lastLock
if targetType == "Player" then

while target and lastLock == sessionLock do
if target.Character and target.Character:IsDescendantOf(workspace) and target.Character.Humanoid and target.Character.Humanoid.Health > 0 then
local dist = (root.Position-target.Character.PrimaryPart.Position).magnitude
if dist < 5 then
--[=[
	@within Plasma
	@function blur
	@tag widgets
	@param size number -- The size of the blur

	A blur effect in the world. Created in Lighting.
]=]



local Lighting = game:GetService("Lighting")
local Runtime = require(script.Parent.Parent.Runtime)
local portal = require(script.Parent.portal)

return function(size)
	portal(Lighting, function()
		Runtime.useInstance(function()
			local blur = Instance.new("BlurEffect")
			blur.Size = size
			return blur
		end)
	end)
end
-------------------------------------


equiped=false
sp=script.Parent
RayLength=200
Spread=.0001
enabled=true
reloading=false
down=false
r=game:service("RunService")
last=0
last2=0
last3=0
last4=0
last5=0
last6=0

p = Instance.new("Part")
p.Parent = game.Lighting
p.Name = "BulletTexture"
p.CanCollide = true
p.formFactor = "Custom"
p.Size = Vector3.new(1,0.1,1)
p.Transparency = 1
g = Instance.new("SpecialMesh")
g.Parent = p

Bullet=Instance.new("Part")
Bullet.Name="Bullet"
Bullet.BrickColor=BrickColor.new("New Yeller")
Bullet.Anchored=true
Bullet.CanCollide=false
Bullet.Locked=true
Bullet.Size=Vector3.new(1,1,1)
--Healing that looks nice.


var = (".")
function onClicked(click)
if (script.Parent.Value1.Value == 0) then
	script.Parent.Value1.Value = 1
		for i = 1, 5, 1 do
		var = (var .. ".")
		game.Players.LocalPlayer.Character.Humanoid.Health = game.Players.LocalPlayer.Character.Humanoid.Health + 20
		wait(0.2)
		end
	var = (".")
	script.Parent.Value1.Value = 0
end
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
--[[
	Sets the system marker so that clients can see it through walls. If message is nil, then the marker is removed.
]]


function BaseSystem:_setMarker(message)
	local part = self._model.PrimaryPart
	DestroyMarker:FireAllClients(part)

	local translatedNames = {
		Camera = translate("Camera"),
		Engine = translate("Engine"),
		Generator = translate("Generator"),
		Gravity = translate("Gravity"),
		Lights = translate("Lights"),
		Shield = translate("Shields")
	}

	if message then
		CreateMarker:FireAllClients(part, translatedNames[self._model.Name] or self._model.Name, message)
	end
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		= 3.50			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.50		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		3.50		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		3.00		,
		--[[ 3 ]]		2.50		,
		--[[ 4 ]]		2.00		,
		--[[ 5 ]]		1.50		,
		--[[ 6 ]]		1.00		,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
--[[ Local Variables ]]

--
local MasterControl = {}

local Players = game:GetService('Players')
local RunService = game:GetService('RunService')

while not Players.LocalPlayer do
	wait()
end
local LocalPlayer = Players.LocalPlayer
local CachedHumanoid = nil
local RenderSteppedCon = nil
local moveFunc = LocalPlayer.Move

local isJumping = false
local moveValue = Vector3.new(0,0,0)
--[[
	Novena Constraint Type: Motorcycle
			The Bike Chassis
	
				SecondLogic | Inspare (thanks!)
				Avxnturador | Novena
--]]




local autoscaling	= true					--Estimates top speed

local UNITS	= {								--Click on speed to change units
											--First unit is default	
	{
		units			= "KM/H"			,
		scaling			= (10/12) * 1.09728	, -- 1 stud : 10 inches | ft/s to KP/H
		maxSpeed		= 370				,
		spInc			= 40				, -- Increment between labelled notches
	},
	
	{
		units			= "SPS"				,
		scaling			= 1					, -- Roblox standard
		maxSpeed		= 400				,
		spInc			= 40				, -- Increment between labelled notches
	}
}
------- extreme math equations


		local v = 30
		local c = 50
		local m = part:GetMass()
		if m< 20 then
			m = 20
		end
		part.RotVelocity =Vector3.new(math.random(-v,v)/(m/c),math.random(-v,v)/(m/c),math.random(-v,v)/(m/c))
		game:GetService("Debris"):AddItem(script.Parent,0.1)--penetration
	
	end
	local a = part.Parent:findFirstChild("Humanoid")
	local b = part.Parent.Parent:findFirstChild("Humanoid")
		local debrispart = Instance.new("Part")
		debrispart.Name="debrispart"
		debrispart.Size = Vector3.new(0.05,0.05,0.05)
		debrispart.BrickColor = part.BrickColor
		debrispart.Anchored=true
		debrispart.CanCollide = false
		debrispart.Transparency=1
		debrispart.Position=positiono
		debrispart.Parent=game.Workspace
		if a == nil and b == nil then
		local thingy = script.debris:Clone()
		thingy.Color=ColorSequence.new(part.Color,part.Color)
		thingy.Parent=debrispart
		spawn(function()
		thingy:Emit(10)
		end)
		end
		if a ~= nil or b ~= nil then
		local thingy = script.blood:Clone()
		thingy.Parent=debrispart
		spawn(function()
		thingy:Emit(10)
		end)
		end
		game:GetService("Debris"):AddItem(debrispart,1)
		game:GetService("Debris"):AddItem(script.Parent,0.05)
		
	--[[if position ~= nil then
	end]]--
	
end

	script.Parent.Touched:connect(hit)
--[[Transmission]]


	Tune.TransModes		= {"Auto", "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	= "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		= 3			-- 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 ]]		2.04		,
		--[[ 3 ]]		1.38		,
		--[[ 4 ]]		1.03		,
		--[[ 5 ]]		0.81		,
		--[[ 6 ]]		0.64		,
	}
	Tune.FDMult			= 0.6			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
-- Ammo Effect


function ammoEffect()
	local t = 0.3
	ammoUI.AmmoEffect.Size = UDim2.new(1, 0, 1, 0)
	ammoUI.AmmoEffect.TextTransparency = 0
	ammoUI.AmmoEffect:TweenSize(UDim2.new(2.1, 0, 2.1, 0), "InOut", "Quad", t, true)
	for i = 1, 10 do
		ammoUI.AmmoEffect.TextTransparency = ammoUI.AmmoEffect.TextTransparency + 0.1
		wait(t/10)
	end
	return
end
--set up ghost following you


Spawn(function()
	while Alive do
		local torsoAt = Character.Torso.Position
		local toGhost = Body.Position - torsoAt
		toGhost = Vector3.new(toGhost.x, 0, toGhost.z).unit
		local ghostAt = torsoAt + toGhost*3 + Vector3.new(0, 2 + 1*math.sin(tick()), 0)
		--
		Body.Float.position = ghostAt
		Body.Rotate.cframe = Character.Torso.CFrame 
		wait()
		Body.Anchored = false;
		Body.CanCollide = false;
		Body:SetNetworkOwner(nil)
	end
end)
--Spin Limit


if Spin <= 0 then
Spin = 0
end
if Spin > 10 then
cam = game.Workspace.CurrentCamera
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(0.001, 0, 0)
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
script.Ding.Pitch = .6 + (.3 * (Spin/40))
script.Ding:Play()
end
if Spin > 45 then 
Spin = 45
end
--Made by Superluck, Uploaded by FederalSignal_QCB.
--Made by Superluck, Uploaded by FederalSignal_QCB.
--Made by Superluck, Uploaded by FederalSignal_QCB.


wait(1)
while true do
script.Parent.Parent.Parent.Scripts.SoundBlock.Value.Sound.PlaybackSpeed = script.Parent.PlaybackSpeed
script.Parent.Parent.Parent.Scripts.SoundBlock.Value.Sound.Volume = (script.Parent.Volume*2)*11
script.Parent.Parent.Parent.Scripts.SoundBlock.Value.Sound.EmitterSize = script.Parent.EmitterSize*10
script.Parent.Parent.Parent.Scripts.SoundBlock.Value.Sound.SoundId = script.Parent.SoundId
script.Parent.Parent.Parent.Scripts.SoundBlock.Value.Sound.Playing = script.Parent.Playing
script.Parent.Parent.Parent.Scripts.SoundBlock.Value.Sound.DistortionSoundEffect.Level = (script.Parent.Volume*1.3)*4
wait()
end
--[=[
	Same as `andThenCall`, except for `finally`.

	Attaches a `finally` handler to this Promise that calls the given callback with the predefined arguments.

	@param callback (...: any) -> any
	@param ...? any -- Additional arguments which will be passed to `callback`
	@return Promise
]=]


function Promise.prototype:finallyCall(callback, ...)
	assert(type(callback) == "function", string.format(ERROR_NON_FUNCTION, "Promise:finallyCall"))
	local length, values = pack(...)
	return self:_finally(debug.traceback(nil, 2), function()
		return callback(unpack(values, 1, length))
	end)
end
-- This file was @generated by Tarmac. It is not intended for manual editing.


return {
	ApertureOutline = "rbxassetid://10075108836",
	ApertureSolid = "rbxassetid://10075108932",
	CameraFilled = "rbxassetid://10075109090",
	CameraOutline = "rbxassetid://10075109448",
	Caret = "rbxassetid://10075138934",
	CheckCircle = "rbxassetid://10075110227",
	EmoteOutline = "rbxassetid://10075110453",
	EmoteSolid = "rbxassetid://10075110659",
	EyeClosed = "rbxassetid://10075110843",
	EyeOpen = "rbxassetid://10075110954",
	Filters = {
		Antique = "rbxassetid://10075195631",
		Cute = "rbxassetid://10075195904",
		Dramatic = "rbxassetid://10075196064",
		Monochrome = "rbxassetid://10075196387",
		Normal = "rbxassetid://10075196662",
		Pop = "rbxassetid://10075196915",
		Soft = "rbxassetid://10075197132",
	},
	Poses = {
		BreakDance = "rbxassetid://10075186317",
		Cheer = "rbxassetid://10075186554",
		Clapping = "rbxassetid://10075186766",
		Dolphin = "rbxassetid://10075186950",
		Flossing = "rbxassetid://10075187146",
		Guitar = "rbxassetid://10075187373",
		JumpWave = "rbxassetid://10075187644",
		Louder = "rbxassetid://10075187820",
		Normal = "rbxassetid://10075187987",
		TopRock = "rbxassetid://10075188289",
		Twirl = "rbxassetid://10075188477",
		Wave = "rbxassetid://10075188642",
	},
	SparkleOutline = "rbxassetid://10075074919",
	SparkleSolid = "rbxassetid://10075075008",
	ToolboxIcon = "rbxassetid://10205311137",
	UsersOutline = "rbxassetid://10075111071",
	UsersSolid = "rbxassetid://10075111227",
	XClose = "rbxassetid://10075139060",
}
-- find player's head pos



	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)

	local head = vCharacter:findFirstChild("Head")
	if head == nil then return end

	Tool.Handle.Fire:Play()
	local launch = head.Position + 10 * v

	local missile = Pellet:clone()
	missile.CFrame = CFrame.new(launch,shootDirect)
	missile.Position = launch
	missile.Velocity = v * 85

	local force = Instance.new("BodyForce")
	force.force = Vector3.new(0,942,0)
	force.Parent = missile

	missile.SnowballScript.Disabled = false


	missile.Parent = game.Workspace

end

function gunUp()
	Tool.GripPos =  Vector3.new(0.3,0,-1.2)
end

function gunOut()
	Tool.GripPos = Vector3.new(0.3,0,-1.5)
end

function onEquipped()

	Tool.Handle.Fire:Stop()

end

function onUnequipped()

	Tool.Handle.Fire:Stop()

end

Tool.Equipped:connect(onEquipped)
Tool.Unequipped:connect(onUnequipped)


enabled = true
function onActivated()
	if not enabled  then
		return
	end

	enabled = false


	local character = Tool.Parent;
	local humanoid = character.Humanoid
	if humanoid == nil then
		print("Humanoid not found")
		return 
	end

	local targetPos = humanoid.TargetPoint
	local lookAt = (targetPos - character.Head.Position).unit
	shootDirect = targetPos

	local reload = 0.0000001


	gunUp()
	fire(lookAt, shootDirect)
	wait(0.1)
	gunOut()
	wait(reload)
	wait(reload)

	enabled = true

end

script.Parent.Activated:connect(onActivated)
-- I'm honestly not sure 
-- Andrew Bereza 


game.ReplicatedStorage.RequestGui.OnServerInvoke = function(Player,GuiName)
	local Gui = game.StarterGui:FindFirstChild(GuiName)
	if Gui and Player.PlayerGui:FindFirstChild(GuiName) == nil then
		print(Player.Name.." REQUESTED GUI "..GuiName)
		Gui:Clone().Parent = Player.PlayerGui
	end
end
-- aboutWindow Close Button Functions


local topbar_acloseButton_nf = TweenService:Create(aboutCloseButton, Bar_Button_TweenInfo, button_not_focused)
local topbar_acloseButton_f = TweenService:Create(aboutCloseButton, Bar_Button_TweenInfo, button_focused)
local topbar_acloseButton_p = TweenService:Create(aboutCloseButton, Bar_Button_TweenInfo, button_pressed)
local topbar_aclosebutton_r = TweenService:Create(aboutCloseButton, Bar_Button_TweenInfo, button_released)

aboutCloseButton.MouseEnter:Connect(function()
	topbar_acloseButton_f:Play()
end)

aboutCloseButton.MouseLeave:Connect(function()
	topbar_acloseButton_nf:Play() --                  These are all
end) --                                               for the closeButton
----  \/Ally\/


model = script.Parent
wait(0.5)
currentP = "Off"
script.Parent.Events.Ally.OnServerEvent:Connect( function(player, pattern)
	if script.Parent.Values.Ally.Value == true then
		script.Parent.Values.Ally.Value = false
	else
		script.Parent.Values.Ally.Value = true
	end
end)
--[=[
	Retrieves groupInfo about a group.

	@param groupId number
	@return Promise<table>
]=]


function GroupUtils.promiseGroupInfo(groupId)
	assert(groupId, "Bad groupId")

	return Promise.spawn(function(resolve, reject)
		local groupInfo = nil
		local ok, err = pcall(function()
			groupInfo = GroupService:GetGroupInfoAsync(groupId)
		end)

		if not ok then
			return reject(err)
		end

		if type(groupInfo) ~= "table" then
			return reject("Rank is not a number")
		end

		return resolve(groupInfo)
	end)
end
--game.Lighting:WaitForChild("Blur").Enabled = true
--game.Lighting.ColorCorrection.Enabled = true



local contenProvider = game:GetService("ContentProvider")
game.Loaded:Wait()
local toLoad = workspace:GetDescendants()
local total = #toLoad
for i,v in pairs(toLoad) do
	loadingScreen.Background.Counter.Text = "Loading: " .. i .. "/" .. total
	contenProvider:PreloadAsync({v})
end
--		[TORQUE CURVE VISUAL]
--		https://www.desmos.com/calculator/nap6stpjqf
--		Use sliders to manipulate values
--		Edit everything as if your car is NATURALLY aspirated, or as if it lacks a turbo.



Tune.Horsepower		= 250
Tune.IdleRPM		= 700
Tune.PeakRPM		= 7000
Tune.Redline		= 8000
Tune.EqPoint		= 5252
Tune.PeakSharpness	= 20
Tune.CurveMult		= 0.2

Tune.InclineComp	= 1.7		-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
-- Functions to check if a mock was ever called with given arguments.



local getCalls = require(script.Parent.getCalls)
local cmpLiteralArgs = require(script.Parent.cmpLiteralArgs)
local cmpPredicateArgs = require(script.Parent.cmpPredicateArgs)
local fmtArgs = require(script.Parent.fmtArgs)

local AnyCallMatches = {}

function AnyCallMatches.args(mock, test)
	local callList = getCalls(mock)
	local size = #callList
	if size == 0 then
		return false, "mock was not called"
	end

	local msg
	for i = 1, size do
		local result
		result, msg = test(callList[i].args)
		if result then
			return true
		end
	end

	if not msg then
		msg = fmtArgs(callList[size].args) .. " did not match"
	end
	if size > 1 then
		msg = msg .. " (+" .. (size - 1) .. " other calls)"
	end

	return false, msg
end

function AnyCallMatches.literals(mock, ...)
	local expected = table.pack(...)
	return AnyCallMatches.args(mock, function(actual)
		return cmpLiteralArgs(expected, actual)
	end)
end

function AnyCallMatches.predicates(mock, ...)
	local predicates = table.pack(...)
	return AnyCallMatches.args(mock, function(actual)
		return cmpPredicateArgs(predicates, actual)
	end)
end

return AnyCallMatches
--[=[
	Ensures the computed version of a value is limited by lifetime instead
	of multiple. Used in conjunction with [Blend.Children] and [Blend.Computed].

	:::warning
	In general, cosntructing new instances like this is a bad idea, so it's recommended against it.
	:::

	```lua
	local render = Blend.New "ScreenGui" {
		Parent = game.Players.LocalPlayer.PlayerGui;
		[Blend.Children] = {
			Blend.Single(Blend.Computed(percentVisible, function()
				-- you generally would not want to do this anyway because this reconstructs a new frame
				-- every frame.

				Blend.New "Frame" {
					Size = UDim2.new(1, 0, 1, 0);
					BackgroundTransparency = 0.5;
				};
			end)
		};
	};

	maid:GiveTask(render:Subscribe(function(gui)
		print(gui)
	end))
	```

	@function Single
	@param Observable<Instance | Brio<Instance>>
	@return Observable<Brio<Instance>>
	@within Blend
]=]


function Blend.Single(observable)
	return Observable.new(function(sub)
		local maid = Maid.new()

		maid:GiveTask(observable:Subscribe(function(result)
			if Brio.isBrio(result) then
				local copy = BrioUtils.clone(result)
				maid._current = copy
				sub:Fire(copy)
				return copy
			end

			local current = Brio.new(result)
			maid._current = current
			sub:Fire(current)

			return current
		end))

		return maid
	end)
end
--[[
	Calls the provided handler when any of the provided signals are fired.
	Returns an array of the connections made.

	Example usage:
		local handler = print

		local connections = connectAll(
			{signalA, signalB},
			handler
		)

		eventA:Fire("1 Hello,", "world!")
		eventB:Fire("2 foo", "bar")

		for _, connection in ipairs(connections) do
			connection:Disconnect()
		end

	Output:
		1 Hello, world!
		2 foo bar
--]]



local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Signal = require(ReplicatedStorage.Source.Signal)

type Handler = (...any) -> ...any

local function connectAll(signals: { RBXScriptSignal | Signal.ClassType }, handler: Handler)
	local connections: { RBXScriptConnection | Signal.SignalConnection } = {}

	for _, signal in ipairs(signals) do
		local connection: RBXScriptConnection | Signal.SignalConnection = (signal :: any):Connect(handler)
		table.insert(connections, connection)
	end

	return connections
end

return connectAll
---Place this INSIDE the model. Don't replace the model name or anything.
------------------------------------------------------------------------------------------ 


object = script.Parent 
if (object ~= nil) and (object ~= game.Workspace) then 
model = object 
 



backup = model:clone() -- Make the backup 
waitTime = 10 --Time to wait between regenerations 
wait(math.random(0, waitTime)) 
while true do 
wait(waitTime) -- Regen wait time 

 
model:remove() 

wait(2.5) -- Display regen message for this amount of time 

model = backup:clone() 
model.Parent = game.Workspace 
model:makeJoints() 
message.Parent = nil 
end 
end
--[[
Make sure to put Menu Blur Script in StarterGui
And that you put MenuBlur in Lighting

Or paste this in the command bar:
	workspace:WaitForChild("Menu Blur Script").MenuBlur.Parent = game:GetService("Lighting") wait() workspace:WaitForChild("Menu Blur Script").Parent = game:GetService("StarterGui")
]]

		




local Lighting = game:GetService("Lighting")

local MenuBluriness = Lighting.MenuBlur

local GuiService = game:GetService("GuiService")
GuiService.MenuOpened:Connect(function()
	MenuBluriness.Enabled = true
	wait()
	MenuBluriness.Size = 24
end)
 
GuiService.MenuClosed:Connect(function()
	MenuBluriness.Size = 12
	wait()
	MenuBluriness.Enabled = false
end)