..........................................................................
....................................................
                      .                     .... ..              ....
                     ..  .... .. ..........
                     .. ..............................
                                       .  ......
                     .. ...................              .. ...
                                      ....
                             .....                 .
                                                  ....
............... ...                   ...........
.............. .......
...........................
......................................                      .....
...                    .. .....                      ...............
....."..""3333,.3,,**.%%%%%%%%******..DDDDD
%%%111.&&                    ,,,,,,.
...                    .. ...33.++.+..,,,FF.F.##
...DD66D6&&.DDDXXX
...DD..D...11.333.%%..6.66....******,,,,,???.,,???##.#99(((.///.
 . ......!!.                        .""""""##"""........
....0.00.33.                 ]]XXXXXX.........????88?8&&&&&,,., DD???333
...,,??,?%%333DDD ,,.  333DDDDDA%AA%%..                    XX X..??
...**33*3((###
%%%%%%...,,.333333,,                .333
///??.???###)).).++.&#&&##DDDD..D!!!::.,..,,.KK$$$
.....##.###.??????%%666+++...???333.((                      .....
               .....                                      .
... .....  DDD%%%
%%%(((KKK...&..&&%%66%%6%.                  22"",,",..((
.....%%%.              %. %%%%::*.:**.*****.???
...XX''X'##.... .###...***DDD...&&&..........33333!!!.
.....?..????.?.??. )). .  ....%%%%%%%%.%%DD%D  ,,,???%%%
,,,  .               33 333.!!!.(((
DDD...333XXXXXX!!!!!3/33//........&&..6%66%%DD880080DD.##**#*.."""$$$..
....                    ..
:::                  .. ..(())#.)##!!''  '               !! !.!!   .""".
DDD&&.&##%%%333&&&.
111....%%###...%%%.                 .....%%%.
))),,.,.((<<:.<::9922 .2                    .....
....?.??*****DDDDDD.. ...
.....00.0??DDDJJJXXX###%..%%((.6.66#####&1&&11.                    &&&.
.....".."".00000.
....                   FF F.%%.......##. &&.&&& ...
...............???.
...                    .. .$$........                ###
DDD00.0.."""333!!!,,.  .                    **
.........&&.%%++%+!!.$$JJ$J//---DDD.JJ..606600%%%%%.
   %%%33333.///.  .-- .-  .$$:::
   .....((!!99!9              .  000AA!(!!((.@@),)),,,,
...$$&&$&##.33&&3&.%%$$..$..&&66TT6T??###.
###%..%%.                  ......,,,  3+33++.00.KKKDDD.......$$.""&&"&..
$$$                   .                   %%%                  .......&&
                  &&&?..????                  .D DD  --.
###000000XXX6 .66                   .......''(((---
XXX66.688<<<???.%%%%%666;;;                 ... ..333
...00,,0,........ .
.....TT.T**.  66 666...??.?!!.33%.3%%##??##?#..::.***.?????.....
...((#.(##55""(("(??!!!(..((..      .**..66.6.&&       .%%
,,,(((   .::::::.                   .55//5/$$%%%...@@@00 .<<<
                %%333333.
,,,DD.DDD.((((((((::::::.&&&&&***
666666000((.......(((6((66;;33((3(!!.66$$6$00$$$,,.,00000.   .
   .  ###...!!!&&&77? ??                    .##.....**.666666.33DDD.,,,
...!!!555
JJJ;;;000,,,******
!!!....**33366.6.%%%%::%:::333000000,,,,,,
                                      ).)))))...
666DDD  .&&(.((111DDD.DD...333*33****.?.??DDDDD..
???!!!               // /..                 !!.D&DD&&  .D.DD!!!
...........
###***.KK(((......(((9..99####!.#!!.....
.....D..DD................................................................
........               .. ......
....................................................
..................
..................                    ............... ....
.....
                     ..                     ...................   ...
..............                 ....................
....                    .                     .......
...                    .. .......................