(cherry picked from commit dae744f0c7d01204d89669c7e17d45e84671e2ca)
(cherry picked from commit b00cc07c79c42a55be24975acd4b7d2fd34607b5)