.     .     .  .   .       .     .    
                ;8888888.:..            
    . .;:   ;.; t%;;X;:t8S%;     .      
   . S;SXS;%.S8t8 @:X;8888@S;t.         
 . :tSS8S8@%;;88888@t8@88t8%; . %   %;
 .:X@tS8@%8  S:8%X@@X8X8S8@8S;%X:.  .:. 
..t8S88%t%S8%S@X8 X8X.8@@8888:tt8;:.%:  
..%88t8X.SSX8X8t88@X888t88@@8@X.:.. %.
 :X%88X X8@@8%S  88XX8@@8@@8888:.:t:    
   ; @ %88@ tt.888S88%@.X@ @t S88X;:..  
   .:.:%@Xt8Xt8S;8X8@X88@8@X888;88t8.S  
  8 S8S8S8S8%@S@@tXX8888888XS8888     
       88X%8St888@S@StX8 888@.8@8S::    
 .       XX8%8888t8:88@88888X 8XX .     
 .             S8888888888XX  %%        
                      .