8 #include <unordered_map> 
   27   size_t start = 
name.find_first_not_of(
" \t\n\r");
 
   28   size_t end = 
name.find_last_not_of(
" \t\n\r");
 
   30   std::string outLowercase = 
out;
 
   31   std::transform(outLowercase.begin(), outLowercase.end(), outLowercase.begin(),
 
   32     [](
unsigned char c){ return std::tolower(c); });
 
   35   if (outLowercase == 
"default"  
   36     || outLowercase == 
"nominal"  
   37     || outLowercase == 
"weight"  
   38     || outLowercase == 
"0")
 
   43   static const std::vector<std::pair<std::string, std::string>> substitutions =
 
   59   for (
const auto &[before, after] : substitutions)
 
   61     size_t location = 
out.find(before);
 
   62     while (location != std::string::npos)
 
   64       out.replace(location, before.length(), after);
 
   65       location = 
out.find(before);