sanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssansgastersanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssans.
The Undertale community be like (Yes gaster is in here he's just hidden).
Next up
Howdy
Finally finished this costume before Halloween
Oh yeah and can't forget that the dog's soul is mine
Path of Kami: The Evolution of the Lore
Runestones: from concept to in-game model🗿
Spaaaace~
These are background sprites I've created for a game I'm working on at school ^w^ Click on the post to see how the sprites connect. You won't regret it! (personally, I think it's pretty heheh)
Drawn in Piskel using my mouse. Whaddya think?
I worked so hard to get all four of them to the end safely, but then...
Today I tackled drawing different variations of facial expressions for one of the main characters in Eden. What do you think of it? :) Eden: https://gamejolt.com/games/Eden/592698
Alone Together....











1 comment