public final class java.net.URI implements java.lang.Comparable<java.net.URI>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.net.URI
  super_class: java.lang.Object
{
  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -6052424284110960213

  private transient java.lang.String scheme;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String fragment;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String authority;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String userInfo;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String host;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient int port;
    descriptor: I
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String path;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String query;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private volatile transient java.lang.String schemeSpecificPart;
    descriptor: Ljava/lang/String;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile transient int hash;
    descriptor: I
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile transient java.lang.String decodedUserInfo;
    descriptor: Ljava/lang/String;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile transient java.lang.String decodedAuthority;
    descriptor: Ljava/lang/String;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile transient java.lang.String decodedPath;
    descriptor: Ljava/lang/String;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile transient java.lang.String decodedQuery;
    descriptor: Ljava/lang/String;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile transient java.lang.String decodedFragment;
    descriptor: Ljava/lang/String;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile transient java.lang.String decodedSchemeSpecificPart;
    descriptor: Ljava/lang/String;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile java.lang.String string;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final long L_DIGIT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_DIGIT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final long L_UPALPHA;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final long H_UPALPHA;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_LOWALPHA;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final long H_LOWALPHA;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_ALPHA;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final long H_ALPHA;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_ALPHANUM;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_ALPHANUM;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_HEX;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_HEX;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_MARK;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_MARK;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_UNRESERVED;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_UNRESERVED;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_RESERVED;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_RESERVED;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_ESCAPED;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final long H_ESCAPED;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final long L_URIC;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_URIC;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_PCHAR;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_PCHAR;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_PATH;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_PATH;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_DASH;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_DASH;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_DOT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_DOT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_USERINFO;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_USERINFO;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_REG_NAME;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_REG_NAME;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_SERVER;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_SERVER;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_SERVER_PERCENT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_SERVER_PERCENT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_LEFT_BRACKET;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_LEFT_BRACKET;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_SCHEME;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_SCHEME;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long L_URIC_NO_SLASH;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long H_URIC_NO_SLASH;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] hexDigits;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 471
            ldc Ljava/net/URI;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.net.URI.$assertionsDisabled:Z
         3: .line 2506
            bipush 48
            bipush 57
            invokestatic java.net.URI.lowMask:(CC)J
            putstatic java.net.URI.L_DIGIT:J
         4: .line 2513
            bipush 65
            bipush 90
            invokestatic java.net.URI.highMask:(CC)J
            putstatic java.net.URI.H_UPALPHA:J
         5: .line 2519
            bipush 97
            bipush 122
            invokestatic java.net.URI.highMask:(CC)J
            putstatic java.net.URI.H_LOWALPHA:J
         6: .line 2523
            getstatic java.net.URI.H_LOWALPHA:J
            getstatic java.net.URI.H_UPALPHA:J
            lor
            putstatic java.net.URI.H_ALPHA:J
         7: .line 2526
            getstatic java.net.URI.L_DIGIT:J
            putstatic java.net.URI.L_ALPHANUM:J
         8: .line 2527
            getstatic java.net.URI.H_ALPHA:J
            putstatic java.net.URI.H_ALPHANUM:J
         9: .line 2531
            getstatic java.net.URI.L_DIGIT:J
            putstatic java.net.URI.L_HEX:J
        10: .line 2532
            bipush 65
            bipush 70
            invokestatic java.net.URI.highMask:(CC)J
            bipush 97
            bipush 102
            invokestatic java.net.URI.highMask:(CC)J
            lor
            putstatic java.net.URI.H_HEX:J
        11: .line 2536
            ldc "-_.!~*'()"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            putstatic java.net.URI.L_MARK:J
        12: .line 2537
            ldc "-_.!~*'()"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            putstatic java.net.URI.H_MARK:J
        13: .line 2540
            getstatic java.net.URI.L_ALPHANUM:J
            getstatic java.net.URI.L_MARK:J
            lor
            putstatic java.net.URI.L_UNRESERVED:J
        14: .line 2541
            getstatic java.net.URI.H_ALPHANUM:J
            getstatic java.net.URI.H_MARK:J
            lor
            putstatic java.net.URI.H_UNRESERVED:J
        15: .line 2546
            ldc ";/?:@&=+$,[]"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            putstatic java.net.URI.L_RESERVED:J
        16: .line 2547
            ldc ";/?:@&=+$,[]"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            putstatic java.net.URI.H_RESERVED:J
        17: .line 2555
            getstatic java.net.URI.L_RESERVED:J
            getstatic java.net.URI.L_UNRESERVED:J
            lor
            lconst_1
            lor
            putstatic java.net.URI.L_URIC:J
        18: .line 2556
            getstatic java.net.URI.H_RESERVED:J
            getstatic java.net.URI.H_UNRESERVED:J
            lor
            putstatic java.net.URI.H_URIC:J
        19: .line 2561
            getstatic java.net.URI.L_UNRESERVED:J
            lconst_1
            lor
            ldc ":@&=+$,"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            lor
        20: .line 2560
            putstatic java.net.URI.L_PCHAR:J
        21: .line 2563
            getstatic java.net.URI.H_UNRESERVED:J
            ldc ":@&=+$,"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            lor
        22: .line 2562
            putstatic java.net.URI.H_PCHAR:J
        23: .line 2566
            getstatic java.net.URI.L_PCHAR:J
            ldc ";/"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            lor
            putstatic java.net.URI.L_PATH:J
        24: .line 2567
            getstatic java.net.URI.H_PCHAR:J
            ldc ";/"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            lor
            putstatic java.net.URI.H_PATH:J
        25: .line 2570
            ldc "-"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            putstatic java.net.URI.L_DASH:J
        26: .line 2571
            ldc "-"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            putstatic java.net.URI.H_DASH:J
        27: .line 2574
            ldc "."
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            putstatic java.net.URI.L_DOT:J
        28: .line 2575
            ldc "."
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            putstatic java.net.URI.H_DOT:J
        29: .line 2580
            getstatic java.net.URI.L_UNRESERVED:J
            lconst_1
            lor
            ldc ";:&=+$,"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            lor
        30: .line 2579
            putstatic java.net.URI.L_USERINFO:J
        31: .line 2582
            getstatic java.net.URI.H_UNRESERVED:J
            ldc ";:&=+$,"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            lor
        32: .line 2581
            putstatic java.net.URI.H_USERINFO:J
        33: .line 2587
            getstatic java.net.URI.L_UNRESERVED:J
            lconst_1
            lor
            ldc "$,;:@&=+"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            lor
        34: .line 2586
            putstatic java.net.URI.L_REG_NAME:J
        35: .line 2589
            getstatic java.net.URI.H_UNRESERVED:J
            ldc "$,;:@&=+"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            lor
        36: .line 2588
            putstatic java.net.URI.H_REG_NAME:J
        37: .line 2593
            getstatic java.net.URI.L_USERINFO:J
            getstatic java.net.URI.L_ALPHANUM:J
            lor
            getstatic java.net.URI.L_DASH:J
            lor
            ldc ".:@[]"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            lor
        38: .line 2592
            putstatic java.net.URI.L_SERVER:J
        39: .line 2595
            getstatic java.net.URI.H_USERINFO:J
            getstatic java.net.URI.H_ALPHANUM:J
            lor
            getstatic java.net.URI.H_DASH:J
            lor
            ldc ".:@[]"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            lor
        40: .line 2594
            putstatic java.net.URI.H_SERVER:J
        41: .line 2600
            getstatic java.net.URI.L_SERVER:J
            ldc "%"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            lor
        42: .line 2599
            putstatic java.net.URI.L_SERVER_PERCENT:J
        43: .line 2602
            getstatic java.net.URI.H_SERVER:J
            ldc "%"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            lor
        44: .line 2601
            putstatic java.net.URI.H_SERVER_PERCENT:J
        45: .line 2603
            ldc "["
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            putstatic java.net.URI.L_LEFT_BRACKET:J
        46: .line 2604
            ldc "["
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            putstatic java.net.URI.H_LEFT_BRACKET:J
        47: .line 2607
            getstatic java.net.URI.L_DIGIT:J
            ldc "+-."
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            lor
            putstatic java.net.URI.L_SCHEME:J
        48: .line 2608
            getstatic java.net.URI.H_ALPHA:J
            ldc "+-."
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            lor
            putstatic java.net.URI.H_SCHEME:J
        49: .line 2613
            getstatic java.net.URI.L_UNRESERVED:J
            lconst_1
            lor
            ldc ";?:@&=+$,"
            invokestatic java.net.URI.lowMask:(Ljava/lang/String;)J
            lor
        50: .line 2612
            putstatic java.net.URI.L_URIC_NO_SLASH:J
        51: .line 2615
            getstatic java.net.URI.H_UNRESERVED:J
            ldc ";?:@&=+$,"
            invokestatic java.net.URI.highMask:(Ljava/lang/String;)J
            lor
        52: .line 2614
            putstatic java.net.URI.H_URIC_NO_SLASH:J
        53: .line 2620
            bipush 16
            newarray 5
            dup
            iconst_0
        54: .line 2621
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
        55: .line 2622
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
            bipush 65
            castore
            dup
            bipush 11
            bipush 66
            castore
            dup
            bipush 12
            bipush 67
            castore
            dup
            bipush 13
            bipush 68
            castore
            dup
            bipush 14
            bipush 69
            castore
            dup
            bipush 15
            bipush 70
            castore
        56: .line 2620
            putstatic java.net.URI.hexDigits:[C
        57: .line 2623
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 523
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 494
            aload 0 /* this */
            iconst_m1
            putfield java.net.URI.port:I
         2: .line 505
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedUserInfo:Ljava/lang/String;
         3: .line 506
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedAuthority:Ljava/lang/String;
         4: .line 507
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedPath:Ljava/lang/String;
         5: .line 508
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedQuery:Ljava/lang/String;
         6: .line 509
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedFragment:Ljava/lang/String;
         7: .line 510
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedSchemeSpecificPart:Ljava/lang/String;
         8: .line 523
            return
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/net/URI;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.net.URI this
        start local 1 // java.lang.String str
         0: .line 594
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 494
            aload 0 /* this */
            iconst_m1
            putfield java.net.URI.port:I
         2: .line 505
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedUserInfo:Ljava/lang/String;
         3: .line 506
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedAuthority:Ljava/lang/String;
         4: .line 507
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedPath:Ljava/lang/String;
         5: .line 508
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedQuery:Ljava/lang/String;
         6: .line 509
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedFragment:Ljava/lang/String;
         7: .line 510
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedSchemeSpecificPart:Ljava/lang/String;
         8: .line 595
            new java.net.URI$Parser
            dup
            aload 0 /* this */
            aload 1 /* str */
            invokespecial java.net.URI$Parser.<init>:(Ljava/net/URI;Ljava/lang/String;)V
            iconst_0
            invokevirtual java.net.URI$Parser.parse:(Z)V
         9: .line 596
            return
        end local 1 // java.lang.String str
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/net/URI;
            0   10     1   str  Ljava/lang/String;
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
      Name  Flags
      str   

  public void <init>(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=8
        start local 0 // java.net.URI this
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String userInfo
        start local 3 // java.lang.String host
        start local 4 // int port
        start local 5 // java.lang.String path
        start local 6 // java.lang.String query
        start local 7 // java.lang.String fragment
         0: .line 671
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 494
            aload 0 /* this */
            iconst_m1
            putfield java.net.URI.port:I
         2: .line 505
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedUserInfo:Ljava/lang/String;
         3: .line 506
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedAuthority:Ljava/lang/String;
         4: .line 507
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedPath:Ljava/lang/String;
         5: .line 508
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedQuery:Ljava/lang/String;
         6: .line 509
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedFragment:Ljava/lang/String;
         7: .line 510
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedSchemeSpecificPart:Ljava/lang/String;
         8: .line 676
            aload 0 /* this */
            aload 1 /* scheme */
            aconst_null
         9: .line 677
            aconst_null
            aload 2 /* userInfo */
            aload 3 /* host */
            iload 4 /* port */
        10: .line 678
            aload 5 /* path */
            aload 6 /* query */
            aload 7 /* fragment */
        11: .line 676
            invokevirtual java.net.URI.toString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* s */
        start local 8 // java.lang.String s
        12: .line 679
            aload 8 /* s */
            aload 1 /* scheme */
            aload 5 /* path */
            invokestatic java.net.URI.checkPath:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 680
            new java.net.URI$Parser
            dup
            aload 0 /* this */
            aload 8 /* s */
            invokespecial java.net.URI$Parser.<init>:(Ljava/net/URI;Ljava/lang/String;)V
            iconst_1
            invokevirtual java.net.URI$Parser.parse:(Z)V
        14: .line 681
            return
        end local 8 // java.lang.String s
        end local 7 // java.lang.String fragment
        end local 6 // java.lang.String query
        end local 5 // java.lang.String path
        end local 4 // int port
        end local 3 // java.lang.String host
        end local 2 // java.lang.String userInfo
        end local 1 // java.lang.String scheme
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Ljava/net/URI;
            0   15     1    scheme  Ljava/lang/String;
            0   15     2  userInfo  Ljava/lang/String;
            0   15     3      host  Ljava/lang/String;
            0   15     4      port  I
            0   15     5      path  Ljava/lang/String;
            0   15     6     query  Ljava/lang/String;
            0   15     7  fragment  Ljava/lang/String;
           12   15     8         s  Ljava/lang/String;
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
          Name  Flags
      scheme    
      userInfo  
      host      
      port      
      path      
      query     
      fragment  

  public void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=6
        start local 0 // java.net.URI this
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String authority
        start local 3 // java.lang.String path
        start local 4 // java.lang.String query
        start local 5 // java.lang.String fragment
         0: .line 744
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 494
            aload 0 /* this */
            iconst_m1
            putfield java.net.URI.port:I
         2: .line 505
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedUserInfo:Ljava/lang/String;
         3: .line 506
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedAuthority:Ljava/lang/String;
         4: .line 507
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedPath:Ljava/lang/String;
         5: .line 508
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedQuery:Ljava/lang/String;
         6: .line 509
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedFragment:Ljava/lang/String;
         7: .line 510
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedSchemeSpecificPart:Ljava/lang/String;
         8: .line 749
            aload 0 /* this */
            aload 1 /* scheme */
            aconst_null
         9: .line 750
            aload 2 /* authority */
            aconst_null
            aconst_null
            iconst_m1
        10: .line 751
            aload 3 /* path */
            aload 4 /* query */
            aload 5 /* fragment */
        11: .line 749
            invokevirtual java.net.URI.toString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* s */
        start local 6 // java.lang.String s
        12: .line 752
            aload 6 /* s */
            aload 1 /* scheme */
            aload 3 /* path */
            invokestatic java.net.URI.checkPath:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 753
            new java.net.URI$Parser
            dup
            aload 0 /* this */
            aload 6 /* s */
            invokespecial java.net.URI$Parser.<init>:(Ljava/net/URI;Ljava/lang/String;)V
            iconst_0
            invokevirtual java.net.URI$Parser.parse:(Z)V
        14: .line 754
            return
        end local 6 // java.lang.String s
        end local 5 // java.lang.String fragment
        end local 4 // java.lang.String query
        end local 3 // java.lang.String path
        end local 2 // java.lang.String authority
        end local 1 // java.lang.String scheme
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Ljava/net/URI;
            0   15     1     scheme  Ljava/lang/String;
            0   15     2  authority  Ljava/lang/String;
            0   15     3       path  Ljava/lang/String;
            0   15     4      query  Ljava/lang/String;
            0   15     5   fragment  Ljava/lang/String;
           12   15     6          s  Ljava/lang/String;
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
           Name  Flags
      scheme     
      authority  
      path       
      query      
      fragment   

  public void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // java.net.URI this
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String host
        start local 3 // java.lang.String path
        start local 4 // java.lang.String fragment
         0: .line 781
            aload 0 /* this */
            aload 1 /* scheme */
            aconst_null
            aload 2 /* host */
            iconst_m1
            aload 3 /* path */
            aconst_null
            aload 4 /* fragment */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 782
            return
        end local 4 // java.lang.String fragment
        end local 3 // java.lang.String path
        end local 2 // java.lang.String host
        end local 1 // java.lang.String scheme
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljava/net/URI;
            0    2     1    scheme  Ljava/lang/String;
            0    2     2      host  Ljava/lang/String;
            0    2     3      path  Ljava/lang/String;
            0    2     4  fragment  Ljava/lang/String;
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
          Name  Flags
      scheme    
      host      
      path      
      fragment  

  public void <init>(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=4, args_size=4
        start local 0 // java.net.URI this
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String ssp
        start local 3 // java.lang.String fragment
         0: .line 821
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 494
            aload 0 /* this */
            iconst_m1
            putfield java.net.URI.port:I
         2: .line 505
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedUserInfo:Ljava/lang/String;
         3: .line 506
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedAuthority:Ljava/lang/String;
         4: .line 507
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedPath:Ljava/lang/String;
         5: .line 508
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedQuery:Ljava/lang/String;
         6: .line 509
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedFragment:Ljava/lang/String;
         7: .line 510
            aload 0 /* this */
            aconst_null
            putfield java.net.URI.decodedSchemeSpecificPart:Ljava/lang/String;
         8: .line 824
            new java.net.URI$Parser
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* scheme */
            aload 2 /* ssp */
         9: .line 825
            aconst_null
            aconst_null
            aconst_null
            iconst_m1
        10: .line 826
            aconst_null
            aconst_null
            aload 3 /* fragment */
        11: .line 824
            invokevirtual java.net.URI.toString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.net.URI$Parser.<init>:(Ljava/net/URI;Ljava/lang/String;)V
        12: .line 827
            iconst_0
            invokevirtual java.net.URI$Parser.parse:(Z)V
        13: .line 828
            return
        end local 3 // java.lang.String fragment
        end local 2 // java.lang.String ssp
        end local 1 // java.lang.String scheme
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljava/net/URI;
            0   14     1    scheme  Ljava/lang/String;
            0   14     2       ssp  Ljava/lang/String;
            0   14     3  fragment  Ljava/lang/String;
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
          Name  Flags
      scheme    
      ssp       
      fragment  

  public static java.net.URI create(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String str
         0: .line 857
            new java.net.URI
            dup
            aload 0 /* str */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
         1: areturn
         2: .line 858
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
            astore 1 /* x */
        start local 1 // java.net.URISyntaxException x
         3: .line 859
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            astore 2 /* y */
        start local 2 // java.lang.IllegalArgumentException y
         4: .line 860
            aload 2 /* y */
            aload 1 /* x */
            invokevirtual java.lang.IllegalArgumentException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         5: .line 861
            aload 2 /* y */
            athrow
        end local 2 // java.lang.IllegalArgumentException y
        end local 1 // java.net.URISyntaxException x
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   str  Ljava/lang/String;
            3    6     1     x  Ljava/net/URISyntaxException;
            4    6     2     y  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.URISyntaxException
    MethodParameters:
      Name  Flags
      str   

  public java.net.URI parseServerAuthority();
    descriptor: ()Ljava/net/URI;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 921
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            ifnonnull 1
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            ifnonnull 2
         1: .line 922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
         2: .line 923
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.net.URI.defineString:()V
         3: .line 924
            new java.net.URI$Parser
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield java.net.URI.string:Ljava/lang/String;
            invokespecial java.net.URI$Parser.<init>:(Ljava/net/URI;Ljava/lang/String;)V
            iconst_1
            invokevirtual java.net.URI$Parser.parse:(Z)V
         4: .line 925
            aload 0 /* this */
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/net/URI;
    Exceptions:
      throws java.net.URISyntaxException

  public java.net.URI normalize();
    descriptor: ()Ljava/net/URI;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 966
            aload 0 /* this */
            invokestatic java.net.URI.normalize:(Ljava/net/URI;)Ljava/net/URI;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;

  public java.net.URI resolve(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/net/URI;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.net.URI this
        start local 1 // java.net.URI uri
         0: .line 1024
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic java.net.URI.resolve:(Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;
            areturn
        end local 1 // java.net.URI uri
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;
            0    1     1   uri  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      uri   

  public java.net.URI resolve(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URI;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.net.URI this
        start local 1 // java.lang.String str
         0: .line 1045
            aload 0 /* this */
            aload 1 /* str */
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            invokevirtual java.net.URI.resolve:(Ljava/net/URI;)Ljava/net/URI;
            areturn
        end local 1 // java.lang.String str
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;
            0    1     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public java.net.URI relativize(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/net/URI;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.net.URI this
        start local 1 // java.net.URI uri
         0: .line 1075
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic java.net.URI.relativize:(Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;
            areturn
        end local 1 // java.net.URI uri
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;
            0    1     1   uri  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      uri   

  public java.net.URL toURL();
    descriptor: ()Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1096
            aload 0 /* this */
            invokevirtual java.net.URI.isAbsolute:()Z
            ifne 2
         1: .line 1097
            new java.lang.IllegalArgumentException
            dup
            ldc "URI is not absolute"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1098
      StackMap locals:
      StackMap stack:
            new java.net.URL
            dup
            aload 0 /* this */
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/URI;
    Exceptions:
      throws java.net.MalformedURLException

  public java.lang.String getScheme();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1117
            aload 0 /* this */
            getfield java.net.URI.scheme:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;

  public boolean isAbsolute();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1128
            aload 0 /* this */
            getfield java.net.URI.scheme:Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/net/URI;

  public boolean isOpaque();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1142
            aload 0 /* this */
            getfield java.net.URI.path:Ljava/lang/String;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/net/URI;

  public java.lang.String getRawSchemeSpecificPart();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1156
            aload 0 /* this */
            invokevirtual java.net.URI.defineSchemeSpecificPart:()V
         1: .line 1157
            aload 0 /* this */
            getfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/net/URI;

  public java.lang.String getSchemeSpecificPart();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1172
            aload 0 /* this */
            getfield java.net.URI.decodedSchemeSpecificPart:Ljava/lang/String;
            ifnonnull 2
         1: .line 1173
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.net.URI.getRawSchemeSpecificPart:()Ljava/lang/String;
            invokestatic java.net.URI.decode:(Ljava/lang/String;)Ljava/lang/String;
            putfield java.net.URI.decodedSchemeSpecificPart:Ljava/lang/String;
         2: .line 1174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.decodedSchemeSpecificPart:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/URI;

  public java.lang.String getRawAuthority();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1191
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;

  public java.lang.String getAuthority();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1205
            aload 0 /* this */
            getfield java.net.URI.decodedAuthority:Ljava/lang/String;
            ifnonnull 2
         1: .line 1206
            aload 0 /* this */
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            invokestatic java.net.URI.decode:(Ljava/lang/String;)Ljava/lang/String;
            putfield java.net.URI.decodedAuthority:Ljava/lang/String;
         2: .line 1207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.decodedAuthority:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/URI;

  public java.lang.String getRawUserInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1221
            aload 0 /* this */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;

  public java.lang.String getUserInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1235
            aload 0 /* this */
            getfield java.net.URI.decodedUserInfo:Ljava/lang/String;
            ifnonnull 2
            aload 0 /* this */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            ifnull 2
         1: .line 1236
            aload 0 /* this */
            aload 0 /* this */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            invokestatic java.net.URI.decode:(Ljava/lang/String;)Ljava/lang/String;
            putfield java.net.URI.decodedUserInfo:Ljava/lang/String;
         2: .line 1237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.decodedUserInfo:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/URI;

  public java.lang.String getHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1277
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;

  public int getPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1290
            aload 0 /* this */
            getfield java.net.URI.port:I
            ireturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;

  public java.lang.String getRawPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1305
            aload 0 /* this */
            getfield java.net.URI.path:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;

  public java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1319
            aload 0 /* this */
            getfield java.net.URI.decodedPath:Ljava/lang/String;
            ifnonnull 2
            aload 0 /* this */
            getfield java.net.URI.path:Ljava/lang/String;
            ifnull 2
         1: .line 1320
            aload 0 /* this */
            aload 0 /* this */
            getfield java.net.URI.path:Ljava/lang/String;
            invokestatic java.net.URI.decode:(Ljava/lang/String;)Ljava/lang/String;
            putfield java.net.URI.decodedPath:Ljava/lang/String;
         2: .line 1321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.decodedPath:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/URI;

  public java.lang.String getRawQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1334
            aload 0 /* this */
            getfield java.net.URI.query:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;

  public java.lang.String getQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1348
            aload 0 /* this */
            getfield java.net.URI.decodedQuery:Ljava/lang/String;
            ifnonnull 2
            aload 0 /* this */
            getfield java.net.URI.query:Ljava/lang/String;
            ifnull 2
         1: .line 1349
            aload 0 /* this */
            aload 0 /* this */
            getfield java.net.URI.query:Ljava/lang/String;
            invokestatic java.net.URI.decode:(Ljava/lang/String;)Ljava/lang/String;
            putfield java.net.URI.decodedQuery:Ljava/lang/String;
         2: .line 1350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.decodedQuery:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/URI;

  public java.lang.String getRawFragment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1363
            aload 0 /* this */
            getfield java.net.URI.fragment:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI;

  public java.lang.String getFragment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1377
            aload 0 /* this */
            getfield java.net.URI.decodedFragment:Ljava/lang/String;
            ifnonnull 2
            aload 0 /* this */
            getfield java.net.URI.fragment:Ljava/lang/String;
            ifnull 2
         1: .line 1378
            aload 0 /* this */
            aload 0 /* this */
            getfield java.net.URI.fragment:Ljava/lang/String;
            invokestatic java.net.URI.decode:(Ljava/lang/String;)Ljava/lang/String;
            putfield java.net.URI.decodedFragment:Ljava/lang/String;
         2: .line 1379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.decodedFragment:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/URI;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.net.URI this
        start local 1 // java.lang.Object ob
         0: .line 1423
            aload 1 /* ob */
            aload 0 /* this */
            if_acmpne 2
         1: .line 1424
            iconst_1
            ireturn
         2: .line 1425
      StackMap locals:
      StackMap stack:
            aload 1 /* ob */
            instanceof java.net.URI
            ifne 4
         3: .line 1426
            iconst_0
            ireturn
         4: .line 1427
      StackMap locals:
      StackMap stack:
            aload 1 /* ob */
            checkcast java.net.URI
            astore 2 /* that */
        start local 2 // java.net.URI that
         5: .line 1428
            aload 0 /* this */
            invokevirtual java.net.URI.isOpaque:()Z
            aload 2 /* that */
            invokevirtual java.net.URI.isOpaque:()Z
            if_icmpeq 6
            iconst_0
            ireturn
         6: .line 1429
      StackMap locals: java.net.URI
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.scheme:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.scheme:Ljava/lang/String;
            invokestatic java.net.URI.equalIgnoringCase:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 7
            iconst_0
            ireturn
         7: .line 1430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.fragment:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.fragment:Ljava/lang/String;
            invokestatic java.net.URI.equal:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 8
            iconst_0
            ireturn
         8: .line 1433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.net.URI.isOpaque:()Z
            ifeq 10
         9: .line 1434
            aload 0 /* this */
            getfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
            invokestatic java.net.URI.equal:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        10: .line 1437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.path:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.path:Ljava/lang/String;
            invokestatic java.net.URI.equal:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 11
            iconst_0
            ireturn
        11: .line 1438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.query:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.query:Ljava/lang/String;
            invokestatic java.net.URI.equal:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 12
            iconst_0
            ireturn
        12: .line 1441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.authority:Ljava/lang/String;
            if_acmpne 13
            iconst_1
            ireturn
        13: .line 1442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            ifnull 17
        14: .line 1444
            aload 0 /* this */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            invokestatic java.net.URI.equal:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 15
            iconst_0
            ireturn
        15: .line 1445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.host:Ljava/lang/String;
            invokestatic java.net.URI.equalIgnoringCase:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 16
            iconst_0
            ireturn
        16: .line 1446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.port:I
            aload 2 /* that */
            getfield java.net.URI.port:I
            if_icmpeq 21
            iconst_0
            ireturn
        17: .line 1447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            ifnull 19
        18: .line 1449
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.authority:Ljava/lang/String;
            invokestatic java.net.URI.equal:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 21
            iconst_0
            ireturn
        19: .line 1450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            aload 2 /* that */
            getfield java.net.URI.authority:Ljava/lang/String;
            if_acmpeq 21
        20: .line 1451
            iconst_0
            ireturn
        21: .line 1454
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.net.URI that
        end local 1 // java.lang.Object ob
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Ljava/net/URI;
            0   22     1    ob  Ljava/lang/Object;
            5   22     2  that  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      ob    

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.net.URI this
         0: .line 1465
            aload 0 /* this */
            getfield java.net.URI.hash:I
            ifeq 2
         1: .line 1466
            aload 0 /* this */
            getfield java.net.URI.hash:I
            ireturn
         2: .line 1467
      StackMap locals:
      StackMap stack:
            iconst_0
            aload 0 /* this */
            getfield java.net.URI.scheme:Ljava/lang/String;
            invokestatic java.net.URI.hashIgnoringCase:(ILjava/lang/String;)I
            istore 1 /* h */
        start local 1 // int h
         3: .line 1468
            iload 1 /* h */
            aload 0 /* this */
            getfield java.net.URI.fragment:Ljava/lang/String;
            invokestatic java.net.URI.hash:(ILjava/lang/String;)I
            istore 1 /* h */
         4: .line 1469
            aload 0 /* this */
            invokevirtual java.net.URI.isOpaque:()Z
            ifeq 7
         5: .line 1470
            iload 1 /* h */
            aload 0 /* this */
            getfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
            invokestatic java.net.URI.hash:(ILjava/lang/String;)I
            istore 1 /* h */
         6: .line 1471
            goto 15
         7: .line 1472
      StackMap locals: int
      StackMap stack:
            iload 1 /* h */
            aload 0 /* this */
            getfield java.net.URI.path:Ljava/lang/String;
            invokestatic java.net.URI.hash:(ILjava/lang/String;)I
            istore 1 /* h */
         8: .line 1473
            iload 1 /* h */
            aload 0 /* this */
            getfield java.net.URI.query:Ljava/lang/String;
            invokestatic java.net.URI.hash:(ILjava/lang/String;)I
            istore 1 /* h */
         9: .line 1474
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            ifnull 14
        10: .line 1475
            iload 1 /* h */
            aload 0 /* this */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            invokestatic java.net.URI.hash:(ILjava/lang/String;)I
            istore 1 /* h */
        11: .line 1476
            iload 1 /* h */
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            invokestatic java.net.URI.hashIgnoringCase:(ILjava/lang/String;)I
            istore 1 /* h */
        12: .line 1477
            iload 1 /* h */
            sipush 1949
            aload 0 /* this */
            getfield java.net.URI.port:I
            imul
            iadd
            istore 1 /* h */
        13: .line 1478
            goto 15
        14: .line 1479
      StackMap locals:
      StackMap stack:
            iload 1 /* h */
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            invokestatic java.net.URI.hash:(ILjava/lang/String;)I
            istore 1 /* h */
        15: .line 1482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* h */
            putfield java.net.URI.hash:I
        16: .line 1483
            iload 1 /* h */
            ireturn
        end local 1 // int h
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljava/net/URI;
            3   17     1     h  I

  public int compareTo(java.net.URI);
    descriptor: (Ljava/net/URI;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.net.URI this
        start local 1 // java.net.URI that
         0: .line 1557
            aload 0 /* this */
            getfield java.net.URI.scheme:Ljava/lang/String;
            aload 1 /* that */
            getfield java.net.URI.scheme:Ljava/lang/String;
            invokestatic java.net.URI.compareIgnoringCase:(Ljava/lang/String;Ljava/lang/String;)I
            dup
            istore 2 /* c */
        start local 2 // int c
         1: ifeq 3
         2: .line 1558
            iload 2 /* c */
            ireturn
         3: .line 1560
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.net.URI.isOpaque:()Z
            ifeq 11
         4: .line 1561
            aload 1 /* that */
            invokevirtual java.net.URI.isOpaque:()Z
            ifeq 10
         5: .line 1563
            aload 0 /* this */
            getfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
         6: .line 1564
            aload 1 /* that */
            getfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
         7: .line 1563
            invokestatic java.net.URI.compare:(Ljava/lang/String;Ljava/lang/String;)I
            dup
            istore 2 /* c */
            ifeq 9
         8: .line 1565
            iload 2 /* c */
            ireturn
         9: .line 1566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.fragment:Ljava/lang/String;
            aload 1 /* that */
            getfield java.net.URI.fragment:Ljava/lang/String;
            invokestatic java.net.URI.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ireturn
        10: .line 1568
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        11: .line 1569
      StackMap locals:
      StackMap stack:
            aload 1 /* that */
            invokevirtual java.net.URI.isOpaque:()Z
            ifeq 13
        12: .line 1570
            iconst_m1
            ireturn
        13: .line 1574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            ifnull 20
            aload 1 /* that */
            getfield java.net.URI.host:Ljava/lang/String;
            ifnull 20
        14: .line 1576
            aload 0 /* this */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            aload 1 /* that */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            invokestatic java.net.URI.compare:(Ljava/lang/String;Ljava/lang/String;)I
            dup
            istore 2 /* c */
            ifeq 16
        15: .line 1577
            iload 2 /* c */
            ireturn
        16: .line 1578
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            aload 1 /* that */
            getfield java.net.URI.host:Ljava/lang/String;
            invokestatic java.net.URI.compareIgnoringCase:(Ljava/lang/String;Ljava/lang/String;)I
            dup
            istore 2 /* c */
            ifeq 18
        17: .line 1579
            iload 2 /* c */
            ireturn
        18: .line 1580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.port:I
            aload 1 /* that */
            getfield java.net.URI.port:I
            isub
            dup
            istore 2 /* c */
            ifeq 21
        19: .line 1581
            iload 2 /* c */
            ireturn
        20: .line 1589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            aload 1 /* that */
            getfield java.net.URI.authority:Ljava/lang/String;
            invokestatic java.net.URI.compare:(Ljava/lang/String;Ljava/lang/String;)I
            dup
            istore 2 /* c */
            ifeq 21
            iload 2 /* c */
            ireturn
        21: .line 1592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.path:Ljava/lang/String;
            aload 1 /* that */
            getfield java.net.URI.path:Ljava/lang/String;
            invokestatic java.net.URI.compare:(Ljava/lang/String;Ljava/lang/String;)I
            dup
            istore 2 /* c */
            ifeq 22
            iload 2 /* c */
            ireturn
        22: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.query:Ljava/lang/String;
            aload 1 /* that */
            getfield java.net.URI.query:Ljava/lang/String;
            invokestatic java.net.URI.compare:(Ljava/lang/String;Ljava/lang/String;)I
            dup
            istore 2 /* c */
            ifeq 23
            iload 2 /* c */
            ireturn
        23: .line 1594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.fragment:Ljava/lang/String;
            aload 1 /* that */
            getfield java.net.URI.fragment:Ljava/lang/String;
            invokestatic java.net.URI.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ireturn
        end local 2 // int c
        end local 1 // java.net.URI that
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Ljava/net/URI;
            0   24     1  that  Ljava/net/URI;
            1   24     2     c  I
    MethodParameters:
      Name  Flags
      that  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1612
            aload 0 /* this */
            invokevirtual java.net.URI.defineString:()V
         1: .line 1613
            aload 0 /* this */
            getfield java.net.URI.string:Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/net/URI;

  public java.lang.String toASCIIString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URI this
         0: .line 1630
            aload 0 /* this */
            invokevirtual java.net.URI.defineString:()V
         1: .line 1631
            aload 0 /* this */
            getfield java.net.URI.string:Ljava/lang/String;
            invokestatic java.net.URI.encode:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/net/URI;

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.net.URI this
        start local 1 // java.io.ObjectOutputStream os
         0: .line 1651
            aload 0 /* this */
            invokevirtual java.net.URI.defineString:()V
         1: .line 1652
            aload 1 /* os */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         2: .line 1653
            return
        end local 1 // java.io.ObjectOutputStream os
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/URI;
            0    3     1    os  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      os    

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.net.URI this
        start local 1 // java.io.ObjectInputStream is
         0: .line 1668
            aload 0 /* this */
            iconst_m1
            putfield java.net.URI.port:I
         1: .line 1669
            aload 1 /* is */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         2: .line 1671
            new java.net.URI$Parser
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield java.net.URI.string:Ljava/lang/String;
            invokespecial java.net.URI$Parser.<init>:(Ljava/net/URI;Ljava/lang/String;)V
            iconst_0
            invokevirtual java.net.URI$Parser.parse:(Z)V
         3: .line 1672
            goto 8
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
         4: astore 2 /* x */
        start local 2 // java.net.URISyntaxException x
         5: .line 1673
            new java.io.InvalidObjectException
            dup
            ldc "Invalid URI"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            astore 3 /* y */
        start local 3 // java.io.IOException y
         6: .line 1674
            aload 3 /* y */
            aload 2 /* x */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         7: .line 1675
            aload 3 /* y */
            athrow
        end local 3 // java.io.IOException y
        end local 2 // java.net.URISyntaxException x
         8: .line 1677
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectInputStream is
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/net/URI;
            0    9     1    is  Ljava/io/ObjectInputStream;
            5    8     2     x  Ljava/net/URISyntaxException;
            6    8     3     y  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.net.URISyntaxException
    Exceptions:
      throws java.lang.ClassNotFoundException, java.io.IOException
    MethodParameters:
      Name  Flags
      is    

  private static int toLower(char);
    descriptor: (C)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 1694
            iload 0 /* c */
            bipush 65
            if_icmplt 2
            iload 0 /* c */
            bipush 90
            if_icmpgt 2
         1: .line 1695
            iload 0 /* c */
            bipush 32
            iadd
            ireturn
         2: .line 1696
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private static boolean equal(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String t
         0: .line 1700
            aload 0 /* s */
            aload 1 /* t */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 1701
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            ifnull 25
            aload 1 /* t */
            ifnull 25
         2: .line 1702
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            aload 1 /* t */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 4
         3: .line 1703
            iconst_0
            ireturn
         4: .line 1704
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            bipush 37
            invokevirtual java.lang.String.indexOf:(I)I
            ifge 6
         5: .line 1705
            aload 0 /* s */
            aload 1 /* t */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         6: .line 1706
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* n */
        start local 2 // int n
         7: .line 1707
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 23
         9: .line 1708
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
        10: .line 1709
            aload 1 /* t */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* d */
        start local 5 // char d
        11: .line 1710
            iload 4 /* c */
            bipush 37
            if_icmpeq 16
        12: .line 1711
            iload 4 /* c */
            iload 5 /* d */
            if_icmpeq 14
        13: .line 1712
            iconst_0
            ireturn
        14: .line 1713
      StackMap locals: int int
      StackMap stack:
            iinc 3 /* i */ 1
        15: .line 1714
            goto 23
        16: .line 1716
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        17: .line 1717
            aload 0 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.toLower:(C)I
            aload 1 /* t */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.toLower:(C)I
            if_icmpeq 19
        18: .line 1718
            iconst_0
            ireturn
        19: .line 1719
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        20: .line 1720
            aload 0 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.toLower:(C)I
            aload 1 /* t */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.toLower:(C)I
            if_icmpeq 22
        21: .line 1721
            iconst_0
            ireturn
        22: .line 1722
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 5 // char d
        end local 4 // char c
        23: .line 1707
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* n */
            if_icmplt 9
        end local 3 // int i
        24: .line 1724
            iconst_1
            ireturn
        end local 2 // int n
        25: .line 1726
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String t
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0     s  Ljava/lang/String;
            0   26     1     t  Ljava/lang/String;
            7   25     2     n  I
            8   24     3     i  I
           10   23     4     c  C
           11   23     5     d  C
    MethodParameters:
      Name  Flags
      s     
      t     

  private static boolean equalIgnoringCase(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String t
         0: .line 1731
            aload 0 /* s */
            aload 1 /* t */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 1732
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            ifnull 12
            aload 1 /* t */
            ifnull 12
         2: .line 1733
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* n */
        start local 2 // int n
         3: .line 1734
            aload 1 /* t */
            invokevirtual java.lang.String.length:()I
            iload 2 /* n */
            if_icmpeq 5
         4: .line 1735
            iconst_0
            ireturn
         5: .line 1736
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 10
         7: .line 1737
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.toLower:(C)I
            aload 1 /* t */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.toLower:(C)I
            if_icmpeq 9
         8: .line 1738
            iconst_0
            ireturn
         9: .line 1736
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 2 /* n */
            if_icmplt 7
        end local 3 // int i
        11: .line 1740
            iconst_1
            ireturn
        end local 2 // int n
        12: .line 1742
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String t
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     s  Ljava/lang/String;
            0   13     1     t  Ljava/lang/String;
            3   12     2     n  I
            6   11     3     i  I
    MethodParameters:
      Name  Flags
      s     
      t     

  private static int hash(int, java.lang.String);
    descriptor: (ILjava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int hash
        start local 1 // java.lang.String s
         0: .line 1746
            aload 1 /* s */
            ifnonnull 1
            iload 0 /* hash */
            ireturn
         1: .line 1747
      StackMap locals:
      StackMap stack:
            iload 0 /* hash */
            bipush 127
            imul
            aload 1 /* s */
            invokevirtual java.lang.String.hashCode:()I
            iadd
            ireturn
        end local 1 // java.lang.String s
        end local 0 // int hash
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  hash  I
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      hash  
      s     

  private static int hashIgnoringCase(int, java.lang.String);
    descriptor: (ILjava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // int hash
        start local 1 // java.lang.String s
         0: .line 1752
            aload 1 /* s */
            ifnonnull 1
            iload 0 /* hash */
            ireturn
         1: .line 1753
      StackMap locals:
      StackMap stack:
            iload 0 /* hash */
            istore 2 /* h */
        start local 2 // int h
         2: .line 1754
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* n */
        start local 3 // int n
         3: .line 1755
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 1756
      StackMap locals: int int int
      StackMap stack:
            bipush 31
            iload 2 /* h */
            imul
            aload 1 /* s */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.toLower:(C)I
            iadd
            istore 2 /* h */
         6: .line 1755
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* n */
            if_icmplt 5
        end local 4 // int i
         8: .line 1757
            iload 2 /* h */
            ireturn
        end local 3 // int n
        end local 2 // int h
        end local 1 // java.lang.String s
        end local 0 // int hash
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  hash  I
            0    9     1     s  Ljava/lang/String;
            2    9     2     h  I
            3    9     3     n  I
            4    8     4     i  I
    MethodParameters:
      Name  Flags
      hash  
      s     

  private static int compare(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String t
         0: .line 1761
            aload 0 /* s */
            aload 1 /* t */
            if_acmpne 1
            iconst_0
            ireturn
         1: .line 1762
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            ifnull 5
         2: .line 1763
            aload 1 /* t */
            ifnull 4
         3: .line 1764
            aload 0 /* s */
            aload 1 /* t */
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
         4: .line 1766
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 1768
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // java.lang.String t
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     s  Ljava/lang/String;
            0    6     1     t  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     
      t     

  private static int compareIgnoringCase(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String t
         0: .line 1774
            aload 0 /* s */
            aload 1 /* t */
            if_acmpne 1
            iconst_0
            ireturn
         1: .line 1775
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            ifnull 17
         2: .line 1776
            aload 1 /* t */
            ifnull 16
         3: .line 1777
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* sn */
        start local 2 // int sn
         4: .line 1778
            aload 1 /* t */
            invokevirtual java.lang.String.length:()I
            istore 3 /* tn */
        start local 3 // int tn
         5: .line 1779
            iload 2 /* sn */
            iload 3 /* tn */
            if_icmpge 6
            iload 2 /* sn */
            goto 7
      StackMap locals: int int
      StackMap stack:
         6: iload 3 /* tn */
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* n */
        start local 4 // int n
         8: .line 1780
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 14
        10: .line 1781
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.toLower:(C)I
            aload 1 /* t */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.toLower:(C)I
            isub
            istore 6 /* c */
        start local 6 // int c
        11: .line 1782
            iload 6 /* c */
            ifeq 13
        12: .line 1783
            iload 6 /* c */
            ireturn
        end local 6 // int c
        13: .line 1780
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            iload 4 /* n */
            if_icmplt 10
        end local 5 // int i
        15: .line 1785
            iload 2 /* sn */
            iload 3 /* tn */
            isub
            ireturn
        end local 4 // int n
        end local 3 // int tn
        end local 2 // int sn
        16: .line 1787
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iconst_1
            ireturn
        17: .line 1789
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // java.lang.String t
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0     s  Ljava/lang/String;
            0   18     1     t  Ljava/lang/String;
            4   16     2    sn  I
            5   16     3    tn  I
            8   16     4     n  I
            9   15     5     i  I
           11   13     6     c  I
    MethodParameters:
      Name  Flags
      s     
      t     

  private static void checkPath(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String s
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String path
         0: .line 1801
            aload 1 /* scheme */
            ifnull 6
         1: .line 1802
            aload 2 /* path */
            ifnull 6
         2: .line 1803
            aload 2 /* path */
            invokevirtual java.lang.String.length:()I
            ifle 6
            aload 2 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 6
         3: .line 1804
            new java.net.URISyntaxException
            dup
            aload 0 /* s */
         4: .line 1805
            ldc "Relative path in absolute URI"
         5: .line 1804
            invokespecial java.net.URISyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         6: .line 1807
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String path
        end local 1 // java.lang.String scheme
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0       s  Ljava/lang/String;
            0    7     1  scheme  Ljava/lang/String;
            0    7     2    path  Ljava/lang/String;
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
        Name  Flags
      s       
      scheme  
      path    

  private void appendAuthority(java.lang.StringBuffer, java.lang.String, java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // java.net.URI this
        start local 1 // java.lang.StringBuffer sb
        start local 2 // java.lang.String authority
        start local 3 // java.lang.String userInfo
        start local 4 // java.lang.String host
        start local 5 // int port
         0: .line 1815
            aload 4 /* host */
            ifnull 18
         1: .line 1816
            aload 1 /* sb */
            ldc "//"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 1817
            aload 3 /* userInfo */
            ifnull 5
         3: .line 1818
            aload 1 /* sb */
            aload 3 /* userInfo */
            getstatic java.net.URI.L_USERINFO:J
            getstatic java.net.URI.H_USERINFO:J
            invokestatic java.net.URI.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 1819
            aload 1 /* sb */
            bipush 64
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 1821
      StackMap locals:
      StackMap stack:
            aload 4 /* host */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 9
         6: .line 1822
            aload 4 /* host */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 9
         7: .line 1823
            aload 4 /* host */
            ldc "]"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 9
         8: .line 1821
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* needBrackets */
        start local 6 // boolean needBrackets
        11: .line 1824
            iload 6 /* needBrackets */
            ifeq 12
            aload 1 /* sb */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 1825
      StackMap locals: int
      StackMap stack:
            aload 1 /* sb */
            aload 4 /* host */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 1826
            iload 6 /* needBrackets */
            ifeq 14
            aload 1 /* sb */
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 1827
      StackMap locals:
      StackMap stack:
            iload 5 /* port */
            iconst_m1
            if_icmpeq 39
        15: .line 1828
            aload 1 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        16: .line 1829
            aload 1 /* sb */
            iload 5 /* port */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        end local 6 // boolean needBrackets
        17: .line 1831
            goto 39
      StackMap locals:
      StackMap stack:
        18: aload 2 /* authority */
            ifnull 39
        19: .line 1832
            aload 1 /* sb */
            ldc "//"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        20: .line 1833
            aload 2 /* authority */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 35
        21: .line 1834
            aload 2 /* authority */
            ldc "]"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 6 /* end */
        start local 6 // int end
        22: .line 1835
            iload 6 /* end */
            iconst_m1
            if_icmpeq 39
            aload 2 /* authority */
            ldc ":"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 39
        23: .line 1837
            iload 6 /* end */
            aload 2 /* authority */
            invokevirtual java.lang.String.length:()I
            if_icmpne 27
        24: .line 1838
            aload 2 /* authority */
            astore 8 /* dontquote */
        start local 8 // java.lang.String dontquote
        25: .line 1839
            ldc ""
            astore 7 /* doquote */
        start local 7 // java.lang.String doquote
        26: .line 1840
            goto 29
        end local 8 // java.lang.String dontquote
        end local 7 // java.lang.String doquote
        27: .line 1841
      StackMap locals: int
      StackMap stack:
            aload 2 /* authority */
            iconst_0
            iload 6 /* end */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* dontquote */
        start local 8 // java.lang.String dontquote
        28: .line 1842
            aload 2 /* authority */
            iload 6 /* end */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* doquote */
        start local 7 // java.lang.String doquote
        29: .line 1844
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* sb */
            aload 8 /* dontquote */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        30: .line 1845
            aload 1 /* sb */
            aload 7 /* doquote */
        31: .line 1846
            getstatic java.net.URI.L_REG_NAME:J
            getstatic java.net.URI.L_SERVER:J
            lor
        32: .line 1847
            getstatic java.net.URI.H_REG_NAME:J
            getstatic java.net.URI.H_SERVER:J
            lor
        33: .line 1845
            invokestatic java.net.URI.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 8 // java.lang.String dontquote
        end local 7 // java.lang.String doquote
        end local 6 // int end
        34: .line 1849
            goto 39
        35: .line 1850
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 2 /* authority */
        36: .line 1851
            getstatic java.net.URI.L_REG_NAME:J
            getstatic java.net.URI.L_SERVER:J
            lor
        37: .line 1852
            getstatic java.net.URI.H_REG_NAME:J
            getstatic java.net.URI.H_SERVER:J
            lor
        38: .line 1850
            invokestatic java.net.URI.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        39: .line 1855
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int port
        end local 4 // java.lang.String host
        end local 3 // java.lang.String userInfo
        end local 2 // java.lang.String authority
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   40     0          this  Ljava/net/URI;
            0   40     1            sb  Ljava/lang/StringBuffer;
            0   40     2     authority  Ljava/lang/String;
            0   40     3      userInfo  Ljava/lang/String;
            0   40     4          host  Ljava/lang/String;
            0   40     5          port  I
           11   17     6  needBrackets  Z
           22   34     6           end  I
           26   27     7       doquote  Ljava/lang/String;
           29   34     7       doquote  Ljava/lang/String;
           25   27     8     dontquote  Ljava/lang/String;
           28   34     8     dontquote  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      sb         
      authority  
      userInfo   
      host       
      port       

  private void appendSchemeSpecificPart(java.lang.StringBuffer, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=9
        start local 0 // java.net.URI this
        start local 1 // java.lang.StringBuffer sb
        start local 2 // java.lang.String opaquePart
        start local 3 // java.lang.String authority
        start local 4 // java.lang.String userInfo
        start local 5 // java.lang.String host
        start local 6 // int port
        start local 7 // java.lang.String path
        start local 8 // java.lang.String query
         0: .line 1866
            aload 2 /* opaquePart */
            ifnull 15
         1: .line 1870
            aload 2 /* opaquePart */
            ldc "//["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
         2: .line 1871
            aload 2 /* opaquePart */
            ldc "]"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 9 /* end */
        start local 9 // int end
         3: .line 1872
            iload 9 /* end */
            iconst_m1
            if_icmpeq 21
            aload 2 /* opaquePart */
            ldc ":"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 21
         4: .line 1874
            iload 9 /* end */
            aload 2 /* opaquePart */
            invokevirtual java.lang.String.length:()I
            if_icmpne 8
         5: .line 1875
            aload 2 /* opaquePart */
            astore 11 /* dontquote */
        start local 11 // java.lang.String dontquote
         6: .line 1876
            ldc ""
            astore 10 /* doquote */
        start local 10 // java.lang.String doquote
         7: .line 1877
            goto 10
        end local 11 // java.lang.String dontquote
        end local 10 // java.lang.String doquote
         8: .line 1878
      StackMap locals: int
      StackMap stack:
            aload 2 /* opaquePart */
            iconst_0
            iload 9 /* end */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 11 /* dontquote */
        start local 11 // java.lang.String dontquote
         9: .line 1879
            aload 2 /* opaquePart */
            iload 9 /* end */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* doquote */
        start local 10 // java.lang.String doquote
        10: .line 1881
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* sb */
            aload 11 /* dontquote */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 1882
            aload 1 /* sb */
            aload 10 /* doquote */
            getstatic java.net.URI.L_URIC:J
            getstatic java.net.URI.H_URIC:J
            invokestatic java.net.URI.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 11 // java.lang.String dontquote
        end local 10 // java.lang.String doquote
        end local 9 // int end
        12: .line 1884
            goto 21
        13: .line 1885
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 2 /* opaquePart */
            getstatic java.net.URI.L_URIC:J
            getstatic java.net.URI.H_URIC:J
            invokestatic java.net.URI.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 1887
            goto 21
        15: .line 1888
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sb */
            aload 3 /* authority */
            aload 4 /* userInfo */
            aload 5 /* host */
            iload 6 /* port */
            invokevirtual java.net.URI.appendAuthority:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
        16: .line 1889
            aload 7 /* path */
            ifnull 18
        17: .line 1890
            aload 1 /* sb */
            aload 7 /* path */
            getstatic java.net.URI.L_PATH:J
            getstatic java.net.URI.H_PATH:J
            invokestatic java.net.URI.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        18: .line 1891
      StackMap locals:
      StackMap stack:
            aload 8 /* query */
            ifnull 21
        19: .line 1892
            aload 1 /* sb */
            bipush 63
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        20: .line 1893
            aload 1 /* sb */
            aload 8 /* query */
            getstatic java.net.URI.L_URIC:J
            getstatic java.net.URI.H_URIC:J
            invokestatic java.net.URI.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 1896
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.lang.String query
        end local 7 // java.lang.String path
        end local 6 // int port
        end local 5 // java.lang.String host
        end local 4 // java.lang.String userInfo
        end local 3 // java.lang.String authority
        end local 2 // java.lang.String opaquePart
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Ljava/net/URI;
            0   22     1          sb  Ljava/lang/StringBuffer;
            0   22     2  opaquePart  Ljava/lang/String;
            0   22     3   authority  Ljava/lang/String;
            0   22     4    userInfo  Ljava/lang/String;
            0   22     5        host  Ljava/lang/String;
            0   22     6        port  I
            0   22     7        path  Ljava/lang/String;
            0   22     8       query  Ljava/lang/String;
            3   12     9         end  I
            7    8    10     doquote  Ljava/lang/String;
           10   12    10     doquote  Ljava/lang/String;
            6    8    11   dontquote  Ljava/lang/String;
            9   12    11   dontquote  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      sb          
      opaquePart  
      authority   
      userInfo    
      host        
      port        
      path        
      query       

  private void appendFragment(java.lang.StringBuffer, java.lang.String);
    descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.net.URI this
        start local 1 // java.lang.StringBuffer sb
        start local 2 // java.lang.String fragment
         0: .line 1899
            aload 2 /* fragment */
            ifnull 3
         1: .line 1900
            aload 1 /* sb */
            bipush 35
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 1901
            aload 1 /* sb */
            aload 2 /* fragment */
            getstatic java.net.URI.L_URIC:J
            getstatic java.net.URI.H_URIC:J
            invokestatic java.net.URI.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 1903
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String fragment
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/net/URI;
            0    4     1        sb  Ljava/lang/StringBuffer;
            0    4     2  fragment  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      sb        
      fragment  

  private java.lang.String toString(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=10
        start local 0 // java.net.URI this
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String opaquePart
        start local 3 // java.lang.String authority
        start local 4 // java.lang.String userInfo
        start local 5 // java.lang.String host
        start local 6 // int port
        start local 7 // java.lang.String path
        start local 8 // java.lang.String query
        start local 9 // java.lang.String fragment
         0: .line 1915
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 10 /* sb */
        start local 10 // java.lang.StringBuffer sb
         1: .line 1916
            aload 1 /* scheme */
            ifnull 4
         2: .line 1917
            aload 10 /* sb */
            aload 1 /* scheme */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 1918
            aload 10 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 1920
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            aload 10 /* sb */
            aload 2 /* opaquePart */
         5: .line 1921
            aload 3 /* authority */
            aload 4 /* userInfo */
            aload 5 /* host */
            iload 6 /* port */
         6: .line 1922
            aload 7 /* path */
            aload 8 /* query */
         7: .line 1920
            invokevirtual java.net.URI.appendSchemeSpecificPart:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
         8: .line 1923
            aload 0 /* this */
            aload 10 /* sb */
            aload 9 /* fragment */
            invokevirtual java.net.URI.appendFragment:(Ljava/lang/StringBuffer;Ljava/lang/String;)V
         9: .line 1924
            aload 10 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 10 // java.lang.StringBuffer sb
        end local 9 // java.lang.String fragment
        end local 8 // java.lang.String query
        end local 7 // java.lang.String path
        end local 6 // int port
        end local 5 // java.lang.String host
        end local 4 // java.lang.String userInfo
        end local 3 // java.lang.String authority
        end local 2 // java.lang.String opaquePart
        end local 1 // java.lang.String scheme
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljava/net/URI;
            0   10     1      scheme  Ljava/lang/String;
            0   10     2  opaquePart  Ljava/lang/String;
            0   10     3   authority  Ljava/lang/String;
            0   10     4    userInfo  Ljava/lang/String;
            0   10     5        host  Ljava/lang/String;
            0   10     6        port  I
            0   10     7        path  Ljava/lang/String;
            0   10     8       query  Ljava/lang/String;
            0   10     9    fragment  Ljava/lang/String;
            1   10    10          sb  Ljava/lang/StringBuffer;
    MethodParameters:
            Name  Flags
      scheme      
      opaquePart  
      authority   
      userInfo    
      host        
      port        
      path        
      query       
      fragment    

  private void defineSchemeSpecificPart();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // java.net.URI this
         0: .line 1928
            aload 0 /* this */
            getfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
            ifnull 1
            return
         1: .line 1929
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         2: .line 1930
            aload 0 /* this */
            aload 1 /* sb */
            aconst_null
            aload 0 /* this */
            invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual java.net.URI.getUserInfo:()Ljava/lang/String;
         3: .line 1931
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            aload 0 /* this */
            getfield java.net.URI.port:I
            aload 0 /* this */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual java.net.URI.getQuery:()Ljava/lang/String;
         4: .line 1930
            invokevirtual java.net.URI.appendSchemeSpecificPart:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
         5: .line 1932
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.length:()I
            ifne 6
            return
         6: .line 1933
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            putfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
         7: .line 1934
            return
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/net/URI;
            2    8     1    sb  Ljava/lang/StringBuffer;

  private void defineString();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.net.URI this
         0: .line 1937
            aload 0 /* this */
            getfield java.net.URI.string:Ljava/lang/String;
            ifnull 1
            return
         1: .line 1939
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         2: .line 1940
            aload 0 /* this */
            getfield java.net.URI.scheme:Ljava/lang/String;
            ifnull 5
         3: .line 1941
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.net.URI.scheme:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 1942
            aload 1 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 1944
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.net.URI.isOpaque:()Z
            ifeq 8
         6: .line 1945
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 1946
            goto 34
         8: .line 1947
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            ifnull 26
         9: .line 1948
            aload 1 /* sb */
            ldc "//"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 1949
            aload 0 /* this */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            ifnull 13
        11: .line 1950
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 1951
            aload 1 /* sb */
            bipush 64
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 1953
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 17
        14: .line 1954
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 17
        15: .line 1955
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            ldc "]"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 17
        16: .line 1953
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 2 /* needBrackets */
        start local 2 // boolean needBrackets
        19: .line 1956
            iload 2 /* needBrackets */
            ifeq 20
            aload 1 /* sb */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        20: .line 1957
      StackMap locals: int
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.net.URI.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 1958
            iload 2 /* needBrackets */
            ifeq 22
            aload 1 /* sb */
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 1959
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.port:I
            iconst_m1
            if_icmpeq 29
        23: .line 1960
            aload 1 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        24: .line 1961
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.net.URI.port:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        end local 2 // boolean needBrackets
        25: .line 1963
            goto 29
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            ifnull 29
        27: .line 1964
            aload 1 /* sb */
            ldc "//"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        28: .line 1965
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.net.URI.authority:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        29: .line 1967
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.path:Ljava/lang/String;
            ifnull 31
        30: .line 1968
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.net.URI.path:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        31: .line 1969
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.query:Ljava/lang/String;
            ifnull 34
        32: .line 1970
            aload 1 /* sb */
            bipush 63
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        33: .line 1971
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.net.URI.query:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        34: .line 1974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI.fragment:Ljava/lang/String;
            ifnull 37
        35: .line 1975
            aload 1 /* sb */
            bipush 35
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        36: .line 1976
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.net.URI.fragment:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        37: .line 1978
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            putfield java.net.URI.string:Ljava/lang/String;
        38: .line 1979
            return
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.net.URI this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   39     0          this  Ljava/net/URI;
            2   39     1            sb  Ljava/lang/StringBuffer;
           19   25     2  needBrackets  Z

  private static java.lang.String resolvePath(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.lang.String base
        start local 1 // java.lang.String child
        start local 2 // boolean absolute
         0: .line 1988
            aload 0 /* base */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* i */
        start local 3 // int i
         1: .line 1989
            aload 1 /* child */
            invokevirtual java.lang.String.length:()I
            istore 4 /* cn */
        start local 4 // int cn
         2: .line 1990
            ldc ""
            astore 5 /* path */
        start local 5 // java.lang.String path
         3: .line 1992
            iload 4 /* cn */
            ifne 7
         4: .line 1994
            iload 3 /* i */
            iflt 12
         5: .line 1995
            aload 0 /* base */
            iconst_0
            iload 3 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* path */
         6: .line 1996
            goto 12
         7: .line 1997
      StackMap locals: int int java.lang.String
      StackMap stack:
            new java.lang.StringBuffer
            dup
            aload 0 /* base */
            invokevirtual java.lang.String.length:()I
            iload 4 /* cn */
            iadd
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuffer sb
         8: .line 1999
            iload 3 /* i */
            iflt 10
         9: .line 2000
            aload 6 /* sb */
            aload 0 /* base */
            iconst_0
            iload 3 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 2002
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 6 /* sb */
            aload 1 /* child */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 2003
            aload 6 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 5 /* path */
        end local 6 // java.lang.StringBuffer sb
        12: .line 2007
      StackMap locals:
      StackMap stack:
            aload 5 /* path */
            invokestatic java.net.URI.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* np */
        start local 6 // java.lang.String np
        13: .line 2012
            aload 6 /* np */
            areturn
        end local 6 // java.lang.String np
        end local 5 // java.lang.String path
        end local 4 // int cn
        end local 3 // int i
        end local 2 // boolean absolute
        end local 1 // java.lang.String child
        end local 0 // java.lang.String base
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      base  Ljava/lang/String;
            0   14     1     child  Ljava/lang/String;
            0   14     2  absolute  Z
            1   14     3         i  I
            2   14     4        cn  I
            3   14     5      path  Ljava/lang/String;
            8   12     6        sb  Ljava/lang/StringBuffer;
           13   14     6        np  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      base      
      child     
      absolute  

  private static java.net.URI resolve(java.net.URI, java.net.URI);
    descriptor: (Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.net.URI base
        start local 1 // java.net.URI child
         0: .line 2019
            aload 1 /* child */
            invokevirtual java.net.URI.isOpaque:()Z
            ifne 1
            aload 0 /* base */
            invokevirtual java.net.URI.isOpaque:()Z
            ifeq 2
         1: .line 2020
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            areturn
         2: .line 2023
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            getfield java.net.URI.scheme:Ljava/lang/String;
            ifnonnull 18
            aload 1 /* child */
            getfield java.net.URI.authority:Ljava/lang/String;
            ifnonnull 18
         3: .line 2024
            aload 1 /* child */
            getfield java.net.URI.path:Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
            aload 1 /* child */
            getfield java.net.URI.fragment:Ljava/lang/String;
            ifnull 18
         4: .line 2025
            aload 1 /* child */
            getfield java.net.URI.query:Ljava/lang/String;
            ifnonnull 18
         5: .line 2026
            aload 0 /* base */
            getfield java.net.URI.fragment:Ljava/lang/String;
            ifnull 8
         6: .line 2027
            aload 1 /* child */
            getfield java.net.URI.fragment:Ljava/lang/String;
            aload 0 /* base */
            getfield java.net.URI.fragment:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 2028
            aload 0 /* base */
            areturn
         8: .line 2030
      StackMap locals:
      StackMap stack:
            new java.net.URI
            dup
            invokespecial java.net.URI.<init>:()V
            astore 2 /* ru */
        start local 2 // java.net.URI ru
         9: .line 2031
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.scheme:Ljava/lang/String;
            putfield java.net.URI.scheme:Ljava/lang/String;
        10: .line 2032
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.authority:Ljava/lang/String;
            putfield java.net.URI.authority:Ljava/lang/String;
        11: .line 2033
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            putfield java.net.URI.userInfo:Ljava/lang/String;
        12: .line 2034
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.host:Ljava/lang/String;
            putfield java.net.URI.host:Ljava/lang/String;
        13: .line 2035
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.port:I
            putfield java.net.URI.port:I
        14: .line 2036
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.path:Ljava/lang/String;
            putfield java.net.URI.path:Ljava/lang/String;
        15: .line 2037
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.fragment:Ljava/lang/String;
            putfield java.net.URI.fragment:Ljava/lang/String;
        16: .line 2038
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.query:Ljava/lang/String;
            putfield java.net.URI.query:Ljava/lang/String;
        17: .line 2039
            aload 2 /* ru */
            areturn
        end local 2 // java.net.URI ru
        18: .line 2043
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            getfield java.net.URI.scheme:Ljava/lang/String;
            ifnull 20
        19: .line 2044
            aload 1 /* child */
            areturn
        20: .line 2046
      StackMap locals:
      StackMap stack:
            new java.net.URI
            dup
            invokespecial java.net.URI.<init>:()V
            astore 2 /* ru */
        start local 2 // java.net.URI ru
        21: .line 2047
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.scheme:Ljava/lang/String;
            putfield java.net.URI.scheme:Ljava/lang/String;
        22: .line 2048
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.query:Ljava/lang/String;
            putfield java.net.URI.query:Ljava/lang/String;
        23: .line 2049
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.fragment:Ljava/lang/String;
            putfield java.net.URI.fragment:Ljava/lang/String;
        24: .line 2052
            aload 1 /* child */
            getfield java.net.URI.authority:Ljava/lang/String;
            ifnonnull 37
        25: .line 2053
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.authority:Ljava/lang/String;
            putfield java.net.URI.authority:Ljava/lang/String;
        26: .line 2054
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.host:Ljava/lang/String;
            putfield java.net.URI.host:Ljava/lang/String;
        27: .line 2055
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            putfield java.net.URI.userInfo:Ljava/lang/String;
        28: .line 2056
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.port:I
            putfield java.net.URI.port:I
        29: .line 2058
            aload 1 /* child */
            getfield java.net.URI.path:Ljava/lang/String;
            ifnonnull 30
            ldc ""
            goto 31
      StackMap locals: java.net.URI
      StackMap stack:
        30: aload 1 /* child */
            getfield java.net.URI.path:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        31: astore 3 /* cp */
        start local 3 // java.lang.String cp
        32: .line 2059
            aload 3 /* cp */
            invokevirtual java.lang.String.length:()I
            ifle 35
            aload 3 /* cp */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 35
        33: .line 2061
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.path:Ljava/lang/String;
            putfield java.net.URI.path:Ljava/lang/String;
        34: .line 2062
            goto 43
        35: .line 2064
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* ru */
            aload 0 /* base */
            getfield java.net.URI.path:Ljava/lang/String;
            aload 3 /* cp */
            aload 0 /* base */
            invokevirtual java.net.URI.isAbsolute:()Z
            invokestatic java.net.URI.resolvePath:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
            putfield java.net.URI.path:Ljava/lang/String;
        end local 3 // java.lang.String cp
        36: .line 2066
            goto 43
        37: .line 2067
      StackMap locals:
      StackMap stack:
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.authority:Ljava/lang/String;
            putfield java.net.URI.authority:Ljava/lang/String;
        38: .line 2068
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.host:Ljava/lang/String;
            putfield java.net.URI.host:Ljava/lang/String;
        39: .line 2069
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            putfield java.net.URI.userInfo:Ljava/lang/String;
        40: .line 2070
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.host:Ljava/lang/String;
            putfield java.net.URI.host:Ljava/lang/String;
        41: .line 2071
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.port:I
            putfield java.net.URI.port:I
        42: .line 2072
            aload 2 /* ru */
            aload 1 /* child */
            getfield java.net.URI.path:Ljava/lang/String;
            putfield java.net.URI.path:Ljava/lang/String;
        43: .line 2076
      StackMap locals:
      StackMap stack:
            aload 2 /* ru */
            areturn
        end local 2 // java.net.URI ru
        end local 1 // java.net.URI child
        end local 0 // java.net.URI base
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   44     0   base  Ljava/net/URI;
            0   44     1  child  Ljava/net/URI;
            9   18     2     ru  Ljava/net/URI;
           21   44     2     ru  Ljava/net/URI;
           32   36     3     cp  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      base   
      child  

  private static java.net.URI normalize(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/net/URI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.net.URI u
         0: .line 2083
            aload 0 /* u */
            invokevirtual java.net.URI.isOpaque:()Z
            ifne 1
            aload 0 /* u */
            getfield java.net.URI.path:Ljava/lang/String;
            ifnull 1
            aload 0 /* u */
            getfield java.net.URI.path:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 2084
      StackMap locals:
      StackMap stack:
            aload 0 /* u */
            areturn
         2: .line 2086
      StackMap locals:
      StackMap stack:
            aload 0 /* u */
            getfield java.net.URI.path:Ljava/lang/String;
            invokestatic java.net.URI.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* np */
        start local 1 // java.lang.String np
         3: .line 2087
            aload 1 /* np */
            aload 0 /* u */
            getfield java.net.URI.path:Ljava/lang/String;
            if_acmpne 5
         4: .line 2088
            aload 0 /* u */
            areturn
         5: .line 2090
      StackMap locals: java.lang.String
      StackMap stack:
            new java.net.URI
            dup
            invokespecial java.net.URI.<init>:()V
            astore 2 /* v */
        start local 2 // java.net.URI v
         6: .line 2091
            aload 2 /* v */
            aload 0 /* u */
            getfield java.net.URI.scheme:Ljava/lang/String;
            putfield java.net.URI.scheme:Ljava/lang/String;
         7: .line 2092
            aload 2 /* v */
            aload 0 /* u */
            getfield java.net.URI.fragment:Ljava/lang/String;
            putfield java.net.URI.fragment:Ljava/lang/String;
         8: .line 2093
            aload 2 /* v */
            aload 0 /* u */
            getfield java.net.URI.authority:Ljava/lang/String;
            putfield java.net.URI.authority:Ljava/lang/String;
         9: .line 2094
            aload 2 /* v */
            aload 0 /* u */
            getfield java.net.URI.userInfo:Ljava/lang/String;
            putfield java.net.URI.userInfo:Ljava/lang/String;
        10: .line 2095
            aload 2 /* v */
            aload 0 /* u */
            getfield java.net.URI.host:Ljava/lang/String;
            putfield java.net.URI.host:Ljava/lang/String;
        11: .line 2096
            aload 2 /* v */
            aload 0 /* u */
            getfield java.net.URI.port:I
            putfield java.net.URI.port:I
        12: .line 2097
            aload 2 /* v */
            aload 1 /* np */
            putfield java.net.URI.path:Ljava/lang/String;
        13: .line 2098
            aload 2 /* v */
            aload 0 /* u */
            getfield java.net.URI.query:Ljava/lang/String;
            putfield java.net.URI.query:Ljava/lang/String;
        14: .line 2099
            aload 2 /* v */
            areturn
        end local 2 // java.net.URI v
        end local 1 // java.lang.String np
        end local 0 // java.net.URI u
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0     u  Ljava/net/URI;
            3   15     1    np  Ljava/lang/String;
            6   15     2     v  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      u     

  private static java.net.URI relativize(java.net.URI, java.net.URI);
    descriptor: (Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.net.URI base
        start local 1 // java.net.URI child
         0: .line 2110
            aload 1 /* child */
            invokevirtual java.net.URI.isOpaque:()Z
            ifne 1
            aload 0 /* base */
            invokevirtual java.net.URI.isOpaque:()Z
            ifeq 2
         1: .line 2111
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            areturn
         2: .line 2112
      StackMap locals:
      StackMap stack:
            aload 0 /* base */
            getfield java.net.URI.scheme:Ljava/lang/String;
            aload 1 /* child */
            getfield java.net.URI.scheme:Ljava/lang/String;
            invokestatic java.net.URI.equalIgnoringCase:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 4
         3: .line 2113
            aload 0 /* base */
            getfield java.net.URI.authority:Ljava/lang/String;
            aload 1 /* child */
            getfield java.net.URI.authority:Ljava/lang/String;
            invokestatic java.net.URI.equal:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 5
         4: .line 2114
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            areturn
         5: .line 2116
      StackMap locals:
      StackMap stack:
            aload 0 /* base */
            getfield java.net.URI.path:Ljava/lang/String;
            invokestatic java.net.URI.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* bp */
        start local 2 // java.lang.String bp
         6: .line 2117
            aload 1 /* child */
            getfield java.net.URI.path:Ljava/lang/String;
            invokestatic java.net.URI.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* cp */
        start local 3 // java.lang.String cp
         7: .line 2118
            aload 2 /* bp */
            aload 3 /* cp */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
         8: .line 2119
            aload 2 /* bp */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 10
         9: .line 2120
            new java.lang.StringBuilder
            dup
            aload 2 /* bp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* bp */
        10: .line 2121
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* cp */
            aload 2 /* bp */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 12
        11: .line 2122
            aload 1 /* child */
            areturn
        12: .line 2125
      StackMap locals:
      StackMap stack:
            new java.net.URI
            dup
            invokespecial java.net.URI.<init>:()V
            astore 4 /* v */
        start local 4 // java.net.URI v
        13: .line 2126
            aload 4 /* v */
            aload 3 /* cp */
            aload 2 /* bp */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield java.net.URI.path:Ljava/lang/String;
        14: .line 2127
            aload 4 /* v */
            aload 1 /* child */
            getfield java.net.URI.query:Ljava/lang/String;
            putfield java.net.URI.query:Ljava/lang/String;
        15: .line 2128
            aload 4 /* v */
            aload 1 /* child */
            getfield java.net.URI.fragment:Ljava/lang/String;
            putfield java.net.URI.fragment:Ljava/lang/String;
        16: .line 2129
            aload 4 /* v */
            areturn
        end local 4 // java.net.URI v
        end local 3 // java.lang.String cp
        end local 2 // java.lang.String bp
        end local 1 // java.net.URI child
        end local 0 // java.net.URI base
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   base  Ljava/net/URI;
            0   17     1  child  Ljava/net/URI;
            6   17     2     bp  Ljava/lang/String;
            7   17     3     cp  Ljava/lang/String;
           13   17     4      v  Ljava/net/URI;
    MethodParameters:
       Name  Flags
      base   
      child  

  private static int needsNormalization(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String path
         0: .line 2158
            iconst_1
            istore 1 /* normal */
        start local 1 // boolean normal
         1: .line 2159
            iconst_0
            istore 2 /* ns */
        start local 2 // int ns
         2: .line 2160
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 3 /* end */
        start local 3 // int end
         3: .line 2161
            iconst_0
            istore 4 /* p */
        start local 4 // int p
         4: .line 2164
            goto 7
         5: .line 2165
      StackMap locals: java.lang.String int int int int
      StackMap stack:
            aload 0 /* path */
            iload 4 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 6
            goto 8
         6: .line 2166
      StackMap locals:
      StackMap stack:
            iinc 4 /* p */ 1
         7: .line 2164
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 3 /* end */
            if_icmple 5
         8: .line 2168
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iconst_1
            if_icmple 27
            iconst_0
            istore 1 /* normal */
         9: .line 2171
            goto 27
        10: .line 2174
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 4 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 17
        11: .line 2175
            iload 4 /* p */
            iload 3 /* end */
            if_icmpeq 16
        12: .line 2176
            aload 0 /* path */
            iload 4 /* p */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 16
        13: .line 2177
            aload 0 /* path */
            iload 4 /* p */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 17
        14: .line 2178
            iload 4 /* p */
            iconst_1
            iadd
            iload 3 /* end */
            if_icmpeq 16
        15: .line 2179
            aload 0 /* path */
            iload 4 /* p */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 17
        16: .line 2180
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* normal */
        17: .line 2182
      StackMap locals:
      StackMap stack:
            iinc 2 /* ns */ 1
        18: .line 2185
            goto 26
        19: .line 2186
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 4 /* p */
            iinc 4 /* p */ 1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 24
        20: .line 2187
            goto 26
        21: .line 2191
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 4 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 22
            goto 27
        22: .line 2192
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* normal */
        23: .line 2193
            iinc 4 /* p */ 1
        24: .line 2190
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 3 /* end */
            if_icmple 21
        25: .line 2196
            goto 27
        26: .line 2185
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 3 /* end */
            if_icmple 19
        27: .line 2171
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 3 /* end */
            if_icmple 10
        28: .line 2200
            iload 1 /* normal */
            ifeq 29
            iconst_m1
            goto 30
      StackMap locals:
      StackMap stack:
        29: iload 2 /* ns */
      StackMap locals:
      StackMap stack: int
        30: ireturn
        end local 4 // int p
        end local 3 // int end
        end local 2 // int ns
        end local 1 // boolean normal
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   31     0    path  Ljava/lang/String;
            1   31     1  normal  Z
            2   31     2      ns  I
            3   31     3     end  I
            4   31     4       p  I
    MethodParameters:
      Name  Flags
      path  

  private static void split(char[], int[]);
    descriptor: ([C[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // char[] path
        start local 1 // int[] segs
         0: .line 2215
            aload 0 /* path */
            arraylength
            iconst_1
            isub
            istore 2 /* end */
        start local 2 // int end
         1: .line 2216
            iconst_0
            istore 3 /* p */
        start local 3 // int p
         2: .line 2217
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: .line 2220
            goto 7
         4: .line 2221
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* path */
            iload 3 /* p */
            caload
            bipush 47
            if_icmpeq 5
            goto 20
         5: .line 2222
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 3 /* p */
            iconst_0
            castore
         6: .line 2223
            iinc 3 /* p */ 1
         7: .line 2220
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 2 /* end */
            if_icmple 4
         8: .line 2226
            goto 20
         9: .line 2229
      StackMap locals:
      StackMap stack:
            aload 1 /* segs */
            iload 4 /* i */
            iinc 4 /* i */ 1
            iload 3 /* p */
            iinc 3 /* p */ 1
            iastore
        10: .line 2232
            goto 19
        11: .line 2233
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 3 /* p */
            iinc 3 /* p */ 1
            caload
            bipush 47
            if_icmpeq 13
        12: .line 2234
            goto 19
        13: .line 2235
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 3 /* p */
            iconst_1
            isub
            iconst_0
            castore
        14: .line 2238
            goto 17
        15: .line 2239
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 3 /* p */
            caload
            bipush 47
            if_icmpeq 16
            goto 20
        16: .line 2240
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 3 /* p */
            iinc 3 /* p */ 1
            iconst_0
            castore
        17: .line 2238
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 2 /* end */
            if_icmple 15
        18: .line 2242
            goto 20
        19: .line 2232
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 2 /* end */
            if_icmple 11
        20: .line 2226
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 2 /* end */
            if_icmple 9
        21: .line 2246
            iload 4 /* i */
            aload 1 /* segs */
            arraylength
            if_icmpeq 23
        22: .line 2247
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        23: .line 2248
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int i
        end local 3 // int p
        end local 2 // int end
        end local 1 // int[] segs
        end local 0 // char[] path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  path  [C
            0   24     1  segs  [I
            1   24     2   end  I
            2   24     3     p  I
            3   24     4     i  I
    MethodParameters:
      Name  Flags
      path  
      segs  

  private static int join(char[], int[]);
    descriptor: ([C[I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // char[] path
        start local 1 // int[] segs
         0: .line 2264
            aload 1 /* segs */
            arraylength
            istore 2 /* ns */
        start local 2 // int ns
         1: .line 2265
            aload 0 /* path */
            arraylength
            iconst_1
            isub
            istore 3 /* end */
        start local 3 // int end
         2: .line 2266
            iconst_0
            istore 4 /* p */
        start local 4 // int p
         3: .line 2268
            aload 0 /* path */
            iload 4 /* p */
            caload
            ifne 5
         4: .line 2270
            aload 0 /* path */
            iload 4 /* p */
            iinc 4 /* p */ 1
            bipush 47
            castore
         5: .line 2273
      StackMap locals: int int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 26
         7: .line 2274
      StackMap locals: int
      StackMap stack:
            aload 1 /* segs */
            iload 5 /* i */
            iaload
            istore 6 /* q */
        start local 6 // int q
         8: .line 2275
            iload 6 /* q */
            iconst_m1
            if_icmpne 10
         9: .line 2277
            goto 25
        10: .line 2279
      StackMap locals: int
      StackMap stack:
            iload 4 /* p */
            iload 6 /* q */
            if_icmpne 17
        11: .line 2281
            goto 13
        12: .line 2282
      StackMap locals:
      StackMap stack:
            iinc 4 /* p */ 1
        13: .line 2281
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 3 /* end */
            if_icmpgt 14
            aload 0 /* path */
            iload 4 /* p */
            caload
            ifne 12
        14: .line 2283
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 3 /* end */
            if_icmpgt 25
        15: .line 2285
            aload 0 /* path */
            iload 4 /* p */
            iinc 4 /* p */ 1
            bipush 47
            castore
        16: .line 2287
            goto 25
      StackMap locals:
      StackMap stack:
        17: iload 4 /* p */
            iload 6 /* q */
            if_icmpge 24
        18: .line 2289
            goto 20
        19: .line 2290
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 4 /* p */
            iinc 4 /* p */ 1
            aload 0 /* path */
            iload 6 /* q */
            iinc 6 /* q */ 1
            caload
            castore
        20: .line 2289
      StackMap locals:
      StackMap stack:
            iload 6 /* q */
            iload 3 /* end */
            if_icmpgt 21
            aload 0 /* path */
            iload 6 /* q */
            caload
            ifne 19
        21: .line 2291
      StackMap locals:
      StackMap stack:
            iload 6 /* q */
            iload 3 /* end */
            if_icmpgt 25
        22: .line 2293
            aload 0 /* path */
            iload 4 /* p */
            iinc 4 /* p */ 1
            bipush 47
            castore
        23: .line 2295
            goto 25
        24: .line 2296
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        end local 6 // int q
        25: .line 2273
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 5 /* i */
            iload 2 /* ns */
            if_icmplt 7
        end local 5 // int i
        27: .line 2299
            iload 4 /* p */
            ireturn
        end local 4 // int p
        end local 3 // int end
        end local 2 // int ns
        end local 1 // int[] segs
        end local 0 // char[] path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  path  [C
            0   28     1  segs  [I
            1   28     2    ns  I
            2   28     3   end  I
            3   28     4     p  I
            6   27     5     i  I
            8   25     6     q  I
    MethodParameters:
      Name  Flags
      path  
      segs  

  private static void removeDots(char[], int[]);
    descriptor: ([C[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // char[] path
        start local 1 // int[] segs
         0: .line 2307
            aload 1 /* segs */
            arraylength
            istore 2 /* ns */
        start local 2 // int ns
         1: .line 2308
            aload 0 /* path */
            arraylength
            iconst_1
            isub
            istore 3 /* end */
        start local 3 // int end
         2: .line 2310
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 39
         4: .line 2311
      StackMap locals: int int int
      StackMap stack:
            iconst_0
            istore 5 /* dots */
        start local 5 // int dots
         5: .line 2315
      StackMap locals: int
      StackMap stack:
            aload 1 /* segs */
            iload 4 /* i */
            iaload
            istore 6 /* p */
        start local 6 // int p
         6: .line 2316
            aload 0 /* path */
            iload 6 /* p */
            caload
            bipush 46
            if_icmpne 18
         7: .line 2317
            iload 6 /* p */
            iload 3 /* end */
            if_icmpne 10
         8: .line 2318
            iconst_1
            istore 5 /* dots */
         9: .line 2319
            goto 21
        10: .line 2320
      StackMap locals: int
      StackMap stack:
            aload 0 /* path */
            iload 6 /* p */
            iconst_1
            iadd
            caload
            ifne 13
        11: .line 2321
            iconst_1
            istore 5 /* dots */
        12: .line 2322
            goto 21
        13: .line 2323
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 6 /* p */
            iconst_1
            iadd
            caload
            bipush 46
            if_icmpne 18
        14: .line 2324
            iload 6 /* p */
            iconst_1
            iadd
            iload 3 /* end */
            if_icmpeq 16
        15: .line 2325
            aload 0 /* path */
            iload 6 /* p */
            iconst_2
            iadd
            caload
            ifne 18
        16: .line 2326
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 5 /* dots */
        17: .line 2327
            goto 21
        18: .line 2330
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        end local 6 // int p
        19: .line 2331
            iload 4 /* i */
            iload 2 /* ns */
        20: .line 2314
            if_icmplt 5
        21: .line 2332
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 2 /* ns */
            if_icmpgt 40
            iload 5 /* dots */
            ifne 23
        22: .line 2333
            goto 40
        23: .line 2335
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            iconst_1
            if_icmpne 26
        24: .line 2337
            aload 1 /* segs */
            iload 4 /* i */
            iconst_m1
            iastore
        25: .line 2338
            goto 38
        26: .line 2343
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iconst_1
            isub
            istore 6 /* j */
        start local 6 // int j
        27: goto 30
        28: .line 2344
      StackMap locals: int
      StackMap stack:
            aload 1 /* segs */
            iload 6 /* j */
            iaload
            iconst_m1
            if_icmpeq 29
            goto 31
        29: .line 2343
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ -1
      StackMap locals:
      StackMap stack:
        30: iload 6 /* j */
            ifge 28
        31: .line 2346
      StackMap locals:
      StackMap stack:
            iload 6 /* j */
            iflt 38
        32: .line 2347
            aload 1 /* segs */
            iload 6 /* j */
            iaload
            istore 7 /* q */
        start local 7 // int q
        33: .line 2348
            aload 0 /* path */
            iload 7 /* q */
            caload
            bipush 46
            if_icmpne 36
        34: .line 2349
            aload 0 /* path */
            iload 7 /* q */
            iconst_1
            iadd
            caload
            bipush 46
            if_icmpne 36
        35: .line 2350
            aload 0 /* path */
            iload 7 /* q */
            iconst_2
            iadd
            caload
            ifeq 38
        36: .line 2351
      StackMap locals: int
      StackMap stack:
            aload 1 /* segs */
            iload 4 /* i */
            iconst_m1
            iastore
        37: .line 2352
            aload 1 /* segs */
            iload 6 /* j */
            iconst_m1
            iastore
        end local 7 // int q
        end local 6 // int j
        end local 5 // int dots
        38: .line 2310
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 4 /* i */
            iload 2 /* ns */
            if_icmplt 4
        end local 4 // int i
        40: .line 2357
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int end
        end local 2 // int ns
        end local 1 // int[] segs
        end local 0 // char[] path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   41     0  path  [C
            0   41     1  segs  [I
            1   41     2    ns  I
            2   41     3   end  I
            3   40     4     i  I
            5   38     5  dots  I
            6   19     6     p  I
           27   38     6     j  I
           33   38     7     q  I
    MethodParameters:
      Name  Flags
      path  
      segs  

  private static void maybeAddLeadingDot(char[], int[]);
    descriptor: ([C[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // char[] path
        start local 1 // int[] segs
         0: .line 2365
            aload 0 /* path */
            iconst_0
            caload
            ifne 2
         1: .line 2367
            return
         2: .line 2369
      StackMap locals:
      StackMap stack:
            aload 1 /* segs */
            arraylength
            istore 2 /* ns */
        start local 2 // int ns
         3: .line 2370
            iconst_0
            istore 3 /* f */
        start local 3 // int f
         4: .line 2371
            goto 8
         5: .line 2372
      StackMap locals: int int
      StackMap stack:
            aload 1 /* segs */
            iload 3 /* f */
            iaload
            iflt 7
         6: .line 2373
            goto 9
         7: .line 2374
      StackMap locals:
      StackMap stack:
            iinc 3 /* f */ 1
         8: .line 2371
      StackMap locals:
      StackMap stack:
            iload 3 /* f */
            iload 2 /* ns */
            if_icmplt 5
         9: .line 2376
      StackMap locals:
      StackMap stack:
            iload 3 /* f */
            iload 2 /* ns */
            if_icmpge 10
            iload 3 /* f */
            ifne 11
        10: .line 2379
      StackMap locals:
      StackMap stack:
            return
        11: .line 2381
      StackMap locals:
      StackMap stack:
            aload 1 /* segs */
            iload 3 /* f */
            iaload
            istore 4 /* p */
        start local 4 // int p
        12: .line 2382
            goto 14
      StackMap locals: int
      StackMap stack:
        13: iinc 4 /* p */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* p */
            aload 0 /* path */
            arraylength
            if_icmpge 15
            aload 0 /* path */
            iload 4 /* p */
            caload
            bipush 58
            if_icmpeq 15
            aload 0 /* path */
            iload 4 /* p */
            caload
            ifne 13
        15: .line 2383
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            aload 0 /* path */
            arraylength
            if_icmpge 16
            aload 0 /* path */
            iload 4 /* p */
            caload
            ifne 17
        16: .line 2385
      StackMap locals:
      StackMap stack:
            return
        17: .line 2389
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iconst_0
            bipush 46
            castore
        18: .line 2390
            aload 0 /* path */
            iconst_1
            iconst_0
            castore
        19: .line 2391
            aload 1 /* segs */
            iconst_0
            iconst_0
            iastore
        20: .line 2392
            return
        end local 4 // int p
        end local 3 // int f
        end local 2 // int ns
        end local 1 // int[] segs
        end local 0 // char[] path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  path  [C
            0   21     1  segs  [I
            3   21     2    ns  I
            4   21     3     f  I
           12   21     4     p  I
    MethodParameters:
      Name  Flags
      path  
      segs  

  private static java.lang.String normalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.lang.String ps
         0: .line 2404
            aload 0 /* ps */
            invokestatic java.net.URI.needsNormalization:(Ljava/lang/String;)I
            istore 1 /* ns */
        start local 1 // int ns
         1: .line 2405
            iload 1 /* ns */
            ifge 3
         2: .line 2407
            aload 0 /* ps */
            areturn
         3: .line 2409
      StackMap locals: int
      StackMap stack:
            aload 0 /* ps */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* path */
        start local 2 // char[] path
         4: .line 2412
            iload 1 /* ns */
            newarray 10
            astore 3 /* segs */
        start local 3 // int[] segs
         5: .line 2413
            aload 2 /* path */
            aload 3 /* segs */
            invokestatic java.net.URI.split:([C[I)V
         6: .line 2416
            aload 2 /* path */
            aload 3 /* segs */
            invokestatic java.net.URI.removeDots:([C[I)V
         7: .line 2419
            aload 2 /* path */
            aload 3 /* segs */
            invokestatic java.net.URI.maybeAddLeadingDot:([C[I)V
         8: .line 2422
            new java.lang.String
            dup
            aload 2 /* path */
            iconst_0
            aload 2 /* path */
            aload 3 /* segs */
            invokestatic java.net.URI.join:([C[I)I
            invokespecial java.lang.String.<init>:([CII)V
            astore 4 /* s */
        start local 4 // java.lang.String s
         9: .line 2423
            aload 4 /* s */
            aload 0 /* ps */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 2425
            aload 0 /* ps */
            areturn
        11: .line 2427
      StackMap locals: char[] int[] java.lang.String
      StackMap stack:
            aload 4 /* s */
            areturn
        end local 4 // java.lang.String s
        end local 3 // int[] segs
        end local 2 // char[] path
        end local 1 // int ns
        end local 0 // java.lang.String ps
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0    ps  Ljava/lang/String;
            1   12     1    ns  I
            4   12     2  path  [C
            5   12     3  segs  [I
            9   12     4     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ps    

  private static long lowMask(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.String chars
         0: .line 2448
            aload 0 /* chars */
            invokevirtual java.lang.String.length:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 2449
            lconst_0
            lstore 2 /* m */
        start local 2 // long m
         2: .line 2450
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 2451
      StackMap locals: int long int
      StackMap stack:
            aload 0 /* chars */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         5: .line 2452
            iload 5 /* c */
            bipush 64
            if_icmpge 7
         6: .line 2453
            lload 2 /* m */
            lconst_1
            iload 5 /* c */
            lshl
            lor
            lstore 2 /* m */
        end local 5 // char c
         7: .line 2450
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 1 /* n */
            if_icmplt 4
        end local 4 // int i
         9: .line 2455
            lload 2 /* m */
            lreturn
        end local 2 // long m
        end local 1 // int n
        end local 0 // java.lang.String chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  chars  Ljava/lang/String;
            1   10     1      n  I
            2   10     2      m  J
            3    9     4      i  I
            5    7     5      c  C
    MethodParameters:
       Name  Flags
      chars  

  private static long highMask(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // java.lang.String chars
         0: .line 2460
            aload 0 /* chars */
            invokevirtual java.lang.String.length:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 2461
            lconst_0
            lstore 2 /* m */
        start local 2 // long m
         2: .line 2462
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 2463
      StackMap locals: int long int
      StackMap stack:
            aload 0 /* chars */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         5: .line 2464
            iload 5 /* c */
            bipush 64
            if_icmplt 7
            iload 5 /* c */
            sipush 128
            if_icmpge 7
         6: .line 2465
            lload 2 /* m */
            lconst_1
            iload 5 /* c */
            bipush 64
            isub
            lshl
            lor
            lstore 2 /* m */
        end local 5 // char c
         7: .line 2462
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 1 /* n */
            if_icmplt 4
        end local 4 // int i
         9: .line 2467
            lload 2 /* m */
            lreturn
        end local 2 // long m
        end local 1 // int n
        end local 0 // java.lang.String chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  chars  Ljava/lang/String;
            1   10     1      n  I
            2   10     2      m  J
            3    9     4      i  I
            5    7     5      c  C
    MethodParameters:
       Name  Flags
      chars  

  private static long lowMask(char, char);
    descriptor: (CC)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // char first
        start local 1 // char last
         0: .line 2473
            lconst_0
            lstore 2 /* m */
        start local 2 // long m
         1: .line 2474
            iload 0 /* first */
            bipush 63
            invokestatic java.lang.Math.min:(II)I
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 4 /* f */
        start local 4 // int f
         2: .line 2475
            iload 1 /* last */
            bipush 63
            invokestatic java.lang.Math.min:(II)I
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 5 /* l */
        start local 5 // int l
         3: .line 2476
            iload 4 /* f */
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 2477
      StackMap locals: int int long int int int
      StackMap stack:
            lload 2 /* m */
            lconst_1
            iload 6 /* i */
            lshl
            lor
            lstore 2 /* m */
         6: .line 2476
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 5 /* l */
            if_icmple 5
        end local 6 // int i
         8: .line 2478
            lload 2 /* m */
            lreturn
        end local 5 // int l
        end local 4 // int f
        end local 2 // long m
        end local 1 // char last
        end local 0 // char first
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0  first  C
            0    9     1   last  C
            1    9     2      m  J
            2    9     4      f  I
            3    9     5      l  I
            4    8     6      i  I
    MethodParameters:
       Name  Flags
      first  
      last   

  private static long highMask(char, char);
    descriptor: (CC)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // char first
        start local 1 // char last
         0: .line 2484
            lconst_0
            lstore 2 /* m */
        start local 2 // long m
         1: .line 2485
            iload 0 /* first */
            bipush 127
            invokestatic java.lang.Math.min:(II)I
            bipush 64
            invokestatic java.lang.Math.max:(II)I
            bipush 64
            isub
            istore 4 /* f */
        start local 4 // int f
         2: .line 2486
            iload 1 /* last */
            bipush 127
            invokestatic java.lang.Math.min:(II)I
            bipush 64
            invokestatic java.lang.Math.max:(II)I
            bipush 64
            isub
            istore 5 /* l */
        start local 5 // int l
         3: .line 2487
            iload 4 /* f */
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 2488
      StackMap locals: int int long int int int
      StackMap stack:
            lload 2 /* m */
            lconst_1
            iload 6 /* i */
            lshl
            lor
            lstore 2 /* m */
         6: .line 2487
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 5 /* l */
            if_icmple 5
        end local 6 // int i
         8: .line 2489
            lload 2 /* m */
            lreturn
        end local 5 // int l
        end local 4 // int f
        end local 2 // long m
        end local 1 // char last
        end local 0 // char first
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0  first  C
            0    9     1   last  C
            1    9     2      m  J
            2    9     4      f  I
            3    9     5      l  I
            4    8     6      i  I
    MethodParameters:
       Name  Flags
      first  
      last   

  private static boolean match(char, long, long);
    descriptor: (CJJ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // char c
        start local 1 // long lowMask
        start local 3 // long highMask
         0: .line 2494
            iload 0 /* c */
            bipush 64
            if_icmpge 3
         1: .line 2495
            lconst_1
            iload 0 /* c */
            lshl
            lload 1 /* lowMask */
            land
            lconst_0
            lcmp
            ifeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 2496
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 128
            if_icmpge 6
         4: .line 2497
            lconst_1
            iload 0 /* c */
            bipush 64
            isub
            lshl
            lload 3 /* highMask */
            land
            lconst_0
            lcmp
            ifeq 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
         6: .line 2498
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // long highMask
        end local 1 // long lowMask
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0         c  C
            0    7     1   lowMask  J
            0    7     3  highMask  J
    MethodParameters:
          Name  Flags
      c         
      lowMask   
      highMask  

  private static void appendEscape(java.lang.StringBuffer, byte);
    descriptor: (Ljava/lang/StringBuffer;B)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.StringBuffer sb
        start local 1 // byte b
         0: .line 2626
            aload 0 /* sb */
            bipush 37
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 2627
            aload 0 /* sb */
            getstatic java.net.URI.hexDigits:[C
            iload 1 /* b */
            iconst_4
            ishr
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 2628
            aload 0 /* sb */
            getstatic java.net.URI.hexDigits:[C
            iload 1 /* b */
            iconst_0
            ishr
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 2629
            return
        end local 1 // byte b
        end local 0 // java.lang.StringBuffer sb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    sb  Ljava/lang/StringBuffer;
            0    4     1     b  B
    MethodParameters:
      Name  Flags
      sb    
      b     

  private static void appendEncoded(java.lang.StringBuffer, char);
    descriptor: (Ljava/lang/StringBuffer;C)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.StringBuffer sb
        start local 1 // char c
         0: .line 2632
            aconst_null
            astore 2 /* bb */
        start local 2 // java.nio.ByteBuffer bb
         1: .line 2634
            ldc "UTF-8"
            invokestatic sun.nio.cs.ThreadLocalCoders.encoderFor:(Ljava/lang/Object;)Ljava/nio/charset/CharsetEncoder;
         2: .line 2635
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 1 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
         3: .line 2634
            astore 2 /* bb */
         4: .line 2636
            goto 11
      StackMap locals: java.lang.StringBuffer int java.nio.ByteBuffer
      StackMap stack: java.nio.charset.CharacterCodingException
         5: pop
         6: .line 2637
            getstatic java.net.URI.$assertionsDisabled:Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 2640
      StackMap locals:
      StackMap stack:
            aload 2 /* bb */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 3 /* b */
        start local 3 // int b
         8: .line 2641
            iload 3 /* b */
            sipush 128
            if_icmplt 10
         9: .line 2642
            aload 0 /* sb */
            iload 3 /* b */
            i2b
            invokestatic java.net.URI.appendEscape:(Ljava/lang/StringBuffer;B)V
            goto 11
        10: .line 2644
      StackMap locals: int
      StackMap stack:
            aload 0 /* sb */
            iload 3 /* b */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // int b
        11: .line 2639
      StackMap locals:
      StackMap stack:
            aload 2 /* bb */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 7
        12: .line 2646
            return
        end local 2 // java.nio.ByteBuffer bb
        end local 1 // char c
        end local 0 // java.lang.StringBuffer sb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0    sb  Ljava/lang/StringBuffer;
            0   13     1     c  C
            1   13     2    bb  Ljava/nio/ByteBuffer;
            8   11     3     b  I
      Exception table:
        from    to  target  type
           1     4       5  Class java.nio.charset.CharacterCodingException
    MethodParameters:
      Name  Flags
      sb    
      c     

  private static java.lang.String quote(java.lang.String, long, long);
    descriptor: (Ljava/lang/String;JJ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.lang.String s
        start local 1 // long lowMask
        start local 3 // long highMask
         0: .line 2652
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            pop
         1: .line 2653
            aconst_null
            astore 5 /* sb */
        start local 5 // java.lang.StringBuffer sb
         2: .line 2654
            lload 1 /* lowMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* allowNonASCII */
        start local 6 // boolean allowNonASCII
         5: .line 2655
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 29
         7: .line 2656
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
         8: .line 2657
            iload 8 /* c */
            sipush 128
            if_icmpge 18
         9: .line 2658
            iload 8 /* c */
            lload 1 /* lowMask */
            lload 3 /* highMask */
            invokestatic java.net.URI.match:(CJJ)Z
            ifne 15
        10: .line 2659
            aload 5 /* sb */
            ifnonnull 13
        11: .line 2660
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 5 /* sb */
        12: .line 2661
            aload 5 /* sb */
            aload 0 /* s */
            iconst_0
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 2663
      StackMap locals: int
      StackMap stack:
            aload 5 /* sb */
            iload 8 /* c */
            i2b
            invokestatic java.net.URI.appendEscape:(Ljava/lang/StringBuffer;B)V
        14: .line 2664
            goto 28
        15: .line 2665
      StackMap locals:
      StackMap stack:
            aload 5 /* sb */
            ifnull 28
        16: .line 2666
            aload 5 /* sb */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        17: .line 2668
            goto 28
      StackMap locals:
      StackMap stack:
        18: iload 6 /* allowNonASCII */
            ifeq 26
        19: .line 2669
            iload 8 /* c */
            invokestatic java.lang.Character.isSpaceChar:(C)Z
            ifne 21
        20: .line 2670
            iload 8 /* c */
            invokestatic java.lang.Character.isISOControl:(C)Z
            ifeq 26
        21: .line 2671
      StackMap locals:
      StackMap stack:
            aload 5 /* sb */
            ifnonnull 24
        22: .line 2672
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 5 /* sb */
        23: .line 2673
            aload 5 /* sb */
            aload 0 /* s */
            iconst_0
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        24: .line 2675
      StackMap locals:
      StackMap stack:
            aload 5 /* sb */
            iload 8 /* c */
            invokestatic java.net.URI.appendEncoded:(Ljava/lang/StringBuffer;C)V
        25: .line 2676
            goto 28
        26: .line 2677
      StackMap locals:
      StackMap stack:
            aload 5 /* sb */
            ifnull 28
        27: .line 2678
            aload 5 /* sb */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 8 // char c
        28: .line 2655
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 7 /* i */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 7
        end local 7 // int i
        30: .line 2681
            aload 5 /* sb */
            ifnonnull 31
            aload 0 /* s */
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 5 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        32: areturn
        end local 6 // boolean allowNonASCII
        end local 5 // java.lang.StringBuffer sb
        end local 3 // long highMask
        end local 1 // long lowMask
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   33     0              s  Ljava/lang/String;
            0   33     1        lowMask  J
            0   33     3       highMask  J
            2   33     5             sb  Ljava/lang/StringBuffer;
            5   33     6  allowNonASCII  Z
            6   30     7              i  I
            8   28     8              c  C
    MethodParameters:
          Name  Flags
      s         
      lowMask   
      highMask  

  private static java.lang.String encode(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.String s
         0: .line 2688
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 2689
            iload 1 /* n */
            ifne 3
         2: .line 2690
            aload 0 /* s */
            areturn
         3: .line 2693
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: .line 2694
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            sipush 128
            if_icmplt 6
         5: .line 2695
            goto 8
         6: .line 2696
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
            iload 2 /* i */
            iload 1 /* n */
            if_icmplt 4
         7: .line 2697
            aload 0 /* s */
            areturn
        end local 2 // int i
         8: .line 2700
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            getstatic java.text.Normalizer$Form.NFC:Ljava/text/Normalizer$Form;
            invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
            astore 2 /* ns */
        start local 2 // java.lang.String ns
         9: .line 2701
            aconst_null
            astore 3 /* bb */
        start local 3 // java.nio.ByteBuffer bb
        10: .line 2703
            ldc "UTF-8"
            invokestatic sun.nio.cs.ThreadLocalCoders.encoderFor:(Ljava/lang/Object;)Ljava/nio/charset/CharsetEncoder;
        11: .line 2704
            aload 2 /* ns */
            invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
        12: .line 2703
            astore 3 /* bb */
        13: .line 2705
            goto 16
      StackMap locals: java.lang.String int java.lang.String java.nio.ByteBuffer
      StackMap stack: java.nio.charset.CharacterCodingException
        14: pop
        15: .line 2706
            getstatic java.net.URI.$assertionsDisabled:Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 2709
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuffer sb
        17: .line 2710
            goto 22
        18: .line 2711
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 3 /* bb */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 5 /* b */
        start local 5 // int b
        19: .line 2712
            iload 5 /* b */
            sipush 128
            if_icmplt 21
        20: .line 2713
            aload 4 /* sb */
            iload 5 /* b */
            i2b
            invokestatic java.net.URI.appendEscape:(Ljava/lang/StringBuffer;B)V
            goto 22
        21: .line 2715
      StackMap locals: int
      StackMap stack:
            aload 4 /* sb */
            iload 5 /* b */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 5 // int b
        22: .line 2710
      StackMap locals:
      StackMap stack:
            aload 3 /* bb */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 18
        23: .line 2717
            aload 4 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuffer sb
        end local 3 // java.nio.ByteBuffer bb
        end local 2 // java.lang.String ns
        end local 1 // int n
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0     s  Ljava/lang/String;
            1   24     1     n  I
            4    8     2     i  I
            9   24     2    ns  Ljava/lang/String;
           10   24     3    bb  Ljava/nio/ByteBuffer;
           17   24     4    sb  Ljava/lang/StringBuffer;
           19   22     5     b  I
      Exception table:
        from    to  target  type
          10    13      14  Class java.nio.charset.CharacterCodingException
    MethodParameters:
      Name  Flags
      s     

  private static int decode(char);
    descriptor: (C)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 2721
            iload 0 /* c */
            bipush 48
            if_icmplt 2
            iload 0 /* c */
            bipush 57
            if_icmpgt 2
         1: .line 2722
            iload 0 /* c */
            bipush 48
            isub
            ireturn
         2: .line 2723
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 97
            if_icmplt 4
            iload 0 /* c */
            bipush 102
            if_icmpgt 4
         3: .line 2724
            iload 0 /* c */
            bipush 97
            isub
            bipush 10
            iadd
            ireturn
         4: .line 2725
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 65
            if_icmplt 6
            iload 0 /* c */
            bipush 70
            if_icmpgt 6
         5: .line 2726
            iload 0 /* c */
            bipush 65
            isub
            bipush 10
            iadd
            ireturn
         6: .line 2727
      StackMap locals:
      StackMap stack:
            getstatic java.net.URI.$assertionsDisabled:Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 2728
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private static byte decode(char, char);
    descriptor: (CC)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // char c1
        start local 1 // char c2
         0: .line 2732
            iload 0 /* c1 */
            invokestatic java.net.URI.decode:(C)I
            bipush 15
            iand
            iconst_4
            ishl
         1: .line 2733
            iload 1 /* c2 */
            invokestatic java.net.URI.decode:(C)I
            bipush 15
            iand
            iconst_0
            ishl
         2: .line 2732
            ior
            i2b
            ireturn
        end local 1 // char c2
        end local 0 // char c1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    c1  C
            0    3     1    c2  C
    MethodParameters:
      Name  Flags
      c1    
      c2    

  private static java.lang.String decode(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // java.lang.String s
         0: .line 2744
            aload 0 /* s */
            ifnonnull 2
         1: .line 2745
            aload 0 /* s */
            areturn
         2: .line 2746
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* n */
        start local 1 // int n
         3: .line 2747
            iload 1 /* n */
            ifne 5
         4: .line 2748
            aload 0 /* s */
            areturn
         5: .line 2749
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            bipush 37
            invokevirtual java.lang.String.indexOf:(I)I
            ifge 7
         6: .line 2750
            aload 0 /* s */
            areturn
         7: .line 2752
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            iload 1 /* n */
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuffer sb
         8: .line 2753
            iload 1 /* n */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 3 /* bb */
        start local 3 // java.nio.ByteBuffer bb
         9: .line 2754
            iload 1 /* n */
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            astore 4 /* cb */
        start local 4 // java.nio.CharBuffer cb
        10: .line 2755
            ldc "UTF-8"
            invokestatic sun.nio.cs.ThreadLocalCoders.decoderFor:(Ljava/lang/Object;)Ljava/nio/charset/CharsetDecoder;
        11: .line 2756
            getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
            invokevirtual java.nio.charset.CharsetDecoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
        12: .line 2757
            getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
            invokevirtual java.nio.charset.CharsetDecoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
        13: .line 2755
            astore 5 /* dec */
        start local 5 // java.nio.charset.CharsetDecoder dec
        14: .line 2760
            aload 0 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
        15: .line 2761
            iconst_0
            istore 7 /* betweenBrackets */
        start local 7 // boolean betweenBrackets
        16: .line 2763
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        17: goto 45
        18: .line 2764
      StackMap locals: java.lang.String int java.lang.StringBuffer java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CharsetDecoder int int int
      StackMap stack:
            getstatic java.net.URI.$assertionsDisabled:Z
            ifne 19
            iload 6 /* c */
            aload 0 /* s */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 2765
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            bipush 91
            if_icmpne 22
        20: .line 2766
            iconst_1
            istore 7 /* betweenBrackets */
        21: .line 2767
            goto 24
      StackMap locals:
      StackMap stack:
        22: iload 7 /* betweenBrackets */
            ifeq 24
            iload 6 /* c */
            bipush 93
            if_icmpne 24
        23: .line 2768
            iconst_0
            istore 7 /* betweenBrackets */
        24: .line 2770
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            bipush 37
            if_icmpne 25
            iload 7 /* betweenBrackets */
            ifeq 30
        25: .line 2771
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            iload 6 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        26: .line 2772
            iinc 8 /* i */ 1
            iload 8 /* i */
            iload 1 /* n */
            if_icmplt 28
        27: .line 2773
            goto 46
        28: .line 2774
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        29: .line 2775
            goto 45
        30: .line 2777
      StackMap locals:
      StackMap stack:
            aload 3 /* bb */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        31: .line 2780
      StackMap locals:
      StackMap stack:
            getstatic java.net.URI.$assertionsDisabled:Z
            ifne 32
            iload 1 /* n */
            iload 8 /* i */
            isub
            iconst_2
            if_icmpge 32
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        32: .line 2781
      StackMap locals:
      StackMap stack:
            aload 3 /* bb */
            aload 0 /* s */
            iinc 8 /* i */ 1
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            aload 0 /* s */
            iinc 8 /* i */ 1
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.net.URI.decode:(CC)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        33: .line 2782
            iinc 8 /* i */ 1
            iload 8 /* i */
            iload 1 /* n */
            if_icmplt 35
        34: .line 2783
            goto 37
        35: .line 2784
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        36: .line 2785
            iload 6 /* c */
            bipush 37
            if_icmpeq 31
        37: .line 2788
      StackMap locals:
      StackMap stack:
            aload 3 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        38: .line 2789
            aload 4 /* cb */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
        39: .line 2790
            aload 5 /* dec */
            invokevirtual java.nio.charset.CharsetDecoder.reset:()Ljava/nio/charset/CharsetDecoder;
            pop
        40: .line 2791
            aload 5 /* dec */
            aload 3 /* bb */
            aload 4 /* cb */
            iconst_1
            invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 9 /* cr */
        start local 9 // java.nio.charset.CoderResult cr
        41: .line 2792
            getstatic java.net.URI.$assertionsDisabled:Z
            ifne 42
            aload 9 /* cr */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 42
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        42: .line 2793
      StackMap locals: java.nio.charset.CoderResult
      StackMap stack:
            aload 5 /* dec */
            aload 4 /* cb */
            invokevirtual java.nio.charset.CharsetDecoder.flush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            astore 9 /* cr */
        43: .line 2794
            getstatic java.net.URI.$assertionsDisabled:Z
            ifne 44
            aload 9 /* cr */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 44
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        44: .line 2795
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 4 /* cb */
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 9 // java.nio.charset.CoderResult cr
        45: .line 2763
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 1 /* n */
            if_icmplt 18
        end local 8 // int i
        46: .line 2798
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 7 // boolean betweenBrackets
        end local 6 // char c
        end local 5 // java.nio.charset.CharsetDecoder dec
        end local 4 // java.nio.CharBuffer cb
        end local 3 // java.nio.ByteBuffer bb
        end local 2 // java.lang.StringBuffer sb
        end local 1 // int n
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   47     0                s  Ljava/lang/String;
            3   47     1                n  I
            8   47     2               sb  Ljava/lang/StringBuffer;
            9   47     3               bb  Ljava/nio/ByteBuffer;
           10   47     4               cb  Ljava/nio/CharBuffer;
           14   47     5              dec  Ljava/nio/charset/CharsetDecoder;
           15   47     6                c  C
           16   47     7  betweenBrackets  Z
           17   46     8                i  I
           41   45     9               cr  Ljava/nio/charset/CoderResult;
    MethodParameters:
      Name  Flags
      s     

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.net.URI
            invokevirtual java.net.URI.compareTo:(Ljava/net/URI;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Ljava/net/URI;>;Ljava/io/Serializable;
SourceFile: "URI.java"
NestMembers:
  java.net.URI$Parser
InnerClasses:
  private Parser = java.net.URI$Parser of java.net.URI
  public final Form = java.text.Normalizer$Form of java.text.Normalizer