******* ** **** ** ******** ** ** ***** ** *********** **** ********* ***** ****** ******* ******** ********* *** ********* *** *** ******** **** ** ******* ** ********** ******* ******** ** ****** *****
**** ******** ** ****** ******* ***** ******** ******* ** ***** * ** ******** ** ****** *** ** *** *** ********** *** ******* * ***** ****** ** ************ **** ** ********* ** * **** ** ** ******* ** ******** ** ********** ** ** ******** ** **** ******
*** *********** ******** **** *** ***** *** ******** ***** **** ** ** ********** ******* ********** ***** ************