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