(cherry picked from commit 9f2c3ebd3455e761c30e453daca98fe98206b33b)
(cherry picked from commit 3cf5f22d40a4ef563a3d06751bbb25b003d4ef1e)