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: -- Decompiler will be improved soon!
-- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/wyButjTMhM)
-- Decompiled on 2025-02-11 10:17:34
-- Luau version 6, Types version 3
-- Time taken: 0.088265 seconds

local function _(arg1, arg2) -- Line 6, Named "WaitForDescendant"
	local var9
	for _, v in arg2 do
		var9 = var9:WaitForChild(v)
	end
	return var9
end
local LocalPlayer_upvr = game:GetService("Players").LocalPlayer
local var13_upvr = LocalPlayer_upvr
for _, v_2 in {"PlayerScripts", "Gameplay", "Bullets", "Visualize"} do
	var13_upvr = var13_upvr:WaitForChild(v_2)
end
local Modules_upvr = game:GetService("ReplicatedStorage"):WaitForChild("Modules")
local Assets_upvr = game:GetService("ReplicatedStorage"):WaitForChild("Assets")
local Events_upvr = game:GetService("ReplicatedStorage"):WaitForChild("Events")
function var13_upvr(arg1, arg2) -- Line 16
	--[[ Upvalues[5]:
		[1]: LocalPlayer_upvr (readonly)
		[2]: Modules_upvr (readonly)
		[3]: Assets_upvr (readonly)
		[4]: var13_upvr (readonly)
		[5]: Events_upvr (readonly)
	]]
	-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
	local mouse_upvr_2 = LocalPlayer_upvr:GetMouse()
	local Parent_upvr_2 = arg1.Parent
	local Resources_upvr_2 = arg1.Parent:WaitForChild("Resources")
	local RunService_upvr = game:GetService("RunService")
	local TweenService_upvr = game:GetService("TweenService")
	local UserInputService_upvr = game:GetService("UserInputService")
	local module_4_upvr = require(Modules_upvr.Core:WaitForChild("Shared"))
	local module_2_upvr = require(Modules_upvr.Core:WaitForChild("Assets"))
	local VisualizeBullet_upvr_2 = game:GetService("ReplicatedStorage").Events.Gameplay:WaitForChild("VisualizeBullet")
	local var266_upvw
	local var267_upvw
	local CurrentCamera_upvr_2 = workspace.CurrentCamera
	local Gun_upvr = Parent_upvr_2:WaitForChild("GunServer"):WaitForChild("Gun")
	local Ammunition_upvr = Parent_upvr_2:WaitForChild("GunServer"):WaitForChild("Ammunition")
	local any_InvokeServer_result1_upvw_2 = Parent_upvr_2:WaitForChild("GunServer"):WaitForChild("GetSettings"):InvokeServer()
	local Handle_upvr = Parent_upvr_2:WaitForChild("Handle")
	local clone_upvr_4 = Assets_upvr.Core.Interface:WaitForChild("GunInterface"):Clone()
	local clone_upvr_3 = Assets_upvr.Core.Interface:WaitForChild("ScopeUI"):Clone()
	local clone_upvr_6 = Assets_upvr.Core.Interface:WaitForChild("Scope_Guide"):Clone()
	local var276_upvw
	local var277_upvw
	local var278_upvw
	local GamepadEnabled_upvr_2 = UserInputService_upvr.GamepadEnabled
	local var280_upvw
	if not var280_upvw then
		var280_upvw = Instance.new("Sound", LocalPlayer_upvr.PlayerGui)
	end
	if not any_InvokeServer_result1_upvw_2.SFX.Hit.ID or not "rbxassetid://"..any_InvokeServer_result1_upvw_2.SFX.Hit.ID then
	end
	var280_upvw.Name = "Hit"
	var280_upvw.SoundId = var280_upvw.SoundId
	var280_upvw.Volume = any_InvokeServer_result1_upvw_2.SFX.Hit.Volume or 0.5
	var280_upvw.Looped = any_InvokeServer_result1_upvw_2.SFX.Hit.Loop or false
	local Critical_upvw_2 = LocalPlayer_upvr:WaitForChild("PlayerGui"):FindFirstChild("Critical")
	if not Critical_upvw_2 then
		Critical_upvw_2 = Instance.new("Sound", LocalPlayer_upvr.PlayerGui)
	end
	if not any_InvokeServer_result1_upvw_2.SFX.Critical.ID or not "rbxassetid://"..any_InvokeServer_result1_upvw_2.SFX.Critical.ID then
	end
	Critical_upvw_2.Name = "Critical"
	Critical_upvw_2.SoundId = Critical_upvw_2.SoundId
	Critical_upvw_2.Volume = any_InvokeServer_result1_upvw_2.SFX.Critical.Volume or 0.5
	Critical_upvw_2.Looped = any_InvokeServer_result1_upvw_2.SFX.Critical.Loop or false
	var280_upvw.SoundGroup = game.SoundService.Hitmarkers
	Critical_upvw_2.SoundGroup = game.SoundService.Hitmarkers
	local SOME = Assets_upvr.ServerData.Players:FindFirstChild(LocalPlayer_upvr.Name)
	if SOME then
		local SOME_upvr = SOME.Inventory:FindFirstChild(Parent_upvr_2.Name)
	end
	if not SOME_upvr or not SOME_upvr.Upgrades:FindFirstChild("Ammo Capacity") or not math.floor(arg2["Ammo Capacity"].Base + arg2["Ammo Capacity"].Base * arg2["Ammo Capacity"].PerLevel * SOME_upvr.Upgrades["Ammo Capacity"].Value) then
		local Base_upvw_2 = arg2["Ammo Capacity"].Base
	end
	local var285_upvw
	task.spawn(function() -- Line 70
		--[[ Upvalues[2]:
			[1]: var285_upvw (read and write)
			[2]: SOME_upvr (readonly)
		]]
		var285_upvw = SOME_upvr:WaitForChild("Upgrades", 5)
	end)
	local var287_upvw = false
	local var288_upvw = false
	local var289_upvw = false
	local var290_upvw = false
	local var291_upvw = false
	local var292_upvw = false
	local const_number_upvw_2 = 0
	local var294_upvw = false
	local var295_upvw = false
	local var296_upvw = false
	local var297_upvw = Base_upvw_2
	local var298_upvw = 0
	local var299_upvw = false
	local var300_upvw = false
	local var301_upvw = false
	local tbl_5_upvr = {
		Base = nil;
		Core = nil;
		Track = nil;
	}
	local tbl_15_upvr = {
		Base = nil;
		Core = nil;
		Track = nil;
	}
	local tbl_3_upvr = {
		Base = nil;
		Core = nil;
		Track = nil;
	}
	local tbl_26_upvr = {
		Base = nil;
		Core = nil;
		Track = nil;
	}
	local tbl_14_upvr = {
		Base = nil;
		Core = nil;
		Track = nil;
	}
	local tbl_17_upvr = {
		Base = nil;
		Core = nil;
		Track = nil;
	}
	local tbl_16_upvr = {
		FinalAims = {};
		NPCIgnore = {};
	}
	local RaycastParams_new_result1_upvr = RaycastParams.new()
	RaycastParams_new_result1_upvr.FilterDescendantsInstances = {}
	RaycastParams_new_result1_upvr.FilterType = Enum.RaycastFilterType.Exclude
	clone_upvr_3.Parent = Resources_upvr_2
	clone_upvr_4.Parent = Resources_upvr_2
	if any_InvokeServer_result1_upvw_2.Dual then
		if any_InvokeServer_result1_upvw_2.Dual == true then
			local Handle2_upvw = Parent_upvr_2:WaitForChild("Handle2", 2)
			if Handle2_upvw == nil and any_InvokeServer_result1_upvw_2.Dual then
				error("\"Dual\" setting is enabled but \"Handle2\" is missing!")
			end
		end
	end
	if any_InvokeServer_result1_upvw_2["Visualize Bullet"].Rainbow == true then
		coroutine.wrap(function() -- Line 120
			--[[ Upvalues[4]:
				[1]: var287_upvw (read and write)
				[2]: RunService_upvr (readonly)
				[3]: var298_upvw (read and write)
				[4]: Gun_upvr (readonly)
			]]
			while true do
				if var287_upvw == true then
					var298_upvw = (var298_upvw + math.min(RunService_upvr.Heartbeat:Wait(), 2.5) * 0.4) % 1
					Gun_upvr:FireServer("RainbowHue", Color3.fromHSV(var298_upvw, 0.5, 1), Random.new():NextNumber(0, 100000000000000000))
				end
				RunService_upvr.Stepped:Wait()
			end
		end)()
	end
	local function GetAnimations_upvr() -- Line 136, Named "GetAnimations"
		--[[ Upvalues[9]:
			[1]: var278_upvw (read and write)
			[2]: any_InvokeServer_result1_upvw_2 (read and write)
			[3]: tbl_5_upvr (readonly)
			[4]: Resources_upvr_2 (readonly)
			[5]: tbl_15_upvr (readonly)
			[6]: tbl_3_upvr (readonly)
			[7]: tbl_26_upvr (readonly)
			[8]: tbl_14_upvr (readonly)
			[9]: tbl_17_upvr (readonly)
		]]
		while true do
			local var312
			var312 = var312:IsDescendantOf(workspace)
			if var312 ~= false then break end
			var312 = var278_upvw.AncestryChanged:Wait
			var312()
		end
		local function INLINED_38() -- Internal function, doesn't exist in bytecode
			var312 = var278_upvw:FindFirstChild("Animator")
			return var312
		end
		if not var278_upvw or not INLINED_38() then
			var312 = var278_upvw
		end
		if any_InvokeServer_result1_upvw_2.Animations.Equip.ID and not tbl_5_upvr.Base then
			tbl_5_upvr.Base = Instance.new("Animation")
			tbl_5_upvr.Core = any_InvokeServer_result1_upvw_2.Animations.Equip
			tbl_5_upvr.Base.AnimationId = "rbxassetid://"..tbl_5_upvr.Core.ID
			tbl_5_upvr.Base.Name = "Equip"
			tbl_5_upvr.Base.Parent = Resources_upvr_2
			tbl_5_upvr.Track = var312:LoadAnimation(tbl_5_upvr.Base)
		end
		if any_InvokeServer_result1_upvw_2.Animations.Idle.ID and not tbl_15_upvr.Base then
			tbl_15_upvr.Base = Instance.new("Animation")
			tbl_15_upvr.Core = any_InvokeServer_result1_upvw_2.Animations.Idle
			tbl_15_upvr.Base.AnimationId = "rbxassetid://"..tbl_15_upvr.Core.ID
			tbl_15_upvr.Base.Name = "Idle"
			tbl_15_upvr.Base.Parent = Resources_upvr_2
			tbl_15_upvr.Track = var312:LoadAnimation(tbl_15_upvr.Base)
		end
		if any_InvokeServer_result1_upvw_2.Animations.Fire.ID and not tbl_3_upvr.Base then
			tbl_3_upvr.Base = Instance.new("Animation")
			tbl_3_upvr.Core = any_InvokeServer_result1_upvw_2.Animations.Fire
			tbl_3_upvr.Base.AnimationId = "rbxassetid://"..tbl_3_upvr.Core.ID
			tbl_3_upvr.Base.Name = "Fire"
			tbl_3_upvr.Base.Parent = Resources_upvr_2
			tbl_3_upvr.Track = var312:LoadAnimation(tbl_3_upvr.Base)
		end
		if any_InvokeServer_result1_upvw_2.Animations.Reload.ID and not tbl_26_upvr.Base then
			tbl_26_upvr.Base = Instance.new("Animation")
			tbl_26_upvr.Core = any_InvokeServer_result1_upvw_2.Animations.Reload
			tbl_26_upvr.Base.AnimationId = "rbxassetid://"..tbl_26_upvr.Core.ID
			tbl_26_upvr.Base.Name = "Reload"
			tbl_26_upvr.Base.Parent = Resources_upvr_2
			tbl_26_upvr.Track = var312:LoadAnimation(tbl_26_upvr.Base)
		end
		if any_InvokeServer_result1_upvw_2.Animations.Scope.ID and not tbl_14_upvr.Base then
			tbl_14_upvr.Base = Instance.new("Animation")
			tbl_14_upvr.Core = any_InvokeServer_result1_upvw_2.Animations.Scope
			tbl_14_upvr.Base.AnimationId = "rbxassetid://"..tbl_14_upvr.Core.ID
			tbl_14_upvr.Base.Name = "Scope"
			tbl_14_upvr.Base.Parent = Resources_upvr_2
			tbl_14_upvr.Track = var312:LoadAnimation(tbl_14_upvr.Base)
		end
		if any_InvokeServer_result1_upvw_2.Animations.Dual.ID and not tbl_17_upvr.Base then
			tbl_17_upvr.Base = Instance.new("Animation")
			tbl_17_upvr.Core = any_InvokeServer_result1_upvw_2.Animations.Dual
			tbl_17_upvr.Base.AnimationId = "rbxassetid://"..tbl_17_upvr.Core.ID
			tbl_17_upvr.Base.Name = "Dual"
			tbl_17_upvr.Base.Parent = Resources_upvr_2
			tbl_17_upvr.Track = var312:LoadAnimation(tbl_17_upvr.Base)
		end
	end
	local function Delta_upvr(arg1_15, arg2_7, arg3, arg4) -- Line 199, Named "Delta"
		--[[ Upvalues[3]:
			[1]: RunService_upvr (readonly)
			[2]: var278_upvw (read and write)
			[3]: var287_upvw (read and write)
		]]
		local tick_result1_2 = tick()
		repeat
			if arg3 then
				arg3.Size = UDim2.new(1, 0, math.clamp((tick() - tick_result1_2) / arg1_15, 0, 1), 0)
			end
			RunService_upvr.Heartbeat:Wait()
		until arg1_15 <= tick() - tick_result1_2 and var278_upvw:GetState() == Enum.HumanoidStateType.Dead and (arg4 ~= true or var287_upvw == false)
		if arg2_7 ~= nil then
			if arg2_7 == true then
				return false
			end
			if arg2_7 == false then
				return true
			end
		end
	end
	local function GyroControl_upvr() -- Line 213, Named "GyroControl"
		--[[ Upvalues[4]:
			[1]: var278_upvw (read and write)
			[2]: var266_upvw (read and write)
			[3]: mouse_upvr_2 (readonly)
			[4]: RunService_upvr (readonly)
		]]
		while var278_upvw:IsDescendantOf(workspace) == false do
			var278_upvw.AncestryChanged:Wait()
		end
		if not var266_upvw:WaitForChild("HumanoidRootPart"):FindFirstChild("Aim") then
			local BodyGyro_upvw_2 = Instance.new("BodyGyro")
			BodyGyro_upvw_2.MaxTorque = Vector3.new(400000, 400000, 400000)
			BodyGyro_upvw_2.D = 50
			BodyGyro_upvw_2.Name = "Aim"
			BodyGyro_upvw_2.Parent = var266_upvw:WaitForChild("HumanoidRootPart")
			coroutine.wrap(function() -- Line 226
				--[[ Upvalues[5]:
					[1]: BodyGyro_upvw_2 (read and write)
					[2]: mouse_upvr_2 (copied, readonly)
					[3]: var278_upvw (copied, read and write)
					[4]: var266_upvw (copied, read and write)
					[5]: RunService_upvr (copied, readonly)
				]]
				while BodyGyro_upvw_2.Parent do
					local Position_2 = mouse_upvr_2.Hit.Position
					var278_upvw.AutoRotate = false
					BodyGyro_upvw_2.CFrame = CFrame.new(var266_upvw:WaitForChild("HumanoidRootPart").CFrame.Position, CFrame.new(Position_2.X, var266_upvw:WaitForChild("HumanoidRootPart").CFrame.Y, Position_2.Z).Position)
					RunService_upvr.Heartbeat:Wait()
				end
			end)()
		end
	end
	local function Reload_upvr() -- Line 250, Named "Reload"
		--[[ Upvalues[25]:
			[1]: var294_upvw (read and write)
			[2]: var297_upvw (read and write)
			[3]: Base_upvw_2 (read and write)
			[4]: any_InvokeServer_result1_upvw_2 (read and write)
			[5]: var285_upvw (read and write)
			[6]: arg2 (readonly)
			[7]: var13_upvr (copied, readonly)
			[8]: Handle_upvr (readonly)
			[9]: Handle2_upvw (read and write)
			[10]: VisualizeBullet_upvr_2 (readonly)
			[11]: module_4_upvr (readonly)
			[12]: LocalPlayer_upvr (copied, readonly)
			[13]: var290_upvw (read and write)
			[14]: CurrentCamera_upvr_2 (readonly)
			[15]: UserInputService_upvr (readonly)
			[16]: mouse_upvr_2 (readonly)
			[17]: var276_upvw (read and write)
			[18]: var299_upvw (read and write)
			[19]: Gun_upvr (readonly)
			[20]: Delta_upvr (readonly)
			[21]: var289_upvw (read and write)
			[22]: var300_upvw (read and write)
			[23]: tbl_26_upvr (readonly)
			[24]: var287_upvw (read and write)
			[25]: clone_upvr_4 (readonly)
		]]
		-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
		-- KONSTANTERROR: [359] 267. Error Block 61 start (CF ANALYSIS FAILED)
		Gun_upvr:FireServer("Stop Reload", nil, Random.new():NextNumber(0, 100000000000000000))
		var294_upvw = false
		do
			return
		end
		if tbl_26_upvr.Track and var287_upvw == true then
			-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [397.0]
			tbl_26_upvr.Track:Play(tbl_26_upvr.Core.Delay, nil, math.clamp(tbl_26_upvr.Track.Length / nil * tbl_26_upvr.Core.Speed, 0.5, math.huge))
		end
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect
		Gun_upvr:FireServer("Weapon Reload", nil, Random.new():NextNumber(0, 100000000000000000))
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect
		var294_upvw = Delta_upvr(nil, var294_upvw, clone_upvr_4.Stats.Cooldown.Inner.Fill)
		var297_upvw = Base_upvw_2
		-- KONSTANTERROR: [359] 267. Error Block 61 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [0] 1. Error Block 84 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect
		if nil == false then
			-- KONSTANTERROR: Expression was reused, decompilation is incorrect
			-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [442.65666]
			-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [442.1]
			if nil < nil then
				-- KONSTANTERROR: Expression was reused, decompilation is incorrect
				if nil == true then
					-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x3)
					if not Base_upvw_2 or not Base_upvw_2 or not nil then
					end
					-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
					if not Base_upvw_2 or not Base_upvw_2 or not nil then
					end
					-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [442.16]
					local function INLINED_40() -- Internal function, doesn't exist in bytecode
						-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [442.15]
						return nil
					end
					if not nil or not INLINED_40() then
					end
					-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
					if not nil or not nil then
					end
					-- KONSTANTERROR: Expression was reused, decompilation is incorrect
					if Base_upvw_2 == true then
						-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
						if not tbl_26_upvr or not tbl_26_upvr.Core then
						end
						-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x3)
						if Base_upvw_2 == true and Base_upvw_2 == false and Base_upvw_2 then
						end
					end
					-- KONSTANTERROR: Expression was reused, decompilation is incorrect
					if Base_upvw_2 == true then
						-- KONSTANTERROR: [240] 175. Error Block 73 start (CF ANALYSIS FAILED)
						-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
						if Base_upvw_2 and Base_upvw_2 == true then
							-- KONSTANTERROR: Expression was reused, decompilation is incorrect
							if Base_upvw_2 then
								-- KONSTANTWARNING: GOTO [359] #267
							end
							-- KONSTANTWARNING: GOTO [278] #207
						end
						-- KONSTANTWARNING: GOTO [276] #205
						-- KONSTANTERROR: [240] 175. Error Block 73 end (CF ANALYSIS FAILED)
					end
					-- KONSTANTWARNING: GOTO [376] #281
				end
				-- KONSTANTWARNING: GOTO [443] #330
			end
			-- KONSTANTWARNING: GOTO [443] #330
		end
		-- KONSTANTERROR: [0] 1. Error Block 84 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [443] 330. Error Block 52 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [443] 330. Error Block 52 end (CF ANALYSIS FAILED)
	end
	local function FindFirstHumanoidFromAncestor_upvr(arg1_16) -- Line 389, Named "FindFirstHumanoidFromAncestor"
		if typeof(arg1_16) ~= "Instance" then return end
		local var317 = arg1_16
		while var317 ~= workspace and var317 ~= game and var317 ~= nil do
			local class_Humanoid = var317:FindFirstChildWhichIsA("Humanoid")
			if class_Humanoid then
				return class_Humanoid, var317
			end
		end
		return nil
	end
	local function _(arg1_17) -- Line 401, Named "VerifyThisTarget"
		-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
		local var319
		if var319 then
			var319 = arg1_17:FindFirstChild("Humanoid")
		end
		if arg1_17 then
		end
		if arg1_17 then
			local var320
		end
		if var319 and arg1_17.PrimaryPart and arg1_17:FindFirstChild("TEAM") then
			var320 = false
		end
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
		return var320, var319, arg1_17.PrimaryPart, arg1_17:FindFirstChild("TEAM")
	end
	local function _(arg1_18) -- Line 411, Named "FindClosestTarget"
		-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
		local var332
		for _, v_3 in pairs(workspace.Enemies:GetChildren()) do
			if v_3:FindFirstChild("Humanoid") and v_3.Humanoid:GetState() ~= Enum.HumanoidStateType.Dead and 0 < v_3.Humanoid.Health and v_3.PrimaryPart then
				if not v_3:FindFirstChildOfClass("ForceField") then
					local PrimaryPart = v_3.PrimaryPart
					local TEAM_5 = v_3:FindFirstChild("TEAM")
					if PrimaryPart and TEAM_5 and TEAM_5.Value ~= BrickColor.new("Shamrock") and (PrimaryPart.Position - arg1_18).Magnitude < math.huge then
						var332 = v_3
					end
				end
			end
		end
		local var335 = var332
		if var335 then
			local Humanoid_2 = var335:FindFirstChild("Humanoid")
		end
		if var335 then
		end
		if var335 then
			local var337
		end
		if Humanoid_2 and var335.PrimaryPart and var335:FindFirstChild("TEAM") then
			var337 = false
		end
		var337 = Humanoid_2
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
		return var332, var337, var335.PrimaryPart, var335:FindFirstChild("TEAM")
	end
	local function GetTargets_upvr() -- Line 434, Named "GetTargets"
		--[[ Upvalues[1]:
			[1]: var266_upvw (read and write)
		]]
		local module = {}
		for _, v_4 in pairs(workspace.Enemies:GetChildren()) do
			if v_4:FindFirstChild("Humanoid") and v_4.Humanoid:GetState() ~= Enum.HumanoidStateType.Dead and 0 < v_4.Humanoid.Health and v_4.PrimaryPart and not v_4:FindFirstChildOfClass("ForceField") then
				local TEAM_4 = v_4:FindFirstChild("TEAM")
				if v_4.PrimaryPart and TEAM_4 and TEAM_4.Value ~= BrickColor.new("Shamrock") then
					table.insert(module, {
						NPC = v_4;
						Distance = (var266_upvw.PrimaryPart.Position - v_4.PrimaryPart.Position).Magnitude;
					})
				end
			end
		end
		table.sort(module, function(arg1_19, arg2_8) -- Line 451
			local var347
			if arg1_19.Distance >= arg2_8.Distance then
				var347 = false
			else
				var347 = true
			end
			return var347
		end)
		return module
	end
	local tbl_20_upvw = {}
	local InflictTarget_upvr = Parent_upvr_2:WaitForChild("GunServer"):WaitForChild("InflictTarget")
	local function Shoot_upvr(arg1_20, arg2_9, arg3, arg4) -- Line 458, Named "Shoot"
		--[[ Upvalues[28]:
			[1]: var278_upvw (read and write)
			[2]: var285_upvw (read and write)
			[3]: arg2 (readonly)
			[4]: any_InvokeServer_result1_upvw_2 (read and write)
			[5]: tbl_20_upvw (read and write)
			[6]: var266_upvw (read and write)
			[7]: module_4_upvr (readonly)
			[8]: LocalPlayer_upvr (copied, readonly)
			[9]: var290_upvw (read and write)
			[10]: var277_upvw (read and write)
			[11]: Handle_upvr (readonly)
			[12]: Handle2_upvw (read and write)
			[13]: tbl_3_upvr (readonly)
			[14]: RaycastParams_new_result1_upvr (readonly)
			[15]: Resources_upvr_2 (readonly)
			[16]: FindFirstHumanoidFromAncestor_upvr (readonly)
			[17]: var267_upvw (read and write)
			[18]: Critical_upvw_2 (read and write)
			[19]: var280_upvw (read and write)
			[20]: clone_upvr_4 (readonly)
			[21]: TweenService_upvr (readonly)
			[22]: InflictTarget_upvr (readonly)
			[23]: const_number_upvw_2 (read and write)
			[24]: var13_upvr (copied, readonly)
			[25]: Assets_upvr (copied, readonly)
			[26]: var298_upvw (read and write)
			[27]: VisualizeBullet_upvr_2 (readonly)
			[28]: Gun_upvr (readonly)
		]]
		-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
		-- KONSTANTERROR: [0] 1. Error Block 233 start (CF ANALYSIS FAILED)
		local var350
		if var278_upvw:GetState() == Enum.HumanoidStateType.Dead then return end
		local function INLINED_41() -- Internal function, doesn't exist in bytecode
			var350 = arg2.Piercing.Base + arg2.Piercing.PerLevel * var285_upvw.Piercing.Value
			return var350
		end
		if not var285_upvw or not var285_upvw:FindFirstChild("Piercing") or not INLINED_41() then
			var350 = any_InvokeServer_result1_upvw_2["Pierce Count"]
		end
		var350 = var285_upvw
		local function INLINED_42() -- Internal function, doesn't exist in bytecode
			var350 = var285_upvw:FindFirstChild("Spread")
			return var350
		end
		local function INLINED_43() -- Internal function, doesn't exist in bytecode
			var350 = arg2.Spread.Base
			return var350 - arg2.Spread.Base * arg2.Spread.PerLevel * var285_upvw.Spread.Value
		end
		if not var350 or not INLINED_42() or not INLINED_43() then
			var350 = any_InvokeServer_result1_upvw_2
			local Spread_2 = var350.Spread
		end
		var350 = var285_upvw
		local function INLINED_44() -- Internal function, doesn't exist in bytecode
			var350 = var285_upvw:FindFirstChild("Splash Range")
			return var350
		end
		local function INLINED_45() -- Internal function, doesn't exist in bytecode
			var350 = arg2["Splash Range"].Base
			return var350 + arg2["Splash Range"].Base * arg2["Splash Range"].PerLevel * var285_upvw["Splash Range"].Value
		end
		if not var350 or not INLINED_44() or not INLINED_45() then
			var350 = any_InvokeServer_result1_upvw_2.Explosive
		end
		var350 = {}
		tbl_20_upvw = var350
		var350 = (var266_upvw:WaitForChild("HumanoidRootPart").CFrame * CFrame.new(0, 1.5, 0)).Position
		local var352
		if var290_upvw ~= true or not any_InvokeServer_result1_upvw_2.Sniper.Spread_Reduction then
		end
		local var353 = -Spread_2 * 1 / 100 * (arg4 - var350).Magnitude
		if var290_upvw ~= true or not any_InvokeServer_result1_upvw_2.Sniper.Spread_Reduction then
		end
		local var354 = Spread_2 * 1 / 100 * (arg4 - var350).Magnitude
		if arg3 then
			if var290_upvw == true then
				var352 = Vector3.new(arg3.Head.CFrame.Position.X + Random.new():NextInteger(var353 * 100, var354 * 100) / 100, arg3.Head.CFrame.Position.Y + Random.new():NextInteger(var353 * 100, var354 * 100) / 100, arg3.Head.CFrame.Position.Z + Random.new():NextInteger(var353 * 100, var354 * 100) / 100)
			else
				var352 = Vector3.new(arg3.PrimaryPart.CFrame.Position.X + Random.new():NextInteger(var353 * 100, var354 * 100) / 100, arg3.PrimaryPart.CFrame.Position.Y + Random.new():NextInteger(var353 * 100, var354 * 100) / 100, arg3.PrimaryPart.CFrame.Position.Z + Random.new():NextInteger(var353 * 100, var354 * 100) / 100)
			end
		else
			var352 = Vector3.new(arg4.X + Random.new():NextInteger(var353 * 100, var354 * 100) / 100, arg4.Y + Random.new():NextInteger(var353 * 100, var354 * 100) / 100, arg4.Z + Random.new():NextInteger(var353 * 100, var354 * 100) / 100)
		end
		-- KONSTANTERROR: [0] 1. Error Block 233 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [351] 253. Error Block 34 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [351] 253. Error Block 34 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [355] 256. Error Block 35 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [355] 256. Error Block 35 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [362] 261. Error Block 194 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [362] 261. Error Block 194 end (CF ANALYSIS FAILED)
	end
	local var355_upvw = false
	local function RevFunction_upvr(arg1_21) -- Line 772, Named "RevFunction"
		--[[ Upvalues[27]:
			[1]: var297_upvw (read and write)
			[2]: var294_upvw (read and write)
			[3]: var287_upvw (read and write)
			[4]: var285_upvw (read and write)
			[5]: arg2 (readonly)
			[6]: Gun_upvr (readonly)
			[7]: var295_upvw (read and write)
			[8]: var278_upvw (read and write)
			[9]: var289_upvw (read and write)
			[10]: RunService_upvr (readonly)
			[11]: module_4_upvr (readonly)
			[12]: LocalPlayer_upvr (copied, readonly)
			[13]: var355_upvw (read and write)
			[14]: var288_upvw (read and write)
			[15]: mouse_upvr_2 (readonly)
			[16]: var277_upvw (read and write)
			[17]: Handle_upvr (readonly)
			[18]: any_InvokeServer_result1_upvw_2 (read and write)
			[19]: Handle2_upvw (read and write)
			[20]: var13_upvr (copied, readonly)
			[21]: VisualizeBullet_upvr_2 (readonly)
			[22]: Shoot_upvr (readonly)
			[23]: Delta_upvr (readonly)
			[24]: Base_upvw_2 (read and write)
			[25]: Ammunition_upvr (readonly)
			[26]: Reload_upvr (readonly)
			[27]: clone_upvr_4 (readonly)
		]]
		-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [4] 4. Error Block 2 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [4] 4. Error Block 2 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [10] 8. Error Block 4 start (CF ANALYSIS FAILED)
		do
			return
		end
		-- KONSTANTERROR: [10] 8. Error Block 4 end (CF ANALYSIS FAILED)
	end
	local function AdjustSight_upvr(arg1_22) -- Line 939, Named "AdjustSight"
		--[[ Upvalues[10]:
			[1]: var278_upvw (read and write)
			[2]: var292_upvw (read and write)
			[3]: UserInputService_upvr (readonly)
			[4]: any_InvokeServer_result1_upvw_2 (read and write)
			[5]: mouse_upvr_2 (readonly)
			[6]: LocalPlayer_upvr (copied, readonly)
			[7]: var290_upvw (read and write)
			[8]: clone_upvr_3 (readonly)
			[9]: TweenService_upvr (readonly)
			[10]: var291_upvw (read and write)
		]]
		-- KONSTANTERROR: [0] 1. Error Block 57 start (CF ANALYSIS FAILED)
		local var356
		if var278_upvw:GetState() == Enum.HumanoidStateType.Dead then return end
		var356 = Enum.EasingStyle.Linear
		var292_upvw = false
		local function INLINED_46() -- Internal function, doesn't exist in bytecode
			var356 = any_InvokeServer_result1_upvw_2.Sniper.Sensitivity_Reduction
			return var356
		end
		if arg1_22 ~= true or not INLINED_46() then
			var356 = 1
		end
		UserInputService_upvr.MouseDeltaSensitivity = var356
		-- KONSTANTERROR: [0] 1. Error Block 57 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [32] 23. Error Block 8 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [32] 23. Error Block 8 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [41] 29. Error Block 65 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [41] 29. Error Block 65 end (CF ANALYSIS FAILED)
	end
	local function Scope_upvr() -- Line 966, Named "Scope"
		--[[ Upvalues[22]:
			[1]: var290_upvw (read and write)
			[2]: var287_upvw (read and write)
			[3]: var278_upvw (read and write)
			[4]: var297_upvw (read and write)
			[5]: FindFirstHumanoidFromAncestor_upvr (readonly)
			[6]: mouse_upvr_2 (readonly)
			[7]: var285_upvw (read and write)
			[8]: arg2 (readonly)
			[9]: any_InvokeServer_result1_upvw_2 (read and write)
			[10]: var288_upvw (read and write)
			[11]: var291_upvw (read and write)
			[12]: const_number_upvw_2 (read and write)
			[13]: AdjustSight_upvr (readonly)
			[14]: tbl_14_upvr (readonly)
			[15]: RunService_upvr (readonly)
			[16]: var292_upvw (read and write)
			[17]: Events_upvr (copied, readonly)
			[18]: LocalPlayer_upvr (copied, readonly)
			[19]: clone_upvr_3 (readonly)
			[20]: TweenService_upvr (readonly)
			[21]: var267_upvw (read and write)
			[22]: module_4_upvr (readonly)
		]]
		-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
		-- KONSTANTERROR: [456] 311. Error Block 92 start (CF ANALYSIS FAILED)
		clone_upvr_3.Main.Scope.HeadshotDetect.Visible = false
		clone_upvr_3.Main.Scope.Health.Text = "HEALTH: "..module_4_upvr.Format(math.floor(var278_upvw.Health))
		if var278_upvw.Health > var278_upvw.MaxHealth * 0.25 or not Color3.fromRGB(255, 50, 50) then
		end
		clone_upvr_3.Main.Scope.Health.TextColor3 = Color3.fromRGB(255, 255, 255)
		clone_upvr_3.Main.Scope.Gauge.Visible = any_InvokeServer_result1_upvw_2.Sniper.RequireCharge
		clone_upvr_3.Main.Scope.ChargeTime.Visible = any_InvokeServer_result1_upvw_2.Sniper.RequireCharge
		-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [555.3]
		clone_upvr_3.Main.Scope.ChargeTime.Text = "FOCUS: "..(math.floor(nil * 100) / 100)..'s'
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
		if arg2.Focus.Base >= nil or not Color3.fromRGB(255, 50, 50) or nil >= arg2.Focus.Base or not Color3.fromRGB(50, 255, 50) then
		end
		clone_upvr_3.Main.Scope.ChargeTime.TextColor3 = Color3.fromRGB(255, 255, 255)
		local var357
		if any_InvokeServer_result1_upvw_2.Sniper.RequireCharge == true then
			var357 = const_number_upvw_2
			var357 = 0
			local clamped_2 = math.clamp(var357 / 1, var357, 1)
			var357 = clone_upvr_3.Main.Scope.Gauge.Inner
			var357 = '['..math.floor(clamped_2 * 100).."%]"
			var357.Percentage.Text = var357
			var357 = clone_upvr_3.Main.Scope.Gauge.Inner
			var357 = UDim2.new(clamped_2, 0, 1, 0)
			var357.Fill.Size = var357
			var357 = clone_upvr_3.Main.Scope.Gauge.Inner
			local function INLINED_47() -- Internal function, doesn't exist in bytecode
				var357 = Color3.fromRGB(255, clamped_2 / 0.5 * 155 + 100, 0)
				return var357
			end
			if clamped_2 > 0.5 or not INLINED_47() then
				var357 = Color3.fromRGB(255 - (clamped_2 - 0.5) / 0.5 * 155, 255, 0)
			end
			var357.Fill.BackgroundColor3 = var357
		end
		RunService_upvr.Stepped:Wait()
		-- KONSTANTERROR: [456] 311. Error Block 92 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [0] 1. Error Block 102 start (CF ANALYSIS FAILED)
		-- KONSTANTWARNING: Failed to evaluate expression, replaced with nil [705.0]
		-- KONSTANTERROR: [0] 1. Error Block 102 end (CF ANALYSIS FAILED)
	end
	local function Activate_upvr() -- Line 1103, Named "Activate"
		--[[ Upvalues[29]:
			[1]: any_InvokeServer_result1_upvw_2 (read and write)
			[2]: var285_upvw (read and write)
			[3]: arg2 (readonly)
			[4]: module_4_upvr (readonly)
			[5]: LocalPlayer_upvr (copied, readonly)
			[6]: var289_upvw (read and write)
			[7]: var288_upvw (read and write)
			[8]: mouse_upvr_2 (readonly)
			[9]: var297_upvw (read and write)
			[10]: var294_upvw (read and write)
			[11]: var287_upvw (read and write)
			[12]: var278_upvw (read and write)
			[13]: var277_upvw (read and write)
			[14]: Handle_upvr (readonly)
			[15]: Handle2_upvw (read and write)
			[16]: var13_upvr (copied, readonly)
			[17]: VisualizeBullet_upvr_2 (readonly)
			[18]: Gun_upvr (readonly)
			[19]: Shoot_upvr (readonly)
			[20]: clone_upvr_4 (readonly)
			[21]: GetTargets_upvr (readonly)
			[22]: SOME_upvr (readonly)
			[23]: tbl_16_upvr (readonly)
			[24]: var266_upvw (read and write)
			[25]: RaycastParams_new_result1_upvr (readonly)
			[26]: Base_upvw_2 (read and write)
			[27]: Ammunition_upvr (readonly)
			[28]: Reload_upvr (readonly)
			[29]: Delta_upvr (readonly)
		]]
		-- KONSTANTERROR: [0] 1. Error Block 1 start (CF ANALYSIS FAILED)
		local var359 = any_InvokeServer_result1_upvw_2
		local Automatic_Fire = var359["Automatic Fire"]
		-- KONSTANTERROR: [0] 1. Error Block 1 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [495] 370. Error Block 153 start (CF ANALYSIS FAILED)
		if var359 < Automatic_Fire then
			task.wait(Automatic_Fire - var359)
		end
		var288_upvw = false
		if var289_upvw == true then
			var289_upvw = false
		end
		do
			return
		end
		-- KONSTANTERROR: [495] 370. Error Block 153 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [510] 382. Error Block 154 start (CF ANALYSIS FAILED)
		if var297_upvw <= 0 or var294_upvw == true then return end
		-- KONSTANTERROR: [510] 382. Error Block 154 end (CF ANALYSIS FAILED)
	end
	if any_InvokeServer_result1_upvw_2["Health Boost"] and 0 < any_InvokeServer_result1_upvw_2["Health Boost"] then
		Gun_upvr:FireServer("Ranged-HPBoost")
	end
	Ammunition_upvr.OnClientEvent:Connect(function(arg1_23) -- Line 1549
		--[[ Upvalues[1]:
			[1]: var297_upvw (read and write)
		]]
		var297_upvw = arg1_23
	end)
	UserInputService_upvr.InputBegan:Connect(function(arg1_24, arg2_10) -- Line 1555
		--[[ Upvalues[28]:
			[1]: var266_upvw (read and write)
			[2]: var278_upvw (read and write)
			[3]: var301_upvw (read and write)
			[4]: module_2_upvr (readonly)
			[5]: any_InvokeServer_result1_upvw_2 (read and write)
			[6]: var287_upvw (read and write)
			[7]: var288_upvw (read and write)
			[8]: var296_upvw (read and write)
			[9]: var289_upvw (read and write)
			[10]: var297_upvw (read and write)
			[11]: var299_upvw (read and write)
			[12]: var300_upvw (read and write)
			[13]: Reload_upvr (readonly)
			[14]: Activate_upvr (readonly)
			[15]: var294_upvw (read and write)
			[16]: RevFunction_upvr (readonly)
			[17]: var285_upvw (read and write)
			[18]: arg2 (readonly)
			[19]: module_4_upvr (readonly)
			[20]: LocalPlayer_upvr (copied, readonly)
			[21]: Gun_upvr (readonly)
			[22]: Delta_upvr (readonly)
			[23]: clone_upvr_4 (readonly)
			[24]: var280_upvw (read and write)
			[25]: var290_upvw (read and write)
			[26]: tbl_14_upvr (readonly)
			[27]: Events_upvr (copied, readonly)
			[28]: Scope_upvr (readonly)
		]]
		-- KONSTANTERROR: [0] 1. Error Block 75 start (CF ANALYSIS FAILED)
		if arg2_10 or not var266_upvw or var278_upvw:GetState() == Enum.HumanoidStateType.Dead or not var301_upvw then return end
		-- KONSTANTERROR: [0] 1. Error Block 75 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [20] 15. Error Block 8 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [20] 15. Error Block 8 end (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [29] 20. Error Block 82 start (CF ANALYSIS FAILED)
		-- KONSTANTERROR: [29] 20. Error Block 82 end (CF ANALYSIS FAILED)
	end)
	UserInputService_upvr.InputEnded:Connect(function(arg1_25) -- Line 1651
		--[[ Upvalues[6]:
			[1]: module_2_upvr (readonly)
			[2]: any_InvokeServer_result1_upvw_2 (read and write)
			[3]: var294_upvw (read and write)
			[4]: var287_upvw (read and write)
			[5]: var289_upvw (read and write)
			[6]: Gun_upvr (readonly)
		]]
		if arg1_25.UserInputType == Enum.UserInputType.MouseButton1 or arg1_25.UserInputType == module_2_upvr["Mobile Controls"].Fire or arg1_25.KeyCode == module_2_upvr["Console Controls"].Fire then
			if any_InvokeServer_result1_upvw_2.Minigun.Enabled == true and var294_upvw == false and var287_upvw == true and var289_upvw == true then
				Gun_upvr:FireServer("Minigun WindDown", nil, Random.new():NextNumber(0, 100000000000000000))
			end
			var289_upvw = false
		end
	end)
	local var365_upvw
	Parent_upvr_2.Equipped:Connect(function(arg1_26) -- Line 1660
		--[[ Upvalues[31]:
			[1]: var266_upvw (read and write)
			[2]: Parent_upvr_2 (readonly)
			[3]: var278_upvw (read and write)
			[4]: var365_upvw (read and write)
			[5]: var287_upvw (read and write)
			[6]: clone_upvr_4 (readonly)
			[7]: Resources_upvr_2 (readonly)
			[8]: CurrentCamera_upvr_2 (readonly)
			[9]: LocalPlayer_upvr (copied, readonly)
			[10]: UserInputService_upvr (readonly)
			[11]: var290_upvw (read and write)
			[12]: mouse_upvr_2 (readonly)
			[13]: any_InvokeServer_result1_upvw_2 (read and write)
			[14]: AdjustSight_upvr (readonly)
			[15]: Handle2_upvw (read and write)
			[16]: var276_upvw (read and write)
			[17]: var267_upvw (read and write)
			[18]: clone_upvr_3 (readonly)
			[19]: var280_upvw (read and write)
			[20]: Critical_upvw_2 (read and write)
			[21]: GyroControl_upvr (readonly)
			[22]: GetAnimations_upvr (readonly)
			[23]: clone_upvr_6 (readonly)
			[24]: GamepadEnabled_upvr_2 (readonly)
			[25]: module_4_upvr (readonly)
			[26]: module_2_upvr (readonly)
			[27]: tbl_17_upvr (readonly)
			[28]: tbl_15_upvr (readonly)
			[29]: tbl_5_upvr (readonly)
			[30]: Delta_upvr (readonly)
			[31]: var301_upvw (read and write)
		]]
		-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
		var266_upvw = Parent_upvr_2.Parent
		var278_upvw = var266_upvw:FindFirstChildWhichIsA("Humanoid")
		local var366
		if var365_upvw == nil then
			var365_upvw = var278_upvw.Died:Once(function() -- Line 1664
				--[[ Upvalues[12]:
					[1]: var287_upvw (copied, read and write)
					[2]: clone_upvr_4 (copied, readonly)
					[3]: Resources_upvr_2 (copied, readonly)
					[4]: CurrentCamera_upvr_2 (copied, readonly)
					[5]: LocalPlayer_upvr (copied, readonly)
					[6]: UserInputService_upvr (copied, readonly)
					[7]: var290_upvw (copied, read and write)
					[8]: mouse_upvr_2 (copied, readonly)
					[9]: any_InvokeServer_result1_upvw_2 (copied, read and write)
					[10]: AdjustSight_upvr (copied, readonly)
					[11]: Handle2_upvw (copied, read and write)
					[12]: var276_upvw (copied, read and write)
				]]
				var287_upvw = false
				clone_upvr_4.Parent = Resources_upvr_2
				local var368
				local function INLINED_48() -- Internal function, doesn't exist in bytecode
					var368 = "rbxassetid://"..any_InvokeServer_result1_upvw_2["Icon ID"]
					return var368
				end
				if not any_InvokeServer_result1_upvw_2["Icon ID"] or not INLINED_48() then
					var368 = nil
				end
				CurrentCamera_upvr_2.FieldOfView = 70
				LocalPlayer_upvr.CameraMode = Enum.CameraMode.Classic
				UserInputService_upvr.MouseDeltaSensitivity = 1
				var290_upvw = false
				mouse_upvr_2.Icon = var368
				AdjustSight_upvr(false)
				if any_InvokeServer_result1_upvw_2.Dual == true and workspace.FilteringEnabled == false then
					Handle2_upvw.CanCollide = false
					if var276_upvw then
						var276_upvw:Destroy()
					end
				end
			end)
		end
		var267_upvw = var266_upvw:FindFirstChild("TEAM")
		var366 = LocalPlayer_upvr
		local function INLINED_49() -- Internal function, doesn't exist in bytecode
			var366 = "rbxassetid://"..any_InvokeServer_result1_upvw_2["Icon ID"]
			return var366
		end
		if not any_InvokeServer_result1_upvw_2["Icon ID"] or not INLINED_49() then
			var366 = nil
		end
		var287_upvw = true
		clone_upvr_4.Parent = LocalPlayer_upvr.PlayerGui
		clone_upvr_3.Parent = var366.PlayerGui
		arg1_26.Icon = var366
		mouse_upvr_2.TargetFilter = workspace.JunkHolder
		if not LocalPlayer_upvr:WaitForChild("PlayerGui"):FindFirstChild("Hit") then
		end
		var280_upvw = Instance.new("Sound", LocalPlayer_upvr.PlayerGui)
		var366 = any_InvokeServer_result1_upvw_2.SFX.Hit.ID
		local function INLINED_50() -- Internal function, doesn't exist in bytecode
			var366 = "rbxassetid://"
			return var366..any_InvokeServer_result1_upvw_2.SFX.Hit.ID
		end
		if not var366 or not INLINED_50() then
			var366 = var280_upvw
		end
		var366 = any_InvokeServer_result1_upvw_2.SFX.Hit.Volume or 0.5
		var280_upvw.Name = "Hit"
		var280_upvw.SoundId = var366.SoundId
		var280_upvw.Volume = var366
		var280_upvw.Looped = any_InvokeServer_result1_upvw_2.SFX.Hit.Loop or false
		if not LocalPlayer_upvr:WaitForChild("PlayerGui"):FindFirstChild("Critical") then
		end
		Critical_upvw_2 = Instance.new("Sound", LocalPlayer_upvr.PlayerGui)
		var366 = any_InvokeServer_result1_upvw_2.SFX.Critical.ID
		local function INLINED_51() -- Internal function, doesn't exist in bytecode
			var366 = "rbxassetid://"
			return var366..any_InvokeServer_result1_upvw_2.SFX.Critical.ID
		end
		if not var366 or not INLINED_51() then
			var366 = Critical_upvw_2
		end
		var366 = any_InvokeServer_result1_upvw_2.SFX.Critical.Volume or 0.5
		Critical_upvw_2.Name = "Critical"
		Critical_upvw_2.SoundId = var366.SoundId
		Critical_upvw_2.Volume = var366
		Critical_upvw_2.Looped = any_InvokeServer_result1_upvw_2.SFX.Critical.Loop or false
		GyroControl_upvr()
		GetAnimations_upvr()
		if any_InvokeServer_result1_upvw_2.Sniper and any_InvokeServer_result1_upvw_2.Sniper.Enabled then
			clone_upvr_6.Parent = LocalPlayer_upvr.PlayerGui
			if clone_upvr_6.Interface:FindFirstChild("Title") then
				if not GamepadEnabled_upvr_2 or not module_4_upvr.GetStringForKeyCode(module_2_upvr["Console Controls"].Aim) then
				end
				clone_upvr_6.Interface.Title.Text = " ["..'Q'.."] Scope"
			end
		end
		if any_InvokeServer_result1_upvw_2.Dual == true then
			if tbl_17_upvr.Track then
				var366 = tbl_17_upvr
				tbl_17_upvr.Track:Play(tbl_17_upvr.Core.Delay, nil, var366.Core.Speed)
				-- KONSTANTWARNING: GOTO [309] #223
			end
		elseif tbl_15_upvr.Track then
			var366 = tbl_15_upvr
			tbl_15_upvr.Track:Play(tbl_15_upvr.Core.Delay, nil, var366.Core.Speed)
		end
		if tbl_5_upvr.Track then
			var366 = tbl_5_upvr
			tbl_5_upvr.Track:Play(tbl_5_upvr.Core.Delay, nil, var366.Core.Speed)
		end
		if any_InvokeServer_result1_upvw_2.Dual == true then
			if workspace.FilteringEnabled == false then
				Handle2_upvw.CanCollide = false
				local Left_Arm = var266_upvw:FindFirstChild("Left Arm")
				local Right_Arm = var266_upvw:FindFirstChild("Right Arm")
				if Right_Arm then
					local RightGrip = Right_Arm:WaitForChild("RightGrip", 0.01)
					if RightGrip then
						var276_upvw = RightGrip:Clone()
						var276_upvw.Name = "LeftGrip"
						var276_upvw.Part0 = Left_Arm
						var276_upvw.Part1 = Handle2_upvw
						var276_upvw.Parent = Left_Arm
					end
				end
			end
		end
		var366 = clone_upvr_4.Stats
		Delta_upvr(any_InvokeServer_result1_upvw_2["Equip Time"] or 0.2, nil, var366.Equip_Time.Inner.Fill, true)
		if not var287_upvw then
		else
			var301_upvw = true
		end
	end)
	Parent_upvr_2.Unequipped:Connect(function() -- Line 1755
		--[[ Upvalues[23]:
			[1]: var266_upvw (read and write)
			[2]: var287_upvw (read and write)
			[3]: var301_upvw (read and write)
			[4]: var289_upvw (read and write)
			[5]: clone_upvr_4 (readonly)
			[6]: clone_upvr_3 (readonly)
			[7]: clone_upvr_6 (readonly)
			[8]: var278_upvw (read and write)
			[9]: Resources_upvr_2 (readonly)
			[10]: tbl_15_upvr (readonly)
			[11]: tbl_17_upvr (readonly)
			[12]: tbl_5_upvr (readonly)
			[13]: tbl_26_upvr (readonly)
			[14]: CurrentCamera_upvr_2 (readonly)
			[15]: LocalPlayer_upvr (copied, readonly)
			[16]: UserInputService_upvr (readonly)
			[17]: var290_upvw (read and write)
			[18]: mouse_upvr_2 (readonly)
			[19]: any_InvokeServer_result1_upvw_2 (read and write)
			[20]: AdjustSight_upvr (readonly)
			[21]: Handle2_upvw (read and write)
			[22]: var276_upvw (read and write)
			[23]: Parent_upvr_2 (readonly)
		]]
		local Aim = var266_upvw:WaitForChild("HumanoidRootPart"):FindFirstChild("Aim")
		if Aim then
			Aim:Destroy()
		end
		var287_upvw = false
		var301_upvw = false
		var289_upvw = false
		clone_upvr_4.Parent = Resources_upvr_2
		clone_upvr_3.Parent = Resources_upvr_2
		clone_upvr_6.Parent = Resources_upvr_2
		var278_upvw.AutoRotate = true
		if tbl_15_upvr.Track then
			tbl_15_upvr.Track:Stop(tbl_15_upvr.Core.Delay, nil, tbl_15_upvr.Core.Speed)
		end
		if tbl_17_upvr.Track then
			tbl_17_upvr.Track:Stop(tbl_17_upvr.Core.Delay, nil, tbl_17_upvr.Core.Speed)
		end
		if tbl_5_upvr.Track then
			tbl_5_upvr.Track:Stop(tbl_5_upvr.Core.Delay, nil, tbl_5_upvr.Core.Speed)
		end
		local var378
		if tbl_26_upvr.Track and tbl_26_upvr.Track.IsPlaying == true then
			tbl_26_upvr.Track:Stop(tbl_26_upvr.Core.Delay, nil, tbl_26_upvr.Core.Speed)
		end
		local function INLINED_52() -- Internal function, doesn't exist in bytecode
			var378 = "rbxassetid://"..any_InvokeServer_result1_upvw_2["Icon ID"]
			return var378
		end
		if not any_InvokeServer_result1_upvw_2["Icon ID"] or not INLINED_52() then
			var378 = nil
		end
		CurrentCamera_upvr_2.FieldOfView = 70
		LocalPlayer_upvr.CameraMode = Enum.CameraMode.Classic
		UserInputService_upvr.MouseDeltaSensitivity = 1
		var290_upvw = false
		mouse_upvr_2.Icon = var378
		mouse_upvr_2.TargetFilter = nil
		AdjustSight_upvr(false)
		if any_InvokeServer_result1_upvw_2.Dual == true and workspace.FilteringEnabled == false then
			Handle2_upvw.CanCollide = false
			if var276_upvw then
				var276_upvw:Destroy()
			end
		end
		for _, v_5 in pairs(workspace.Enemies:GetChildren()) do
			if v_5:FindFirstChild("Head") and v_5:GetAttribute("Head_Hitbox") then
				var378 = "Original_Head_Hitbox"
				v_5.Head.Size = v_5:GetAttribute(var378)
			end
		end
		any_InvokeServer_result1_upvw_2 = Parent_upvr_2:WaitForChild("GunServer").GetSettings:InvokeServer()
	end)
	local var382
	while true do
		local function INLINED_53() -- Internal function, doesn't exist in bytecode
			var382 = math.floor(arg2["Ammo Capacity"].Base + arg2["Ammo Capacity"].Base * arg2["Ammo Capacity"].PerLevel * var285_upvw["Ammo Capacity"].Value)
			return var382
		end
		if not SOME_upvr or not var285_upvw:FindFirstChild("Ammo Capacity") or not INLINED_53() then
			var382 = arg2["Ammo Capacity"].Base
		end
		Base_upvw_2 = var382
		local var383 = Base_upvw_2
		if clone_upvr_4 then
			var382 = clone_upvr_4.Parent
			local var384
			if var382 then
				local function INLINED_54() -- Internal function, doesn't exist in bytecode
					var382 = var382(var384.Reload)
					var384 = module_2_upvr["Console Controls"]
					var382 = module_4_upvr.GetStringForKeyCode
					return var382
				end
				if not GamepadEnabled_upvr_2 or not INLINED_54() then
					var382 = 'R'
				end
				var384 = UDim2.new(0, mouse_upvr_2.X, 0, mouse_upvr_2.Y)
				clone_upvr_4.Hit.Position = var384
				var384 = UDim2.new(0, mouse_upvr_2.X + clone_upvr_4.Stats.AbsoluteSize.X * 0.75, 0, mouse_upvr_2.Y)
				clone_upvr_4.Stats.Position = var384
				var384 = clone_upvr_4.Stats
				local function INLINED_55() -- Internal function, doesn't exist in bytecode
					var384 = true
					return var295_upvw ~= true
				end
				local function INLINED_56() -- Internal function, doesn't exist in bytecode
					var384 = var288_upvw
					return var384
				end
				local function INLINED_57() -- Internal function, doesn't exist in bytecode
					var384 = var294_upvw
					return var384
				end
				if any_InvokeServer_result1_upvw_2.Minigun.Enabled ~= true or INLINED_55() or not INLINED_56() and not INLINED_57() then
					var384 = var296_upvw
				end
				var384.Cooldown.Visible = var384
				var384 = clone_upvr_4.Stats
				var384 = any_InvokeServer_result1_upvw_2["Ammo System"].Enabled
				var384.Ammunition.Visible = var384
				var384 = clone_upvr_4.Stats
				var384 = not var301_upvw
				var384.Equip_Time.Visible = var384
				var384 = clone_upvr_4.Stats.Ammunition
				if any_InvokeServer_result1_upvw_2["Ammo System"].DisplayPercentage ~= true or not math.floor(var297_upvw / var383 * 100)..'%' then
				end
				if var297_upvw / var383 > 0.25 or not " ["..var382..']' then
				end
				var384 = var297_upvw.." / "..var383..""
				var384.Ammo.Text = var384
				var384 = clone_upvr_4.Stats.Ammunition
				var384 = any_InvokeServer_result1_upvw_2["Ammo System"].ReloadText or "Reloading..."
				var384.Reloading.Text = var384
				var384 = clone_upvr_4.Stats.Ammunition
				var384.Reloading.Visible = var294_upvw
			end
		end
		if var287_upvw then
			var382 = pairs(workspace.Enemies:GetChildren())
			local pairs_result1, pairs_result2_2, pairs_result3 = pairs(workspace.Enemies:GetChildren())
			for _, v_6 in pairs_result1, pairs_result2_2, pairs_result3 do
				if v_6:FindFirstChild("Head") and v_6:GetAttribute("Head_Hitbox") then
					v_6.Head.Size = v_6:GetAttribute("Head_Hitbox")
				end
			end
		end
		pairs_result1 = RunService_upvr.RenderStepped:wait
		pairs_result1()
	end
end
return var13_upvr
Assistant: