(cherry picked from commit ac6ca8d68c2f4d47bb9fe64419feca4c4ea20e3f)
(cherry picked from commit a40074a5200b31452675f432647d19da406c3d51)