(cherry picked from commit 00096dcc0c23af38e697cd7c6c29e3f00d744e54) (cherry picked from commit 0c895e8a62b4b69a020a5f004e97323520a1b1d0)