(cherry picked from commit 8ca640ca383f3e43385e70ed28ee7d6bd004d347)
(cherry picked from commit 4129dfdd5817f3513c68427a679a0a2968604b86)