(cherry picked from commit 5d7d465c) (cherry picked from commit 3b630722) (cherry picked from commit 266a1e87)