client=nil service=nil return function(M)local O=M.Table or M.Tab local y=M.Update local K=M.AutoUpdate local e=M.LoadTime local d=M.gIndex local P=M.gTable local h=M.Dots local o=M.Sanitize local i=M.Stacking local v=nil local C=nil local function L(O)local y={}for M,O in next,O do if type(O)=="\116\097\098\108\101"then y[M]={Text=O.Text;Desc=O.Desc;Time=O.Time;Filter=O.Filter;Duplicates=O.Duplicates}elseif type(O)=="\115\116\114\105\110\103"then y[M]={Text=O;Desc=O}end end if i then y={}local M=nil for O,K in next,y do K.Text=service.Trim(K.Text)K.Desc=service.Trim(K.Desc)if not M then M=K table.insert(y,K)elseif M.Text==K.Text and M.Desc==K.Desc then M.Duplicates=M.Duplicates and M.Duplicates+1 or 2 else M=K table.insert(y,K)end end end local K=next local e=nil while true do local O,d=K(y,e)if not O then break end d.Text=M.Sanitize and service.SanitizeString(d.Text)or d.Text if d.Duplicates then d.Text="\040\120"..(d.Duplicates..("\041 "..d.Text))end if d.Time then d.Text="\091"..(d.Time..("\093 "..d.Text))end end return y end local function X(M,O)local y={}O=O:lower()for M,K in next,M do if O==""or type(K)=="\115\116\114\105\110\103"and not(not(K:lower()):find(O))or type(K)=="\116\097\098\108\101"and(not(not K.Text)and not(not(K.Text:lower()):find(O))or K.Filter and(K.Filter:lower()):find(O))then table.insert(y,K)end end return y end local function A(M)if v.Text~="\083\101\097\114\099\104"and v.Text~=""then C:GenerateList(L(X(M,v.Text)))return end v.Text="\083\101\097\114\099\104"C:GenerateList(L(M))end local R={Name="\076\105\115\116",Title=M.Title;Size=M.Size or{225,200};MinSize={150;100}}local c=y if c then local K=O local e=M.UpdateArgs local d=M.UpdateArg c=function()K=client.Remote.Get("\085\112\100\097\116\101\076\105\115\116",y,unpack(e or{d}))if K then A(K)end end end R.OnRefresh=c local j=client.UI.Make("\087\105\110\100\111\119",R)C=j:Add("\083\099\114\111\108\108\105\110\103\070\114\097\109\101",{List={};ScrollBarThickness=2;BackgroundTransparency=1;Position=UDim2.new(0,5,0,30);Size=UDim2.new(1,-10,1,-30)})v=j:Add("\084\101\120\116\066\111\120",{Size=UDim2.new(1,-10,0,20);Position=UDim2.new(0,5,0,5);BackgroundTransparency=.5,BorderSizePixel=0;TextColor3=Color3.new(1,1,1),Text="\083\101\097\114\099\104",PlaceholderText="\083\101\097\114\099\104",TextStrokeTransparency=.8})v.FocusLost:connect(function(M)A(O)end)j:Ready()A(O)if y and K then while j.gTable.Active and wait(K)do j:Refresh()end end end
-- Decompiled with the Synapse X Luau decompiler.

client = nil
service = nil
return function(p1)
	local v1 = p1.Table or p1.Tab
	local l__Update__2 = p1.Update
	local l__AutoUpdate__3 = p1.AutoUpdate
	local l__LoadTime__4 = p1.LoadTime
	local l__gIndex__5 = p1.gIndex
	local l__gTable__6 = p1.gTable
	local l__Dots__7 = p1.Dots
	local l__Sanitize__8 = p1.Sanitize
	local l__Stacking__1 = p1.Stacking
	local u2 = nil
	local u3 = nil
	local function u4(p2)
		local v9 = {}
		for v10, v11 in next, p2 do
			if type(v11) == "table" then
				v9[v10] = {
					Text = v11.Text,
					Desc = v11.Desc,
					Time = v11.Time,
					Filter = v11.Filter,
					Duplicates = v11.Duplicates,
				}
			elseif type(v11) == "string" then
				v9[v10] = {
					Text = v11,
					Desc = v11,
				}
			end
		end
		if l__Stacking__1 then
			v9 = {}
			local v12 = nil
			for v13, v14 in next, v9 do
				v14.Text = service.Trim(v14.Text)
				v14.Desc = service.Trim(v14.Desc)
				if not v12 then
					v12 = v14
					table.insert(v9, v14)
				elseif v12.Text == v14.Text and v12.Desc == v14.Desc then
					v12.Duplicates = v12.Duplicates and v12.Duplicates + 1 or 2
				else
					v12 = v14
					table.insert(v9, v14)
				end
			end
		end
		local l__next__15 = next
		local v16 = nil
		while true do
			local v17, v18 = l__next__15(v9, v16)
			if not v17 then
				break
			end
			v18.Text = p1.Sanitize and service.SanitizeString(v18.Text) or v18.Text
			if v18.Duplicates then
				v18.Text = "(x" .. v18.Duplicates .. ") " .. v18.Text
			end
			if v18.Time then
				v18.Text = "[" .. v18.Time .. "] " .. v18.Text
			end
		end
		return v9
	end
	local function u5(p3, p4)
		local v19 = {}
		p4 = p4:lower()
		for v20, v21 in next, p3 do
			if
				p4 == ""
				or type(v21) == "string" and not (not v21:lower():find(p4))
				or type(v21) == "table"
					and (not not v21.Text and not (not v21.Text:lower():find(p4)) or v21.Filter and v21.Filter
						:lower()
						:find(p4))
			then
				table.insert(v19, v21)
			end
		end
		return v19
	end
	local function v22(p5)
		if u2.Text ~= "Search" and u2.Text ~= "" then
			u3:GenerateList(u4(u5(p5, u2.Text)))
			return
		end
		u2.Text = "Search"
		u3:GenerateList(u4(p5))
	end
	local v23 = {
		Name = "List",
		Title = p1.Title,
		Size = p1.Size or { 225, 200 },
		MinSize = { 150, 100 },
	}
	local v24 = l__Update__2
	if v24 then
		local u6 = v1
		local l__UpdateArgs__7 = p1.UpdateArgs
		local l__UpdateArg__8 = p1.UpdateArg
		v24 = function()
			u6 = client.Remote.Get("UpdateList", l__Update__2, unpack(l__UpdateArgs__7 or { l__UpdateArg__8 }))
			if u6 then
				v22(u6)
			end
		end
	end
	v23.OnRefresh = v24
	local v25 = client.UI.Make("Window", v23)
	u3 = v25:Add("ScrollingFrame", {
		List = {},
		ScrollBarThickness = 2,
		BackgroundTransparency = 1,
		Position = UDim2.new(0, 5, 0, 30),
		Size = UDim2.new(1, -10, 1, -30),
	})
	u2 = v25:Add("TextBox", {
		Size = UDim2.new(1, -10, 0, 20),
		Position = UDim2.new(0, 5, 0, 5),
		BackgroundTransparency = 0.5,
		BorderSizePixel = 0,
		TextColor3 = Color3.new(1, 1, 1),
		Text = "Search",
		PlaceholderText = "Search",
		TextStrokeTransparency = 0.8,
	})
	u2.FocusLost:connect(function(p6)
		v22(v1)
	end)
	v25:Ready()
	v22(v1)
	if l__Update__2 and l__AutoUpdate__3 then
		while v25.gTable.Active and wait(l__AutoUpdate__3) do
			v25:Refresh()
		end
	end
end
