(cherry picked from commit 43e389b9801e09741fdf78fef067b8ac60f691c8) (cherry picked from commit 45220d115797663b8749980b78a61bafcb2344f1)