,----..             ____            ____      ,----..                                          
  ,----..     /   /   \          ,'  , `.        ,'  , `.   /   /   \      ,---,                   .--.--.    
 /   /   \   /   .     :      ,-+-,.' _ |     ,-+-,.' _ |  /   .     :   .'  .' `\           ,--, /  /    '.  
|   :     : .   /   ;.  \  ,-+-. ;   , ||  ,-+-. ;   , || .   /   ;.  \,---.'     \        ,'_ /||  :  /`. /  
.   |  ;. /.   ;   /  ` ; ,--.'|'   |  ;| ,--.'|'   |  ;|.   ;   /  ` ;|   |  .`\  |  .--. |  | :;  |  |--`   
.   ; /--` ;   |  ; \ ; ||   |  ,', |  ':|   |  ,', |  ':;   |  ; \ ; |:   : |  '  |,'_ /| :  . ||  :  ;_     
;   | ;    |   :  | ; | '|   | /  | |  |||   | /  | |  |||   :  | ; | '|   ' '  ;  :|  ' | |  . . \  \    `.  
|   : |    .   |  ' ' ' :'   | :  | :  |,'   | :  | :  |,.   |  ' ' ' :'   | ;  .  ||  | ' |  | |  `----.   \ 
.   | '___ '   ;  \; /  |;   . |  ; |--' ;   . |  ; |--' '   ;  \; /  ||   | :  |  ':  | | :  ' ;  __ \  \  | 
'   ; : .'| \   \  ',  / |   : |  | ,    |   : |  | ,     \   \  ',  / '   : | /  ; |  ; ' |  | ' /  /`--'  / 
'   | '/  :  ;   :    /  |   : '  |/     |   : '  |/       ;   :    /  |   | '` ,/  :  | : ;  ; |'--'.     /  
|   :    /    \   \ .'   ;   | |`-'      ;   | |`-'         \   \ .'   ;   :  .'    '  :  `--'   \ `--'---'   
 \   \ .'      `---`     |   ;/          |   ;/              `---`     |   ,.'      :  ,      .-./            
  `---`                  '---'           '---'                         '---'         `--`----'