(cherry picked from commit a5def580879428bc7af3c030ef33554e0519f072) (cherry picked from commit 6d7e7ef1c4df613004f20911136db5be8b474265)