---                                                   
         --            -----                                              
           ----             -----             -----                       
        --   ----------------    -------------                            
          ----    --------- ---+------------ |                            
              ---     ---  ----+-----| ------+--      --                  
              -------    -----+------+-------+- -----                     
             -----------------+-----  |    --+------                      
           ---------\-----+--+--\*----+----  |                            
          \-       \ \    \ -+--/*---++--+---+-      --                   
           \\-    \-\-\----*+-\/-+X--+-+-+---+--/--------                 
 \\    ------\-----\\\-\---*+-/\-/+\+--| | -/+//-+   /                    
   \\         \ -- --\\-\-\*X/-/X\+-|  +-+-///+--| //      --             
--   \\       -\\------\\\ /\\/   \\|\--+*//--+-+-/    ----               
-------\\-\-\---\\------\\X-+/\\--+*\---**/---+|*/---/-----               
    -----\\\\\---\\\-----X*X*-\-\\-+\\/X*+---/+*+/-//------------         
     --------\\ --\\\---/-\-|\----\*//X\-*--//***\/-- -                   
        ----------\--\\/-+-\+-\\--+*XX-\\*-//-*+//\\- -----------         
           ----\\-----X\/+--\+--\X**--\\\+X\-/+//--\\\------              
         --------\\\X/--*----*-///\*----X**XX-*+------\-------            
               -- \/-X\-+\---XX/-+--*\-/--*\/X++--- \  \                  
              ----/\/\-*\-\X/*-\-|--+/X-//+*\-*+-----\--\\--              
------     ------///\-\|-XX/X\XX\+--*/-X-/*++\*\\---------\--             
      ----------//---\+\/XX\\X+\|\XX*---/\*++-+*-------\---\----          
             --//----\*/X--\X\*\*/-\--//--+\*++-*-\\--------\\            
              /     //X \ ----+/X---\/*---+-+**-+\------------\           
    --------//----///*-\-\----/|-\--**----+-+++-*-\\-----------\\--       
           /    ////|---\---//-+--XX-*\---+--++++---\---\\-------\        
          /   ////  |  ---//---+-/--\*-\--+-+++++----\--------    \       
         /  // /   ----  /\\  |//---\\*-\-+-++-++-----\-----\---   \\     
        /  /           //  \\-*-+-----+\-\\\+-+++------\\----  ------\--  
                      /    -\X--+    \| \\\\\-+++---- ---\------------\-  
                    // ----//\\       \  \\*-\\|+---------\---    -----\\ 
                   /      /   \      ----  \\\\\*--        \\            \
                               \   --  \    \\-* \\          \            
                                \       \    \\  | \          \           
                                               \                          
                                                \