#######                              #######  #######   #######                                                              
      #     ######     ##     #    #       #     #              #                                                               
      #     #         #  #    ##  ##       #     #             #                                                                
      #     #####    #    #   #_##-#-------#-----#####------_ #                                                                 
      #     #        ###### _-#  XX#XXXXXXX#XXXXX#XXXXXX     #-_                                                                
      #     #        #   _#' X#XXX #XXXXXXX#XXXXX#XXXXXXXXXX#   `-_                                                             
      #     ######   #_-' #XX # XXX#XXXXXXX#XXXXX#XXXXXXXXX####### `.                                                           
                     /  XX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   \                                                          
                   _' XX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX `.                                                        
                  / XX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \                                                       
                .' XX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |                                                      
                | XX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\                                                      
                ;XX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|                                                     
               : X   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\                                                     
               | X   XXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXX|                                                    
               | X   XXXXXXXXXXXXXXXXXXXXXXXX/|.XXXXXXXXXXXXXXXXXXXXXXXXXXX|                                                    
               | X   XXXXXXXXXXXXXXXXXXXXXXX/XXX`-_XX/XXXXXXXXXXXXXXXXXXXXX;                                                    
               | X   XXXXXXX.XXXXXXXXXXXXXX-XXXXXXX`-XXXXXXXXXXXXXXXXXXXXX|                                                     
                \XX  XXXXXXXX`_XXXXXXXXXXXXX`-_XXX,-XXXXXXXXXXXXXX_XXXXXXX;                                                     
                | XX  XXXXXXXXX\XXXXXXXXXXXXXXX`.`XXXXXXXXXXXXXX,'XXXXXXX/                                                      
                |  XX  XXXXXXXXX`_XXXXXXXXXXXXXXXXXXXXXXXXXXXX,'XXXXXXXX/                                                       
                 \  XX   XXXXXXXXX`-.XXXXXXXXXXXXXXXXXXXXXXX_'XXXXXXXX /                                                        
                  `_  XX  XXXXXXXXXXX`--_XXXXXXXXXXXXXX_---'XXXXXXXXX,'                                                         
                    \  XXX   XXXXXXXXXXXX`--_XXXX,----'XXXXXXXXXXXX /                                                           
                     `_   XXX  XXXXXXXXXXXXXX`-X`XXXXXXXXXXXXXXX _-'                                                            
                       `-_   XXXXX  XXXXXXXXXXXXXXXXXXXXXXXX  _-'                                                               
                          `-_    XXXXXXXXXX  XXXXXXXXXXX   _-'                                                                  
                             `----_       XXXXX  _--------'                                                                     
                                   `------------'