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