(cherry picked from commit 9dc046a951e5198461178860c8ebe4bedff9062f)
(cherry picked from commit 3ae632c967607cd84ddd79da8d9e17421f6b31ff)