/#########                                           /####      / ####                                   
| #########                                          | #####    / #####                                   
| ###_____/                                          | ######  / ######                                   
| ###                                                | ### ###/ ### ###                                   
| #########  /$$$$$$   /$$$$$$$   /$$ /$$  /$$$  /$$ | ###\ ######| ###  /$$$$$$   /$$$  /$$  /$$$$$    /$$
|/____ /### |____ /$$ | $$___/$$ | $$| $$ | $$$$| $$ | ### \ #### | ### |____ /$$ | $$$$| $$ | $$\ $$  |/_/
      | ###  /$$$$$$$ | $$$$$$$  | $$| $$ | $$ $$ $$ | ###  \__/  | ###  /$$$$$$$ | $$ $$ $$ | $$ \ $$  /$$
 /######### /$$__  $$ | $$___/$$ | $$| $$ | $$\ $$$$ | ###        | ### /$$__  $$ | $$\ $$$$ | $$ /$$  | $$
| #########|  $$$$$$$ | $$$$$$$  |  $$$$$ | $$ \ $$$ | ###        | ###|  $$$$$$$ | $$ \ $$$ | $$$$$   | $$
|/________/ \/______/ |/______/   \/___/  |/_/  \/_/ |/__/        |/__/ \/______/ |/_/  \/_/ |/___/    |/_/