(cherry picked from commit f3317336) (cherry picked from commit 946e4c43) (cherry picked from commit 31c85925) (cherry picked from commit 5c35bcf3)