(cherry picked from commit d8d628d1e0c42a32e2079ed430e8817996bbe4c4) (cherry picked from commit 8addbe2b8eaf9fabbb0b6dc0dd3351a0145e0cae)
(cherry picked from commit d8d628d1e0c42a32e2079ed430e8817996bbe4c4) (cherry picked from commit 8addbe2b8eaf9fabbb0b6dc0dd3351a0145e0cae)