(cherry picked from commit d82608e1) (cherry picked from commit 6f2bd698) (cherry picked from commit c34ac4df) (cherry picked from commit 1af75a82)