          a8888b.       
         d888888b.      
         8P"YP"Y88      
         8|o||o|88      
         8'    .88      
         8`._.' Y8.     
        d/      `8b.    
      .dP   .     Y8b.  
     d8:'   "   `::88b. 
    d8"           `Y88b 
   :8P     '       :888 
    8a.    :      _a88P 
  ._/"Yaa_ :    .| 88P| 
 \    YP"      `| 8P  `.
 /     \._____.d|    .' 
  `--..__)888888P`._.'  