(cherry picked from commit 8ea94765ce351df2586ab71238ef6baa8068613e)
(cherry picked from commit c7fbd6f8f15b73fa2d69065eac32a014fef2596c)