anchor.diff:  
   /// A parsed URI, such as a URL.
   ///
  +/// To create a URI with specific components, use [new Uri]:
  +/// ```dart
  +/// var httpsUri = Uri(
  +///     scheme: 'https',
  +///     host: 'dart.dev',
  +///     path: '/guides/libraries/library-tour',
  +///     fragment: 'numbers');
  +/// print(httpsUri); // https://dart.dev/guides/libraries/library-tour#numbers
  +///
  +/// httpsUri = Uri(
  +///     scheme: 'https',
  +///     host: 'example.com',
  +///     path: '/page/',
  +///     queryParameters: {'search': 'blue', 'limit': '10'});
  +/// print(httpsUri); // https://example.com/page/?search=blue&limit=10
  +///
  +/// final mailtoUri = Uri(
  +///     scheme: 'mailto',
  +///     path: 'John.Doe@example.com',
  +///     queryParameters: {'subject': 'Example'});
  +/// print(mailtoUri); // mailto:John.Doe@example.com?subject=Example
  +/// ```
  +///
  +/// ## HTTP and HTTPS URI
  +/// To create a URI with https scheme, use [Uri.https] or [Uri.http]:
  +/// ```dart
  +/// final httpsUri = Uri.https('example.com', 'api/fetch', {'limit': '10'});
  +/// print(httpsUri); // https://example.com/api/fetch?limit=10
  +/// ```
  +/// ## File URI
  +/// To create a URI from file path, use [Uri.file]:
  +/// ```dart
  +/// final fileUriUnix =
  +///     Uri.file(r'/home/myself/images/image.png', windows: false);
  +/// print(fileUriUnix); // file:///home/myself/images/image.png
  +///
  +/// final fileUriWindows =
  +///     Uri.file(r'C:\Users\myself\Documents\image.png', windows: true);
  +/// print(fileUriWindows); // file:///C:/Users/myself/Documents/image.png
  +/// ```
  +/// If the URI is not a file URI, calling this throws [UnsupportedError].
  +///
  +/// ## Directory URI
  +/// Like [Uri.file] except that a non-empty URI path ends in a slash.
  +/// ```dart
  +/// final fileDirectory =
  +///     Uri.directory('/home/myself/data/image', windows: false);
  +/// print(fileDirectory); // file:///home/myself/data/image/
  +///
  +/// final fileDirectoryWindows = Uri.directory('/data/images', windows: true);
  +/// print(fileDirectoryWindows); //  file:///data/images/
  +/// ```
  +///
  +/// ## URI from string
  +/// To create a URI from string, use [Uri.parse] or [Uri.tryParse]:
  +/// ```dart
  +/// final uri = Uri.parse(
  +///     'https://dart.dev/guides/libraries/library-tour#utility-classes');
  +/// print(uri); // https://dart.dev
  +/// print(uri.isScheme('https')); // true
  +/// print(uri.origin); // https://dart.dev
  +/// print(uri.host); // dart.dev
  +/// print(uri.authority); // dart.dev
  +/// print(uri.port); // 443
  +/// print(uri.path); // guides/libraries/library-tour
  +/// print(uri.pathSegments); // [guides, libraries, library-tour]
  +/// print(uri.fragment); // utility-classes
  +/// print(uri.hasQuery); // false
  +/// print(uri.data); // null
  +/// ```
  +///
   /// **See also:**
  -///
   /// * [URIs][uris] in the [library tour][libtour]
  -/// * [RFC-3986](http://tools.ietf.org/html/rfc3986)
  +/// * [RFC-3986](https://tools.ietf.org/html/rfc3986)
  +/// * [RFC-2396](https://tools.ietf.org/html/rfc2396)
  +/// * [RFC-2045](https://tools.ietf.org/html/rfc2045)
   ///
   /// [uris]: https://dart.dev/guides/libraries/library-tour#uris
   /// [libtour]: https://dart.dev/guides/libraries/library-tour
   abstract class Uri {
     /// The natural base URI for the current platform.
     ///
  -  /// When running in a browser this is the current URL of the current page
  +  /// When running in a browser, this is the current URL of the current page
     /// (from `window.location.href`).
     ///
  -  /// When not running in a browser this is the file URI referencing
  +  /// When not running in a browser, this is the file URI referencing
     /// the current working directory.
     external static Uri get base;
   
  
positive.code: // Initial state for scheme validation.
  const int _schemeStart = 20;
  
  /// Transition tables used to scan a URI to determine its structure.
  ///
  /// The tables represent a state machine with output.
  ///
  
negative.code:   /// All characters except uppercase and lowercase letters, digits and
    /// the characters `!#$&'()*+,-./:;=?@_~` are percent-encoded. This
    /// is the set of characters specified in in ECMA-262 version 5.1 for
    /// the encodeURI function.
    ///
    /// Example:
    /// ```dart
    /// final encoded =
    ///     Uri.encodeFull('https://example.com/api/query?search= dart is');
    /// print(encoded); // https://example.com/api/query?search=%20dart%20is
    /// ```
    static String encodeFull(String uri) {
      return _Uri._uriEncode(_Uri._encodeFullTable, uri, utf8, false);
    }
  