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