class java.lang.ProcessEnvironment$StringEnvironment extends java.util.AbstractMap<java.lang.String, java.lang.String>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.lang.ProcessEnvironment$StringEnvironment
  super_class: java.util.AbstractMap
{
  private java.util.Map<java.lang.ProcessEnvironment$Variable, java.lang.ProcessEnvironment$Value> m;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/ProcessEnvironment$Variable;Ljava/lang/ProcessEnvironment$Value;>;

  private static java.lang.String toString(java.lang.ProcessEnvironment$Value);
    descriptor: (Ljava/lang/ProcessEnvironment$Value;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.ProcessEnvironment$Value v
         0: .line 226
            aload 0 /* v */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* v */
            invokevirtual java.lang.ProcessEnvironment$Value.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.ProcessEnvironment$Value v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     v  Ljava/lang/ProcessEnvironment$Value;
    MethodParameters:
      Name  Flags
      v     

  public void <init>(java.util.Map<java.lang.ProcessEnvironment$Variable, java.lang.ProcessEnvironment$Value>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
        start local 1 // java.util.Map m
         0: .line 228
            aload 0 /* this */
            invokespecial java.util.AbstractMap.<init>:()V
            aload 0 /* this */
            aload 1 /* m */
            putfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            return
        end local 1 // java.util.Map m
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;
            0    1     1     m  Ljava/util/Map<Ljava/lang/ProcessEnvironment$Variable;Ljava/lang/ProcessEnvironment$Value;>;
    Signature: (Ljava/util/Map<Ljava/lang/ProcessEnvironment$Variable;Ljava/lang/ProcessEnvironment$Value;>;)V
    MethodParameters:
      Name  Flags
      m     

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
         0: .line 229
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ireturn
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
         0: .line 230
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ireturn
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
         0: .line 231
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
            return
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;

  public boolean containsKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
        start local 1 // java.lang.Object key
         0: .line 233
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            aload 1 /* key */
            invokestatic java.lang.ProcessEnvironment$Variable.valueOfQueryOnly:(Ljava/lang/Object;)Ljava/lang/ProcessEnvironment$Variable;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public boolean containsValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
        start local 1 // java.lang.Object value
         0: .line 236
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            aload 1 /* value */
            invokestatic java.lang.ProcessEnvironment$Value.valueOfQueryOnly:(Ljava/lang/Object;)Ljava/lang/ProcessEnvironment$Value;
            invokeinterface java.util.Map.containsValue:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object value
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/lang/ProcessEnvironment$StringEnvironment;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.String get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
        start local 1 // java.lang.Object key
         0: .line 239
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            aload 1 /* key */
            invokestatic java.lang.ProcessEnvironment$Variable.valueOfQueryOnly:(Ljava/lang/Object;)Ljava/lang/ProcessEnvironment$Variable;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ProcessEnvironment$Value
            invokestatic java.lang.ProcessEnvironment$StringEnvironment.toString:(Ljava/lang/ProcessEnvironment$Value;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.String put(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 242
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            aload 1 /* key */
            invokestatic java.lang.ProcessEnvironment$Variable.valueOf:(Ljava/lang/String;)Ljava/lang/ProcessEnvironment$Variable;
         1: .line 243
            aload 2 /* value */
            invokestatic java.lang.ProcessEnvironment$Value.valueOf:(Ljava/lang/String;)Ljava/lang/ProcessEnvironment$Value;
         2: .line 242
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ProcessEnvironment$Value
            invokestatic java.lang.ProcessEnvironment$StringEnvironment.toString:(Ljava/lang/ProcessEnvironment$Value;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/lang/ProcessEnvironment$StringEnvironment;
            0    3     1    key  Ljava/lang/String;
            0    3     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  public java.lang.String remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
        start local 1 // java.lang.Object key
         0: .line 246
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            aload 1 /* key */
            invokestatic java.lang.ProcessEnvironment$Variable.valueOfQueryOnly:(Ljava/lang/Object;)Ljava/lang/ProcessEnvironment$Variable;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ProcessEnvironment$Value
            invokestatic java.lang.ProcessEnvironment$StringEnvironment.toString:(Ljava/lang/ProcessEnvironment$Value;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public java.util.Set<java.lang.String> keySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
         0: .line 249
            new java.lang.ProcessEnvironment$StringKeySet
            dup
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokespecial java.lang.ProcessEnvironment$StringKeySet.<init>:(Ljava/util/Set;)V
            areturn
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.util.Set<java.util.Map$Entry<java.lang.String, java.lang.String>> entrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
         0: .line 252
            new java.lang.ProcessEnvironment$StringEntrySet
            dup
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokespecial java.lang.ProcessEnvironment$StringEntrySet.<init>:(Ljava/util/Set;)V
            areturn
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;
    Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;

  public java.util.Collection<java.lang.String> values();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
         0: .line 255
            new java.lang.ProcessEnvironment$StringValues
            dup
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.lang.ProcessEnvironment$StringValues.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ProcessEnvironment$StringEnvironment;
    Signature: ()Ljava/util/Collection<Ljava/lang/String;>;

  public byte[] toEnvironmentBlock(int[]);
    descriptor: ([I)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.lang.ProcessEnvironment$StringEnvironment this
        start local 1 // int[] envc
         0: .line 271
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iconst_2
            imul
            istore 2 /* count */
        start local 2 // int count
         1: .line 272
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: java.lang.ProcessEnvironment$StringEnvironment int[] int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         3: .line 273
            iload 2 /* count */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.ProcessEnvironment$Variable
            invokevirtual java.lang.ProcessEnvironment$Variable.getBytes:()[B
            arraylength
            iadd
            istore 2 /* count */
         4: .line 274
            iload 2 /* count */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.ProcessEnvironment$Value
            invokevirtual java.lang.ProcessEnvironment$Value.getBytes:()[B
            arraylength
            iadd
            istore 2 /* count */
        end local 3 // java.util.Map$Entry entry
         5: .line 272
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 277
            iload 2 /* count */
            newarray 8
            astore 3 /* block */
        start local 3 // byte[] block
         7: .line 279
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: .line 280
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 17
      StackMap locals: java.lang.ProcessEnvironment$StringEnvironment int[] int byte[] int top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
        10: .line 281
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.ProcessEnvironment$Variable
            invokevirtual java.lang.ProcessEnvironment$Variable.getBytes:()[B
            astore 7 /* key */
        start local 7 // byte[] key
        11: .line 282
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.ProcessEnvironment$Value
            invokevirtual java.lang.ProcessEnvironment$Value.getBytes:()[B
            astore 8 /* value */
        start local 8 // byte[] value
        12: .line 283
            aload 7 /* key */
            iconst_0
            aload 3 /* block */
            iload 4 /* i */
            aload 7 /* key */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 284
            iload 4 /* i */
            aload 7 /* key */
            arraylength
            iadd
            istore 4 /* i */
        14: .line 285
            aload 3 /* block */
            iload 4 /* i */
            iinc 4 /* i */ 1
            bipush 61
            bastore
        15: .line 286
            aload 8 /* value */
            iconst_0
            aload 3 /* block */
            iload 4 /* i */
            aload 8 /* value */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 287
            iload 4 /* i */
            aload 8 /* value */
            arraylength
            iconst_1
            iadd
            iadd
            istore 4 /* i */
        end local 8 // byte[] value
        end local 7 // byte[] key
        end local 5 // java.util.Map$Entry entry
        17: .line 280
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        18: .line 291
            aload 1 /* envc */
            iconst_0
            aload 0 /* this */
            getfield java.lang.ProcessEnvironment$StringEnvironment.m:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iastore
        19: .line 292
            aload 3 /* block */
            areturn
        end local 4 // int i
        end local 3 // byte[] block
        end local 2 // int count
        end local 1 // int[] envc
        end local 0 // java.lang.ProcessEnvironment$StringEnvironment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Ljava/lang/ProcessEnvironment$StringEnvironment;
            0   20     1   envc  [I
            1   20     2  count  I
            3    5     3  entry  Ljava/util/Map$Entry<Ljava/lang/ProcessEnvironment$Variable;Ljava/lang/ProcessEnvironment$Value;>;
            7   20     3  block  [B
            8   20     4      i  I
           10   17     5  entry  Ljava/util/Map$Entry<Ljava/lang/ProcessEnvironment$Variable;Ljava/lang/ProcessEnvironment$Value;>;
           11   17     7    key  [B
           12   17     8  value  [B
    MethodParameters:
      Name  Flags
      envc  

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual java.lang.ProcessEnvironment$StringEnvironment.get:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual java.lang.ProcessEnvironment$StringEnvironment.remove:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object put(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.String
            aload 2
            checkcast java.lang.String
            invokevirtual java.lang.ProcessEnvironment$StringEnvironment.put:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/util/AbstractMap<Ljava/lang/String;Ljava/lang/String;>;
SourceFile: "ProcessEnvironment.java"
NestHost: java.lang.ProcessEnvironment
InnerClasses:
  private StringEntrySet = java.lang.ProcessEnvironment$StringEntrySet of java.lang.ProcessEnvironment
  private StringEnvironment = java.lang.ProcessEnvironment$StringEnvironment of java.lang.ProcessEnvironment
  private StringKeySet = java.lang.ProcessEnvironment$StringKeySet of java.lang.ProcessEnvironment
  private StringValues = java.lang.ProcessEnvironment$StringValues of java.lang.ProcessEnvironment
  private Value = java.lang.ProcessEnvironment$Value of java.lang.ProcessEnvironment
  private Variable = java.lang.ProcessEnvironment$Variable of java.lang.ProcessEnvironment
  public abstract Entry = java.util.Map$Entry of java.util.Map