db    db db    db db      d8b   db db    db .88b  d88.                                                                                                                                         
88    88 88    88 88      888o  88 88    88 88'YbdP`88                                                                                                                                         
Y8    8P 88    88 88      88V8o 88 Y8    8P 88  88  88                                                                                                                                         
`8b  d8' 88    88 88      88 V8o88 `8b  d8' 88  88  88                                                                                                                                         
 `8bd8'  88b  d88 88booo. 88  V888  `8bd8'  88  88  88                                                                                                                                         
   YP    ~Y8888P' Y88888P VP   V8P    YP    YP  YP  YP                                                                                                                                         
                                                                                                                                                                                               
                                                                                                                                                                                               
d8888b. db    db      .88b  d88. d8888b.  .o88b. d88888b d8888b. d888888b d888888b d88888b d888888b d88888b d8888b.                                                                            
88  `8D `8b  d8'      88'YbdP`88 88  `8D d8P  Y8 88'     88  `8D `~~88~~'   `88'   88'       `88'   88'     88  `8D                                                                            
88oooY'  `8bd8'       88  88  88 88oobY' 8P      88ooooo 88oobY'    88       88    88ooo      88    88ooooo 88   88                                                                            
88~~~b.    88         88  88  88 88`8b   8b      88~~~~~ 88`8b      88       88    88~~~      88    88~~~~~ 88   88                                                                            
88   8D    88         88  88  88 88 `88. Y8b  d8 88.     88 `88.    88      .88.   88        .88.   88.     88  .8D                                                                            
Y8888P'    YP         YP  YP  YP 88   YD  `Y88P' Y88888P 88   YD    YP    Y888888P YP      Y888888P Y88888P Y8888D'                                                                            
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
.d8888.  .o88b.  .d8b.  d8b   db      .88b  d88. d88888b         d88888b db    db d88888D d88888D      .88b  d88. d88888b         db       .d88b.  db    db d88888b      .88b  d88. d88888b db 
88'  YP d8P  Y8 d8' `8b 888o  88      88'YbdP`88 88'             88'     88    88 YP  d8' YP  d8'      88'YbdP`88 88'             88      .8P  Y8. 88    88 88'          88'YbdP`88 88'     88 
`8bo.   8P      88ooo88 88V8o 88      88  88  88 88ooooo         88ooo   88    88    d8'     d8'       88  88  88 88ooooo         88      88    88 Y8    8P 88ooooo      88  88  88 88ooooo YP 
  `Y8b. 8b      88~~~88 88 V8o88      88  88  88 88~~~~~         88~~~   88    88   d8'     d8'        88  88  88 88~~~~~         88      88    88 `8b  d8' 88~~~~~      88  88  88 88~~~~~    
db   8D Y8b  d8 88   88 88  V888      88  88  88 88.     db      88      88b  d88  d8' db  d8' db      88  88  88 88.     db      88booo. `8b  d8'  `8bd8'  88.          88  88  88 88.     db 
`8888Y'  `Y88P' YP   YP VP   V8P      YP  YP  YP Y88888P V8      YP      ~Y8888P' d88888P d88888P      YP  YP  YP Y88888P V8      Y88888P  `Y88P'     YP    Y88888P      YP  YP  YP Y88888P YP 
                                                          P                                                                P                                                                   
                                                                                                                                                                                               
db   db  .d8b.   .o88b. db   dD      .88b  d88. d88888b db                                                                                                                                     
88   88 d8' `8b d8P  Y8 88 ,8P'      88'YbdP`88 88'     88                                                                                                                                     
88ooo88 88ooo88 8P      88,8P        88  88  88 88ooooo YP                                                                                                                                     
88~~~88 88~~~88 8b      88`8b        88  88  88 88~~~~~                                                                                                                                        
88   88 88   88 Y8b  d8 88 `88.      88  88  88 88.     db                                                                                                                                     
YP   YP YP   YP  `Y88P' YP   YD      YP  YP  YP Y88888P YP