local d={}function v1.Progress(l,R)local z=u1.Saving.Get(l)if not z then return end if z.IsFollowingOnTwitter then R=R*1.5 end if not d[l]then d[l]=R return end d[l]=d[l]+R end function v1.GetNextRank(d)local l=u1.Saving.Get(d)if not l then return end for d,R in ipairs(u1.Shared.RankChart)do if R==l.Rank then return u1.Shared.RankChart[d+1]end end end function v1.GetRankNumber(d)local l=u1.Saving.Get(d)if not l then return end local R=u1.Shared.RankChart for d,R in ipairs(R)do if R==l.Rank then return d end end return#R end function ApplyProgress(l)local R=u1.Saving.Get(l)local z=d[l]if z then if R then d[l]=nil R.RankProgress=R.RankProgress+z if u1.Directory.Ranks[R.Rank].needed<=R.RankProgress then local d=v1.GetNextRank(l)if d then v1.Give(l,d)end end end end end;(coroutine.wrap(function()while true do for d,l in ipairs(game.Players:GetPlayers())do ApplyProgress(l)end wait(.5)end end))()game.Players.PlayerRemoving:Connect(function(l)if d[l]then d[l]=nil end end);(u1.Network.Invoked("\082\101\100\101\101\109 \082\097\110\107 \082\101\119\097\114\100\115")).OnInvoke=function(d)return v1.Reward(d)end return v1

local u3 = {};
function v1.Progress(p4, p5)
	local v12 = u1.Saving.Get(p4);
	if not v12 then
		return;
	end;
	--if u1.Gamepasses.Owns(p4, l__ID__2) then
	--	p5 = p5 * 2;
	--end;
	if v12.IsFollowingOnTwitter then
		p5 = p5 * 1.5;
	end;
	if not u3[p4] then
		u3[p4] = p5;
		return;
	end;
	u3[p4] = u3[p4] + p5;
end;
function v1.GetNextRank(p6)
	local v13 = u1.Saving.Get(p6);
	if not v13 then
		return;
	end;
	for v14, v15 in ipairs(u1.Shared.RankChart) do
		if v15 == v13.Rank then
			return u1.Shared.RankChart[v14 + 1];
		end;
	end;
end;
function v1.GetRankNumber(p7)
	local v16 = u1.Saving.Get(p7);
	if not v16 then
		return;
	end;
	local l__RankChart__17 = u1.Shared.RankChart;
	for v18, v19 in ipairs(l__RankChart__17) do
		if v19 == v16.Rank then
			return v18;
		end;
	end;
	return #l__RankChart__17;
end;
function ApplyProgress(p8)
	local v20 = u1.Saving.Get(p8);
	local v21 = u3[p8];
	if v21 then
		if v20 then
			u3[p8] = nil;
			v20.RankProgress = v20.RankProgress + v21;
			if u1.Directory.Ranks[v20.Rank].needed <= v20.RankProgress then
				local v22 = v1.GetNextRank(p8);
				if v22 then
					v1.Give(p8, v22);
				end;
			end;
		end;
	end;
end;
coroutine.wrap(function()
	while true do
		for v23, v24 in ipairs(game.Players:GetPlayers()) do
			ApplyProgress(v24);
		end;
		wait(0.5);	
	end;
end)();
game.Players.PlayerRemoving:Connect(function(p9)
	if u3[p9] then
		u3[p9] = nil;
	end;
end);
u1.Network.Invoked("Redeem Rank Rewards").OnInvoke = function(p10)
	return v1.Reward(p10);
end;
return v1;
