(cherry picked from commit 6dade95e2078d5374b10eca28244e9905076bc46)
(cherry picked from commit b3034393b8b867639a31145e5bd6aac748b1fd87)