(cherry picked from commit 155550be6a8487771ddb67d09f3eba829e54e622)
(cherry picked from commit 27d572403ac98d83d652481da6c22ad50bb00168)