local O={}O.__index=O function O.new()local K={}setmetatable(K,O)K.flag=0 K.lastTime=0 return K end function O.check(O,K,a)if os.clock()-O.lastTime<(a and 1)then if K<=O.flag then O.lastTime=os.clock()return false end O.flag=O.flag+1 else O.flag=0 end O.lastTime=os.clock()return true end function O.destroy(O)O.flag=nil O.lastTime=nil end function O.Destroy(O)return O:destroy()end return O


local v1 = {};
v1.__index = v1;
function v1.new()
	local v2 = {};
	setmetatable(v2, v1);
	v2.flag = 0;
	v2.lastTime = 0;
	return v2;
end;
function v1.check(p1, p2, p3)
	if os.clock() - p1.lastTime < (p3 and 1) then
		if p2 <= p1.flag then
			p1.lastTime = os.clock();
			return false;
		end;
		p1.flag = p1.flag + 1;
	else
		p1.flag = 0;
	end;
	p1.lastTime = os.clock();
	return true;
end;
function v1.destroy(p4)
	p4.flag = nil;
	p4.lastTime = nil;
end;
function v1.Destroy(p5)
	return p5:destroy();
end;
return v1;
