_    *####___*########*_*###########*_*############*______*###*_*#############*_____*######*_*#############*_____*#######*_*#############*___*##########*__*#############*_*###########*___*#############*############*____*########################*_____*#######################*______*#####################*________*##################*_________*################*__________*#############*___________*##########*____________*########*_____________*######*______________*###*______________*##*