return function(C,f,U,w)local a=require(U.util.matcher)local z={}local J=w.View.UI.Search local m=w.View.UI.List for C,f in pairs((require(U.util.icons)).icons)do table.insert(z,C)end;(J.Container.TextBox:GetPropertyChangedSignal("\084\101\120\116")):Connect(function()local C=J.Container.TextBox.Text for C,f in ipairs(m:GetChildren())do if f:IsA("\070\114\097\109\101")then f.LayoutOrder=0 f.Visible=true end end if C:gsub("\037\115","")and(C:gsub("\037\115","")):len()>=1 then local f=(a.new(z,true,true)):match(C)for C,f in ipairs(m:GetChildren())do if f:IsA("\070\114\097\109\101")then f.Visible=false end end for C,f in ipairs(f)do local U=m:FindFirstChild(f)if U and U:IsA("\070\114\097\109\101")then U.LayoutOrder=C U.Visible=true end end end end)end
return function(PluginService, assets, modules, widget)
    local matcher = require(modules.util.matcher)
    local candidates = {}
    local search = widget.View.UI.Search
    local list = widget.View.UI.List

    for name, _ in pairs(require(modules.util.icons).icons) do
        table.insert(candidates, name)
    end

    search.Container.TextBox:GetPropertyChangedSignal("Text"):Connect(function()
        local text = search.Container.TextBox.Text
        for _, icon in ipairs(list:GetChildren()) do
            if icon:IsA("Frame") then
                icon.LayoutOrder = 0
                icon.Visible = true
            end
        end

        if text:gsub("%s", "") and text:gsub("%s", ""):len() >= 1 then
            local matchResult = matcher.new(candidates, true, true):match(text)
            for _, icon in ipairs(list:GetChildren()) do
                if icon:IsA("Frame") then
                    icon.Visible = false
                end
            end

            for position, name in ipairs(matchResult) do
                local icon = list:FindFirstChild(name)
                if icon and icon:IsA("Frame") then
                    icon.LayoutOrder = position
                    icon.Visible = true
                end
            end
        end
    end)
end