(cherry picked from commit 6a0667d2) (cherry picked from commit 0aed6189) (cherry picked from commit b9b3d623)