local I=script.Parent local t=require(I.copyDeep)local c=I.Parent local Z=require(c.None)local s=require(c.t)local J=s.table local function r(...)local I={}local c=1 for s=1,select("\035",...),1 do local r=select(s,...)if r~=nil then assert(J(r))for s,J in ipairs(r)do if J~=Z then if type(J)=="\116\097\098\108\101"then I[c]=t(J)else I[c]=J end c+=1 end end end end return I end return r
local List = script.Parent
local copyDeep = require(List.copyDeep)

local Llama = List.Parent
local None = require(Llama.None)
local t = require(Llama.t)

local validate = t.table

local function concatDeep(...)
	local new = {}
	local index = 1

	for listIndex = 1, select('#', ...) do
		local list = select(listIndex, ...)

		if list ~= nil then
			assert(validate(list))

			for _, v in ipairs(list) do
				if v ~= None then
					if type(v) == "table" then
						new[index] = copyDeep(v)
					else
						new[index] = v
					end

					index += 1
				end
			end
		end
	end

	return new
end

return concatDeep