(cherry picked from commit c3e1202ff9d91d38e05ffa71b5b6de074fc32ee7)
(cherry picked from commit accb9b1201bee94c714931c444c22e1ba8d313ec)