final class com.oracle.svm.driver.NativeImageServer$Server
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.driver.NativeImageServer$Server
  super_class: java.lang.Object
{
  private static final java.lang.String serverProperties;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "server.properties"

  private static final java.lang.String buildRequestLog;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "build-request.log"

  private static final java.lang.String pKeyPort;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Port"

  private static final java.lang.String pKeyPID;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "PID"

  private static final java.lang.String pKeyJavaArgs;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaArgs"

  private static final java.lang.String pKeyBCP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "BootClasspath"

  private static final java.lang.String pKeyCP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Classpath"

  final java.nio.file.Path serverDir;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0010) ACC_FINAL

  final java.time.Instant since;
    descriptor: Ljava/time/Instant;
    flags: (0x0010) ACC_FINAL

  java.time.Instant lastBuildRequest;
    descriptor: Ljava/time/Instant;
    flags: (0x0000) 

  final int port;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int pid;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final java.util.LinkedHashSet<java.lang.String> serverJavaArgs;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/lang/String;>;

  final java.util.LinkedHashSet<java.nio.file.Path> serverBootClasspath;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;

  final java.util.LinkedHashSet<java.nio.file.Path> serverClasspath;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;

  final com.oracle.svm.driver.NativeImageServer this$0;
    descriptor: Lcom/oracle/svm/driver/NativeImageServer;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(com.oracle.svm.driver.NativeImageServer, java.nio.file.Path);
    descriptor: (Lcom/oracle/svm/driver/NativeImageServer;Ljava/nio/file/Path;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
        start local 2 // java.nio.file.Path serverDir
         0: .line 124
            aload 0 /* this */
            aload 1
            putfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 125
            aload 0 /* this */
            aload 2 /* serverDir */
            putfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
         2: .line 126
            aload 2 /* serverDir */
            ldc "server.properties"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* serverPropertiesPath */
        start local 3 // java.nio.file.Path serverPropertiesPath
         3: .line 127
            aload 3 /* serverPropertiesPath */
            invokestatic com.oracle.svm.driver.NativeImageServer.loadProperties:(Ljava/nio/file/Path;)Ljava/util/Map;
            astore 4 /* properties */
        start local 4 // java.util.Map properties
         4: .line 128
            aload 0 /* this */
            aload 4 /* properties */
            ldc "PID"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
         5: .line 129
            aload 0 /* this */
            aload 4 /* properties */
            ldc "Port"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.oracle.svm.driver.NativeImageServer$Server.port:I
         6: .line 130
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
            ifne 10
         7: .line 131
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
            i2l
            invokestatic org.graalvm.nativeimage.ProcessProperties.destroyForcibly:(J)Z
            pop
         8: .line 132
            aload 1
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
            invokevirtual com.oracle.svm.driver.NativeImageServer.deleteAllFiles:(Ljava/nio/file/Path;)V
         9: .line 133
            new com.oracle.svm.driver.NativeImageServer$ServerInstanceError
            dup
            invokespecial com.oracle.svm.driver.NativeImageServer$ServerInstanceError.<init>:()V
            athrow
        10: .line 135
      StackMap locals: com.oracle.svm.driver.NativeImageServer$Server com.oracle.svm.driver.NativeImageServer java.nio.file.Path java.nio.file.Path java.util.Map
      StackMap stack:
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            aload 4 /* properties */
            ldc "JavaArgs"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            ldc " "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
            putfield com.oracle.svm.driver.NativeImageServer$Server.serverJavaArgs:Ljava/util/LinkedHashSet;
        11: .line 136
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* properties */
            ldc "BootClasspath"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.readClasspath:(Ljava/lang/String;)Ljava/util/LinkedHashSet;
            putfield com.oracle.svm.driver.NativeImageServer$Server.serverBootClasspath:Ljava/util/LinkedHashSet;
        12: .line 137
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* properties */
            ldc "Classpath"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.readClasspath:(Ljava/lang/String;)Ljava/util/LinkedHashSet;
            putfield com.oracle.svm.driver.NativeImageServer$Server.serverClasspath:Ljava/util/LinkedHashSet;
        13: .line 138
            aload 3 /* serverPropertiesPath */
            ldc Ljava/nio/file/attribute/BasicFileAttributes;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
            astore 5 /* sinceAttrs */
        start local 5 // java.nio.file.attribute.BasicFileAttributes sinceAttrs
        14: .line 139
            aload 0 /* this */
            aload 5 /* sinceAttrs */
            invokeinterface java.nio.file.attribute.BasicFileAttributes.creationTime:()Ljava/nio/file/attribute/FileTime;
            invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
            putfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
        15: .line 140
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.updateLastBuildRequest:()V
        16: .line 141
            return
        end local 5 // java.nio.file.attribute.BasicFileAttributes sinceAttrs
        end local 4 // java.util.Map properties
        end local 3 // java.nio.file.Path serverPropertiesPath
        end local 2 // java.nio.file.Path serverDir
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   17     0                  this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            0   17     2             serverDir  Ljava/nio/file/Path;
            3   17     3  serverPropertiesPath  Ljava/nio/file/Path;
            4   17     4            properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           14   17     5            sinceAttrs  Ljava/nio/file/attribute/BasicFileAttributes;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      this$0     final
      serverDir  

  private void updateLastBuildRequest();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
         0: .line 144
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
            ldc "build-request.log"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 1 /* buildRequestLogPath */
        start local 1 // java.nio.file.Path buildRequestLogPath
         1: .line 145
            aload 1 /* buildRequestLogPath */
            invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
            ifeq 5
         2: .line 146
            aload 1 /* buildRequestLogPath */
            ldc Ljava/nio/file/attribute/BasicFileAttributes;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
            astore 2 /* buildAttrs */
        start local 2 // java.nio.file.attribute.BasicFileAttributes buildAttrs
         3: .line 147
            aload 0 /* this */
            aload 2 /* buildAttrs */
            invokeinterface java.nio.file.attribute.BasicFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
            invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
            lconst_1
            invokevirtual java.time.Instant.plusSeconds:(J)Ljava/time/Instant;
            putfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
        end local 2 // java.nio.file.attribute.BasicFileAttributes buildAttrs
         4: .line 148
            goto 6
         5: .line 149
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
            putfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
         6: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path buildRequestLogPath
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            1    7     1  buildRequestLogPath  Ljava/nio/file/Path;
            3    4     2           buildAttrs  Ljava/nio/file/attribute/BasicFileAttributes;
    Exceptions:
      throws java.io.IOException

  private java.util.LinkedHashSet<java.nio.file.Path> readClasspath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/LinkedHashSet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
        start local 1 // java.lang.String rawClasspathString
         0: .line 154
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.LinkedHashSet result
         1: .line 155
            aload 1 /* rawClasspathString */
            ldc " "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.lang.String java.util.LinkedHashSet top int int java.lang.String[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* pathStr */
        start local 3 // java.lang.String pathStr
         3: .line 156
            aload 2 /* result */
            aload 3 /* pathStr */
            invokestatic com.oracle.svm.core.util.ClasspathUtils.stringToClasspath:(Ljava/lang/String;)Ljava/nio/file/Path;
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String pathStr
         4: .line 155
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 158
            aload 2 /* result */
            areturn
        end local 2 // java.util.LinkedHashSet result
        end local 1 // java.lang.String rawClasspathString
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            0    7     1  rawClasspathString  Ljava/lang/String;
            1    7     2              result  Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
            3    4     3             pathStr  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
    MethodParameters:
                    Name  Flags
      rawClasspathString  

  private int sendRequest(java.util.function.Consumer<byte[]>, java.util.function.Consumer<byte[]>, com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand, java.lang.String[]);
    descriptor: (Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
        start local 1 // java.util.function.Consumer out
        start local 2 // java.util.function.Consumer err
        start local 3 // com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand serverCommand
        start local 4 // java.lang.String[] args
         0: .line 162
            aload 4 /* args */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 5 /* argList */
        start local 5 // java.util.List argList
         1: .line 163
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
            ldc "Sending to server ["
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
         2: .line 164
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
            aload 3 /* serverCommand */
            invokevirtual com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
         3: .line 165
            aload 5 /* argList */
            invokeinterface java.util.List.size:()I
            ifle 5
         4: .line 166
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
            ldc " \\\n"
            aload 5 /* argList */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
         5: .line 168
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
            ldc "]"
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
         6: .line 169
            aload 3 /* serverCommand */
            ldc "\n"
            aload 5 /* argList */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
            aload 1 /* out */
            aload 2 /* err */
            invokestatic com.oracle.svm.hosted.server.NativeImageBuildClient.sendRequest:(Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[BILjava/util/function/Consumer;Ljava/util/function/Consumer;)I
            istore 6 /* exitCode */
        start local 6 // int exitCode
         7: .line 170
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
            new java.lang.StringBuilder
            dup
            ldc "Server returns: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* exitCode */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
         8: .line 171
            iload 6 /* exitCode */
            ireturn
        end local 6 // int exitCode
        end local 5 // java.util.List argList
        end local 4 // java.lang.String[] args
        end local 3 // com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand serverCommand
        end local 2 // java.util.function.Consumer err
        end local 1 // java.util.function.Consumer out
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            0    9     1            out  Ljava/util/function/Consumer<[B>;
            0    9     2            err  Ljava/util/function/Consumer<[B>;
            0    9     3  serverCommand  Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
            0    9     4           args  [Ljava/lang/String;
            1    9     5        argList  Ljava/util/List<Ljava/lang/String;>;
            7    9     6       exitCode  I
    Signature: (Ljava/util/function/Consumer<[B>;Ljava/util/function/Consumer<[B>;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
    MethodParameters:
               Name  Flags
      out            
      err            
      serverCommand  
      args           

  int sendBuildRequest(java.util.LinkedHashSet<java.nio.file.Path>, java.util.LinkedHashSet<java.lang.String>);
    descriptor: (Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)I
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
        start local 1 // java.util.LinkedHashSet imageCP
        start local 2 // java.util.LinkedHashSet imageArgs
         0: .line 175
            iconst_1
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            astore 3 /* requestStatus */
        start local 3 // int[] requestStatus
         1: .line 176
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
            aload 0 /* this */
            aload 1 /* imageCP */
            aload 2 /* imageArgs */
            aload 3 /* requestStatus */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImageServer$Server;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;[I)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/svm/driver/NativeImageServer$Server.lambda$0(Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;[ILjava/nio/channels/FileChannel;)V (7)
                  (Ljava/nio/channels/FileChannel;)V
            invokevirtual com.oracle.svm.driver.NativeImageServer.withLockDirFileChannel:(Ljava/nio/file/Path;Ljava/util/function/Consumer;)V
         2: .line 232
            aload 3 /* requestStatus */
            iconst_0
            iaload
            ireturn
        end local 3 // int[] requestStatus
        end local 2 // java.util.LinkedHashSet imageArgs
        end local 1 // java.util.LinkedHashSet imageCP
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            0    3     1        imageCP  Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
            0    3     2      imageArgs  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
            1    3     3  requestStatus  [I
    Signature: (Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/LinkedHashSet<Ljava/lang/String;>;)I
    MethodParameters:
           Name  Flags
      imageCP    
      imageArgs  

  boolean isAlive();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
         0: .line 236
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* baos */
        start local 1 // java.io.ByteArrayOutputStream baos
         1: .line 237
            aload 0 /* this */
            aload 1 /* baos */
            invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
            aload 1 /* baos */
            invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
            getstatic com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.GET_VERSION:Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
            iconst_0
            anewarray java.lang.String
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.sendRequest:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
            ifne 2
            iconst_1
            goto 3
      StackMap locals: java.io.ByteArrayOutputStream
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* alive */
        start local 2 // boolean alive
         4: .line 238
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
            new java.lang.StringBuilder
            dup
            ldc "Server version response: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 1 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
         5: .line 239
            iload 2 /* alive */
            ireturn
        end local 2 // boolean alive
        end local 1 // java.io.ByteArrayOutputStream baos
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            1    6     1   baos  Ljava/io/ByteArrayOutputStream;
            4    6     2  alive  Z

  void abortTask();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
         0: .line 243
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* baos */
        start local 1 // java.io.ByteArrayOutputStream baos
         1: .line 244
            aload 0 /* this */
            aload 1 /* baos */
            invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
            aload 1 /* baos */
            invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
            getstatic com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.ABORT_BUILD:Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
            iconst_0
            anewarray java.lang.String
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.sendRequest:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
            pop
         2: .line 245
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
            new java.lang.StringBuilder
            dup
            ldc "Server abort response:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 1 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
         3: .line 246
            return
        end local 1 // java.io.ByteArrayOutputStream baos
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            1    4     1  baos  Ljava/io/ByteArrayOutputStream;

  synchronized void shutdown();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=6, locals=12, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
         0: .line 249
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* baos */
        start local 1 // java.io.ByteArrayOutputStream baos
         1: .line 250
            aload 0 /* this */
            aload 1 /* baos */
            invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
            aload 1 /* baos */
            invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
            getstatic com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.STOP_SERVER:Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
            iconst_0
            anewarray java.lang.String
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.sendRequest:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
            pop
         2: .line 251
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
            new java.lang.StringBuilder
            dup
            ldc "Server stop response:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 1 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
         3: .line 252
            invokestatic java.lang.System.currentTimeMillis:()J
            ldc 20000
            ladd
            lstore 2 /* terminationTimeout */
        start local 2 // long terminationTimeout
         4: .line 253
            lload 2 /* terminationTimeout */
            ldc 40000
            ladd
            lstore 4 /* killTimeout */
        start local 4 // long killTimeout
         5: .line 254
            lload 4 /* killTimeout */
            ldc 2000
            ladd
            lstore 6 /* killedTimeout */
        start local 6 // long killedTimeout
         6: .line 255
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            getfield com.oracle.svm.driver.NativeImageServer.verboseServer:Z
            new java.lang.StringBuilder
            dup
            ldc "Waiting for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to shutdown"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
         7: .line 257
            iconst_0
            istore 8 /* sentSIGTERM */
        start local 8 // boolean sentSIGTERM
         8: .line 258
            iconst_0
            istore 9 /* sentSIGKILL */
        start local 9 // boolean sentSIGKILL
         9: .line 261
      StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.io.ByteArrayOutputStream long long long int int
      StackMap stack:
            ldc 500
            invokestatic java.lang.Thread.sleep:(J)V
        10: .line 262
            goto 13
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        11: astore 10 /* e */
        start local 10 // java.lang.InterruptedException e
        12: .line 263
            new java.lang.StringBuilder
            dup
            ldc "Woke up from waiting for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to shutdown"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 10 /* e */
            invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 10 // java.lang.InterruptedException e
        13: .line 265
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 10 /* now */
        start local 10 // long now
        14: .line 266
            iload 8 /* sentSIGTERM */
            ifne 19
            lload 2 /* terminationTimeout */
            lload 10 /* now */
            lcmp
            ifge 19
        15: .line 267
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " keeps responding to port "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " even after sending STOP_SERVER"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImageServer.showWarning:(Ljava/lang/String;)V
        16: .line 268
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
            i2l
            invokestatic org.graalvm.nativeimage.ProcessProperties.destroy:(J)Z
            pop
        17: .line 269
            iconst_1
            istore 8 /* sentSIGTERM */
        18: .line 270
            goto 26
      StackMap locals: long
      StackMap stack:
        19: iload 9 /* sentSIGKILL */
            ifne 24
            lload 4 /* killTimeout */
            lload 10 /* now */
            lcmp
            ifge 24
        20: .line 271
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " keeps responding to port "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " even after destroying"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImageServer.showWarning:(Ljava/lang/String;)V
        21: .line 272
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
            i2l
            invokestatic org.graalvm.nativeimage.ProcessProperties.destroyForcibly:(J)Z
            pop
        22: .line 273
            iconst_1
            istore 9 /* sentSIGKILL */
        23: .line 274
            goto 26
      StackMap locals:
      StackMap stack:
        24: lload 6 /* killedTimeout */
            lload 10 /* now */
            lcmp
            ifge 26
        25: .line 275
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " keeps responding to port "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " even after destroying forcefully"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
        end local 10 // long now
        26: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.isAlive:()Z
            ifne 9
        27: .line 278
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
            invokevirtual com.oracle.svm.driver.NativeImageServer.deleteAllFiles:(Ljava/nio/file/Path;)V
        28: .line 279
            return
        end local 9 // boolean sentSIGKILL
        end local 8 // boolean sentSIGTERM
        end local 6 // long killedTimeout
        end local 4 // long killTimeout
        end local 2 // long terminationTimeout
        end local 1 // java.io.ByteArrayOutputStream baos
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   29     0                this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            1   29     1                baos  Ljava/io/ByteArrayOutputStream;
            4   29     2  terminationTimeout  J
            5   29     4         killTimeout  J
            6   29     6       killedTimeout  J
            8   29     8         sentSIGTERM  Z
            9   29     9         sentSIGKILL  Z
           12   13    10                   e  Ljava/lang/InterruptedException;
           14   26    10                 now  J
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.InterruptedException

  java.lang.String getServerInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
         0: .line 282
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 283
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 284
            aload 1 /* sb */
            ldc "\nServerDir: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         3: .line 285
            aload 1 /* sb */
            ldc "\nRunning for: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
            invokestatic com.oracle.svm.driver.NativeImageServer.getDurationString:(Ljava/time/Instant;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 286
            aload 1 /* sb */
            ldc "\nLast build: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 287
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
            invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 288
            aload 1 /* sb */
            ldc "None"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 289
            goto 9
         8: .line 290
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
            invokestatic com.oracle.svm.driver.NativeImageServer.getDurationString:(Ljava/time/Instant;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 292
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "\nPID: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        10: .line 293
            aload 1 /* sb */
            ldc "\nPort: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        11: .line 294
            aload 1 /* sb */
            ldc "\nJavaArgs: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverJavaArgs:Ljava/util/LinkedHashSet;
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 295
            aload 1 /* sb */
            ldc "\nBootClasspath: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverBootClasspath:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/nio/file/Path.toString()Ljava/lang/String; (9 itf)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 296
            aload 1 /* sb */
            ldc "\nClasspath: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverClasspath:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/nio/file/Path.toString()Ljava/lang/String; (9 itf)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 297
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            1   15     1    sb  Ljava/lang/StringBuilder;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
         0: .line 302
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 303
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 304
            aload 1 /* sb */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 305
            aload 1 /* sb */
            ldc "pid: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.pid:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         4: .line 306
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 307
            aload 1 /* sb */
            ldc "port: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.port:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         6: .line 308
            aload 1 /* sb */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 309
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
            invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 311
            aload 1 /* sb */
            bipush 42
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 313
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            1   10     1    sb  Ljava/lang/StringBuilder;

  private java.lang.String getLivenessInfo(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
        start local 1 // boolean alive
         0: .line 317
            iload 1 /* alive */
            ifeq 2
         1: .line 318
            new java.lang.StringBuilder
            dup
            ldc " running for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
            invokestatic com.oracle.svm.driver.NativeImageServer.getDurationString:(Ljava/time/Instant;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 320
      StackMap locals:
      StackMap stack:
            ldc " DEAD"
            areturn
        end local 1 // boolean alive
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            0    3     1  alive  Z
    MethodParameters:
       Name  Flags
      alive  

  private java.lang.String getLastBuildInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
         0: .line 325
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.since:Ljava/time/Instant;
            invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 326
            ldc " <No builds>"
            areturn
         2: .line 328
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc " last build: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.lastBuildRequest:Ljava/time/Instant;
            invokestatic com.oracle.svm.driver.NativeImageServer.getDurationString:(Ljava/time/Instant;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/driver/NativeImageServer$Server;

  private void lambda$0(java.util.LinkedHashSet, java.util.LinkedHashSet, int[], java.nio.channels.FileChannel);
    descriptor: (Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;[ILjava/nio/channels/FileChannel;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=8, locals=13, args_size=5
        start local 0 // com.oracle.svm.driver.NativeImageServer$Server this
        start local 4 // java.nio.channels.FileChannel lockFileChannel
         0: .line 177
            iconst_0
            istore 5 /* abortedOnce */
        start local 5 // boolean abortedOnce
         1: .line 178
            iconst_0
            istore 6 /* finished */
        start local 6 // boolean finished
         2: .line 179
            goto 48
         3: .line 180
      StackMap locals: int int
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
         4: aload 4 /* lockFileChannel */
            invokevirtual java.nio.channels.FileChannel.tryLock:()Ljava/nio/channels/FileLock;
            astore 9 /* lock */
        start local 9 // java.nio.channels.FileLock lock
         5: .line 181
            aload 9 /* lock */
            ifnull 10
         6: .line 182
            iconst_1
            istore 6 /* finished */
         7: .line 183
            iload 5 /* abortedOnce */
            ifeq 20
         8: .line 184
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            ldc "DONE."
            invokevirtual com.oracle.svm.driver.NativeImageServer.showMessage:(Ljava/lang/String;)V
         9: .line 186
            goto 20
        10: .line 188
      StackMap locals: java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock
      StackMap stack:
            iload 5 /* abortedOnce */
            ifne 14
        11: .line 189
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            ldc "A previous build is in progress. Aborting previous build..."
            invokevirtual com.oracle.svm.driver.NativeImageServer.showMessagePart:(Ljava/lang/String;)V
        12: .line 190
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.abortTask:()V
        13: .line 191
            iconst_1
            istore 5 /* abortedOnce */
        14: .line 194
      StackMap locals:
      StackMap stack:
            ldc 3000
            invokestatic java.lang.Thread.sleep:(J)V
        15: .line 195
            goto 18
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        16: astore 10 /* e */
        start local 10 // java.lang.InterruptedException e
        17: .line 196
            ldc "Woke up from waiting for previous build to abort"
            aload 10 /* e */
            invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 10 // java.lang.InterruptedException e
        18: .line 227
      StackMap locals:
      StackMap stack:
            aload 9 /* lock */
            ifnull 48
            aload 9 /* lock */
            invokevirtual java.nio.channels.FileLock.close:()V
        19: .line 198
            goto 48
        20: .line 202
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* command */
        start local 10 // java.util.List command
        21: .line 203
            aload 10 /* command */
            ldc "-task=com.oracle.svm.hosted.NativeImageGeneratorRunner"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 205
            new java.util.LinkedHashSet
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverClasspath:Ljava/util/LinkedHashSet;
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
            astore 11 /* imagecp */
        start local 11 // java.util.LinkedHashSet imagecp
        23: .line 206
            aload 11 /* imagecp */
            aload 1
            invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
            pop
        24: .line 207
            aload 10 /* command */
            aload 2
            aload 11 /* imagecp */
            invokestatic com.oracle.svm.driver.NativeImageServer.createImageBuilderArgs:(Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        25: .line 209
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
            ldc "SendBuildRequest ["
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
        26: .line 210
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
            ldc "\n"
            aload 10 /* command */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
        27: .line 211
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.this$0:Lcom/oracle/svm/driver/NativeImageServer;
            invokevirtual com.oracle.svm.driver.NativeImageServer.isVerbose:()Z
            ldc "]"
            invokevirtual com.oracle.svm.driver.NativeImageServer.showVerboseMessage:(ZLjava/lang/String;)V
        28: .line 214
            aload 10 /* command */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            ldc " "
            new java.lang.StringBuilder
            dup
            invokestatic java.time.Instant.now:()Ljava/time/Instant;
            invokevirtual java.time.Instant.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "\n"
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* logFileEntry */
        start local 12 // java.lang.String logFileEntry
        29: .line 215
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
            ldc "build-request.log"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            aload 12 /* logFileEntry */
            invokevirtual java.lang.String.getBytes:()[B
            iconst_2
            anewarray java.nio.file.OpenOption
            dup
            iconst_0
            getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_1
            getstatic java.nio.file.StandardOpenOption.APPEND:Ljava/nio/file/StandardOpenOption;
            aastore
            invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;[B[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
            pop
        30: .line 216
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.updateLastBuildRequest:()V
        end local 12 // java.lang.String logFileEntry
        31: .line 217
            goto 34
      StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.util.LinkedHashSet java.util.LinkedHashSet int[] java.nio.channels.FileChannel int int java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock java.util.List java.util.LinkedHashSet
      StackMap stack: java.io.IOException
        32: astore 12 /* e */
        start local 12 // java.io.IOException e
        33: .line 218
            ldc "Could not read/write into build-request log file"
            aload 12 /* e */
            invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 12 // java.io.IOException e
        34: .line 221
      StackMap locals:
      StackMap stack:
            aload 3
            iconst_0
            aload 0 /* this */
        35: .line 222
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
        36: .line 223
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic com.oracle.svm.driver.NativeImageServer.byteStreamToByteConsumer:(Ljava/io/OutputStream;)Ljava/util/function/Consumer;
        37: .line 224
            getstatic com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand.BUILD_IMAGE:Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;
        38: .line 225
            aload 10 /* command */
            aload 10 /* command */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
        39: .line 221
            invokevirtual com.oracle.svm.driver.NativeImageServer$Server.sendRequest:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Lcom/oracle/svm/hosted/server/SubstrateServerMessage$ServerCommand;[Ljava/lang/String;)I
            iastore
        end local 11 // java.util.LinkedHashSet imagecp
        end local 10 // java.util.List command
        40: .line 227
            aload 9 /* lock */
            ifnull 48
            aload 9 /* lock */
            invokevirtual java.nio.channels.FileLock.close:()V
            goto 48
      StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.util.LinkedHashSet java.util.LinkedHashSet int[] java.nio.channels.FileChannel int int java.lang.Throwable java.lang.Throwable java.nio.channels.FileLock
      StackMap stack: java.lang.Throwable
        41: astore 7
            aload 9 /* lock */
            ifnull 42
            aload 9 /* lock */
            invokevirtual java.nio.channels.FileLock.close:()V
        end local 9 // java.nio.channels.FileLock lock
      StackMap locals:
      StackMap stack:
        42: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 8
            aload 7
            ifnonnull 44
            aload 8
            astore 7
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 7
            aload 8
            if_acmpeq 45
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        45: aload 7
            athrow
      StackMap locals: com.oracle.svm.driver.NativeImageServer$Server java.util.LinkedHashSet java.util.LinkedHashSet int[] java.nio.channels.FileChannel int int
      StackMap stack: java.io.IOException
        46: astore 7 /* e */
        start local 7 // java.io.IOException e
        47: .line 228
            new java.lang.StringBuilder
            dup
            ldc "Error while trying to lock ServerDir "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImageServer$Server.serverDir:Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* e */
            invokestatic com.oracle.svm.driver.NativeImageServer.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 7 // java.io.IOException e
        48: .line 179
      StackMap locals:
      StackMap stack:
            iload 6 /* finished */
            ifeq 3
        end local 6 // boolean finished
        end local 5 // boolean abortedOnce
        49: .line 231
            return
        end local 4 // java.nio.channels.FileChannel lockFileChannel
        end local 0 // com.oracle.svm.driver.NativeImageServer$Server this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   50     0             this  Lcom/oracle/svm/driver/NativeImageServer$Server;
            0   50     4  lockFileChannel  Ljava/nio/channels/FileChannel;
            1   49     5      abortedOnce  Z
            2   49     6         finished  Z
            5   42     9             lock  Ljava/nio/channels/FileLock;
           17   18    10                e  Ljava/lang/InterruptedException;
           21   40    10          command  Ljava/util/List<Ljava/lang/String;>;
           23   40    11          imagecp  Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
           29   31    12     logFileEntry  Ljava/lang/String;
           33   34    12                e  Ljava/io/IOException;
           47   48     7                e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          14    15      16  Class java.lang.InterruptedException
          28    31      32  Class java.io.IOException
           5    18      41  any
          20    40      41  any
           4    19      43  any
          20    43      43  any
           3    19      46  Class java.io.IOException
          20    46      46  Class java.io.IOException
}
SourceFile: "NativeImageServer.java"
NestHost: com.oracle.svm.driver.NativeImageServer
InnerClasses:
  private final Server = com.oracle.svm.driver.NativeImageServer$Server of com.oracle.svm.driver.NativeImageServer
  private final ServerInstanceError = com.oracle.svm.driver.NativeImageServer$ServerInstanceError of com.oracle.svm.driver.NativeImageServer
  public final ServerCommand = com.oracle.svm.hosted.server.SubstrateServerMessage$ServerCommand of com.oracle.svm.hosted.server.SubstrateServerMessage
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles