(cherry picked from commit 0b45b10231fd4ec4fd7936c71de6cdcda0e92d02)
(cherry picked from commit 16699d68fa52d5a8dd450c68c64220def1d6a142)