888 888                                                      
                       888 888                                                      
                       888 888                                                      
888  888  888  8888b.  888 888 88888b.   8888b.  88888b.   .d88b.  888d888 .d8888b  
888  888  888     "88b 888 888 888 "88b     "88b 888 "88b d8P  Y8b 888P"   88K      
888  888  888 .d888888 888 888 888  888 .d888888 888  888 88888888 888     "Y8888b. 
Y88b 888 d88P 888  888 888 888 888 d88P 888  888 888 d88P Y8b.     888          X88 
 "Y8888888P"  "Y888888 888 888 88888P"  "Y888888 88888P"   "Y8888  888      88888P' 
                               888               888                                
                               888               888                                
                               888               888