halogen softworks
software from my apartment in hoboken, new jersey.
check out my new thing, Shade.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------............-/--------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------............+mh--------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------..........-:odMd/--------.....-------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:--...--:+oydMMmo------...............-------------......------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ssoooymMMMNNmy+-----:-...---------::::/s/----...---..........------------/+yh++//:-----------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...........----------------------------------------------------------------//+++ydyso/:-------:oo+hhhhddddddmmmmdmN/-::-:ohm+y+//s+::-.-+ys---------:/so/+++oo++//:-----------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/oo+++//:::--...--/------------------------------------------------------------------------------:/+hyyyyssssoooo+++/--/+omMNh/s+++mo+oo+NMNs----------------:://+++ooo+//:-----------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/++oooosssssssoohsd---------------------------------------------/-------------------------------------------------------:/o+-------:-:://y+:------------------------::/+++ooo++/::----------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:::///++oo++------------------------------------------/+ym---------------------------------------------------------------------------------------------------------:://++oooo++/::---------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------......--------------------/oho---------------------------------------------------------------------------------------------------------------:://++ooooo+//:::-------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.::.so----/y+------------------------------------------------------------------------------------------------------------------------------------------:://++oosy-------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:+++/-----:yNd/-------------------------------------------------------------------------------------------------------------------------------------------------://-------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------oos+::---hmo-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------..----.../+----------------------........--:/shN:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//:o---.........-hMs-------........-----......o++//:+my+:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:sssh--/ooo++//:oNNs-----..........oN:-:::-.../s/++sshd/-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------::::--:+oooosssmy:-----+//:::---/dMh--/sso+doooo+ss::-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:::-------ossssssooNd+----:/+yh+++ooy+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------..-------------------------------------------------.......--:o//+o---------:--------------------------------------.....-:--------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------............/:-------------------------------------/oo++///::+my---------------------------------------------------.....:hs----------..--------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...........:hN/-...---------------------------------:+oooossssmd/---------------------------------.......---------:---.-sNN+--------:/::---.........--------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...........-sNNs:+//:::---../+----..-::-..../--------------:::://---------------------------------............/----.::///sdy:---------/sssoooooo++//::----/s--....:-------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...........omNy:-:oossssoooooNo-...-omyo/..:ym---..........-:----------------------...-/-----------..........:ym--.........-./o:--------::///+++oooo:-::://yy-....+m:------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/oo++//::--/dNh/----::::://+++os-...ommh:-.-sNNs-...../s:.../hs--.........---------::--/s:.../o---.:///////::oomNs...........:hNy:-:---....::-------:o++//::----../dNh:------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/+ooooosssomd+-----------------...:hNh/..-omNy:....//sy:..:yNm/............:o-----./o++hsoo+oNs-/::-----..-:sdsy::-------..-yNmo:.-//+/..-sN+---.....-::/osssoooosNd+--------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------::::://+------------------+//:///---/dNh/....:yNo/..-sNNs/+//::----..-sNy----.:s/--:yoooss-.//++++++++/dN/::-------...:hNy:-++///:--omNy:-.........../::+/+++so:----....-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------..:::////+ooNd+::::-sNNo-..+mNy/-:ooossssoooodNs:---...--..:y----://o+/:::::/yod+-:++++++++//+dd/---::://:+yNh/---............:yh----------+++//::-----+-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------..-shoo:../hsoo-..:::/ss///+hNd/-:---:::::/+o+oy/--:oo::/-../hm--::-odyyso//+omy-::/+:/:----:osyy:-++o+++++hNs+----::++:..:...-sNNo-......-.-+ooooosssooym-----------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...+mNs/-.:yNm:-..-ohoo/-..-syh+---ossooo+++/do----///+so/:/+oNh/:/hosNs:/:/:odso:.-yhmss/-..:yN/:::::/o:-:ysms:...//osNo+/y+:-+mNy:......///:::---:::/ssshm-----------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------///+Nd/-.-oNNs-...+mNy+/...+mN+--/-.-:////ooood/--..:+sss-.-smss-.-:+/y+os+++hmh/::ohsoo+o/::omds-..+h+-..+dd::.:::+do/:/-//o+ssNd/-yo::--.:::///+++o+shy/+yh-----------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------..-:---..-:--------ooos+://+hNy::::-/md/..../dNh/---+:--/hddd+--:--...-sN+-..+mNy...-:smyd//:/yoy/::sshsshoho+shdh/---sh/../dNh/-.....:h+:--...+do/+-../-.:-ooo+++//:::/yymo-++------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...:mho/-.-om---:------:://++ds/-.-:::+o:////yNm+-----/ssoNmhhh/---..../mNo../dMd/--/++ddoo+:/shh:--/om/odo+::+hyy/./+++y//+yNd+-:ooo+++h+...../hNd:-...:/-./://++ooooosshmydo+:-------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...----------------------------...:y--...-/----...-sNd+-..+mMh--.-/sooo////+doy-:::+o+++:../yyhs-..::--://+o--------..:hNy-.-yNm+::++dosd:-:/ohho:-:odys-+s--+sdd::::ho/..-shho--.-++++os+//:::yMm+-...-omso+++//:::----::/s+/----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------..........:s--------------------:::--:/-...+ms--....+mNy-../dMd+-...omh++:.-ohyy:-.-osh/:::::sMd/--//+d/-o:../+------///+mmo/:oNNs:-:shoy::/--:hhy/..-+ys/:-:-:smho:/+yos-..omNs---../so/syo:--:ysNs-....+dNy:osssssssssooooooN/-----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...........-sNd------------------..-::::////+yMd/-::---/+:..:yMmo--../dMh/...+mMo:.-/-.//:..../dms-...-s/...-.:hNy----://:od/.-ssdy:/ooo++h+::-/hmd/://osys-----ydds::+ssy:../dNh/--:.-:sy/:os---omm/:..../hs::..://+++oosoosssssM/-----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------............+mNy:-----------------..-yso+-..-yhyo--:sssssoo++oNNs-.-//+dd+-///hMd/::--..-yo::.:hNm/...-/::--..:yMmo:-..../soo/./dN+:--/oso+o+-:/shNo-//++yss::::odNy::/shh/..:hMm+--..::/o:+s/:-./mMh/....-yMmoso++///:::-.--/yssssN:-----------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...........::hMd/-----------------...oNNo/...sNN+-----:///+++ooyy::+//:--....-symo-.:++oo+//:::yMmo-...oNysssssydNs:-...-syy:-.:hmm/...ohy/+oo-.odh+:+++sh/+yo.:+ymy:://oss/--yMmo---.//+hs/ss:-.-yMm+-....shso:+osossssshsssoomh:///:------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------........../ddym+-----------------...+mMh:...+mMy:------------------/ss+:///o/+dM/-:////::----:syNs-:+++mMh/:///+o+:------+s+:::sNNo-.:+ymo--:/+ohMy:-//+shyoo/.:hmo+..-os:--:syNs:--/+////+o+:-..oNmo-.....-s//:/:-----::://osssNh-----------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------..........:hMm+/-.....-----------:::-oMd/.../dMd/-----------------::--+-.....-hyd/:-...o+-::::odd/:..++/o/+.../-------+ssoo++//odNy:o/:d+s/--:-/yhy/::oyo+----.-sMNs-.-ods-..+ym+:--..---++++-///odm+....-s+/++//+ooosyoo+oosdmossNy-----------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------://::--...-yMNo--............/o-----::oN+///+yMm+------------------:ssssysoo++oMN/::::::ymssoo+hms/.-.-ys+++-.-yN--.----/+::://ssds:-yhshy++////yNd/.-/oss:--:--+NMy-.-sdy/../dMh/--...:hhsds+-../dy+.....+Nmo-..........--://oMh./oo------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------/ssssssssomNs--............:hMy-:+-.-ym:..-hyho---------------------:///+++oooyy-./+ossyN/+++ooh/....:hN:+-..omNo...:/+-:+/::+hy:-.-oos//////+syd+-+ssmo++/+::+yNh:..-oh/..-yMm+--...-dhmo+/-..:hMs.......-hd:-................Ndo/--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------:::///+++s:-............-yMNo.../s+ms...sMN:----------------------------------//::-----:.-/---..://yMN:...+mMy:../:yso:+:-:ymd+.../ysyy+-.:om:::::oo:/os++sosmh+/oo++d/::sNNo---...ohd+/:/:.-sMh:..........:/o:...............y/----------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------...+d---.......---------:--.........-yNNs-..:yMy+-..omMy-.----------------------------------osssssssoo+ms--::-::/hy-..:dMd/...-yoN:-..-yymo--::oos//:.-sMdd-../shssos..-ys/+..-/y++s+ssNh:--:osyh+::---.-smNso+++//::--./y/+-..............:/-----------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------..../dMh--+o+yooo/--/y----.:://++++///oNNy/--.-yo+...+mNh/:/:-///::---/:------------------------::://+++ooy:.--:+ss++///yMmo:-:::+d://::+NNs/--:+sdoo...+NNy---:ohy//+:..oNN/..-oys:../do/:--...++oyooosyysmNs/:ssssssssssomm-o++//::---....-yM+-----------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------...:hMm+---/ooy+oosssmh--..........:hssdy:.-////+////hMd/-.:/::yss+-.:yN:-....+o--...::--------------------..--/yhh/-.-shds-.-:/+/s/://+hhh/-:s++oso-../dNh:..-ysyy::-..+mMh/::+mo...:hMm/--...-syso+:...:yoy/--:soosssssssoo+.///++oooooooosdMM+-----------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------/+ooNNo------------://+-..........-sNm---..:hsoo/.../hdo-:oooo+mh-/::yNdo::--/dMo...-sN/------------------....:ymh+/+/+mMo-..-/ys+/:-:/hsd/.:/yy+++h//:ymd+:-:/dh+/----+yMd+--oyy/..-sNms--....oNNo+/-..-sNh------/:--:s+++o+::---......--:ssymMd:-----------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------.----/+oy:----------------...........oNNy:...-sNm///:-:hMy:---+/-:/y+:ossNs-./+oomm+o+/+mNy-----------------..--:omdo:-./yyh/...shyd++-.:ymd:-..+ydo+/+--oyNo::+ysos+/o+::yNy+::+dN+...oNNs:-..-:--yh/--...oNNy:-----:sooohm----ssssooooo++///dmsyho-------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------:-....--:-......----------:--........+mMh/....omNy+//-:hhmo-----smN+sdN+::///:::yh++-.-:syh/...--------------..--/yhs:-.-hmh/...:dNs+:--.omNo-..:ydo:+:--/dMo:..-syoo+:o::syNs:///+s+::+mMh/--...--.oh:-.--omNy/--------///+o/----sssssssssssssyNd::---------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------ooooo+moo+/::---...:y:--..-+oooo+///dMd+:-...:os:...:hyN+:------ymd+mds:---:osssNo....+mh-.............+:--:///++s/o/::sNNo:--//+s/::--/mNy/::-sdo:....:hNm+...:hN/:++:-+md+///ooo+--+ydd/---+++++/o/:---+dmh/--------------------/+++ooossssssyNs-----------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------/+++ooy/+oso/:/:/oomN-...-sN+++/-./ym+-.:////////::sNN/:--://.-sy:--::--....-:s/:.../dMh:............/hN:/::::shs+--:oyNh:///++//:o:-/ymd/-/+oomooo-.-oNNs-..-sNmo--::+hdd/::osh+/.-ymy/--..-so+/yo/:::osdh/-----------------------------::::////------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------....:hyy:...+mNy--..-sNh:-++//:-:o++++sNy:---/NNm+mNd-----.....-odo...:hNd+............-yNm+.:::+hys:+//dm+//:://so//-:/omh+://h+/:///:.odmy:://+sNs::--:hdh+//+shs/..smmo:-...-hdoosy-..-smoo----.::------------------------------:::+:---------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------:---.-yNm/-../sNh/-://+mNy:..:yooooy/-/yy+/.../h/ys+:/+o----/+++//mN+::-sNmo-...........-oNms-....+h+-../yod+..-soyo///:-+dho-...----:::/oyNy//:+hoy++--::odmo::/oyy+..+sNy:-.../+oh::::---ommy-----/+h+-----oo------:-:--------------/ssm:---------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------.../h---.../-----------/soooodNs-..-+oyo---/oshh///::hm:://:/oNh:-..:yNd:..-:syd----/ooooyd+ssssNy+::::----....+mNy:...-:hNs..-yNh--..:shoy+os+osmh:...-:--....:ydso--:+o+/o////odds/::::+/--+dNy+--..-/yy+/-:--.+dNh/----:omys:.-:+hNo--..-:+oo://------------://----------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------...:hNd-...:hN------------///++s:///oyd/:---:o::/--oo+/yo++:-+myy:..-odds:-..:dms/..:o/--:-:-:::///...---::::/o+yNdo/:::-:sh:.-omNs-..-+dy///::+sho/.../hyyso-.-oNNo--:oyysoo/-./dsh/-/os+::/osNd+--:-:/os+:---..:hMd+----:/sds/-..:hNy+-----/sso/oy/-------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------...-yNmo-..-sNmo---..-:--.--+----...-:///:://omy-----/:---::+oomh:../oshs/:--/sNd:...:sh+---..+d:-....-:-/-...:hhoy+.---:::+o/++dNh+:--:os+/--.:ydy+...:sddo//-./dNy//:/yhyo:+:-:yNm:..-hys-.-smso:-..-://+++/////oNmo---../yos/----odh+:---:oohso:-:/--------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------...-omNy:..-omNy:--:/:/ds:..+sm--...//hho+--./dys:...//os+//+om+++:/::::::-:-:yhdy-..-/hh+/-../hNd-....-:-o:..-smm+-/////++----/doh/.-://+///y//omms/:-//oh+-/-.:yNd/../syd+-+--/sdms:::++o:.-+mNy---.../+yoy+/..:yshs:--/+oohyo++/sohhy:-.--/yhoo--------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------/::+mNh/...+dNh/----:oohy/.-yNo+.../ss++++//+sNm/-..:ym/::.-/sos-...+ss++++/+sNNs/---/h+s//--:yNdo-..-:---....+mNs:---:+h+s+..:smd-..--oyso/-.-+hhh:.://yooy+///yhdo:..-ss/s::.-omds:.-/sy:..+mmh/-....-sdys//:--+mN/:---///ooy/++osh+s/--+///hy+:+o------------..-----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------/..:o:-o++sh+-+o+yNd+::--o--:--..+mNs-..-:dhs+-.-/ydso-.-:+mho-..-ohs----./No/+--:/dyy:.-:sshm+///+shms:----syso:..:dNh/....shh+:-.-smds-..-+ymo/+//+sNh:-.:s+sys-/:/ssmo--+o++/+///:/dNh/--:s++-.:hNd/--...:oym+/:---:hNh/-.-:sdsos--+o+ss:---:o/o+yy:/+ho-----------/:..----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------:/++-:sh---om++hN/-//doo:-sooyo-.-::/d-/////hNh/---:sos:/:.-sdd+-..-+yys:-../hs+-://-.hy:.../dmd-.../hm++:-.-oyh+:.:++++y+/+/:yNd+-.:-..ys/---+mms:..-:shh+--.:hhy+::+ommoy+:..+md/:..:y+do+y/:+ydd/-//////::yNmo---..-+syo+-:-.:hhm+-:--/yho/+:--+sss+----/++yoo::/od------------://yh:--------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------..-:dMdsNNd---+h+s:++/+hh+/+md---::o:-.-o+-./hod+-:::/+o+/s+/+mmo/-.-+syo:-..:hMd:.....:sm/..-sNd+-...omdo++///dMs-........-++oosms:+oo+++///:-/dMd/.::-+sNo:--:ydNo:-/+sys/--../dMd/..-:/+hy---:ydy/..-y++/-:ysNs:--://+o+:+s:---smN+:-://oyh:-:::/hmy:-----/syy+:oooyhs-------------:+Nh---:-----------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------:ss-:hdo/+ho:../+-:+/o+ssy-/smd/----shoo+:s/ooNm:-::/++//:..-+yhh:.://soo/:/:/sNmo-..::o+mh:--+yms-.-...://:..:hsd++/::---../dMo::::-oys+ooooosssdm+-/+///y++:/:ommo:-::oss:--..:yNm+-:/soyssd:.-yNds-..:oo---+mN/:--...-oo/:::::+shNy:-////sho:-::/yhmo---:/:/dd/::-/+++:-------..--:----/+oohh-----------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------:Nm/ddy--:ydm/ymM::-+soy::yh/+-.-/syM+/::.-odos-...:+hoo/../dms/:-:so+:::..:yyds-:/++++hoo:-/hmy/.../::sy/:-:yNd:--+oso////+mmo---o/-/yhss---::/+/---/s/::s+::ssmy:///h++o:-:::smNs/::/yhos:-..+mNs-..o+ys:.:dMd/--.----.os:-:--+mso/---ossoh/--osoyd/:--:-:++sy/:od:-/+h/:-..-/o+/ys/...--:/+y+-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------:/y--/::yso+++osh+Nm+-+o+++oomNo--...sho+-.../mNs-::::+/+s:-.:yMm+...:do///:-.+dm/-..:shooys.:/ymd/-//////:+/--oNNy:-..:o:/..../d:--/dhh///:+///::++-..:hhhoo/:.:hm+/...-oo/+y/s+shds:-ooy+//-:-./dMh/-./sdoo::yNm+------:::/hs-..:hMd:-----::::/---+soo:----ssosoosmMMm:-+sm++/+hmm/+od/.....//---------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------::dyd-.:oNNo+ooooso-:---/ooooysy:-:+++//y-:/:/yMd/.../+/osoyosomNs-...+hhoo+:.:hmh/.../ymo/+-.-ymy+-.-//+oy+::/sdmy:/+///+s::..-yMm--:+o+ss++:::--//-..-sNyo:::-:yMm+....-yhh+//:odyo/:://sh++///+hmm+////hs/::sdNs------::/+d+---:sNmo------------------------//+++osdy+--.-:/-/oyNmy---/:---./dy/hh------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------:-.--+hd/:--o+y:----:::-----------:--::::+oo+/.:+shho:/+/shs+//--oo+o:...-/mh::-.-sNd+-::/++o-/---oNNs-..:+ysyo-..ohds/--+oosshyssoomNs///::h::o/-./s/+:..-/ydyo+:-:sdms-.:/:smN+/../hmh:..-:osh+o:-:shs+--:///+:/ohmy:--:/:--:/oso:..omds-..:d:------------------------------/:/dMN+Ns::-----sssssoNMy+mh------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------:yy:+md+:-/sssys--------------------//o+ysss:..-sNs+-.-/o/-+o::/osM/-:o++::/+-.--odmy--::-+soo-../dNh:....-:s::..-yNs+------:::///+++s:.+s/oos/sooosMh//::--------.+mms/::omssNy/:-/yMd+///sdsy+o:-:smdo..-+so/::/dhs/--..-+/+shsh///+mNy:-.-sMm:------------------------------++hNy+:o:-------ssssssNMo---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------:../hm+Mm+-/+:-o++/--------------------+shoy//-..+mMy-.:oyhsooy:.:ymo+.-:/+//::///ohms//::::s+:...:hNd/.....-/-----sNN+-...os-----------:+yMs/o:-:m++oyo..:yssoo////+dmh/::--yo//::::ymdo--+oyyo/o/../mdy-..+h+....hyd/---..///+h+s/..:hyd/-...sds---------------------------------://------------ssssssNMo---------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------sMsohM:-o/--///dh----------/s---+---.-----:--/--/mMh:..-+No/-/-.-ymmo...:yds:o+-./dys/..:+/://///+sMN+::--../y+:-./hMy:-...oNs----------..-yo+ssssdh---.../mm:::-::/hsd+--:s//y/++++oyms:-o+o://----/yNd:..-oo+..-sdmo------.-sysoy-.-hMm:-.....-h/------------------.......-/---------------------ssssssNM+---------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------:--/sdM+-.:++oshdm+---------smdsshd---..://s-..-+sNm/://odms/:-..ommo-...-:::/:..:hNm/.-:/+s+++/::odys-.-////+/////dmd/-:::+mMo----------..:dN--:::/o-----::sh++:..-shd:..-ososs+/:./hyo:./+s++s+////ymdo..-+oo-..oNMs:-....-./Nm++-..sNNs--..../ddN:----------------........+Ns----------...-/:-----oossssNs----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------:NN/hNy-:sso/-y+o+--..-:----./o://+//--:oyyso..:hN++..://ss/o+:/oyNy:/+//:://-..-hmNo-::/:/so/:..+hNs....+os//:..-hyd+---/ssmd/---------:--yMm:--------..//--/:-:..sNm+...:/mosh/-./dmh-..-+yo//s:.-ysNo-:+/oo////dNh:--.....-so:/...+NMy:-..-sssNdo:----------------/+///s+ymm+---------//yyNmM+---------:::-----------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------::-:+dy:-/++o+Nm----/ohssooo:/ms---.-/+o+yy:-.-sMmo-..:+ysy:--.:yms/....::/++//+omNo:/::--:+o:../mMs/...-oho+-:-:sNN/------:::./+-------./+sms:-------....+++/:...+mMh-../sodo:/:.:dMd+..+shyo+o+..+mN::..:y:-..:ysd/--./+o++od/:--.-sMh/-://dys/+o--..:-----.....-:--/:-.-:/ys------..:+syomhhoo:-----------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------:dN+ymm-::/+sdhh/--..++s/+++osmm/-.....-yos-..oNNy-...+yso//-.-yNmo-..:oydso-..+moy/::::/+oo///+sMm+::-/:::+o:..odmy:-------...oMs---.-:::-.::-.-s----+ooo++//o:-:dNd/..-oys+s:-.-sNmo-..+myo/--../dMd/...+/-..-yMh:--...+s:s+-oo::+syMo---/sym++-----:+/--..:yoo++hs--/:/:oyhd---::ohhmmhs/------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------/:o++s-o+:h+/:--//s++//:.-y:/+--++//:+md.../mMh:..:symy/:...omNo:/oooNhho/..:dMh-.-:soohsho::shho-./oo////////mMy:---------.:dNs---.-::+o::/+osdm----/+ooosssyssdm+:o++o+//:::-+mNs--:/+ho:----:hNd+---oo/..-+mNs--...-:/+dy/s/--yNoo/-----::---:...---..---++:+/+o:--:+o+yoo/.:+:+yo/:----------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------/+/++yh-/shN:--..+sdoooosomN-----oossosy+++yMd+:--:dhs/-+/:/mNy:.-:++os:---/yNm+.../dm/+o/+osyMo-..-hhoso:../hsd+-.:-.----/ooNmo--:......----yo+o:-----------:://+:--oooysssssssMh://///:/+o:--sNNo--:+++.../mdh:-....:/+soo---.odNy-------..:-.-/:::.........-+y--o/o:--:/+:+oo+:----------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------/----------/oso++o+ms+:-..:ym::--..+ss/---------...+doyo-.:/+ss:---+sshd+:::o/-..-:.-ydds-..-hMm+-----:://...-ys:////+yNd--..sho/.....:yo:-..//++o+++/+dm:--------------------------::://++o-.-/++s+/::/ohNy://///::-/yNh/--..-+//sh+y+-./mMy/---...++//:....//:---..../+smh-:yod:-/+::-:--------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------:ods-------------osshsh:-..-yNdo....:hM+-----...-::::hMh--..-:yoso-..-y:::--:osoo++////dmo:.....-:-.../----:+++--:/-:.-sdso-..:yho-....-sNm-.........--/sym+..--------------------------------/-:yssoy/::/dys/..+/:-::+oNhs--:/::/+ss:---.:hMd+-----::/-.-:::::+/:--/sooshMymMh----:-----------.----------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------:+y:--....-:------::::-:--/NNs::..-sNNo--::-:s++/+dsymo---:+hsh/+:.-sdm-...:hmooo:../yyd/:oooo++//:::ym--..:/-+--/+-.+mNs-..-+oo:.....omNy-..........:yhy:--//:/::/:..:/---------------------....-...-+ssdh/.---:/-.-sNoo:-..-++/o+s+////oNmo-----..-......//::-...+mdssydNoys/--------------......-+:----------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------......+/---------../+oNh:-//:oNmy:.--/oohdoooyy:/:----/ss:/-.-sdNy:..-sNNo:-../yNh::-:+++oooosssyNo-://////::--/dMh/...-:++...../dMh:........../sNNo/..-:+yysyo--ymo-..-++:--:---/------++o+//:::yNo//--/h+/.../mNy--...-/:+o:-/-../sys:-----:://:/:::+/--/::/dMNs//+o/-----------------:::::-/+:-----------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------.../-------:::-....:y:--....ohso:..:ysmy:-/////y+o/::s:--.......+++s+ohms:...+mNy:-..-sNms:--..---..//:::/:..:///:----+sdm+:///+/::/:-::hNd/...........sNhy::---:syd+/--oNNs-../yyoss+-./hh--..-:/+++/:/+yNs-:/:///--./hNh/--...-::hy:--.-///::---.::-------------:ssshMh/--------------------------::::-------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------...:sd--....oms+-..:smN:://::hNs:-:./dd::..-+yoo+/.-:sym--:o+///:/Nso+hoy/..-+yds/-..-smmo:.-/+++/::ooN+---/:/://yso-.-sNo+-..---/::::/oyymo//ss/:---..:yms:..-:::oy::-.+mNy/--/oys+:+:-/yNd+.../oohoo:.-+hh:..-+//:::+sNdo--::::-:os/:-::ohssssooooom+--------------+++s+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------/+ydddo-...+dNd/-.-sNds:..-+yym+.:/ooNd/...:hhyo+-..+mh+:..-oo//y//+/smm-:////Ns:--..+mNy/--:yyoso/--/yy:-..:oyo/oh:+oodNy-..-sso+oy+::hdo/-.-o+/+//:/+omNo::::::+o/:-./dNd+--++yyss:///omds-:::/osoy/-.+hmh/../o/:-.-ydos:-..-/:/o+s+///+ymysssssssssN+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------..:/oNms::+++yMd+/ooohNy:..-/odo/:-.-shss-..-sNm/---./dNh/:-//yy:++/.-ohoo/:::s+os+/:/osNh////ysmso:-.-sdm-...--m+-....oyoy/..-/mms+:--/yhm+...-yhoy+-../dsy:.-+o/++y+//+sNm+/::/soo:::.-+hdy:.....-+d:-./dmh/-.::+:..-odNs--.....//s+//:..-+so-+ooosssssN+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------:-:hh+:::---:-:yo--:+++s/:///:o//:-::/dNs-...:mNs:--.:ymdo:-/::oy/--.-ohNo-.-/osdoo/+++sdoo--:/:///:///odNs+/:--::s:...:hNo-...-sdh:-..-omh/-...-:y/::../hmd:...:ooos:-.-sdyo-.:///y:o+///hmh+:--.../ss:.-ymm+-.--/....+mNy/--...-::yd+:+-.++++//:::+ysssssN+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------:ssdm+/-....-+//-//:so--...-oy+///+sosNd//:::+do/-:::smdo-:oo+++yo/../dmy/...+mos+/--:ssso---:ys++/:--/hyy/-:ssso++++++sNm+:----./s-...+dNh:..//syoN:..:ydd+-..:os+mo:..+mNy-..:/ooyy::-/hsd+--//++ooh///+hms:-.+o/:..:hmd+--:+//ssos/+/../hdssssssssddsssssN+----...........-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------//+:--o/-.//+/++mssm+--../hmoooo+ds+so:-::sso+//++mdhs/:::/:-o:-:/+sNm/-:-ohNh--..-odNs:..-:sy++-.-/sNm/----:::-...:yoys::/o+/oo+////hNd+--...:h++/--sNNo-...+yh+o+--:hNh/---:sssy+-.+dhm/:/:+sssh+:.-+yhy/:////////ymm+----/+sodo::++-:hmmossssssssdy:://+s---..............-y:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------/.:hmy+-:/+::/-/-/od+:.--/sy:-..-::+d+//+-/hmy/--://:///+//ohys:--/:+o+:-../dNy/:::yhdmo:-.-smyo:--------..-omN:-....-/hy/-.:hsmo--/+/++hd-+oohNh/-.-/yd+/:-./hmd+-.//:+m://:/dNd/:.-/syss+:..:ymy:.-:/:-..-ohms:-.-//hos:+:y/-:sds+-:sssso+/+ys...:+--...............+d+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------...-/os+/---------/:--.-:.-oms--...:hoys:..:yNd:.-/ooyo//:-.+yyo--::::///////hNd+---+smo+/:--omms:-------/oooohNh/--...:yho-.-sNm:-..-os+y+--.+s+o/-/+/yhyo//:-sNms//:/s/odh-:/shmo-..-/yho/-:.-sddo-.:-...../dNs:--.....:s:.--:/shm+::-:+//+-../dy--+/-...............-yy:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------oooo+hs/:::yo--://--+++/+m//dmh:.---:yy+/-.-sNmo-..-od+s/..-/hms-.-/+++//:--:ysmo--:/os/:-/::+hNh/-------..-+o+oy+..-://oms:..+mNy:..:shdo+/..:hNo-...:o+//:--/ssNs--+o+///o/:-:hdo:.../oyy//+--ommo-..//....:hNm+--...-.-yy/:-.-+mm++sssssooo+++sMMs::-................+d+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------+++ooyoosssN+--ohy++s://yhsmd/::-/++d+/-.-odds:...:sNs----/ymh+...-smooo+/++mN/-...--/y-../osdh/..-+ooo+++/+mo---....:soy+../hNd/...-:os///.-smNo-..:/yho+-.:smh/:..-ho//+//:+sdh:-///+//y::-./dNh:.-+:....:hmms:-.....-osho/:./dds/.:+++ooooosssdMM:--////::--.......-yy:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------..........-:-::://---:/+oos---:-/+:/+//hoo+:.-+yNy:----/syo+++/ydmo:-:/yhNs....+doh:..-:osoy...:yd//--/////::--:syd:-://///h+-::/yMh+....-sooo-.-+mNs-...+yso::/++dNo:--:oososo/::sNo+:..:+//:/+:/ooNd+///+o--.-sNmo:-..../++s+/o+//ymo-.-oy+++---:ysssdms---:://+++oo++++++d+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------:///::--....om----------------------:ssso/--..:hNs+----:::oo.-:yodo-.-+:oso/.../dMh-...+hyh+:..-ymmo-..smssoo:-:+dN:-../:/::/:-:/sdho:///:::----./mmy:...-.+s+-.:syoh/:---+ss+::::odds-.../osyo/-.:yN+o..-----:/shNs:--/:o/-/y/:/:::+ydsoooNMmssssoomM+++/...........-----:://:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------/sssssssooohMN--...--......-/----:+/s::://:.-yNm+..+sosdsoo..+mm--..-odso+-.:+sMm+...-dMy+/...+NNs:-.:hms:::-.+mhd+.../yoys:-.-oNyo:...-::::::/osMd///:::-:y--.-dm/-...-soso---./hdy:..--+msss:.-oNNs..-++-...:hmo/--.../o+so+////+dms---::sys+ossssNM-:-.........../do...----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------:++oooooossdd+....os-...../dd--:--::/-.-:/++dNs///+No+s+:--:dMh/://:ymy+/-.-yNss-..:hym+-...:hMy:..--/+:.---:hNh/...::ss+/.../mNh:-/::::o//:--ymoo--oossssssoo+yd/:::---.-/+..:hMd/.---odmy:...+mMy:..:s/-..-hmm+--.....:yss+//::hyd+.........:hssssmm-ossooo++///:hMMo..-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------::://-.../my.....:hNm+.-/+++oo/..:y:/s:.-::/o--:+oosMm+:::::::-..:-oNNs-..:+ss+:...-yMd+:+ssssssyys++md+---:ss::::::/hMd/////+/++/+/+oNNs-----::////++oos:-/ssssssoo++oNNo:--:/-sy+:-./dMd/.-///:...omNo:-...-//ohN:ooosysN/:-.......-yMM:://+-.++ooooosssssMMy:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------....sMy////:sNmo-....--/y:..:hh---::::::::///yoss/://ssssssoo+mMh:/sossssssssohdds--+hhhhhyyyyyosh--yddmNdyhddddNNo--oysyyohhsysyhy:--------------------:///+++oosyy:-ossssoo++//sMmo--.:.....omMh:-:/:::+oyo+/.---://::sssoo+++oNMMN:--.........---:+ssd/---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------/ssssmNodddddsNy-syhsssdsmhyhhmm----hddddddddddN-.-+///+////++o+y+--ohhhhdhhho+/+:--...-........------+ooo/+/+++++o:---:::::-::-:----------:--..o+----------------------///+++oosssdo-/ooooo++/dMh/--..-::oso-...:d-----.-/++oossshMMy:-..............sN+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------+hhhhh/-+++////--++++++s-........---+o++++++++/:++++////:------//d+----------+ssysssssoo++///::+------------------------------------------/ssssyM+--------------------------------::-:-....:yssd/---+sooooN+//::+hh----.........:yhd/-..............oNNs-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------/++/----------------------:hhhddd/---shhddddddddy----....+---yddhdddd/...../osm:-...........--://+++ooosssssm-------------------------------------------///+o/-----------------------------------oo++//omm-------/++oosysssssNh----ossoo++//sMh:--............./mMh:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------+yy+-----------------------++o///:---+ysssssssoo+---....-:...-:::////.....:m:---+o++/+///::-.......-:----:://-------------------------------------.....:o----------------------------------------+ooossdy:---------------:::/+-----/++ooosssdy--:+//::--.....-hMd/----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------::------------------------------------------------sssooo+++///::::-:---.+Nh----/oossyssssssooo++hdN+-------------------------------------------/::---yMy---------------------------------------------::--.......o-------------------------::-:/::::osssssoooNm+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------:-/s--::---:--------------------------------------------+oooossssssssssssssssymy----------:-::://+ooosNmy:-------------------------------------------osssodNs------------------------------------------------.......+mm----------------------------/sssssm+///+++os--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------:ssmo--osssso-----------------------------------------------------:::////++++oo/-----------------------:----------------------------------------------::///+-...---------------------------------------------....../dMd/-----------------------------::///+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------/++---//+++/------------------------------------------.....---------------------------------------------------/::----......+-----------------------------::--...............------------------------------:ooo++/yMm+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------......./y-----------------------------------------------:sssoooooo++///:://:::-:o:------------------oooooooo++//:::--...s----------------------------:++ooosdo-------------------------------------.......::----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------::----.oNo------------------------------------------------::///+++oooossssdssssohd:------------------://+++oooosssssooooyN-----------------------------------:-------::::::::::/-----......-------:ooo+++/oN+------------........--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------sssssssNo-------------------------------------------------------------::://::///+:-----------------------------:::///+++s+---------------------------++////----------///+++++++s:----//::::/------:++ooo++yy:--------...............-+o--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------///+++++-------------------------:---+---------------------------------------------------------------------------------------------------------------+oossy----------.....................-............-..../----.................:smMs--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------oooyh-----------------------------------------------------------------------------------------------------------------::::---------........................................-..................:odNNd+:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------//+o/------------------------------------------------------------------------------------------------------------------------------........................................................:+hNMmy/-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:::::::::::------------------------.................................-.-/sdNMmy+:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------syyyyyssssssssssssssssssoooooo+++///++++++++///-..----:////:::++:-+yd+dMNmy+:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/++++++ooooosssssssssssssssssyys+yssssssssooooo+h/----+yyyyyyyysosMNh+hs/:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/yyyyyyyyyyyyyyyyyyhhNysssssyyyyyyyyhdsssssh/://///:::+o:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/yyyyyyyysssssssssssso::::::::::::///://++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------