client=nil service=nil return function(F)local B=F.Time local N=service.New("\083\111\117\110\100")N.Volume=.25 N.Looped=false local j=nil local x=require(script:FindFirstChild("\086\105\115\117\097\108\105\122\101\114"))local p={Name="\065\117\100\105\111 \080\108\097\121\101\114";Title="\065\117\100\105\111 \080\108\097\121\101\114",Size={410;400},MinSize={410;245};icon="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061\055\048\051\050\055\050\049\054\050\052",Position=UDim2.new(0,10,1,-410)}local function b()if j then j:UnlinkFromSound()j:Destroy()j=nil end if x then x=nil end if N then N:Stop()N:Destroy()end end function p.OnClose()b()end local Z=client.UI.Make("\087\105\110\100\111\119",p)Z.gTable:Ready()local h={Text=""}local k=false local q=nil function h.OnClick()if k then N.Volume=.25 q.Image="\114\098\120\097\115\115\101\116\105\100\058\047\047\049\054\051\056\053\053\049\054\057\054"k=false return end N.Volume=0 q.Image="\114\098\120\097\115\115\101\116\105\100\058\047\047\049\054\051\056\053\056\052\054\055\053"k=true end q=(Z:AddTitleButton(h)):Add("\073\109\097\103\101\076\097\098\101\108",{Size=UDim2.new(0,20,0,20);Position=UDim2.new(0,5,0,0);Image="\114\098\120\097\115\115\101\116\105\100\058\047\047\049\054\051\056\053\053\049\054\057\054";BackgroundTransparency=1})local g=Z:Add("\070\114\097\109\101",{Size=UDim2.new(1,0,0,50);Position=UDim2.new(0,0,0,30),BackgroundTransparency=1;TextScaled=true})local f=nil local L={}local Y=nil local n=Z:Add("\084\101\120\116\076\097\098\101\108",{Text="\065\117\100\105\111 \080\108\097\121\101\114";Size=UDim2.new(1,0,0,20);BackgroundTransparency=1,TextScaled=true;ToolTip="\065\117\100\105\111 \080\108\097\121\101\114"})local D=nil local U=false local W=Z:Add("\084\097\098\070\114\097\109\101",{Size=UDim2.new(1,0,1,-165),Position=UDim2.new(0,0,0,90)})local e=W:NewTab("\071\097\109\101",{Text="\071\097\109\101";OnFocus=function()D=L.Game or{}end})local R=W:NewTab("\065\100\111\110\105\115",{Text="\065\100\111\110\105\115",OnFocus=function()D=L.Adonis or{}end})local d={Visible=false,Size=UDim2.new(1,0,1,0),Position=UDim2.new(0,0,0,0),BackgroundTransparency=0,ZIndex=10000}local v={}local Q={Class="\084\101\120\116\066\117\116\116\111\110";Text="\067\097\110\099\101\108";Position=UDim2.new(0,5,1,-35);Size=UDim2.new(.5,-5,0,30),BackgroundTransparency=0;ZIndex=10003}local C=nil function Q.OnClicked()C.Visible=false end v[1]={Class="\084\101\120\116\076\097\098\101\108";Text="\078\101\119 \067\117\115\116\111\109 \080\108\097\121\108\105\115\116 \115\116\114\105\110\103\058",Position=UDim2.new(0,5,0,5);Size=UDim2.new(1,-10,0,30),BackgroundTransparency=0,ZIndex=10001}v[2]={Class="\084\101\120\116\066\117\116\116\111\110";Text="\065\100\100",Position=UDim2.new(.5,5,1,-35);Size=UDim2.new(.5,-10,0,30);BackgroundTransparency=0,ZIndex=10002;OnClicked=function() end}v[3]=Q d.Children=v C=W:Add("\070\114\097\109\101",d)local T={Position=UDim2.new(0,5,0,40),Size=UDim2.new(1,-10,1,-80);TextWrapped=true,ClearTextOnFocus=false;PlaceholderText="\078\065\077\069\058\073\068\044 \083\069\067\079\078\068\058\049\050\051\057\056\056\048\049\044 \072\101\097\118\121\073\115\068\101\097\100\058\052\056\056\049\053\052\050\053\050\049";ZIndex=10004}local function H(F,B)local j=0 f=nil if L and L[F.Name]then L[F.Name]=nil end if Y then Y:Disconnect()end F:ClearAllChildren()local x=F:Add("\083\099\114\111\108\108\105\110\103\070\114\097\109\101",{Size=UDim2.new(1,0,1,1),Position=UDim2.new(0,0,0,0);BackgroundColor3=Color3.new(.235294,.235294,.235294);BackgroundTransparency=1})local p=x:Add("\084\101\120\116\076\097\098\101\108",{Text="\076\111\097\100\105\110\103 \110\111\116\104\105\110\103 \121\101\116\033",ToolTip="\078\101\118\101\114 \103\111\110\110\097 \103\105\118\101 \121\111\117 \117\112\044 \078\101\118\101\114 \103\111\110\110\097 \108\101\116 \121\111\117 \100\111\119\110\046\046\046";BackgroundTransparency=0,Size=UDim2.new(1,0,1,0);Position=UDim2.new(0,0,0,0);ZIndex=69420})L[F.Name]={}for b,Z in next,B or{}do if type(Z)=="\116\097\098\108\101"then p.Text="\076\111\097\100\105\110\103 \116\114\097\099\107\115 \040"..(b..("\047"..(#B.."\041")))local h,k=pcall(function()return service.MarketplaceService:GetProductInfo(Z.ID,Enum.InfoType.Asset)end)if k.AssetTypeId==3 then table.insert(L[F.Name],Z)local B={Text="  "..(j+1 ..("\041 "..(h and k.Name or"\091\069\082\082\079\082\093 "..Z.Name)));ToolTip="\078\097\109\101\058 "..(Z.Name..(" \124 \073\068\058 "..Z.ID)),Size=UDim2.new(1,0,0,25),Position=UDim2.new(0,0,0,j*25)}if j%2==0 then local F=0 else v22=.2 end B.BackgroundTransparency=v22 B.TextXAlignment="\076\101\102\116"function B.OnClicked(F)if f and f.Button then f.Button.BackgroundTransparency=0 end F.BackgroundTransparency=.5 N:Stop()N.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"..Z.ID N:Play()n.Text=h and k.Name or Z.Name f={ID=Z.ID;Name=Z.Name,Button=F;Index=b}end x:Add("\084\101\120\116\066\117\116\116\111\110",B)end end j=j+1 end Y=N.Ended:Connect(function()if D and f then if U then local F=nil while true do F=math.random(#D)if F~=f.Index then break end if#D<=1 then break end end local B=D[F]if B then N:Stop()N.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"..B.ID N:Play()local j,x=pcall(function()return service.MarketplaceService:GetProductInfo(B.ID,Enum.InfoType.Asset)end)n.Text=j and x.Name or"\091\069\082\082\079\082\093 "..B.Name f={ID=B.ID,Name=B.Name,Button=nil;Index=F}return end else local F=D[f.Index+1]if F then N:Stop()N.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"..F.ID N:Play()local B,j=pcall(function()return service.MarketplaceService:GetProductInfo(F.ID,Enum.InfoType.Asset)end)n.Text=B and j.Name or"\091\069\082\082\079\082\093 "..F.Name f={ID=F.ID,Name=F.Name,Button=nil,Index=f.Index+1}end end end end)p:Destroy()x:ResizeCanvas(false,true)end local a=W:NewTab("\067\117\115\116\111\109",{Text="\067\117\115\116\111\109",OnFocus=function()D=L.Custom or{}end})function T.TextChanged(F,B,N)client.Variables.Playlist={Playlist={}}for F,B in pairs(client.Variables.Playlist.Playlist)do client.Variables.Playlist.Playlist[F]=nil end for F,B in next,string.split(string.gsub(F," ",""),"\044")do local N=string.split(B,"\058")table.insert(client.Variables.Playlist.Playlist,#client.Variables.Playlist.Playlist+1,{Name=tostring(N[1]);ID=tonumber(N[2])})end C.Visible=false H(a,client.Variables.Playlist.Playlist or{})D=L.Custom or{}end local r=C:Add("\084\101\120\116\066\111\120",T)r.BackgroundColor3=r.BackgroundColor3:lerp(Color3.new(1,1,1),.1)C.BackgroundColor3=C.BackgroundColor3:lerp(Color3.new(1,1,1),.05)local u=Z:Add("\070\114\097\109\101",{Size=UDim2.new(1,0,0,75),Position=UDim2.new(0,0,1,-75);BackgroundColor3=Color3.new(.235294,.235294,.235294),BackgroundTransparency=0})local i={Text="\076\111\097\100 \112\108\097\121\108\105\115\116";ToolTip="\067\114\101\097\116\101 \097 \110\101\119 \099\117\115\116\111\109 \112\108\097\121\108\105\115\116 \102\114\111\109 \097 \115\116\114\105\110\103\046",BackgroundTransparency=0,Size=UDim2.new(0,100,0,30);Position=UDim2.new(0,5,1,-70)}function i.OnClicked()r.Text=""C.Visible=true a:FocusTab()D=L.Custom or{}end local M=u:Add("\084\101\120\116\066\117\116\116\111\110",i)local I={Text="\083\097\118\101 \112\108\097\121\108\105\115\116";ToolTip="\083\097\118\101 \121\111\117\114 \099\117\115\116\111\109 \112\108\097\121\108\105\115\116 \116\111 \116\104\101 \103\097\109\101\115 \100\097\116\097\115\116\111\114\101\046";BackgroundTransparency=0,Size=UDim2.new(0,100,0,30);Position=UDim2.new(1,-105,1,-70)}local A=W:NewTab("\080\101\114\115\111\110\097\108",{Text="\080\101\114\115\111\110\097\108";OnFocus=function()D=L.Personal or{}end})function I.OnClicked()A:FocusTab()if client.Variables.Playlist.Playlist~=nil and client.Variables.Playlist.Playlist~={}then client.Functions.UpdatePlaylist(client.Variables.Playlist)H(A,(client.Functions.Playlist()).Playlist or{})else print("\091\069\082\082\079\082\093 \067\097\110\110\111\116 \117\112\100\097\116\101 \101\109\112\116\121 \080\108\097\121\108\105\115\116")end D=L.Personal or{}end local S=u:Add("\084\101\120\116\066\117\116\116\111\110",I)local O=u:Add("\084\101\120\116\076\097\098\101\108",{Text="  \073\068\058 ",ToolTip="\073\068\058 \084\104\101 \083\111\117\110\100 \073\068 \102\114\111\109 \116\104\101 \114\111\098\108\111\120 \099\097\116\097\108\111\103\117\101\046",BackgroundTransparency=0,Size=UDim2.new(0,120,0,30);Position=UDim2.new(0,5,1,-35);TextXAlignment="\076\101\102\116",Children={TextBox={Text="",PlaceholderText="\052\056\056\049\053\052\050\053\050\049",Size=UDim2.new(0,80,1,0),Position=UDim2.new(1,-90,0,0);BackgroundTransparency=1;TextXAlignment="\082\105\103\104\116";TextChanged=function(F,B,j)if B then N:Stop()N.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"..F N:Play()end end}}})local c=u:Add("\084\101\120\116\076\097\098\101\108",{Text="  \086\111\108\058 ",ToolTip="\086\111\108\117\109\101\058 \072\111\119 \108\111\117\100 \116\104\101 \097\117\100\105\111 \119\105\108\108 \112\108\097\121 \040\048 \116\111 \049\048\041\046",BackgroundTransparency=0;Size=UDim2.new(0,60,0,30),Position=UDim2.new(0,130,1,-35),TextXAlignment="\076\101\102\116";Children={TextBox={Text="";PlaceholderText="\049",Size=UDim2.new(0,40,1,0),Position=UDim2.new(1,-50,0,0);BackgroundTransparency=1,TextXAlignment="\082\105\103\104\116",TextChanged=function(F,B,j)if B then N.Volume=F end end}}})local m=u:Add("\084\101\120\116\076\097\098\101\108",{Text="  \080\111\115\058 ",ToolTip="\080\111\115\105\116\105\111\110\058 \083\101\116 \116\104\101 \097\117\100\105\111\'\115 \112\111\115\105\116\105\111\110 \040\073\110 \115\101\099\111\110\100\115\041\046",BackgroundTransparency=0;Size=UDim2.new(0,60,0,30);Position=UDim2.new(1,-205,1,-35);TextXAlignment="\076\101\102\116",Children={TextBox={Text="";PlaceholderText="\048",Size=UDim2.new(0,40,1,0),Position=UDim2.new(1,-50,0,0);BackgroundTransparency=1,TextXAlignment="\082\105\103\104\116";TextChanged=function(F,B,j)if B then N:Stop()N.TimePosition=F N:Play()end end}}})local w=u:Add("\084\101\120\116\066\117\116\116\111\110",{Text="\226\151\128\239\184\143";TextSize=15;ToolTip="\066\097\099\107\058 \071\111 \098\097\099\107 \116\111 \116\104\101 \108\097\115\116 \112\108\097\121\101\100 \116\114\097\099\107\046";BackgroundTransparency=0,Size=UDim2.new(0,30,0,30),Position=UDim2.new(1,-140,1,-35),TextXAlignment="\067\101\110\116\101\114",OnClick=function()if D and f then if U then local F=nil while true do F=math.random(#D)if F~=f.Index then break end if#D<=1 then break end end local B=D[F]if B then N:Stop()N.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"..B.ID N:Play()local j,x=pcall(function()return service.MarketplaceService:GetProductInfo(B.ID,Enum.InfoType.Asset)end)n.Text=j and x.Name or"\091\069\082\082\079\082\093 "..B.Name f={ID=B.ID,Name=B.Name;Button=nil;Index=F}return end else local F=D[f.Index-1]if F then N:Stop()N.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"..F.ID N:Play()local B,j=pcall(function()return service.MarketplaceService:GetProductInfo(F.ID,Enum.InfoType.Asset)end)n.Text=B and j.Name or"\091\069\082\082\079\082\093 "..F.Name f={ID=F.ID,Name=F.Name;Button=nil;Index=f.Index-1}end end end end})local X=u:Add("\084\101\120\116\066\117\116\116\111\110",{Text="\226\143\175\239\184\143",TextSize=15,ToolTip="\080\097\117\115\101\047\080\108\097\121\058 \067\111\110\116\114\111\108 \116\104\101 \116\114\097\099\107\115 \112\108\097\121\105\110\103 \115\116\097\116\101\046",BackgroundTransparency=0;Size=UDim2.new(0,30,0,30),Position=UDim2.new(1,-105,1,-35);TextXAlignment="\067\101\110\116\101\114";OnClick=function()if N.Playing then N:Pause()return end N:Resume()end})local s=u:Add("\084\101\120\116\066\117\116\116\111\110",{Text="\226\150\182\239\184\143",TextSize=15,ToolTip="\070\111\114\119\097\114\100\058 \083\107\105\112 \116\111 \116\104\101 \110\101\120\116 \116\114\097\099\107\046",BackgroundTransparency=0,Size=UDim2.new(0,30,0,30),Position=UDim2.new(1,-70,1,-35),TextXAlignment="\067\101\110\116\101\114";OnClick=function()if D and f then if U then local F=nil while true do F=math.random(#D)if F~=f.Index then break end if#D<=1 then break end end local B=D[F]if B then N:Stop()N.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"..B.ID N:Play()local j,x=pcall(function()return service.MarketplaceService:GetProductInfo(B.ID,Enum.InfoType.Asset)end)n.Text=j and x.Name or"\091\069\082\082\079\082\093 "..B.Name f={ID=B.ID;Name=B.Name;Button=nil,Index=F}return end else local F=D[f.Index+1]if F then N:Stop()N.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"..F.ID N:Play()local B,j=pcall(function()return service.MarketplaceService:GetProductInfo(F.ID,Enum.InfoType.Asset)end)n.Text=B and j.Name or"\091\069\082\082\079\082\093 "..F.Name f={ID=F.ID;Name=F.Name,Button=nil,Index=f.Index+1}end end end end})local K=nil local y=nil local z={Text="\240\159\148\128",TextSize=15,ToolTip="\083\104\117\102\102\108\101\058 \082\097\110\100\111\109\108\121 \112\105\099\107 \098\101\116\119\101\101\110\046";BackgroundTransparency=0,Size=UDim2.new(0,30,0,30);Position=UDim2.new(1,-35,1,-35),TextXAlignment="\067\101\110\116\101\114"}local function t()if not U then K.BackgroundColor3=y return end K.BackgroundColor3=Color3.new(0,1,.6)end function z.OnClick()U=not U t()end K=u:Add("\084\101\120\116\066\117\116\116\111\110",z)y=K.BackgroundColor3 N.Parent=g;(x.new(g,400)):LinkToSound(N)local function E(F)F:Add("\084\101\120\116\076\097\098\101\108",{Text="\087\097\105\116\105\110\103 \105\110 \113\117\101\117\101 \116\111 \108\111\097\100 \116\114\097\099\107\115\046\046\046";ToolTip="\078\101\118\101\114 \103\111\110\110\097 \103\105\118\101 \121\111\117 \117\112\044 \078\101\118\101\114 \103\111\110\110\097 \108\101\116 \121\111\117 \100\111\119\110\046\046\046";BackgroundTransparency=0;Size=UDim2.new(1,0,1,0);Position=UDim2.new(0,0,0,0);ZIndex=69420})end E(A)E(e)E(R)H(A,(client.Functions.Playlist()).Playlist or{})H(e,client.Remote.Get("\086\097\114\105\097\098\108\101","\077\117\115\105\099\076\105\115\116")or{})H(R,client.Remote.Get("\086\097\114\105\097\098\108\101","\077\117\115\105\099\076\105\115\116")or{})D=L.Personal or{}end


client = nil;
service = nil;
return function(p1)
	local l__Time__1 = p1.Time;
	local v2 = service.New("Sound");
	v2.Volume = 0.25;
	v2.Looped = false;
	local u1 = nil;
	local u2 = require(script:FindFirstChild("Visualizer"));
	local v3 = {
		Name = "Audio Player", 
		Title = "Audio Player", 
		Size = { 410, 400 }, 
		MinSize = { 410, 245 }, 
		icon = "http://www.roblox.com/asset/?id=7032721624", 
		Position = UDim2.new(0, 10, 1, -410)
	};
	local function u3()
		if u1 then
			u1:UnlinkFromSound();
			u1:Destroy();
			u1 = nil;
		end;
		if u2 then
			u2 = nil;
		end;
		if v2 then
			v2:Stop();
			v2:Destroy();
		end;
	end;
	function v3.OnClose()
		u3();
	end;
	local v4 = client.UI.Make("Window", v3);
	v4.gTable:Ready();
	local v5 = {
		Text = ""
	};
	local u4 = false;
	local u5 = nil;
	function v5.OnClick()
		if u4 then
			v2.Volume = 0.25;
			u5.Image = "rbxassetid://1638551696";
			u4 = false;
			return;
		end;
		v2.Volume = 0;
		u5.Image = "rbxassetid://1638584675";
		u4 = true;
	end;
	u5 = v4:AddTitleButton(v5):Add("ImageLabel", {
		Size = UDim2.new(0, 20, 0, 20), 
		Position = UDim2.new(0, 5, 0, 0), 
		Image = "rbxassetid://1638551696", 
		BackgroundTransparency = 1
	});
	local v6 = v4:Add("Frame", {
		Size = UDim2.new(1, 0, 0, 50), 
		Position = UDim2.new(0, 0, 0, 30), 
		BackgroundTransparency = 1, 
		TextScaled = true
	});
	local u6 = nil;
	local u7 = {};
	local u8 = nil;
	local u9 = v4:Add("TextLabel", {
		Text = "Audio Player", 
		Size = UDim2.new(1, 0, 0, 20), 
		BackgroundTransparency = 1, 
		TextScaled = true, 
		ToolTip = "Audio Player"
	});
	local u10 = nil;
	local u11 = false;
	local v7 = v4:Add("TabFrame", {
		Size = UDim2.new(1, 0, 1, -165), 
		Position = UDim2.new(0, 0, 0, 90)
	});
	local v8 = v7:NewTab("Game", {
		Text = "Game", 
		OnFocus = function()
			u10 = u7.Game or {};
		end
	});
	local v9 = v7:NewTab("Adonis", {
		Text = "Adonis", 
		OnFocus = function()
			u10 = u7.Adonis or {};
		end
	});
	local v10 = {
		Visible = false, 
		Size = UDim2.new(1, 0, 1, 0), 
		Position = UDim2.new(0, 0, 0, 0), 
		BackgroundTransparency = 0, 
		ZIndex = 10000
	};
	local v11 = {};
	local v12 = {
		Class = "TextButton", 
		Text = "Cancel", 
		Position = UDim2.new(0, 5, 1, -35), 
		Size = UDim2.new(0.5, -5, 0, 30), 
		BackgroundTransparency = 0, 
		ZIndex = 10003
	};
	local u12 = nil;
	function v12.OnClicked()
		u12.Visible = false;
	end;
	v11[1] = {
		Class = "TextLabel", 
		Text = "New Custom Playlist string:", 
		Position = UDim2.new(0, 5, 0, 5), 
		Size = UDim2.new(1, -10, 0, 30), 
		BackgroundTransparency = 0, 
		ZIndex = 10001
	};
	v11[2] = {
		Class = "TextButton", 
		Text = "Add", 
		Position = UDim2.new(0.5, 5, 1, -35), 
		Size = UDim2.new(0.5, -10, 0, 30), 
		BackgroundTransparency = 0, 
		ZIndex = 10002, 
		OnClicked = function()

		end
	};
	v11[3] = v12;
	v10.Children = v11;
	u12 = v7:Add("Frame", v10);
	local v13 = {
		Position = UDim2.new(0, 5, 0, 40), 
		Size = UDim2.new(1, -10, 1, -80), 
		TextWrapped = true, 
		ClearTextOnFocus = false, 
		PlaceholderText = "NAME:ID, SECOND:12398801, HeavyIsDead:4881542521", 
		ZIndex = 10004
	};
	local function u13(p2, p3)
		local v14 = 0;
		u6 = nil;
		if u7 and u7[p2.Name] then
			u7[p2.Name] = nil;
		end;
		if u8 then
			u8:Disconnect();
		end;
		p2:ClearAllChildren();
		local v15 = p2:Add("ScrollingFrame", {
			Size = UDim2.new(1, 0, 1, 1), 
			Position = UDim2.new(0, 0, 0, 0), 
			BackgroundColor3 = Color3.new(0.235294, 0.235294, 0.235294), 
			BackgroundTransparency = 1
		});
		local v16 = v15:Add("TextLabel", {
			Text = "Loading nothing yet!", 
			ToolTip = "Never gonna give you up, Never gonna let you down...", 
			BackgroundTransparency = 0, 
			Size = UDim2.new(1, 0, 1, 0), 
			Position = UDim2.new(0, 0, 0, 0), 
			ZIndex = 69420
		});
		u7[p2.Name] = {};
		for v17, v18 in next, p3 or {} do
			if type(v18) == "table" then
				v16.Text = "Loading tracks (" .. v17 .. "/" .. #p3 .. ")";
				local v19, v20 = pcall(function()
					return service.MarketplaceService:GetProductInfo(v18.ID, Enum.InfoType.Asset);
				end);
				if v20.AssetTypeId == 3 then
					table.insert(u7[p2.Name], v18);
					local v21 = {
						Text = "  " .. v14 + 1 .. ") " .. (v19 and v20.Name or "[ERROR] " .. v18.Name), 
						ToolTip = "Name: " .. v18.Name .. " | ID: " .. v18.ID, 
						Size = UDim2.new(1, 0, 0, 25), 
						Position = UDim2.new(0, 0, 0, v14 * 25)
					};
					if v14 % 2 == 0 then
						local v22 = 0;
					else
						v22 = 0.2;
					end;
					v21.BackgroundTransparency = v22;
					v21.TextXAlignment = "Left";
					function v21.OnClicked(p4)
						if u6 and u6.Button then
							u6.Button.BackgroundTransparency = 0;
						end;
						p4.BackgroundTransparency = 0.5;
						v2:Stop();
						v2.SoundId = "http://www.roblox.com/asset/?id=" .. v18.ID;
						v2:Play();
						u9.Text = v19 and v20.Name or v18.Name;
						u6 = {
							ID = v18.ID, 
							Name = v18.Name, 
							Button = p4, 
							Index = v17
						};
					end;
					v15:Add("TextButton", v21);
				end;
			end;
			v14 = v14 + 1;
		end;
		u8 = v2.Ended:Connect(function()
			if u10 and u6 then
				if u11 then
					local v23 = nil;
					while true do
						v23 = math.random(#u10);
						if v23 ~= u6.Index then
							break;
						end;
						if #u10 <= 1 then
							break;
						end;					
					end;
					local v24 = u10[v23];
					if v24 then
						v2:Stop();
						v2.SoundId = "http://www.roblox.com/asset/?id=" .. v24.ID;
						v2:Play();
						local v25, v26 = pcall(function()
							return service.MarketplaceService:GetProductInfo(v24.ID, Enum.InfoType.Asset);
						end);
						u9.Text = v25 and v26.Name or "[ERROR] " .. v24.Name;
						u6 = {
							ID = v24.ID, 
							Name = v24.Name, 
							Button = nil, 
							Index = v23
						};
						return;
					end;
				else
					local v27 = u10[u6.Index + 1];
					if v27 then
						v2:Stop();
						v2.SoundId = "http://www.roblox.com/asset/?id=" .. v27.ID;
						v2:Play();
						local v28, v29 = pcall(function()
							return service.MarketplaceService:GetProductInfo(v27.ID, Enum.InfoType.Asset);
						end);
						u9.Text = v28 and v29.Name or "[ERROR] " .. v27.Name;
						u6 = {
							ID = v27.ID, 
							Name = v27.Name, 
							Button = nil, 
							Index = u6.Index + 1
						};
					end;
				end;
			end;
		end);
		v16:Destroy();
		v15:ResizeCanvas(false, true);
	end;
	local u14 = v7:NewTab("Custom", {
		Text = "Custom", 
		OnFocus = function()
			u10 = u7.Custom or {};
		end
	});
	function v13.TextChanged(p5, p6, p7)
		client.Variables.Playlist = {
			Playlist = {}
		};
		for v30, v31 in pairs(client.Variables.Playlist.Playlist) do
			client.Variables.Playlist.Playlist[v30] = nil;
		end;
		for v32, v33 in next, string.split(string.gsub(p5, " ", ""), ",") do
			local v34 = string.split(v33, ":");
			table.insert(client.Variables.Playlist.Playlist, #client.Variables.Playlist.Playlist + 1, {
				Name = tostring(v34[1]), 
				ID = tonumber(v34[2])
			});
		end;
		u12.Visible = false;
		u13(u14, client.Variables.Playlist.Playlist or {});
		u10 = u7.Custom or {};
	end;
	local v35 = u12:Add("TextBox", v13);
	v35.BackgroundColor3 = v35.BackgroundColor3:lerp(Color3.new(1, 1, 1), 0.1);
	u12.BackgroundColor3 = u12.BackgroundColor3:lerp(Color3.new(1, 1, 1), 0.05);
	local v36 = v4:Add("Frame", {
		Size = UDim2.new(1, 0, 0, 75), 
		Position = UDim2.new(0, 0, 1, -75), 
		BackgroundColor3 = Color3.new(0.235294, 0.235294, 0.235294), 
		BackgroundTransparency = 0
	});
	local v37 = {
		Text = "Load playlist", 
		ToolTip = "Create a new custom playlist from a string.", 
		BackgroundTransparency = 0, 
		Size = UDim2.new(0, 100, 0, 30), 
		Position = UDim2.new(0, 5, 1, -70)
	};
	function v37.OnClicked()
		v35.Text = "";
		u12.Visible = true;
		u14:FocusTab();
		u10 = u7.Custom or {};
	end;
	local v38 = v36:Add("TextButton", v37);
	local v39 = {
		Text = "Save playlist", 
		ToolTip = "Save your custom playlist to the games datastore.", 
		BackgroundTransparency = 0, 
		Size = UDim2.new(0, 100, 0, 30), 
		Position = UDim2.new(1, -105, 1, -70)
	};
	local u15 = v7:NewTab("Personal", {
		Text = "Personal", 
		OnFocus = function()
			u10 = u7.Personal or {};
		end
	});
	function v39.OnClicked()
		u15:FocusTab();
		if client.Variables.Playlist.Playlist ~= nil and client.Variables.Playlist.Playlist ~= {} then
			client.Functions.UpdatePlaylist(client.Variables.Playlist);
			u13(u15, client.Functions.Playlist().Playlist or {});
		else
			print("[ERROR] Cannot update empty Playlist");
		end;
		u10 = u7.Personal or {};
	end;
	local v40 = v36:Add("TextButton", v39);
	local v41 = v36:Add("TextLabel", {
		Text = "  ID: ", 
		ToolTip = "ID: The Sound ID from the roblox catalogue.", 
		BackgroundTransparency = 0, 
		Size = UDim2.new(0, 120, 0, 30), 
		Position = UDim2.new(0, 5, 1, -35), 
		TextXAlignment = "Left", 
		Children = {
			TextBox = {
				Text = "", 
				PlaceholderText = "4881542521", 
				Size = UDim2.new(0, 80, 1, 0), 
				Position = UDim2.new(1, -90, 0, 0), 
				BackgroundTransparency = 1, 
				TextXAlignment = "Right", 
				TextChanged = function(p8, p9, p10)
					if p9 then
						v2:Stop();
						v2.SoundId = "http://www.roblox.com/asset/?id=" .. p8;
						v2:Play();
					end;
				end
			}
		}
	});
	local v42 = v36:Add("TextLabel", {
		Text = "  Vol: ", 
		ToolTip = "Volume: How loud the audio will play (0 to 10).", 
		BackgroundTransparency = 0, 
		Size = UDim2.new(0, 60, 0, 30), 
		Position = UDim2.new(0, 130, 1, -35), 
		TextXAlignment = "Left", 
		Children = {
			TextBox = {
				Text = "", 
				PlaceholderText = "1", 
				Size = UDim2.new(0, 40, 1, 0), 
				Position = UDim2.new(1, -50, 0, 0), 
				BackgroundTransparency = 1, 
				TextXAlignment = "Right", 
				TextChanged = function(p11, p12, p13)
					if p12 then
						v2.Volume = p11;
					end;
				end
			}
		}
	});
	local v43 = v36:Add("TextLabel", {
		Text = "  Pos: ", 
		ToolTip = "Position: Set the audio's position (In seconds).", 
		BackgroundTransparency = 0, 
		Size = UDim2.new(0, 60, 0, 30), 
		Position = UDim2.new(1, -205, 1, -35), 
		TextXAlignment = "Left", 
		Children = {
			TextBox = {
				Text = "", 
				PlaceholderText = "0", 
				Size = UDim2.new(0, 40, 1, 0), 
				Position = UDim2.new(1, -50, 0, 0), 
				BackgroundTransparency = 1, 
				TextXAlignment = "Right", 
				TextChanged = function(p14, p15, p16)
					if p15 then
						v2:Stop();
						v2.TimePosition = p14;
						v2:Play();
					end;
				end
			}
		}
	});
	local v44 = v36:Add("TextButton", {
		Text = "\226\151\128\239\184\143", 
		TextSize = 15, 
		ToolTip = "Back: Go back to the last played track.", 
		BackgroundTransparency = 0, 
		Size = UDim2.new(0, 30, 0, 30), 
		Position = UDim2.new(1, -140, 1, -35), 
		TextXAlignment = "Center", 
		OnClick = function()
			if u10 and u6 then
				if u11 then
					local v45 = nil;
					while true do
						v45 = math.random(#u10);
						if v45 ~= u6.Index then
							break;
						end;
						if #u10 <= 1 then
							break;
						end;					
					end;
					local v46 = u10[v45];
					if v46 then
						v2:Stop();
						v2.SoundId = "http://www.roblox.com/asset/?id=" .. v46.ID;
						v2:Play();
						local v47, v48 = pcall(function()
							return service.MarketplaceService:GetProductInfo(v46.ID, Enum.InfoType.Asset);
						end);
						u9.Text = v47 and v48.Name or "[ERROR] " .. v46.Name;
						u6 = {
							ID = v46.ID, 
							Name = v46.Name, 
							Button = nil, 
							Index = v45
						};
						return;
					end;
				else
					local v49 = u10[u6.Index - 1];
					if v49 then
						v2:Stop();
						v2.SoundId = "http://www.roblox.com/asset/?id=" .. v49.ID;
						v2:Play();
						local v50, v51 = pcall(function()
							return service.MarketplaceService:GetProductInfo(v49.ID, Enum.InfoType.Asset);
						end);
						u9.Text = v50 and v51.Name or "[ERROR] " .. v49.Name;
						u6 = {
							ID = v49.ID, 
							Name = v49.Name, 
							Button = nil, 
							Index = u6.Index - 1
						};
					end;
				end;
			end;
		end
	});
	local v52 = v36:Add("TextButton", {
		Text = "\226\143\175\239\184\143", 
		TextSize = 15, 
		ToolTip = "Pause/Play: Control the tracks playing state.", 
		BackgroundTransparency = 0, 
		Size = UDim2.new(0, 30, 0, 30), 
		Position = UDim2.new(1, -105, 1, -35), 
		TextXAlignment = "Center", 
		OnClick = function()
			if v2.Playing then
				v2:Pause();
				return;
			end;
			v2:Resume();
		end
	});
	local v53 = v36:Add("TextButton", {
		Text = "\226\150\182\239\184\143", 
		TextSize = 15, 
		ToolTip = "Forward: Skip to the next track.", 
		BackgroundTransparency = 0, 
		Size = UDim2.new(0, 30, 0, 30), 
		Position = UDim2.new(1, -70, 1, -35), 
		TextXAlignment = "Center", 
		OnClick = function()
			if u10 and u6 then
				if u11 then
					local v54 = nil;
					while true do
						v54 = math.random(#u10);
						if v54 ~= u6.Index then
							break;
						end;
						if #u10 <= 1 then
							break;
						end;					
					end;
					local v55 = u10[v54];
					if v55 then
						v2:Stop();
						v2.SoundId = "http://www.roblox.com/asset/?id=" .. v55.ID;
						v2:Play();
						local v56, v57 = pcall(function()
							return service.MarketplaceService:GetProductInfo(v55.ID, Enum.InfoType.Asset);
						end);
						u9.Text = v56 and v57.Name or "[ERROR] " .. v55.Name;
						u6 = {
							ID = v55.ID, 
							Name = v55.Name, 
							Button = nil, 
							Index = v54
						};
						return;
					end;
				else
					local v58 = u10[u6.Index + 1];
					if v58 then
						v2:Stop();
						v2.SoundId = "http://www.roblox.com/asset/?id=" .. v58.ID;
						v2:Play();
						local v59, v60 = pcall(function()
							return service.MarketplaceService:GetProductInfo(v58.ID, Enum.InfoType.Asset);
						end);
						u9.Text = v59 and v60.Name or "[ERROR] " .. v58.Name;
						u6 = {
							ID = v58.ID, 
							Name = v58.Name, 
							Button = nil, 
							Index = u6.Index + 1
						};
					end;
				end;
			end;
		end
	});
	local u16 = nil;
	local u17 = nil;
	local v61 = {
		Text = "\240\159\148\128", 
		TextSize = 15, 
		ToolTip = "Shuffle: Randomly pick between.", 
		BackgroundTransparency = 0, 
		Size = UDim2.new(0, 30, 0, 30), 
		Position = UDim2.new(1, -35, 1, -35), 
		TextXAlignment = "Center"
	};
	local function u18()
		if not u11 then
			u16.BackgroundColor3 = u17;
			return;
		end;
		u16.BackgroundColor3 = Color3.new(0, 1, 0.6);
	end;
	function v61.OnClick()
		u11 = not u11;
		u18();
	end;
	u16 = v36:Add("TextButton", v61);
	u17 = u16.BackgroundColor3;
	v2.Parent = v6;
	u2.new(v6, 400):LinkToSound(v2);
	local function v62(p17)
		p17:Add("TextLabel", {
			Text = "Waiting in queue to load tracks...", 
			ToolTip = "Never gonna give you up, Never gonna let you down...", 
			BackgroundTransparency = 0, 
			Size = UDim2.new(1, 0, 1, 0), 
			Position = UDim2.new(0, 0, 0, 0), 
			ZIndex = 69420
		});
	end;
	v62(u15);
	v62(v8);
	v62(v9);
	u13(u15, client.Functions.Playlist().Playlist or {});
	u13(v8, client.Remote.Get("Variable", "MusicList") or {});
	u13(v9, client.Remote.Get("Variable", "MusicList") or {});
	u10 = u7.Personal or {};
end;
