(cherry picked from commit 4ef1bc0bdb6b2c907431492e4c8395035fa96c84) (cherry picked from commit 8ec3d702a38fdf0cd8b0b85cbe82c475ab2eaa8f)
(cherry picked from commit 4ef1bc0bdb6b2c907431492e4c8395035fa96c84) (cherry picked from commit 8ec3d702a38fdf0cd8b0b85cbe82c475ab2eaa8f)