package com.l7tech.server;

import com.l7tech.common.io.CertGenParams;
import com.l7tech.common.io.CertUtils;
import com.l7tech.common.io.KeyGenParams;
import com.l7tech.common.io.SingleCertX509KeyManager;
import com.l7tech.gateway.common.security.keystore.SsgKeyEntry;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.ObjectNotFoundException;
import com.l7tech.objectmodel.PersistentEntity;
import com.l7tech.objectmodel.SaveException;
import com.l7tech.objectmodel.UpdateException;
import com.l7tech.security.cert.TrustedCertManager;
import com.l7tech.server.audit.AuditContextUtils;
import com.l7tech.server.cluster.ClusterPropertyCache;
import com.l7tech.server.cluster.ClusterPropertyManager;
import com.l7tech.server.security.keystore.SsgKeyFinder;
import com.l7tech.server.security.keystore.SsgKeyStore;
import com.l7tech.server.security.keystore.SsgKeyStoreManager;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.HexUtils;
import com.l7tech.util.MasterPasswordManager;
import com.l7tech.util.Pair;
import jakarta.inject.Inject;
import jakarta.inject.Named;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.UnrecoverableKeyException;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
import javax.net.ssl.KeyManager;
import javax.security.auth.x500.X500Principal;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.SmartLifecycle;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.support.TransactionTemplate;

public class DefaultKeyImpl implements DefaultKey, PropertyChangeListener, SmartLifecycle {
   private static final Logger a;
   static final SsgKeyEntry b;
   private static final Pattern c;
   private static final String d;
   private static final String e;
   private static final String f;
   private static final String g;
   private static final String h;
   private final ServerConfig i;
   private final ClusterPropertyManager j;
   private final SsgKeyStoreManager k;
   private final PlatformTransactionManager l;
   private final ClusterPropertyCache m;
   private final AtomicReference<SsgKeyEntry> n = new AtomicReference<>();
   private final AtomicReference<SsgKeyEntry> o = new AtomicReference<>();
   private final AtomicReference<SsgKeyEntry> p = new AtomicReference<>();
   private final AtomicBoolean q = new AtomicBoolean(false);
   private volatile boolean r = false;
   private final AtomicReference<SsgKeyEntry> s = new AtomicReference<>();
   private final AtomicReference<SsgKeyEntry> t = new AtomicReference<>();
   private final List<DefaultKey.KeyInfoListener> u = new LinkedList<>();
   @Inject
   @Named("masterPasswordManager")
   private MasterPasswordManager masterPasswordManager;
   @Inject
   @Named("trustedCertManager")
   private TrustedCertManager trustedCertManager;
   private static final String[] v;

   public static boolean isNullEntry(SsgKeyEntry var0) {
      try {
         if (var0 == b) {
            return true;
         }
      } catch (RuntimeException var1) {
         throw a(var1);
      }

      return false;
   }

   public DefaultKeyImpl(ServerConfig var1, ClusterPropertyManager var2, SsgKeyStoreManager var3, PlatformTransactionManager var4, ClusterPropertyCache var5) {
      this.i = var1;
      this.j = var2;
      this.k = var3;
      this.l = var4;
      this.m = var5;
      String[] var6 = v;
      ConfigFactory.addListener(new c(this, Set.of(var6[87], var6[29], var6[56])), new String[0]);
   }

   void a(TrustedCertManager var1) {
      this.trustedCertManager = var1;
   }

   public void start() {
      this.a();
      this.r = true;
   }

   public void stop() {
      this.r = false;
   }

   public boolean isRunning() {
      return this.r;
   }

   public int getPhase() {
      return -2147483548;
   }

   private void a() {
      // $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:
      // 000: aload 0
      // 001: getfield com/l7tech/server/DefaultKeyImpl.i Lcom/l7tech/server/ServerConfig;
      // 004: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 007: astore 8
      // 009: aload 8
      // 00b: bipush 78
      // 00d: aaload
      // 00e: invokevirtual com/l7tech/server/ServerConfig.getClusterPropertyName (Ljava/lang/String;)Ljava/lang/String;
      // 011: astore 1
      // 012: aload 0
      // 013: getfield com/l7tech/server/DefaultKeyImpl.i Lcom/l7tech/server/ServerConfig;
      // 016: aload 8
      // 018: bipush 56
      // 01a: aaload
      // 01b: invokevirtual com/l7tech/server/ServerConfig.getClusterPropertyName (Ljava/lang/String;)Ljava/lang/String;
      // 01e: astore 2
      // 01f: aload 0
      // 020: getfield com/l7tech/server/DefaultKeyImpl.i Lcom/l7tech/server/ServerConfig;
      // 023: aload 8
      // 025: bipush 29
      // 027: aaload
      // 028: invokevirtual com/l7tech/server/ServerConfig.getClusterPropertyName (Ljava/lang/String;)Ljava/lang/String;
      // 02b: astore 3
      // 02c: aload 1
      // 02d: ifnull 046
      // 030: aload 2
      // 031: ifnull 046
      // 034: goto 03b
      // 037: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 03a: athrow
      // 03b: aload 3
      // 03c: ifnonnull 047
      // 03f: goto 046
      // 042: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 045: athrow
      // 046: return
      // 047: aload 0
      // 048: getfield com/l7tech/server/DefaultKeyImpl.j Lcom/l7tech/server/cluster/ClusterPropertyManager;
      // 04b: aload 1
      // 04c: invokeinterface com/l7tech/server/cluster/ClusterPropertyManager.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 051: astore 4
      // 053: aload 4
      // 055: ifnull 067
      // 058: aload 4
      // 05a: invokevirtual java/lang/String.isEmpty ()Z
      // 05d: ifeq 068
      // 060: goto 067
      // 063: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 066: athrow
      // 067: return
      // 068: bipush 0
      // 069: istore 5
      // 06b: aload 0
      // 06c: getfield com/l7tech/server/DefaultKeyImpl.j Lcom/l7tech/server/cluster/ClusterPropertyManager;
      // 06f: aload 2
      // 070: invokeinterface com/l7tech/server/cluster/ClusterPropertyManager.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 075: astore 6
      // 077: aload 6
      // 079: ifnull 08b
      // 07c: aload 6
      // 07e: invokevirtual java/lang/String.isEmpty ()Z
      // 081: ifeq 0b7
      // 084: goto 08b
      // 087: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 08a: athrow
      // 08b: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 08e: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 091: aload 1
      // 092: aload 2
      // 093: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 096: astore 8
      // 098: aload 8
      // 09a: bipush 26
      // 09c: aaload
      // 09d: dup_x2
      // 09e: pop
      // 09f: aload 8
      // 0a1: bipush 39
      // 0a3: aaload
      // 0a4: swap
      // 0a5: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 0aa: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 0ad: aload 0
      // 0ae: aload 2
      // 0af: aload 4
      // 0b1: invokevirtual com/l7tech/server/DefaultKeyImpl.b (Ljava/lang/String;Ljava/lang/String;)V
      // 0b4: bipush 1
      // 0b5: istore 5
      // 0b7: aload 0
      // 0b8: getfield com/l7tech/server/DefaultKeyImpl.j Lcom/l7tech/server/cluster/ClusterPropertyManager;
      // 0bb: aload 3
      // 0bc: invokeinterface com/l7tech/server/cluster/ClusterPropertyManager.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 0c1: astore 7
      // 0c3: aload 7
      // 0c5: ifnull 0d7
      // 0c8: aload 7
      // 0ca: invokevirtual java/lang/String.isEmpty ()Z
      // 0cd: ifeq 103
      // 0d0: goto 0d7
      // 0d3: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d6: athrow
      // 0d7: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 0da: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 0dd: aload 1
      // 0de: aload 3
      // 0df: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 0e2: astore 8
      // 0e4: aload 8
      // 0e6: bipush 52
      // 0e8: aaload
      // 0e9: dup_x2
      // 0ea: pop
      // 0eb: aload 8
      // 0ed: bipush 49
      // 0ef: aaload
      // 0f0: swap
      // 0f1: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 0f6: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 0f9: aload 0
      // 0fa: aload 3
      // 0fb: aload 4
      // 0fd: invokevirtual com/l7tech/server/DefaultKeyImpl.b (Ljava/lang/String;Ljava/lang/String;)V
      // 100: bipush 1
      // 101: istore 5
      // 103: iload 5
      // 105: ifeq 147
      // 108: aload 0
      // 109: getfield com/l7tech/server/DefaultKeyImpl.q Ljava/util/concurrent/atomic/AtomicBoolean;
      // 10c: bipush 1
      // 10d: invokevirtual java/util/concurrent/atomic/AtomicBoolean.set (Z)V
      // 110: aload 0
      // 111: getfield com/l7tech/server/DefaultKeyImpl.m Lcom/l7tech/server/cluster/ClusterPropertyCache;
      // 114: ifnull 143
      // 117: goto 11e
      // 11a: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11d: athrow
      // 11e: aload 0
      // 11f: getfield com/l7tech/server/DefaultKeyImpl.m Lcom/l7tech/server/cluster/ClusterPropertyCache;
      // 122: invokevirtual com/l7tech/server/cluster/ClusterPropertyCache.refreshFromDatabase ()V
      // 125: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 128: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 12b: aload 4
      // 12d: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 130: bipush 61
      // 132: aaload
      // 133: swap
      // 134: 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" ]
      // 139: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 13c: goto 143
      // 13f: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 142: athrow
      // 143: aload 0
      // 144: invokevirtual com/l7tech/server/DefaultKeyImpl.f ()V
      // 147: goto 165
      // 14a: astore 1
      // 14b: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 14e: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 151: aload 1
      // 152: invokestatic com/l7tech/util/ExceptionUtils.getMessageWithCause (Ljava/lang/Throwable;)Ljava/lang/String;
      // 155: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 158: bipush 69
      // 15a: aaload
      // 15b: swap
      // 15c: 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" ]
      // 161: aload 1
      // 162: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 165: return
      // try (25 -> 32): 33 java/lang/Exception
      // try (23 -> 27): 28 java/lang/Exception
      // try (0 -> 35): 154 java/lang/Exception
      // try (41 -> 46): 47 java/lang/Exception
      // try (36 -> 49): 154 java/lang/Exception
      // try (126 -> 148): 149 java/lang/Exception
      // try (124 -> 133): 134 java/lang/Exception
      // try (93 -> 98): 99 java/lang/Exception
      // try (57 -> 62): 63 java/lang/Exception
      // try (50 -> 153): 154 java/lang/Exception
   }

   private SsgKeyEntry a(String var1) throws IOException {
      String[] var7 = v;
      AtomicReference var2;
      if (var1.equals(var7[29])) {
         var2 = this.o;
      } else {
         var2 = this.n;
      }

      try {
         return this.a(var2, var1, true);
      } catch (ObjectNotFoundException var10) {
         synchronized (this) {
            SsgKeyEntry var10000;
            try {
               var10000 = this.a(var2, var1, true);
            } catch (ObjectNotFoundException var8) {
               if (!var1.equals(v[29])) {
                  return this.b();
               }

               return b;
            }

            return var10000;
         }
      }
   }

   private SsgKeyEntry b() throws IOException {
      TransactionTemplate var1 = new TransactionTemplate(this.l);
      var1.setPropagationBehavior(3);
      IOException[] var2 = new IOException[1];
      boolean var3 = AuditContextUtils.isSystem();
      AuditContextUtils.setSystem(true);

      SsgKeyEntry var4;
      try {
         var4 = (SsgKeyEntry)var1.execute(new i(this, var2));
      } finally {
         AuditContextUtils.setSystem(var3);
      }

      try {
         if (var2[0] != null) {
            throw var2[0];
         } else {
            return var4;
         }
      } catch (IOException var8) {
         throw a(var8);
      }
   }

   @Override
   public void addKeyInfoListener(DefaultKey.KeyInfoListener var1) {
      this.u.add(var1);
   }

   @Override
   public void removeKeyInfoListener(DefaultKey.KeyInfoListener var1) {
      this.u.remove(var1);
   }

   @Override
   public SsgKeyEntry getSslInfo() throws IOException {
      return this.getServerSslInfo();
   }

   @Override
   public SsgKeyEntry getServerSslInfo() throws IOException {
      try {
         String[] var2 = v;
         return this.a(var2[56]);
      } catch (IOException | RuntimeException var3) {
         a.log(Level.SEVERE, v[28] + ExceptionUtils.getMessage(var3), var3);
         throw var3;
      }
   }

   @Override
   public SsgKeyEntry getClientSslInfo() throws IOException {
      try {
         String[] var2 = v;
         return this.a(var2[29]);
      } catch (IOException | RuntimeException var3) {
         a.log(Level.SEVERE, v[11] + ExceptionUtils.getMessage(var3), var3);
         throw var3;
      }
   }

   @Override
   public SsgKeyEntry getLatestSslInfo() throws IOException {
      return this.getLatestServerSslInfo();
   }

   @Override
   public SsgKeyEntry getLatestServerSslInfo() throws IOException {
      try {
         String[] var5 = v;
         return this.e(var5[37]);
      } catch (KeyStoreException var3) {
         String var10002 = ExceptionUtils.getMessage(var3);
         String[] var2 = v;
         throw new IOException(var2[96] + var10002, var3);
      } catch (FindException var4) {
         return this.a(v[56]);
      }
   }

   @Override
   public SsgKeyEntry getLatestClientSslInfo() throws IOException {
      try {
         String[] var5 = v;
         return this.e(var5[29]);
      } catch (KeyStoreException var3) {
         String var10002 = ExceptionUtils.getMessage(var3);
         String[] var2 = v;
         throw new IOException(var2[86] + var10002, var3);
      } catch (FindException var4) {
         return this.a(v[29]);
      }
   }

   private SsgKeyEntry c() throws IOException {
      String[] var6 = v;
      a.log(Level.INFO, var6[3]);
      boolean var1 = AuditContextUtils.isSystem();
      AuditContextUtils.setSystem(true);

      try {
         String var2 = this.a(var6[56], var6[20]);
         SsgKeyStore var3 = this.e();
         this.b(var3, var2);
         return this.a(var3, var2);
      } finally {
         AuditContextUtils.setSystem(var1);
      }
   }

   private SsgKeyEntry a(SsgKeyStore var1, String var2) throws IOException {
      try {
         SsgKeyEntry var3 = var1.getCertificateChain(var2);
         String[] var20 = v;
         String var4 = this.i.getClusterPropertyName(var20[87]);

         try {
            if (var4 == null) {
               throw new IOException(var20[66]);
            }
         } catch (ObjectNotFoundException var11) {
            throw a(var11);
         }

         String var5 = var3.getKeystoreId() + ":" + var3.getAlias();
         this.j.putProperty(var4, var5);
         var20 = v;
         String var6 = this.i.getClusterPropertyName(var20[56]);

         try {
            if (var6 == null) {
               throw new IOException(var20[16]);
            }
         } catch (ObjectNotFoundException var10) {
            throw a(var10);
         }

         this.j.putProperty(var6, var5);
         var20 = v;
         String var7 = this.i.getClusterPropertyName(var20[29]);

         try {
            if (var7 == null) {
               throw new IOException(var20[88]);
            }
         } catch (ObjectNotFoundException var9) {
            throw a(var9);
         }

         this.j.putProperty(var7, var5);
         this.f();
         return var3;
      } catch (ObjectNotFoundException var12) {
         String var25 = ExceptionUtils.getMessage(var12);
         String[] var19 = v;
         throw new IOException(var19[73] + var25, ExceptionUtils.getDebugException(var12));
      } catch (KeyStoreException var13) {
         String var24 = ExceptionUtils.getMessage(var13);
         String[] var18 = v;
         throw new IOException(var18[58] + var24, var13);
      } catch (FindException var14) {
         String var23 = ExceptionUtils.getMessage(var14);
         String[] var17 = v;
         throw new IOException(var17[90] + var23, var14);
      } catch (UpdateException var15) {
         String var10002 = ExceptionUtils.getMessage(var15);
         String[] var8 = v;
         throw new IOException(var8[6] + var10002, var15);
      } catch (SaveException var16) {
         throw new IOException(v[6] + ExceptionUtils.getMessage(var16), var16);
      }
   }

   private void b(SsgKeyStore param1, String param2) throws IOException {
      // $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:
      // 000: aload 0
      // 001: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 004: astore 8
      // 006: aload 8
      // 008: bipush 4
      // 009: aaload
      // 00a: invokevirtual com/l7tech/server/DefaultKeyImpl.getenv (Ljava/lang/String;)Ljava/lang/String;
      // 00d: astore 3
      // 00e: aload 0
      // 00f: aload 8
      // 011: bipush 47
      // 013: aaload
      // 014: invokevirtual com/l7tech/server/DefaultKeyImpl.getenv (Ljava/lang/String;)Ljava/lang/String;
      // 017: astore 4
      // 019: aload 0
      // 01a: aload 8
      // 01c: bipush 36
      // 01e: aaload
      // 01f: invokevirtual com/l7tech/server/DefaultKeyImpl.getenv (Ljava/lang/String;)Ljava/lang/String;
      // 022: astore 5
      // 024: aload 8
      // 026: bipush 92
      // 028: aaload
      // 029: invokestatic java/lang/Boolean.getBoolean (Ljava/lang/String;)Z
      // 02c: ifeq 105
      // 02f: aload 4
      // 031: invokestatic org/apache/commons/lang3/StringUtils.isNotBlank (Ljava/lang/CharSequence;)Z
      // 034: ifeq 07d
      // 037: goto 03e
      // 03a: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 03d: athrow
      // 03e: aload 5
      // 040: invokestatic org/apache/commons/lang3/StringUtils.isNotBlank (Ljava/lang/CharSequence;)Z
      // 043: ifeq 07d
      // 046: goto 04d
      // 049: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04c: athrow
      // 04d: aload 0
      // 04e: aload 1
      // 04f: aload 5
      // 051: aload 2
      // 052: aload 4
      // 054: invokevirtual com/l7tech/server/DefaultKeyImpl.a (Lcom/l7tech/server/security/keystore/SsgKeyStore;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 057: return
      // 058: astore 6
      // 05a: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 05d: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 060: aload 6
      // 062: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 065: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 068: astore 8
      // 06a: aload 8
      // 06c: bipush 12
      // 06e: aaload
      // 06f: swap
      // 070: 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" ]
      // 075: aload 6
      // 077: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 07a: goto 105
      // 07d: aload 3
      // 07e: ifnull 105
      // 081: aload 3
      // 082: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 085: invokevirtual java/lang/String.length ()I
      // 088: ifle 105
      // 08b: goto 092
      // 08e: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 091: athrow
      // 092: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 095: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 098: astore 8
      // 09a: aload 8
      // 09c: bipush 85
      // 09e: aaload
      // 09f: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 0a2: aload 0
      // 0a3: aload 8
      // 0a5: bipush 83
      // 0a7: aaload
      // 0a8: invokevirtual com/l7tech/server/DefaultKeyImpl.getenv (Ljava/lang/String;)Ljava/lang/String;
      // 0ab: astore 6
      // 0ad: aload 6
      // 0af: ifnonnull 0c4
      // 0b2: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 0b5: aload 8
      // 0b7: bipush 32
      // 0b9: aaload
      // 0ba: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 0bd: aload 8
      // 0bf: bipush 25
      // 0c1: aaload
      // 0c2: astore 6
      // 0c4: aload 0
      // 0c5: getfield com/l7tech/server/DefaultKeyImpl.masterPasswordManager Lcom/l7tech/util/MasterPasswordManager;
      // 0c8: ifnull 0dd
      // 0cb: new java/lang/String
      // 0ce: dup
      // 0cf: aload 0
      // 0d0: getfield com/l7tech/server/DefaultKeyImpl.masterPasswordManager Lcom/l7tech/util/MasterPasswordManager;
      // 0d3: aload 6
      // 0d5: invokevirtual com/l7tech/util/MasterPasswordManager.decryptPasswordIfEncrypted (Ljava/lang/String;)[C
      // 0d8: invokespecial java/lang/String.<init> ([C)V
      // 0db: astore 6
      // 0dd: aload 0
      // 0de: aload 1
      // 0df: aload 6
      // 0e1: aload 2
      // 0e2: aload 3
      // 0e3: invokevirtual com/l7tech/server/DefaultKeyImpl.b (Lcom/l7tech/server/security/keystore/SsgKeyStore;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 0e6: return
      // 0e7: astore 7
      // 0e9: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 0ec: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 0ef: aload 7
      // 0f1: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0f4: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 0f7: bipush 70
      // 0f9: aaload
      // 0fa: swap
      // 0fb: 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" ]
      // 100: aload 7
      // 102: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 105: aload 0
      // 106: aload 1
      // 107: aload 2
      // 108: invokevirtual com/l7tech/server/DefaultKeyImpl.c (Lcom/l7tech/server/security/keystore/SsgKeyStore;Ljava/lang/String;)V
      // 10b: return
      // try (25 -> 34): 35 java/lang/Exception
      // try (20 -> 28): 29 java/lang/Exception
      // try (37 -> 43): 44 java/lang/Exception
      // try (59 -> 65): 66 java/lang/Exception
      // try (103 -> 109): 110 java/lang/Exception
   }

   private void a(SsgKeyStore var1, String var2, String var3, String var4) throws KeyStoreException, IOException, CertificateException, InterruptedException, ExecutionException {
      PrivateKey var5 = CertUtils.decodeKeyFromPEM(var4);

      try {
         if (null == var5) {
            throw new IOException(v[35]);
         }
      } catch (KeyStoreException var14) {
         throw a(var14);
      }

      String[] var6 = var2.split(CertUtils.PEM_CERT_BEGIN_MARKER);
      ArrayList var7 = new ArrayList();

      for (String var11 : var6) {
         try {
            if (StringUtils.isNotBlank(var11)) {
               var7.add(CertUtils.decodeFromPEM(CertUtils.PEM_CERT_BEGIN_MARKER + var11));
            }
         } catch (KeyStoreException var13) {
            throw a(var13);
         }
      }

      try {
         if (var7.isEmpty()) {
            throw new IOException(v[19]);
         }
      } catch (KeyStoreException var12) {
         throw a(var12);
      }

      X509Certificate[] var15 = new X509Certificate[var7.size()];
      var15 = var7.toArray(var15);
      this.a(var1, var15, var3, var5);
      a.info(v[5]);
   }

   private void b(SsgKeyStore var1, String var2, String var3, String var4) throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException, UnrecoverableKeyException, InterruptedException, ExecutionException {
      byte[] var5 = HexUtils.decodeBase64(var4);
      String[] var13 = v;
      KeyStore var6 = KeyStore.getInstance(var13[98]);
      var6.load(new ByteArrayInputStream(var5), var2.toCharArray());
      Enumeration var7 = var6.aliases();
      PrivateKey var8 = null;
      X509Certificate[] var9 = null;

      while (var7.hasMoreElements()) {
         String var10 = (String)var7.nextElement();
         if (var6.isKeyEntry(var10)) {
            var8 = (PrivateKey)var6.getKey(var10, var2.toCharArray());
            Certificate[] var11 = var6.getCertificateChain(var10);
            var9 = new X509Certificate[var11.length];
            int var12 = 0;

            try {
               while (var12 < var11.length) {
                  var9[var12] = (X509Certificate)var11[var12];
                  var12++;
               }
               break;
            } catch (KeyStoreException var15) {
               throw a(var15);
            }
         }
      }

      try {
         if (null == var8) {
            throw new IOException(v[38]);
         }
      } catch (KeyStoreException var14) {
         throw a(var14);
      }

      this.a(var1, var9, var3, var8);
      a.info(v[24]);
   }

   private void a(SsgKeyStore var1, X509Certificate[] var2, String var3, PrivateKey var4) throws KeyStoreException, InterruptedException, ExecutionException {
      SsgKeyEntry var5 = new SsgKeyEntry(var1.getGoid(), var3, var2, var4);
      Future var6 = var1.storePrivateKeyEntry(true, null, var5, false);
      var6.get();
      this.a(var2[0]);
   }

   protected String getenv(String var1) {
      return System.getenv(var1);
   }

   private void c(SsgKeyStore var1, String var2) throws IOException {
      X500Principal var3 = this.d();

      String var10000;
      label28: {
         try {
            if (v[15].equals(h)) {
               var10000 = v[44];
               break label28;
            }
         } catch (GeneralSecurityException var11) {
            throw a(var11);
         }

         var10000 = null;
      }

      String var4 = var10000;

      try {
         Future var5 = var1.generateKeyPair(null, var2, new KeyGenParams(), new CertGenParams(var3, 3650, false, var4), null);
         X509Certificate var6 = (X509Certificate)var5.get();
         this.a(var6);
      } catch (GeneralSecurityException var8) {
         String var13 = ExceptionUtils.getMessage(var8);
         String[] var12 = v;
         throw new IOException(var12[46] + var13, var8);
      } catch (ExecutionException var9) {
         String var10002 = ExceptionUtils.getMessage(var9);
         String[] var7 = v;
         throw new IOException(var7[13] + var10002, var9);
      } catch (InterruptedException var10) {
         throw new IOException(v[13] + ExceptionUtils.getMessage(var10), var10);
      }
   }

   private void a(X509Certificate param1) {
      // $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:
      // 000: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 003: astore 10
      // 005: aload 10
      // 007: bipush 84
      // 009: aaload
      // 00a: aconst_null
      // 00b: invokestatic com/l7tech/util/SyspropUtil.getString (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 00e: astore 2
      // 00f: aload 2
      // 010: ifnull 025
      // 013: aload 2
      // 014: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 017: invokevirtual java/lang/String.length ()I
      // 01a: bipush 1
      // 01b: if_icmpge 02a
      // 01e: goto 025
      // 021: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 024: athrow
      // 025: return
      // 026: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 029: athrow
      // 02a: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 02d: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 030: bipush 80
      // 032: aaload
      // 033: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 036: aload 0
      // 037: getfield com/l7tech/server/DefaultKeyImpl.trustedCertManager Lcom/l7tech/security/cert/TrustedCertManager;
      // 03a: ifnonnull 04f
      // 03d: new java/lang/IllegalStateException
      // 040: dup
      // 041: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 044: bipush 94
      // 046: aaload
      // 047: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 04a: athrow
      // 04b: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04e: athrow
      // 04f: aload 1
      // 050: invokestatic com/l7tech/common/io/CertUtils.getThumbprintSHA1 (Ljava/security/cert/X509Certificate;)Ljava/lang/String;
      // 053: astore 3
      // 054: aload 0
      // 055: getfield com/l7tech/server/DefaultKeyImpl.trustedCertManager Lcom/l7tech/security/cert/TrustedCertManager;
      // 058: aload 3
      // 059: invokeinterface com/l7tech/security/cert/TrustedCertManager.findByThumbprint (Ljava/lang/String;)Ljava/util/List; 2
      // 05e: astore 4
      // 060: aload 4
      // 062: ifnull 087
      // 065: aload 4
      // 067: invokeinterface java/util/List.isEmpty ()Z 1
      // 06c: ifne 087
      // 06f: goto 076
      // 072: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 075: athrow
      // 076: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 079: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 07c: astore 10
      // 07e: aload 10
      // 080: bipush 93
      // 082: aaload
      // 083: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 086: return
      // 087: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 08a: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 08d: astore 10
      // 08f: aload 10
      // 091: bipush 2
      // 092: aaload
      // 093: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 096: new com/l7tech/security/cert/TrustedCert
      // 099: dup
      // 09a: invokespecial com/l7tech/security/cert/TrustedCert.<init> ()V
      // 09d: astore 5
      // 09f: aload 5
      // 0a1: aload 1
      // 0a2: invokevirtual com/l7tech/security/cert/TrustedCert.setCertificate (Ljava/security/cert/X509Certificate;)V
      // 0a5: aload 5
      // 0a7: aload 10
      // 0a9: bipush 60
      // 0ab: aaload
      // 0ac: invokevirtual com/l7tech/security/cert/TrustedCert.setName (Ljava/lang/String;)V
      // 0af: aload 5
      // 0b1: aload 2
      // 0b2: aload 10
      // 0b4: bipush 65
      // 0b6: aaload
      // 0b7: invokevirtual java/lang/String.contains (Ljava/lang/CharSequence;)Z
      // 0ba: invokevirtual com/l7tech/security/cert/TrustedCert.setTrustAnchor (Z)V
      // 0bd: aload 5
      // 0bf: aload 2
      // 0c0: aload 10
      // 0c2: bipush 57
      // 0c4: aaload
      // 0c5: invokevirtual java/lang/String.contains (Ljava/lang/CharSequence;)Z
      // 0c8: invokevirtual com/l7tech/security/cert/TrustedCert.setVerifyHostname (Z)V
      // 0cb: aload 5
      // 0cd: getstatic com/l7tech/security/cert/TrustedCert$PolicyUsageType.USE_DEFAULT Lcom/l7tech/security/cert/TrustedCert$PolicyUsageType;
      // 0d0: invokevirtual com/l7tech/security/cert/TrustedCert.setRevocationCheckPolicyType (Lcom/l7tech/security/cert/TrustedCert$PolicyUsageType;)V
      // 0d3: invokestatic com/l7tech/security/cert/TrustedCert$TrustedFor.values ()[Lcom/l7tech/security/cert/TrustedCert$TrustedFor;
      // 0d6: astore 6
      // 0d8: aload 6
      // 0da: arraylength
      // 0db: istore 7
      // 0dd: bipush 0
      // 0de: istore 8
      // 0e0: iload 8
      // 0e2: iload 7
      // 0e4: if_icmpge 11a
      // 0e7: aload 6
      // 0e9: iload 8
      // 0eb: aaload
      // 0ec: astore 9
      // 0ee: aload 2
      // 0ef: aload 9
      // 0f1: invokevirtual com/l7tech/security/cert/TrustedCert$TrustedFor.name ()Ljava/lang/String;
      // 0f4: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 0f7: bipush 1
      // 0f8: aaload
      // 0f9: swap
      // 0fa: 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" ]
      // 0ff: invokevirtual java/lang/String.contains (Ljava/lang/CharSequence;)Z
      // 102: ifeq 114
      // 105: aload 5
      // 107: aload 9
      // 109: bipush 1
      // 10a: invokevirtual com/l7tech/security/cert/TrustedCert.setTrustedFor (Lcom/l7tech/security/cert/TrustedCert$TrustedFor;Z)V
      // 10d: goto 114
      // 110: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 113: athrow
      // 114: iinc 8 1
      // 117: goto 0e0
      // 11a: aload 0
      // 11b: getfield com/l7tech/server/DefaultKeyImpl.trustedCertManager Lcom/l7tech/security/cert/TrustedCertManager;
      // 11e: aload 5
      // 120: invokeinterface com/l7tech/security/cert/TrustedCertManager.save (Lcom/l7tech/objectmodel/PersistentEntity;)Lcom/l7tech/objectmodel/Goid; 2
      // 125: astore 6
      // 127: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 12a: aload 6
      // 12c: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 12f: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 132: astore 10
      // 134: aload 10
      // 136: bipush 75
      // 138: aaload
      // 139: swap
      // 13a: 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" ]
      // 13f: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 142: goto 19b
      // 145: astore 3
      // 146: new java/lang/RuntimeException
      // 149: dup
      // 14a: aload 3
      // 14b: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 14e: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 151: astore 10
      // 153: aload 10
      // 155: bipush 55
      // 157: aaload
      // 158: swap
      // 159: 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" ]
      // 15e: aload 3
      // 15f: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 162: athrow
      // 163: astore 3
      // 164: new java/lang/RuntimeException
      // 167: dup
      // 168: aload 3
      // 169: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 16c: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 16f: astore 10
      // 171: aload 10
      // 173: bipush 76
      // 175: aaload
      // 176: swap
      // 177: 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" ]
      // 17c: aload 3
      // 17d: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 180: athrow
      // 181: astore 3
      // 182: new java/lang/RuntimeException
      // 185: dup
      // 186: aload 3
      // 187: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 18a: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 18d: bipush 82
      // 18f: aaload
      // 190: swap
      // 191: 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" ]
      // 196: aload 3
      // 197: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 19a: athrow
      // 19b: return
      // try (46 -> 51): 52 java/security/cert/CertificateEncodingException
      // try (21 -> 36): 36 java/security/cert/CertificateEncodingException
      // try (10 -> 19): 19 java/security/cert/CertificateEncodingException
      // try (8 -> 15): 16 java/security/cert/CertificateEncodingException
      // try (38 -> 61): 148 java/security/cert/CertificateEncodingException
      // try (112 -> 126): 127 java/security/cert/CertificateEncodingException
      // try (62 -> 147): 148 java/security/cert/CertificateEncodingException
      // try (38 -> 61): 163 com/l7tech/objectmodel/FindException
      // try (62 -> 147): 163 com/l7tech/objectmodel/FindException
      // try (38 -> 61): 178 com/l7tech/objectmodel/SaveException
      // try (62 -> 147): 178 com/l7tech/objectmodel/SaveException
   }

   private X500Principal d() {
      String[] var2 = v;
      String var1 = this.i.getProperty(var2[48]);

      try {
         if (var1 != null && var1.trim().length() != 0) {
            return new X500Principal(v[68] + var1);
         }
      } catch (RuntimeException var3) {
         throw a(var3);
      }

      var1 = this.i.getHostname();
      return new X500Principal(v[68] + var1);
   }

   private SsgKeyStore e() throws IOException {
      SsgKeyStore var1 = null;

      try {
         for (SsgKeyFinder var4 : this.k.findAll()) {
            if (var4.isMutable()) {
               var1 = var4.getKeyStore();
               break;
            }
         }

         try {
            if (var1 == null) {
               throw new IOException(v[27]);
            } else {
               return var1;
            }
         } catch (FindException var6) {
            throw a(var6);
         }
      } catch (FindException var7) {
         String var10002 = ExceptionUtils.getMessage(var7);
         String[] var5 = v;
         throw new IOException(var5[50] + var10002, var7);
      } catch (KeyStoreException var8) {
         throw new IOException(v[8] + ExceptionUtils.getMessage(var8), var8);
      }
   }

   private String a(String var1, String var2) throws IOException {
      Pair var3 = this.d(var1);

      String var10000;
      label42: {
         try {
            if (var3 == null) {
               var10000 = null;
               break label42;
            }
         } catch (IOException var8) {
            throw a(var8);
         }

         var10000 = (String)var3.right;
      }

      String var4 = var10000;

      label34: {
         try {
            if (var4 != null && var4.trim().length() >= 1) {
               break label34;
            }
         } catch (IOException var7) {
            throw a(var7);
         }

         var4 = var2;
      }

      String var5 = var4;
      int var6 = 1;

      while (this.b(var5)) {
         var5 = var4 + var6++;
      }

      return var5;
   }

   private boolean b(String var1) throws IOException {
      try {
         this.k.lookupKeyByKeyAlias(var1, PersistentEntity.DEFAULT_GOID);
         return true;
      } catch (ObjectNotFoundException var4) {
         return false;
      } catch (FindException var5) {
         String var8 = ExceptionUtils.getMessage(var5);
         String[] var7 = v;
         throw new IOException(var7[72] + var1 + var7[14] + var8, var5);
      } catch (KeyStoreException var6) {
         String var10003 = ExceptionUtils.getMessage(var6);
         String[] var3 = v;
         throw new IOException(var3[9] + var1 + var3[91] + var10003, var6);
      }
   }

   @Override
   public SsgKeyEntry getCaInfo() {
      try {
         String[] var5 = v;
         return this.a(this.p, var5[54], false);
      } catch (IOException var3) {
         String var10002 = ExceptionUtils.getMessage(var3);
         String[] var2 = v;
         throw new RuntimeException(var2[34] + var10002, var3);
      } catch (ObjectNotFoundException var4) {
         throw new RuntimeException(v[51] + ExceptionUtils.getMessage(var4), var4);
      }
   }

   @Override
   public SsgKeyEntry getAuditSigningInfo() {
      try {
         String[] var5 = v;
         return this.a(this.t, var5[23], false);
      } catch (IOException var3) {
         String var10002 = ExceptionUtils.getMessage(var3);
         String[] var2 = v;
         throw new RuntimeException(var2[30] + var10002, var3);
      } catch (ObjectNotFoundException var4) {
         throw new RuntimeException(v[63] + ExceptionUtils.getMessage(var4), var4);
      }
   }

   @Override
   public SsgKeyEntry getAuditViewerInfo() {
      try {
         String[] var5 = v;
         return this.a(this.s, var5[77], false);
      } catch (IOException var3) {
         String var10002 = ExceptionUtils.getMessage(var3);
         String[] var2 = v;
         throw new RuntimeException(var2[71] + var10002, var3);
      } catch (ObjectNotFoundException var4) {
         throw new RuntimeException(v[22] + ExceptionUtils.getMessage(var4), var4);
      }
   }

   @Override
   public Pair<Goid, String> getAuditViewerAlias() {
      SsgKeyEntry var1 = this.s.get();

      try {
         if (var1 != null) {
            return new Pair(var1.getKeystoreId(), var1.getAlias());
         }
      } catch (IOException var5) {
         throw a(var5);
      }

      try {
         String[] var3 = v;
         return this.d(var3[79]);
      } catch (IOException var4) {
         throw new RuntimeException(v[42] + ExceptionUtils.getMessage(var4), var4);
      }
   }

   @Override
   public KeyManager[] getSslKeyManagers() {
      try {
         SsgKeyEntry var1 = this.getSslInfo();
         X509Certificate[] var2 = var1.getCertificateChain();
         PrivateKey var3 = var1.getPrivate();
         String var4 = var1.getAlias();
         return new KeyManager[]{new SingleCertX509KeyManager(var2, var3, var4)};
      } catch (IOException var6) {
         String var10002 = ExceptionUtils.getMessage(var6);
         String[] var5 = v;
         throw new RuntimeException(var5[95] + var10002, var6);
      } catch (UnrecoverableKeyException var7) {
         throw new RuntimeException(v[99] + ExceptionUtils.getMessage(var7), var7);
      }
   }

   @Override
   public KeyManager[] getServerSslKeyManagers() {
      try {
         SsgKeyEntry var1 = this.getServerSslInfo();
         X509Certificate[] var2 = var1.getCertificateChain();
         PrivateKey var3 = var1.getPrivate();
         String var4 = var1.getAlias();
         return new KeyManager[]{new SingleCertX509KeyManager(var2, var3, var4)};
      } catch (IOException var6) {
         String var10002 = ExceptionUtils.getMessage(var6);
         String[] var5 = v;
         throw new RuntimeException(var5[18] + var10002, var6);
      } catch (UnrecoverableKeyException var7) {
         throw new RuntimeException(v[89] + ExceptionUtils.getMessage(var7), var7);
      }
   }

   @Override
   public KeyManager[] getClientSslKeyManagers() {
      // $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: invokevirtual com/l7tech/server/DefaultKeyImpl.getClientSslInfo ()Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;
      // 04: astore 1
      // 05: aload 1
      // 06: invokestatic com/l7tech/server/DefaultKeyImpl.isNullEntry (Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;)Z
      // 09: ifne 33
      // 0c: aload 1
      // 0d: ifnull 33
      // 10: goto 17
      // 13: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16: athrow
      // 17: aload 1
      // 18: invokevirtual com/l7tech/gateway/common/security/keystore/SsgKeyEntry.getCertificateChain ()[Ljava/security/cert/X509Certificate;
      // 1b: ifnull 33
      // 1e: goto 25
      // 21: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 24: athrow
      // 25: aload 1
      // 26: invokevirtual com/l7tech/gateway/common/security/keystore/SsgKeyEntry.getPrivate ()Ljava/security/PrivateKey;
      // 29: ifnonnull 4b
      // 2c: goto 33
      // 2f: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 32: athrow
      // 33: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 36: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 39: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 3c: astore 5
      // 3e: aload 5
      // 40: bipush 53
      // 42: aaload
      // 43: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 46: bipush 0
      // 47: anewarray 343
      // 4a: areturn
      // 4b: aload 1
      // 4c: invokevirtual com/l7tech/gateway/common/security/keystore/SsgKeyEntry.getCertificateChain ()[Ljava/security/cert/X509Certificate;
      // 4f: astore 2
      // 50: aload 1
      // 51: invokevirtual com/l7tech/gateway/common/security/keystore/SsgKeyEntry.getPrivate ()Ljava/security/PrivateKey;
      // 54: astore 3
      // 55: aload 1
      // 56: invokevirtual com/l7tech/gateway/common/security/keystore/SsgKeyEntry.getAlias ()Ljava/lang/String;
      // 59: astore 4
      // 5b: bipush 1
      // 5c: anewarray 343
      // 5f: dup
      // 60: bipush 0
      // 61: new com/l7tech/common/io/SingleCertX509KeyManager
      // 64: dup
      // 65: aload 2
      // 66: aload 3
      // 67: aload 4
      // 69: invokespecial com/l7tech/common/io/SingleCertX509KeyManager.<init> ([Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/lang/String;)V
      // 6c: aastore
      // 6d: areturn
      // 6e: astore 1
      // 6f: new java/lang/RuntimeException
      // 72: dup
      // 73: aload 1
      // 74: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 77: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 7a: astore 5
      // 7c: aload 5
      // 7e: bipush 43
      // 80: aaload
      // 81: swap
      // 82: 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" ]
      // 87: aload 1
      // 88: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 8b: athrow
      // 8c: astore 1
      // 8d: new java/lang/RuntimeException
      // 90: dup
      // 91: aload 1
      // 92: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 95: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 98: bipush 100
      // 9a: aaload
      // 9b: swap
      // 9c: 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" ]
      // a1: aload 1
      // a2: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // a5: athrow
      // try (11 -> 20): 21 java/io/IOException
      // try (6 -> 14): 15 java/io/IOException
      // try (3 -> 8): 9 java/io/IOException
      // try (0 -> 33): 55 java/io/IOException
      // try (34 -> 54): 55 java/io/IOException
      // try (0 -> 33): 70 java/security/UnrecoverableKeyException
      // try (34 -> 54): 70 java/security/UnrecoverableKeyException
   }

   @Override
   public SsgKeyEntry lookupKeyByKeyAlias(String var1, Goid var2) throws FindException, KeyStoreException, IOException {
      try {
         if (var1 == null) {
            return this.getSslInfo();
         }
      } catch (FindException var3) {
         throw a(var3);
      }

      return this.k.lookupKeyByKeyAlias(var1, var2);
   }

   @Override
   public void propertyChange(PropertyChangeEvent var1) {
      this.f();
   }

   private void f() {
      this.n.set(null);
      this.o.set(null);
      this.p.set(null);
      this.s.set(null);
      this.t.set(null);
   }

   private void c(String var1) {
      this.u.forEach(var1x -> {
         try {
            var1x.notifyKeyChanged(var1);
         } catch (Exception var3) {
            a.log(Level.WARNING, v[10], ExceptionUtils.getMessageWithCause(var3));
         }
      });
   }

   private SsgKeyEntry a(AtomicReference<SsgKeyEntry> param1, String param2, boolean param3) throws IOException, ObjectNotFoundException {
      // $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 1
      // 01: invokevirtual java/util/concurrent/atomic/AtomicReference.get ()Ljava/lang/Object;
      // 04: checkcast com/l7tech/gateway/common/security/keystore/SsgKeyEntry
      // 07: astore 4
      // 09: aload 4
      // 0b: ifnull 11
      // 0e: goto ad
      // 11: aload 0
      // 12: aload 2
      // 13: invokevirtual com/l7tech/server/DefaultKeyImpl.e (Ljava/lang/String;)Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;
      // 16: astore 4
      // 18: aload 4
      // 1a: ifnull 2c
      // 1d: aload 4
      // 1f: invokestatic com/l7tech/server/DefaultKeyImpl.isNullEntry (Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;)Z
      // 22: ifeq 35
      // 25: goto 2c
      // 28: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2b: athrow
      // 2c: aload 0
      // 2d: aload 2
      // 2e: aload 4
      // 30: invokevirtual com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/String;Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;)Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;
      // 33: astore 4
      // 35: goto a0
      // 38: astore 5
      // 3a: new java/io/IOException
      // 3d: dup
      // 3e: aload 2
      // 3f: aload 5
      // 41: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 44: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 47: astore 7
      // 49: aload 7
      // 4b: bipush 81
      // 4d: aaload
      // 4e: dup_x2
      // 4f: pop
      // 50: aload 7
      // 52: bipush 17
      // 54: aaload
      // 55: swap
      // 56: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 5b: aload 5
      // 5d: invokespecial java/io/IOException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 60: athrow
      // 61: astore 5
      // 63: aload 5
      // 65: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 68: astore 6
      // 6a: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 6d: iload 3
      // 6e: ifeq 7b
      // 71: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 74: goto 7e
      // 77: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7a: athrow
      // 7b: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 7e: aload 2
      // 7f: aload 6
      // 81: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 84: astore 7
      // 86: aload 7
      // 88: bipush 45
      // 8a: aaload
      // 8b: dup_x2
      // 8c: pop
      // 8d: aload 7
      // 8f: bipush 40
      // 91: aaload
      // 92: swap
      // 93: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 98: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 9b: getstatic com/l7tech/server/DefaultKeyImpl.b Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;
      // 9e: astore 4
      // a0: aload 1
      // a1: aconst_null
      // a2: aload 4
      // a4: invokevirtual java/util/concurrent/atomic/AtomicReference.compareAndSet (Ljava/lang/Object;Ljava/lang/Object;)Z
      // a7: ifeq 00
      // aa: goto ad
      // ad: iload 3
      // ae: ifeq e5
      // b1: aload 4
      // b3: ifnull cc
      // b6: goto bd
      // b9: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // bc: athrow
      // bd: aload 4
      // bf: invokestatic com/l7tech/server/DefaultKeyImpl.isNullEntry (Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;)Z
      // c2: ifeq e5
      // c5: goto cc
      // c8: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // cb: athrow
      // cc: new com/l7tech/objectmodel/ObjectNotFoundException
      // cf: dup
      // d0: aload 2
      // d1: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // d4: bipush 74
      // d6: aaload
      // d7: swap
      // d8: 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" ]
      // dd: invokespecial com/l7tech/objectmodel/ObjectNotFoundException.<init> (Ljava/lang/String;)V
      // e0: athrow
      // e1: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // e4: athrow
      // e5: aload 4
      // e7: invokestatic com/l7tech/server/DefaultKeyImpl.isNullEntry (Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;)Z
      // ea: ifeq f5
      // ed: aconst_null
      // ee: goto f7
      // f1: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // f4: athrow
      // f5: aload 4
      // f7: areturn
      // try (11 -> 16): 17 java/security/KeyStoreException
      // try (7 -> 24): 25 java/security/KeyStoreException
      // try (7 -> 24): 46 com/l7tech/objectmodel/FindException
      // try (50 -> 55): 55 java/security/KeyStoreException
      // try (81 -> 85): 86 java/security/KeyStoreException
      // try (83 -> 91): 92 java/security/KeyStoreException
      // try (88 -> 104): 104 java/security/KeyStoreException
      // try (106 -> 111): 111 java/security/KeyStoreException
   }

   private SsgKeyEntry a(String param1, SsgKeyEntry 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: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 03: bipush 56
      // 05: aaload
      // 06: aload 1
      // 07: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0a: ifne 27
      // 0d: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 10: bipush 29
      // 12: aaload
      // 13: aload 1
      // 14: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 17: ifne 27
      // 1a: goto 21
      // 1d: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 20: athrow
      // 21: aload 2
      // 22: areturn
      // 23: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 26: athrow
      // 27: aload 0
      // 28: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 2b: astore 4
      // 2d: aload 4
      // 2f: bipush 87
      // 31: aaload
      // 32: invokevirtual com/l7tech/server/DefaultKeyImpl.e (Ljava/lang/String;)Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;
      // 35: astore 3
      // 36: aload 3
      // 37: ifnull 85
      // 3a: aload 3
      // 3b: invokestatic com/l7tech/server/DefaultKeyImpl.isNullEntry (Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;)Z
      // 3e: ifne 85
      // 41: goto 48
      // 44: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 47: athrow
      // 48: aload 0
      // 49: getfield com/l7tech/server/DefaultKeyImpl.q Ljava/util/concurrent/atomic/AtomicBoolean;
      // 4c: bipush 0
      // 4d: bipush 1
      // 4e: invokevirtual java/util/concurrent/atomic/AtomicBoolean.compareAndSet (ZZ)Z
      // 51: ifeq 83
      // 54: goto 5b
      // 57: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5a: athrow
      // 5b: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 5e: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 61: aload 1
      // 62: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 65: bipush 41
      // 67: aaload
      // 68: swap
      // 69: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 6c: bipush 64
      // 6e: aaload
      // 6f: 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" ]
      // 74: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 77: aload 0
      // 78: aload 3
      // 79: invokevirtual com/l7tech/server/DefaultKeyImpl.a (Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;)V
      // 7c: goto 83
      // 7f: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 82: athrow
      // 83: aload 3
      // 84: areturn
      // 85: goto a2
      // 88: astore 3
      // 89: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 8c: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 8f: aload 3
      // 90: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 93: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 96: bipush 59
      // 98: aaload
      // 99: swap
      // 9a: 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" ]
      // 9f: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // a2: aload 2
      // a3: areturn
      // try (35 -> 59): 60 java/io/IOException
      // try (29 -> 41): 42 java/io/IOException
      // try (27 -> 32): 33 java/io/IOException
      // try (6 -> 17): 17 java/io/IOException
      // try (0 -> 12): 13 java/io/IOException
      // try (19 -> 63): 65 java/io/IOException
      // try (19 -> 63): 65 com/l7tech/objectmodel/FindException
      // try (19 -> 63): 65 java/security/KeyStoreException
   }

   private void a(SsgKeyEntry var1) {
      try {
         String var2 = var1.getKeystoreId() + ":" + var1.getAlias();
         String[] var5 = v;
         String var3 = this.i.getClusterPropertyName(var5[56]);

         try {
            if (var3 != null) {
               this.b(var3, var2);
            }
         } catch (RuntimeException var8) {
            throw a(var8);
         }

         var5 = v;
         String var4 = this.i.getClusterPropertyName(var5[67]);

         try {
            if (var4 != null) {
               this.b(var4, var2);
            }
         } catch (RuntimeException var6) {
            throw a(var6);
         }

         try {
            if (this.m != null) {
               this.m.refreshFromDatabase();
            }
         } catch (RuntimeException var7) {
            throw a(var7);
         }

         this.f();
      } catch (RuntimeException var9) {
         a.log(Level.WARNING, v[7] + ExceptionUtils.getMessageWithCause(var9), var9);
      }
   }

   private void b(String var1, String var2) {
      TransactionTemplate var3 = new TransactionTemplate(this.l);
      var3.setPropagationBehavior(3);
      var3.execute(var3x -> {
         try {
            this.j.putProperty(var1, var2);
            return null;
         } catch (FindException | SaveException | UpdateException var5) {
            throw new RuntimeException(ExceptionUtils.getMessage(var5), var5);
         }
      });
   }

   private Pair<Goid, String> d(String param1) throws IOException {
      // $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: invokestatic com/l7tech/util/ConfigFactory.getUncachedConfig ()Lcom/l7tech/util/Config;
      // 03: aload 1
      // 04: invokeinterface com/l7tech/util/Config.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 09: astore 2
      // 0a: aload 2
      // 0b: ifnull 20
      // 0e: aload 2
      // 0f: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 12: invokevirtual java/lang/String.length ()I
      // 15: bipush 1
      // 16: if_icmpge 26
      // 19: goto 20
      // 1c: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f: athrow
      // 20: aconst_null
      // 21: areturn
      // 22: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 25: athrow
      // 26: getstatic com/l7tech/server/DefaultKeyImpl.c Ljava/util/regex/Pattern;
      // 29: aload 2
      // 2a: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 2d: astore 3
      // 2e: aload 3
      // 2f: invokevirtual java/util/regex/Matcher.matches ()Z
      // 32: ifne 5b
      // 35: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 38: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 3b: aload 1
      // 3c: aload 2
      // 3d: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 40: bipush 97
      // 42: aaload
      // 43: dup_x2
      // 44: pop
      // 45: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 48: bipush 0
      // 49: aaload
      // 4a: swap
      // 4b: ldc "\""
      // 4d: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;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\u0001\u0001" ]
      // 52: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 55: aconst_null
      // 56: areturn
      // 57: invokestatic com/l7tech/server/DefaultKeyImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5a: athrow
      // 5b: getstatic com/l7tech/objectmodel/EntityType.SSG_KEYSTORE Lcom/l7tech/objectmodel/EntityType;
      // 5e: aload 3
      // 5f: bipush 1
      // 60: invokevirtual java/util/regex/Matcher.group (I)Ljava/lang/String;
      // 63: invokestatic com/l7tech/util/GoidUpgradeMapper.mapId (Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)Lcom/l7tech/objectmodel/Goid;
      // 66: astore 4
      // 68: aload 3
      // 69: bipush 2
      // 6a: invokevirtual java/util/regex/Matcher.group (I)Ljava/lang/String;
      // 6d: astore 5
      // 6f: new com/l7tech/util/Pair
      // 72: dup
      // 73: aload 4
      // 75: aload 5
      // 77: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 7a: areturn
      // 7b: astore 4
      // 7d: getstatic com/l7tech/server/DefaultKeyImpl.a Ljava/util/logging/Logger;
      // 80: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 83: aload 1
      // 84: aload 2
      // 85: getstatic com/l7tech/server/DefaultKeyImpl.v [Ljava/lang/String;
      // 88: astore 6
      // 8a: aload 6
      // 8c: bipush 31
      // 8e: aaload
      // 8f: dup_x2
      // 90: pop
      // 91: aload 6
      // 93: bipush 21
      // 95: aaload
      // 96: swap
      // 97: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 9c: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 9f: aconst_null
      // a0: areturn
      // try (22 -> 43): 43 java/lang/IllegalArgumentException
      // try (6 -> 16): 16 java/lang/IllegalArgumentException
      // try (4 -> 11): 12 java/lang/IllegalArgumentException
      // try (45 -> 60): 61 java/lang/IllegalArgumentException
   }

   private SsgKeyEntry e(String var1) throws IOException, FindException, KeyStoreException {
      Pair var2 = this.d(var1);

      try {
         if (var2 == null) {
            return b;
         }
      } catch (ObjectNotFoundException var5) {
         throw a(var5);
      }

      try {
         return this.k.lookupKeyByKeyAlias((String)var2.right, (Goid)var2.left);
      } catch (ObjectNotFoundException var4) {
         return b;
      }
   }

   static {
      String[] var5 = new String[101];
      int var3 = 0;
      String var2 = "\u0014\r\u001d\u000bz_J^?R\u001bhBM\u0003%}HKY\"Y\u0018\u000eXO\r*B\u000bA@^Y\"T_Z_J^?\u0017\u0010H\rl~\u0007\u0017\u0014KT\u0098`B\u001fI.Q\u001e[AK\r\u0018d3\u000e]MD=V\u000bK\rTH2\u0017\u0016]\r[H8^\u0018@LKH/\u001b_A_\u001fY#R_JHLD,Y\u001eZH[\r\u0018d3\u000e]MD=V\u000bK\rTH2\u0017\u0016]\rQB?\u0017\u0019AXQIp\u0017\u001c\\H^Y\"Y\u0018\u000eCZZkD\u001aBK\u0012^\"P\u0011KI\u001f~\u0018{_^_V[*C\u001a\u000eFZTkV\u0011J\r\\H9C\u0016HD\\L?R_ME^D%\u000b}~xr\u0018d3qfztNjHYL>[\u000b\u000e~lak\\\u001aW\rLX(T\u001a]^YX'[\u0006\u000eNMH*C\u001aJ\rY_$Z_}~xr\u0018d3qfzt\u0014g:c\rZC=^\rACRH%C_XLMD*U\u0013K%{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_}~s\r R\u0006\u0014\rO{C^O'R_ZB\u001f@\"P\rOYZ\r'R\u0018ONF\r\u0018d3\u000eFZTkG\rA]Z_?N_ZB\u001fC.@_}HM[.EPmAVH%C_}~s\r;E\u0010^HMY\"R\f\u0014\rD{C^O'R_ZB\u001fK\"Y\u001b\u000eFZT8C\u0010\\H\u001fD%\u0017\bFD\\EkC\u0010\u000eNMH*C\u001a\u000eDQD?^\u001eB\r[H-V\nBY\u001f~\u0018{_EHF\u0017k\u001a{C^O'R_ZB\u001fN#R\u001cE\rVKkV\u0013GLL\riDk_MB9\u0017\u001a@NPX%C\u001a\\H[\r<_\u0016BH\u001fC$C\u0016HTVC,\u0017\u000bFH\u001fi.Q\u001e[AK\r R\u0006\u000eDQK$\u0017\u0013G^KH%R\r]\rD\u001d6*{C^O'R_ZB\u001f]9R\u000fO_Z\r/R\u0019OXSYkt\u0013GHQYkd,b\rTH2\r_LhLVA.S_ZB\u001fN9R\u001eZH\u001fI.Q\u001e[AK\r\u0018d3\u000eFZTkQ\rA@\u001f~\u0018p }~sr\u0000r&q}z`kR\u0011XDMB%Z\u001a@Y\u001f[*E\u0016OOSHq\u0017*{C^O'R_ZB\u001fN9R\u001eZH\u001fD%^\u000bGLS\r/R\u0019OXSYkd,b\rTH2\r_\u0013\f\rV^kV\u0013\\H^I2\u0017\n]H[\u0017k\n|~~~\u0018vR~~l}{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_}HM[.E_}~s\r R\u0006\u0014\rQBkT\u0013[^KH9\u0017\u000f\\BOH9C\u0006\u000eIZK\"Y\u001aJ\rYB9\u0017,K_IH9t\u0010@KVJkG\rA]Z_?N_EHF~?X\rKiZK*B\u0013Z~Z_=R\r}^Sf.N\u0002\u0014\r%`B\u001fI.Q\u001e[AK\r\u0018R\rXHM\r\u0018d3\u000eFZTkV\tODSL)[\u001a\u0014\r-`B\u001fN.E\u000bGKVN*C\u001a\u000eKPX%S_GC\u001f~\u0018p }~sr\u0000r&q}z`\u0014t:|yl\u0003}~s\u0002\u0014\r${C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f[\"R\bK_\u001fF.NE\u000e\u0017EHF~?X\rKlJI\"C,GJQD%P4KTJjHYL>[\u000b\u000e~lak\\\u001aW\rLX(T\u001a]^YX'[\u0006\u000eNMH*C\u001aJ\rY_$Z_}~xr\u0018d3qfztkR\u0011XDMB%Z\u001a@Y\u001f[*E\u0016OOSH\b^LL^<X\rJ\u0011cDX_*C\u0016@J\u001fA.P\u001eMT\u001fE`B\u001f@>C\u001eLAZ\r R\u0006]YP_.D_HBJC/\u0017\u0016@\rHE\"T\u0017\u000eYP\r(E\u001aOYZ\r\"Y\u0016ZD^AkS\u001aHLJA?\u0017,}a\u001fF.N*{C^O'R_ZB\u001f]9R\u000fO_Z\r/R\u0019OXSYkd\u001a\\[Z_kd,b\rTH2\r_\u001bEHF~?X\rKiZK*B\u0013ZnSD.Y\u000b}^Sf.N%{C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f^\"P\u0011GCX\r R\u0006\u0014\r0lL[A2\u0017\u0019A_RL?C\u001aJ\rIL'B\u001a\u000eKP_kD\u001a\\[Z_(X\u0011HDX\r;E\u0010^HMY2\u0017e}~xr\u0018d3qfzt\u0014g>}~\u001fH%A\u0016\\BQ@.Y\u000b\u000e[^_\"V\u001dBH\u001fC$C_]HK\rf\u001a_IXZ^8^\u0011I\r[H-V\nBY\u001fF.N\fZBMHkG\u001e]^OE9V\fK\rYB9\u0017,}j`~\u0018{ ehf:MBR\u0003'\u0000\u000bKNW\u00038R\u001c[_VY2\u0019\u0014KTLY$E\u001a\u0000IZK*B\u0013ZfZTeD\u0016IC^Y>E\u001aoAXB9^\u000bF@\"{C^O'R_ZB\u001fA$X\u0014\u000eXO\r/R\u0019OXSYkt>\u000eFZTq\u0017-`B\u001f]9^\tOYZ\r R\u0006\u000eHQY9N_HBJC/\u0017\u0016@\rl~\fh,}a`f\u000en ~hr\u0015}~xr\u0018d3qfzt\u0014g:cr|h\u0019c,\u001bEHF~?X\rKiZK*B\u0013Z~Z_=R\r}^Sf.N2`B\u001f]9^\tOYZ\r R\u0006\u000eHQY9N_HBJC/\u0017\u0016@\rl~\fh,}a`f\u000en_EHF^?X\rK\u0004\u000eYP\r\u0010\u000eCPYkV\tODSL)[\u001a\u0014\r\t~_P].E\u000bW\r*{C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f[\"R\bK_\u001fF.N_OAVL8\r_%`B\u001fI.Q\u001e[AK\r\b[\u0016KCK\r\u0018d3\u000eFZTkV\tODSL)[\u001a\u0014\r\n|~~~\u0018vR~~l\u0010~_V[*C\u001a\u000eFZTkQ\u0010\\\r*{C^O'R_ZB\u001fN9R\u001eZH\u001fD%^\u000bGLS\r/R\u0019OXSYkd,b\rTH2\r_\u000f}~xr\u0018d3qfzt\u0014g:c\u000bMAJ^?R\rfBLY\u0004\u000eYP\rD{C^O'R_ZB\u001fK\"Y\u001b\u000eFZT8C\u0010\\H\u001fD%\u0017\bFD\\EkC\u0010\u000eNMH*C\u001a\u000eDQD?^\u001eB\r[H-V\nBY\u001f~\u0018{_EHF\u0017k\"{C^O'R_ZB\u001fA$X\u0014\u000eXO\r/R\u0019OXSYkt>\u000eFZTq\u0017\u0011cDX_*C\u0016@J\u001fA.P\u001eMT\u001fF`B\u001fI.Q\u001e[AK\r\b[\u0016KCK\r\u0018d3\u000eFZTkT\u0010@KVJ>E\u001aJ\u0001\u001f_.C\n\\CVC,\u0017\u001aC]KTk|\u001aW`^C*P\u001a\\\r^_9V\u0006\u0014EHF~?X\rKiZK*B\u0013Zn^f.N2{C^O'R_ZB\u001f^.C_[]\u001f~\u0018{_EHF\r*B\u000bAYMX8CE\u000eNZ_?\u0017\u0016@[^A\"SE\u000e\u001bEHF~?X\rKiZK*B\u0013Z~Z_=R\r}^Sf.N\u000eXHMD-N7A^KC*Z\u001a {C^O'R_ZB\u001fK\"Y\u001b\u000eIZK*B\u0013Z\rl~\u0007\u0017\u0014KT\u0005\r0{C^O'R_ZB\u001fK*[\u0013\u000eO^N \u0017\u000bA\rSH,V\u001cW\rl~\u0007\u0017\u0014KT\u001f]9X\u000fK_KTq\u0017\u000foXKB\u001fE\n]Yl^'|\u001aWB|HY_.D\u0017KI\u001fN'B\fZHM\r;E\u0010^HMY2\u0017\u001cONWHkV\u0019ZHM\r&^\u0018\\LKD%P_JHYL>[\u000b\u000e~lak\\\u001aW\u0017\u001f#p\u0005d\u001df\u000e\u001e\u0003K~\u0000\rj\u0004\u001d\u001fBQf\b#JV\u000e\u0001y\u0007\u0002\u0007\u0017\u0017\u0003a\u001e[%{C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f^\"P\u0011GCX\r R\u0006\u0014\rc\u000eCPYkT\u0010@KVJ>E\u001aJ\u0016\u001fK*[\u0013GCX\r)V\u001cE\rKBk[\u001aIL\\Tk\\\u001aW~KB9R;KK^X'C,]AtH2\u0017\u001e@I\u001f@\"P\rOYVC,\u0017\tOAJHkC\u0010\u000eCZZkG\rA]Z_?^\u001a]\u000bZ_J^?v\u0011MEP_p{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_}~s\r R\u0006\u0014\rQBkT\u0013[^KH9\u0017\u000f\\BOH9C\u0006\u000eIZK\"Y\u001aJ\rYB9\u0017,K_IH9t\u0010@KVJkG\rA]Z_?N_EHF~?X\rKiZK*B\u0013Z~LA\u0000R\u0006\u001bEHF~?X\rKiZK*B\u0013ZnSD.Y\u000b}^Sf.N\u0003MC\u0002C{C^O'R_ZB\u001f@\"P\rOYZ\r'R\u0018ONF\r\u0018d3\u000eFZTkG\rA]Z_?^\u001a]\r[X9^\u0011I\rVC\"C\u0016OAVW*C\u0016AC\u0005\rHhLVA.S_ZB\u001fN9R\u001eZH\u001fI.Q\u001e[AK\r\u0018d3\u000eFZTkQ\rA@\u001f~\u0018p }~sr\u0000r&\u000eHQ[\"E\u0010@@ZC?\u0017\tO_VL)[\u001a\u0014\r${C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f[\"R\bK_\u001fF.NE\u000e\u001a{C^O'R_ZB\u001fN#R\u001cE\rVKkV\u0013GLL\ri {C^O'R_ZB\u001fK\"Y\u001b\u000eIZK*B\u0013Z\rl~\u0007\u0017\u0014KT\u0005\r\u001a|HNX\"E\u001aJ\rTH2\u0017\n@LIL\"[\u001eLAZ\u0017k9OXKB\u001fE\n]Yl^'|\u001aW\u0017\u001fC.@_Z_J^?R\u001b\u000eNZ_?^\u0019GN^Y.\u0017\fO[ZIk@\u0016ZE\u001fJ$^\u001b\u0013D{C^O'R_ZB\u001f^.C_[]\u001f~\u0018{_EHF\r*B\u000bAYMX8CE\u000eXQL)[\u001a\u000eYP\r'X\u0010E\rJ]kC\r[^KH/\u0017\u001cK_K\u0017k\u0016EHF~?X\rKlJI\"C)GHHH9|\u001aW\u0015EHF~?X\rKiZK*B\u0013Z~LA\u0000R\u0006\u0016EHF~?X\rKlJI\"C)GHHH9|\u001aW$OXKB\u001fE\n]Yl^'|\u001aW\u0017\u001fN#R\u001cEDQJkT\u001a\\Y\u001f^?X\rK\u001b{C^O'R_ZB\u001f_.C\rGHIHk\\\u001aW\rYB9\u0017E{C^O'R_ZB\u001f^.C_[]\u001f~\u0018{_EHF\r*B\u000bAYMX8CE\u000eXQL)[\u001a\u000eYP\r8V\tK\rQH<\u0017\u000b\\XLY.S_MHMYq\u0017\u0010}~xr\u0018d3qfzt\u0014g>}~$MBR\u0003'\u0000\u000bKNW\u0003)X\u0010Z^K_*GQOXKB\u001fE\n]Yl^'|\u001aWJz_FD%P_ZB\u001fN9R\u001eZH\u001fI.Q\u001e[AK\r\u0018d3\u000eFZTkQ\rA@\u001fY#R_}~xr\u0018d3qfztkR\u0011XDMB%Z\u001a@Y\u001f[*E\u0016OOSH8{C^O'R_ZB\u001f_.C\rGHIHk\\\u001aW\rYB9\u0017\u0014KTlY$E\u001ajHYL>[\u000bmAVH%C,]AtH2\r_\u0015EHF~?X\rKiZK*B\u0013Z~LA\u0000R\u0006}{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_mAVH%C_}~s\r R\u0006\u0014\rQBkT\u0013[^KH9\u0017\u000f\\BOH9C\u0006\u000eIZK\"Y\u001aJ\rYB9\u0017,K_IH9t\u0010@KVJkG\rA]Z_?N_EHF~?X\rKiZK*B\u0013ZnSD.Y\u000b}^Sf.N){C^O'R_ZB\u001fL(T\u001a]^\u001fI.Q\u001e[AK\r\u0018R\rXHM\r\u0018d3\u000eFZTq\u0017%{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_}~s\r R\u0006\u0014\r\u0013\f\rV^kV\u0013\\H^I2\u0017\n]H[\u0017k&MBR\u0003'\u0000\u000bKNW\u0003)X\u0010Z^K_*GQKCI\u00038D\u0013EHF\u0003.Y\u001eLAZ+OXKB\u001fE\n]Yl^'|\u001aW\u0017\u001f~\u0018{_EHF\r\"D_OAMH*S\u0006\u000eYMX8C\u001aJ9{C^O'R_ZB\u001f^.C_[]\u001f~\u0018{_EHF\r*B\u000bAYMX8CE\u000eCP\r?E\n]YZI\bR\rZ`^C*P\u001a\\\u001e`B\u001fI.Q\u001e[AK\r\u0018d3\u000eFZTkV\tODSL)[\u001a\u0014\r8{C^O'R_ZB\u001f_.C\rGHIHk\\\u001aW\rYB9\u0017\u0014KTlY$E\u001ajHYL>[\u000b}HM[.E,]AtH2\r_0lL[A2\u0017\u0019A_RL?C\u001aJ\rIL'B\u001a\u000eKP_kD\u001a\\[Z_(X\u0011HDX\r;E\u0010^HMY2\u0017\u0006~f|~z\u0005";
      int var4 = "\u0014\r\u001d\u000bz_J^?R\u001bhBM\u0003%}HKY\"Y\u0018\u000eXO\r*B\u000bA@^Y\"T_Z_J^?\u0017\u0010H\rl~\u0007\u0017\u0014KT\u0098`B\u001fI.Q\u001e[AK\r\u0018d3\u000e]MD=V\u000bK\rTH2\u0017\u0016]\r[H8^\u0018@LKH/\u001b_A_\u001fY#R_JHLD,Y\u001eZH[\r\u0018d3\u000e]MD=V\u000bK\rTH2\u0017\u0016]\rQB?\u0017\u0019AXQIp\u0017\u001c\\H^Y\"Y\u0018\u000eCZZkD\u001aBK\u0012^\"P\u0011KI\u001f~\u0018{_^_V[*C\u001a\u000eFZTkV\u0011J\r\\H9C\u0016HD\\L?R_ME^D%\u000b}~xr\u0018d3qfztNjHYL>[\u000b\u000e~lak\\\u001aW\rLX(T\u001a]^YX'[\u0006\u000eNMH*C\u001aJ\rY_$Z_}~xr\u0018d3qfzt\u0014g:c\rZC=^\rACRH%C_XLMD*U\u0013K%{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_}~s\r R\u0006\u0014\rO{C^O'R_ZB\u001f@\"P\rOYZ\r'R\u0018ONF\r\u0018d3\u000eFZTkG\rA]Z_?N_ZB\u001fC.@_}HM[.EPmAVH%C_}~s\r;E\u0010^HMY\"R\f\u0014\rD{C^O'R_ZB\u001fK\"Y\u001b\u000eFZT8C\u0010\\H\u001fD%\u0017\bFD\\EkC\u0010\u000eNMH*C\u001a\u000eDQD?^\u001eB\r[H-V\nBY\u001f~\u0018{_EHF\u0017k\u001a{C^O'R_ZB\u001fN#R\u001cE\rVKkV\u0013GLL\riDk_MB9\u0017\u001a@NPX%C\u001a\\H[\r<_\u0016BH\u001fC$C\u0016HTVC,\u0017\u000bFH\u001fi.Q\u001e[AK\r R\u0006\u000eDQK$\u0017\u0013G^KH%R\r]\rD\u001d6*{C^O'R_ZB\u001f]9R\u000fO_Z\r/R\u0019OXSYkt\u0013GHQYkd,b\rTH2\r_LhLVA.S_ZB\u001fN9R\u001eZH\u001fI.Q\u001e[AK\r\u0018d3\u000eFZTkQ\rA@\u001f~\u0018p }~sr\u0000r&q}z`kR\u0011XDMB%Z\u001a@Y\u001f[*E\u0016OOSHq\u0017*{C^O'R_ZB\u001fN9R\u001eZH\u001fD%^\u000bGLS\r/R\u0019OXSYkd,b\rTH2\r_\u0013\f\rV^kV\u0013\\H^I2\u0017\n]H[\u0017k\n|~~~\u0018vR~~l}{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_}HM[.E_}~s\r R\u0006\u0014\rQBkT\u0013[^KH9\u0017\u000f\\BOH9C\u0006\u000eIZK\"Y\u001aJ\rYB9\u0017,K_IH9t\u0010@KVJkG\rA]Z_?N_EHF~?X\rKiZK*B\u0013Z~Z_=R\r}^Sf.N\u0002\u0014\r%`B\u001fI.Q\u001e[AK\r\u0018R\rXHM\r\u0018d3\u000eFZTkV\tODSL)[\u001a\u0014\r-`B\u001fN.E\u000bGKVN*C\u001a\u000eKPX%S_GC\u001f~\u0018p }~sr\u0000r&q}z`\u0014t:|yl\u0003}~s\u0002\u0014\r${C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f[\"R\bK_\u001fF.NE\u000e\u0017EHF~?X\rKlJI\"C,GJQD%P4KTJjHYL>[\u000b\u000e~lak\\\u001aW\rLX(T\u001a]^YX'[\u0006\u000eNMH*C\u001aJ\rY_$Z_}~xr\u0018d3qfztkR\u0011XDMB%Z\u001a@Y\u001f[*E\u0016OOSH\b^LL^<X\rJ\u0011cDX_*C\u0016@J\u001fA.P\u001eMT\u001fE`B\u001f@>C\u001eLAZ\r R\u0006]YP_.D_HBJC/\u0017\u0016@\rHE\"T\u0017\u000eYP\r(E\u001aOYZ\r\"Y\u0016ZD^AkS\u001aHLJA?\u0017,}a\u001fF.N*{C^O'R_ZB\u001f]9R\u000fO_Z\r/R\u0019OXSYkd\u001a\\[Z_kd,b\rTH2\r_\u001bEHF~?X\rKiZK*B\u0013ZnSD.Y\u000b}^Sf.N%{C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f^\"P\u0011GCX\r R\u0006\u0014\r0lL[A2\u0017\u0019A_RL?C\u001aJ\rIL'B\u001a\u000eKP_kD\u001a\\[Z_(X\u0011HDX\r;E\u0010^HMY2\u0017e}~xr\u0018d3qfzt\u0014g>}~\u001fH%A\u0016\\BQ@.Y\u000b\u000e[^_\"V\u001dBH\u001fC$C_]HK\rf\u001a_IXZ^8^\u0011I\r[H-V\nBY\u001fF.N\fZBMHkG\u001e]^OE9V\fK\rYB9\u0017,}j`~\u0018{ ehf:MBR\u0003'\u0000\u000bKNW\u00038R\u001c[_VY2\u0019\u0014KTLY$E\u001a\u0000IZK*B\u0013ZfZTeD\u0016IC^Y>E\u001aoAXB9^\u000bF@\"{C^O'R_ZB\u001fA$X\u0014\u000eXO\r/R\u0019OXSYkt>\u000eFZTq\u0017-`B\u001f]9^\tOYZ\r R\u0006\u000eHQY9N_HBJC/\u0017\u0016@\rl~\fh,}a`f\u000en ~hr\u0015}~xr\u0018d3qfzt\u0014g:cr|h\u0019c,\u001bEHF~?X\rKiZK*B\u0013Z~Z_=R\r}^Sf.N2`B\u001f]9^\tOYZ\r R\u0006\u000eHQY9N_HBJC/\u0017\u0016@\rl~\fh,}a`f\u000en_EHF^?X\rK\u0004\u000eYP\r\u0010\u000eCPYkV\tODSL)[\u001a\u0014\r\t~_P].E\u000bW\r*{C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f[\"R\bK_\u001fF.N_OAVL8\r_%`B\u001fI.Q\u001e[AK\r\b[\u0016KCK\r\u0018d3\u000eFZTkV\tODSL)[\u001a\u0014\r\n|~~~\u0018vR~~l\u0010~_V[*C\u001a\u000eFZTkQ\u0010\\\r*{C^O'R_ZB\u001fN9R\u001eZH\u001fD%^\u000bGLS\r/R\u0019OXSYkd,b\rTH2\r_\u000f}~xr\u0018d3qfzt\u0014g:c\u000bMAJ^?R\rfBLY\u0004\u000eYP\rD{C^O'R_ZB\u001fK\"Y\u001b\u000eFZT8C\u0010\\H\u001fD%\u0017\bFD\\EkC\u0010\u000eNMH*C\u001a\u000eDQD?^\u001eB\r[H-V\nBY\u001f~\u0018{_EHF\u0017k\"{C^O'R_ZB\u001fA$X\u0014\u000eXO\r/R\u0019OXSYkt>\u000eFZTq\u0017\u0011cDX_*C\u0016@J\u001fA.P\u001eMT\u001fF`B\u001fI.Q\u001e[AK\r\b[\u0016KCK\r\u0018d3\u000eFZTkT\u0010@KVJ>E\u001aJ\u0001\u001f_.C\n\\CVC,\u0017\u001aC]KTk|\u001aW`^C*P\u001a\\\r^_9V\u0006\u0014EHF~?X\rKiZK*B\u0013Zn^f.N2{C^O'R_ZB\u001f^.C_[]\u001f~\u0018{_EHF\r*B\u000bAYMX8CE\u000eNZ_?\u0017\u0016@[^A\"SE\u000e\u001bEHF~?X\rKiZK*B\u0013Z~Z_=R\r}^Sf.N\u000eXHMD-N7A^KC*Z\u001a {C^O'R_ZB\u001fK\"Y\u001b\u000eIZK*B\u0013Z\rl~\u0007\u0017\u0014KT\u0005\r0{C^O'R_ZB\u001fK*[\u0013\u000eO^N \u0017\u000bA\rSH,V\u001cW\rl~\u0007\u0017\u0014KT\u001f]9X\u000fK_KTq\u0017\u000foXKB\u001fE\n]Yl^'|\u001aWB|HY_.D\u0017KI\u001fN'B\fZHM\r;E\u0010^HMY2\u0017\u001cONWHkV\u0019ZHM\r&^\u0018\\LKD%P_JHYL>[\u000b\u000e~lak\\\u001aW\u0017\u001f#p\u0005d\u001df\u000e\u001e\u0003K~\u0000\rj\u0004\u001d\u001fBQf\b#JV\u000e\u0001y\u0007\u0002\u0007\u0017\u0017\u0003a\u001e[%{C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f^\"P\u0011GCX\r R\u0006\u0014\rc\u000eCPYkT\u0010@KVJ>E\u001aJ\u0016\u001fK*[\u0013GCX\r)V\u001cE\rKBk[\u001aIL\\Tk\\\u001aW~KB9R;KK^X'C,]AtH2\u0017\u001e@I\u001f@\"P\rOYVC,\u0017\tOAJHkC\u0010\u000eCZZkG\rA]Z_?^\u001a]\u000bZ_J^?v\u0011MEP_p{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_}~s\r R\u0006\u0014\rQBkT\u0013[^KH9\u0017\u000f\\BOH9C\u0006\u000eIZK\"Y\u001aJ\rYB9\u0017,K_IH9t\u0010@KVJkG\rA]Z_?N_EHF~?X\rKiZK*B\u0013Z~LA\u0000R\u0006\u001bEHF~?X\rKiZK*B\u0013ZnSD.Y\u000b}^Sf.N\u0003MC\u0002C{C^O'R_ZB\u001f@\"P\rOYZ\r'R\u0018ONF\r\u0018d3\u000eFZTkG\rA]Z_?^\u001a]\r[X9^\u0011I\rVC\"C\u0016OAVW*C\u0016AC\u0005\rHhLVA.S_ZB\u001fN9R\u001eZH\u001fI.Q\u001e[AK\r\u0018d3\u000eFZTkQ\rA@\u001f~\u0018p }~sr\u0000r&\u000eHQ[\"E\u0010@@ZC?\u0017\tO_VL)[\u001a\u0014\r${C^O'R_ZB\u001fA$X\u0014\u000eXO\r*B\u001bGY\u001f[\"R\bK_\u001fF.NE\u000e\u001a{C^O'R_ZB\u001fN#R\u001cE\rVKkV\u0013GLL\ri {C^O'R_ZB\u001fK\"Y\u001b\u000eIZK*B\u0013Z\rl~\u0007\u0017\u0014KT\u0005\r\u001a|HNX\"E\u001aJ\rTH2\u0017\n@LIL\"[\u001eLAZ\u0017k9OXKB\u001fE\n]Yl^'|\u001aW\u0017\u001fC.@_Z_J^?R\u001b\u000eNZ_?^\u0019GN^Y.\u0017\fO[ZIk@\u0016ZE\u001fJ$^\u001b\u0013D{C^O'R_ZB\u001f^.C_[]\u001f~\u0018{_EHF\r*B\u000bAYMX8CE\u000eXQL)[\u001a\u000eYP\r'X\u0010E\rJ]kC\r[^KH/\u0017\u001cK_K\u0017k\u0016EHF~?X\rKlJI\"C)GHHH9|\u001aW\u0015EHF~?X\rKiZK*B\u0013Z~LA\u0000R\u0006\u0016EHF~?X\rKlJI\"C)GHHH9|\u001aW$OXKB\u001fE\n]Yl^'|\u001aW\u0017\u001fN#R\u001cEDQJkT\u001a\\Y\u001f^?X\rK\u001b{C^O'R_ZB\u001f_.C\rGHIHk\\\u001aW\rYB9\u0017E{C^O'R_ZB\u001f^.C_[]\u001f~\u0018{_EHF\r*B\u000bAYMX8CE\u000eXQL)[\u001a\u000eYP\r8V\tK\rQH<\u0017\u000b\\XLY.S_MHMYq\u0017\u0010}~xr\u0018d3qfzt\u0014g>}~$MBR\u0003'\u0000\u000bKNW\u0003)X\u0010Z^K_*GQOXKB\u001fE\n]Yl^'|\u001aWJz_FD%P_ZB\u001fN9R\u001eZH\u001fI.Q\u001e[AK\r\u0018d3\u000eFZTkQ\rA@\u001fY#R_}~xr\u0018d3qfztkR\u0011XDMB%Z\u001a@Y\u001f[*E\u0016OOSH8{C^O'R_ZB\u001f_.C\rGHIHk\\\u001aW\rYB9\u0017\u0014KTlY$E\u001ajHYL>[\u000bmAVH%C,]AtH2\r_\u0015EHF~?X\rKiZK*B\u0013Z~LA\u0000R\u0006}{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_mAVH%C_}~s\r R\u0006\u0014\rQBkT\u0013[^KH9\u0017\u000f\\BOH9C\u0006\u000eIZK\"Y\u001aJ\rYB9\u0017,K_IH9t\u0010@KVJkG\rA]Z_?N_EHF~?X\rKiZK*B\u0013ZnSD.Y\u000b}^Sf.N){C^O'R_ZB\u001fL(T\u001a]^\u001fI.Q\u001e[AK\r\u0018R\rXHM\r\u0018d3\u000eFZTq\u0017%{C^O'R_ZB\u001fN$Y\u0019GJJ_.\u0017\u001bKK^X'C_}~s\r R\u0006\u0014\r\u0013\f\rV^kV\u0013\\H^I2\u0017\n]H[\u0017k&MBR\u0003'\u0000\u000bKNW\u0003)X\u0010Z^K_*GQKCI\u00038D\u0013EHF\u0003.Y\u001eLAZ+OXKB\u001fE\n]Yl^'|\u001aW\u0017\u001f~\u0018{_EHF\r\"D_OAMH*S\u0006\u000eYMX8C\u001aJ9{C^O'R_ZB\u001f^.C_[]\u001f~\u0018{_EHF\r*B\u000bAYMX8CE\u000eCP\r?E\n]YZI\bR\rZ`^C*P\u001a\\\u001e`B\u001fI.Q\u001e[AK\r\u0018d3\u000eFZTkV\tODSL)[\u001a\u0014\r8{C^O'R_ZB\u001f_.C\rGHIHk\\\u001aW\rYB9\u0017\u0014KTlY$E\u001ajHYL>[\u000b}HM[.E,]AtH2\r_0lL[A2\u0017\u0019A_RL?C\u001aJ\rIL'B\u001a\u000eKP_kD\u001a\\[Z_(X\u0011HDX\r;E\u0010^HMY2\u0017\u0006~f|~z\u0005"
         .length();
      char var1 = 3;
      int var7 = -1;

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

         while (true) {
            String var9 = a(var10000, f(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     v = var5;
                     String[] var10 = v;
                     d = v[44];
                     f = var10[56];
                     e = var10[87];
                     g = var10[29];
                     a = Logger.getLogger(DefaultKeyImpl.class.getName());
                     b = new SsgKeyEntry(new Goid(0L, Long.MIN_VALUE), null, null, null);
                     String[] var8 = v;
                     c = Pattern.compile(var8[62]);
                     h = ConfigFactory.getProperty(var8[33], null);
                     return;
                  }

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

                  var2 = ".\u0016\u000b\u001ar\u0007\n\u000f\u0017J\u0019}\u0001O\b\u000bJ\u001c{\u0004K\u000e\u0014\u001eXM1f[\u0013\u000f\u0001$B).\u0016\u000b\u001ar\u0007\n\u000f\u0017J\u0019}\u0001O\b\u000bJ\u001c{\u0004K\u000e\u0014\u001eX]\u000eC\u001e\u0016\u001eXM1f[\u0013\u000f\u0001$B";
                  var4 = ".\u0016\u000b\u001ar\u0007\n\u000f\u0017J\u0019}\u0001O\b\u000bJ\u001c{\u0004K\u000e\u0014\u001eXM1f[\u0013\u000f\u0001$B).\u0016\u000b\u001ar\u0007\n\u000f\u0017J\u0019}\u0001O\b\u000bJ\u001c{\u0004K\u000e\u0014\u001eX]\u000eC\u001e\u0016\u001eXM1f[\u0013\u000f\u0001$B"
                     .length();
                  var1 = '"';
                  var7 = -1;
            }

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

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

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

      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 -> 93;
            case 1 -> 94;
            case 2 -> 76;
            case 3 -> 94;
            case 4 -> 56;
            case 5 -> 68;
            default -> 12;
         });
      }

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