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