text: #include "globals.h"
  
  bool beginsWith(const std::string& value, const std::string& ending)
  {
      if (ending.size() > value.size())
          return false;
      return std::equal(ending.begin(), ending.end(), value.begin());
  }
  
  // Case-insensitive for endings within ASCII.
  bool endsWith(const std::string& value, const std::string& ending)
  {
      if (ending.size() > value.size())
          return false;
      std::string lowercase(ending.size(), 0);
      std::transform(value.rbegin(), value.rbegin() + ending.size(), lowercase.begin(), [](unsigned char c){ return std::tolower(c); });
      return std::equal(ending.rbegin(), ending.rend(), value.rbegin()) ||
          std::equal(ending.rbegin(), ending.rend(), lowercase.begin());
  }
  
  
  