(cherry picked from commit abfcc9ab6771b5934568f5284adbc7d13f3510d1)
(cherry picked from commit a6224bedbc30d13c3c9c26de6cfce389f0b45e4a)