## #### #### #   ####     ####                ##     ######   #### ##### #####   
##  ###    #         ####     ####       #   ####   #####    ## ### ###   ###    
###  ##     #### ######## ######## # # # #  ##  ##  ##      ##       ##    ##    
####### ###### # ####     ####     #        #######  #####  ###      ##    ##    
##  ###  ###         ####     ####     # #  ##  ###     ### #### ##  ###   ###   
###  ##       ## ###### # ###### # # #####  ### ### ###  ##  ######  ###   ###   
#### ## ########  # #      # #     # #      ### ### ######    ####  ####  ####   
        ##           ####     ####