package com.l7tech.server.solutionkit;

import com.l7tech.gateway.common.LicenseManager;
import com.l7tech.gateway.common.AsyncAdminMethods.JobId;
import com.l7tech.gateway.common.solutionkit.SolutionKit;
import com.l7tech.gateway.common.solutionkit.SolutionKitAdmin;
import com.l7tech.gateway.common.solutionkit.SolutionKitHeader;
import com.l7tech.gateway.common.solutionkit.SolutionKitImportInfo;
import com.l7tech.identity.IdentityProviderConfigManager;
import com.l7tech.objectmodel.DeleteException;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.SaveException;
import com.l7tech.objectmodel.UpdateException;
import com.l7tech.server.admin.AsyncAdminMethodsImpl;
import com.l7tech.server.event.AdminInfo;
import com.l7tech.util.Background;
import jakarta.inject.Inject;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.FutureTask;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class SolutionKitAdminImpl extends AsyncAdminMethodsImpl implements SolutionKitAdmin {
   @Inject
   private SolutionKitManager solutionKitManager;
   @Inject
   private LicenseManager licenseManager;
   @Inject
   private IdentityProviderConfigManager identityProviderConfigManager;
   private static final String[] e;

   public SolutionKitAdminImpl() {
   }

   public SolutionKitAdminImpl(LicenseManager var1, SolutionKitManager var2, IdentityProviderConfigManager var3) {
      this.licenseManager = var1;
      this.solutionKitManager = var2;
      this.identityProviderConfigManager = var3;
   }

   @NotNull
   public List<SolutionKit> getSolutionKitsToUpgrade(@Nullable SolutionKit var1) throws FindException {
      try {
         List var10000 = this.b().getSolutionKitsToUpgrade(var1);
         if (var10000 == null) {
            a(0);
         }

         return var10000;
      } catch (FindException var2) {
         throw a(var2);
      }
   }

   @NotNull
   public String testInstall(@NotNull SolutionKit var1, @NotNull String var2, boolean var3) throws Exception {
      try {
         if (var1 == null) {
            a(1);
         }
      } catch (Exception var5) {
         throw a(var5);
      }

      try {
         if (var2 == null) {
            a(2);
         }
      } catch (Exception var6) {
         throw a(var6);
      }

      try {
         String var10000 = this.b().testInstall(var1, var2, var3);
         if (var10000 == null) {
            a(3);
         }

         return var10000;
      } catch (Exception var4) {
         throw a(var4);
      }
   }

   public String testUpgrade(@NotNull SolutionKitImportInfo var1) throws Exception {
      try {
         if (var1 == null) {
            a(4);
         }
      } catch (Exception var2) {
         throw a(var2);
      }

      return this.b().testUpgrade(var1);
   }

   @NotNull
   public JobId<String> testInstallAsync(@NotNull SolutionKit var1, @NotNull String var2, boolean var3) {
      try {
         if (var1 == null) {
            a(5);
         }
      } catch (IllegalStateException var6) {
         throw a(var6);
      }

      try {
         if (var2 == null) {
            a(6);
         }
      } catch (IllegalStateException var7) {
         throw a(var7);
      }

      FutureTask var4 = new FutureTask<>(AdminInfo.find(false).wrapCallable(new a(this, var1, var2, var3)));

      try {
         Background.scheduleOneShot(new o(this, var4), 0L);
         JobId var10000 = this.registerJob(var4, String.class);
         if (var10000 == null) {
            a(7);
         }

         return var10000;
      } catch (IllegalStateException var5) {
         throw a(var5);
      }
   }

   @NotNull
   public JobId<String> testUpgradeAsync(@NotNull SolutionKitImportInfo var1) {
      try {
         if (var1 == null) {
            a(8);
         }
      } catch (IllegalStateException var4) {
         throw a(var4);
      }

      FutureTask var2 = new FutureTask<>(AdminInfo.find(false).wrapCallable(new b(this, var1)));

      try {
         Background.scheduleOneShot(new p(this, var2), 0L);
         JobId var10000 = this.registerJob(var2, String.class);
         if (var10000 == null) {
            a(9);
         }

         return var10000;
      } catch (IllegalStateException var3) {
         throw a(var3);
      }
   }

   @NotNull
   public Goid install(@NotNull SolutionKit var1, @NotNull String var2, boolean var3) throws Exception {
      try {
         if (var1 == null) {
            a(10);
         }
      } catch (Exception var5) {
         throw a(var5);
      }

      try {
         if (var2 == null) {
            a(11);
         }
      } catch (Exception var6) {
         throw a(var6);
      }

      try {
         Goid var10000 = this.b().install(var1, var2, var3);
         if (var10000 == null) {
            a(12);
         }

         return var10000;
      } catch (Exception var4) {
         throw a(var4);
      }
   }

   @NotNull
   public ArrayList upgrade(@NotNull SolutionKitImportInfo var1) throws Exception {
      try {
         if (var1 == null) {
            a(13);
         }
      } catch (Exception var3) {
         throw a(var3);
      }

      try {
         ArrayList var10000 = this.b().upgrade(var1);
         if (var10000 == null) {
            a(14);
         }

         return var10000;
      } catch (Exception var2) {
         throw a(var2);
      }
   }

   @NotNull
   public JobId<Goid> installAsync(@NotNull SolutionKit var1, @NotNull String var2, boolean var3) {
      try {
         if (var1 == null) {
            a(15);
         }
      } catch (IllegalStateException var6) {
         throw a(var6);
      }

      try {
         if (var2 == null) {
            a(16);
         }
      } catch (IllegalStateException var7) {
         throw a(var7);
      }

      FutureTask var4 = new FutureTask<>(AdminInfo.find(false).wrapCallable(new c(this, var1, var2, var3)));

      try {
         Background.scheduleOneShot(new q(this, var4), 0L);
         JobId var10000 = this.registerJob(var4, Goid.class);
         if (var10000 == null) {
            a(17);
         }

         return var10000;
      } catch (IllegalStateException var5) {
         throw a(var5);
      }
   }

   @NotNull
   public JobId<ArrayList> upgradeAsync(@NotNull SolutionKitImportInfo var1) {
      try {
         if (var1 == null) {
            a(18);
         }
      } catch (IllegalStateException var4) {
         throw a(var4);
      }

      FutureTask var2 = new FutureTask<>(AdminInfo.find(false).wrapCallable(new d(this, var1)));

      try {
         Background.scheduleOneShot(new r(this, var2), 0L);
         JobId var10000 = this.registerJob(var2, ArrayList.class);
         if (var10000 == null) {
            a(19);
         }

         return var10000;
      } catch (IllegalStateException var3) {
         throw a(var3);
      }
   }

   @NotNull
   public String uninstall(@NotNull Goid var1) throws Exception {
      try {
         if (var1 == null) {
            a(20);
         }
      } catch (Exception var3) {
         throw a(var3);
      }

      try {
         String var10000 = this.b().uninstall(var1);
         if (var10000 == null) {
            a(21);
         }

         return var10000;
      } catch (Exception var2) {
         throw a(var2);
      }
   }

   @NotNull
   public JobId<String> uninstallAsync(@NotNull Goid var1) {
      try {
         if (var1 == null) {
            a(22);
         }
      } catch (IllegalStateException var4) {
         throw a(var4);
      }

      FutureTask var2 = new FutureTask<>(AdminInfo.find(false).wrapCallable(new e(this, var1)));

      try {
         Background.scheduleOneShot(new n(this, var2), 0L);
         JobId var10000 = this.registerJob(var2, String.class);
         if (var10000 == null) {
            a(23);
         }

         return var10000;
      } catch (IllegalStateException var3) {
         throw a(var3);
      }
   }

   @NotNull
   public Collection<SolutionKitHeader> findHeaders() throws FindException {
      try {
         Collection var10000 = this.b().findHeaders();
         if (var10000 == null) {
            a(24);
         }

         return var10000;
      } catch (FindException var1) {
         throw a(var1);
      }
   }

   @NotNull
   public Collection<SolutionKitHeader> findHeaders(@NotNull Goid var1) throws FindException {
      try {
         if (var1 == null) {
            a(25);
         }
      } catch (FindException var3) {
         throw a(var3);
      }

      try {
         Collection var10000 = this.b().findHeaders(var1);
         if (var10000 == null) {
            a(26);
         }

         return var10000;
      } catch (FindException var2) {
         throw a(var2);
      }
   }

   @NotNull
   public Collection<SolutionKit> find(@NotNull String var1) throws FindException {
      try {
         if (var1 == null) {
            a(27);
         }
      } catch (FindException var3) {
         throw a(var3);
      }

      try {
         Collection var10000 = this.b().find(var1);
         if (var10000 == null) {
            a(28);
         }

         return var10000;
      } catch (FindException var2) {
         throw a(var2);
      }
   }

   @NotNull
   public Collection<SolutionKit> find(@NotNull Goid var1) throws FindException {
      try {
         if (var1 == null) {
            a(29);
         }
      } catch (FindException var3) {
         throw a(var3);
      }

      try {
         Collection var10000 = this.b().find(var1);
         if (var10000 == null) {
            a(30);
         }

         return var10000;
      } catch (FindException var2) {
         throw a(var2);
      }
   }

   public SolutionKit get(@NotNull Goid var1) throws FindException {
      try {
         if (var1 == null) {
            a(31);
         }
      } catch (FindException var2) {
         throw a(var2);
      }

      return this.b().get(var1);
   }

   public SolutionKit get(@NotNull String var1, @Nullable String var2) throws FindException {
      try {
         if (var1 == null) {
            a(32);
         }
      } catch (FindException var3) {
         throw a(var3);
      }

      return this.b().get(var1, var2);
   }

   @NotNull
   public Goid save(@NotNull SolutionKit var1) throws SaveException {
      try {
         if (var1 == null) {
            a(33);
         }
      } catch (SaveException var3) {
         throw a(var3);
      }

      try {
         Goid var10000 = this.b().save(var1);
         if (var10000 == null) {
            a(34);
         }

         return var10000;
      } catch (SaveException var2) {
         throw a(var2);
      }
   }

   public void update(@NotNull SolutionKit var1) throws UpdateException {
      try {
         if (var1 == null) {
            a(35);
         }
      } catch (UpdateException var2) {
         throw a(var2);
      }

      this.solutionKitManager.update(var1);
   }

   public void delete(@NotNull Goid var1) throws FindException, DeleteException {
      try {
         if (var1 == null) {
            a(36);
         }
      } catch (FindException var2) {
         throw a(var2);
      }

      this.solutionKitManager.delete(var1);
   }

   SolutionKitAdminHelper b() {
      return new SolutionKitAdminHelper(this.licenseManager, this.solutionKitManager, this.identityProviderConfigManager);
   }

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

   static {
      String[] var5 = new String[40];
      int var3 = 0;
      String var2 = " C[,bBn GD4\u000b C[,~\\z&GL=\u00033C\\>\u0015TO-FIs \u0006N7Y\f]\u001aI\\\u0016^@qtVI*JAx CZx\f\tns\u0006G>\u000b\tnz\u0003[xFYn \u0006F7_\f\u007f1\u0006F-G@\u000f'ID-_Er:mA,lYt0\f!VO*JHx\u0015UQ6H\n$GZ=EXZ;OL\u0006!VL9_I27IEwG\u001bi1E@wXIo\"CZwXCq!RA7EGt \t{7GYi=IF\u0013BX\\0KA6bAm8\u0010 C[,bBn GD4j_d:E\u0010 C[,bBn GD4j_d:E\u00042OF<\f=H[,J@q\u0015UQ6H\u00060CD=_I\u0007!VO*JHx\u000b2OF<cI|0CZ+\u0007=H[,J@q\u000b2OF<cI|0CZ+\u0010 C[,~\\z&GL=j_d:E\t!HA6XX|8J*\u0014hG,eYq8\u0006E=_Dr0\u0006\r+\u0005\tntK]+_\fs;R\b*NXh&H\b6^@q\f!VO*JHx\u0015UQ6H\u00042OF<\u00066SF<GI\t!HA6XX|8J\u00043SA<\u0004'G^=\u0004'G^=\u000b C[,bBn GD4\f=H[,J@q\u0015UQ6H\u000e!HA6XX|8Ji+RB~\u000e!HA6XX|8Ji+RB~\u0007=H[,J@q\u0015'ID-_Er:mA,bAm;T\\\u0011EJr\u00183C\\\u000bD@h OG6`Ei'rG\r[Ko5BM\u000b'ID-_Er:mA,\u00043IA<\u0007!VO*JHx";
      int var4 = " C[,bBn GD4\u000b C[,~\\z&GL=\u00033C\\>\u0015TO-FIs \u0006N7Y\f]\u001aI\\\u0016^@qtVI*JAx CZx\f\tns\u0006G>\u000b\tnz\u0003[xFYn \u0006F7_\f\u007f1\u0006F-G@\u000f'ID-_Er:mA,lYt0\f!VO*JHx\u0015UQ6H\n$GZ=EXZ;OL\u0006!VL9_I27IEwG\u001bi1E@wXIo\"CZwXCq!RA7EGt \t{7GYi=IF\u0013BX\\0KA6bAm8\u0010 C[,bBn GD4j_d:E\u0010 C[,bBn GD4j_d:E\u00042OF<\f=H[,J@q\u0015UQ6H\u00060CD=_I\u0007!VO*JHx\u000b2OF<cI|0CZ+\u0007=H[,J@q\u000b2OF<cI|0CZ+\u0010 C[,~\\z&GL=j_d:E\t!HA6XX|8J*\u0014hG,eYq8\u0006E=_Dr0\u0006\r+\u0005\tntK]+_\fs;R\b*NXh&H\b6^@q\f!VO*JHx\u0015UQ6H\u00042OF<\u00066SF<GI\t!HA6XX|8J\u00043SA<\u0004'G^=\u0004'G^=\u000b C[,bBn GD4\f=H[,J@q\u0015UQ6H\u000e!HA6XX|8Ji+RB~\u000e!HA6XX|8Ji+RB~\u0007=H[,J@q\u0015'ID-_Er:mA,bAm;T\\\u0011EJr\u00183C\\\u000bD@h OG6`Ei'rG\r[Ko5BM\u000b'ID-_Er:mA,\u00043IA<\u0007!VO*JHx"
         .length();
      char var1 = 11;
      int var7 = -1;

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

         while (true) {
            String var8 = b(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     e = var5;
                     return;
                  }

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

                  var2 = "D:6\u00044h\u001aB63\u0004+:\u001cQ0)\u0004+0\u0002R!2D64\u0007Sz\bD4*\u001aN:5`1+/C82E\u00112\u001eK\u0010S0(_\r/\tU4?N\u0019,\u0017I6";
                  var4 = "D:6\u00044h\u001aB63\u0004+:\u001cQ0)\u0004+0\u0002R!2D64\u0007Sz\bD4*\u001aN:5`1+/C82E\u00112\u001eK\u0010S0(_\r/\tU4?N\u0019,\u0017I6"
                     .length();
                  var1 = '2';
                  var7 = -1;
            }

            var10000 = 106;
            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] ^ 4);
      }

      return var10000;
   }

   private static String b(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 -> 77;
            case 1 -> 63;
            case 2 -> 49;
            case 3 -> 65;
            case 4 -> 50;
            case 5 -> 53;
            default -> 4;
         });
      }

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