(cherry picked from commit f3efbe715c06b87ce3006dc936be26dd272a643c)
(cherry picked from commit babf065fce72e41c2b14e945e91a7fccb91385d4)