(cherry picked from commit 9757864fd662b69445e0c600aedbe307a264982e) (cherry picked from commit 1b95bf9e1be29f51c7272cfb9f31dda71f2dfae7)