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