.           ..         .           .       .           .           .                         .           .           .       .           .         ..           . 
      .         .            .          .       .                                                                 .       .          .            .         .      
            .         ..xxxxxxxxxx....               .       .             .           .             .       .               ....xxxxxxxxxx..         .            
    .             MWMWMWWMWMWMWMWMWMWMWMWMW                       .                             .                       WMWMWMWMWMWMWMWMWMWWMWMWM             .    
              IIIIMWMWMWMWMWMWMWMWMWMWMWMWMWMttii:        .           .                     .           .        :iittMWMWMWMWMWMWMWMWMWMWMWMWMWMIIII              
 .      IIYVVXMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWxx...         .           .     .           .         ...xxWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMXVVYII      . 
     IWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMx..                                         ..xMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWI     
   IIWMWMWMWMWMWMWMWMWBY%ZACH%AND%OWENMWMWMWMWMWMWMWMWMWMWMWMWMx..        .             .        ..xMWMWMWMWMWMWMWMWMWMWMWMWMBY%ZACH%AND%OWENWMWMWMWMWMWMWMWMWII   
    ""MWMWMWMWMWM"""""""".  .:..   ."""""MWMWMWMWMWMWMWMWMWMWMWMWMWti.                       .itWMWMWMWMWMWMWMWMWMWMWMWMWM""""".   ..:.  .""""""""MWMWMWMWMWM""    
 .     ""   . `  .: . :. : .  . :.  .  . . .  """"MWMWMWMWMWMWMWMWMWMWMWMWMti=       =itMWMWMWMWMWMWMWMWMWMWMWMWM""""  . . .  .  .: .  . : .: . :.  ` .   ""     . 
        . .   :` . :   .  .'.' '....xxxxx...,'. '   ' ."""YWMWMWMWMWMWMWMWMWMW+     +WMWMWMWMWMWMWMWMWMWY""". '   ' .',...xxxxx....' '.'.  .   : . `:   . .        
     ; . ` .  . : . .' :  . ..XXXXXXXXXXXXXXXXXXXXx.    `     . "YWMWMWMWMWMWMW     WMWMWMWMWMWMWY" .     `    .xXXXXXXXXXXXXXXXXXXXX.. .  : '. . : .  . ` . ;     
.    .  .  .    . .   .  ..XXXXXXXXWWWWWWWWWWWWWWWWXXXX.  .     .     """""""         """""""     .     .  .XXXXWWWWWWWWWWWWWWWWXXXXXXXX..  .   . .    .  .  .    .
        ' :  : . : .  ...XXXXXWWW"   W88N88@888888WWWWWXX.   .   .       . .           . .       .   .   .XXWWWWW888888@88N88WW  "WWWXXXXX...  . : . :  : '        
   . ' .    . :   ...XXXXXXWWW"    M88N88GGGGGG888^8M "WMBX.          .   ..  :     :  ..   .          .XBMW" M88N88GGGGGG888^8M    "WWWXXXXXX...   : .    . ' .   
         :     ..XXXXXXXXWWW"     M88888WWRWWWMW8oo88M   WWMX.     .    :    .       .    :    .     .XMWW   M88888WWRWWWMW8oo88M     "WWWXXXXXXXX..     :         
           "XXXXXXXXXXXXWW"       WN8888WWWWW  W8@@@8M    BMBRX.         .  : :     : :  .         .XRBMB    WN8888WWWWW  W8@@@8M       "WWXXXXXXXXXXXX"           
  .       XXXXXXXX=MMWW":  .      W8N888WWWWWWWW88888W      XRBRXX.  .       .       .       .  .XXRBRX      W8N888WWWWWWWW88888W      .  :"WWMM=XXXXXXXX       .  
     ....  ""XXXXXMM::::. .        W8@889WWWWWM8@8N8W      . . :RRXx.    .               .    .xXRR: . .      W8@889WWWWWM8@8N8W        . .::::MMXXXXX""  ....     
         ``...'''  MMM::.:.  .      W888N89999888@8W      . . ::::"RXV    .  :       :  .    VXR":::: . .      W888N89999888@8W      .  .:.::MMM  '''...``         
 .       ..'''''      MMMm::.  .      WW888N88888WW     .  . mmMMMMMRXx                     xXRMMMMMmm .  .      WW888N88888WW     .  .::mMMM      '''''..       . 
      ..' .            ""MMmm .  .       WWWWWWW   . :. :,miMM"""  : ""`    .         .    `"" :  """MMim,: .: .    WWWWWWW      .  . mmMM""            . '..      
   .                .       ""MMMMmm . .  .  .   ._,mMMMM"""  :  ' .  :                     :  . '  :  """MMMMm,_.   .  .  . . mmMMMM""       .                .   
               .                  ""MMMMMMMMMMMMM""" .  : . '   .        .               .        .   ' . :  . """MMMMMMMMMMMMM""                  .               
          .              .     .    .                      .         .                       .         .                      .    .     .              .          
.                                         .          .         .                                   .         .          .                                         .