(cherry picked from commit 0ccf4b0fe16a8c879a560f2a612a3185eb2df72b) (cherry picked from commit cb806988d72bde1f9837c9e0fb82a3a6c032542c)