(cherry picked from commit 670717d0e9216c71b8b25b1b3c6dc5c5a917b165)
(cherry picked from commit 37752176757f7d24f9babe86325ec41f1abd6b90)