Generated code from  d0e56144f659506c04025f24e96b326951a04108