(cherry picked from commit 1299a97579bec52ee3d16ab8d05c9e22edd80330)
(cherry picked from commit 6d552f2a60f44052079b5e8944f5e1bbabac56e0)