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