public class org.eclipse.jetty.util.URIUtil implements java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jetty.util.URIUtil
  super_class: java.lang.Object
{
  private static final org.eclipse.jetty.util.log.Logger LOG;
    descriptor: Lorg/eclipse/jetty/util/log/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String SLASH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "/"

  public static final java.lang.String HTTP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http"

  public static final java.lang.String HTTPS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "https"

  public static final java.nio.charset.Charset __CHARSET;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 44
            ldc Lorg/eclipse/jetty/util/URIUtil;
            invokestatic org.eclipse.jetty.util.log.Log.getLogger:(Ljava/lang/Class;)Lorg/eclipse/jetty/util/log/Logger;
            putstatic org.eclipse.jetty.util.URIUtil.LOG:Lorg/eclipse/jetty/util/log/Logger;
         1: .line 50
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            putstatic org.eclipse.jetty.util.URIUtil.__CHARSET:Ljava/nio/charset/Charset;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.URIUtil this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            return
        end local 0 // org.eclipse.jetty.util.URIUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/util/URIUtil;

  public static java.lang.String encodePath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String path
         0: .line 66
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
         2: .line 69
      StackMap locals:
      StackMap stack:
            aconst_null
            aload 0 /* path */
            iconst_0
            invokestatic org.eclipse.jetty.util.URIUtil.encodePath:(Ljava/lang/StringBuilder;Ljava/lang/String;I)Ljava/lang/StringBuilder;
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         3: .line 70
            aload 1 /* buf */
            ifnonnull 4
            aload 0 /* path */
            goto 5
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
         4: aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  path  Ljava/lang/String;
            3    6     1   buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.StringBuilder encodePath(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.StringBuilder buf
        start local 1 // java.lang.String path
         0: .line 82
            aload 0 /* buf */
            aload 1 /* path */
            iconst_0
            invokestatic org.eclipse.jetty.util.URIUtil.encodePath:(Ljava/lang/StringBuilder;Ljava/lang/String;I)Ljava/lang/StringBuilder;
            areturn
        end local 1 // java.lang.String path
        end local 0 // java.lang.StringBuilder buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   buf  Ljava/lang/StringBuilder;
            0    1     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      buf   
      path  

  private static java.lang.StringBuilder encodePath(java.lang.StringBuilder, java.lang.String, int);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;I)Ljava/lang/StringBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.StringBuilder buf
        start local 1 // java.lang.String path
        start local 2 // int offset
         0: .line 94
            aconst_null
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         1: .line 95
            aload 0 /* buf */
            ifnonnull 16
         2: .line 98
            iload 2 /* offset */
            istore 4 /* i */
        start local 4 // int i
         3: goto 13
         4: .line 100
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* path */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         5: .line 101
            iload 5 /* c */
            lookupswitch { // 17
                   32: 6
                   34: 6
                   35: 6
                   37: 6
                   39: 6
                   59: 6
                   60: 6
                   62: 6
                   63: 6
                   91: 6
                   92: 6
                   93: 6
                   94: 6
                   96: 6
                  123: 6
                  124: 6
                  125: 6
              default: 8
          }
         6: .line 120
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_2
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 0 /* buf */
         7: .line 121
            goto 14
         8: .line 123
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 127
            if_icmple 12
         9: .line 125
            aload 1 /* path */
            getstatic org.eclipse.jetty.util.URIUtil.__CHARSET:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 3 /* bytes */
        10: .line 126
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_2
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 0 /* buf */
        11: .line 127
            goto 14
        end local 5 // char c
        12: .line 98
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 4 // int i
        14: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ifnonnull 16
        15: .line 132
            aconst_null
            areturn
        16: .line 138
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            istore 4 /* i */
        start local 4 // int i
        17: goto 59
        18: .line 140
      StackMap locals: int
      StackMap stack:
            aload 1 /* path */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
        19: .line 141
            iload 5 /* c */
            lookupswitch { // 17
                   32: 36
                   34: 28
                   35: 26
                   37: 20
                   39: 30
                   59: 24
                   60: 32
                   62: 34
                   63: 22
                   91: 38
                   92: 40
                   93: 42
                   94: 44
                   96: 46
                  123: 48
                  124: 50
                  125: 52
              default: 54
          }
        20: .line 144
      StackMap locals: int
      StackMap stack:
            aload 0 /* buf */
            ldc "%25"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 145
            goto 58
        22: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3F"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 148
            goto 58
        24: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 151
            goto 58
        26: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%23"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 154
            goto 58
        28: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%22"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 157
            goto 58
        30: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%27"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 160
            goto 58
        32: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 163
            goto 58
        34: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3E"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 166
            goto 58
        36: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%20"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 169
            goto 58
        38: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 172
            goto 58
        40: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 175
            goto 58
        42: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5D"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        43: .line 178
            goto 58
        44: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5E"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        45: .line 181
            goto 58
        46: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%60"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        47: .line 184
            goto 58
        48: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        49: .line 187
            goto 58
        50: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        51: .line 190
            goto 58
        52: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7D"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        53: .line 193
            goto 58
        54: .line 196
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 127
            if_icmple 57
        55: .line 198
            aload 1 /* path */
            getstatic org.eclipse.jetty.util.URIUtil.__CHARSET:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 3 /* bytes */
        56: .line 199
            goto 60
        57: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // char c
        58: .line 138
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 4 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 18
        60: .line 205
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            ifnull 105
        61: .line 207
            goto 104
        62: .line 209
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            iload 4 /* i */
            baload
            istore 5 /* c */
        start local 5 // byte c
        63: .line 210
            iload 5 /* c */
            lookupswitch { // 17
                   32: 80
                   34: 72
                   35: 70
                   37: 64
                   39: 74
                   59: 68
                   60: 76
                   62: 78
                   63: 66
                   91: 82
                   92: 84
                   93: 86
                   94: 88
                   96: 90
                  123: 92
                  124: 94
                  125: 96
              default: 98
          }
        64: .line 213
      StackMap locals: int
      StackMap stack:
            aload 0 /* buf */
            ldc "%25"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        65: .line 214
            goto 103
        66: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3F"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        67: .line 217
            goto 103
        68: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        69: .line 220
            goto 103
        70: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%23"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        71: .line 223
            goto 103
        72: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%22"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        73: .line 226
            goto 103
        74: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%27"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        75: .line 229
            goto 103
        76: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        77: .line 232
            goto 103
        78: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3E"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        79: .line 235
            goto 103
        80: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%20"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        81: .line 238
            goto 103
        82: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        83: .line 241
            goto 103
        84: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        85: .line 244
            goto 103
        86: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5D"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        87: .line 247
            goto 103
        88: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5E"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        89: .line 250
            goto 103
        90: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%60"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        91: .line 253
            goto 103
        92: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        93: .line 256
            goto 103
        94: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        95: .line 259
            goto 103
        96: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7D"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        97: .line 262
            goto 103
        98: .line 264
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            ifge 102
        99: .line 266
            aload 0 /* buf */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       100: .line 267
            iload 5 /* c */
            aload 0 /* buf */
            invokestatic org.eclipse.jetty.util.TypeUtil.toHex:(BLjava/lang/Appendable;)V
       101: .line 268
            goto 103
       102: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 5 /* c */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // byte c
       103: .line 207
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
       104: iload 4 /* i */
            aload 3 /* bytes */
            arraylength
            if_icmplt 62
       105: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            areturn
        end local 4 // int i
        end local 3 // byte[] bytes
        end local 2 // int offset
        end local 1 // java.lang.String path
        end local 0 // java.lang.StringBuilder buf
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0  106     0     buf  Ljava/lang/StringBuilder;
            0  106     1    path  Ljava/lang/String;
            0  106     2  offset  I
            1  106     3   bytes  [B
            3   14     4       i  I
            5   12     5       c  C
           17  106     4       i  I
           19   58     5       c  C
           63  103     5       c  B
    MethodParameters:
        Name  Flags
      buf     
      path    
      offset  

  public static java.lang.String encodeSpaces(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 287
            aload 0 /* str */
            ldc " "
            ldc "%20"
            invokestatic org.eclipse.jetty.util.StringUtil.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public static java.lang.String encodeSpecific(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=2
        start local 0 // java.lang.String str
        start local 1 // java.lang.String charsToEncode
         0: .line 300
            aload 0 /* str */
            ifnull 1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 301
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 303
      StackMap locals:
      StackMap stack:
            aload 1 /* charsToEncode */
            ifnull 3
            aload 1 /* charsToEncode */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            areturn
         4: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* charsToEncode */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* find */
        start local 2 // char[] find
         5: .line 307
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         6: .line 308
            new java.lang.StringBuilder
            dup
            iload 3 /* len */
            i2d
            ldc 0.2
            dmul
            d2i
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* ret */
        start local 4 // java.lang.StringBuilder ret
         7: .line 309
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 30
         9: .line 311
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* str */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
        10: .line 312
            iconst_0
            istore 7 /* escaped */
        start local 7 // boolean escaped
        11: .line 313
            aload 2 /* find */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 26
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int top int int char[]
      StackMap stack:
        12: aload 11
            iload 9
            caload
            istore 8 /* f */
        start local 8 // char f
        13: .line 315
            iload 6 /* c */
            iload 8 /* f */
            if_icmpne 25
        14: .line 317
            iconst_1
            istore 7 /* escaped */
        15: .line 318
            aload 4 /* ret */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 319
            bipush 15
            sipush 240
            iload 6 /* c */
            iand
            iconst_4
            ishr
            iand
            istore 12 /* d */
        start local 12 // int d
        17: .line 320
            aload 4 /* ret */
            iload 12 /* d */
            bipush 9
            if_icmple 18
            bipush 55
            goto 19
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int int int int char[] int
      StackMap stack: java.lang.StringBuilder
        18: bipush 48
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int int int int char[] int
      StackMap stack: java.lang.StringBuilder int
        19: iload 12 /* d */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 321
            bipush 15
            iload 6 /* c */
            iand
            istore 12 /* d */
        21: .line 322
            aload 4 /* ret */
            iload 12 /* d */
            bipush 9
            if_icmple 22
            bipush 55
            goto 23
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        22: bipush 48
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int int int int char[] int
      StackMap stack: java.lang.StringBuilder int
        23: iload 12 /* d */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 323
            goto 27
        end local 12 // int d
        end local 8 // char f
        25: .line 313
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int top int int char[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        26: iload 9
            iload 10
            if_icmplt 12
        27: .line 326
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int
      StackMap stack:
            iload 7 /* escaped */
            ifne 29
        28: .line 328
            aload 4 /* ret */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 7 // boolean escaped
        end local 6 // char c
        29: .line 309
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            iload 3 /* len */
            if_icmplt 9
        end local 5 // int i
        31: .line 331
            aload 4 /* ret */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder ret
        end local 3 // int len
        end local 2 // char[] find
        end local 1 // java.lang.String charsToEncode
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0            str  Ljava/lang/String;
            0   32     1  charsToEncode  Ljava/lang/String;
            5   32     2           find  [C
            6   32     3            len  I
            7   32     4            ret  Ljava/lang/StringBuilder;
            8   31     5              i  I
           10   29     6              c  C
           11   29     7        escaped  Z
           13   25     8              f  C
           17   25    12              d  I
    MethodParameters:
               Name  Flags
      str            
      charsToEncode  

  public static java.lang.String decodeSpecific(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=16, args_size=2
        start local 0 // java.lang.String str
        start local 1 // java.lang.String charsToDecode
         0: .line 344
            aload 0 /* str */
            ifnull 1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 345
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 347
      StackMap locals:
      StackMap stack:
            aload 1 /* charsToDecode */
            ifnull 3
            aload 1 /* charsToDecode */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            areturn
         4: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            bipush 37
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* idx */
        start local 2 // int idx
         5: .line 351
            iload 2 /* idx */
            iconst_m1
            if_icmpne 7
         6: .line 354
            aload 0 /* str */
            areturn
         7: .line 357
      StackMap locals: int
      StackMap stack:
            aload 1 /* charsToDecode */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 3 /* find */
        start local 3 // char[] find
         8: .line 358
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 4 /* len */
        start local 4 // int len
         9: .line 359
            new org.eclipse.jetty.util.Utf8StringBuilder
            dup
            iload 4 /* len */
            invokespecial org.eclipse.jetty.util.Utf8StringBuilder.<init>:(I)V
            astore 5 /* ret */
        start local 5 // org.eclipse.jetty.util.Utf8StringBuilder ret
        10: .line 360
            aload 5 /* ret */
            aload 0 /* str */
            iconst_0
            iload 2 /* idx */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(Ljava/lang/String;II)V
        11: .line 362
            iload 2 /* idx */
            istore 6 /* i */
        start local 6 // int i
        12: goto 36
        13: .line 364
      StackMap locals: java.lang.String java.lang.String int char[] int org.eclipse.jetty.util.Utf8StringBuilder int
      StackMap stack:
            aload 0 /* str */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* c */
        start local 7 // char c
        14: .line 365
            iload 7 /* c */
            tableswitch { // 37 - 37
                   37: 15
              default: 34
          }
        15: .line 368
      StackMap locals: int
      StackMap stack:
            iload 6 /* i */
            iconst_2
            iadd
            iload 4 /* len */
            if_icmpge 33
        16: .line 370
            aload 0 /* str */
            iload 6 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* u */
        start local 8 // char u
        17: .line 371
            aload 0 /* str */
            iload 6 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* l */
        start local 9 // char l
        18: .line 372
            sipush 255
            iload 8 /* u */
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            bipush 16
            imul
            iload 9 /* l */
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            iadd
            iand
            i2c
            istore 10 /* result */
        start local 10 // char result
        19: .line 373
            iconst_0
            istore 11 /* decoded */
        start local 11 // boolean decoded
        20: .line 374
            aload 3 /* find */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 27
      StackMap locals: java.lang.String java.lang.String int char[] int org.eclipse.jetty.util.Utf8StringBuilder int int int int int int top int int char[]
      StackMap stack:
        21: aload 15
            iload 13
            caload
            istore 12 /* f */
        start local 12 // char f
        22: .line 376
            iload 12 /* f */
            iload 10 /* result */
            if_icmpne 26
        23: .line 378
            aload 5 /* ret */
            iload 10 /* result */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        24: .line 379
            iconst_1
            istore 11 /* decoded */
        25: .line 380
            goto 28
        end local 12 // char f
        26: .line 374
      StackMap locals:
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        27: iload 13
            iload 14
            if_icmplt 21
        28: .line 383
      StackMap locals: java.lang.String java.lang.String int char[] int org.eclipse.jetty.util.Utf8StringBuilder int int int int int int
      StackMap stack:
            iload 11 /* decoded */
            ifeq 31
        29: .line 385
            iinc 6 /* i */ 2
        30: .line 386
            goto 35
        31: .line 389
      StackMap locals:
      StackMap stack:
            aload 5 /* ret */
            iload 7 /* c */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        end local 11 // boolean decoded
        end local 10 // char result
        end local 9 // char l
        end local 8 // char u
        32: .line 391
            goto 35
        33: .line 394
      StackMap locals: java.lang.String java.lang.String int char[] int org.eclipse.jetty.util.Utf8StringBuilder int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad URI % encoding"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 398
      StackMap locals:
      StackMap stack:
            aload 5 /* ret */
            iload 7 /* c */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        end local 7 // char c
        35: .line 362
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 6 /* i */
            iload 4 /* len */
            if_icmplt 13
        end local 6 // int i
        37: .line 402
            aload 5 /* ret */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // org.eclipse.jetty.util.Utf8StringBuilder ret
        end local 4 // int len
        end local 3 // char[] find
        end local 2 // int idx
        end local 1 // java.lang.String charsToDecode
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0            str  Ljava/lang/String;
            0   38     1  charsToDecode  Ljava/lang/String;
            5   38     2            idx  I
            8   38     3           find  [C
            9   38     4            len  I
           10   38     5            ret  Lorg/eclipse/jetty/util/Utf8StringBuilder;
           12   37     6              i  I
           14   35     7              c  C
           17   32     8              u  C
           18   32     9              l  C
           19   32    10         result  C
           20   32    11        decoded  Z
           22   26    12              f  C
    MethodParameters:
               Name  Flags
      str            
      charsToDecode  

  public static java.lang.StringBuilder encodeString(java.lang.StringBuilder, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.StringBuilder buf
        start local 1 // java.lang.String path
        start local 2 // java.lang.String encode
         0: .line 417
            aload 0 /* buf */
            ifnonnull 11
         1: .line 419
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 421
      StackMap locals: int
      StackMap stack:
            aload 1 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         4: .line 422
            iload 4 /* c */
            bipush 37
            if_icmpeq 5
            aload 2 /* encode */
            iload 4 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 7
         5: .line 424
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            ishl
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 0 /* buf */
         6: .line 425
            goto 9
        end local 4 // char c
         7: .line 419
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 3 // int i
         9: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ifnonnull 11
        10: .line 429
            aconst_null
            areturn
        11: .line 432
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        12: goto 20
        13: .line 434
      StackMap locals: int
      StackMap stack:
            aload 1 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
        14: .line 435
            iload 4 /* c */
            bipush 37
            if_icmpeq 15
            aload 2 /* encode */
            iload 4 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 18
        15: .line 437
      StackMap locals: int
      StackMap stack:
            aload 0 /* buf */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 438
            aload 0 /* buf */
            sipush 255
            iload 4 /* c */
            iand
            i2b
            bipush 16
            invokestatic org.eclipse.jetty.util.StringUtil.append:(Ljava/lang/StringBuilder;BI)V
        17: .line 439
            goto 19
        18: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // char c
        19: .line 432
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 13
        end local 3 // int i
        21: .line 444
            aload 0 /* buf */
            areturn
        end local 2 // java.lang.String encode
        end local 1 // java.lang.String path
        end local 0 // java.lang.StringBuilder buf
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0     buf  Ljava/lang/StringBuilder;
            0   22     1    path  Ljava/lang/String;
            0   22     2  encode  Ljava/lang/String;
            2    9     3       i  I
            4    7     4       c  C
           12   21     3       i  I
           14   19     4       c  C
    MethodParameters:
        Name  Flags
      buf     
      path    
      encode  

  public static java.lang.String decodePath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 451
            aload 0 /* path */
            iconst_0
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokestatic org.eclipse.jetty.util.URIUtil.decodePath:(Ljava/lang/String;II)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String decodePath(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=14, args_size=3
        start local 0 // java.lang.String path
        start local 1 // int offset
        start local 2 // int length
         0: .line 460
            aconst_null
            astore 3 /* builder */
        start local 3 // org.eclipse.jetty.util.Utf8StringBuilder builder
         1: .line 461
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            istore 4 /* end */
        start local 4 // int end
         2: .line 462
            iload 1 /* offset */
            istore 5 /* i */
        start local 5 // int i
         3: goto 37
         4: .line 464
      StackMap locals: org.eclipse.jetty.util.Utf8StringBuilder int int
      StackMap stack:
            aload 0 /* path */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         5: .line 465
            iload 6 /* c */
            lookupswitch { // 2
                   37: 6
                   59: 25
              default: 34
          }
         6: .line 468
      StackMap locals: int
      StackMap stack:
            aload 3 /* builder */
            ifnonnull 9
         7: .line 470
            new org.eclipse.jetty.util.Utf8StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial org.eclipse.jetty.util.Utf8StringBuilder.<init>:(I)V
            astore 3 /* builder */
         8: .line 471
            aload 3 /* builder */
            aload 0 /* path */
            iload 1 /* offset */
            iload 5 /* i */
            iload 1 /* offset */
            isub
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(Ljava/lang/String;II)V
         9: .line 473
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iconst_2
            iadd
            iload 4 /* end */
            if_icmpge 24
        10: .line 475
            aload 0 /* path */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* u */
        start local 7 // char u
        11: .line 476
            iload 7 /* u */
            bipush 117
            if_icmpne 21
        12: .line 478
            ldc 65535
            aload 0 /* path */
            iload 5 /* i */
            iconst_2
            iadd
            iconst_4
            bipush 16
            invokestatic org.eclipse.jetty.util.TypeUtil.parseInt:(Ljava/lang/String;III)I
            iand
            istore 8 /* codepoint */
        start local 8 // int codepoint
        13: .line 479
            iload 8 /* codepoint */
            invokestatic java.lang.Character.toChars:(I)[C
            astore 9 /* chars */
        start local 9 // char[] chars
        14: .line 480
            aload 9 /* chars */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 18
      StackMap locals: java.lang.String int int org.eclipse.jetty.util.Utf8StringBuilder int int int int int char[] top int int char[]
      StackMap stack:
        15: aload 13
            iload 11
            caload
            istore 10 /* ch */
        start local 10 // char ch
        16: .line 482
            aload 3 /* builder */
            iload 10 /* ch */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        end local 10 // char ch
        17: .line 480
            iinc 11 1
      StackMap locals:
      StackMap stack:
        18: iload 11
            iload 12
            if_icmplt 15
        19: .line 484
            iinc 5 /* i */ 5
        end local 9 // char[] chars
        end local 8 // int codepoint
        20: .line 485
            goto 36
        21: .line 488
      StackMap locals: java.lang.String int int org.eclipse.jetty.util.Utf8StringBuilder int int int int
      StackMap stack:
            aload 3 /* builder */
            sipush 255
            iload 7 /* u */
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            bipush 16
            imul
            aload 0 /* path */
            iload 5 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            iadd
            iand
            i2b
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(B)V
        22: .line 489
            iinc 5 /* i */ 2
        end local 7 // char u
        23: .line 491
            goto 36
        24: .line 494
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad URI % encoding"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 500
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            ifnonnull 32
        26: .line 502
            new org.eclipse.jetty.util.Utf8StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial org.eclipse.jetty.util.Utf8StringBuilder.<init>:(I)V
            astore 3 /* builder */
        27: .line 503
            aload 3 /* builder */
            aload 0 /* path */
            iload 1 /* offset */
            iload 5 /* i */
            iload 1 /* offset */
            isub
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(Ljava/lang/String;II)V
        28: .line 506
            goto 32
        29: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 32
        30: .line 510
            aload 3 /* builder */
            bipush 47
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        31: .line 511
            goto 36
        32: .line 506
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
            iload 5 /* i */
            iload 4 /* end */
            if_icmplt 29
        33: .line 515
            goto 36
        34: .line 518
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            ifnull 36
        35: .line 519
            aload 3 /* builder */
            iload 6 /* c */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        end local 6 // char c
        36: .line 462
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 5 /* i */
            iload 4 /* end */
            if_icmplt 4
        end local 5 // int i
        38: .line 524
            aload 3 /* builder */
            ifnull 41
        39: .line 525
            aload 3 /* builder */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.toString:()Ljava/lang/String;
        40: areturn
        41: .line 526
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            ifne 44
            iload 2 /* length */
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmpne 44
        42: .line 527
            aload 0 /* path */
        43: areturn
        44: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 1 /* offset */
            iload 4 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        45: areturn
        end local 4 // int end
        end local 3 // org.eclipse.jetty.util.Utf8StringBuilder builder
        46: .line 530
      StackMap locals: java.lang.String int int
      StackMap stack: org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception
            astore 3 /* e */
        start local 3 // org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception e
        47: .line 532
            getstatic org.eclipse.jetty.util.URIUtil.LOG:Lorg/eclipse/jetty/util/log/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            iload 1 /* offset */
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            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;
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        48: .line 533
            getstatic org.eclipse.jetty.util.URIUtil.LOG:Lorg/eclipse/jetty/util/log/Logger;
            aload 3 /* e */
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
        49: .line 534
            aload 0 /* path */
            iload 1 /* offset */
            iload 2 /* length */
            invokestatic org.eclipse.jetty.util.URIUtil.decodeISO88591Path:(Ljava/lang/String;II)Ljava/lang/String;
            areturn
        end local 3 // org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception e
        end local 2 // int length
        end local 1 // int offset
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   50     0       path  Ljava/lang/String;
            0   50     1     offset  I
            0   50     2     length  I
            1   46     3    builder  Lorg/eclipse/jetty/util/Utf8StringBuilder;
            2   46     4        end  I
            3   38     5          i  I
            5   36     6          c  C
           11   23     7          u  C
           13   20     8  codepoint  I
           14   20     9      chars  [C
           16   17    10         ch  C
           47   50     3          e  Lorg/eclipse/jetty/util/Utf8Appendable$NotUtf8Exception;
      Exception table:
        from    to  target  type
           0    40      46  Class org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception
          41    43      46  Class org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception
          44    45      46  Class org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception
    MethodParameters:
        Name  Flags
      path    
      offset  
      length  

  private static java.lang.String decodeISO88591Path(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // java.lang.String path
        start local 1 // int offset
        start local 2 // int length
         0: .line 542
            aconst_null
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
         1: .line 543
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            istore 4 /* end */
        start local 4 // int end
         2: .line 544
            iload 1 /* offset */
            istore 5 /* i */
        start local 5 // int i
         3: goto 31
         4: .line 546
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 0 /* path */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         5: .line 547
            iload 6 /* c */
            lookupswitch { // 2
                   37: 6
                   59: 19
              default: 28
          }
         6: .line 550
      StackMap locals: int
      StackMap stack:
            aload 3 /* builder */
            ifnonnull 9
         7: .line 552
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* builder */
         8: .line 553
            aload 3 /* builder */
            aload 0 /* path */
            iload 1 /* offset */
            iload 5 /* i */
            iload 1 /* offset */
            isub
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
         9: .line 555
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iconst_2
            iadd
            iload 4 /* end */
            if_icmpge 18
        10: .line 557
            aload 0 /* path */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* u */
        start local 7 // char u
        11: .line 558
            iload 7 /* u */
            bipush 117
            if_icmpne 15
        12: .line 561
            aload 3 /* builder */
            ldc 65535
            aload 0 /* path */
            iload 5 /* i */
            iconst_2
            iadd
            iconst_4
            bipush 16
            invokestatic org.eclipse.jetty.util.TypeUtil.parseInt:(Ljava/lang/String;III)I
            iand
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 562
            iinc 5 /* i */ 5
        14: .line 563
            goto 30
        15: .line 566
      StackMap locals: int
      StackMap stack:
            aload 3 /* builder */
            sipush 255
            iload 7 /* u */
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            bipush 16
            imul
            aload 0 /* path */
            iload 5 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            iadd
            iand
            i2b
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        16: .line 567
            iinc 5 /* i */ 2
        end local 7 // char u
        17: .line 569
            goto 30
        18: .line 572
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        19: .line 578
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            ifnonnull 26
        20: .line 580
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* builder */
        21: .line 581
            aload 3 /* builder */
            aload 0 /* path */
            iload 1 /* offset */
            iload 5 /* i */
            iload 1 /* offset */
            isub
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        22: .line 583
            goto 26
        23: .line 585
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 26
        24: .line 587
            aload 3 /* builder */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        25: .line 588
            goto 30
        26: .line 583
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
            iload 5 /* i */
            iload 4 /* end */
            if_icmplt 23
        27: .line 591
            goto 30
        28: .line 594
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            ifnull 30
        29: .line 595
            aload 3 /* builder */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 6 // char c
        30: .line 544
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 5 /* i */
            iload 4 /* end */
            if_icmplt 4
        end local 5 // int i
        32: .line 600
            aload 3 /* builder */
            ifnull 34
        33: .line 601
            aload 3 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        34: .line 602
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            ifne 36
            iload 2 /* length */
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmpne 36
        35: .line 603
            aload 0 /* path */
            areturn
        36: .line 604
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 1 /* offset */
            iload 4 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 4 // int end
        end local 3 // java.lang.StringBuilder builder
        end local 2 // int length
        end local 1 // int offset
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   37     0     path  Ljava/lang/String;
            0   37     1   offset  I
            0   37     2   length  I
            1   37     3  builder  Ljava/lang/StringBuilder;
            2   37     4      end  I
            3   32     5        i  I
            5   30     6        c  C
           11   17     7        u  C
    MethodParameters:
        Name  Flags
      path    
      offset  
      length  

  public static java.lang.String addEncodedPaths(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.String p1
        start local 1 // java.lang.String p2
         0: .line 618
            aload 0 /* p1 */
            ifnull 1
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            ifne 4
         1: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            ifnull 3
            aload 1 /* p2 */
            ifnonnull 3
         2: .line 621
            aload 0 /* p1 */
            areturn
         3: .line 622
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            areturn
         4: .line 624
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            ifnull 5
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 625
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            areturn
         6: .line 627
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            bipush 59
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* split */
        start local 2 // int split
         7: .line 628
            iload 2 /* split */
            ifge 9
         8: .line 629
            aload 0 /* p1 */
            bipush 63
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* split */
         9: .line 630
      StackMap locals: int
      StackMap stack:
            iload 2 /* split */
            ifne 11
        10: .line 631
            new java.lang.StringBuilder
            dup
            aload 1 /* p2 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* p1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 632
      StackMap locals:
      StackMap stack:
            iload 2 /* split */
            ifge 13
        12: .line 633
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            istore 2 /* split */
        13: .line 635
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_2
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
        14: .line 636
            aload 3 /* buf */
            aload 0 /* p1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 638
            aload 3 /* buf */
            iload 2 /* split */
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 47
            if_icmpne 22
        16: .line 640
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 20
        17: .line 642
            aload 3 /* buf */
            iload 2 /* split */
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
            pop
        18: .line 643
            aload 3 /* buf */
            iload 2 /* split */
            iconst_1
            isub
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 644
            goto 26
        20: .line 646
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 3 /* buf */
            iload 2 /* split */
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 647
            goto 26
        22: .line 650
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
        23: .line 651
            aload 3 /* buf */
            iload 2 /* split */
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 26
        24: .line 654
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            iload 2 /* split */
            bipush 47
            invokevirtual java.lang.StringBuilder.insert:(IC)Ljava/lang/StringBuilder;
            pop
        25: .line 655
            aload 3 /* buf */
            iload 2 /* split */
            iconst_1
            iadd
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 659
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder buf
        end local 2 // int split
        end local 1 // java.lang.String p2
        end local 0 // java.lang.String p1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   27     0     p1  Ljava/lang/String;
            0   27     1     p2  Ljava/lang/String;
            7   27     2  split  I
           14   27     3    buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      p1    
      p2    

  public static java.lang.String addPaths(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.String p1
        start local 1 // java.lang.String p2
         0: .line 673
            aload 0 /* p1 */
            ifnull 1
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            ifne 4
         1: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            ifnull 3
            aload 1 /* p2 */
            ifnonnull 3
         2: .line 676
            aload 0 /* p1 */
            areturn
         3: .line 677
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            areturn
         4: .line 679
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            ifnull 5
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 680
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            areturn
         6: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            istore 2 /* p1EndsWithSlash */
        start local 2 // boolean p1EndsWithSlash
         7: .line 683
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            istore 3 /* p2StartsWithSlash */
        start local 3 // boolean p2StartsWithSlash
         8: .line 685
            iload 2 /* p1EndsWithSlash */
            ifeq 13
            iload 3 /* p2StartsWithSlash */
            ifeq 13
         9: .line 687
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 11
        10: .line 688
            aload 0 /* p1 */
            areturn
        11: .line 689
      StackMap locals: int int
      StackMap stack:
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 13
        12: .line 690
            aload 1 /* p2 */
            areturn
        13: .line 693
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_2
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
        14: .line 694
            aload 4 /* buf */
            aload 0 /* p1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 696
            aload 0 /* p1 */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 19
        16: .line 698
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 21
        17: .line 699
            aload 4 /* buf */
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        18: .line 700
            goto 21
        19: .line 703
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 21
        20: .line 704
            aload 4 /* buf */
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 706
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 708
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder buf
        end local 3 // boolean p2StartsWithSlash
        end local 2 // boolean p1EndsWithSlash
        end local 1 // java.lang.String p2
        end local 0 // java.lang.String p1
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   23     0                 p1  Ljava/lang/String;
            0   23     1                 p2  Ljava/lang/String;
            7   23     2    p1EndsWithSlash  Z
            8   23     3  p2StartsWithSlash  Z
           14   23     4                buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      p1    
      p2    

  public static java.lang.String parentPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String p
         0: .line 720
            aload 0 /* p */
            ifnull 1
            ldc "/"
            aload 0 /* p */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 721
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* p */
            bipush 47
            aload 0 /* p */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.lastIndexOf:(II)I
            istore 1 /* slash */
        start local 1 // int slash
         3: .line 723
            iload 1 /* slash */
            iflt 5
         4: .line 724
            aload 0 /* p */
            iconst_0
            iload 1 /* slash */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         5: .line 725
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int slash
        end local 0 // java.lang.String p
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0      p  Ljava/lang/String;
            3    6     1  slash  I
    MethodParameters:
      Name  Flags
      p     

  public static java.lang.String canonicalPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String path
         0: .line 742
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 743
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
         2: .line 745
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* slash */
        start local 1 // boolean slash
         3: .line 746
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            istore 2 /* end */
        start local 2 // int end
         4: .line 747
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: .line 750
            goto 16
         6: .line 752
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         7: .line 753
            iload 4 /* c */
            tableswitch { // 46 - 47
                   46: 10
                   47: 8
              default: 14
          }
         8: .line 756
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 1 /* slash */
         9: .line 757
            goto 15
        10: .line 760
      StackMap locals:
      StackMap stack:
            iload 1 /* slash */
            ifeq 12
        11: .line 761
            goto 17
        12: .line 762
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        13: .line 763
            goto 15
        14: .line 766
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        15: .line 769
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 4 // char c
        16: .line 750
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmplt 6
        17: .line 772
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmpne 19
        18: .line 773
            aload 0 /* path */
            areturn
        19: .line 775
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* canonical */
        start local 4 // java.lang.StringBuilder canonical
        20: .line 776
            aload 4 /* canonical */
            aload 0 /* path */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        21: .line 778
            iconst_1
            istore 5 /* dots */
        start local 5 // int dots
        22: .line 779
            iinc 3 /* i */ 1
        23: .line 780
            goto 60
        24: .line 782
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmpge 25
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: istore 6 /* c */
        start local 6 // char c
        27: .line 783
            iload 6 /* c */
            lookupswitch { // 3
                    0: 28
                   46: 46
                   47: 28
              default: 53
          }
        28: .line 787
      StackMap locals: int
      StackMap stack:
            iload 5 /* dots */
            tableswitch { // 0 - 2
                    0: 29
                    1: 32
                    2: 33
              default: 38
          }
        29: .line 790
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            ifeq 43
        30: .line 791
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 792
            goto 43
        32: .line 795
      StackMap locals:
      StackMap stack:
            goto 43
        33: .line 798
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_2
            if_icmpge 35
        34: .line 799
            aconst_null
            areturn
        35: .line 800
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        36: .line 801
            aload 4 /* canonical */
            aload 4 /* canonical */
            ldc "/"
            invokevirtual java.lang.StringBuilder.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        37: .line 802
            goto 43
        38: .line 805
      StackMap locals:
      StackMap stack:
            goto 40
        39: .line 807
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        40: .line 805
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            iinc 5 /* dots */ -1
            ifgt 39
        41: .line 809
            iload 6 /* c */
            ifeq 43
        42: .line 810
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        43: .line 813
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* slash */
        44: .line 814
            iconst_0
            istore 5 /* dots */
        45: .line 815
            goto 59
        46: .line 818
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            ifle 48
        47: .line 819
            iinc 5 /* dots */ 1
            goto 51
        48: .line 820
      StackMap locals:
      StackMap stack:
            iload 1 /* slash */
            ifeq 50
        49: .line 821
            iconst_1
            istore 5 /* dots */
            goto 51
        50: .line 823
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        51: .line 824
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        52: .line 825
            goto 59
        53: .line 828
      StackMap locals:
      StackMap stack:
            goto 55
        54: .line 830
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        55: .line 828
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            iinc 5 /* dots */ -1
            ifgt 54
        56: .line 832
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        57: .line 833
            iconst_0
            istore 5 /* dots */
        58: .line 834
            iconst_0
            istore 1 /* slash */
        59: .line 837
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 6 // char c
        60: .line 780
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmple 24
        61: .line 839
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int dots
        end local 4 // java.lang.StringBuilder canonical
        end local 3 // int i
        end local 2 // int end
        end local 1 // boolean slash
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   62     0       path  Ljava/lang/String;
            3   62     1      slash  Z
            4   62     2        end  I
            5   62     3          i  I
            7   16     4          c  C
           20   62     4  canonical  Ljava/lang/StringBuilder;
           22   62     5       dots  I
           27   60     6          c  C
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String canonicalEncodedPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String path
         0: .line 856
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
         2: .line 859
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* slash */
        start local 1 // boolean slash
         3: .line 860
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            istore 2 /* end */
        start local 2 // int end
         4: .line 861
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: .line 864
            goto 17
         6: .line 866
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         7: .line 867
            iload 4 /* c */
            lookupswitch { // 3
                   46: 10
                   47: 8
                   63: 14
              default: 15
          }
         8: .line 870
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 1 /* slash */
         9: .line 871
            goto 16
        10: .line 874
      StackMap locals:
      StackMap stack:
            iload 1 /* slash */
            ifeq 12
        11: .line 875
            goto 18
        12: .line 876
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        13: .line 877
            goto 16
        14: .line 880
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
        15: .line 883
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        16: .line 886
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 4 // char c
        17: .line 864
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmplt 6
        18: .line 889
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmpne 20
        19: .line 890
            aload 0 /* path */
            areturn
        20: .line 892
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* canonical */
        start local 4 // java.lang.StringBuilder canonical
        21: .line 893
            aload 4 /* canonical */
            aload 0 /* path */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        22: .line 895
            iconst_1
            istore 5 /* dots */
        start local 5 // int dots
        23: .line 896
            iinc 3 /* i */ 1
        24: .line 897
            goto 65
        25: .line 899
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmpge 26
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: istore 6 /* c */
        start local 6 // char c
        28: .line 900
            iload 6 /* c */
            lookupswitch { // 4
                    0: 29
                   46: 51
                   47: 29
                   63: 29
              default: 58
          }
        29: .line 905
      StackMap locals: int
      StackMap stack:
            iload 5 /* dots */
            tableswitch { // 0 - 2
                    0: 30
                    1: 33
                    2: 36
              default: 43
          }
        30: .line 908
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            ifeq 48
        31: .line 909
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 910
            goto 48
        33: .line 913
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            bipush 63
            if_icmpne 48
        34: .line 914
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        35: .line 915
            goto 48
        36: .line 918
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_2
            if_icmpge 38
        37: .line 919
            aconst_null
            areturn
        38: .line 920
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        39: .line 921
            aload 4 /* canonical */
            aload 4 /* canonical */
            ldc "/"
            invokevirtual java.lang.StringBuilder.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        40: .line 922
            iload 6 /* c */
            bipush 63
            if_icmpne 48
        41: .line 923
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 924
            goto 48
        43: .line 926
      StackMap locals:
      StackMap stack:
            goto 45
        44: .line 928
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        45: .line 926
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            iinc 5 /* dots */ -1
            ifgt 44
        46: .line 930
            iload 6 /* c */
            ifeq 48
        47: .line 931
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        48: .line 934
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* slash */
        49: .line 935
            iconst_0
            istore 5 /* dots */
        50: .line 936
            goto 64
        51: .line 939
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            ifle 53
        52: .line 940
            iinc 5 /* dots */ 1
            goto 56
        53: .line 941
      StackMap locals:
      StackMap stack:
            iload 1 /* slash */
            ifeq 55
        54: .line 942
            iconst_1
            istore 5 /* dots */
            goto 56
        55: .line 944
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        56: .line 945
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        57: .line 946
            goto 64
        58: .line 949
      StackMap locals:
      StackMap stack:
            goto 60
        59: .line 951
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        60: .line 949
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            iinc 5 /* dots */ -1
            ifgt 59
        61: .line 953
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        62: .line 954
            iconst_0
            istore 5 /* dots */
        63: .line 955
            iconst_0
            istore 1 /* slash */
        64: .line 958
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 6 // char c
        65: .line 897
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmple 25
        66: .line 960
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int dots
        end local 4 // java.lang.StringBuilder canonical
        end local 3 // int i
        end local 2 // int end
        end local 1 // boolean slash
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   67     0       path  Ljava/lang/String;
            3   67     1      slash  Z
            4   67     2        end  I
            5   67     3          i  I
            7   17     4          c  C
           21   67     4  canonical  Ljava/lang/StringBuilder;
           23   67     5       dots  I
           28   65     6          c  C
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String compactPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String path
         0: .line 972
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
         2: .line 975
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* state */
        start local 1 // int state
         3: .line 976
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            istore 2 /* end */
        start local 2 // int end
         4: .line 977
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: .line 980
            goto 14
         6: .line 982
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         7: .line 983
            iload 4 /* c */
            lookupswitch { // 2
                   47: 9
                   63: 8
              default: 12
          }
         8: .line 986
      StackMap locals: int
      StackMap stack:
            aload 0 /* path */
            areturn
         9: .line 988
      StackMap locals:
      StackMap stack:
            iinc 1 /* state */ 1
        10: .line 989
            iload 1 /* state */
            iconst_2
            if_icmpne 13
        11: .line 990
            goto 15
        12: .line 993
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* state */
        13: .line 995
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 4 // char c
        14: .line 980
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmplt 6
        15: .line 998
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            iconst_2
            if_icmpge 17
        16: .line 999
            aload 0 /* path */
            areturn
        17: .line 1001
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
        18: .line 1002
            aload 4 /* buf */
            aload 0 /* path */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        19: .line 1005
            goto 30
        20: .line 1007
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
        21: .line 1008
            iload 5 /* c */
            lookupswitch { // 2
                   47: 24
                   63: 22
              default: 27
          }
        22: .line 1011
      StackMap locals: int
      StackMap stack:
            aload 4 /* buf */
            aload 0 /* path */
            iload 3 /* i */
            iload 2 /* end */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        23: .line 1012
            goto 31
        24: .line 1014
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            iinc 1 /* state */ 1
            ifne 29
        25: .line 1015
            aload 4 /* buf */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 1016
            goto 29
        27: .line 1018
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* state */
        28: .line 1019
            aload 4 /* buf */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 1021
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 5 // char c
        30: .line 1005
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmplt 20
        31: .line 1024
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder buf
        end local 3 // int i
        end local 2 // int end
        end local 1 // int state
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   32     0   path  Ljava/lang/String;
            3   32     1  state  I
            4   32     2    end  I
            5   32     3      i  I
            7   14     4      c  C
           18   32     4    buf  Ljava/lang/StringBuilder;
           21   30     5      c  C
    MethodParameters:
      Name  Flags
      path  

  public static boolean hasScheme(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String uri
         0: .line 1033
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 13
         2: .line 1035
      StackMap locals: int
      StackMap stack:
            aload 0 /* uri */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c */
        start local 2 // char c
         3: .line 1036
            iload 2 /* c */
            bipush 58
            if_icmpne 5
         4: .line 1037
            iconst_1
            ireturn
         5: .line 1038
      StackMap locals: int
      StackMap stack:
            iload 2 /* c */
            bipush 97
            if_icmplt 6
            iload 2 /* c */
            bipush 122
            if_icmple 12
         6: .line 1039
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            bipush 65
            if_icmplt 7
            iload 2 /* c */
            bipush 90
            if_icmple 12
         7: .line 1040
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            ifle 14
            iload 2 /* c */
            bipush 48
            if_icmplt 8
            iload 2 /* c */
            bipush 57
            if_icmple 12
         8: .line 1041
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            bipush 46
            if_icmpeq 12
         9: .line 1042
            iload 2 /* c */
            bipush 43
            if_icmpeq 12
        10: .line 1043
            iload 2 /* c */
            bipush 45
            if_icmpeq 12
        11: .line 1045
            goto 14
        end local 2 // char c
        12: .line 1033
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 1 /* i */
            aload 0 /* uri */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
        end local 1 // int i
        14: .line 1048
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0   uri  Ljava/lang/String;
            1   14     1     i  I
            3   12     2     c  C
    MethodParameters:
      Name  Flags
      uri   

  public static java.lang.String newURI(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // java.lang.String scheme
        start local 1 // java.lang.String server
        start local 2 // int port
        start local 3 // java.lang.String path
        start local 4 // java.lang.String query
         0: .line 1063
            aload 0 /* scheme */
            aload 1 /* server */
            iload 2 /* port */
            invokestatic org.eclipse.jetty.util.URIUtil.newURIBuilder:(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/StringBuilder;
            astore 5 /* builder */
        start local 5 // java.lang.StringBuilder builder
         1: .line 1064
            aload 5 /* builder */
            aload 3 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1065
            aload 4 /* query */
            ifnull 4
            aload 4 /* query */
            invokevirtual java.lang.String.length:()I
            ifle 4
         3: .line 1066
            aload 5 /* builder */
            bipush 63
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 4 /* query */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1067
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 5 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuilder builder
        end local 4 // java.lang.String query
        end local 3 // java.lang.String path
        end local 2 // int port
        end local 1 // java.lang.String server
        end local 0 // java.lang.String scheme
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0   scheme  Ljava/lang/String;
            0    5     1   server  Ljava/lang/String;
            0    5     2     port  I
            0    5     3     path  Ljava/lang/String;
            0    5     4    query  Ljava/lang/String;
            1    5     5  builder  Ljava/lang/StringBuilder;
    MethodParameters:
        Name  Flags
      scheme  
      server  
      port    
      path    
      query   

  public static java.lang.StringBuilder newURIBuilder(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/StringBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.String scheme
        start local 1 // java.lang.String server
        start local 2 // int port
         0: .line 1080
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
         1: .line 1081
            aload 3 /* builder */
            aload 0 /* scheme */
            aload 1 /* server */
            iload 2 /* port */
            invokestatic org.eclipse.jetty.util.URIUtil.appendSchemeHostPort:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;I)V
         2: .line 1082
            aload 3 /* builder */
            areturn
        end local 3 // java.lang.StringBuilder builder
        end local 2 // int port
        end local 1 // java.lang.String server
        end local 0 // java.lang.String scheme
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0   scheme  Ljava/lang/String;
            0    3     1   server  Ljava/lang/String;
            0    3     2     port  I
            1    3     3  builder  Ljava/lang/StringBuilder;
    MethodParameters:
        Name  Flags
      scheme  
      server  
      port    

  public static void appendSchemeHostPort(java.lang.StringBuilder, java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // java.lang.StringBuilder url
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String server
        start local 3 // int port
         0: .line 1095
            aload 0 /* url */
            aload 1 /* scheme */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "://"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* server */
            invokestatic org.eclipse.jetty.util.HostPort.normalizeHost:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 1097
            iload 3 /* port */
            ifle 12
         2: .line 1099
            aload 1 /* scheme */
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
              3213448: 3
             99617003: 4
              default: 11
          }
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 4
            ldc "http"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 11
      StackMap locals:
      StackMap stack:
         4: aload 4
            ldc "https"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 11
         5: .line 1102
      StackMap locals:
      StackMap stack:
            iload 3 /* port */
            bipush 80
            if_icmpeq 12
         6: .line 1103
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 3 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         7: .line 1104
            goto 12
         8: .line 1107
      StackMap locals:
      StackMap stack:
            iload 3 /* port */
            sipush 443
            if_icmpeq 12
         9: .line 1108
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 3 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        10: .line 1109
            goto 12
        11: .line 1112
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 3 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        12: .line 1115
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int port
        end local 2 // java.lang.String server
        end local 1 // java.lang.String scheme
        end local 0 // java.lang.StringBuilder url
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0     url  Ljava/lang/StringBuilder;
            0   13     1  scheme  Ljava/lang/String;
            0   13     2  server  Ljava/lang/String;
            0   13     3    port  I
    MethodParameters:
        Name  Flags
      url     
      scheme  
      server  
      port    

  public static void appendSchemeHostPort(java.lang.StringBuffer, java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // java.lang.StringBuffer url
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String server
        start local 3 // int port
         0: .line 1127
            aload 0 /* url */
            dup
            astore 4
            monitorenter
         1: .line 1129
            aload 0 /* url */
            aload 1 /* scheme */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            ldc "://"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 2 /* server */
            invokestatic org.eclipse.jetty.util.HostPort.normalizeHost:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 1131
            iload 3 /* port */
            ifle 13
         3: .line 1133
            aload 1 /* scheme */
            dup
            astore 5
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
              3213448: 4
             99617003: 5
              default: 12
          }
      StackMap locals: java.lang.StringBuffer java.lang.String
      StackMap stack:
         4: aload 5
            ldc "http"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 12
      StackMap locals:
      StackMap stack:
         5: aload 5
            ldc "https"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 12
         6: .line 1136
      StackMap locals:
      StackMap stack:
            iload 3 /* port */
            bipush 80
            if_icmpeq 13
         7: .line 1137
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            iload 3 /* port */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
         8: .line 1138
            goto 13
         9: .line 1141
      StackMap locals:
      StackMap stack:
            iload 3 /* port */
            sipush 443
            if_icmpeq 13
        10: .line 1142
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            iload 3 /* port */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        11: .line 1143
            goto 13
        12: .line 1146
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            iload 3 /* port */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        13: .line 1127
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 4
            monitorexit
        16: athrow
        17: .line 1150
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int port
        end local 2 // java.lang.String server
        end local 1 // java.lang.String scheme
        end local 0 // java.lang.StringBuffer url
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0     url  Ljava/lang/StringBuffer;
            0   18     1  scheme  Ljava/lang/String;
            0   18     2  server  Ljava/lang/String;
            0   18     3    port  I
      Exception table:
        from    to  target  type
           1    14      15  any
          15    16      15  any
    MethodParameters:
        Name  Flags
      url     
      scheme  
      server  
      port    

  public static boolean equalsIgnoreEncodings(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // java.lang.String uriA
        start local 1 // java.lang.String uriB
         0: .line 1154
            aload 0 /* uriA */
            invokevirtual java.lang.String.length:()I
            istore 2 /* lenA */
        start local 2 // int lenA
         1: .line 1155
            aload 1 /* uriB */
            invokevirtual java.lang.String.length:()I
            istore 3 /* lenB */
        start local 3 // int lenB
         2: .line 1156
            iconst_0
            istore 4 /* a */
        start local 4 // int a
         3: .line 1157
            iconst_0
            istore 5 /* b */
        start local 5 // int b
         4: .line 1159
            goto 17
         5: .line 1161
      StackMap locals: java.lang.String java.lang.String int int int int
      StackMap stack:
            aload 0 /* uriA */
            iload 4 /* a */
            iinc 4 /* a */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* oa */
        start local 6 // int oa
         6: .line 1162
            iload 6 /* oa */
            istore 7 /* ca */
        start local 7 // int ca
         7: .line 1163
            iload 7 /* ca */
            bipush 37
            if_icmpne 9
         8: .line 1164
            aload 0 /* uriA */
            iload 4 /* a */
            iinc 4 /* a */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            bipush 16
            imul
            aload 0 /* uriA */
            iload 4 /* a */
            iinc 4 /* a */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            iadd
            istore 7 /* ca */
         9: .line 1166
      StackMap locals: int int
      StackMap stack:
            aload 1 /* uriB */
            iload 5 /* b */
            iinc 5 /* b */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* ob */
        start local 8 // int ob
        10: .line 1167
            iload 8 /* ob */
            istore 9 /* cb */
        start local 9 // int cb
        11: .line 1168
            iload 9 /* cb */
            bipush 37
            if_icmpne 13
        12: .line 1169
            aload 1 /* uriB */
            iload 5 /* b */
            iinc 5 /* b */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            bipush 16
            imul
            aload 1 /* uriB */
            iload 5 /* b */
            iinc 5 /* b */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            iadd
            istore 9 /* cb */
        13: .line 1171
      StackMap locals: int int
      StackMap stack:
            iload 7 /* ca */
            bipush 47
            if_icmpne 15
            iload 6 /* oa */
            iload 8 /* ob */
            if_icmpeq 15
        14: .line 1172
            iconst_0
            ireturn
        15: .line 1174
      StackMap locals:
      StackMap stack:
            iload 7 /* ca */
            iload 9 /* cb */
            if_icmpeq 17
        16: .line 1175
            aload 0 /* uriA */
            invokestatic org.eclipse.jetty.util.URIUtil.decodePath:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* uriB */
            invokestatic org.eclipse.jetty.util.URIUtil.decodePath:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 9 // int cb
        end local 8 // int ob
        end local 7 // int ca
        end local 6 // int oa
        17: .line 1159
      StackMap locals: java.lang.String java.lang.String int int int int
      StackMap stack:
            iload 4 /* a */
            iload 2 /* lenA */
            if_icmpge 18
            iload 5 /* b */
            iload 3 /* lenB */
            if_icmplt 5
        18: .line 1177
      StackMap locals:
      StackMap stack:
            iload 4 /* a */
            iload 2 /* lenA */
            if_icmpne 19
            iload 5 /* b */
            iload 3 /* lenB */
            if_icmpne 19
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        19: iconst_0
            ireturn
        end local 5 // int b
        end local 4 // int a
        end local 3 // int lenB
        end local 2 // int lenA
        end local 1 // java.lang.String uriB
        end local 0 // java.lang.String uriA
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  uriA  Ljava/lang/String;
            0   20     1  uriB  Ljava/lang/String;
            1   20     2  lenA  I
            2   20     3  lenB  I
            3   20     4     a  I
            4   20     5     b  I
            6   17     6    oa  I
            7   17     7    ca  I
           10   17     8    ob  I
           11   17     9    cb  I
    MethodParameters:
      Name  Flags
      uriA  
      uriB  

  public static boolean equalsIgnoreEncodings(java.net.URI, java.net.URI);
    descriptor: (Ljava/net/URI;Ljava/net/URI;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.net.URI uriA
        start local 1 // java.net.URI uriB
         0: .line 1182
            aload 0 /* uriA */
            aload 1 /* uriB */
            invokevirtual java.net.URI.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1183
            iconst_1
            ireturn
         2: .line 1185
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ifnonnull 5
         3: .line 1187
            aload 1 /* uriB */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ifnull 7
         4: .line 1188
            iconst_0
            ireturn
         5: .line 1190
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            aload 1 /* uriB */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 7
         6: .line 1191
            iconst_0
            ireturn
         7: .line 1193
      StackMap locals:
      StackMap stack:
            ldc "jar"
            aload 0 /* uriA */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 11
         8: .line 1196
            aload 0 /* uriA */
            invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            astore 2 /* uriAssp */
        start local 2 // java.net.URI uriAssp
         9: .line 1197
            aload 1 /* uriB */
            invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            astore 3 /* uriBssp */
        start local 3 // java.net.URI uriBssp
        10: .line 1198
            aload 2 /* uriAssp */
            aload 3 /* uriBssp */
            invokestatic org.eclipse.jetty.util.URIUtil.equalsIgnoreEncodings:(Ljava/net/URI;Ljava/net/URI;)Z
            ireturn
        end local 3 // java.net.URI uriBssp
        end local 2 // java.net.URI uriAssp
        11: .line 1201
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
            ifnonnull 14
        12: .line 1203
            aload 1 /* uriB */
            invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
            ifnull 16
        13: .line 1204
            iconst_0
            ireturn
        14: .line 1206
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
            aload 1 /* uriB */
            invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
        15: .line 1207
            iconst_0
            ireturn
        16: .line 1209
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            aload 1 /* uriB */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            invokestatic org.eclipse.jetty.util.URIUtil.equalsIgnoreEncodings:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 1 // java.net.URI uriB
        end local 0 // java.net.URI uriA
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     uriA  Ljava/net/URI;
            0   17     1     uriB  Ljava/net/URI;
            9   11     2  uriAssp  Ljava/net/URI;
           10   11     3  uriBssp  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      uriA  
      uriB  

  public static java.net.URI addPath(java.net.URI, java.lang.String);
    descriptor: (Ljava/net/URI;Ljava/lang/String;)Ljava/net/URI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.net.URI uri
        start local 1 // java.lang.String path
         0: .line 1219
            aload 0 /* uri */
            invokevirtual java.net.URI.toASCIIString:()Ljava/lang/String;
            astore 2 /* base */
        start local 2 // java.lang.String base
         1: .line 1220
            new java.lang.StringBuilder
            dup
            aload 2 /* base */
            invokevirtual java.lang.String.length:()I
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_3
            imul
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         2: .line 1221
            aload 3 /* buf */
            aload 2 /* base */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1222
            aload 3 /* buf */
            aload 2 /* base */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 47
            if_icmpeq 5
         4: .line 1223
            aload 3 /* buf */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 1225
      StackMap locals: java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 1 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* offset */
        start local 4 // int offset
         8: .line 1226
            aload 3 /* buf */
            aload 1 /* path */
            iload 4 /* offset */
            invokestatic org.eclipse.jetty.util.URIUtil.encodePath:(Ljava/lang/StringBuilder;Ljava/lang/String;I)Ljava/lang/StringBuilder;
            pop
         9: .line 1228
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            areturn
        end local 4 // int offset
        end local 3 // java.lang.StringBuilder buf
        end local 2 // java.lang.String base
        end local 1 // java.lang.String path
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0     uri  Ljava/net/URI;
            0   10     1    path  Ljava/lang/String;
            1   10     2    base  Ljava/lang/String;
            2   10     3     buf  Ljava/lang/StringBuilder;
            8   10     4  offset  I
    MethodParameters:
      Name  Flags
      uri   
      path  

  public static java.net.URI getJarSource(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/net/URI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.net.URI uri
         0: .line 1235
            ldc "jar"
            aload 0 /* uri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 1236
            aload 0 /* uri */
         2: areturn
         3: .line 1238
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            invokevirtual java.net.URI.getRawSchemeSpecificPart:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         4: .line 1239
            aload 1 /* s */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* bangSlash */
        start local 2 // int bangSlash
         5: .line 1240
            iload 2 /* bangSlash */
            iflt 7
         6: .line 1241
            aload 1 /* s */
            iconst_0
            iload 2 /* bangSlash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* s */
         7: .line 1242
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.net.URI
            dup
            aload 1 /* s */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
         8: areturn
        end local 2 // int bangSlash
        end local 1 // java.lang.String s
         9: .line 1244
      StackMap locals: java.net.URI
      StackMap stack: java.net.URISyntaxException
            astore 1 /* e */
        start local 1 // java.net.URISyntaxException e
        10: .line 1246
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.net.URISyntaxException e
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0        uri  Ljava/net/URI;
            4    9     1          s  Ljava/lang/String;
            5    9     2  bangSlash  I
           10   11     1          e  Ljava/net/URISyntaxException;
      Exception table:
        from    to  target  type
           0     2       9  Class java.net.URISyntaxException
           3     8       9  Class java.net.URISyntaxException
    MethodParameters:
      Name  Flags
      uri   

  public static java.lang.String getJarSource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String uri
         0: .line 1252
            aload 0 /* uri */
            ldc "jar:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1253
            aload 0 /* uri */
            areturn
         2: .line 1254
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 1 /* bangSlash */
        start local 1 // int bangSlash
         3: .line 1255
            iload 1 /* bangSlash */
            iflt 4
            aload 0 /* uri */
            iconst_4
            iload 1 /* bangSlash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 0 /* uri */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
        end local 1 // int bangSlash
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0        uri  Ljava/lang/String;
            3    6     1  bangSlash  I
    MethodParameters:
      Name  Flags
      uri   
}
SourceFile: "URIUtil.java"
InnerClasses:
  public NotUtf8Exception = org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception of org.eclipse.jetty.util.Utf8Appendable