(cherry picked from commit 050d15ce64ea44c120498e2a780ceed554b8242b)
(cherry picked from commit 98c4acae630180e72baf3d2c46d42b95b0c2667e)