_       _                       _        _                             _          
   __| | __ _| |_ __ _  ___ ___ _ __ | |_ _ __(_)_  __  ___ ___  _ __ ___   | |__  _ __ 
  / _` |/ _` | __/ _` |/ __/ _ \ '_ \| __| '__| \ \/ / / __/ _ \| '_ ` _ \  | '_ \| '__|
 | (_| | (_| | || (_| | (_|  __/ | | | |_| |  | |>  < | (_| (_) | | | | | |_| |_) | |   
  \__,_|\__,_|\__\__,_|\___\___|_| |_|\__|_|  |_/_/\_(_)___\___/|_| |_| |_(_)_.__/|_|   
                                                                                        
                                                                                                                         
`8.`888b                 ,8' 8 8888888888   8 888888888o   b.             8     ,o888888o.  `8.`888b                 ,8' 
 `8.`888b               ,8'  8 8888         8 8888    `88. 888o.          8  . 8888     `88. `8.`888b               ,8'  
  `8.`888b             ,8'   8 8888         8 8888     `88 Y88888o.       8 ,8 8888       `8b `8.`888b             ,8'   
   `8.`888b     .b    ,8'    8 8888         8 8888     ,88 .`Y888888o.    8 88 8888        `8b `8.`888b     .b    ,8'    
    `8.`888b    88b  ,8'     8 888888888888 8 8888.   ,88' 8o. `Y888888o. 8 88 8888         88  `8.`888b    88b  ,8'     
     `8.`888b .`888b,8'      8 8888         8 8888888888   8`Y8o. `Y88888o8 88 8888         88   `8.`888b .`888b,8'      
      `8.`888b8.`8888'       8 8888         8 8888    `88. 8   `Y8o. `Y8888 88 8888        ,8P    `8.`888b8.`8888'       
       `8.`888`8.`88'        8 8888         8 8888      88 8      `Y8o. `Y8 `8 8888       ,8P      `8.`888`8.`88'        
        `8.`8' `8,`'         8 8888         8 8888    ,88' 8         `Y8o.`  ` 8888     ,88'        `8.`8' `8,`'         
         `8.`   `8'          8 888888888888 8 888888888P   8            `Yo     `8888888P'           `8.`   `8'