__ __ __  __ __ ____    ___  ____       ____   ___   __  __   ___  ___ 
|| || ||\ || || || \\  // \\ || \\      || )) // \\ (( \ ||  //   // \\
|| || ||\\|| || ||  )) ||=|| ||  ))     ||=)  ||=||  \\  || ((    ||=||
\\_// || \|| || ||_//  || || ||_//      ||_)) || || \_)) ||  \\__ || ||
 _   _   __      _               _  ___          _                     
| \ | | /_/     | |             | |/ (_)        | |                    
|  \| | ___  ___| |_ ___  _ __  | ' / _ _ __ ___| |__  _ __   ___ _ __ 
| . ` |/ _ \/ __| __/ _ \| '__| |  < | | '__/ __| '_ \| '_ \ / _ \ '__|
| |\  |  __/\__ \ || (_) | |    | . \| | | | (__| | | | | | |  __/ |
|_| \_|\___||___/\__\___/|_|    |_|\_\_|_|  \___|_| |_|_| |_|\___|_|