(cherry picked from commit e015b563197a475e354bf84fd27e7bbcc67e00a4) (cherry picked from commit 01624f0c1b7eba9fe4b5778e1da9d38545af3722)