(cherry picked from commit 794db2359bf511358fb065f5b061d5042bf37f0a)
(cherry picked from commit 4726a80fc60608ea0cfa4fd335d47acaa5d59a92)