Set-Valued and Variational Analysis