function module.SetupMainVariables(e,x)main.hdAdminGroup={Id=4676369;Info={}}main.hdAdminGroupInfo={}main.settingsBanRecords={}main.alphabet={"\097","\098","\099";"\100","\101","\102";"\103";"\104";"\105","\106","\107";"\108";"\109";"\110";"\111","\112","\113";"\114";"\115","\116","\117";"\118";"\119";"\120";"\121","\122"}main.UserIdsFromName={}main.UsernamesFromUserId={}main.validSettings={"\084\104\101\109\101";"\078\111\116\105\099\101\083\111\117\110\100\073\100";"\078\111\116\105\099\101\086\111\108\117\109\101","\078\111\116\105\099\101\080\105\116\099\104","\069\114\114\111\114\083\111\117\110\100\073\100","\069\114\114\111\114\086\111\108\117\109\101","\069\114\114\111\114\080\105\116\099\104";"\065\108\101\114\116\083\111\117\110\100\073\100","\065\108\101\114\116\086\111\108\117\109\101";"\065\108\101\114\116\080\105\116\099\104";"\080\114\101\102\105\120"}main.commandInfoToShowOnClient={"\078\097\109\101","\067\111\110\116\114\105\098\117\116\111\114\115";"\080\114\101\102\105\120\101\115";"\082\097\110\107";"\065\108\105\097\115\101\115","\084\097\103\115";"\068\101\115\099\114\105\112\116\105\111\110","\065\114\103\115","\076\111\111\112\097\098\108\101"}main.products={Donor=5745895,OldDonor=2649766}main.materials={"\080\108\097\115\116\105\099";"\087\111\111\100","\067\111\110\099\114\101\116\101","\067\111\114\114\111\100\101\100\077\101\116\097\108","\068\105\097\109\111\110\100\080\108\097\116\101","\070\111\105\108";"\071\114\097\115\115";"\073\099\101","\077\097\114\098\108\101";"\071\114\097\110\105\116\101","\066\114\105\099\107";"\080\101\098\098\108\101";"\083\097\110\100";"\070\097\098\114\105\099","\083\109\111\111\116\104\080\108\097\115\116\105\099","\077\101\116\097\108","\087\111\111\100\080\108\097\110\107\115","\067\111\098\098\108\101\115\116\111\110\101";"\078\101\111\110","\071\108\097\115\115"}main.rankTypes={Auto=4;Perm=3;Server=2;Temp=1}if x=="\083\101\114\118\101\114"then main.pd={}main.sd={}main.permissions={specificUsers={},gamepasses={},assets={};groups={},friends=0,freeAdmin=0;vipServerOwner=0,vipServerPlayer=0;owner=true}main.commandInfo={}main.commandRanks={}main.infoOnAllCommands={Contributors={},Tags={};Prefixes={};Aliases={}}main.morphNames={}main.toolNames={}main.commands={}main.playersRanked={}main.playersUnranked={}main.settings.UniversalPrefix="\033"main.serverAdmins={}main.owner={}main.ownerId=game.CreatorId if game.CreatorType==Enum.CreatorType.Group then local x=(main.groupService:GetGroupInfoAsync(game.CreatorId)).Owner main.ownerId=x.Id main.ownerName=x.Name end main.gameName=game.PlaceId>0 and(main.marketplaceService:GetProductInfo(game.PlaceId,Enum.InfoType.Asset)).Name or"\071\097\109\101\078\097\109\101\070\097\105\108\101\100\084\111\076\111\097\100"main.listOfTools={}main.ranksAllowedToJoin=0 main.permissionToReplyToPrivateMessage={}main.logs={command={};chat={}}main.isStudio=main.runService:IsStudio()main.serverBans={}main.blacklistedVipServerCommands={}main.banned={}main.commandBlocks={}for x=1,3,1 do main.physicsService:CreateCollisionGroup("\071\114\111\117\112"..x)end main.physicsService:CollisionGroupSetCollidable("\071\114\111\117\112\049","\071\114\111\117\112\050",false)elseif x=="\067\108\105\101\110\116"then main.qualifiers={"\109\101";"\097\108\108","\111\116\104\101\114\115";"\114\097\110\100\111\109","\097\100\109\105\110\115","\110\111\110\065\100\109\105\110\115";"\102\114\105\101\110\100\115";"\110\111\110\070\114\105\101\110\100\115";"\078\066\067","\066\067","\084\066\067";"\079\066\067","\082\054","\082\049\053","\114\116\104\114\111";"\110\111\110\082\116\104\114\111"}main.colors={}main.topbarEnabled=true main.blur=Instance.new("\066\108\117\114\069\102\102\101\099\116",main.camera)main.blur.Size=0 main.commandMenus={}main.commandsToDisableCompletely={laserEyes=true}main.commandsActive={}main.commandsAllowedToUse={}main.commandsWithMenus={Type1={laserEyes={"\073\110\102\111";"\080\114\101\115\115 \097\110\100 \104\111\108\100 \116\111 \097\099\116\105\118\097\116\101\046"},fly={"\073\110\112\117\116";"\083\112\101\101\100"};fly2={"\073\110\112\117\116";"\083\112\101\101\100"};noclip={"\073\110\112\117\116","\083\112\101\101\100"},noclip2={"\073\110\112\117\116";"\083\112\101\101\100"}};Type2={cmdbar2={}},Type3={bubbleChat={}}}main.commandSpeeds={fly=50;fly2=50,noclip=100;noclip2=25}for x,e in pairs(main.commandSpeeds)do local P=main.settings.CommandLimits[x]if P then local S=P.Limit if e>S then main.commandSpeeds[x]=S end end end main.infoFramesViewed={Speed=true}end table.sort(main.settings.Ranks,function(x,e)return x[1]<e[1]end)end return module
-- << MAIN VARIABLES >>
function module:SetupMainVariables(location)
	main.hdAdminGroup = {
		Id = 4676369,
		Info = {},
	}
	main.hdAdminGroupInfo = {}

	main.settingsBanRecords = {}
	main.alphabet = {
		"a",
		"b",
		"c",
		"d",
		"e",
		"f",
		"g",
		"h",
		"i",
		"j",
		"k",
		"l",
		"m",
		"n",
		"o",
		"p",
		"q",
		"r",
		"s",
		"t",
		"u",
		"v",
		"w",
		"x",
		"y",
		"z",
	}
	main.UserIdsFromName = {}
	main.UsernamesFromUserId = {}
	main.validSettings = {
		"Theme",
		"NoticeSoundId",
		"NoticeVolume",
		"NoticePitch",
		"ErrorSoundId",
		"ErrorVolume",
		"ErrorPitch",
		"AlertSoundId",
		"AlertVolume",
		"AlertPitch",
		"Prefix",
	}
	main.commandInfoToShowOnClient =
		{ "Name", "Contributors", "Prefixes", "Rank", "Aliases", "Tags", "Description", "Args", "Loopable" }
	main.products = {
		Donor = 5745895,
		OldDonor = 2649766,
	}
	main.materials = {
		"Plastic",
		"Wood",
		"Concrete",
		"CorrodedMetal",
		"DiamondPlate",
		"Foil",
		"Grass",
		"Ice",
		"Marble",
		"Granite",
		"Brick",
		"Pebble",
		"Sand",
		"Fabric",
		"SmoothPlastic",
		"Metal",
		"WoodPlanks",
		"Cobblestone",
		"Neon",
		"Glass",
	}
	main.rankTypes = {
		["Auto"] = 4,
		["Perm"] = 3,
		["Server"] = 2,
		["Temp"] = 1,
	}

	if location == "Server" then
		main.pd = {}
		main.sd = {}
		main.permissions = {
			specificUsers = {},
			gamepasses = {},
			assets = {},
			groups = {},
			friends = 0,
			freeAdmin = 0,
			vipServerOwner = 0,
			vipServerPlayer = 0,
			owner = true,
		}

		main.commandInfo = {}
		main.commandRanks = {}
		main.infoOnAllCommands = {
			Contributors = {}, --table
			Tags = {}, --table
			Prefixes = {}, --dictionary
			Aliases = {}, --dictionary
		}

		main.morphNames = {}
		main.toolNames = {}

		main.commands = {}
		main.playersRanked = {}
		main.playersUnranked = {}
		main.settings.UniversalPrefix = "!"
		main.serverAdmins = {}
		main.owner = {}
		main.ownerId = game.CreatorId
		if game.CreatorType == Enum.CreatorType.Group then
			local ownerInfo = main.groupService:GetGroupInfoAsync(game.CreatorId).Owner
			main.ownerId = ownerInfo.Id
			main.ownerName = ownerInfo.Name
		end
		main.gameName = (
			game.PlaceId > 0 and main.marketplaceService:GetProductInfo(game.PlaceId, Enum.InfoType.Asset).Name
		) or "GameNameFailedToLoad"
		main.listOfTools = {}
		main.ranksAllowedToJoin = 0
		main.permissionToReplyToPrivateMessage = {}
		main.logs = {
			command = {},
			chat = {},
		}
		main.isStudio = main.runService:IsStudio()
		main.serverBans = {}
		main.blacklistedVipServerCommands = {}
		main.banned = {}
		main.commandBlocks = {}

		--Collisions
		for i = 1, 3 do
			main.physicsService:CreateCollisionGroup("Group" .. i)
		end
		main.physicsService:CollisionGroupSetCollidable("Group1", "Group2", false)
	elseif location == "Client" then
		main.qualifiers = {
			"me",
			"all",
			"others",
			"random",
			"admins",
			"nonAdmins",
			"friends",
			"nonFriends",
			"NBC",
			"BC",
			"TBC",
			"OBC",
			"R6",
			"R15",
			"rthro",
			"nonRthro",
		}
		main.colors = {}
		main.topbarEnabled = true
		main.blur = Instance.new("BlurEffect", main.camera)
		main.blur.Size = 0

		main.commandMenus = {}
		main.commandsToDisableCompletely = { laserEyes = true }
		main.commandsActive = {}
		main.commandsAllowedToUse = {}
		main.commandsWithMenus = {
			["Type1"] = {
				["laserEyes"] = { "Info", "Press and hold to activate." },
				["fly"] = { "Input", "Speed" },
				["fly2"] = { "Input", "Speed" },
				["noclip"] = { "Input", "Speed" },
				["noclip2"] = { "Input", "Speed" },
			},
			["Type2"] = {
				["cmdbar2"] = {},
			},
			["Type3"] = {
				["bubbleChat"] = {},
			},
		}
		main.commandSpeeds = {
			fly = 50,
			fly2 = 50,
			noclip = 100,
			noclip2 = 25,
		}
		for commandName, defaultSpeed in pairs(main.commandSpeeds) do
			local setting = main.settings.CommandLimits[commandName]
			if setting then
				local limit = setting.Limit
				if defaultSpeed > limit then
					main.commandSpeeds[commandName] = limit
				end
			end
		end

		main.infoFramesViewed = {
			Speed = true,
		}
	end

	table.sort(main.settings.Ranks, function(a, b)
		return a[1] < b[1]
	end)
end

return module
