(cherry picked from commit 7159202326acb0c74d815ca57ccd68dca7e22726) (cherry picked from commit 2f6f72c524c50bcebc84650538d5ecc455ae71e2)