(cherry picked from commit 2bd20b55ac07ce30175943bef2b7833e791d88a9)
(cherry picked from commit 6a7699c13a65a0ad830ac95ae18acc4be24ba358)