                                     :               :=:.=                                      
                                     -               ..                                         
                    :                                                                           
                                    .    .      .:=+**####**++-:.  .    -                       
                                    .:.    .-+#%@@@@@@@@@@@@@@@@@%#+:                           
                                         :*@@@@@@@@@@@@@@@@@@@@@@@@@@@*-                        
                .                      .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.                     
                :.        :.           %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                    
                                      -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-                  
                                     .%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                 
        .        .                  .%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                
                    .              -%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.               
                    .             :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-               
                                   -#%@%@@@%*-.*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.               
                                     :%@@@@@@@*-+#*+*@@@@@@@@@@@@@@@@@@@@@@@@#*.              =#
                                     =@@@@@@@@@@@@@@@@@@@*+*@@@@@@@@@@@%#%%#-                 %@
                                      *@@@@@@@@@@@@***+@-   .-==-..-+=-.               ..     .=
                                       %@@@@@@@@@@=   -#                                        
                                       *@@@@@@@@@#    @:                                        
                                       =@@@@@@@@@=   +*                                         
                   ::                  :@@@@@@@@@#=+=@.       ::                       ==       
                   .                    =%@@@@@@@@@@@@.       ..                       ::       
                                         *@@@@@@@@-#@=   .                                      
           .                           =@@@@@@@@@@.=@.  *%                   .                  
--                                   .#@@@@@@@@@@@+ =****.                   .                  
                                    =@@@@@@@@@@@@@#                                             
                                  :#@@@@@@@@@@@@@@@.                                            
                               .=#@@@@@@@@@@@@@@@@@-                                            
                           .-+%@@@@@@@@@@@@@@@@@@@@*            :                               
          :.           :=*%@@@@@@@@@@@@@@@@@@@@@@@@@            .                               
          .     .    =%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-                                           
               -:  .-%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                           
                   .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-                                          
                    :+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                          
         .             :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                         
                         =#@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                         
