                                              .
                                  .          :    ___
                     ` ___  :._    \.         \\   ) )   .
                         \\  .)`\   )\  \ \  ./') /  ;    ;
                          )`/    `\/ (''('('/   '`   (.__/\
                .       /'' dMb      "  " "      ,mMm     /
                   .   (   d;::`bmd""""""""""""bd':::`. ('    .
                     .  \ {::::;                  .;;;)  )   .
       .          ./:    } `;;'   .:::.    .::::.  ;.;'  {  .   \.      .
        `.       //  \\ {' d''   ::(*):    :(*)::    \.  `}//    \\      ;
           )\ . (e`\ /'; \ |     :::::'    `:::::     | ./'{    /' )   /(
     `    / /' ; \th(.{  } |     `::;'______`:::'     | {   \^/'  / /^'\ \ ,
       ; ( (  (|  `)\ \`\' |      `"  :_  _;  "'      |  `  /'   { / (  ( (  ;
      /|  `.`\ \`\|  `\) ` `b           ||           d'    '      \`\ \`.\  \.
     ( `\.  \ `\)    .     md$n     `-_+'`+_-'     d$b.      '     (/' /  ./' )
      \.  `\ |  ;  .   ...;;;;;;`  m   `=='     m  '   ;;;..      .   | /'  ./
      ` \.  `'      .;;;;;:::;:::;::::.......;::::::::::::;;;.        ''  ./ .
       ;  \   `.   .::;::::;:''    """"""""""""""""   `:::;:::'.         /  ;
      ( \/'       /:::::;:::'           . .            `:::;:;::\    :   `\/ )
   :   \   .     /;:::;::::'    mm.     | :     .mm:    `::;:;:;:;        . /
    .  .'.     /;;:::Mmmm;;;;;/'::|    || ::    |:: \_:::::mmm:::";\  .   b`. .
    /\ ;n     |::::::::;:`"""::;:/    ||| :::    \::::'"""'::;:;;:;:|     ea; /
   {  `'i     |::;::::;::::;:;::{    ||\\ //::    };;::;:::;:;;::;::|   ' `t'',
 ./  . m'      `::::;::::;::::;:;\  |\\\\ ////:  /::::;:::;::::::::;`     ;sc(
  }   b.    .   """mm:::::::::::\_} .. \\ // .. {_::::::::::::mm"""   . .  `ri)
 / .:/ us..   .'  .  """"mmmmPQ._:) `::.. ..:;' (-:::QPmmmm"""   .: .  .  ; `be
                                 `'   `:: ::'    `"
 QM$Mb .d$b. .d$b.   .d$b. .d$b. $$$$$ $\ /$ $: $$ .d$b. $$$$$ $$$$$ $$$b.  d$P
 |: d$ $: $$ $b."P   $: $$ $: ""  [$:   [$:  Q$:$P $: $$  [$:  $P..  $: Q$ .$$;
  Pb"' $: $$ `""b.   $$22$ $: mm  [$:   [$:   Q$P  $$$$$  [$:  $b""  $: d$ `$:
  |$b  `Q$P' `MpM;   $: $$ `Q$P'  [$:  $$$$$  `$'  $: $$  [$:  $$ETH $$$$' mm
