__  __ _ _          _____       _______ _            ____            _   
 |  \/  (_) |        |_   _|     |__   __| |          |  _ \          | |  
 | \  / |_| | _____    | |  ___     | |  | |__   ___  | |_) | ___  ___| |_ 
 | |\/| | | |/ / _ \   | | / __|    | |  | '_ \ / _ \ |  _ < / _ \/ __| __|
 | |  | | |   <  __/  _| |_\__ \    | |  | | | |  __/ | |_) |  __/\__ \ |_ 
 |_|  |_|_|_|\_\___| |_____|___/    |_|  |_| |_|\___| |____/ \___||___/\__|