::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::-:::::::::::::–:::::::::::::-:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::.::::::::::::–::::::::::::.::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::.-::::::::::–::::::::::-.:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::.-:::::::::–:::::::::-.::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::–::::::::–::::::::–:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::–:::::::–:::::::–::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::—-:::::::::::::–::::::–::::::–:::::::::::::—-::::::::::::::::::::::
::::::::::::::::::::::::::::—-::::::::::-.:::::–:::::.-:::::::::::—::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::—-:::::::::.::::–::::.-::::::::—-:::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::—:::::::.:::–:::.:::::::—:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::—-::::.-:–:-.::::—-::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::—-::.—-.::—-:::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::—.…—:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::—————————-` `—————————-::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::—-.…—-::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::—-::.—-.::—-:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::—:::::.::–::.:::::—::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::—-:::::::.:::–:::.-::::::—-::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::—-::::::::-.::::–::::.-::::::::—-:::::::::::::::::::::::::::::
:::::::::::::::::::::::::::—-:::::::::::–:::::–:::::–:::::::::::—-:::::::::::::::::::::::::
::::::::::::::::::::::::—-:::::::::::::–::::::–::::::–:::::::::::::—-::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::–:::::::–:::::::-.::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::.-::::::::–::::::::-.:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::.-:::::::::–:::::::::-.::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::.:::::::::::–:::::::::::.:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::-.::::::::::::–::::::::::::.-:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::-:::::::::::::–:::::::::::::-:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::