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