(cherry picked from commit 3abcbcd4a2f432e5230da3d20b32dd5d3f5a7ee4)
(cherry picked from commit d42c89aa04e58f74069ac1fdda94d7fbba1a7a52)