(cherry picked from commit d69d4e7c44ebc13d09a0146f069880594fed9f3e)
(cherry picked from commit 5430c6333153864cc058d1bacdb934fa213fa284)