(cherry picked from commit 9bab5486138b98b0066b4d9adae9fde912566b32)
(cherry picked from commit fb5de635c9826631eac131f1c5d44e1f728386cd)