(cherry picked from commit 1e0f613449ed0073caf8a9dc55bd8eb37bf6f115)
(cherry picked from commit ef4f6bda5c7d64c77ba21a0b8362db47a5bb178a)