package com.l7tech.server.transport.http.websocket;

import jakarta.websocket.Decoder;
import jakarta.websocket.Encoder;
import jakarta.websocket.Extension;
import jakarta.websocket.server.ServerEndpointConfig;
import jakarta.websocket.server.ServerEndpointConfig.Configurator;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class SsgServerEndpointConfig implements ServerEndpointConfig {
   public static final String USER_PROP_KEY_SSG_HANDSHAKE_ID;
   static final String a;
   static final String b;
   static final String c;
   static final String d;
   static final String e;
   public static final String USER_PROP_KEY_SSG_SESSION_TO_EXTERNAL;
   static final String f;
   public static final String USER_PROP_KEY_SSG_SAVED_ON_UPGRADE_REQUEST;
   public static final String USER_PROP_KEY_SSG_SAVED_ON_UPGRADE_RESPONSE;
   private final Class<?> g;
   @Nullable
   private String h;
   private final List<String> i;
   private final List<Extension> j;
   private final List<Class<? extends Encoder>> k;
   private final List<Class<? extends Decoder>> l;
   private final Configurator m;
   private final Map<String, Object> n = new ConcurrentHashMap<>();
   private static final String[] o;

   SsgServerEndpointConfig(Class<?> var1, Configurator var2) {
      this.g = var1;
      this.i = Collections.emptyList();
      this.j = Collections.emptyList();
      this.k = Collections.emptyList();
      this.l = Collections.emptyList();
      this.m = var2;
   }

   public Class<?> getEndpointClass() {
      return this.g;
   }

   public List<Class<? extends Encoder>> getEncoders() {
      return this.k;
   }

   public List<Class<? extends Decoder>> getDecoders() {
      return this.l;
   }

   @Nullable
   public String getPath() {
      return this.h;
   }

   public void setPath(@NotNull String var1) {
      try {
         if (var1 == null) {
            a(0);
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      this.h = var1;
   }

   public Configurator getConfigurator() {
      return this.m;
   }

   @NotNull
   public final Map<String, Object> getUserProperties() {
      try {
         if (this.n == null) {
            a(1);
         }

         return this.n;
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }
   }

   public final List<String> getSubprotocols() {
      return this.i;
   }

   public final List<Extension> getExtensions() {
      return this.j;
   }

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

   static {
      String[] var5 = new String[17];
      int var3 = 0;
      String var2 = "D\u0013s\u0013\u001c2?s\u0004h6\n%9J\u0013t\u0007P\u0013s\u0016\u000e#%*c8h2!\"!OVj#\u001b?\"GV\"5Ar>\u0003\u001br5\u001bw#L\u0002'4\n#8Q\u0018'(\u001a;!\u001dp%@k<6;F\u0012*\t\u0001z\u0018S\u0011u'\u000b2`q\u0013t6\u00009>F\u0014p%@k,8#M\u0013d2\u0000%`f\u0018s/\u001b.\u0010p%@k'6#G\u0005o'\u00042`j2\u001cp%@k<6;F\u0012*\t\u0001z\u0018S\u0011u'\u000b2`q\u0013v3\n$9#p%@k<2?U\u001fd#B\u0018#\u000e5k)\u001c2`f\u000eb%\u001a#(\u000e&h*\u000644,p%@k<2?U\u001fd#B\u0007,P\u0005*\u0012\u0007%\"V\u0011ok\"2>P\u0017`#B\u0003\"\u000e3\u007f2\n%#B\u001a\u0013p%@k:\u0005\u0004\u000e\"hk*/9F\u0004i'\u0003B@\u0019ji\u0003`9F\u0015oi\u001c2?U\u0013ui\u001b%,M\u0005w)\u001d#bK\u0002s6@ (A\u0005h%\u000429\f%t!<2?U\u0013u\u0003\u00013=L\u001fi2,8#E\u001f`>b\u0004`3\u00022#WVa)\u001dw\rm\u0019s\b\u001a;!\u0003\u0006f4\u000e:(W\u0013ufHr>\u0004Vh Or>\rStf\u0002\">WVi)\u001bw/FVi3\u0003;\u0004S\u0017s.\u0017p%@k<2>P\u001fh(B\u0003\"\u000e3\u007f2\n%#B\u001aB@\u0019ji\u0003`9F\u0015oi\u001c2?U\u0013ui\u001b%,M\u0005w)\u001d#bK\u0002s6@ (A\u0005h%\u000429\f%t!<2?U\u0013u\u0003\u00013=L\u001fi2,8#E\u001f`";
      int var4 = "D\u0013s\u0013\u001c2?s\u0004h6\n%9J\u0013t\u0007P\u0013s\u0016\u000e#%*c8h2!\"!OVj#\u001b?\"GV\"5Ar>\u0003\u001br5\u001bw#L\u0002'4\n#8Q\u0018'(\u001a;!\u001dp%@k<6;F\u0012*\t\u0001z\u0018S\u0011u'\u000b2`q\u0013t6\u00009>F\u0014p%@k,8#M\u0013d2\u0000%`f\u0018s/\u001b.\u0010p%@k'6#G\u0005o'\u00042`j2\u001cp%@k<6;F\u0012*\t\u0001z\u0018S\u0011u'\u000b2`q\u0013v3\n$9#p%@k<2?U\u001fd#B\u0018#\u000e5k)\u001c2`f\u000eb%\u001a#(\u000e&h*\u000644,p%@k<2?U\u001fd#B\u0007,P\u0005*\u0012\u0007%\"V\u0011ok\"2>P\u0017`#B\u0003\"\u000e3\u007f2\n%#B\u001a\u0013p%@k:\u0005\u0004\u000e\"hk*/9F\u0004i'\u0003B@\u0019ji\u0003`9F\u0015oi\u001c2?U\u0013ui\u001b%,M\u0005w)\u001d#bK\u0002s6@ (A\u0005h%\u000429\f%t!<2?U\u0013u\u0003\u00013=L\u001fi2,8#E\u001f`>b\u0004`3\u00022#WVa)\u001dw\rm\u0019s\b\u001a;!\u0003\u0006f4\u000e:(W\u0013ufHr>\u0004Vh Or>\rStf\u0002\">WVi)\u001bw/FVi3\u0003;\u0004S\u0017s.\u0017p%@k<2>P\u001fh(B\u0003\"\u000e3\u007f2\n%#B\u001aB@\u0019ji\u0003`9F\u0015oi\u001c2?U\u0013ui\u001b%,M\u0005w)\u001d#bK\u0002s6@ (A\u0005h%\u000429\f%t!<2?U\u0013u\u0003\u00013=L\u001fi2,8#E\u001f`"
         .length();
      char var1 = 17;
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     o = var5;
                     String[] var9 = o;
                     USER_PROP_KEY_SSG_SAVED_ON_UPGRADE_REQUEST = o[6];
                     USER_PROP_KEY_SSG_HANDSHAKE_ID = var9[5];
                     a = var9[4];
                     USER_PROP_KEY_SSG_SESSION_TO_EXTERNAL = var9[13];
                     c = var9[8];
                     d = var9[15];
                     USER_PROP_KEY_SSG_SAVED_ON_UPGRADE_RESPONSE = var9[3];
                     f = var9[9];
                     e = var9[16];
                     b = var9[7];
                     return;
                  }

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

                  var2 = "\u0011D!\n]S^4~\u0005B#fM1dKsfDC7p\u000e\nCS_1v\u0001B#p^-zKbvBI0y\u0007K\u000b\u0011D!\n]S_1~\tI";
                  var4 = "\u0011D!\n]S^4~\u0005B#fM1dKsfDC7p\u000e\nCS_1v\u0001B#p^-zKbvBI0y\u0007K\u000b\u0011D!\n]S_1~\tI".length();
                  var1 = '.';
                  var7 = -1;
            }

            var10000 = 50;
            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] ^ 30);
      }

      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 -> 112;
            case 1 -> 37;
            case 2 -> 84;
            case 3 -> 21;
            case 4 -> 60;
            case 5 -> 4;
            default -> 30;
         });
      }

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