clean_names <- function(.data, unique = FALSE) {
  n <- if (is.data.frame(.data)) colnames(.data) else .data

  n <- gsub("%+", "_pct_", n)
  n <- gsub("\\$+", "_dollars_", n)
  n <- gsub("\\++", "_plus_", n)
  n <- gsub("-+", "_minus_", n)
  n <- gsub("\\*+", "_star_", n)
  n <- gsub("#+", "_cnt_", n)
  n <- gsub("&+", "_and_", n)
  n <- gsub("@+", "_at_", n)

  n <- gsub("[^a-zA-Z0-9_]+", "_", n)
  n <- gsub("([A-Z][a-z])", "_\\1", n)
  n <- tolower(trimws(n))
  
  n <- gsub("(^_+|_+$)", "", n)
  
  n <- gsub("_+", "_", n)
  
  if (unique) n <- make.unique(n, sep = "_")
  
  if (is.data.frame(.data)) {
    colnames(.data) <- n
    .data
  } else {
    n
  }
}
clean_names(
  c(
    "  a", "a  ",
    "a %", "a", "$a", "$$$a", "GDP ($)", "GDP (us$)",
    "a (#)", "a & b", "#", "$",
    "a_cnt",
    "Aa&Bb", "camelCasePhrases",
    "AlphaBetaGamma", "Alpha       Beta", "Beta  !!! Gamma",
    "a + b", "a - b", "a * b"
  )
)
##  [1] "a"                  "a"                  "a_pct"             
##  [4] "a"                  "dollars_a"          "dollars_a"         
##  [7] "gdp_dollars"        "gdp_us_dollars"     "a_cnt"             
## [10] "a_and_b"            "cnt"                "dollars"           
## [13] "a_cnt"              "aa_and_bb"          "camel_case_phrases"
## [16] "alpha_beta_gamma"   "alpha_beta"         "beta_gamma"        
## [19] "a_plus_b"           "a_minus_b"          "a_star_b"
df <- read.csv("data-raw/source_data") %>%
  clean_names()
LS0tCnRpdGxlOiAiQ2xlYW4sIENvbnNpc3RlbnQgQ29sdW1uIE5hbWVzIgphdXRob3I6ICJOZ3V5ZW4gTmdvYyBCaW5oIgpkYXRlOiAiNy84LzIwMTkiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDogCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFCiAgICBjb2RlX2ZvbGRpbmc6IHNob3cKICAgIG51bWJlcl9zZWN0aW9uczogeWVzCiAgICB0aGVtZTogImRlZmF1bHQiCgotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpCmBgYAoKLSBDbGVhbiBmdW5jdGlvbgoKYGBge3J9CmNsZWFuX25hbWVzIDwtIGZ1bmN0aW9uKC5kYXRhLCB1bmlxdWUgPSBGQUxTRSkgewogIG4gPC0gaWYgKGlzLmRhdGEuZnJhbWUoLmRhdGEpKSBjb2xuYW1lcyguZGF0YSkgZWxzZSAuZGF0YQoKICBuIDwtIGdzdWIoIiUrIiwgIl9wY3RfIiwgbikKICBuIDwtIGdzdWIoIlxcJCsiLCAiX2RvbGxhcnNfIiwgbikKICBuIDwtIGdzdWIoIlxcKysiLCAiX3BsdXNfIiwgbikKICBuIDwtIGdzdWIoIi0rIiwgIl9taW51c18iLCBuKQogIG4gPC0gZ3N1YigiXFwqKyIsICJfc3Rhcl8iLCBuKQogIG4gPC0gZ3N1YigiIysiLCAiX2NudF8iLCBuKQogIG4gPC0gZ3N1YigiJisiLCAiX2FuZF8iLCBuKQogIG4gPC0gZ3N1YigiQCsiLCAiX2F0XyIsIG4pCgogIG4gPC0gZ3N1YigiW15hLXpBLVowLTlfXSsiLCAiXyIsIG4pCiAgbiA8LSBnc3ViKCIoW0EtWl1bYS16XSkiLCAiX1xcMSIsIG4pCiAgbiA8LSB0b2xvd2VyKHRyaW13cyhuKSkKICAKICBuIDwtIGdzdWIoIiheXyt8XyskKSIsICIiLCBuKQogIAogIG4gPC0gZ3N1YigiXysiLCAiXyIsIG4pCiAgCiAgaWYgKHVuaXF1ZSkgbiA8LSBtYWtlLnVuaXF1ZShuLCBzZXAgPSAiXyIpCiAgCiAgaWYgKGlzLmRhdGEuZnJhbWUoLmRhdGEpKSB7CiAgICBjb2xuYW1lcyguZGF0YSkgPC0gbgogICAgLmRhdGEKICB9IGVsc2UgewogICAgbgogIH0KfQpgYGAKCi0gRXhhbXBsZSAKCmBgYHtyfQpjbGVhbl9uYW1lcygKICBjKAogICAgIiAgYSIsICJhICAiLAogICAgImEgJSIsICJhIiwgIiRhIiwgIiQkJGEiLCAiR0RQICgkKSIsICJHRFAgKHVzJCkiLAogICAgImEgKCMpIiwgImEgJiBiIiwgIiMiLCAiJCIsCiAgICAiYV9jbnQiLAogICAgIkFhJkJiIiwgImNhbWVsQ2FzZVBocmFzZXMiLAogICAgIkFscGhhQmV0YUdhbW1hIiwgIkFscGhhICAgICAgIEJldGEiLCAiQmV0YSAgISEhIEdhbW1hIiwKICAgICJhICsgYiIsICJhIC0gYiIsICJhICogYiIKICApCikKYGBgCgotIEFwcGx5CmBgYHtyLCBldmFsPUZBTFNFfQpkZiA8LSByZWFkLmNzdigiZGF0YS1yYXcvc291cmNlX2RhdGEiKSAlPiUKICBjbGVhbl9uYW1lcygpCmBgYAoK