добавил структурную схему патчера
переработал разбиение по функциям для лучшего понимания кода. ПОменял вложенность циклов, для правильной обработки логики поиска элементов