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