(cherry picked from commit c1957fef29b07fea70938e971b30532a1e131fd0) (cherry picked from commit 3ddafaa7c854dcf21ecc790c276927e7c869e62c)