package com.l7tech.gateway.api.impl;

import com.l7tech.util.BuildInfo;
import com.sun.ws.management.Message;
import com.sun.ws.management.client.impl.ConfigurableHTTPTransportClient;
import com.sun.ws.management.client.impl.TransportClient;
import com.sun.ws.management.transport.ContentType;
import jakarta.xml.soap.SOAPMessage;
import java.net.PasswordAuthentication;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSocketFactory;

public class TransportFactory {
   private static final String a;
   private static TransportFactory.TransportStrategy b = new ac();

   public static TransportClient newTransportClient(int var0, int var1, PasswordAuthentication var2, HostnameVerifier var3, SSLSocketFactory var4) {
      return b.newTransportClient(var0, var1, var2, var3, var4);
   }

   public static void setTransportStrategy(TransportFactory.TransportStrategy var0) {
      b = var0;
   }

   static {
      String var10002 = a(a("<@|\u000fc\u001a(\u001fDqWV\u001e\u000f\nR~\u0003<>+&\n"));
      byte var10001 = -1;
      String var0 = var10002;
      a = var0 + BuildInfo.getBuildNumber();
   }

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

      return var10000;
   }

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

      for (int var1 = 0; var10000 > var1; var1++) {
         var10001[var1] = (char)(var10001[var1] ^ switch (var1 % 7) {
            case 0 -> 111;
            case 1 -> 37;
            case 2 -> 31;
            case 3 -> 122;
            case 4 -> 17;
            case 5 -> 127;
            default -> 123;
         });
      }

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

   public static class ActionAwareHTTPTransportClient extends ConfigurableHTTPTransportClient {
      private static final String[] a;

      protected String getContentType(SOAPMessage param1, Message param2, ContentType param3) {
         // $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: aconst_null
         // 01: astore 4
         // 03: aload 2
         // 04: instanceof com/sun/ws/management/addressing/Addressing
         // 07: ifeq 67
         // 0a: aload 2
         // 0b: checkcast com/sun/ws/management/addressing/Addressing
         // 0e: astore 5
         // 10: aload 3
         // 11: ifnonnull 1e
         // 14: getstatic com/sun/ws/management/transport/ContentType.DEFAULT_CONTENT_TYPE Lcom/sun/ws/management/transport/ContentType;
         // 17: invokevirtual com/sun/ws/management/transport/ContentType.toString ()Ljava/lang/String;
         // 1a: goto 22
         // 1d: athrow
         // 1e: aload 3
         // 1f: invokevirtual com/sun/ws/management/transport/ContentType.toString ()Ljava/lang/String;
         // 22: astore 4
         // 24: aload 4
         // 26: getstatic com/l7tech/gateway/api/impl/TransportFactory$ActionAwareHTTPTransportClient.a [Ljava/lang/String;
         // 29: bipush 0
         // 2a: aaload
         // 2b: invokevirtual java/lang/String.contains (Ljava/lang/CharSequence;)Z
         // 2e: ifne 5d
         // 31: aload 5
         // 33: invokevirtual com/sun/ws/management/addressing/Addressing.getHeader ()Ljakarta/xml/soap/SOAPHeader;
         // 36: ifnull 5d
         // 39: goto 3d
         // 3c: athrow
         // 3d: aload 5
         // 3f: invokevirtual com/sun/ws/management/addressing/Addressing.getAction ()Ljava/lang/String;
         // 42: ifnull 5d
         // 45: goto 49
         // 48: athrow
         // 49: aload 4
         // 4b: aload 5
         // 4d: invokevirtual com/sun/ws/management/addressing/Addressing.getAction ()Ljava/lang/String;
         // 50: getstatic com/l7tech/gateway/api/impl/TransportFactory$ActionAwareHTTPTransportClient.a [Ljava/lang/String;
         // 53: bipush 1
         // 54: aaload
         // 55: swap
         // 56: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
         // 5b: astore 4
         // 5d: goto 67
         // 60: astore 6
         // 62: goto 67
         // 65: astore 6
         // 67: aload 4
         // 69: ifnonnull 7f
         // 6c: aload 3
         // 6d: ifnonnull 79
         // 70: goto 74
         // 73: athrow
         // 74: aconst_null
         // 75: goto 7d
         // 78: athrow
         // 79: aload 3
         // 7a: invokevirtual com/sun/ws/management/transport/ContentType.toString ()Ljava/lang/String;
         // 7d: astore 4
         // 7f: aload 4
         // 81: areturn
         // try (23 -> 31): 32 jakarta/xml/soap/SOAPException
         // try (17 -> 26): 27 jakarta/xml/soap/SOAPException
         // try (8 -> 13): 13 jakarta/xml/soap/SOAPException
         // try (17 -> 42): 43 jakarta/xml/soap/SOAPException
         // try (17 -> 42): 45 jakarta/xml/bind/JAXBException
         // try (46 -> 50): 51 jakarta/xml/soap/SOAPException
         // try (48 -> 54): 54 jakarta/xml/soap/SOAPException
      }

      static {
         String[] var5 = new String[2];
         int var3 = 0;
         String var2 = "(\\V,YU\br^A1_T\rt";
         int var4 = "(\\V,YU\br^A1_T\rt".length();
         char var1 = 6;
         int var0 = -1;

         while (true) {
            String var10002 = a(a(var2.substring(++var0, var0 + var1)));
            byte var10001 = -1;
            var5[var3++] = var10002;
            if ((var0 += var1) >= var4) {
               a = 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] ^ 99);
         }

         return var10000;
      }

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

         for (int var1 = 0; var10000 > var1; var1++) {
            var10001[var1] = (char)(var10001[var1] ^ switch (var1 % 7) {
               case 0 -> 73;
               case 1 -> 63;
               case 2 -> 34;
               case 3 -> 69;
               case 4 -> 54;
               case 5 -> 59;
               default -> 99;
            });
         }

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

   public interface TransportStrategy {
      TransportClient newTransportClient(int var1, int var2, PasswordAuthentication var3, HostnameVerifier var4, SSLSocketFactory var5);
   }
}
