__        __       _       _               _  __      ___   ___     ___   ___   _  _   _    ____ _____ _____   ____   ___  _  ___  
\ \      / /__  __| |     | | __ _ _ __   / |/ /_    / _ \ / _ \ _ / _ \ ( _ )_| || | / |  / ___| ____|_   _| |___ \ / _ \/ |/ _ \ 
 \ \ /\ / / _ \/ _` |  _  | |/ _` | '_ \  | | '_ \  | | | | (_) (_) | | |/ _ (_) || |_| | | |   |  _|   | |     __) | | | | | (_) |
  \ V  V /  __/ (_| | | |_| | (_| | | | | | | (_) | | |_| |\__, |_| |_| | (_) ||__   _| | | |___| |___  | |    / __/| |_| | |\__, |
   \_/\_/ \___|\__,_|  \___/ \__,_|_| |_| |_|\___/   \___/   /_/(_)\___/ \___(_)  |_| |_|  \____|_____| |_|   |_____|\___/|_|  /_/