(cherry picked from commit e558d4f4) (cherry picked from commit 0881deb1) (cherry picked from commit b91e1cde)