package com.l7tech.common.io;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Map;

public class JarSignerParams {
   private Map<JarSignerParams.Option, String> a = new LinkedHashMap<>();
   private String b;
   private static final String[] c;

   public JarSignerParams(String var1, String var2, String var3, String var4) {
      this.a.put(JarSignerParams.Option.KEYSTORE, var1);
      this.a.put(JarSignerParams.Option.STOREPASS, var2);
      this.a.put(JarSignerParams.Option.KEYPASS, var4);
      this.b = var3;
   }

   public JarSignerParams(Map<JarSignerParams.Option, String> param1, String param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: invokespecial java/lang/Object.<init> ()V
      // 04: aload 0
      // 05: new java/util/LinkedHashMap
      // 08: dup
      // 09: invokespecial java/util/LinkedHashMap.<init> ()V
      // 0c: putfield com/l7tech/common/io/JarSignerParams.a Ljava/util/Map;
      // 0f: aload 0
      // 10: new java/util/HashMap
      // 13: dup
      // 14: aload 1
      // 15: invokespecial java/util/HashMap.<init> (Ljava/util/Map;)V
      // 18: putfield com/l7tech/common/io/JarSignerParams.a Ljava/util/Map;
      // 1b: aload 0
      // 1c: aload 2
      // 1d: putfield com/l7tech/common/io/JarSignerParams.b Ljava/lang/String;
      // 20: aload 2
      // 21: ifnull 2b
      // 24: aload 2
      // 25: invokevirtual java/lang/String.isEmpty ()Z
      // 28: ifeq 3c
      // 2b: new java/lang/IllegalArgumentException
      // 2e: dup
      // 2f: getstatic com/l7tech/common/io/JarSignerParams.c [Ljava/lang/String;
      // 32: bipush 0
      // 33: aaload
      // 34: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 37: athrow
      // 38: invokestatic com/l7tech/common/io/JarSignerParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 3b: athrow
      // 3c: invokestatic com/l7tech/common/io/JarSignerParams$Option.values ()[Lcom/l7tech/common/io/JarSignerParams$Option;
      // 3f: astore 3
      // 40: aload 3
      // 41: arraylength
      // 42: istore 4
      // 44: bipush 0
      // 45: istore 5
      // 47: iload 5
      // 49: iload 4
      // 4b: if_icmpge 93
      // 4e: aload 3
      // 4f: iload 5
      // 51: aaload
      // 52: astore 6
      // 54: aload 6
      // 56: invokevirtual com/l7tech/common/io/JarSignerParams$Option.isRequired ()Z
      // 59: ifeq 8d
      // 5c: aload 0
      // 5d: getfield com/l7tech/common/io/JarSignerParams.a Ljava/util/Map;
      // 60: aload 6
      // 62: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 67: ifne 8d
      // 6a: goto 71
      // 6d: invokestatic com/l7tech/common/io/JarSignerParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 70: athrow
      // 71: new java/lang/IllegalArgumentException
      // 74: dup
      // 75: aload 6
      // 77: invokevirtual com/l7tech/common/io/JarSignerParams$Option.getCommandLineArg ()Ljava/lang/String;
      // 7a: getstatic com/l7tech/common/io/JarSignerParams.c [Ljava/lang/String;
      // 7d: bipush 1
      // 7e: aaload
      // 7f: swap
      // 80: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 85: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 88: athrow
      // 89: invokestatic com/l7tech/common/io/JarSignerParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 8c: athrow
      // 8d: iinc 5 1
      // 90: goto 47
      // 93: return
      // try (18 -> 28): 28 java/lang/IllegalArgumentException
      // try (44 -> 52): 53 java/lang/IllegalArgumentException
      // try (47 -> 66): 66 java/lang/IllegalArgumentException
   }

   public String getAlias() {
      return this.b;
   }

   public String[] getOptions() {
      ArrayList var1 = new ArrayList();

      for (JarSignerParams.Option var3 : this.a.keySet()) {
         var1.add(var3.getCommandLineArg());
         var1.add(this.a.get(var3));
      }

      return var1.toArray(new String[var1.size()]);
   }

   public String getOption(JarSignerParams.Option var1) {
      return this.a.get(var1);
   }

   private static IllegalArgumentException a(IllegalArgumentException var0) {
      return var0;
   }

   static {
      String[] var5 = new String[2];
      int var3 = 0;
      String var2 = "\u007fl9O,FtP\u007fk])H{F-%S1\u0001jGb=U!D~\u001b#gh:I,S\u007fQ-!]7RsRc.NeNjAd$ReLsF~\"R\"\u001b:";
      int var4 = "\u007fl9O,FtP\u007fk])H{F-%S1\u0001jGb=U!D~\u001b#gh:I,S\u007fQ-!]7RsRc.NeNjAd$ReLsF~\"R\"\u001b:".length();
      char var1 = 29;
      int var0 = -1;

      while (true) {
         String var10002 = a(86, a(var2.substring(++var0, var0 + var1)));
         byte var10001 = -1;
         var5[var3++] = var10002;
         if ((var0 += var1) >= var4) {
            c = var5;
            return;
         }

         var1 = var2.charAt(var0);
      }
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 76);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 99;
            case 1 -> 91;
            case 2 -> 29;
            case 3 -> 106;
            case 4 -> 19;
            case 5 -> 119;
            default -> 76;
         });
      }

      return new String(var10001).intern();
   }

   public enum Option {
      KEYSTORE,
      STORETYPE,
      STOREPASS,
      KEYPASS,
      SIGFILE,
      SIGALG,
      DIGESTALG;

      private final boolean required;
      private static final String[] a;

      public String getCommandLineArg() {
         return "-" + this.name().toLowerCase();
      }

      public boolean isRequired() {
         return this.required;
      }

      public static JarSignerParams.Option fromCommandLineArg(String var0) {
         try {
            return valueOf(var0.substring(1).toUpperCase());
         } catch (Exception var2) {
            throw new IllegalArgumentException(a[5] + var0);
         }
      }

      Option(boolean var3) {
         this.required = var3;
      }

      // $VF: Failed to inline enum fields
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      static {
         String[] var5 = new String[8];
         int var3 = 0;
         String var2 = "\u0019!>E\u0004-`\u001a0\u0006\u0019<6V\r>\u0007\u0019<6Q\b5|\t\u0019!>E\u0004)x\u0019&\u0007\u00010(G\u0000*j\u001a\u0003\u001b\u0007v-\u0010]j\u001f\u0010e2\u0010^$\u0010\u00037.\tM#\u001a\u001f-a";
         int var4 = "\u0019!>E\u0004-`\u001a0\u0006\u0019<6V\r>\u0007\u0019<6Q\b5|\t\u0019!>E\u0004)x\u0019&\u0007\u00010(G\u0000*j\u001a\u0003\u001b\u0007v-\u0010]j\u001f\u0010e2\u0010^$\u0010\u00037.\tM#\u001a\u001f-a"
            .length();
         char var1 = '\t';
         int var7 = -1;

         label24:
         while (true) {
            byte var10000 = 70;
            String var10001 = var2.substring(++var7, var7 + var1);
            byte var10002 = -1;

            while (true) {
               String var9 = a(var10000, a(var10001));
               switch (var10002) {
                  case 0:
                     var5[var3++] = var9;
                     if ((var7 += var1) >= var4) {
                        a = var5;
                        String[] var8 = a;
                        KEYSTORE = new JarSignerParams.Option(true);
                        STORETYPE = new JarSignerParams.Option(false);
                        STOREPASS = new JarSignerParams.Option(true);
                        KEYPASS = new JarSignerParams.Option(true);
                        SIGFILE = new JarSignerParams.Option(false);
                        SIGALG = new JarSignerParams.Option(false);
                        DIGESTALG = new JarSignerParams.Option(false);
                        return;
                     }

                     var1 = var2.charAt(var7);
                     break;
                  default:
                     var5[var3++] = var9;
                     if ((var7 += var1) < var4) {
                        var1 = var2.charAt(var7);
                        continue label24;
                     }

                     var2 = "\u00067/C\u00121l\b\t\t;1U\u0015*\u007f\u00015";
                     var4 = "\u00067/C\u00121l\b\t\t;1U\u0015*\u007f\u00015".length();
                     var1 = '\b';
                     var7 = -1;
               }

               var10000 = 65;
               var10001 = var2.substring(++var7, var7 + var1);
               var10002 = 0;
            }
         }
      }

      private static char[] a(String var0) {
         char[] var10000 = var0.toCharArray();
         if (var10000.length < 2) {
            var10000[0] = (char)(var10000[0] ^ 127);
         }

         return var10000;
      }

      private static String a(int var0, char[] var1) {
         int var10003 = var1.length;
         int var10002 = var0;
         char[] var10001 = var1;
         int var10000 = var10003;

         for (int var2 = 0; var10000 > var2; var2++) {
            var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
               case 0 -> 12;
               case 1 -> 51;
               case 2 -> 55;
               case 3 -> 81;
               case 4 -> 7;
               case 5 -> 63;
               default -> 127;
            });
         }

         return new String(var10001).intern();
      }
   }
}
