OO000kxOdo;;:...                                                                
kKXXX0kOOkxdolc;                                                                
xkKXXXK0K0kkxxo,.                                                               
NNNNXNK0KKOOkxc'                                                                
NNXXXKxk00Okkxl;.                                                               
NNXKKXkdOlxkkooc;'..............                                                
0XNXKXOcOkOoc:lxoolc;'...........................                               
0XXNNNKK0KOxxkkxl;;'''................''..'..........                     ......
kO0KXN0KO0kkxxoc;'''.''',.''.',:cc;,;:cc:;,''''',,.......      ...........'',,;:
000k0XO0Ok:;;;:,,;,,,'';;;::;;oddllloooooc;,,,::;:;,,;'... ......''.........'',,
kkOdxNkdkdc,,,;:::::;coooccc:clddllccclc:;;;;,:;;,,'''......................''''
KKOO0KOddkdc;:cccc:clxdolc:::::;;:;;;;;,,,,,,,c,'''','........',,,,,,;;;;;,,,,;;
K0KOkXK0kOOkkkddl:;;;:::;:c::;',,,,;;,,,,;;;,:c;,,,,,,,,,,,,;::::;;:::;::cccc::c
0OOkoddddoxdloooooooc'   ...,clcc:;,,',',',;,c;'''',,;:;;,,;;;;,,;;;::cc:::ccllc
OKKXdlodlclolxkxdddxx:   .   .';odoc;;,,:,,',c,,,'',,';;;;;:::c::ccclllcllllloll
kKXKkxoolcxxc:Odoxdo,.   x. .k..'odolc:;:;;:;l;,,,;::;:;:ccccccc::ccclollodododo
XOOX00XXdokkdd0xoxdl';kd.x. .klc';oOkdool::lodlcc:cc:;;;::ccclllodddoollodoldxdo
N00XN0KX0O00kk00kO0xdddxloolokxklldxxxxkd:cdxkxc;;;;,:;',:;;;;olllldxddooollooox
WK0KNO0XxxOOxx0O0K0l;,XO'kOOO0OO:;o0lxOOxdxkdk0K0kxclkodllc:ooodOkddklddoxkkkxO0
NK0KNKKX00KK00K0KOOdOOOOOOkkOkkkdodkdxOK0KOOOOOXkkxdO0KOdoxdxddOOk00OOxkO00KNKXN
WK0XNX0XKXNNXKKkddO;,;0k,xl;;;dkOOOOddk0000O0O0NNNNXXNK0kxkkkOK0OO00XX0kOXNNWXNN
WN0XWNNNNNXK0OKOooO:,;Ox.d:...dk,,xKkld0koxxkkOWXKXXXKK00K0KXXXKOxO00KWKXXNXXNXX
MXXWWWWWKKX0xoOOlo0lclOOoxxoodxkxdxkOOO0koxxkOKXdxk0K0KXNNNNNNXNXK0KKXNNWXNNNXXX
MNWMWWWNXXKOo,....;...:;.,'...ld'.'';:d0kddkKXN0kk0XNNNNWNXXXNNNKX0K0OOOOOOO0Oxk
WWWWWWWNX0dlcc:;;;::;;,,,,,;;;::co;;:ldkkkk0NWWWWWWNWWWWNNNNNXNXXNXNNkxoddddxxxx
WNXXNNNX0Odcc::::;;::::::::odxdkN00xlllloddxkOO00OOO0KXXNNWWWNKKXWNWWN0OKK0kdddd
WWWWNNKOocc:::::;;;;;;;:::;kkO0KXXXkc::c:ccclcllllllooddk0XXNXK0KXXXXKXXNNNKkddo
WWNNXKKOdc:;;,,;,,,,;,,;;::kO0NWOc:;;;;;;:::::::c::cclodO0OxkO0kxkkxdddddxxxxodo
NNNNNX0dc:;,'',,,',,,;:::cloodOWo;;,',;,',,;;;::::::cclclodooodkOkOOOxxdoxddddxd
NXXXNKdlc:,,,,,,,,,;;;:;::clllodc;;,'',,,',;;::::::::ccc::ccclokOkOOxxxoodoooddd
