(cherry picked from commit 0a66e0ecd48f1e807f4a62b8a6f0f952f043b4ad)
(cherry picked from commit f21e218034070f91248d31185d12ba6f30bcea8e)