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