(cherry picked from commit fc509f66d814e7a5ed81d5d73b23c400625d573b) (cherry picked from commit 38b344adfa7a0e57cad8931fb5c699ad4d48150f)
(cherry picked from commit fc509f66d814e7a5ed81d5d73b23c400625d573b) (cherry picked from commit 38b344adfa7a0e57cad8931fb5c699ad4d48150f)