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