class okhttp3.internal.platform.AndroidPlatform extends okhttp3.internal.platform.Platform
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: okhttp3.internal.platform.AndroidPlatform
  super_class: okhttp3.internal.platform.Platform
{
  private static final int MAX_LOG_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4000

  private final java.lang.Class<?> sslParametersClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final okhttp3.internal.platform.OptionalMethod<java.net.Socket> setUseSessionTickets;
    descriptor: Lokhttp3/internal/platform/OptionalMethod;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;

  private final okhttp3.internal.platform.OptionalMethod<java.net.Socket> setHostname;
    descriptor: Lokhttp3/internal/platform/OptionalMethod;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;

  private final okhttp3.internal.platform.OptionalMethod<java.net.Socket> getAlpnSelectedProtocol;
    descriptor: Lokhttp3/internal/platform/OptionalMethod;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;

  private final okhttp3.internal.platform.OptionalMethod<java.net.Socket> setAlpnProtocols;
    descriptor: Lokhttp3/internal/platform/OptionalMethod;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;

  private final okhttp3.internal.platform.AndroidPlatform$CloseGuard closeGuard;
    descriptor: Lokhttp3/internal/platform/AndroidPlatform$CloseGuard;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(java.lang.Class<?>, okhttp3.internal.platform.OptionalMethod<java.net.Socket>, okhttp3.internal.platform.OptionalMethod<java.net.Socket>, okhttp3.internal.platform.OptionalMethod<java.net.Socket>, okhttp3.internal.platform.OptionalMethod<java.net.Socket>);
    descriptor: (Ljava/lang/Class;Lokhttp3/internal/platform/OptionalMethod;Lokhttp3/internal/platform/OptionalMethod;Lokhttp3/internal/platform/OptionalMethod;Lokhttp3/internal/platform/OptionalMethod;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
        start local 1 // java.lang.Class sslParametersClass
        start local 2 // okhttp3.internal.platform.OptionalMethod setUseSessionTickets
        start local 3 // okhttp3.internal.platform.OptionalMethod setHostname
        start local 4 // okhttp3.internal.platform.OptionalMethod getAlpnSelectedProtocol
        start local 5 // okhttp3.internal.platform.OptionalMethod setAlpnProtocols
         0: .line 60
            aload 0 /* this */
            invokespecial okhttp3.internal.platform.Platform.<init>:()V
         1: .line 58
            aload 0 /* this */
            invokestatic okhttp3.internal.platform.AndroidPlatform$CloseGuard.get:()Lokhttp3/internal/platform/AndroidPlatform$CloseGuard;
            putfield okhttp3.internal.platform.AndroidPlatform.closeGuard:Lokhttp3/internal/platform/AndroidPlatform$CloseGuard;
         2: .line 63
            aload 0 /* this */
            aload 1 /* sslParametersClass */
            putfield okhttp3.internal.platform.AndroidPlatform.sslParametersClass:Ljava/lang/Class;
         3: .line 64
            aload 0 /* this */
            aload 2 /* setUseSessionTickets */
            putfield okhttp3.internal.platform.AndroidPlatform.setUseSessionTickets:Lokhttp3/internal/platform/OptionalMethod;
         4: .line 65
            aload 0 /* this */
            aload 3 /* setHostname */
            putfield okhttp3.internal.platform.AndroidPlatform.setHostname:Lokhttp3/internal/platform/OptionalMethod;
         5: .line 66
            aload 0 /* this */
            aload 4 /* getAlpnSelectedProtocol */
            putfield okhttp3.internal.platform.AndroidPlatform.getAlpnSelectedProtocol:Lokhttp3/internal/platform/OptionalMethod;
         6: .line 67
            aload 0 /* this */
            aload 5 /* setAlpnProtocols */
            putfield okhttp3.internal.platform.AndroidPlatform.setAlpnProtocols:Lokhttp3/internal/platform/OptionalMethod;
         7: .line 68
            return
        end local 5 // okhttp3.internal.platform.OptionalMethod setAlpnProtocols
        end local 4 // okhttp3.internal.platform.OptionalMethod getAlpnSelectedProtocol
        end local 3 // okhttp3.internal.platform.OptionalMethod setHostname
        end local 2 // okhttp3.internal.platform.OptionalMethod setUseSessionTickets
        end local 1 // java.lang.Class sslParametersClass
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    8     0                     this  Lokhttp3/internal/platform/AndroidPlatform;
            0    8     1       sslParametersClass  Ljava/lang/Class<*>;
            0    8     2     setUseSessionTickets  Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;
            0    8     3              setHostname  Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;
            0    8     4  getAlpnSelectedProtocol  Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;
            0    8     5         setAlpnProtocols  Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;
    Signature: (Ljava/lang/Class<*>;Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;)V
    MethodParameters:
                         Name  Flags
      sslParametersClass       
      setUseSessionTickets     
      setHostname              
      getAlpnSelectedProtocol  
      setAlpnProtocols         

  public void connectSocket(java.net.Socket, java.net.InetSocketAddress, int);
    descriptor: (Ljava/net/Socket;Ljava/net/InetSocketAddress;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
         0: .line 86
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tBuild cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/internal/platform/AndroidPlatform;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      socket          
      address         
      connectTimeout  

  protected javax.net.ssl.X509TrustManager trustManager(javax.net.ssl.SSLSocketFactory);
    descriptor: (Ljavax/net/ssl/SSLSocketFactory;)Ljavax/net/ssl/X509TrustManager;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
         0: .line 96
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNullable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/internal/platform/AndroidPlatform;
    RuntimeInvisibleAnnotations: 
      Nullable()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        Nullable()
    MethodParameters:
                  Name  Flags
      sslSocketFactory  

  public void configureTlsExtensions(javax.net.ssl.SSLSocket, java.lang.String, java.util.List<okhttp3.Protocol>);
    descriptor: (Ljavax/net/ssl/SSLSocket;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
        start local 1 // javax.net.ssl.SSLSocket sslSocket
        start local 2 // java.lang.String hostname
        start local 3 // java.util.List protocols
         0: .line 121
            aload 2 /* hostname */
            ifnull 3
         1: .line 122
            aload 0 /* this */
            getfield okhttp3.internal.platform.AndroidPlatform.setUseSessionTickets:Lokhttp3/internal/platform/OptionalMethod;
            aload 1 /* sslSocket */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual okhttp3.internal.platform.OptionalMethod.invokeOptionalWithoutCheckedException:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 123
            aload 0 /* this */
            getfield okhttp3.internal.platform.AndroidPlatform.setHostname:Lokhttp3/internal/platform/OptionalMethod;
            aload 1 /* sslSocket */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* hostname */
            aastore
            invokevirtual okhttp3.internal.platform.OptionalMethod.invokeOptionalWithoutCheckedException:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.platform.AndroidPlatform.setAlpnProtocols:Lokhttp3/internal/platform/OptionalMethod;
            ifnull 6
            aload 0 /* this */
            getfield okhttp3.internal.platform.AndroidPlatform.setAlpnProtocols:Lokhttp3/internal/platform/OptionalMethod;
            aload 1 /* sslSocket */
            invokevirtual okhttp3.internal.platform.OptionalMethod.isSupported:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 128
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* protocols */
            invokestatic okhttp3.internal.platform.AndroidPlatform.concatLengthPrefixed:(Ljava/util/List;)[B
            aastore
            astore 4 /* parameters */
        start local 4 // java.lang.Object[] parameters
         5: .line 129
            aload 0 /* this */
            getfield okhttp3.internal.platform.AndroidPlatform.setAlpnProtocols:Lokhttp3/internal/platform/OptionalMethod;
            aload 1 /* sslSocket */
            aload 4 /* parameters */
            invokevirtual okhttp3.internal.platform.OptionalMethod.invokeWithoutCheckedException:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.Object[] parameters
         6: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List protocols
        end local 2 // java.lang.String hostname
        end local 1 // javax.net.ssl.SSLSocket sslSocket
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lokhttp3/internal/platform/AndroidPlatform;
            0    7     1   sslSocket  Ljavax/net/ssl/SSLSocket;
            0    7     2    hostname  Ljava/lang/String;
            0    7     3   protocols  Ljava/util/List<Lokhttp3/Protocol;>;
            5    6     4  parameters  [Ljava/lang/Object;
    Signature: (Ljavax/net/ssl/SSLSocket;Ljava/lang/String;Ljava/util/List<Lokhttp3/Protocol;>;)V
    MethodParameters:
           Name  Flags
      sslSocket  
      hostname   
      protocols  

  public java.lang.String getSelectedProtocol(javax.net.ssl.SSLSocket);
    descriptor: (Ljavax/net/ssl/SSLSocket;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
         0: .line 133
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNullable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/internal/platform/AndroidPlatform;
    RuntimeInvisibleAnnotations: 
      Nullable()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        Nullable()
    MethodParameters:
        Name  Flags
      socket  

  public void log(int, java.lang.String, java.lang.Throwable);
    descriptor: (ILjava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
         0: .line 141
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNullable cannot be resolved to a type\n\tLog cannot be resolved to a variable\n\tLog cannot be resolved to a variable\n\tLog cannot be resolved\n\tLog cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/internal/platform/AndroidPlatform;
    RuntimeInvisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        Nullable()
    MethodParameters:
         Name  Flags
      level    
      message  
      t        

  public java.lang.Object getStackTraceForCloseable(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
        start local 1 // java.lang.String closer
         0: .line 158
            aload 0 /* this */
            getfield okhttp3.internal.platform.AndroidPlatform.closeGuard:Lokhttp3/internal/platform/AndroidPlatform$CloseGuard;
            aload 1 /* closer */
            invokevirtual okhttp3.internal.platform.AndroidPlatform$CloseGuard.createAndOpen:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String closer
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lokhttp3/internal/platform/AndroidPlatform;
            0    1     1  closer  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      closer  

  public void logCloseableLeak(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
        start local 1 // java.lang.String message
        start local 2 // java.lang.Object stackTrace
         0: .line 162
            aload 0 /* this */
            getfield okhttp3.internal.platform.AndroidPlatform.closeGuard:Lokhttp3/internal/platform/AndroidPlatform$CloseGuard;
            aload 2 /* stackTrace */
            invokevirtual okhttp3.internal.platform.AndroidPlatform$CloseGuard.warnIfOpen:(Ljava/lang/Object;)Z
            istore 3 /* reported */
        start local 3 // boolean reported
         1: .line 163
            iload 3 /* reported */
            ifne 3
         2: .line 165
            aload 0 /* this */
            iconst_5
            aload 1 /* message */
            aconst_null
            invokevirtual okhttp3.internal.platform.AndroidPlatform.log:(ILjava/lang/String;Ljava/lang/Throwable;)V
         3: .line 167
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // boolean reported
        end local 2 // java.lang.Object stackTrace
        end local 1 // java.lang.String message
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lokhttp3/internal/platform/AndroidPlatform;
            0    4     1     message  Ljava/lang/String;
            0    4     2  stackTrace  Ljava/lang/Object;
            1    4     3    reported  Z
    MethodParameters:
            Name  Flags
      message     
      stackTrace  

  public boolean isCleartextTrafficPermitted(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
        start local 1 // java.lang.String hostname
         0: .line 171
            ldc "android.security.NetworkSecurityPolicy"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* networkPolicyClass */
        start local 2 // java.lang.Class networkPolicyClass
         1: .line 172
            aload 2 /* networkPolicyClass */
            ldc "getInstance"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* getInstanceMethod */
        start local 3 // java.lang.reflect.Method getInstanceMethod
         2: .line 173
            aload 3 /* getInstanceMethod */
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* networkSecurityPolicy */
        start local 4 // java.lang.Object networkSecurityPolicy
         3: .line 174
            aload 0 /* this */
            aload 1 /* hostname */
            aload 2 /* networkPolicyClass */
            aload 4 /* networkSecurityPolicy */
            invokevirtual okhttp3.internal.platform.AndroidPlatform.api24IsCleartextTrafficPermitted:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Z
         4: ireturn
        end local 4 // java.lang.Object networkSecurityPolicy
        end local 3 // java.lang.reflect.Method getInstanceMethod
        end local 2 // java.lang.Class networkPolicyClass
         5: .line 175
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            pop
         6: .line 176
            aload 0 /* this */
            aload 1 /* hostname */
            invokespecial okhttp3.internal.platform.Platform.isCleartextTrafficPermitted:(Ljava/lang/String;)Z
            ireturn
         7: .line 177
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         8: .line 178
            ldc "unable to determine cleartext support"
            aload 2 /* e */
            invokestatic okhttp3.internal.Util.assertionError:(Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/AssertionError;
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // java.lang.String hostname
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lokhttp3/internal/platform/AndroidPlatform;
            0    9     1               hostname  Ljava/lang/String;
            1    5     2     networkPolicyClass  Ljava/lang/Class<*>;
            2    5     3      getInstanceMethod  Ljava/lang/reflect/Method;
            3    5     4  networkSecurityPolicy  Ljava/lang/Object;
            8    9     2                      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.ClassNotFoundException
           0     4       5  Class java.lang.NoSuchMethodException
           0     4       7  Class java.lang.IllegalAccessException
           0     4       7  Class java.lang.IllegalArgumentException
           0     4       7  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
          Name  Flags
      hostname  

  private boolean api24IsCleartextTrafficPermitted(java.lang.String, java.lang.Class<?>, );
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
        start local 1 // java.lang.String hostname
        start local 2 // java.lang.Class networkPolicyClass
        start local 3 // java.lang.Object networkSecurityPolicy
         0: .line 185
            aload 2 /* networkPolicyClass */
         1: .line 186
            ldc "isCleartextTrafficPermitted"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         2: .line 185
            astore 4 /* isCleartextTrafficPermittedMethod */
        start local 4 // java.lang.reflect.Method isCleartextTrafficPermittedMethod
         3: .line 187
            aload 4 /* isCleartextTrafficPermittedMethod */
            aload 3 /* networkSecurityPolicy */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* hostname */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
         4: ireturn
        end local 4 // java.lang.reflect.Method isCleartextTrafficPermittedMethod
         5: .line 188
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         6: .line 189
            aload 0 /* this */
            aload 1 /* hostname */
            aload 2 /* networkPolicyClass */
            aload 3 /* networkSecurityPolicy */
            invokevirtual okhttp3.internal.platform.AndroidPlatform.api23IsCleartextTrafficPermitted:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Z
            ireturn
        end local 3 // java.lang.Object networkSecurityPolicy
        end local 2 // java.lang.Class networkPolicyClass
        end local 1 // java.lang.String hostname
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot                               Name  Signature
            0    7     0                               this  Lokhttp3/internal/platform/AndroidPlatform;
            0    7     1                           hostname  Ljava/lang/String;
            0    7     2                 networkPolicyClass  Ljava/lang/Class<*>;
            0    7     3              networkSecurityPolicy  Ljava/lang/Object;
            3    5     4  isCleartextTrafficPermittedMethod  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.NoSuchMethodException
    Exceptions:
      throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/Object;)Z
    MethodParameters:
                       Name  Flags
      hostname               
      networkPolicyClass     
      networkSecurityPolicy  

  private boolean api23IsCleartextTrafficPermitted(java.lang.String, java.lang.Class<?>, );
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
        start local 1 // java.lang.String hostname
        start local 2 // java.lang.Class networkPolicyClass
        start local 3 // java.lang.Object networkSecurityPolicy
         0: .line 196
            aload 2 /* networkPolicyClass */
         1: .line 197
            ldc "isCleartextTrafficPermitted"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         2: .line 196
            astore 4 /* isCleartextTrafficPermittedMethod */
        start local 4 // java.lang.reflect.Method isCleartextTrafficPermittedMethod
         3: .line 198
            aload 4 /* isCleartextTrafficPermittedMethod */
            aload 3 /* networkSecurityPolicy */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
         4: ireturn
        end local 4 // java.lang.reflect.Method isCleartextTrafficPermittedMethod
         5: .line 199
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         6: .line 200
            aload 0 /* this */
            aload 1 /* hostname */
            invokespecial okhttp3.internal.platform.Platform.isCleartextTrafficPermitted:(Ljava/lang/String;)Z
            ireturn
        end local 3 // java.lang.Object networkSecurityPolicy
        end local 2 // java.lang.Class networkPolicyClass
        end local 1 // java.lang.String hostname
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot                               Name  Signature
            0    7     0                               this  Lokhttp3/internal/platform/AndroidPlatform;
            0    7     1                           hostname  Ljava/lang/String;
            0    7     2                 networkPolicyClass  Ljava/lang/Class<*>;
            0    7     3              networkSecurityPolicy  Ljava/lang/Object;
            3    5     4  isCleartextTrafficPermittedMethod  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.NoSuchMethodException
    Exceptions:
      throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/Object;)Z
    MethodParameters:
                       Name  Flags
      hostname               
      networkPolicyClass     
      networkSecurityPolicy  

  private static boolean supportsAlpn();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 210
            ldc "GMSCore_OpenSSL"
            invokestatic java.security.Security.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
            ifnull 2
         1: .line 211
            iconst_1
            ireturn
         2: .line 214
      StackMap locals:
      StackMap stack:
            ldc "android.net.Network"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         3: .line 215
            iconst_1
            ireturn
         4: .line 216
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
         5: .line 218
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.ClassNotFoundException

  public okhttp3.internal.tls.CertificateChainCleaner buildCertificateChainCleaner(javax.net.ssl.X509TrustManager);
    descriptor: (Ljavax/net/ssl/X509TrustManager;)Lokhttp3/internal/tls/CertificateChainCleaner;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
        start local 1 // javax.net.ssl.X509TrustManager trustManager
         0: .line 223
            ldc "android.net.http.X509TrustManagerExtensions"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* extensionsClass */
        start local 2 // java.lang.Class extensionsClass
         1: .line 224
            aload 2 /* extensionsClass */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljavax/net/ssl/X509TrustManager;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 3 /* constructor */
        start local 3 // java.lang.reflect.Constructor constructor
         2: .line 225
            aload 3 /* constructor */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* trustManager */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* extensions */
        start local 4 // java.lang.Object extensions
         3: .line 226
            aload 2 /* extensionsClass */
         4: .line 227
            ldc "checkServerTrusted"
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/security/cert/X509Certificate;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/String;
            aastore
         5: .line 226
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 5 /* checkServerTrusted */
        start local 5 // java.lang.reflect.Method checkServerTrusted
         6: .line 228
            new okhttp3.internal.platform.AndroidPlatform$AndroidCertificateChainCleaner
            dup
            aload 4 /* extensions */
            aload 5 /* checkServerTrusted */
            invokespecial okhttp3.internal.platform.AndroidPlatform$AndroidCertificateChainCleaner.<init>:(Ljava/lang/Object;Ljava/lang/reflect/Method;)V
         7: areturn
        end local 5 // java.lang.reflect.Method checkServerTrusted
        end local 4 // java.lang.Object extensions
        end local 3 // java.lang.reflect.Constructor constructor
        end local 2 // java.lang.Class extensionsClass
         8: .line 229
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         9: .line 230
            aload 0 /* this */
            aload 1 /* trustManager */
            invokespecial okhttp3.internal.platform.Platform.buildCertificateChainCleaner:(Ljavax/net/ssl/X509TrustManager;)Lokhttp3/internal/tls/CertificateChainCleaner;
            areturn
        end local 1 // javax.net.ssl.X509TrustManager trustManager
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lokhttp3/internal/platform/AndroidPlatform;
            0   10     1        trustManager  Ljavax/net/ssl/X509TrustManager;
            1    8     2     extensionsClass  Ljava/lang/Class<*>;
            2    8     3         constructor  Ljava/lang/reflect/Constructor<*>;
            3    8     4          extensions  Ljava/lang/Object;
            6    8     5  checkServerTrusted  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.Exception
    MethodParameters:
              Name  Flags
      trustManager  

  public static okhttp3.internal.platform.Platform buildIfSupported();
    descriptor: ()Lokhttp3/internal/platform/Platform;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=5, args_size=0
         0: .line 239
            ldc "com.android.org.conscrypt.SSLParametersImpl"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* sslParametersClass */
        start local 0 // java.lang.Class sslParametersClass
         1: .line 240
            goto 5
        end local 0 // java.lang.Class sslParametersClass
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         2: pop
         3: .line 243
            ldc "org.apache.harmony.xnet.provider.jsse.SSLParametersImpl"
         4: .line 242
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* sslParametersClass */
        start local 0 // java.lang.Class sslParametersClass
         5: .line 246
      StackMap locals: java.lang.Class
      StackMap stack:
            new okhttp3.internal.platform.OptionalMethod
            dup
         6: .line 247
            aconst_null
            ldc "setUseSessionTickets"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
         7: .line 246
            aastore
            invokespecial okhttp3.internal.platform.OptionalMethod.<init>:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
            astore 1 /* setUseSessionTickets */
        start local 1 // okhttp3.internal.platform.OptionalMethod setUseSessionTickets
         8: .line 248
            new okhttp3.internal.platform.OptionalMethod
            dup
         9: .line 249
            aconst_null
            ldc "setHostname"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
        10: .line 248
            aastore
            invokespecial okhttp3.internal.platform.OptionalMethod.<init>:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
            astore 2 /* setHostname */
        start local 2 // okhttp3.internal.platform.OptionalMethod setHostname
        11: .line 250
            aconst_null
            astore 3 /* getAlpnSelectedProtocol */
        start local 3 // okhttp3.internal.platform.OptionalMethod getAlpnSelectedProtocol
        12: .line 251
            aconst_null
            astore 4 /* setAlpnProtocols */
        start local 4 // okhttp3.internal.platform.OptionalMethod setAlpnProtocols
        13: .line 253
            invokestatic okhttp3.internal.platform.AndroidPlatform.supportsAlpn:()Z
            ifeq 18
        14: .line 255
            new okhttp3.internal.platform.OptionalMethod
            dup
            ldc [B
            ldc "getAlpnSelectedProtocol"
            iconst_0
            anewarray java.lang.Class
            invokespecial okhttp3.internal.platform.OptionalMethod.<init>:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
        15: .line 254
            astore 3 /* getAlpnSelectedProtocol */
        16: .line 257
            new okhttp3.internal.platform.OptionalMethod
            dup
            aconst_null
            ldc "setAlpnProtocols"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [B
            aastore
            invokespecial okhttp3.internal.platform.OptionalMethod.<init>:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
        17: .line 256
            astore 4 /* setAlpnProtocols */
        18: .line 260
      StackMap locals: java.lang.Class okhttp3.internal.platform.OptionalMethod okhttp3.internal.platform.OptionalMethod okhttp3.internal.platform.OptionalMethod okhttp3.internal.platform.OptionalMethod
      StackMap stack:
            new okhttp3.internal.platform.AndroidPlatform
            dup
            aload 0 /* sslParametersClass */
            aload 1 /* setUseSessionTickets */
            aload 2 /* setHostname */
        19: .line 261
            aload 3 /* getAlpnSelectedProtocol */
            aload 4 /* setAlpnProtocols */
        20: .line 260
            invokespecial okhttp3.internal.platform.AndroidPlatform.<init>:(Ljava/lang/Class;Lokhttp3/internal/platform/OptionalMethod;Lokhttp3/internal/platform/OptionalMethod;Lokhttp3/internal/platform/OptionalMethod;Lokhttp3/internal/platform/OptionalMethod;)V
        21: areturn
        end local 4 // okhttp3.internal.platform.OptionalMethod setAlpnProtocols
        end local 3 // okhttp3.internal.platform.OptionalMethod getAlpnSelectedProtocol
        end local 2 // okhttp3.internal.platform.OptionalMethod setHostname
        end local 1 // okhttp3.internal.platform.OptionalMethod setUseSessionTickets
        end local 0 // java.lang.Class sslParametersClass
        22: .line 262
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
        23: .line 266
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            1    2     0       sslParametersClass  Ljava/lang/Class<*>;
            5   22     0       sslParametersClass  Ljava/lang/Class<*>;
            8   22     1     setUseSessionTickets  Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;
           11   22     2              setHostname  Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;
           12   22     3  getAlpnSelectedProtocol  Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;
           13   22     4         setAlpnProtocols  Lokhttp3/internal/platform/OptionalMethod<Ljava/net/Socket;>;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
           0    21      22  Class java.lang.ClassNotFoundException

  public okhttp3.internal.tls.TrustRootIndex buildTrustRootIndex(javax.net.ssl.X509TrustManager);
    descriptor: (Ljavax/net/ssl/X509TrustManager;)Lokhttp3/internal/tls/TrustRootIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
        start local 1 // javax.net.ssl.X509TrustManager trustManager
         0: .line 275
            aload 1 /* trustManager */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
         1: .line 276
            ldc "findTrustAnchorByIssuerAndSignature"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/security/cert/X509Certificate;
            aastore
         2: .line 275
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* method */
        start local 2 // java.lang.reflect.Method method
         3: .line 277
            aload 2 /* method */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
         4: .line 278
            new okhttp3.internal.platform.AndroidPlatform$AndroidTrustRootIndex
            dup
            aload 1 /* trustManager */
            aload 2 /* method */
            invokespecial okhttp3.internal.platform.AndroidPlatform$AndroidTrustRootIndex.<init>:(Ljavax/net/ssl/X509TrustManager;Ljava/lang/reflect/Method;)V
         5: areturn
        end local 2 // java.lang.reflect.Method method
         6: .line 279
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         7: .line 280
            aload 0 /* this */
            aload 1 /* trustManager */
            invokespecial okhttp3.internal.platform.Platform.buildTrustRootIndex:(Ljavax/net/ssl/X509TrustManager;)Lokhttp3/internal/tls/TrustRootIndex;
            areturn
        end local 1 // javax.net.ssl.X509TrustManager trustManager
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lokhttp3/internal/platform/AndroidPlatform;
            0    8     1  trustManager  Ljavax/net/ssl/X509TrustManager;
            3    6     2        method  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.NoSuchMethodException
    MethodParameters:
              Name  Flags
      trustManager  

  public javax.net.ssl.SSLContext getSSLContext();
    descriptor: ()Ljavax/net/ssl/SSLContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // okhttp3.internal.platform.AndroidPlatform this
         0: .line 436
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tBuild cannot be resolved to a variable\n\tBuild cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // okhttp3.internal.platform.AndroidPlatform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/internal/platform/AndroidPlatform;
}
SourceFile: "AndroidPlatform.java"
NestMembers:
  okhttp3.internal.platform.AndroidPlatform$AndroidCertificateChainCleaner  okhttp3.internal.platform.AndroidPlatform$AndroidTrustRootIndex  okhttp3.internal.platform.AndroidPlatform$CloseGuard
InnerClasses:
  final AndroidCertificateChainCleaner = okhttp3.internal.platform.AndroidPlatform$AndroidCertificateChainCleaner of okhttp3.internal.platform.AndroidPlatform
  final AndroidTrustRootIndex = okhttp3.internal.platform.AndroidPlatform$AndroidTrustRootIndex of okhttp3.internal.platform.AndroidPlatform
  final CloseGuard = okhttp3.internal.platform.AndroidPlatform$CloseGuard of okhttp3.internal.platform.AndroidPlatform