Ссылка: http://pastebin.com/Rd17LjcR