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