(cherry picked from commit d051bc37bd14076fdd0a83ad41cd507929b20ece)
(cherry picked from commit 06b6ae2bb2f90bd7cc1d6a8404a82aff507e6821)