(cherry picked from commit 83fd4746eda1b99f35292b0c2211e606a421b3eb)
(cherry picked from commit bd7b35419861df6d426d6ec0a188391910d0f615)