(cherry picked from commit 3afda7c7) (cherry picked from commit 31875b3c) (cherry picked from commit 0dccd1f8) (cherry picked from commit 334f8e2e)