(cherry picked from commit a88eba0212d29220f3e83650c6e52cd14cc5bc71)
(cherry picked from commit b6f069a7e4035b26382ea297933662a83d9a5e26)