public class com.microsoft.azure.credentials.AppServiceMSICredentials extends com.microsoft.azure.credentials.AzureTokenCredentials
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.microsoft.azure.credentials.AppServiceMSICredentials
  super_class: com.microsoft.azure.credentials.AzureTokenCredentials
{
  private final java.lang.String endpoint;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String secret;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.microsoft.azure.serializer.AzureJacksonAdapter adapter;
    descriptor: Lcom/microsoft/azure/serializer/AzureJacksonAdapter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String clientId;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(com.microsoft.azure.AzureEnvironment);
    descriptor: (Lcom/microsoft/azure/AzureEnvironment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.azure.credentials.AppServiceMSICredentials this
        start local 1 // com.microsoft.azure.AzureEnvironment environment
         0: .line 35
            aload 0 /* this */
            aload 1 /* environment */
            ldc "MSI_ENDPOINT"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ldc "MSI_SECRET"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial com.microsoft.azure.credentials.AppServiceMSICredentials.<init>:(Lcom/microsoft/azure/AzureEnvironment;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 36
            return
        end local 1 // com.microsoft.azure.AzureEnvironment environment
        end local 0 // com.microsoft.azure.credentials.AppServiceMSICredentials this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/microsoft/azure/credentials/AppServiceMSICredentials;
            0    2     1  environment  Lcom/microsoft/azure/AzureEnvironment;
    MethodParameters:
             Name  Flags
      environment  

  public void <init>(com.microsoft.azure.AzureEnvironment, java.lang.String, java.lang.String);
    descriptor: (Lcom/microsoft/azure/AzureEnvironment;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.microsoft.azure.credentials.AppServiceMSICredentials this
        start local 1 // com.microsoft.azure.AzureEnvironment environment
        start local 2 // java.lang.String endpoint
        start local 3 // java.lang.String secret
         0: .line 45
            aload 0 /* this */
            aload 1 /* environment */
            aconst_null
            invokespecial com.microsoft.azure.credentials.AzureTokenCredentials.<init>:(Lcom/microsoft/azure/AzureEnvironment;Ljava/lang/String;)V
         1: .line 46
            aload 2 /* endpoint */
            ifnonnull 3
         2: .line 47
            new java.lang.IllegalArgumentException
            dup
            ldc "endpoint == null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 49
      StackMap locals: com.microsoft.azure.credentials.AppServiceMSICredentials com.microsoft.azure.AzureEnvironment java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* secret */
            ifnonnull 5
         4: .line 50
            new java.lang.IllegalArgumentException
            dup
            ldc "secret == null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 52
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* endpoint */
            putfield com.microsoft.azure.credentials.AppServiceMSICredentials.endpoint:Ljava/lang/String;
         6: .line 53
            aload 0 /* this */
            aload 3 /* secret */
            putfield com.microsoft.azure.credentials.AppServiceMSICredentials.secret:Ljava/lang/String;
         7: .line 54
            aload 0 /* this */
            new com.microsoft.azure.serializer.AzureJacksonAdapter
            dup
            invokespecial com.microsoft.azure.serializer.AzureJacksonAdapter.<init>:()V
            putfield com.microsoft.azure.credentials.AppServiceMSICredentials.adapter:Lcom/microsoft/azure/serializer/AzureJacksonAdapter;
         8: .line 55
            return
        end local 3 // java.lang.String secret
        end local 2 // java.lang.String endpoint
        end local 1 // com.microsoft.azure.AzureEnvironment environment
        end local 0 // com.microsoft.azure.credentials.AppServiceMSICredentials this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lcom/microsoft/azure/credentials/AppServiceMSICredentials;
            0    9     1  environment  Lcom/microsoft/azure/AzureEnvironment;
            0    9     2     endpoint  Ljava/lang/String;
            0    9     3       secret  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      environment  
      endpoint     
      secret       

  public com.microsoft.azure.credentials.AppServiceMSICredentials withClientId(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/microsoft/azure/credentials/AppServiceMSICredentials;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.azure.credentials.AppServiceMSICredentials this
        start local 1 // java.lang.String clientId
         0: .line 65
            aload 0 /* this */
            aload 1 /* clientId */
            putfield com.microsoft.azure.credentials.AppServiceMSICredentials.clientId:Ljava/lang/String;
         1: .line 66
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String clientId
        end local 0 // com.microsoft.azure.credentials.AppServiceMSICredentials this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/microsoft/azure/credentials/AppServiceMSICredentials;
            0    2     1  clientId  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      clientId  

  public java.lang.String getToken(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // com.microsoft.azure.credentials.AppServiceMSICredentials this
        start local 1 // java.lang.String resource
         0: .line 71
            aconst_null
            astore 2 /* urlString */
        start local 2 // java.lang.String urlString
         1: .line 73
            aload 0 /* this */
            getfield com.microsoft.azure.credentials.AppServiceMSICredentials.clientId:Ljava/lang/String;
            ifnull 6
            aload 0 /* this */
            getfield com.microsoft.azure.credentials.AppServiceMSICredentials.clientId:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 6
         2: .line 74
            ldc "%s?resource=%s&clientid=%s&api-version=2017-09-01"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.azure.credentials.AppServiceMSICredentials.endpoint:Ljava/lang/String;
            aastore
            dup
            iconst_1
         3: .line 75
            aload 1 /* resource */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.microsoft.azure.credentials.AppServiceMSICredentials.clientId:Ljava/lang/String;
            aastore
         4: .line 74
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* urlString */
         5: .line 76
            goto 9
         6: .line 77
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "%s?resource=%s&api-version=2017-09-01"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.azure.credentials.AppServiceMSICredentials.endpoint:Ljava/lang/String;
            aastore
            dup
            iconst_1
         7: .line 78
            aload 1 /* resource */
            aastore
         8: .line 77
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* urlString */
         9: .line 81
      StackMap locals:
      StackMap stack:
            new java.net.URL
            dup
            aload 2 /* urlString */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 3 /* url */
        start local 3 // java.net.URL url
        10: .line 82
            aconst_null
            astore 4 /* connection */
        start local 4 // java.net.HttpURLConnection connection
        11: .line 85
            aload 3 /* url */
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            checkcast java.net.HttpURLConnection
            astore 4 /* connection */
        12: .line 87
            aload 4 /* connection */
            ldc "GET"
            invokevirtual java.net.HttpURLConnection.setRequestMethod:(Ljava/lang/String;)V
        13: .line 88
            aload 4 /* connection */
            ldc "Secret"
            aload 0 /* this */
            getfield com.microsoft.azure.credentials.AppServiceMSICredentials.secret:Ljava/lang/String;
            invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 89
            aload 4 /* connection */
            ldc "Metadata"
            ldc "true"
            invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 91
            aload 4 /* connection */
            invokevirtual java.net.HttpURLConnection.connect:()V
        16: .line 93
            aload 4 /* connection */
            invokevirtual java.net.HttpURLConnection.getInputStream:()Ljava/io/InputStream;
            astore 5 /* stream */
        start local 5 // java.io.InputStream stream
        17: .line 94
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 5 /* stream */
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            bipush 100
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;I)V
            astore 6 /* reader */
        start local 6 // java.io.BufferedReader reader
        18: .line 95
            aload 6 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 7 /* result */
        start local 7 // java.lang.String result
        19: .line 97
            aload 0 /* this */
            getfield com.microsoft.azure.credentials.AppServiceMSICredentials.adapter:Lcom/microsoft/azure/serializer/AzureJacksonAdapter;
            aload 7 /* result */
            ldc Lcom/microsoft/azure/credentials/MSIToken;
            invokevirtual com.microsoft.azure.serializer.AzureJacksonAdapter.deserialize:(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object;
            checkcast com.microsoft.azure.credentials.MSIToken
            astore 8 /* msiToken */
        start local 8 // com.microsoft.azure.credentials.MSIToken msiToken
        20: .line 98
            aload 8 /* msiToken */
            invokevirtual com.microsoft.azure.credentials.MSIToken.accessToken:()Ljava/lang/String;
            astore 10
        21: .line 103
            aload 4 /* connection */
            ifnull 23
        22: .line 104
            aload 4 /* connection */
            invokevirtual java.net.HttpURLConnection.disconnect:()V
        23: .line 98
      StackMap locals: com.microsoft.azure.credentials.AppServiceMSICredentials java.lang.String java.lang.String java.net.URL java.net.HttpURLConnection java.io.InputStream java.io.BufferedReader java.lang.String com.microsoft.azure.credentials.MSIToken top java.lang.String
      StackMap stack:
            aload 10
            areturn
        end local 8 // com.microsoft.azure.credentials.MSIToken msiToken
        end local 7 // java.lang.String result
        end local 6 // java.io.BufferedReader reader
        end local 5 // java.io.InputStream stream
        24: .line 99
      StackMap locals: com.microsoft.azure.credentials.AppServiceMSICredentials java.lang.String java.lang.String java.net.URL java.net.HttpURLConnection
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        25: .line 100
            aload 5 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        26: .line 101
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Exception e
        27: .line 102
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        28: .line 103
            aload 4 /* connection */
            ifnull 30
        29: .line 104
            aload 4 /* connection */
            invokevirtual java.net.HttpURLConnection.disconnect:()V
        30: .line 106
      StackMap locals: com.microsoft.azure.credentials.AppServiceMSICredentials java.lang.String java.lang.String java.net.URL java.net.HttpURLConnection top top top top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        end local 4 // java.net.HttpURLConnection connection
        end local 3 // java.net.URL url
        end local 2 // java.lang.String urlString
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.azure.credentials.AppServiceMSICredentials this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Lcom/microsoft/azure/credentials/AppServiceMSICredentials;
            0   31     1    resource  Ljava/lang/String;
            1   31     2   urlString  Ljava/lang/String;
           10   31     3         url  Ljava/net/URL;
           11   31     4  connection  Ljava/net/HttpURLConnection;
           17   24     5      stream  Ljava/io/InputStream;
           18   24     6      reader  Ljava/io/BufferedReader;
           19   24     7      result  Ljava/lang/String;
           20   24     8    msiToken  Lcom/microsoft/azure/credentials/MSIToken;
           25   27     5           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          11    21      24  Class java.lang.Exception
          11    21      27  any
          24    27      27  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      resource  
}
SourceFile: "AppServiceMSICredentials.java"
    RuntimeInvisibleAnnotations: 
      com.microsoft.azure.management.apigeneration.Beta()