(cherry picked from commit 47c86542bcab68d548dd1976a17dcd0a67faf1d8)
(cherry picked from commit 6bee05a517cffa610ad4a08db3eea8ceb73ad5eb)