____       ___     _    _    __   __   _    _   
 |  _ \\    / _ \\  | || | ||  \ \\/ // | || | || 
 | |_| ||  | / \ || | || | ||   \ ` //  | || | || 
 | .  //   | \_/ || | \\_/ ||    | ||   | \\_/ || 
 |_|\_\\    \___//   \____//     |_||    \____//  
 `-` --`    `---`     `---`      `-`'     `---`