(cherry picked from commit d5ee1bc752dc8aed717776a80e9e15972dd98065)
(cherry picked from commit fae8bb9f583b416bf47208561c38e0b102f8578c)