(cherry picked from commit 743d820ab532a7b5a2c006bc31a52986139210ff)
(cherry picked from commit aa7a1256e2a38decd24fa171a8cf06026d8d7f8f)