-- Decompiled with the Synapse X Luau decompiler.


client = nil;
service = nil;
cPcall = nil;
Pcall = nil;
Routine = nil;
GetEnv = nil;
origEnv = nil;
logError = nil;
return function()
	local u1 = nil;
	local l__client__2 = client;
	local u3 = nil;
	local u4 = nil;
	local u5 = nil;
	local u6 = nil;
	local u7 = nil;
	local u8 = nil;
	getfenv().client = nil;
	getfenv().service = nil;
	getfenv().script = nil;
	local v1 = {
		Init = function()
			u1 = l__client__2.UI;
			u3 = l__client__2.Anti;
			u4 = l__client__2.Core;
			u5 = l__client__2.Variables;
			u6 = l__client__2.Functions;
			u7 = l__client__2.Process;
			u8 = l__client__2.Remote;
		end, 
		Name = script.Name, 
		Special = script.Name, 
		MakeGui = l__client__2.UI.Make, 
		GetGui = l__client__2.UI.Get, 
		RemoveGui = l__client__2.UI.Remove, 
		ScriptCache = {}
	};
	local l__os__9 = os;
	local l__next__10 = next;
	local l__service__11 = service;
	local l__string__12 = string;
	local l__table__13 = table;
	local l__select__14 = select;
	local l__wait__15 = wait;
	function v1.GetEvent()
		if u4.RemoteEvent then
			u4.RemoteEvent.Event:Disconnect();
			u4.RemoteEvent.Security:Disconnect();
			u4.RemoteEvent = nil;
		end;
		u4.RemoteEvent = {};
		local v2 = nil;
		local v3 = 1;
		local v4 = 0;
		local v5 = l__os__9.time();
		local u16 = {};
		local u17 = 0;
		local u18 = nil;
		local function u19(p1)
			if p1 then
				local v6 = p1:FindFirstChildOfClass("RemoteFunction");
				if not v6 then
					l__client__2.Kill("RemoteFunction not found");
					return;
				end;
				u4.RemoteEvent.Object = p1;
				u4.RemoteEvent.Function = v6;
				v6.OnClientInvoke = u7.Remote;
				u4.RemoteEvent.FireServer = p1.FireServer;
				u4.RemoteEvent.Event = p1.OnClientEvent:Connect(u7.Remote);
				u4.RemoteEvent.Security = p1.Changed:Connect(function(p2)
					if u4.RemoteEvent.Function then
						u4.RemoteEvent.Function.OnClientInvoke = u7.Remote;
					end;
					if p2 == "RobloxLocked" and u3.RLocked(p1) then
						l__client__2.Kill("RemoteEvent Locked");
						return;
					end;
					if not p1 or not p1.Parent then
						u4.GetEvent();
					end;
				end);
				v6.Changed:Connect(function()
					v6.OnClientInvoke = u7.Remote;
				end);
				if u4.Key then
					return;
				end;
			else
				l__client__2.Kill("RemoteEvent not found");
				return;
			end;
			u8.Fire(l__client__2.DepsName .. "GET_KEY");
		end;
		while true do
			if v4 < l__os__9.time() then
				v4 = l__os__9.time();
				v3 = v3 + 1;
				if v3 % 10 == 0 or not v2 then
					v2 = true;
					local v7 = l__service__11.JointsService:FindFirstChild(l__client__2.RemoteName);
					if v7 then
						u18 = v7;
						u19(v7);
					end;
				end;
			end;
			if u18 then
				break;
			end;
			if not l__wait__15(0.01) then
				break;
			end;		
		end;
	end;
	local l__require__20 = require;
	local l__setfenv__21 = setfenv;
	local l__getfenv__22 = getfenv;
	function v1.LoadPlugin(p3)
		local v8 = l__require__20(p3);
		cPcall((l__setfenv__21(v8, GetEnv(l__getfenv__22(v8)))));
	end;
	function v1.LoadBytecode(p4, p5)
		return l__require__20(l__client__2.Deps.Rerubi)(p4, p5);
	end;
	function v1.LoadCode(p6, p7)
		return u4.LoadBytecode(p6, p7);
	end;
	local l__tick__23 = tick;
	local l__math__24 = math;
	function v1.CheckClient()
		if l__tick__23() - u4.LastUpdate >= 55 then
			l__wait__15(l__math__24.random());
			local v9 = u8.Send("ClientCheck", {
				Sent = 0, 
				Received = u8.Received
			}, l__client__2.DepsName, (l__math__24.random()));
		end;
	end;
	local l___G__25 = _G;
	local l__setmetatable__26 = setmetatable;
	local l__type__27 = type;
	local l__print__28 = print;
	local l__error__29 = error;
	local l__pairs__30 = pairs;
	local l__warn__31 = warn;
	local l__rawset__32 = rawset;
	local l__rawget__33 = rawget;
	local l__tostring__34 = tostring;
	local l__getmetatable__35 = getmetatable;
	function v1.StartAPI()
		local l__MetaFunc__10 = l__service__11.MetaFunc;
		local l__ReadOnly__11 = l__service__11.ReadOnly;
		local l__ReadOnly__12 = l__service__11.ReadOnly;
		local v13 = {};
		l__setfenv__21(1, l__setmetatable__26({}, {
			__metatable = l__getmetatable__35(l__getfenv__22())
		}));
		local v14 = {};
		local v15 = {};
		function v15.Test()
			l__print__28("We ran the api specific stuff");
		end;
		v14.API_Specific = v15;
		v14.Service = nil;
		local v16 = {
			Access = l__ReadOnly__12({}, nil, nil, true)
		};
		local v17 = {};
		local l__ScriptCache__36 = u4.ScriptCache;
		local l__UnWrap__37 = l__service__11.UnWrap;
		local l__Get__38 = u8.Get;
		local l__Rerubi__39 = l__client__2.Deps.Rerubi;
		v17.ExecutePermission = l__MetaFunc__10(function(p8)
			local v18 = nil;
			for v19, v20 in l__next__10, l__ScriptCache__36 do
				if l__UnWrap__37(v20.Script) == l__getfenv__22(2).script then
					v18 = v20;
				end;
			end;
			if v18 and v18.noCache ~= true and (not v18.runLimit or v18.runLimit and v18.Executions <= v18.runLimit) then
				v18.Executions = v18.Executions + 1;
				return v18.Source, v18.Loadstring;
			end;
			local v21 = l__Get__38("ExecutePermission", l__UnWrap__37(l__getfenv__22(3).script), p8, true);
			if not v21 or not v21.Source then
				return;
			end;
			if not v18 then
				local v22 = l__require__20(l__Rerubi__39:Clone());
				l__table__13.insert(l__ScriptCache__36, {
					Script = l__getfenv__22(2).script, 
					Source = v21.Source, 
					Loadstring = v22, 
					noCache = v21.noCache, 
					runLimit = v21.runLimit, 
					Executions = v21.Executions
				});
			else
				v22 = v18.Loadstring;
				v18.Source = v21.Source;
			end;
			return v21.Source, v22;
		end);
		v17.ReportLBI = l__MetaFunc__10(function(p9, p10)
			if p10 ~= "Local" then
				return;
			end;
			return true;
		end);
		v16.Scripts = l__ReadOnly__12(v17, nil, nil, true);
		local v23 = {};
		local l__G_API__40 = l__client__2.G_API;
		local l__Allowed_API_Calls__41 = l__client__2.Allowed_API_Calls;
		function v23.__index(p11, p12)
			if p12 == "Scripts" then
				return v16.Scripts;
			end;
			if not l__G_API__40 or l__Allowed_API_Calls__41.Client ~= true then
				l__error__29("_G API is disabled");
				return;
			end;
			if l__type__27(v16[p12]) ~= "function" then
				return v16[p12];
			end;
			return l__MetaFunc__10(v16[p12]);
		end;
		function v23.__newindex(p13, p14, p15)
			l__error__29("Read-only");
		end;
		v23.__metatable = "API";
		AdonisGTable = l__service__11.NewProxy(v23);
		if not l___G__25.Adonis then
			l__rawset__32(l___G__25, "Adonis", AdonisGTable);
			l__service__11.StartLoop("APICheck", 1, function()
				l__rawset__32(l___G__25, "Adonis", AdonisGTable);
			end, true);
		end;
	end;
	l__client__2.Core = v1;
end;
