(cherry picked from commit dd322405d047d49e51d528341cbd008d7a98b6ab)
(cherry picked from commit 02f5705fde37e1aaef5c68de62aafe45fc86d490)