deps/browser-require/require.js
function normalizeUrl(url, baseLocation) {
    if (!(/^\w+:/).test(url)) {
      var u = baseLocation.protocol+'//'+baseLocation.hostname;
      if (baseLocation.port && baseLocation.port !== 80) {
        u += ':'+baseLocation.port;
      }
      var path = baseLocation.pathname;
      if (url.charAt(0) === '/') {
        url = u + normalizeArray(url.split('/')).join('/');
      } else {
        path += ((path.charAt(path.length-1) === '/') ? '' : '/../') + url;
        url = u + normalizeArray(path.split('/')).join('/');
      }
    }
    return url;
  }
function normalizeUrl(url, baseLocation) {
    if (!(/^\w+:/).test(url)) {
      var u = baseLocation.protocol+'//'+baseLocation.hostname;
      if (baseLocation.port && baseLocation.port !== 80) {
        u += ':'+baseLocation.port;
      }
      var path = baseLocation.pathname;
      if (url.charAt(0) === '/') {
        url = u + normalizeArray(url.split('/')).join('/');
      } else {
        path += ((path.charAt(path.length-1) === '/') ? '' : '/../') + url;
        url = u + normalizeArray(path.split('/')).join('/');
      }
    }
    return url;
  }
function normalizeUrl ( url , baseLocation ) { if ( ! ( / ^\w+: / ) . test ( url ) ) { var u = baseLocation . protocol + '//' + baseLocation . hostname ; if ( baseLocation . port && baseLocation . port !== 80 ) { u += ':' + baseLocation . port ; } var path = baseLocation . pathname ; if ( url . charAt ( 0 ) === '/' ) { url = u + normalizeArray ( url . split ( '/' ) ) . join ( '/' ) ; } else { path += ( ( path . charAt ( path . length - 1 ) === '/' ) ? '' : '/../' ) + url ; url = u + normalizeArray ( path . split ( '/' ) ) . join ( '/' ) ; } } return url ; }
normalize a url
normalize a url