(cherry picked from commit ed7c37d8c2651c8f55182c514b77ff5df0ae32da) (cherry picked from commit c26cec0e510801fac79a0947c16d1aec6b783e2c)