(cherry picked from commit 98ee9c02cef3e7689ca7cf302bb18a133cb117e2)
(cherry picked from commit dce5a02481d47e47fde1623cb95532480192e1f3)