Не претендуя на ПРАВДУ(тм)
Дальше не читал