local T=script.Parent local A=T.Parent local u=require(A.equalObjects)local function S(T,A)if type(T)~="\116\097\098\108\101"or type(A)~="\116\097\098\108\101"then return T==A end for T,u in pairs(T)do if A[T]~=u then return false end end for A,u in pairs(A)do if T[A]~=u then return false end end return true end local function b(...)if u(...)then return true end local T=select("\035",...)local A=select(1,...)for T=2,T,1 do local u=select(T,...)if not S(A,u)then return false end end return true end return b
local Dictionary = script.Parent

local Llama = Dictionary.Parent
local equalObjects = require(Llama.equalObjects)

local function compare(a, b)
	if type(a) ~= "table" or type(b) ~= "table" then
		return a == b
	end

	for key, value in pairs(a) do
		if b[key] ~= value then
			return false
		end
	end

	for key, value in pairs(b) do
		if a[key] ~= value then
			return false
		end
	end

	return true
end

local function equals(...)
	if equalObjects(...) then
		return true
	end

	local argCount = select('#', ...)
	local firstObject = select(1, ...)

	for i = 2, argCount do
		local object = select(i, ...)

		if not compare(firstObject, object) then
			return false
		end
	end

	return true
end

return equals