public class org.flywaydb.commandline.Main
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.flywaydb.commandline.Main
  super_class: java.lang.Object
{
  private static org.flywaydb.core.api.logging.Log LOG;
    descriptor: Lorg/flywaydb/core/api/logging/Log;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.flywaydb.commandline.Main this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.flywaydb.commandline.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/flywaydb/commandline/Main;

  static org.flywaydb.core.api.logging.LogCreator getLogCreator(org.flywaydb.commandline.CommandLineArguments);
    descriptor: (Lorg/flywaydb/commandline/CommandLineArguments;)Lorg/flywaydb/core/api/logging/LogCreator;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
         0: .line 49
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.shouldOutputJson:()Z
            ifeq 2
         1: .line 50
            invokestatic org.flywaydb.commandline.MultiLogCreator.empty:()Lorg/flywaydb/commandline/MultiLogCreator;
            areturn
         2: .line 53
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* logCreators */
        start local 1 // java.util.List logCreators
         3: .line 55
            aload 1 /* logCreators */
            new org.flywaydb.commandline.ConsoleLogCreator
            dup
            aload 0 /* commandLineArguments */
            invokespecial org.flywaydb.commandline.ConsoleLogCreator.<init>:(Lorg/flywaydb/commandline/CommandLineArguments;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 57
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.isOutputFileSet:()Z
            ifne 5
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.isLogFilepathSet:()Z
            ifeq 6
         5: .line 58
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* logCreators */
            new org.flywaydb.commandline.FileLogCreator
            dup
            aload 0 /* commandLineArguments */
            invokespecial org.flywaydb.commandline.FileLogCreator.<init>:(Lorg/flywaydb/commandline/CommandLineArguments;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 61
      StackMap locals:
      StackMap stack:
            new org.flywaydb.commandline.MultiLogCreator
            dup
            aload 1 /* logCreators */
            invokespecial org.flywaydb.commandline.MultiLogCreator.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.List logCreators
        end local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    7     0  commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
            3    7     1           logCreators  Ljava/util/List<Lorg/flywaydb/core/api/logging/LogCreator;>;
    MethodParameters:
                      Name  Flags
      commandLineArguments  

  static void initLogging(org.flywaydb.commandline.CommandLineArguments);
    descriptor: (Lorg/flywaydb/commandline/CommandLineArguments;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
         0: .line 68
            aload 0 /* commandLineArguments */
            invokestatic org.flywaydb.commandline.Main.getLogCreator:(Lorg/flywaydb/commandline/CommandLineArguments;)Lorg/flywaydb/core/api/logging/LogCreator;
            astore 1 /* logCreator */
        start local 1 // org.flywaydb.core.api.logging.LogCreator logCreator
         1: .line 69
            aload 1 /* logCreator */
            invokestatic org.flywaydb.core.api.logging.LogFactory.setFallbackLogCreator:(Lorg/flywaydb/core/api/logging/LogCreator;)V
         2: .line 70
            ldc Lorg/flywaydb/commandline/Main;
            invokestatic org.flywaydb.core.api.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/flywaydb/core/api/logging/Log;
            putstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
         3: .line 71
            return
        end local 1 // org.flywaydb.core.api.logging.LogCreator logCreator
        end local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0  commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
            1    4     1            logCreator  Lorg/flywaydb/core/api/logging/LogCreator;
    MethodParameters:
                      Name  Flags
      commandLineArguments  

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 79
            new org.flywaydb.commandline.CommandLineArguments
            dup
            aload 0 /* args */
            invokespecial org.flywaydb.commandline.CommandLineArguments.<init>:([Ljava/lang/String;)V
            astore 1 /* commandLineArguments */
        start local 1 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
         1: .line 80
            aload 1 /* commandLineArguments */
            invokestatic org.flywaydb.commandline.Main.initLogging:(Lorg/flywaydb/commandline/CommandLineArguments;)V
         2: .line 83
            aload 1 /* commandLineArguments */
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            invokevirtual org.flywaydb.commandline.CommandLineArguments.validate:(Lorg/flywaydb/core/api/logging/Log;)V
         3: .line 85
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.shouldPrintVersionAndExit:()Z
            ifeq 6
         4: .line 86
            invokestatic org.flywaydb.commandline.Main.printVersion:()V
         5: .line 87
            iconst_0
            invokestatic java.lang.System.exit:(I)V
         6: .line 90
      StackMap locals: org.flywaydb.commandline.CommandLineArguments
      StackMap stack:
            aload 1 /* commandLineArguments */
            ldc "help"
            invokevirtual org.flywaydb.commandline.CommandLineArguments.hasOperation:(Ljava/lang/String;)Z
            ifne 7
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.shouldPrintUsage:()Z
            ifeq 9
         7: .line 91
      StackMap locals:
      StackMap stack:
            invokestatic org.flywaydb.commandline.Main.printUsage:()V
         8: .line 92
            return
         9: .line 95
      StackMap locals:
      StackMap stack:
            invokestatic org.flywaydb.core.internal.configuration.ConfigUtils.environmentVariablesToPropertyMap:()Ljava/util/Map;
            astore 2 /* envVars */
        start local 2 // java.util.Map envVars
        10: .line 97
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* config */
        start local 3 // java.util.Map config
        11: .line 98
            aload 3 /* config */
            aload 1 /* commandLineArguments */
            invokestatic org.flywaydb.commandline.Main.initializeDefaults:(Ljava/util/Map;Lorg/flywaydb/commandline/CommandLineArguments;)V
        12: .line 99
            aload 3 /* config */
            aload 1 /* commandLineArguments */
            aload 2 /* envVars */
            invokestatic org.flywaydb.commandline.Main.loadConfigurationFromConfigFiles:(Ljava/util/Map;Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map;)V
        13: .line 101
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.isWorkingDirectorySet:()Z
            ifeq 15
        14: .line 102
            aload 1 /* commandLineArguments */
            aload 3 /* config */
            invokestatic org.flywaydb.commandline.Main.makeRelativeLocationsBasedOnWorkingDirectory:(Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map;)V
        15: .line 105
      StackMap locals: java.util.Map java.util.Map
      StackMap stack:
            aload 3 /* config */
            aload 2 /* envVars */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        16: .line 106
            aload 3 /* config */
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getConfiguration:()Ljava/util/Map;
            invokestatic org.flywaydb.commandline.Main.overrideConfiguration:(Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
            astore 3 /* config */
        17: .line 108
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.shouldSuppressPrompt:()Z
            ifne 19
        18: .line 109
            aload 3 /* config */
            invokestatic org.flywaydb.commandline.Main.promptForCredentialsIfMissing:(Ljava/util/Map;)V
        19: .line 112
      StackMap locals:
      StackMap stack:
            aload 3 /* config */
            invokestatic org.flywaydb.core.internal.configuration.ConfigUtils.dumpConfiguration:(Ljava/util/Map;)V
        20: .line 114
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* classLoader */
        start local 4 // java.lang.ClassLoader classLoader
        21: .line 115
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* jarFiles */
        start local 5 // java.util.List jarFiles
        22: .line 116
            aload 5 /* jarFiles */
            invokestatic org.flywaydb.commandline.Main.getJdbcDriverJarFiles:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        23: .line 117
            aload 5 /* jarFiles */
            aload 3 /* config */
            invokestatic org.flywaydb.commandline.Main.getJavaMigrationJarFiles:(Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        24: .line 118
            aload 5 /* jarFiles */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 26
        25: .line 119
            aload 4 /* classLoader */
            aload 5 /* jarFiles */
            invokestatic org.flywaydb.core.internal.util.ClassUtils.addJarsOrDirectoriesToClasspath:(Ljava/lang/ClassLoader;Ljava/util/List;)Ljava/lang/ClassLoader;
            astore 4 /* classLoader */
        26: .line 121
      StackMap locals: java.lang.ClassLoader java.util.List
      StackMap stack:
            aload 3 /* config */
            invokestatic org.flywaydb.commandline.Main.filterProperties:(Ljava/util/Map;)V
        27: .line 122
            aload 4 /* classLoader */
            invokestatic org.flywaydb.core.Flyway.configure:(Ljava/lang/ClassLoader;)Lorg/flywaydb/core/api/configuration/FluentConfiguration;
            aload 3 /* config */
            invokevirtual org.flywaydb.core.api.configuration.FluentConfiguration.configuration:(Ljava/util/Map;)Lorg/flywaydb/core/api/configuration/FluentConfiguration;
            invokevirtual org.flywaydb.core.api.configuration.FluentConfiguration.load:()Lorg/flywaydb/core/Flyway;
            astore 6 /* flyway */
        start local 6 // org.flywaydb.core.Flyway flyway
        28: .line 124
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getOperations:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 31
      StackMap locals: java.lang.String[] org.flywaydb.commandline.CommandLineArguments java.util.Map java.util.Map java.lang.ClassLoader java.util.List org.flywaydb.core.Flyway top java.util.Iterator
      StackMap stack:
        29: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* operation */
        start local 7 // java.lang.String operation
        30: .line 125
            aload 6 /* flyway */
            aload 7 /* operation */
            aload 1 /* commandLineArguments */
            invokestatic org.flywaydb.commandline.Main.executeOperation:(Lorg/flywaydb/core/Flyway;Ljava/lang/String;Lorg/flywaydb/commandline/CommandLineArguments;)V
        end local 7 // java.lang.String operation
        31: .line 124
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        end local 6 // org.flywaydb.core.Flyway flyway
        end local 5 // java.util.List jarFiles
        end local 4 // java.lang.ClassLoader classLoader
        end local 3 // java.util.Map config
        end local 2 // java.util.Map envVars
        32: .line 127
            goto 43
      StackMap locals: java.lang.String[] org.flywaydb.commandline.CommandLineArguments
      StackMap stack: java.lang.Exception
        33: astore 2 /* e */
        start local 2 // java.lang.Exception e
        34: .line 128
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.shouldOutputJson:()Z
            ifeq 38
        35: .line 129
            aload 2 /* e */
            invokestatic org.flywaydb.core.internal.output.ErrorOutput.fromException:(Ljava/lang/Exception;)Lorg/flywaydb/core/internal/output/ErrorOutput;
            astore 3 /* errorOutput */
        start local 3 // org.flywaydb.core.internal.output.ErrorOutput errorOutput
        36: .line 130
            aload 1 /* commandLineArguments */
            aload 3 /* errorOutput */
            invokestatic org.flywaydb.commandline.Main.printJson:(Lorg/flywaydb/commandline/CommandLineArguments;Ljava/lang/Object;)V
        end local 3 // org.flywaydb.core.internal.output.ErrorOutput errorOutput
        37: .line 131
            goto 42
        38: .line 132
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getLogLevel:()Lorg/flywaydb/commandline/ConsoleLog$Level;
            getstatic org.flywaydb.commandline.ConsoleLog$Level.DEBUG:Lorg/flywaydb/commandline/ConsoleLog$Level;
            if_acmpne 41
        39: .line 133
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Unexpected error"
            aload 2 /* e */
            invokeinterface org.flywaydb.core.api.logging.Log.error:(Ljava/lang/String;Ljava/lang/Exception;)V
        40: .line 134
            goto 42
        41: .line 135
      StackMap locals:
      StackMap stack:
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            aload 2 /* e */
            invokestatic org.flywaydb.commandline.Main.getMessageFromException:(Ljava/lang/Exception;)Ljava/lang/String;
            invokeinterface org.flywaydb.core.api.logging.Log.error:(Ljava/lang/String;)V
        42: .line 138
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        end local 2 // java.lang.Exception e
        43: .line 140
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   44     0                  args  [Ljava/lang/String;
            1   44     1  commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
           10   32     2               envVars  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           11   32     3                config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           21   32     4           classLoader  Ljava/lang/ClassLoader;
           22   32     5              jarFiles  Ljava/util/List<Ljava/io/File;>;
           28   32     6                flyway  Lorg/flywaydb/core/Flyway;
           30   31     7             operation  Ljava/lang/String;
           34   43     2                     e  Ljava/lang/Exception;
           36   37     3           errorOutput  Lorg/flywaydb/core/internal/output/ErrorOutput;
      Exception table:
        from    to  target  type
           2     8      33  Class java.lang.Exception
           9    32      33  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  private static void makeRelativeLocationsBasedOnWorkingDirectory(org.flywaydb.commandline.CommandLineArguments, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
        start local 1 // java.util.Map config
         0: .line 143
            aload 1 /* config */
            ldc "flyway.locations"
            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;
            astore 2 /* locations */
        start local 2 // java.lang.String[] locations
         1: .line 144
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 10
         3: .line 145
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* locations */
            iload 3 /* i */
            aaload
            ldc "filesystem:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         4: .line 146
            aload 2 /* locations */
            iload 3 /* i */
            aaload
            ldc "filesystem:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* newLocation */
        start local 4 // java.lang.String newLocation
         5: .line 147
            new java.io.File
            dup
            aload 4 /* newLocation */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* file */
        start local 5 // java.io.File file
         6: .line 148
            aload 5 /* file */
            invokevirtual java.io.File.isAbsolute:()Z
            ifne 8
         7: .line 149
            new java.io.File
            dup
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getWorkingDirectory:()Ljava/lang/String;
            aload 4 /* newLocation */
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* file */
         8: .line 151
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
            aload 2 /* locations */
            iload 3 /* i */
            new java.lang.StringBuilder
            dup
            ldc "filesystem:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 5 // java.io.File file
        end local 4 // java.lang.String newLocation
         9: .line 144
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 2 /* locations */
            arraylength
            if_icmplt 3
        end local 3 // int i
        11: .line 155
            aload 1 /* config */
            ldc "flyway.locations"
            aload 2 /* locations */
            invokestatic org.flywaydb.core.internal.util.StringUtils.arrayToCommaDelimitedString:([Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 156
            return
        end local 2 // java.lang.String[] locations
        end local 1 // java.util.Map config
        end local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0  commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
            0   13     1                config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   13     2             locations  [Ljava/lang/String;
            2   11     3                     i  I
            5    9     4           newLocation  Ljava/lang/String;
            6    9     5                  file  Ljava/io/File;
    Signature: (Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
                      Name  Flags
      commandLineArguments  
      config                

  private static java.util.Map<java.lang.String, java.lang.String> overrideConfiguration(java.util.Map<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.Map existingConfiguration
        start local 1 // java.util.Map newConfiguration
         0: .line 159
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* combinedConfiguration */
        start local 2 // java.util.Map combinedConfiguration
         1: .line 161
            aload 2 /* combinedConfiguration */
            aload 0 /* existingConfiguration */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         2: .line 162
            aload 2 /* combinedConfiguration */
            aload 1 /* newConfiguration */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         3: .line 164
            aload 2 /* combinedConfiguration */
            areturn
        end local 2 // java.util.Map combinedConfiguration
        end local 1 // java.util.Map newConfiguration
        end local 0 // java.util.Map existingConfiguration
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    4     0  existingConfiguration  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    4     1       newConfiguration  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    4     2  combinedConfiguration  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                       Name  Flags
      existingConfiguration  
      newConfiguration       

  static java.lang.String getMessageFromException(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Exception e
         0: .line 169
            aload 0 /* e */
            instanceof org.flywaydb.core.api.FlywayException
            ifeq 2
         1: .line 170
            aload 0 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            areturn
         2: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Exception e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/Exception;
    MethodParameters:
      Name  Flags
      e     

  private static void executeOperation(org.flywaydb.core.Flyway, java.lang.String, org.flywaydb.commandline.CommandLineArguments);
    descriptor: (Lorg/flywaydb/core/Flyway;Ljava/lang/String;Lorg/flywaydb/commandline/CommandLineArguments;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.flywaydb.core.Flyway flyway
        start local 1 // java.lang.String operation
        start local 2 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
         0: .line 184
            ldc "clean"
            aload 1 /* operation */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 185
            aload 0 /* flyway */
            invokevirtual org.flywaydb.core.Flyway.clean:()V
         2: .line 186
            goto 36
      StackMap locals:
      StackMap stack:
         3: ldc "baseline"
            aload 1 /* operation */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 187
            aload 0 /* flyway */
            invokevirtual org.flywaydb.core.Flyway.baseline:()V
         5: .line 188
            goto 36
      StackMap locals:
      StackMap stack:
         6: ldc "migrate"
            aload 1 /* operation */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 189
            aload 0 /* flyway */
            invokevirtual org.flywaydb.core.Flyway.migrate:()I
            pop
         8: .line 190
            goto 36
      StackMap locals:
      StackMap stack:
         9: ldc "undo"
            aload 1 /* operation */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 191
            aload 0 /* flyway */
            invokevirtual org.flywaydb.core.Flyway.undo:()I
            pop
        11: .line 192
            goto 36
      StackMap locals:
      StackMap stack:
        12: ldc "validate"
            aload 1 /* operation */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 193
            aload 0 /* flyway */
            invokevirtual org.flywaydb.core.Flyway.validate:()V
        14: .line 194
            goto 36
      StackMap locals:
      StackMap stack:
        15: ldc "info"
            aload 1 /* operation */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        16: .line 195
            aload 0 /* flyway */
            invokevirtual org.flywaydb.core.Flyway.info:()Lorg/flywaydb/core/api/MigrationInfoService;
            astore 3 /* info */
        start local 3 // org.flywaydb.core.api.MigrationInfoService info
        17: .line 196
            aload 3 /* info */
            invokeinterface org.flywaydb.core.api.MigrationInfoService.current:()Lorg/flywaydb/core/api/MigrationInfo;
            astore 4 /* current */
        start local 4 // org.flywaydb.core.api.MigrationInfo current
        18: .line 197
            aload 4 /* current */
            ifnonnull 19
            getstatic org.flywaydb.core.api.MigrationVersion.EMPTY:Lorg/flywaydb/core/api/MigrationVersion;
            goto 20
      StackMap locals: org.flywaydb.core.api.MigrationInfoService org.flywaydb.core.api.MigrationInfo
      StackMap stack:
        19: aload 4 /* current */
            invokeinterface org.flywaydb.core.api.MigrationInfo.getVersion:()Lorg/flywaydb/core/api/MigrationVersion;
      StackMap locals:
      StackMap stack: org.flywaydb.core.api.MigrationVersion
        20: astore 5 /* currentSchemaVersion */
        start local 5 // org.flywaydb.core.api.MigrationVersion currentSchemaVersion
        21: .line 199
            aload 5 /* currentSchemaVersion */
            ifnonnull 22
            getstatic org.flywaydb.core.api.MigrationVersion.EMPTY:Lorg/flywaydb/core/api/MigrationVersion;
            goto 23
      StackMap locals: org.flywaydb.core.api.MigrationVersion
      StackMap stack:
        22: aload 5 /* currentSchemaVersion */
      StackMap locals:
      StackMap stack: org.flywaydb.core.api.MigrationVersion
        23: astore 6 /* schemaVersionToOutput */
        start local 6 // org.flywaydb.core.api.MigrationVersion schemaVersionToOutput
        24: .line 200
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Schema version: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* schemaVersionToOutput */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        25: .line 201
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc ""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        26: .line 202
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            aload 3 /* info */
            invokeinterface org.flywaydb.core.api.MigrationInfoService.all:()[Lorg/flywaydb/core/api/MigrationInfo;
            invokestatic org.flywaydb.core.internal.info.MigrationInfoDumper.dumpToAsciiTable:([Lorg/flywaydb/core/api/MigrationInfo;)Ljava/lang/String;
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        27: .line 204
            aload 2 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.shouldOutputJson:()Z
            ifeq 36
        28: .line 205
            aload 2 /* commandLineArguments */
            aload 3 /* info */
            invokeinterface org.flywaydb.core.api.MigrationInfoService.getInfoOutput:()Lorg/flywaydb/core/internal/output/InfoOutput;
            invokestatic org.flywaydb.commandline.Main.printJson:(Lorg/flywaydb/commandline/CommandLineArguments;Ljava/lang/Object;)V
        end local 6 // org.flywaydb.core.api.MigrationVersion schemaVersionToOutput
        end local 5 // org.flywaydb.core.api.MigrationVersion currentSchemaVersion
        end local 4 // org.flywaydb.core.api.MigrationInfo current
        end local 3 // org.flywaydb.core.api.MigrationInfoService info
        29: .line 207
            goto 36
      StackMap locals:
      StackMap stack:
        30: ldc "repair"
            aload 1 /* operation */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 208
            aload 0 /* flyway */
            invokevirtual org.flywaydb.core.Flyway.repair:()V
        32: .line 209
            goto 36
        33: .line 210
      StackMap locals:
      StackMap stack:
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Invalid operation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* operation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.flywaydb.core.api.logging.Log.error:(Ljava/lang/String;)V
        34: .line 211
            invokestatic org.flywaydb.commandline.Main.printUsage:()V
        35: .line 212
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        36: .line 214
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
        end local 1 // java.lang.String operation
        end local 0 // org.flywaydb.core.Flyway flyway
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   37     0                 flyway  Lorg/flywaydb/core/Flyway;
            0   37     1              operation  Ljava/lang/String;
            0   37     2   commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
           17   29     3                   info  Lorg/flywaydb/core/api/MigrationInfoService;
           18   29     4                current  Lorg/flywaydb/core/api/MigrationInfo;
           21   29     5   currentSchemaVersion  Lorg/flywaydb/core/api/MigrationVersion;
           24   29     6  schemaVersionToOutput  Lorg/flywaydb/core/api/MigrationVersion;
    MethodParameters:
                      Name  Flags
      flyway                
      operation             
      commandLineArguments  

  private static void printJson(org.flywaydb.commandline.CommandLineArguments, java.lang.Object);
    descriptor: (Lorg/flywaydb/commandline/CommandLineArguments;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
        start local 1 // java.lang.Object object
         0: .line 217
            aload 1 /* object */
            invokestatic org.flywaydb.commandline.Main.convertObjectToJsonString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* json */
        start local 2 // java.lang.String json
         1: .line 219
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.isOutputFileSet:()Z
            ifeq 8
         2: .line 220
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getOutputFile:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* path */
        start local 3 // java.nio.file.Path path
         3: .line 221
            aload 2 /* json */
            invokevirtual java.lang.String.getBytes:()[B
            astore 4 /* bytes */
        start local 4 // byte[] bytes
         4: .line 224
            aload 3 /* path */
            aload 4 /* bytes */
            iconst_3
            anewarray java.nio.file.OpenOption
            dup
            iconst_0
            getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_1
            getstatic java.nio.file.StandardOpenOption.TRUNCATE_EXISTING:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_2
            getstatic java.nio.file.StandardOpenOption.CREATE: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
         5: .line 225
            goto 8
      StackMap locals: org.flywaydb.commandline.CommandLineArguments java.lang.Object java.lang.String java.nio.file.Path byte[]
      StackMap stack: java.io.IOException
         6: astore 5 /* e */
        start local 5 // java.io.IOException e
         7: .line 226
            new org.flywaydb.core.api.FlywayException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not write to output file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getOutputFile:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokespecial org.flywaydb.core.api.FlywayException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        end local 4 // byte[] bytes
        end local 3 // java.nio.file.Path path
         8: .line 230
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 2 /* json */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 231
            return
        end local 2 // java.lang.String json
        end local 1 // java.lang.Object object
        end local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0  commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
            0   10     1                object  Ljava/lang/Object;
            1   10     2                  json  Ljava/lang/String;
            3    8     3                  path  Ljava/nio/file/Path;
            4    8     4                 bytes  [B
            7    8     5                     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
    MethodParameters:
                      Name  Flags
      commandLineArguments  
      object                

  private static java.lang.String convertObjectToJsonString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object object
         0: .line 234
            new com.google.gson.GsonBuilder
            dup
            invokespecial com.google.gson.GsonBuilder.<init>:()V
            invokevirtual com.google.gson.GsonBuilder.setPrettyPrinting:()Lcom/google/gson/GsonBuilder;
            invokevirtual com.google.gson.GsonBuilder.disableHtmlEscaping:()Lcom/google/gson/GsonBuilder;
            invokevirtual com.google.gson.GsonBuilder.create:()Lcom/google/gson/Gson;
            astore 1 /* gson */
        start local 1 // com.google.gson.Gson gson
         1: .line 235
            aload 1 /* gson */
            aload 0 /* object */
            invokevirtual com.google.gson.Gson.toJson:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // com.google.gson.Gson gson
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  object  Ljava/lang/Object;
            1    2     1    gson  Lcom/google/gson/Gson;
    MethodParameters:
        Name  Flags
      object  

  private static void initializeDefaults(java.util.Map<java.lang.String, java.lang.String>, org.flywaydb.commandline.CommandLineArguments);
    descriptor: (Ljava/util/Map;Lorg/flywaydb/commandline/CommandLineArguments;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.util.Map config
        start local 1 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
         0: .line 245
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.isWorkingDirectorySet:()Z
            ifeq 1
            aload 1 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getWorkingDirectory:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic org.flywaydb.commandline.Main.getInstallationDir:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 2 /* workingDirectory */
        start local 2 // java.lang.String workingDirectory
         3: .line 247
            aload 0 /* config */
            ldc "flyway.locations"
            new java.lang.StringBuilder
            dup
            ldc "filesystem:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.io.File
            dup
            aload 2 /* workingDirectory */
            ldc "sql"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 248
            aload 0 /* config */
            ldc "flyway.jarDirs"
            new java.io.File
            dup
            aload 2 /* workingDirectory */
            ldc "jars"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 249
            return
        end local 2 // java.lang.String workingDirectory
        end local 1 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
        end local 0 // java.util.Map config
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    6     1  commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
            3    6     2      workingDirectory  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lorg/flywaydb/commandline/CommandLineArguments;)V
    MethodParameters:
                      Name  Flags
      config                
      commandLineArguments  

  private static void filterProperties(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Map config
         0: .line 258
            aload 0 /* config */
            ldc "flyway.jarDirs"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 259
            aload 0 /* config */
            ldc "flyway.configFiles"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 260
            aload 0 /* config */
            ldc "flyway.configFileEncoding"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 261
            return
        end local 0 // java.util.Map config
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      config  

  private static void printVersion();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 267
            invokestatic org.flywaydb.core.internal.license.VersionPrinter.printVersionOnly:()V
         1: .line 268
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc ""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         2: .line 270
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Java "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "java.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "java.vendor"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.flywaydb.core.api.logging.Log.debug:(Ljava/lang/String;)V
         3: .line 271
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)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;
            ldc "os.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "os.arch"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.flywaydb.core.api.logging.Log.debug:(Ljava/lang/String;)V
         4: .line 272
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void printUsage();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 278
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Usage"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         1: .line 279
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "====="
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         2: .line 280
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc ""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         3: .line 281
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "flyway [options] command"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         4: .line 282
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc ""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         5: .line 283
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "By default, the configuration will be read from conf/flyway.conf."
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         6: .line 284
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Options passed from the command-line override the configuration."
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         7: .line 285
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc ""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         8: .line 286
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Commands"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
         9: .line 287
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "--------"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        10: .line 288
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "migrate  : Migrates the database"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        11: .line 289
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "clean    : Drops all objects in the configured schemas"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        12: .line 290
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "info     : Prints the information about applied, current and pending migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        13: .line 291
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "validate : Validates the applied migrations against the ones on the classpath"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        14: .line 292
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "undo     : [pro] Undoes the most recently applied versioned migration"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        15: .line 293
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "baseline : Baselines an existing database at the baselineVersion"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        16: .line 294
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "repair   : Repairs the schema history table"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        17: .line 295
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc ""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        18: .line 296
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Options (Format: -key=value)"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        19: .line 297
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-------"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        20: .line 298
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "driver                       : Fully qualified classname of the JDBC driver"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        21: .line 299
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "url                          : Jdbc url to use to connect to the database"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        22: .line 300
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "user                         : User to use to connect to the database"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        23: .line 301
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "password                     : Password to use to connect to the database"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        24: .line 302
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "connectRetries               : Maximum number of retries when attempting to connect to the database"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        25: .line 303
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "initSql                      : SQL statements to run to initialize a new database connection"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        26: .line 304
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "schemas                      : Comma-separated list of the schemas managed by Flyway"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        27: .line 305
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "table                        : Name of Flyway's schema history table"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        28: .line 306
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "locations                    : Classpath locations to scan recursively for migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        29: .line 307
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "resolvers                    : Comma-separated list of custom MigrationResolvers"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        30: .line 308
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "skipDefaultResolvers         : Skips default resolvers (jdbc, sql and Spring-jdbc)"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        31: .line 309
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "sqlMigrationPrefix           : File name prefix for versioned SQL migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        32: .line 310
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "undoSqlMigrationPrefix       : [pro] File name prefix for undo SQL migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        33: .line 311
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "repeatableSqlMigrationPrefix : File name prefix for repeatable SQL migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        34: .line 312
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "sqlMigrationSeparator        : File name separator for SQL migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        35: .line 313
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "sqlMigrationSuffixes         : Comma-separated list of file name suffixes for SQL migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        36: .line 314
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "stream                       : [pro] Stream SQL migrations when executing them"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        37: .line 315
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "batch                        : [pro] Batch SQL statements when executing them"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        38: .line 316
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "mixed                        : Allow mixing transactional and non-transactional statements"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        39: .line 317
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "encoding                     : Encoding of SQL migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        40: .line 318
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "placeholderReplacement       : Whether placeholders should be replaced"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        41: .line 319
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "placeholders                 : Placeholders to replace in sql migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        42: .line 320
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "placeholderPrefix            : Prefix of every placeholder"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        43: .line 321
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "placeholderSuffix            : Suffix of every placeholder"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        44: .line 322
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "installedBy                  : Username that will be recorded in the schema history table"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        45: .line 323
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "target                       : Target version up to which Flyway should use migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        46: .line 324
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "outOfOrder                   : Allows migrations to be run \"out of order\""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        47: .line 325
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "callbacks                    : Comma-separated list of FlywayCallback classes"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        48: .line 326
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "skipDefaultCallbacks         : Skips default callbacks (sql)"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        49: .line 327
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "validateOnMigrate            : Validate when running migrate"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        50: .line 328
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "validateMigrationNaming      : Validate file names of SQL migrations (including callbacks)"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        51: .line 329
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "ignoreMissingMigrations      : Allow missing migrations when validating"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        52: .line 330
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "ignoreIgnoredMigrations      : Allow ignored migrations when validating"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        53: .line 331
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "ignorePendingMigrations      : Allow pending migrations when validating"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        54: .line 332
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "ignoreFutureMigrations       : Allow future migrations when validating"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        55: .line 333
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "cleanOnValidationError       : Automatically clean on a validation error"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        56: .line 334
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "cleanDisabled                : Whether to disable clean"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        57: .line 335
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "baselineVersion              : Version to tag schema with when executing baseline"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        58: .line 336
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "baselineDescription          : Description to tag schema with when executing baseline"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        59: .line 337
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "baselineOnMigrate            : Baseline on migrate against uninitialized non-empty schema"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        60: .line 338
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "configFiles                  : Comma-separated list of config files to use"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        61: .line 339
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "configFileEncoding           : Encoding to use when loading the config files"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        62: .line 340
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "jarDirs                      : Comma-separated list of dirs for Jdbc drivers & Java migrations"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        63: .line 341
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "dryRunOutput                 : [pro] File where to output the SQL statements of a migration dry run"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        64: .line 342
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "errorOverrides               : [pro] Rules to override specific SQL states and errors codes"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        65: .line 343
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "oracle.sqlplus               : [pro] Enable Oracle SQL*Plus command support"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        66: .line 344
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "licenseKey                   : [pro] Your Flyway license key"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        67: .line 345
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "color                        : Whether to colorize output. Values: always, never, or auto (default)"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        68: .line 346
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "outputFile                   : Send output to the specified file alongside the console"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        69: .line 347
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc ""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        70: .line 348
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Flags"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        71: .line 349
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-----"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        72: .line 350
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-X          : Print debug output"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        73: .line 351
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-q          : Suppress all output, except for errors and warnings"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        74: .line 352
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-n          : Suppress prompting for a user and password"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        75: .line 353
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-v          : Print the Flyway version and exit"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        76: .line 354
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-?          : Print this usage info and exit"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        77: .line 355
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-json       : Print the output in JSON format"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        78: .line 356
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-community  : Run the Flyway Community Edition (default)"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        79: .line 357
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-pro        : Run the Flyway Pro Edition"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        80: .line 358
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-enterprise : Run the Flyway Enterprise Edition"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        81: .line 359
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc ""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        82: .line 360
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Example"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        83: .line 361
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "-------"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        84: .line 362
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "flyway -user=myuser -password=s3cr3t -url=jdbc:h2:mem -placeholders.abc=def migrate"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        85: .line 363
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc ""
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        86: .line 364
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "More info at https://flywaydb.org/documentation/commandline"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        87: .line 365
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.List<java.io.File> getJdbcDriverJarFiles();
    descriptor: ()Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 373
            new java.io.File
            dup
            invokestatic org.flywaydb.commandline.Main.getInstallationDir:()Ljava/lang/String;
            ldc "drivers"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 0 /* driversDir */
        start local 0 // java.io.File driversDir
         1: .line 374
            aload 0 /* driversDir */
            new org.flywaydb.commandline.Main$1
            dup
            invokespecial org.flywaydb.commandline.Main$1.<init>:()V
            invokevirtual java.io.File.listFiles:(Ljava/io/FilenameFilter;)[Ljava/io/File;
            astore 1 /* files */
        start local 1 // java.io.File[] files
         2: .line 381
            aload 1 /* files */
            ifnonnull 5
         3: .line 382
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Directory for Jdbc Drivers not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* driversDir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.flywaydb.core.api.logging.Log.debug:(Ljava/lang/String;)V
         4: .line 383
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         5: .line 386
      StackMap locals: java.io.File java.io.File[]
      StackMap stack:
            aload 1 /* files */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 1 // java.io.File[] files
        end local 0 // java.io.File driversDir
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    6     0  driversDir  Ljava/io/File;
            2    6     1       files  [Ljava/io/File;
    Signature: ()Ljava/util/List<Ljava/io/File;>;

  private static java.util.List<java.io.File> getJavaMigrationJarFiles(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // java.util.Map config
         0: .line 396
            aload 0 /* config */
            ldc "flyway.jarDirs"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* jarDirs */
        start local 1 // java.lang.String jarDirs
         1: .line 397
            aload 1 /* jarDirs */
            invokestatic org.flywaydb.core.internal.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifne 3
         2: .line 398
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         3: .line 401
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* jarDirs */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 1 /* jarDirs */
         4: .line 402
            aload 1 /* jarDirs */
            ldc ","
            invokestatic org.flywaydb.core.internal.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* dirs */
        start local 2 // java.lang.String[] dirs
         5: .line 404
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* jarFiles */
        start local 3 // java.util.List jarFiles
         6: .line 405
            aload 2 /* dirs */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 15
      StackMap locals: java.util.Map java.lang.String java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
         7: aload 7
            iload 5
            aaload
            astore 4 /* dirName */
        start local 4 // java.lang.String dirName
         8: .line 406
            new java.io.File
            dup
            aload 4 /* dirName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 8 /* dir */
        start local 8 // java.io.File dir
         9: .line 407
            aload 8 /* dir */
            new org.flywaydb.commandline.Main$2
            dup
            invokespecial org.flywaydb.commandline.Main$2.<init>:()V
            invokevirtual java.io.File.listFiles:(Ljava/io/FilenameFilter;)[Ljava/io/File;
            astore 9 /* files */
        start local 9 // java.io.File[] files
        10: .line 414
            aload 9 /* files */
            ifnonnull 13
        11: .line 415
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Directory for Java Migrations not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* dirName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.flywaydb.core.api.logging.Log.error:(Ljava/lang/String;)V
        12: .line 416
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        13: .line 419
      StackMap locals: java.util.Map java.lang.String java.lang.String[] java.util.List java.lang.String int int java.lang.String[] java.io.File java.io.File[]
      StackMap stack:
            aload 3 /* jarFiles */
            aload 9 /* files */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 9 // java.io.File[] files
        end local 8 // java.io.File dir
        end local 4 // java.lang.String dirName
        14: .line 405
            iinc 5 1
      StackMap locals: java.util.Map java.lang.String java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
        15: iload 5
            iload 6
            if_icmplt 7
        16: .line 422
            aload 3 /* jarFiles */
            areturn
        end local 3 // java.util.List jarFiles
        end local 2 // java.lang.String[] dirs
        end local 1 // java.lang.String jarDirs
        end local 0 // java.util.Map config
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0    config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   17     1   jarDirs  Ljava/lang/String;
            5   17     2      dirs  [Ljava/lang/String;
            6   17     3  jarFiles  Ljava/util/List<Ljava/io/File;>;
            8   14     4   dirName  Ljava/lang/String;
            9   14     8       dir  Ljava/io/File;
           10   14     9     files  [Ljava/io/File;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/List<Ljava/io/File;>;
    MethodParameters:
        Name  Flags
      config  

  static void loadConfigurationFromConfigFiles(java.util.Map<java.lang.String, java.lang.String>, org.flywaydb.commandline.CommandLineArguments, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.util.Map config
        start local 1 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
        start local 2 // java.util.Map envVars
         0: .line 434
            aload 1 /* commandLineArguments */
            aload 2 /* envVars */
            invokestatic org.flywaydb.commandline.Main.determineConfigurationFileEncoding:(Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map;)Ljava/lang/String;
            astore 3 /* encoding */
        start local 3 // java.lang.String encoding
         1: .line 435
            new java.io.File
            dup
            invokestatic org.flywaydb.commandline.Main.getInstallationDir:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* installationDir */
        start local 4 // java.io.File installationDir
         2: .line 437
            aload 0 /* config */
            aload 4 /* installationDir */
            aload 3 /* encoding */
            invokestatic org.flywaydb.core.internal.configuration.ConfigUtils.loadDefaultConfigurationFiles:(Ljava/io/File;Ljava/lang/String;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         3: .line 439
            aload 1 /* commandLineArguments */
            aload 2 /* envVars */
            invokestatic org.flywaydb.commandline.Main.determineConfigFilesFromArgs:(Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: java.util.Map org.flywaydb.commandline.CommandLineArguments java.util.Map java.lang.String java.io.File top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 5 /* configFile */
        start local 5 // java.io.File configFile
         5: .line 440
            aload 0 /* config */
            aload 5 /* configFile */
            aload 3 /* encoding */
            iconst_1
            invokestatic org.flywaydb.core.internal.configuration.ConfigUtils.loadConfigurationFile:(Ljava/io/File;Ljava/lang/String;Z)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        end local 5 // java.io.File configFile
         6: .line 439
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 443
            aload 0 /* config */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic org.flywaydb.commandline.Main.readConfigFromInputStream:(Ljava/io/InputStream;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         8: .line 444
            return
        end local 4 // java.io.File installationDir
        end local 3 // java.lang.String encoding
        end local 2 // java.util.Map envVars
        end local 1 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
        end local 0 // java.util.Map config
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0                config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    9     1  commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
            0    9     2               envVars  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    9     3              encoding  Ljava/lang/String;
            2    9     4       installationDir  Ljava/io/File;
            5    6     5            configFile  Ljava/io/File;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
                      Name  Flags
      config                
      commandLineArguments  
      envVars               

  private static java.util.Map<java.lang.String, java.lang.String> readConfigFromInputStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.io.InputStream inputStream
         0: .line 447
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* config */
        start local 1 // java.util.Map config
         1: .line 452
            aload 0 /* inputStream */
            ifnull 16
            aload 0 /* inputStream */
            invokevirtual java.io.InputStream.available:()I
            ifle 16
         2: .line 453
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 0 /* inputStream */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* bufferedReader */
        start local 2 // java.io.BufferedReader bufferedReader
         3: .line 455
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Attempting to load configuration from standard input"
            invokeinterface org.flywaydb.core.api.logging.Log.debug:(Ljava/lang/String;)V
         4: .line 457
            aload 2 /* bufferedReader */
            invokevirtual java.io.BufferedReader.ready:()Z
            ifeq 12
         5: .line 458
            aload 2 /* bufferedReader */
            invokestatic org.flywaydb.core.internal.configuration.ConfigUtils.readConfiguration:(Ljava/io/Reader;)Ljava/util/Map;
            astore 3 /* configurationFromStandardInput */
        start local 3 // java.util.Map configurationFromStandardInput
         6: .line 460
            aload 3 /* configurationFromStandardInput */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 9
         7: .line 461
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Empty configuration provided from standard input"
            invokeinterface org.flywaydb.core.api.logging.Log.debug:(Ljava/lang/String;)V
         8: .line 462
            goto 16
         9: .line 463
      StackMap locals: java.util.Map java.io.BufferedReader java.util.Map
      StackMap stack:
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Loaded configuration from standard input"
            invokeinterface org.flywaydb.core.api.logging.Log.info:(Ljava/lang/String;)V
        10: .line 464
            aload 1 /* config */
            aload 3 /* configurationFromStandardInput */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        end local 3 // java.util.Map configurationFromStandardInput
        11: .line 466
            goto 16
        12: .line 467
      StackMap locals:
      StackMap stack:
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            ldc "Could not load configuration from standard input"
            invokeinterface org.flywaydb.core.api.logging.Log.debug:(Ljava/lang/String;)V
        end local 2 // java.io.BufferedReader bufferedReader
        13: .line 470
            goto 16
      StackMap locals: java.io.InputStream java.util.Map
      StackMap stack: java.lang.Exception
        14: astore 2 /* e */
        start local 2 // java.lang.Exception e
        15: .line 471
            getstatic org.flywaydb.commandline.Main.LOG:Lorg/flywaydb/core/api/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Could not load configuration from standard input "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.flywaydb.core.api.logging.Log.debug:(Ljava/lang/String;)V
        end local 2 // java.lang.Exception e
        16: .line 474
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            areturn
        end local 1 // java.util.Map config
        end local 0 // java.io.InputStream inputStream
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   17     0                     inputStream  Ljava/io/InputStream;
            1   17     1                          config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3   13     2                  bufferedReader  Ljava/io/BufferedReader;
            6   11     3  configurationFromStandardInput  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           15   16     2                               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    13      14  Class java.lang.Exception
    Signature: (Ljava/io/InputStream;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      inputStream  

  private static void promptForCredentialsIfMissing(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.util.Map config
         0: .line 484
            invokestatic java.lang.System.console:()Ljava/io/Console;
            astore 1 /* console */
        start local 1 // java.io.Console console
         1: .line 485
            aload 1 /* console */
            ifnonnull 3
         2: .line 487
            return
         3: .line 490
      StackMap locals: java.io.Console
      StackMap stack:
            aload 0 /* config */
            ldc "flyway.url"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 492
            return
         5: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* config */
            ldc "flyway.url"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* url */
        start local 2 // java.lang.String url
         6: .line 496
            aload 0 /* config */
            ldc "flyway.user"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 8
            aload 2 /* url */
            invokestatic org.flywaydb.commandline.Main.needsUser:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 497
            aload 0 /* config */
            ldc "flyway.user"
            aload 1 /* console */
            ldc "Database user: "
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.io.Console.readLine:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 500
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* config */
            ldc "flyway.password"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 13
            aload 2 /* url */
            invokestatic org.flywaydb.commandline.Main.needsPassword:(Ljava/lang/String;)Z
            ifeq 13
         9: .line 501
            aload 1 /* console */
            ldc "Database password: "
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.io.Console.readPassword:(Ljava/lang/String;[Ljava/lang/Object;)[C
            astore 3 /* password */
        start local 3 // char[] password
        10: .line 502
            aload 0 /* config */
            ldc "flyway.password"
            aload 3 /* password */
            ifnonnull 11
            ldc ""
            goto 12
      StackMap locals: java.util.Map java.io.Console java.lang.String char[]
      StackMap stack: java.util.Map java.lang.String
        11: aload 3 /* password */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
      StackMap locals: java.util.Map java.io.Console java.lang.String char[]
      StackMap stack: java.util.Map java.lang.String java.lang.String
        12: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // char[] password
        13: .line 504
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String url
        end local 1 // java.io.Console console
        end local 0 // java.util.Map config
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0    config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   14     1   console  Ljava/io/Console;
            6   14     2       url  Ljava/lang/String;
           10   13     3  password  [C
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      config  

  private static boolean needsUser(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 510
            aload 0 /* url */
            invokestatic org.flywaydb.core.internal.jdbc.DriverDataSource.detectUserRequiredByUrl:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  private static boolean needsPassword(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 517
            aload 0 /* url */
            invokestatic org.flywaydb.core.internal.jdbc.DriverDataSource.detectPasswordRequiredByUrl:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  private static java.util.List<java.io.File> determineConfigFilesFromArgs(org.flywaydb.commandline.CommandLineArguments, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
        start local 1 // java.util.Map envVars
         0: .line 528
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* configFiles */
        start local 2 // java.util.List configFiles
         1: .line 530
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.isWorkingDirectorySet:()Z
            ifeq 2
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getWorkingDirectory:()Ljava/lang/String;
            goto 3
      StackMap locals: java.util.List
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 3 /* workingDirectory */
        start local 3 // java.lang.String workingDirectory
         4: .line 532
            aload 1 /* envVars */
            ldc "flyway.configFiles"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 11
         5: .line 533
            aload 1 /* envVars */
            ldc "flyway.configFiles"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            ldc ","
            invokestatic org.flywaydb.core.internal.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: org.flywaydb.commandline.CommandLineArguments java.util.Map java.util.List java.lang.String top int int java.lang.String[]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* file */
        start local 4 // java.lang.String file
         7: .line 534
            aload 2 /* configFiles */
            new java.io.File
            dup
            aload 3 /* workingDirectory */
            aload 4 /* file */
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String file
         8: .line 533
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 6
        10: .line 536
            aload 2 /* configFiles */
            areturn
        11: .line 540
      StackMap locals: org.flywaydb.commandline.CommandLineArguments java.util.Map java.util.List java.lang.String
      StackMap stack:
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getConfigFiles:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: org.flywaydb.commandline.CommandLineArguments java.util.Map java.util.List java.lang.String top java.util.Iterator
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* file */
        start local 4 // java.lang.String file
        13: .line 541
            aload 2 /* configFiles */
            new java.io.File
            dup
            aload 3 /* workingDirectory */
            aload 4 /* file */
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String file
        14: .line 540
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 544
            aload 2 /* configFiles */
            areturn
        end local 3 // java.lang.String workingDirectory
        end local 2 // java.util.List configFiles
        end local 1 // java.util.Map envVars
        end local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   16     0  commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
            0   16     1               envVars  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   16     2           configFiles  Ljava/util/List<Ljava/io/File;>;
            4   16     3      workingDirectory  Ljava/lang/String;
            7    8     4                  file  Ljava/lang/String;
           13   14     4                  file  Ljava/lang/String;
    Signature: (Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/List<Ljava/io/File;>;
    MethodParameters:
                      Name  Flags
      commandLineArguments  
      envVars               

  private static java.lang.String getInstallationDir();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 552
            ldc Lorg/flywaydb/commandline/Main;
            invokestatic org.flywaydb.core.internal.util.ClassUtils.getLocationOnDisk:(Ljava/lang/Class;)Ljava/lang/String;
            astore 0 /* path */
        start local 0 // java.lang.String path
         1: .line 553
            new java.io.File
            dup
            aload 0 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
         2: .line 554
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
         3: .line 555
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
         4: .line 556
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
         5: .line 557
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
         6: .line 553
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    7     0  path  Ljava/lang/String;

  private static java.lang.String determineConfigurationFileEncoding(org.flywaydb.commandline.CommandLineArguments, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
        start local 1 // java.util.Map envVars
         0: .line 568
            aload 1 /* envVars */
            ldc "flyway.configFileEncoding"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 569
            aload 1 /* envVars */
            ldc "flyway.configFileEncoding"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
         2: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.isConfigFileEncodingSet:()Z
            ifeq 4
         3: .line 573
            aload 0 /* commandLineArguments */
            invokevirtual org.flywaydb.commandline.CommandLineArguments.getConfigFileEncoding:()Ljava/lang/String;
            areturn
         4: .line 576
      StackMap locals:
      StackMap stack:
            ldc "UTF-8"
            areturn
        end local 1 // java.util.Map envVars
        end local 0 // org.flywaydb.commandline.CommandLineArguments commandLineArguments
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0  commandLineArguments  Lorg/flywaydb/commandline/CommandLineArguments;
            0    5     1               envVars  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Lorg/flywaydb/commandline/CommandLineArguments;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                      Name  Flags
      commandLineArguments  
      envVars               
}
SourceFile: "Main.java"
NestMembers:
  org.flywaydb.commandline.Main$1  org.flywaydb.commandline.Main$2
InnerClasses:
  public final Level = org.flywaydb.commandline.ConsoleLog$Level of org.flywaydb.commandline.ConsoleLog
  org.flywaydb.commandline.Main$1
  org.flywaydb.commandline.Main$2