public final class android.webkit.URLUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.webkit.URLUtil
  super_class: java.lang.Object
{
  private static final java.lang.String LOGTAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "webkit"

  private static final boolean TRACE;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final java.lang.String ASSET_BASE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "file:///android_asset/"

  static final java.lang.String RESOURCE_BASE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "file:///android_res/"

  static final java.lang.String FILE_BASE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "file:"

  static final java.lang.String PROXY_BASE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "file:///cookieless_proxy/"

  static final java.lang.String CONTENT_BASE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "content:"

  private static final java.util.regex.Pattern CONTENT_DISPOSITION_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 389
            ldc "attachment;\\s*filename\\s*=\\s*(\"?)([^\"]*)\\1\\s*$"
         1: .line 390
            iconst_2
         2: .line 389
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
         3: .line 388
            putstatic android.webkit.URLUtil.CONTENT_DISPOSITION_PATTERN:Ljava/util/regex/Pattern;
         4: .line 390
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.webkit.URLUtil this
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.webkit.URLUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/webkit/URLUtil;

  public static java.lang.String guessUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String inUrl
         0: .line 51
            aload 0 /* inUrl */
            astore 1 /* retVal */
        start local 1 // java.lang.String retVal
         1: .line 56
            aload 0 /* inUrl */
            invokevirtual java.lang.String.length:()I
            ifne 2
            aload 0 /* inUrl */
            areturn
         2: .line 57
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* inUrl */
            ldc "about:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
            aload 0 /* inUrl */
            areturn
         3: .line 59
      StackMap locals:
      StackMap stack:
            aload 0 /* inUrl */
            ldc "data:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
            aload 0 /* inUrl */
            areturn
         4: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* inUrl */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
            aload 0 /* inUrl */
            areturn
         5: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* inUrl */
            ldc "javascript:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
            aload 0 /* inUrl */
            areturn
         6: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* inUrl */
            ldc "."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 67
            aload 0 /* inUrl */
            iconst_0
            aload 0 /* inUrl */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* inUrl */
         8: .line 71
      StackMap locals:
      StackMap stack:
            new android.net.WebAddress
            dup
            aload 0 /* inUrl */
            invokespecial android.net.WebAddress.<init>:(Ljava/lang/String;)V
            astore 2 /* webAddress */
        start local 2 // android.net.WebAddress webAddress
         9: .line 72
            goto 12
        end local 2 // android.net.WebAddress webAddress
      StackMap locals:
      StackMap stack: android.net.ParseException
        10: pop
        11: .line 77
            aload 1 /* retVal */
            areturn
        start local 2 // android.net.WebAddress webAddress
        12: .line 81
      StackMap locals: android.net.WebAddress
      StackMap stack:
            aload 2 /* webAddress */
            invokevirtual android.net.WebAddress.getHost:()Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 14
        13: .line 83
            aload 2 /* webAddress */
            new java.lang.StringBuilder
            dup
            ldc "www."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* webAddress */
            invokevirtual android.net.WebAddress.getHost:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".com"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual android.net.WebAddress.setHost:(Ljava/lang/String;)V
        14: .line 85
      StackMap locals:
      StackMap stack:
            aload 2 /* webAddress */
            invokevirtual android.net.WebAddress.toString:()Ljava/lang/String;
            areturn
        end local 2 // android.net.WebAddress webAddress
        end local 1 // java.lang.String retVal
        end local 0 // java.lang.String inUrl
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0       inUrl  Ljava/lang/String;
            1   15     1      retVal  Ljava/lang/String;
            9   10     2  webAddress  Landroid/net/WebAddress;
           12   15     2  webAddress  Landroid/net/WebAddress;
      Exception table:
        from    to  target  type
           8     9      10  Class android.net.ParseException
    MethodParameters:
       Name  Flags
      inUrl  

  public static java.lang.String composeSearchUrl(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.String inQuery
        start local 1 // java.lang.String template
        start local 2 // java.lang.String queryPlaceHolder
         0: .line 90
            aload 1 /* template */
            aload 2 /* queryPlaceHolder */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 3 /* placeHolderIndex */
        start local 3 // int placeHolderIndex
         1: .line 91
            iload 3 /* placeHolderIndex */
            ifge 3
         2: .line 92
            aconst_null
            areturn
         3: .line 96
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* buffer */
        start local 5 // java.lang.StringBuilder buffer
         4: .line 97
            aload 5 /* buffer */
            aload 1 /* template */
            iconst_0
            iload 3 /* placeHolderIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 100
            aload 0 /* inQuery */
            ldc "utf-8"
            invokestatic java.net.URLEncoder.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* query */
        start local 4 // java.lang.String query
         6: .line 101
            aload 5 /* buffer */
            aload 4 /* query */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 102
            goto 10
        end local 4 // java.lang.String query
      StackMap locals: java.lang.String java.lang.String java.lang.String int top java.lang.StringBuilder
      StackMap stack: java.io.UnsupportedEncodingException
         8: pop
         9: .line 103
            aconst_null
            areturn
        start local 4 // java.lang.String query
        10: .line 106
      StackMap locals: java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 5 /* buffer */
            aload 1 /* template */
        11: .line 107
            iload 3 /* placeHolderIndex */
            aload 2 /* queryPlaceHolder */
            invokevirtual java.lang.String.length:()I
            iadd
        12: .line 106
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 109
            aload 5 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuilder buffer
        end local 4 // java.lang.String query
        end local 3 // int placeHolderIndex
        end local 2 // java.lang.String queryPlaceHolder
        end local 1 // java.lang.String template
        end local 0 // java.lang.String inQuery
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0           inQuery  Ljava/lang/String;
            0   14     1          template  Ljava/lang/String;
            0   14     2  queryPlaceHolder  Ljava/lang/String;
            1   14     3  placeHolderIndex  I
            6    8     4             query  Ljava/lang/String;
           10   14     4             query  Ljava/lang/String;
            4   14     5            buffer  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           5     7       8  Class java.io.UnsupportedEncodingException
    MethodParameters:
                  Name  Flags
      inQuery           
      template          
      queryPlaceHolder  

  public static byte[] decode(byte[]);
    descriptor: ([B)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // byte[] url
         0: .line 113
            aload 0 /* url */
            arraylength
            ifne 2
         1: .line 114
            iconst_0
            newarray 8
            areturn
         2: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            arraylength
            newarray 8
            astore 1 /* tempData */
        start local 1 // byte[] tempData
         3: .line 120
            iconst_0
            istore 2 /* tempCount */
        start local 2 // int tempCount
         4: .line 121
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 17
         6: .line 122
      StackMap locals: byte[] int int
      StackMap stack:
            aload 0 /* url */
            iload 3 /* i */
            baload
            istore 4 /* b */
        start local 4 // byte b
         7: .line 123
            iload 4 /* b */
            bipush 37
            if_icmpne 15
         8: .line 124
            aload 0 /* url */
            arraylength
            iload 3 /* i */
            isub
            iconst_2
            if_icmple 14
         9: .line 125
            aload 0 /* url */
            iload 3 /* i */
            iconst_1
            iadd
            baload
            invokestatic android.webkit.URLUtil.parseHex:(B)I
            bipush 16
            imul
        10: .line 126
            aload 0 /* url */
            iload 3 /* i */
            iconst_2
            iadd
            baload
            invokestatic android.webkit.URLUtil.parseHex:(B)I
        11: .line 125
            iadd
            i2b
            istore 4 /* b */
        12: .line 127
            iinc 3 /* i */ 2
        13: .line 128
            goto 15
        14: .line 129
      StackMap locals: int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid format"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* tempData */
            iload 2 /* tempCount */
            iinc 2 /* tempCount */ 1
            iload 4 /* b */
            bastore
        end local 4 // byte b
        16: .line 121
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            aload 0 /* url */
            arraylength
            if_icmplt 6
        end local 3 // int i
        18: .line 134
            iload 2 /* tempCount */
            newarray 8
            astore 3 /* retData */
        start local 3 // byte[] retData
        19: .line 135
            aload 1 /* tempData */
            iconst_0
            aload 3 /* retData */
            iconst_0
            iload 2 /* tempCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 136
            aload 3 /* retData */
            areturn
        end local 3 // byte[] retData
        end local 2 // int tempCount
        end local 1 // byte[] tempData
        end local 0 // byte[] url
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0        url  [B
            3   21     1   tempData  [B
            4   21     2  tempCount  I
            5   18     3          i  I
            7   16     4          b  B
           19   21     3    retData  [B
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      url   

  static boolean verifyURLEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String url
         0: .line 143
            aload 0 /* url */
            invokevirtual java.lang.String.length:()I
            istore 1 /* count */
        start local 1 // int count
         1: .line 144
            iload 1 /* count */
            ifne 3
         2: .line 145
            iconst_0
            ireturn
         3: .line 148
      StackMap locals: int
      StackMap stack:
            aload 0 /* url */
            bipush 37
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         4: .line 149
            goto 13
         5: .line 150
      StackMap locals: int
      StackMap stack:
            iload 2 /* index */
            iload 1 /* count */
            iconst_2
            isub
            if_icmpge 11
         6: .line 152
            aload 0 /* url */
            iinc 2 /* index */ 1
            iload 2 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            i2b
            invokestatic android.webkit.URLUtil.parseHex:(B)I
            pop
         7: .line 153
            aload 0 /* url */
            iinc 2 /* index */ 1
            iload 2 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            i2b
            invokestatic android.webkit.URLUtil.parseHex:(B)I
            pop
         8: .line 154
            goto 12
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 155
            iconst_0
            ireturn
        11: .line 158
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        12: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            bipush 37
            iload 2 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 2 /* index */
        13: .line 149
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            iflt 14
            iload 2 /* index */
            iload 1 /* count */
            if_icmplt 5
        14: .line 162
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int index
        end local 1 // int count
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0    url  Ljava/lang/String;
            1   15     1  count  I
            4   15     2  index  I
      Exception table:
        from    to  target  type
           6     8       9  Class java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      url   

  private static int parseHex(byte);
    descriptor: (B)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // byte b
         0: .line 166
            iload 0 /* b */
            bipush 48
            if_icmplt 1
            iload 0 /* b */
            bipush 57
            if_icmpgt 1
            iload 0 /* b */
            bipush 48
            isub
            ireturn
         1: .line 167
      StackMap locals:
      StackMap stack:
            iload 0 /* b */
            bipush 65
            if_icmplt 2
            iload 0 /* b */
            bipush 70
            if_icmpgt 2
            iload 0 /* b */
            bipush 65
            isub
            bipush 10
            iadd
            ireturn
         2: .line 168
      StackMap locals:
      StackMap stack:
            iload 0 /* b */
            bipush 97
            if_icmplt 3
            iload 0 /* b */
            bipush 102
            if_icmpgt 3
            iload 0 /* b */
            bipush 97
            isub
            bipush 10
            iadd
            ireturn
         3: .line 170
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid hex char '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* b */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // byte b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     b  B
    MethodParameters:
      Name  Flags
      b     

  public static boolean isAssetUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 177
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            ldc "file:///android_asset/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isResourceUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 185
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            ldc "file:///android_res/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isCookielessProxyUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 195
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            ldc "file:///cookieless_proxy/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   url  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      url   

  public static boolean isFileUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 202
            aload 0 /* url */
            ifnull 4
            aload 0 /* url */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
         1: .line 203
            aload 0 /* url */
            ldc "file:///android_asset/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
         2: .line 204
            aload 0 /* url */
            ldc "file:///cookieless_proxy/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
         3: .line 202
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isAboutUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 211
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            ldc "about:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isDataUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 218
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            ldc "data:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isJavaScriptUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 225
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            ldc "javascript:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isHttpUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 232
            aload 0 /* url */
            ifnull 4
         1: .line 233
            aload 0 /* url */
            invokevirtual java.lang.String.length:()I
            bipush 6
            if_icmple 4
         2: .line 234
            aload 0 /* url */
            iconst_0
            bipush 7
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            ldc "http://"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 232
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isHttpsUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 241
            aload 0 /* url */
            ifnull 4
         1: .line 242
            aload 0 /* url */
            invokevirtual java.lang.String.length:()I
            bipush 7
            if_icmple 4
         2: .line 243
            aload 0 /* url */
            iconst_0
            bipush 8
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            ldc "https://"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 241
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isNetworkUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 250
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 251
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isHttpUrl:(Ljava/lang/String;)Z
            ifne 3
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isHttpsUrl:(Ljava/lang/String;)Z
            ifne 3
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isContentUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 260
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            ldc "content:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static boolean isValidUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 267
            aload 0 /* url */
            ifnull 1
            aload 0 /* url */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 268
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isAssetUrl:(Ljava/lang/String;)Z
            ifne 11
         3: .line 272
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isResourceUrl:(Ljava/lang/String;)Z
            ifne 11
         4: .line 273
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isFileUrl:(Ljava/lang/String;)Z
            ifne 11
         5: .line 274
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isAboutUrl:(Ljava/lang/String;)Z
            ifne 11
         6: .line 275
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isHttpUrl:(Ljava/lang/String;)Z
            ifne 11
         7: .line 276
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isHttpsUrl:(Ljava/lang/String;)Z
            ifne 11
         8: .line 277
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isJavaScriptUrl:(Ljava/lang/String;)Z
            ifne 11
         9: .line 278
            aload 0 /* url */
            invokestatic android.webkit.URLUtil.isContentUrl:(Ljava/lang/String;)Z
            ifne 11
        10: .line 271
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_1
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public static java.lang.String stripAnchor(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 url
         0: .line 285
            aload 0 /* url */
            bipush 35
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* anchorIndex */
        start local 1 // int anchorIndex
         1: .line 286
            iload 1 /* anchorIndex */
            iconst_m1
            if_icmpeq 3
         2: .line 287
            aload 0 /* url */
            iconst_0
            iload 1 /* anchorIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         3: .line 289
      StackMap locals: int
      StackMap stack:
            aload 0 /* url */
            areturn
        end local 1 // int anchorIndex
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0          url  Ljava/lang/String;
            1    4     1  anchorIndex  I
    MethodParameters:
      Name  Flags
      url   

  public static final java.lang.String guessFileName(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.lang.String url
        start local 1 // java.lang.String contentDisposition
        start local 2 // java.lang.String mimeType
         0: .line 306
            aconst_null
            astore 3 /* filename */
        start local 3 // java.lang.String filename
         1: .line 307
            aconst_null
            astore 4 /* extension */
        start local 4 // java.lang.String extension
         2: .line 310
            aload 3 /* filename */
            ifnonnull 8
            aload 1 /* contentDisposition */
            ifnull 8
         3: .line 311
            aload 1 /* contentDisposition */
            invokestatic android.webkit.URLUtil.parseContentDisposition:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* filename */
         4: .line 312
            aload 3 /* filename */
            ifnull 8
         5: .line 313
            aload 3 /* filename */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            istore 5 /* index */
        start local 5 // int index
         6: .line 314
            iload 5 /* index */
            ifle 8
         7: .line 315
            aload 3 /* filename */
            iload 5 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* filename */
        end local 5 // int index
         8: .line 321
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* filename */
            ifnonnull 18
         9: .line 322
            aload 0 /* url */
            invokestatic android.net.Uri.decode:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* decodedUrl */
        start local 5 // java.lang.String decodedUrl
        10: .line 323
            aload 5 /* decodedUrl */
            ifnull 18
        11: .line 324
            aload 5 /* decodedUrl */
            bipush 63
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* queryIndex */
        start local 6 // int queryIndex
        12: .line 326
            iload 6 /* queryIndex */
            ifle 14
        13: .line 327
            aload 5 /* decodedUrl */
            iconst_0
            iload 6 /* queryIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* decodedUrl */
        14: .line 329
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 5 /* decodedUrl */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 18
        15: .line 330
            aload 5 /* decodedUrl */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            istore 7 /* index */
        start local 7 // int index
        16: .line 331
            iload 7 /* index */
            ifle 18
        17: .line 332
            aload 5 /* decodedUrl */
            iload 7 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* filename */
        end local 7 // int index
        end local 6 // int queryIndex
        end local 5 // java.lang.String decodedUrl
        18: .line 339
      StackMap locals:
      StackMap stack:
            aload 3 /* filename */
            ifnonnull 20
        19: .line 340
            ldc "downloadfile"
            astore 3 /* filename */
        20: .line 345
      StackMap locals:
      StackMap stack:
            aload 3 /* filename */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 5 /* dotIndex */
        start local 5 // int dotIndex
        21: .line 346
            iload 5 /* dotIndex */
            ifge 35
        22: .line 347
            aload 2 /* mimeType */
            ifnull 26
        23: .line 348
            invokestatic android.webkit.MimeTypeMap.getSingleton:()Landroid/webkit/MimeTypeMap;
            aload 2 /* mimeType */
            invokevirtual android.webkit.MimeTypeMap.getExtensionFromMimeType:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* extension */
        24: .line 349
            aload 4 /* extension */
            ifnull 26
        25: .line 350
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* extension */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* extension */
        26: .line 353
      StackMap locals: int
      StackMap stack:
            aload 4 /* extension */
            ifnonnull 47
        27: .line 354
            aload 2 /* mimeType */
            ifnull 33
            aload 2 /* mimeType */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "text/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 33
        28: .line 355
            aload 2 /* mimeType */
            ldc "text/html"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 31
        29: .line 356
            ldc ".html"
            astore 4 /* extension */
        30: .line 357
            goto 47
        31: .line 358
      StackMap locals:
      StackMap stack:
            ldc ".txt"
            astore 4 /* extension */
        32: .line 360
            goto 47
        33: .line 361
      StackMap locals:
      StackMap stack:
            ldc ".bin"
            astore 4 /* extension */
        34: .line 364
            goto 47
        35: .line 365
      StackMap locals:
      StackMap stack:
            aload 2 /* mimeType */
            ifnull 44
        36: .line 368
            aload 3 /* filename */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* lastDotIndex */
        start local 6 // int lastDotIndex
        37: .line 369
            invokestatic android.webkit.MimeTypeMap.getSingleton:()Landroid/webkit/MimeTypeMap;
        38: .line 370
            aload 3 /* filename */
            iload 6 /* lastDotIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
        39: .line 369
            invokevirtual android.webkit.MimeTypeMap.getMimeTypeFromExtension:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* typeFromExt */
        start local 7 // java.lang.String typeFromExt
        40: .line 371
            aload 7 /* typeFromExt */
            ifnull 44
            aload 7 /* typeFromExt */
            aload 2 /* mimeType */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 44
        41: .line 372
            invokestatic android.webkit.MimeTypeMap.getSingleton:()Landroid/webkit/MimeTypeMap;
            aload 2 /* mimeType */
            invokevirtual android.webkit.MimeTypeMap.getExtensionFromMimeType:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* extension */
        42: .line 373
            aload 4 /* extension */
            ifnull 44
        43: .line 374
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* extension */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* extension */
        end local 7 // java.lang.String typeFromExt
        end local 6 // int lastDotIndex
        44: .line 378
      StackMap locals:
      StackMap stack:
            aload 4 /* extension */
            ifnonnull 46
        45: .line 379
            aload 3 /* filename */
            iload 5 /* dotIndex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* extension */
        46: .line 381
      StackMap locals:
      StackMap stack:
            aload 3 /* filename */
            iconst_0
            iload 5 /* dotIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* filename */
        47: .line 384
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* filename */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* extension */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int dotIndex
        end local 4 // java.lang.String extension
        end local 3 // java.lang.String filename
        end local 2 // java.lang.String mimeType
        end local 1 // java.lang.String contentDisposition
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   48     0                 url  Ljava/lang/String;
            0   48     1  contentDisposition  Ljava/lang/String;
            0   48     2            mimeType  Ljava/lang/String;
            1   48     3            filename  Ljava/lang/String;
            2   48     4           extension  Ljava/lang/String;
            6    8     5               index  I
           10   18     5          decodedUrl  Ljava/lang/String;
           12   18     6          queryIndex  I
           16   18     7               index  I
           21   48     5            dotIndex  I
           37   44     6        lastDotIndex  I
           40   44     7         typeFromExt  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      url                 
      contentDisposition  
      mimeType            

  static java.lang.String parseContentDisposition(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String contentDisposition
         0: .line 403
            getstatic android.webkit.URLUtil.CONTENT_DISPOSITION_PATTERN:Ljava/util/regex/Pattern;
            aload 0 /* contentDisposition */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 1 /* m */
        start local 1 // java.util.regex.Matcher m
         1: .line 404
            aload 1 /* m */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 5
         2: .line 405
            aload 1 /* m */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
         3: areturn
        end local 1 // java.util.regex.Matcher m
         4: .line 407
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
            pop
         5: .line 410
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String contentDisposition
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0  contentDisposition  Ljava/lang/String;
            1    4     1                   m  Ljava/util/regex/Matcher;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.IllegalStateException
    MethodParameters:
                    Name  Flags
      contentDisposition  
}
SourceFile: "URLUtil.java"