(cherry picked from commit 875062b5bc789158290bf93dadc71b5328ca4fee)
(cherry picked from commit 99603e902244f17b04cfd55122f47355d070b588)