(cherry picked from commit d1a064ec87c9f0ebdb373c893d891db9a93a9d37)
(cherry picked from commit 7ff4c951b843f7a844e0dd4f0667b85b7fb0b710)