: : : ............ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
. . ... . . ! ~ . . . . : ~ ...