(cherry picked from commit 15f48662) (cherry picked from commit f8547f27) (cherry picked from commit e438bfc9) (cherry picked from commit 23c2cce6)