package com.l7tech.common.io;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
import org.jetbrains.annotations.NotNull;

public class SslSocketUtil {
   private static final Logger a;
   public static final String TLS_EMPTY_RENEGOTIATION_INFO_SCSV;
   static final String b;
   static final String c;
   private static final Pattern d;
   private static final Set<String> e;
   public static final Set<String> DEFAULT_SUPPORTED_TLS_VERSIONS;
   public static final String[] DEFAULT_SUPPORTED_TLS_VERSIONS_ARRAY;
   private static final String[] f;

   @NotNull
   public static String[] filterUnsupportedTlsVersions(@NotNull String[] param0, @NotNull String[] param1) throws UnsupportedTlsVersionsException {
      // $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: ifnonnull 0f
      // 04: bipush 0
      // 05: invokestatic com/l7tech/common/io/SslSocketUtil.a (I)V
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 0e: athrow
      // 0f: aload 1
      // 10: ifnonnull 1e
      // 13: bipush 1
      // 14: invokestatic com/l7tech/common/io/SslSocketUtil.a (I)V
      // 17: goto 1e
      // 1a: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 1d: athrow
      // 1e: aload 0
      // 1f: aload 1
      // 20: invokestatic com/l7tech/util/ArrayUtils.intersection ([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
      // 23: astore 2
      // 24: aload 0
      // 25: arraylength
      // 26: ifle 47
      // 29: aload 2
      // 2a: arraylength
      // 2b: ifne 47
      // 2e: goto 35
      // 31: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 34: athrow
      // 35: new com/l7tech/common/io/UnsupportedTlsVersionsException
      // 38: dup
      // 39: getstatic com/l7tech/common/io/SslSocketUtil.f [Ljava/lang/String;
      // 3c: bipush 10
      // 3e: aaload
      // 3f: invokespecial com/l7tech/common/io/UnsupportedTlsVersionsException.<init> (Ljava/lang/String;)V
      // 42: athrow
      // 43: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 46: athrow
      // 47: aload 2
      // 48: dup
      // 49: ifnonnull 57
      // 4c: bipush 2
      // 4d: invokestatic com/l7tech/common/io/SslSocketUtil.a (I)V
      // 50: goto 57
      // 53: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 56: athrow
      // 57: areturn
      // try (0 -> 4): 5 com/l7tech/common/io/UnsupportedTlsVersionsException
      // try (7 -> 11): 12 com/l7tech/common/io/UnsupportedTlsVersionsException
      // try (18 -> 24): 25 com/l7tech/common/io/UnsupportedTlsVersionsException
      // try (21 -> 34): 34 com/l7tech/common/io/UnsupportedTlsVersionsException
      // try (36 -> 41): 42 com/l7tech/common/io/UnsupportedTlsVersionsException
   }

   @NotNull
   public static String[] filterUnsupportedCiphers(@NotNull String[] param0, @NotNull String[] param1) throws UnsupportedTlsCiphersException {
      // $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: ifnonnull 0f
      // 04: bipush 3
      // 05: invokestatic com/l7tech/common/io/SslSocketUtil.a (I)V
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 0e: athrow
      // 0f: aload 1
      // 10: ifnonnull 1e
      // 13: bipush 4
      // 14: invokestatic com/l7tech/common/io/SslSocketUtil.a (I)V
      // 17: goto 1e
      // 1a: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 1d: athrow
      // 1e: aload 0
      // 1f: aload 1
      // 20: invokestatic com/l7tech/util/ArrayUtils.intersection ([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
      // 23: astore 2
      // 24: aload 0
      // 25: arraylength
      // 26: ifle 35
      // 29: aload 2
      // 2a: arraylength
      // 2b: ifeq 7b
      // 2e: goto 35
      // 31: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 34: athrow
      // 35: aload 0
      // 36: arraylength
      // 37: bipush 1
      // 38: if_icmpne 58
      // 3b: goto 42
      // 3e: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 41: athrow
      // 42: getstatic com/l7tech/common/io/SslSocketUtil.f [Ljava/lang/String;
      // 45: bipush 27
      // 47: aaload
      // 48: aload 0
      // 49: bipush 0
      // 4a: aaload
      // 4b: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 4e: ifne 8d
      // 51: goto 58
      // 54: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 57: athrow
      // 58: aload 2
      // 59: arraylength
      // 5a: bipush 1
      // 5b: if_icmpne 8d
      // 5e: goto 65
      // 61: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 64: athrow
      // 65: getstatic com/l7tech/common/io/SslSocketUtil.f [Ljava/lang/String;
      // 68: bipush 22
      // 6a: aaload
      // 6b: aload 2
      // 6c: bipush 0
      // 6d: aaload
      // 6e: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 71: ifeq 8d
      // 74: goto 7b
      // 77: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 7a: athrow
      // 7b: new com/l7tech/common/io/UnsupportedTlsCiphersException
      // 7e: dup
      // 7f: getstatic com/l7tech/common/io/SslSocketUtil.f [Ljava/lang/String;
      // 82: bipush 11
      // 84: aaload
      // 85: invokespecial com/l7tech/common/io/UnsupportedTlsCiphersException.<init> (Ljava/lang/String;)V
      // 88: athrow
      // 89: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 8c: athrow
      // 8d: aload 2
      // 8e: dup
      // 8f: ifnonnull 9d
      // 92: bipush 5
      // 93: invokestatic com/l7tech/common/io/SslSocketUtil.a (I)V
      // 96: goto 9d
      // 99: invokestatic com/l7tech/common/io/SslSocketUtil.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 9c: athrow
      // 9d: areturn
      // try (0 -> 4): 5 com/l7tech/common/io/UnsupportedTlsCiphersException
      // try (7 -> 11): 12 com/l7tech/common/io/UnsupportedTlsCiphersException
      // try (18 -> 24): 25 com/l7tech/common/io/UnsupportedTlsCiphersException
      // try (21 -> 31): 32 com/l7tech/common/io/UnsupportedTlsCiphersException
      // try (27 -> 42): 43 com/l7tech/common/io/UnsupportedTlsCiphersException
      // try (34 -> 49): 50 com/l7tech/common/io/UnsupportedTlsCiphersException
      // try (45 -> 60): 61 com/l7tech/common/io/UnsupportedTlsCiphersException
      // try (52 -> 70): 70 com/l7tech/common/io/UnsupportedTlsCiphersException
      // try (72 -> 77): 78 com/l7tech/common/io/UnsupportedTlsCiphersException
   }

   @NotNull
   public static String[] filterSelectedTLSVersion(String var0, @NotNull Set<String> var1) {
      try {
         if (var1 == null) {
            a(6);
         }
      } catch (UnsupportedTlsVersionsException var3) {
         throw a(var3);
      }

      try {
         if (var0 == null) {
            return new String[0];
         }
      } catch (UnsupportedTlsVersionsException var4) {
         throw a(var4);
      }

      String[] var2 = d.split(var0.trim());
      return filterSelectedTLSVersion(var2, var1);
   }

   @NotNull
   public static String[] filterSelectedTLSVersion(@NotNull String[] var0, @NotNull Set<String> var1) {
      try {
         if (var0 == null) {
            a(7);
         }
      } catch (UnsupportedTlsVersionsException var8) {
         throw a(var8);
      }

      try {
         if (var1 == null) {
            a(8);
         }
      } catch (UnsupportedTlsVersionsException var10) {
         throw a(var10);
      }

      ArrayList var2 = new ArrayList();

      for (String var6 : var0) {
         try {
            if (var1.contains(var6)) {
               var2.add(var6);
               continue;
            }
         } catch (UnsupportedTlsVersionsException var9) {
            throw a(var9);
         }

         a.log(Level.WARNING, f[25], var6);
      }

      try {
         String[] var10000 = var2.toArray(new String[var2.size()]);
         if (var10000 == null) {
            a(9);
         }

         return var10000;
      } catch (UnsupportedTlsVersionsException var7) {
         throw a(var7);
      }
   }

   @NotNull
   public static String[] filterDeprecatedTLSVersions(@NotNull String[] var0) {
      try {
         if (var0 == null) {
            a(10);
         }
      } catch (UnsupportedTlsVersionsException var8) {
         throw a(var8);
      }

      ArrayList var1 = new ArrayList();

      for (String var5 : var0) {
         try {
            if (e.contains(var5)) {
               a.log(Level.WARNING, f[20], var5);
               continue;
            }
         } catch (UnsupportedTlsVersionsException var7) {
            throw a(var7);
         }

         var1.add(var5);
      }

      try {
         String[] var10000 = var1.toArray(new String[var1.size()]);
         if (var10000 == null) {
            a(11);
         }

         return var10000;
      } catch (UnsupportedTlsVersionsException var6) {
         throw a(var6);
      }
   }

   static {
      String[] var5 = new String[34];
      int var3 = 0;
      String var2 = "vru2K.Guw|%Z9pDWJ\u0010K.gytw\"sttiBk`uxqiM3y}twiG3;Chu\u0015A?\u007fuoL2G0\"sttiBk`uxqiM3y}twiG3;Chu\u0015A?\u007fuoL2G0\u001cvru2K.A~hl6^3fd~}\u0012B/Buij/A2g\u0007Lh3jr/>>Qi~3C9zd;\u007f)\\|T^tm\b[0x0kx4O1qd~kf\tyg7;v \u000eyg>>jfC)gd;w)Z|vu;w3B0\u001bvru2K.Pukk#M=`u\u007fM\n}\nqbhp)@/\u0014cni6A.`u\u007fM*]\nqbhp)@/\u001cvru2K.A~hl6^3fd~}\u0012B/Buij/A2g\u001bvru2K.Pukk#M=`u\u007fM\n}\nqbhp)@/O^tw#\u000e3r0oq#\u000e/duxp G9p0OU\u0015\u000e*qbhp)@/4qi|f])d`tk2K84rb92F94eu}#\\0myu~fz\u0010G0kk)X5puiN^tw#\u000e3r0oq#\u000e/duxp G9p0OU\u0015\u000e?}`s|4]|ub~95[,d\u007fim#J|vi;m.K|a~\u007f|4B%}~|9\u0012b\u000f4`iv0G8qb\u0005DWJ0\u001f\u0010cni6A.`u\u007fZ/^4qbh\u0013c~u#M(qtOu5x9fcrv(]\u0005CHU0\u001c\u0007DWJ0\u001fr'\u0018vru2K.A~hl6^3fd~}\u0005G,|uij\nCHU0\u001c\u0014q|wv\u0018vru2K.A~hl6^3fd~}\u0005G,|uij\u001bEuj3^,{bo|\"\u000e(xc;o#\\/}\u007fu9=\u001e!\u0003CHU!DWJ\u0019k\u0011DDBF\u0014k\u0012QWTM\u000fo\b]_UF\u000f`\u001a[OHZ\u0015x\u0005CHU0\u001d*PUv2`)x|;t#Z4{t;<5\u0000yg0vl5Z|z\u007fo94K(abu9([0x'Euj3^,{bo|\"\u000e(xc;o#\\/}\u007fu9=\u001e!4yh95K0qso|\"O^tw#\u000e3r0oq#\u000e/duxp G9p0OU\u0015\u000e*qbhp)@/4qi|f])d`tk2K84rb92F94eu}#\\0myu~fz\u0010G0kk)X5pui!DWJ\u0019k\u0011DDBF\u0014k\u0012QWTM\u000fo\b]_UF\u000f`\u001a[OHZ\u0015x\u0012t~j/\\9pDwj\u0010K.gytw5\u0007DWJ0\u001fr&\u000et~j/\\9pSri.K.gN^tw#\u000e3r0oq#\u000e/duxp G9p0OU\u0015\u000e?}`s|4]|ub~95[,d\u007fim#J|vi;m.K|a~\u007f|4B%}~|9\u0012b\u000f4`iv0G8qb";
      int var4 = "vru2K.Guw|%Z9pDWJ\u0010K.gytw\"sttiBk`uxqiM3y}twiG3;Chu\u0015A?\u007fuoL2G0\"sttiBk`uxqiM3y}twiG3;Chu\u0015A?\u007fuoL2G0\u001cvru2K.A~hl6^3fd~}\u0012B/Buij/A2g\u0007Lh3jr/>>Qi~3C9zd;\u007f)\\|T^tm\b[0x0kx4O1qd~kf\tyg7;v \u000eyg>>jfC)gd;w)Z|vu;w3B0\u001bvru2K.Pukk#M=`u\u007fM\n}\nqbhp)@/\u0014cni6A.`u\u007fM*]\nqbhp)@/\u001cvru2K.A~hl6^3fd~}\u0012B/Buij/A2g\u001bvru2K.Pukk#M=`u\u007fM\n}\nqbhp)@/O^tw#\u000e3r0oq#\u000e/duxp G9p0OU\u0015\u000e*qbhp)@/4qi|f])d`tk2K84rb92F94eu}#\\0myu~fz\u0010G0kk)X5puiN^tw#\u000e3r0oq#\u000e/duxp G9p0OU\u0015\u000e?}`s|4]|ub~95[,d\u007fim#J|vi;m.K|a~\u007f|4B%}~|9\u0012b\u000f4`iv0G8qb\u0005DWJ0\u001f\u0010cni6A.`u\u007fZ/^4qbh\u0013c~u#M(qtOu5x9fcrv(]\u0005CHU0\u001c\u0007DWJ0\u001fr'\u0018vru2K.A~hl6^3fd~}\u0005G,|uij\nCHU0\u001c\u0014q|wv\u0018vru2K.A~hl6^3fd~}\u0005G,|uij\u001bEuj3^,{bo|\"\u000e(xc;o#\\/}\u007fu9=\u001e!\u0003CHU!DWJ\u0019k\u0011DDBF\u0014k\u0012QWTM\u000fo\b]_UF\u000f`\u001a[OHZ\u0015x\u0005CHU0\u001d*PUv2`)x|;t#Z4{t;<5\u0000yg0vl5Z|z\u007fo94K(abu9([0x'Euj3^,{bo|\"\u000e(xc;o#\\/}\u007fu9=\u001e!4yh95K0qso|\"O^tw#\u000e3r0oq#\u000e/duxp G9p0OU\u0015\u000e*qbhp)@/4qi|f])d`tk2K84rb92F94eu}#\\0myu~fz\u0010G0kk)X5pui!DWJ\u0019k\u0011DDBF\u0014k\u0012QWTM\u000fo\b]_UF\u000f`\u001a[OHZ\u0015x\u0012t~j/\\9pDwj\u0010K.gytw5\u0007DWJ0\u001fr&\u000et~j/\\9pSri.K.gN^tw#\u000e3r0oq#\u000e/duxp G9p0OU\u0015\u000e?}`s|4]|ub~95[,d\u007fim#J|vi;m.K|a~\u007f|4B%}~|9\u0012b\u000f4`iv0G8qb"
         .length();
      char var1 = 24;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 36;
         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) {
                     f = var5;
                     String[] var10 = f;
                     TLS_EMPTY_RENEGOTIATION_INFO_SCSV = f[22];
                     c = var10[31];
                     b = var10[26];
                     a = Logger.getLogger(SslSocketUtil.class.getName());
                     String[] var8 = f;
                     d = Pattern.compile(var8[4]);
                     e = new HashSet<>();
                     e.add(var8[21]);
                     e.add(var8[15]);
                     e.add(var8[18]);
                     e.add(var8[23]);
                     DEFAULT_SUPPORTED_TLS_VERSIONS = new HashSet<>();
                     DEFAULT_SUPPORTED_TLS_VERSIONS.add(var8[12]);
                     DEFAULT_SUPPORTED_TLS_VERSIONS.add(var8[32]);
                     DEFAULT_SUPPORTED_TLS_VERSIONS.add(var8[29]);
                     DEFAULT_SUPPORTED_TLS_VERSIONS.add(var8[16]);
                     DEFAULT_SUPPORTED_TLS_VERSIONS_ARRAY = DEFAULT_SUPPORTED_TLS_VERSIONS.toArray(new String[DEFAULT_SUPPORTED_TLS_VERSIONS.size()]);
                     return;
                  }

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

                  var2 = "\u0011\u0002\u001feJ'p\u0018#' g\u001e{\u0012 \")p\u000fl%\u0011\u0002\u001fE\u001e{2,!\"";
                  var4 = "\u0011\u0002\u001feJ'p\u0018#' g\u001e{\u0012 \")p\u000fl%\u0011\u0002\u001fE\u001e{2,!\"".length();
                  var1 = 7;
                  var7 = -1;
            }

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

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

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

      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 -> 52;
            case 1 -> 63;
            case 2 -> 61;
            case 3 -> 98;
            case 4 -> 10;
            case 5 -> 120;
            default -> 48;
         });
      }

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