(cherry picked from commit 3e147b6b8235e14878dd1158ecbd5094ff64d70a) (cherry picked from commit 2921ded09495390f66c4c2de04242ad5cf86c1e8)