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