(cherry picked from commit 18e1952e432560b93b79be8ab7dc26a725340e9c)
(cherry picked from commit 237df4edd9d95a5bb55ebc8855aa96376f3097f7)