(cherry picked from commit e9a34ae29c7390f3ffcbeee02dc5faa26fca482a) (cherry picked from commit 5f754e8638d5a35ab12765edec6561228312f71c)
(cherry picked from commit e9a34ae29c7390f3ffcbeee02dc5faa26fca482a) (cherry picked from commit 5f754e8638d5a35ab12765edec6561228312f71c)