(cherry picked from commit 210aaed3) (cherry picked from commit f185a661) (cherry picked from commit 317753ee)