dist/scripts/vendor.min.js
function LocationHtml5Url(appBase, appBaseNoFile, basePrefix) {
  this.$$html5 = true;
  basePrefix = basePrefix || '';
  parseAbsoluteUrl(appBase, this);


  /**
   * Parse given HTML5 (regular) URL string into properties
   * @param {string} url HTML5 URL
   * @private
   */
  this.$$parse = function(url) {
    var pathUrl = stripBaseUrl(appBaseNoFile, url);
    if (!isString(pathUrl)) {
      throw $locationMinErr('ipthprfx', 'Invalid url "{0}", missing path prefix "{1}".', url,
          appBaseNoFile);
    }

    parseAppUrl(pathUrl, this, true);

    if (!this.$$path) {
      this.$$path = '/';
    }

    this.$$compose();
  };

  this.$$normalizeUrl = function(url) {
    return appBaseNoFile + url.substr(1); // first char is always '/'
  };

  this.$$parseLinkUrl = function(url, relHref) {
    if (relHref && relHref[0] === '#') {
      // special case for links to hash fragments:
      // keep the old url and only replace the hash fragment
      this.hash(relHref.slice(1));
      return true;
    }
    var appUrl, prevAppUrl;
    var rewrittenUrl;


    if (isDefined(appUrl = stripBaseUrl(appBase, url))) {
      prevAppUrl = appUrl;
      if (basePrefix && isDefined(appUrl = stripBaseUrl(basePrefix, appUrl))) {
        rewrittenUrl = appBaseNoFile + (stripBaseUrl('/', appUrl) || appUrl);
      } else {
        rewrittenUrl = appBase + prevAppUrl;
      }
    } else if (isDefined(appUrl = stripBaseUrl(appBaseNoFile, url))) {
      rewrittenUrl = appBaseNoFile + appUrl;
    } else if (appBaseNoFile === url + '/') {
      rewrittenUrl = appBaseNoFile;
    }
    if (rewrittenUrl) {
      this.$$parse(rewrittenUrl);
    }
    return !!rewrittenUrl;
  };
}
function LocationHtml5Url(appBase, appBaseNoFile, basePrefix) {
  this.$$html5 = true;
  basePrefix = basePrefix || '';
  parseAbsoluteUrl(appBase, this);


  /**
   * Parse given HTML5 (regular) URL string into properties
   * @param {string} url HTML5 URL
   * @private
   */
  this.$$parse = function(url) {
    var pathUrl = stripBaseUrl(appBaseNoFile, url);
    if (!isString(pathUrl)) {
      throw $locationMinErr('ipthprfx', 'Invalid url "{0}", missing path prefix "{1}".', url,
          appBaseNoFile);
    }

    parseAppUrl(pathUrl, this, true);

    if (!this.$$path) {
      this.$$path = '/';
    }

    this.$$compose();
  };

  this.$$normalizeUrl = function(url) {
    return appBaseNoFile + url.substr(1); // first char is always '/'
  };

  this.$$parseLinkUrl = function(url, relHref) {
    if (relHref && relHref[0] === '#') {
      // special case for links to hash fragments:
      // keep the old url and only replace the hash fragment
      this.hash(relHref.slice(1));
      return true;
    }
    var appUrl, prevAppUrl;
    var rewrittenUrl;


    if (isDefined(appUrl = stripBaseUrl(appBase, url))) {
      prevAppUrl = appUrl;
      if (basePrefix && isDefined(appUrl = stripBaseUrl(basePrefix, appUrl))) {
        rewrittenUrl = appBaseNoFile + (stripBaseUrl('/', appUrl) || appUrl);
      } else {
        rewrittenUrl = appBase + prevAppUrl;
      }
    } else if (isDefined(appUrl = stripBaseUrl(appBaseNoFile, url))) {
      rewrittenUrl = appBaseNoFile + appUrl;
    } else if (appBaseNoFile === url + '/') {
      rewrittenUrl = appBaseNoFile;
    }
    if (rewrittenUrl) {
      this.$$parse(rewrittenUrl);
    }
    return !!rewrittenUrl;
  };
}
function LocationHtml5Url ( appBase , appBaseNoFile , basePrefix ) { this . $$html5 = true ; basePrefix = basePrefix || '' ; parseAbsoluteUrl ( appBase , this ) ; /**
   * Parse given HTML5 (regular) URL string into properties
   * @param {string} url HTML5 URL
   * @private
   */ this . $$parse = function ( url ) { var pathUrl = stripBaseUrl ( appBaseNoFile , url ) ; if ( ! isString ( pathUrl ) ) { throw $locationMinErr ( 'ipthprfx' , 'Invalid url "{0}", missing path prefix "{1}".' , url , appBaseNoFile ) ; } parseAppUrl ( pathUrl , this , true ) ; if ( ! this . $$path ) { this . $$path = '/' ; } this . $$compose ( ) ; } ; this . $$normalizeUrl = function ( url ) { return appBaseNoFile + url . substr ( 1 ) ; // first char is always '/' } ; this . $$parseLinkUrl = function ( url , relHref ) { if ( relHref && relHref [ 0 ] === '#' ) { // special case for links to hash fragments: // keep the old url and only replace the hash fragment this . hash ( relHref . slice ( 1 ) ) ; return true ; } var appUrl , prevAppUrl ; var rewrittenUrl ; if ( isDefined ( appUrl = stripBaseUrl ( appBase , url ) ) ) { prevAppUrl = appUrl ; if ( basePrefix && isDefined ( appUrl = stripBaseUrl ( basePrefix , appUrl ) ) ) { rewrittenUrl = appBaseNoFile + ( stripBaseUrl ( '/' , appUrl ) || appUrl ) ; } else { rewrittenUrl = appBase + prevAppUrl ; } } else if ( isDefined ( appUrl = stripBaseUrl ( appBaseNoFile , url ) ) ) { rewrittenUrl = appBaseNoFile + appUrl ; } else if ( appBaseNoFile === url + '/' ) { rewrittenUrl = appBaseNoFile ; } if ( rewrittenUrl ) { this . $$parse ( rewrittenUrl ) ; } return ! ! rewrittenUrl ; } ; }
LocationHtml5Url represents a URL
This object is exposed as $location service when HTML5 mode is enabled and supported

@constructor
@param {string} appBase application base URL
@param {string} appBaseNoFile application base URL stripped of any filename
@param {string} basePrefix URL path prefix
LocationHtml5Url represents a URL This object is exposed as $location service when HTML5 mode is enabled and supported