(cherry picked from commit 875062b5bc789158290bf93dadc71b5328ca4fee)
(cherry picked from commit 03fc6b1bb0f5c0844cd5477ffba43de8a14d4d60)