xXxx+;+;++++xxxxxXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+XXXxXxxx++xXxXXXXXxx+++;++;;;;;;+xxXxx+xxxXxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xxXXXXX
XxXx+;;++++++xxxxXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxXxxXx+++xxxXxxXXXxx++++;;;:::;;;xxx++++;;++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXX
XXXx+;;++++++xxxXXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++xxX++xxxx++;+;;;;:::;+XXXX++::;+x++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXX
XXXx+++++++++xxxXXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxXxxXXx++++Xxx+++;;;;;:::;xXXX+++;;+xx++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXX
XXXx++++++++xxxxXXXXXX+++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxx++xXX+++xXXx++++;;;;:::;+xxx++x+xXx++;+++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXX
XXXx++++++++xxxxXXXXXX++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++++++;+XXXXXXXXx+++++++;;:::;;++;;++++++;;++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+xxXXXXX
XXXx++++++++xxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxXXXXx++++xXXXxxXXXXXx+xxxxx+;;::::::;++++++;;+;+++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++xXXXXX
XXX+++++++++xxxxXXXXXxx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXXXxxxx+xXXXXxx++;+x+++x+;;;;+++++;;;;;+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++xXXXXX
XXX+++++++++xxxxXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+++xXXXXx++++++xXXXXxx++;++;;;+++++++++;;;;;;;+;+++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xxXXXXX
XXX+++++++++xxxxXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx;++XXx++++xxxXXXXXXx+++;;;;;++++++;;;;;;;;;;;+;+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXX
XXX+++++++++xxxxXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+;+XXx++xXXXXXXXXXxx++++;;;;+++;;;;;;;;;;;+;++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXX
XXx+++++++++xxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXXXXXXXXXxx++++++;;++;;;;;;;;;;;;+++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
XXx++++++++xxxxXXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+++++++++;;;;;;;;;;;+;++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
XXx++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx++x++xx++;;;;;;;;;;+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXX
XXx++++++++xxxxXXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+x+x+x++x+;;;;;;;;;+xXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+xxXXXXXX
XXx++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+x+++xx+;;;;;;;;++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXX
XX+++++++++xxxxXXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++x+x+x+;;;;;;;;++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
XX+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++x++xx+;;;;++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
Xx+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX++x+x+x++;;+;+xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
Xx+;+++++++xxxxXXXXXXx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++x+xx++;;;+xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXX
Xx++;++++++xxxxXXXXXxx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxXXXXXXXXXXXXxxXx+:::;: :::::.::. .:;xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX++xXXXXXXX
Xx+++++++++xxxxXXXXXxx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+++++++;;;;;;;:::::::...... ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx++xXXXXXXX
Xx++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+;. .xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+++XXXXXXX
Xx++++++++xxxxxXXXXXxx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+. +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxx+++xXXXXXXXX
Xx++++++++xxxxxXXXXXxx+++++xXXXXXXXXXXXXxxxxxXXXXXXXXXXXXXXXXXXXX :xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxx+++++XXXXXXXXXXX
Xx++++++++xxxxxXXXXXxx+++++xXXXXXXXXXXXXXx++++++++xxxxxXXXXXXXXX: ++xxXXXXXXXXXXXXXXXXXxxxXxxxxxxxxxx+++++++++++XXXXXXXXXXXX
Xx++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXx+++;+;++++++++++xx; .+xxxxXXXXXXXXXXXXXXXXXxxx+++++++++++++++++xxXXXXXXXXXXXXXXX
Xx++++++++xxxxxXXXXXxx+++++XXXXXXXXXXXXXXXXXXXXXXXxx++++;++++xx xXXXXXXXXXXXXXXXXXXXXXXXXXXXx++++++++xxXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: xxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxxXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+ xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXXxXXXXXXXXXXXX +xxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxXXXXXXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxXXXXXXx++++++XXXXXXXXXXXXXXXXXXXXx+xXXXXXXXXXX; +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+xXXXXXXXXXXXXXXXXXXXXXXXXXX
X+++++++++xxxxXXXXXXx+++++xXXXXXXXXXXXXXXXXXXXXX+xXXXXXXXXX+ ;xxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXX
x+++++++++xxxxXXXXXXx+++++xXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXX: ;++xxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXX
X+;+++++++xxxxXXXXXX++++++++xXXXXXXXXXXXXXXXXXXXxxXXXXXXXx; :.;;;+++++++xxxxxXXXXXXXXXXXXXXXXXXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXX
x+;++++++xxxxxXXXXXXx++++++XxxXXXXXXXXXXXXXXxxxXxxXXXXX++; ;:x++;;;;++++++++++++++++++++++++++++xxxxXXXXXXXXXXXXXXXXXXXXXXXXXx
x++++++++xxxxxXXXXXx+++++++XXXXXXXXXXXXxx++++++xXxXXXXx++: :+xxxx++;;;;;;;;;;+++++++++++++++;++++XxxXXXXXx+++xxXXXXXXXXXXXxx++
x+;++++++xxxxxXXXXXx++++++xXXXXXXXXXXx++++++XXXXXxXXXXXx+ .:;;++xxx++;;;;;;;;+;++++++++++++xXXXXXxxXXXXXxxxx++xXXXXXXXXXXXx+x
x++++++++xxxxxXXXXXx++++++xXXXXXXXXx+++++xXXxxxxxXXXXXXx: :;;++xxXXx+xxx+++xxxxxxXXXXXXXXxxXXXXXXXXXXXxXXx+++xxXXXXXXXXXXX
x++++++++xxxxxXXXXXx++++++xxxxxx+++++xXXXXXXxxXXXXxx+++; . .;;;++xXXXXXXXXXXXXXXXXXXXXXXXXXXx++++xXXXXxxXx+XXxx+xxxXXXXXXX
x++++++++++xxxXXXXXxx++++++++++++++xXXXXXXXXXXXx++;;;;; . :;;;++++xxXXXXXXXXXXXXXXXXXXXXXxxx++++++xXXXx++XXXXXx+++xXXXXX
+++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXx++++xxXX+ . ;;;+xxXxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxx++xXXXXXXXXXXXXXxx
+++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXX: . ::;+xxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx+++
+++++++++xxxxxXXXXXx++++++xXXXXXXXXXXXXXXXXXXXXXXXXXXX .:::: :;++++++xxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx
++++++++xxxxxxXXXXXx+++++xXXXXXXXXXXXXXXXXXXXXXXXXXXXXx;:;xxxxxxxxx++; .:::;;;;;++++++++++xxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
++++++++xxxxxxXXXXX+xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxx++++;;;::. ...::::::::;;;;;;;+++++++++xxxXXXXXXXXXXXXXXXXXXXXXXXXX
++++++++xxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXx+XXXXXXxxx+++;;;;;:::::... ;+;;;:::::::::::::::::;;;;;;++++++++xxxxXXXXXXXXXXXXXXX
++++++++xxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+++++;;;;;;:::::::... :+xxxxxxxxx++++;;;:::::::::::::::;;;;;;;;+++++xxxXXXXXXX
++;++xXXXXXXXXXXXXXXXXXXXXXXXXXXxx++++;;;:::::::::::.:..... . ...... ..;+;. :++++++xxxxxxxxxxXxxxx++++;;;::::.:::::::;;;;;+++++++++x
++xXXXXXXXXXXXXXXXXXXXXXxxx+++;;;;;;::::::::..:...........:::;;;++++;: .;;+xxxx++++;;;;:. .::::::;;;;;;++++++x+xxxxxxxxxXxx+++;;;:::::::::::;;;;;+
XXXXXXXXXXXXXXXXxx+++;;;;;::::::::::::.:.......::::;;;+++++++++++;:. .;+++++xxxx++++++;;::. .. .++xxx+++++;;;;;:::;;;;;;+++++++xxxxxxxxxxxxxx+++;;;:::::::
XXXXXXXXxx++++;;;;;:::::::::..:.:...:::::;;;;+++++++++++;;;:::::.. ;;;+++++++++++++++++;;;;:::::::::::;: .::;;;;++++++xxxxxxx+++;;;;:::;;;;;+++++++++xxxxxxXXXXxx+++;
XXx+++;;;;;:::::::.:........::::;;;+++++++++++;;;;:::::......::::.. .:+++++++++++++++++++;;;;;::::++++;::;;: :;;;;;;;;:::::;;;;;+++++xxxxxxx+++;;;;;::;;;;;;+++++++xxxxxxX
;;;;;::::::::.......:::::;;+++xx+++++;;;::::.......:::;;;++++++;; ;:. . :::;+++++++++++++++++;;;;;;:::.:++;. ...;;;;;;;;;;;;;+++;;;;;;:::::;;;;;++++xxxxxx+++;;::::::;;;;++++++
::::::.......::::;;;++++x++++;;;:::::.....::::;;+++++++;;;;::::. :;;;;:::. :;;;;;+++++x+x++++++++;++;;;::::;;:. ++++++xxx++++;;;;;;;;;;+++++;;;;;::::;;;;+++++xxx+++;;;::::::;;
..:::::::;;+++++++++++;;;::::......:::;;+++++;;;;;::::::........ :+++;;:.:;+;++++++x+++++++++++++++;;;;;;+++;;;: ;+xxxxxxx+++++++xx+xx++++;;;;;;;;;+++++;;;::::::;;;+++++x+++++;;
::;;;++++++++;;;::::......::::;;;+++++;;;::::..::.::::..:........ . .:;:.::;+++++++++++++++++++++++;;;;;;;;;;;;;+;:::::;;;;;++++xxxxxxxx++++++++++x++++;;;;;;;;;;;;;;;:::::::;;;++++
++++++;;;:::::.....::;;;+++++;;;;:::::.::::::...:....:::::::::::: .;;;++++++++++++++++++++++++;;;:::::::::.::::::::::::::;;;;;;;++++xxxxxxxx++++++x+x+++++;;;;;;;;+;;;;::::::
;;:::::....:::;;++++++;;;:::::.:.:::::.....:::::::::;;;;+++++x++: :+++++++++++++++++++++++++;;;::. .:::::::::::::::::;:;:;;;;;;;;+++xxxXxxxxx++++++++++;;;;;:;;;;;;;
:...:::;;++++++;;;:::.:.:::::.......:::;;;;;;+;;+++xxxx+++;;;::::.. .;;;+++;;+++++++++++++++;+;;;;:::...:;;;;;;:...:.:::::::::::::::::::::::::;;;;;;;;;;;++++x+xx++++++++++++++;;;:
:::;++++;;;::::..:::.:......:::::;;;++++++xxxx+++;;;:::::::.:.:.... .;++++++;;;;;;;;;;;;;;;;;;;;::::.::::;;:::.....:.::::::::::::::::::::::::::::::::::;::;;;;::;;;;;++++x++++++++++
:::.:::::.:::.........:::::;;;+++xxxx+++;;;::::..:...:............. ::;++++++++++;;;:::::::;;;;;;;;:::::::::::::.. ..::::::::::::::::::::::::::::::::::::::::::::;:;:;:;:;;;;++++x++
..............::::::;;;+++xxx+++;;::::::::.................... . :++++++++++++;;;::...:::::::::::;;;;;;;;:::::. .::::::::::::::::::::::::::::::::::::::::::::::::::::;:;;:;:;;;;;;
. ..:::::::;;+++xx+++;;;:::::::.:............ ..... :+++++++++++;;;;:::.......:::::::;;;;;;;;;::::..:+Xxxxx++++;;;;;::::::::::::::::::::::::::::::::::::::::::;:::;:;;
......:::;++++++;;;::::.:..:................ . .:;++++++++++++;;;;:::.. ...::::;;;;;;:::.. :;+xXXXXXXXXXXXXXxxx++++;;;;:::::::::::::::::::::::::::::::::::::::
...::.::::::::.:................... . . ..::;;;. ;++x+++++++++++++++;;;;;::... ....:::... :::;;;;;;++++xxXXXXXXXXXXXXXxx++++;;;;;:::::::::::::::::::::::::
............................. . ...::;;;++xxxXXxx;: ;;;+x+++++++++++++;;;;;:::.. :+xxxx++++++;;;;;;;;++++xxXXXXXXXXXXXXxx+++;;;;;;;;;:;:::::::::::::
......... . . ....::;;++xxXXXXXxx+++;;;;:: ;+++xxx++++++++++++++;;;;::. :;++++xxxXXXXXXXxx++++;;;;;;;;+++xxXXXXXXXXXXXXXxxx++++;;;;;;:;::::
. . ...::;;+++xxxXXXxx+++;;;;:::::;;;;+++ :++x++++++++++++++++++++;;::. .;+++;;;;;:;;;;;+++xxxXXXXXXXxx++++;;;;;;++++xXXXXXXXXXXXXXxx++++;;;;
.. . ..:::;;++xxXXXxxxx++;;;;::::::;;;+++xxxx+++;;. .;++x+++++++++++++++++++;;;;:. ..:::;;;;++++xx+++++;;;;::;;;;+++xxxXXXXXXxx+++;;;;;;;+++xXXXXXXXXXXXXXXx
.. ..::;;++xXXXXXxx+++;;;:::::::;;++++xxx+++;;;;::::::;;; ;++x+++++++++++++++++++;;;;:. :;+xxxxx++++;;;;;;::::;;;;++++xxx++++;;;;;;;;;;+++xxXXXXXXxx+++;;;;;;+++xxXXXXXX
. .:;++xxXXXXXxx++;;;:::::;;;+++xxx+++++;;:::::::;;;++++++;;;:. ;+xx++++++++++++++++++;;;:::. ...::;;;;;+++++xx+xxxxxxx++++;;;;;:;;;;;++++xxxx+++;;;;;;;;;+++xxxXXXXXxx+++;;;;;+++
.. ..::::+xXxx++;;;::::::;;+++xxx+++;;;::..::::;;;++++;;;;;:::::::;+XXXXXXXXxx+++++++++++++++++;::. . .: ......:::::;;;++++xxxxxXXxxx++++;;;;;;;;;;++++xxxx++++;;;;;;;++++xxXXXXXxx+++
.. .::::::::::::::::;;;+++xx+++;;;:::::::;;;;;++;;;;:::::::::;;;+++++xXXX$$X$$$$XXXxx+++++++++++++;;;:. . .... ....:::::;;;;+++xxxxxXXXxxx+++;;;;;;;;;;++++xxxx+++;;;;;;;+++xxXX
.................::::++x++++;;::::::::;;+++++;;;::.::::::;;;++++++++++;;;;XXXX$X$$$$$$$$X$XXx+++++++++++;;;:.. . . ... ....::::;;;;++++xxxXXXXxx+++;;;;;;;;;;+++xxxxx+++;;;;;
.......... ...::::::::::::::::::;;;+++;;;;:::::::::;;;++++++++;;;;;;;;++;::xXX$X$$$$$$$$$$$X$$XXXx++++++++;;::. .. . ..:.... ....::::;;;++++xxxxXXXxxx+++;;;;;;;;+++xxxxx
............:::.........::;++++;;;:::::::::;;++++++++;;;:::::::;;+++x++xx;+XXX$$$$$$X$$X$$$$X$$$XXXx++++;;::....... . . ..::;::::::::::..... ...::::::;;++++xxxXXXXxxx+++;;;;;;;
........... ....:::::::::::::::;;;+++++++++++++;::::;:;;+xx++xxXXXXXXXXXXXXX$X$$$$$$$$$$$$$X$$XXXx+++;;:.....:.... .::;+;::;:::::::::::::::::... ..:::::;;;++++xxxxXXXxxx++
... . ............::::;;+++++++++++;+;;;++++++++xxXXXXXXXXXXXXXXXXXXXXXXX$$X$$$$$$$X$$$$$$XX+ :;;:::.:::::::;+x+++;+;;:::::::.:. ..:::....::::.... ...:::::;;;++++xxxx
........ .......::::::::;;;;:;;;;+++xxxxXXXXxxxxxxx+xXXXXXXXXXXXXXXXXXXXXXXXX$$$X$$X$$$$X$$Xx :. :+XXXx++++;;+;::. .:::;;::... :::....:::::.::::::::... ..:::::;;;
............. .::::::::.:......:;;+++xxXXXXXXXXXXXXXxxxx++xxXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$X: .++++;;;;;+:. :;;;;;;;;;;;. ::....:::::.::::::::::::::.... ..
.................... . .:;;++xxxXXXXXXXXXXXXXxxxx+++++++++xxxxxXxxxxxxxXXXXXXXXXX$$$$$X$X+ ;+;;;;;;;; :;;;;;:;;;;;;::... ..::::...::......::::::::::::...
.......... . :;+xxxXXXXXXXXXx+++;;: .::::;::::;++++xXX$$$X$$$x: ... ;++;;;;;;;:;+;:. ::;;::::.. .::::. .......:......:::::::::::::::..
. :;++xxXXXXXxxx+: . :;+xXX+ ;++++;;;+;:: .:::;:;:.. ... ....:.. ..:::::::::.. ..:::::::
;++xxXXXXXxx+: .:. ;++++;: :::;;;:. . ..::::...... .:;:
;;++xxxxXxx+: ::::.. ::;;;:.... . .....::.. .:
.;++xxxxxx+; :::::. ;++: . ..:... .: . .. . .
:;+++xxx+: .XXXXXXXx+:. . ::: :+++;: :::.. ... ..:...
.;++xx++; ;XXXXXXXXXXXXX+;:. . ::;++++ .:::.... . . :::..
:;++xx+: xXXXXXXXXXXXXXXXXX+;: :;:: ........ . . ..:;;:.
:+xx; .XXXXXXXXXXXXXXXXXXXX+: .. . .. .. ....::;;:.
.;+xx. ;XXXXXXXXXXXXXXXXXXx++: ;; . ..
:+++ +XXXXXXXXXXXXXXXXXx+x+ :xx+ ... ... .
:++; xXXXXXXXXXXXXXXXX++++: ;XX; ..... . .. ..
:+: ;XXXXXXXXXXXXXXXX+;++; +Xx: .:... . .
:;. :XXXXXXXXXXXXXXXx++XX+. :XX+. ::::. . .
+XXXXXXXXXXXXXXxxXXXx: +Xx; .::: ..
;XXXXXXXXXXXXXXxxXXXx: :xXx; .. .:;: ..
. :XXXXXXXXXXXXXXXXXXXx: +XX+: . ::. .:.
.:::. +XXXXXXXXXXXXXXXXXXX; :XXX+ .::. :.
... ..:. +XXXXXXXXXXXXXXXXXXX+ .+XXx; ::. ::
..::...:: +XXXXXXXXXXXXXXXXXXX+. +XXXx. :. ::
.:::..:: ;XXXXXXXXXXXXXXXxxXX+. :XXXx; .. ::
...:::.::. ;XXXXXXXXXXXXxx++xXXx: xXXX+: .. .:
..::. .:. ;XXXXXXXXXXXxx++xXXXX: +XXXx+ .. .:
:;:.. ;XXXXXXXXXxx+++xXXXXx: :XXXXx: .. .:
.... ;XXXXXXXXxx+++xXXXXX+. +XXXx+ . :
.. ;XXXXXXXxx++++XXXXXX;. ;XXXxx; :
. ;XXXXXXXxx+++xXXXXXx;. .xXXxx+ .
. +XXXXXXxx+++xXXX$XX+;: ;XXxxx: . _________ ________ _______ ___ ___ ________ ________ ________
|\___ ___\\ __ \|\ ___ \ |\ \ / /|\ ____\|\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ __/| \ \ \/ / | \ \___|\ \ \|\ \ \ \\ \ \
\ \ \ \ \ _ _\ \ \_|/__ \ \ / / \ \_____ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \\ \\ \ \_|\ \ \/ / / \|____|\ \ \ \\\ \ \ \\ \ \
\ \__\ \ \__\\ _\\ \_______\__/ / / ____\_\ \ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\___/ / |\_________\|_______|\|__| \|__|
\|___|/ \|_________| _________ ________ _______ ________
|\___ ___\\ ____\|\ ___ \ |\ ___ \
\|___ \ \_\ \ \___|\ \ __/|\ \ \\ \ \
\ \ \ \ \_____ \ \ \_|/_\ \ \\ \ \
\ \ \ \|____|\ \ \ \_|\ \ \ \\ \ \
\ \__\ ____\_\ \ \_______\ \__\\ \__\
\|__| |\_________\|_______|\|__| \|__|
\|_________|1
2
3
4
5
6
7
curr. software engineer @ visa, tech lead @ auec and designing/developing a website for the lovevisuals photography brand
spending most of my time building things that will hopefully make me rich enough to one day buy my life back; obsessed with productivity, systems and tracking anything that I can get my hands on
// prev. patty flipper @ mcdonalds and computer science major @ the university of auckland while working on many volunteer software projects for uni clubs and non-profits
// usually playing tetris or piano in my free time and snowboarding the south island peaks during the winter