(cherry picked from commit 959a28dd1216dfac78d05b438828e8503108d963) (cherry picked from commit 7955b6f66ee670a57ccdeb7b6a9e6af25c0d67c7)