d8b       
                                                                   ?88       
                                                                    88b      
  88bd88b d888b8b   d888b8b    88bd88b  d888b8b    88bd88b d8888b   888  d88'
  88P'  `d8P' ?88  d8P' ?88    88P' ?8bd8P' ?88    88P'  `d8P' ?88  888bd8P' 
 d88     88b  ,88b 88b  ,88b  d88   88P88b  ,88b  d88     88b  d88 d88888b   
d88'     `?88P'`88b`?88P'`88bd88'   88b`?88P'`88bd88'     `?8888P'd88' `?88b,
                          )88                                                
                         ,88P                                                
                     `?8888P