(cherry picked from commit 5d613e69b3d651806f7710eebb2b14e5c7034097)
(cherry picked from commit 3d47d6744e0dd78d4df350c5eb6421dba889f8af)