local p=script.Parent:WaitForChild("\087\101\097\112\111\110\068\097\116\097")local A=script.Parent local l=A:WaitForChild("\087\101\097\112\111\110\084\121\112\101\115")local G=A:WaitForChild("\076\105\098\114\097\114\105\101\115")local c=require(G:WaitForChild("\083\104\111\117\108\100\101\114\067\097\109\101\114\097"))local X=require(G:WaitForChild("\087\101\097\112\111\110\115\071\117\105"))local f=require(G:WaitForChild("\083\112\114\105\110\103\083\101\114\118\105\099\101"))local o=require(G:WaitForChild("\097\110\099\101\115\116\111\114\072\097\115\084\097\103"))c.SpringService=f local m=A:WaitForChild("\067\111\110\102\105\103\117\114\097\116\105\111\110")local q={SprintEnabled=m:WaitForChild("\083\112\114\105\110\116\069\110\097\098\108\101\100"),SlowZoomWalkEnabled=m:WaitForChild("\083\108\111\119\090\111\111\109\087\097\108\107\069\110\097\098\108\101\100")}local U="\087\101\097\112\111\110\115\083\121\115\116\101\109\087\101\097\112\111\110"local b={}local K={"\087\101\097\112\111\110\070\105\114\101\100";"\087\101\097\112\111\110\072\105\116","\087\101\097\112\111\110\082\101\108\111\097\100\082\101\113\117\101\115\116","\087\101\097\112\111\110\082\101\108\111\097\100\101\100";"\087\101\097\112\111\110\082\101\108\111\097\100\067\097\110\099\101\108\101\100";"\087\101\097\112\111\110\065\099\116\105\118\097\116\101\100"}local g={}
-- Dependencies
local WeaponData = script.Parent:WaitForChild("WeaponData")
local WeaponsSystemFolder = script.Parent
local WeaponTypes = WeaponsSystemFolder:WaitForChild("WeaponTypes")
local Libraries = WeaponsSystemFolder:WaitForChild("Libraries")
local ShoulderCamera = require(Libraries:WaitForChild("ShoulderCamera"))
local WeaponsGui = require(Libraries:WaitForChild("WeaponsGui"))
local SpringService = require(Libraries:WaitForChild("SpringService"))
local ancestorHasTag = require(Libraries:WaitForChild("ancestorHasTag"))
ShoulderCamera.SpringService = SpringService

local Configuration = WeaponsSystemFolder:WaitForChild("Configuration")
local ConfigurationValues = {
	SprintEnabled = Configuration:WaitForChild("SprintEnabled"),
	SlowZoomWalkEnabled = Configuration:WaitForChild("SlowZoomWalkEnabled"),
}

local WEAPON_TAG = "WeaponsSystemWeapon"
local WEAPON_TYPES_LOOKUP = {}

local REMOTE_EVENT_NAMES = {
	"WeaponFired",
	"WeaponHit",
	"WeaponReloadRequest",
	"WeaponReloaded",
	"WeaponReloadCanceled",
	"WeaponActivated",
}
local REMOTE_FUNCTION_NAMES = {}
