(cherry picked from commit a290bf836c886b962465eb8f2c5109778dc0f10b)
(cherry picked from commit 9bce82384fe901e0e01d9ccf8214b808d076fe6b)