(cherry picked from commit 2158495779baffa172f887537c347877c617e148)
(cherry picked from commit e498a64b7c3b799946cbd6e33ef508e1bcabb104)