__ __ _              _                        _       __ __
   / // /| | _   _  ____(_)  ___     _ __    ___ | |_    / // /
  / // / | || | | ||_  /| | / _ \   | '_ \  / _ \| __|  / // /
 / // /  | || |_| | / / | || (_) |_ | | | ||  __/| |_  / // /
/_//_/   |_| \__, |/___||_| \___/(_)|_| |_| \___| \__|/_//_/
             |___/
             _  _                     ____    __                     _    _  _
   ___  | |(_)__   __ ___  _ __  / __ \  / _|  ___   _ __  _ __ | |_ (_)| |_ __   __ __ _  _   _     ___   ___
  / _ \ | || |\ \ / // _ \| '__|/ / _` || |_  / _ \ | '__|| '__|| __|| || __|\ \ / // _` || | | |   / __| / _ \
 | (_) || || | \ V /|  __/| |  | | (_| ||  _|| (_) || |   | |   | |_ | || |_  \ V /| (_| || |_| | _ \__ \|  __/
  \___/ |_||_|  \_/  \___||_|   \ \__,_||_|   \___/ |_|   |_|    \__||_| \__|  \_/  \__,_| \__,_|(_)|___/ \___|
                                     \____/
   ___  _____  ___  ____  _____  __    _  _   ____   _____ _____
  / _ \|___  |/ _ \|___ \|___  |/ /_  | || | |___ \ |___ /|___  |
 | | | |  / /| | | | __) |  / /| '_ \ | || |_  __) |  |_ \   / /
 | |_| | / / | |_| |/ __/  / / | (_) ||__   _|/ __/  ___) | / /
  \___/ /_/   \___/|_____|/_/   \___/    |_| |_____||____/ /_/