(cherry picked from commit 8e297f33832ed871b3639a631a5b8f02f92fa504)
(cherry picked from commit 35d54c7d71123b11f025ceea853abf5bde6dda07)