function decodeURIEncodedMod (s) {
  try {
    return decodeURIComponent(
      s
        .replace(/\%2D/g, '-')
        .replace(/\%5F/g, '_')
        .replace(/\%2E/g, '.')
        .replace(/\%21/g, '!')
        .replace(/\%7E/g, '~')
        .replace(/\%2A/g, '*')
        .replace(/\%27/g, "'")
        .replace(/\%28/g, '(')
        .replace(/\%29/g, ')')
    )
  } catch (e) {
    return null
  }
}
Decodes a URI component using a custom script to unescape more characters. This is used to decode the URL of a link shortener if needed. This will not usually be needed, as the built-in decodeURIComponent function will usually be enough.
@param {string} u - The URL to decode.