(cherry picked from commit 20ba213ac0f8668d4ed1934f78853899906d0c5b)
(cherry picked from commit 2be22d2cc2de2a07578c205dec81827b7378e799)