(cherry picked from commit 57aa048516f5c5fe02441d213b52ce1bbeddf823) (cherry picked from commit e42ac486e7eecb6a24ac95f1ceaf61d24060adef)