(cherry picked from commit 6aafea0339d556f8c0266d40c0de61ba24166fec)
(cherry picked from commit 5ab596a6a9433b57ae20c80fd22f2e7f70912e46)