(cherry picked from commit ce552c3413b041e0f33237ba8cb201053263aee0)
(cherry picked from commit 5236472160628ecf65b8934cd688738c1eed5561)