(cherry picked from commit bdfe7ada) (cherry picked from commit 2426beac) (cherry picked from commit 0e180f8e)