(cherry picked from commit d034974d854cdeda5cfaebaa823b977fbd8fc819)
(cherry picked from commit 6ea82d66c0e319918a1938b39d0961b7d894a02f)