package com.l7tech.server.identity.cert;

import com.l7tech.common.io.CertUtils;
import com.l7tech.identity.User;
import com.l7tech.identity.cert.CertEntryRow;
import com.l7tech.identity.cert.ClientCertManager;
import com.l7tech.identity.cert.ClientCertManager.CertInfo;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.UpdateException;
import com.l7tech.server.DefaultKey;
import com.l7tech.util.HexUtils;
import com.l7tech.util.Pair;
import java.math.BigInteger;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.security.auth.x500.X500Principal;
import org.hibernate.HibernateException;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ClientCertManagerImp extends HibernateDaoSupport implements ClientCertManager {
   private final DefaultKey a;
   private static final Logger b;
   private static final String c;
   private static final String d;
   private static final String e;
   private static final String[] f;

   public ClientCertManagerImp(DefaultKey var1) {
      this.a = var1;
   }

   @Transactional(propagation = Propagation.SUPPORTS)
   public boolean isCertPossiblyStale(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:
      // 00: aload 0
      // 01: getfield com/l7tech/server/identity/cert/ClientCertManagerImp.a Lcom/l7tech/server/DefaultKey;
      // 04: invokeinterface com/l7tech/server/DefaultKey.getCaInfo ()Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry; 1
      // 09: astore 2
      // 0a: aload 2
      // 0b: ifnonnull 14
      // 0e: bipush 0
      // 0f: ireturn
      // 10: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 13: athrow
      // 14: aload 2
      // 15: invokevirtual com/l7tech/gateway/common/security/keystore/SsgKeyEntry.getCertificate ()Ljava/security/cert/X509Certificate;
      // 18: astore 3
      // 19: aload 3
      // 1a: invokestatic com/l7tech/common/io/CertUtils.getSKIBytesFromCert (Ljava/security/cert/X509Certificate;)[B
      // 1d: astore 4
      // 1f: aload 1
      // 20: invokevirtual java/security/cert/X509Certificate.getIssuerX500Principal ()Ljavax/security/auth/x500/X500Principal;
      // 23: aload 3
      // 24: invokevirtual java/security/cert/X509Certificate.getSubjectX500Principal ()Ljavax/security/auth/x500/X500Principal;
      // 27: invokevirtual javax/security/auth/x500/X500Principal.equals (Ljava/lang/Object;)Z
      // 2a: ifeq 53
      // 2d: aload 1
      // 2e: invokestatic com/l7tech/common/io/CertUtils.getAKIBytesFromCert (Ljava/security/cert/X509Certificate;)[B
      // 31: astore 5
      // 33: aload 5
      // 35: ifnull 51
      // 38: aload 5
      // 3a: aload 4
      // 3c: invokestatic java/util/Arrays.equals ([B[B)Z
      // 3f: ifne 51
      // 42: goto 49
      // 45: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 48: athrow
      // 49: bipush 1
      // 4a: goto 52
      // 4d: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 50: athrow
      // 51: bipush 0
      // 52: ireturn
      // 53: bipush 0
      // 54: ireturn
      // try (4 -> 8): 8 java/lang/IllegalArgumentException
      // try (25 -> 31): 32 java/lang/IllegalArgumentException
      // try (27 -> 36): 36 java/lang/IllegalArgumentException
   }

   @Transactional(readOnly = true)
   public boolean userCanGenCert(User param1, Certificate param2) throws FindException {
      // $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: ifnonnull 16
      // 04: new java/lang/IllegalArgumentException
      // 07: dup
      // 08: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 0b: bipush 33
      // 0d: aaload
      // 0e: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 11: athrow
      // 12: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 15: athrow
      // 16: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // 19: aload 0
      // 1a: aload 1
      // 1b: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.a (Lcom/l7tech/identity/User;)Ljava/lang/String;
      // 1e: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 21: bipush 18
      // 23: aaload
      // 24: swap
      // 25: 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" ]
      // 2a: invokevirtual java/util/logging/Logger.finest (Ljava/lang/String;)V
      // 2d: aload 0
      // 2e: aload 1
      // 2f: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.b (Lcom/l7tech/identity/User;)Lcom/l7tech/identity/cert/CertEntryRow;
      // 32: astore 3
      // 33: aload 3
      // 34: ifnonnull 3d
      // 37: bipush 1
      // 38: ireturn
      // 39: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3c: athrow
      // 3d: aload 3
      // 3e: invokevirtual com/l7tech/identity/cert/CertEntryRow.getCertBase64 ()Ljava/lang/String;
      // 41: ifnull 74
      // 44: aload 2
      // 45: instanceof java/security/cert/X509Certificate
      // 48: ifeq 64
      // 4b: goto 52
      // 4e: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 51: athrow
      // 52: aload 0
      // 53: aload 2
      // 54: checkcast java/security/cert/X509Certificate
      // 57: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.isCertPossiblyStale (Ljava/security/cert/X509Certificate;)Z
      // 5a: ifne 74
      // 5d: goto 64
      // 60: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 63: athrow
      // 64: aload 3
      // 65: invokevirtual com/l7tech/identity/cert/CertEntryRow.getResetCounter ()I
      // 68: bipush 10
      // 6a: if_icmpge 7c
      // 6d: goto 74
      // 70: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 73: athrow
      // 74: bipush 1
      // 75: goto 7d
      // 78: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7b: athrow
      // 7c: bipush 0
      // 7d: ireturn
      // try (0 -> 9): 9 com/l7tech/objectmodel/FindException
      // try (25 -> 29): 29 com/l7tech/objectmodel/FindException
      // try (31 -> 37): 38 com/l7tech/objectmodel/FindException
      // try (34 -> 45): 46 com/l7tech/objectmodel/FindException
      // try (40 -> 52): 53 com/l7tech/objectmodel/FindException
      // try (48 -> 57): 57 com/l7tech/objectmodel/FindException
   }

   public void recordNewUserCert(User param1, Certificate param2, boolean param3) throws UpdateException {
      // $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 1
      // 001: ifnonnull 016
      // 004: new java/lang/IllegalArgumentException
      // 007: dup
      // 008: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 00b: bipush 27
      // 00d: aaload
      // 00e: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 011: athrow
      // 012: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 015: athrow
      // 016: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // 019: aload 0
      // 01a: aload 1
      // 01b: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.a (Lcom/l7tech/identity/User;)Ljava/lang/String;
      // 01e: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 021: astore 9
      // 023: aload 9
      // 025: bipush 17
      // 027: aaload
      // 028: swap
      // 029: 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" ]
      // 02e: invokevirtual java/util/logging/Logger.finest (Ljava/lang/String;)V
      // 031: aload 0
      // 032: aload 1
      // 033: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.b (Lcom/l7tech/identity/User;)Lcom/l7tech/identity/cert/CertEntryRow;
      // 036: astore 4
      // 038: goto 051
      // 03b: astore 5
      // 03d: new com/l7tech/objectmodel/UpdateException
      // 040: dup
      // 041: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 044: astore 9
      // 046: aload 9
      // 048: bipush 30
      // 04a: aaload
      // 04b: aload 5
      // 04d: invokespecial com/l7tech/objectmodel/UpdateException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 050: athrow
      // 051: aload 4
      // 053: ifnull 081
      // 056: aload 4
      // 058: invokevirtual com/l7tech/identity/cert/CertEntryRow.getCertBase64 ()Ljava/lang/String;
      // 05b: ifnull 081
      // 05e: goto 065
      // 061: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 064: athrow
      // 065: iload 3
      // 066: ifne 081
      // 069: goto 070
      // 06c: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 06f: athrow
      // 070: aload 4
      // 072: invokevirtual com/l7tech/identity/cert/CertEntryRow.getResetCounter ()I
      // 075: bipush 10
      // 077: if_icmpge 089
      // 07a: goto 081
      // 07d: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 080: athrow
      // 081: bipush 1
      // 082: goto 08a
      // 085: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 088: athrow
      // 089: bipush 0
      // 08a: istore 5
      // 08c: iload 5
      // 08e: ifne 0ba
      // 091: aload 0
      // 092: aload 1
      // 093: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.a (Lcom/l7tech/identity/User;)Ljava/lang/String;
      // 096: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 099: astore 9
      // 09b: aload 9
      // 09d: bipush 20
      // 09f: aaload
      // 0a0: swap
      // 0a1: 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" ]
      // 0a6: astore 6
      // 0a8: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // 0ab: aload 6
      // 0ad: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 0b0: new com/l7tech/objectmodel/UpdateException
      // 0b3: dup
      // 0b4: aload 6
      // 0b6: invokespecial com/l7tech/objectmodel/UpdateException.<init> (Ljava/lang/String;)V
      // 0b9: athrow
      // 0ba: bipush 0
      // 0bb: istore 6
      // 0bd: aload 4
      // 0bf: ifnonnull 0f5
      // 0c2: new com/l7tech/identity/cert/CertEntryRow
      // 0c5: dup
      // 0c6: invokespecial com/l7tech/identity/cert/CertEntryRow.<init> ()V
      // 0c9: astore 4
      // 0cb: aload 4
      // 0cd: aload 1
      // 0ce: invokeinterface com/l7tech/identity/User.getProviderId ()Lcom/l7tech/objectmodel/Goid; 1
      // 0d3: invokevirtual com/l7tech/identity/cert/CertEntryRow.setProvider (Lcom/l7tech/objectmodel/Goid;)V
      // 0d6: aload 4
      // 0d8: aload 1
      // 0d9: invokeinterface com/l7tech/identity/User.getId ()Ljava/lang/String; 1
      // 0de: invokevirtual com/l7tech/identity/cert/CertEntryRow.setUserId (Ljava/lang/String;)V
      // 0e1: aload 4
      // 0e3: aload 1
      // 0e4: invokeinterface com/l7tech/identity/User.getLogin ()Ljava/lang/String; 1
      // 0e9: invokevirtual com/l7tech/identity/cert/CertEntryRow.setLogin (Ljava/lang/String;)V
      // 0ec: aload 4
      // 0ee: bipush 0
      // 0ef: invokevirtual com/l7tech/identity/cert/CertEntryRow.setResetCounter (I)V
      // 0f2: bipush 1
      // 0f3: istore 6
      // 0f5: aload 4
      // 0f7: aload 4
      // 0f9: invokevirtual com/l7tech/identity/cert/CertEntryRow.getResetCounter ()I
      // 0fc: bipush 1
      // 0fd: iadd
      // 0fe: invokevirtual com/l7tech/identity/cert/CertEntryRow.setResetCounter (I)V
      // 101: aload 2
      // 102: invokevirtual java/security/cert/Certificate.getEncoded ()[B
      // 105: invokestatic com/l7tech/util/HexUtils.encodeBase64 ([B)Ljava/lang/String;
      // 108: astore 7
      // 10a: aload 4
      // 10c: aload 7
      // 10e: invokevirtual com/l7tech/identity/cert/CertEntryRow.setCertBase64 (Ljava/lang/String;)V
      // 111: goto 13b
      // 114: astore 7
      // 116: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 119: astore 9
      // 11b: aload 9
      // 11d: bipush 21
      // 11f: aaload
      // 120: astore 8
      // 122: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // 125: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 128: aload 8
      // 12a: aload 7
      // 12c: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 12f: new com/l7tech/objectmodel/UpdateException
      // 132: dup
      // 133: aload 8
      // 135: aload 7
      // 137: invokespecial com/l7tech/objectmodel/UpdateException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 13a: athrow
      // 13b: iload 6
      // 13d: ifeq 168
      // 140: aload 0
      // 141: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.getHibernateTemplate ()Lorg/springframework/orm/hibernate5/HibernateTemplate;
      // 144: aload 4
      // 146: invokevirtual org/springframework/orm/hibernate5/HibernateTemplate.save (Ljava/lang/Object;)Ljava/io/Serializable;
      // 149: astore 7
      // 14b: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // 14e: aload 7
      // 150: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 153: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 156: astore 9
      // 158: aload 9
      // 15a: bipush 2
      // 15b: aaload
      // 15c: swap
      // 15d: 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" ]
      // 162: invokevirtual java/util/logging/Logger.finest (Ljava/lang/String;)V
      // 165: goto 181
      // 168: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // 16b: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 16e: astore 9
      // 170: aload 9
      // 172: bipush 37
      // 174: aaload
      // 175: invokevirtual java/util/logging/Logger.finest (Ljava/lang/String;)V
      // 178: aload 0
      // 179: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.getHibernateTemplate ()Lorg/springframework/orm/hibernate5/HibernateTemplate;
      // 17c: aload 4
      // 17e: invokevirtual org/springframework/orm/hibernate5/HibernateTemplate.update (Ljava/lang/Object;)V
      // 181: goto 1a7
      // 184: astore 7
      // 186: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 189: bipush 16
      // 18b: aaload
      // 18c: astore 8
      // 18e: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // 191: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 194: aload 8
      // 196: aload 7
      // 198: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 19b: new com/l7tech/objectmodel/UpdateException
      // 19e: dup
      // 19f: aload 8
      // 1a1: aload 7
      // 1a3: invokespecial com/l7tech/objectmodel/UpdateException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 1a6: athrow
      // 1a7: return
      // try (0 -> 9): 9 com/l7tech/objectmodel/FindException
      // try (23 -> 27): 28 com/l7tech/objectmodel/FindException
      // try (52 -> 61): 61 com/l7tech/objectmodel/FindException
      // try (47 -> 56): 57 com/l7tech/objectmodel/FindException
      // try (41 -> 49): 50 com/l7tech/objectmodel/FindException
      // try (39 -> 44): 45 com/l7tech/objectmodel/FindException
      // try (117 -> 124): 125 java/security/cert/CertificateEncodingException
      // try (143 -> 173): 174 org/hibernate/HibernateException
   }

   @Transactional(readOnly = true)
   public Certificate getUserCert(User var1) throws FindException {
      try {
         if (var1 == null) {
            throw new IllegalArgumentException(f[10]);
         }
      } catch (CertificateException var8) {
         throw a(var8);
      }

      Logger var10000 = b;
      String var10001 = this.a(var1);
      String[] var6 = f;
      var10000.finest(var6[6] + var10001);
      CertEntryRow var2 = this.b(var1);
      if (var2 != null) {
         String var3 = var2.getCertBase64();

         try {
            if (var3 == null) {
               b.finest(var6[24] + this.a(var1));
               return null;
            }
         } catch (CertificateException var9) {
            throw a(var9);
         }

         try {
            return CertUtils.decodeCert(HexUtils.decodeBase64(var3));
         } catch (CertificateException var7) {
            var6 = f;
            String var5 = var6[12];
            b.log(Level.WARNING, var5, var7);
            throw new FindException(var5, var7);
         }
      } else {
         var10000 = b;
         var10001 = this.a(var1);
         String var10002 = String.valueOf(var1.getProviderId());
         var6 = f;
         var10000.finest(var6[26] + var10001 + var6[34] + var10002);
         return null;
      }
   }

   private String a(User var1) {
      String var2 = var1.getLogin();

      label33: {
         try {
            if (var2 != null && var2.length() != 0) {
               break label33;
            }
         } catch (IllegalArgumentException var4) {
            throw a(var4);
         }

         var2 = var1.getName();
      }

      try {
         if (var2 != null && var2.length() != 0) {
            return var2;
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }

      return var1.getId();
   }

   public void revokeUserCert(User var1) throws UpdateException {
      this.revokeUserCertIfIssuerMatches(var1, null);
   }

   public boolean revokeUserCertIfIssuerMatches(User var1, X500Principal var2) throws UpdateException {
      try {
         if (var1 == null) {
            throw new IllegalArgumentException(f[3]);
         }
      } catch (FindException var13) {
         throw a(var13);
      }

      String var19;
      Logger var10000;
      String var10001;
      label64: {
         try {
            var10000 = b;
            var10001 = this.a(var1);
            if (var2 == null) {
               var19 = "";
               break label64;
            }
         } catch (FindException var15) {
            throw a(var15);
         }

         var19 = var2.toString();
         String[] var10 = f;
         var19 = var10[36] + var19;
      }

      String var8 = var19;
      String var9 = var10001;
      String[] var16 = f;
      var10000.finest(var16[35] + var9 + var8);
      boolean var3 = false;

      CertEntryRow var4;
      try {
         var4 = this.b(var1);
      } catch (FindException var12) {
         var16 = f;
         throw new UpdateException(var16[28], var12);
      }

      if (var4 != null) {
         boolean var5;
         var5 = false;
         label53:
         if (var2 != null) {
            X509Certificate var6 = var4.getCertificate();

            try {
               if (var6 == null || !var6.getIssuerX500Principal().equals(var2)) {
                  break label53;
               }
            } catch (FindException var14) {
               throw a(var14);
            }

            var5 = true;
         } else {
            var5 = true;
         }

         if (var5) {
            var4.setCertBase64(null);
            var4.setResetCounter(0);

            try {
               this.getHibernateTemplate().delete(var4);
               var3 = true;
            } catch (HibernateException var11) {
               var16 = f;
               String var7 = var16[19];
               b.log(Level.WARNING, var7, var11);
               throw new UpdateException(var7, var11);
            }
         }
      } else {
         b.fine(f[39] + this.a(var1));
      }

      return var3;
   }

   public void forbidCertReset(User param1) throws UpdateException {
      // $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: ifnonnull 15
      // 04: new java/lang/IllegalArgumentException
      // 07: dup
      // 08: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 0b: bipush 3
      // 0c: aaload
      // 0d: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 10: athrow
      // 11: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14: athrow
      // 15: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // 18: aload 0
      // 19: aload 1
      // 1a: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.a (Lcom/l7tech/identity/User;)Ljava/lang/String;
      // 1d: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 20: astore 7
      // 22: aload 7
      // 24: bipush 4
      // 25: aaload
      // 26: swap
      // 27: 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" ]
      // 2c: invokevirtual java/util/logging/Logger.finest (Ljava/lang/String;)V
      // 2f: invokestatic com/l7tech/server/audit/AuditContextUtils.isSystem ()Z
      // 32: istore 2
      // 33: bipush 1
      // 34: invokestatic com/l7tech/server/audit/AuditContextUtils.setSystem (Z)V
      // 37: aload 0
      // 38: aload 1
      // 39: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.b (Lcom/l7tech/identity/User;)Lcom/l7tech/identity/cert/CertEntryRow;
      // 3c: astore 3
      // 3d: goto 56
      // 40: astore 4
      // 42: new com/l7tech/objectmodel/UpdateException
      // 45: dup
      // 46: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 49: astore 7
      // 4b: aload 7
      // 4d: bipush 28
      // 4f: aaload
      // 50: aload 4
      // 52: invokespecial com/l7tech/objectmodel/UpdateException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 55: athrow
      // 56: aload 3
      // 57: ifnull ad
      // 5a: aload 3
      // 5b: invokevirtual com/l7tech/identity/cert/CertEntryRow.getResetCounter ()I
      // 5e: bipush 10
      // 60: if_icmpeq d1
      // 63: goto 6a
      // 66: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 69: athrow
      // 6a: aload 3
      // 6b: bipush 10
      // 6d: invokevirtual com/l7tech/identity/cert/CertEntryRow.setResetCounter (I)V
      // 70: aload 0
      // 71: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.getHibernateTemplate ()Lorg/springframework/orm/hibernate5/HibernateTemplate;
      // 74: aload 3
      // 75: invokevirtual org/springframework/orm/hibernate5/HibernateTemplate.update (Ljava/lang/Object;)V
      // 78: aload 0
      // 79: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.getHibernateTemplate ()Lorg/springframework/orm/hibernate5/HibernateTemplate;
      // 7c: invokevirtual org/springframework/orm/hibernate5/HibernateTemplate.flush ()V
      // 7f: goto d1
      // 82: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 85: athrow
      // 86: astore 4
      // 88: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 8b: astore 7
      // 8d: aload 7
      // 8f: bipush 13
      // 91: aaload
      // 92: astore 5
      // 94: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // 97: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 9a: aload 5
      // 9c: aload 4
      // 9e: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // a1: new com/l7tech/objectmodel/UpdateException
      // a4: dup
      // a5: aload 5
      // a7: aload 4
      // a9: invokespecial com/l7tech/objectmodel/UpdateException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // ac: athrow
      // ad: aload 0
      // ae: aload 1
      // af: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.a (Lcom/l7tech/identity/User;)Ljava/lang/String;
      // b2: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // b5: bipush 5
      // b6: aaload
      // b7: swap
      // b8: 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" ]
      // bd: astore 4
      // bf: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.b Ljava/util/logging/Logger;
      // c2: aload 4
      // c4: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // c7: new com/l7tech/objectmodel/UpdateException
      // ca: dup
      // cb: aload 4
      // cd: invokespecial com/l7tech/objectmodel/UpdateException.<init> (Ljava/lang/String;)V
      // d0: athrow
      // d1: iload 2
      // d2: invokestatic com/l7tech/server/audit/AuditContextUtils.setSystem (Z)V
      // d5: goto e1
      // d8: astore 6
      // da: iload 2
      // db: invokestatic com/l7tech/server/audit/AuditContextUtils.setSystem (Z)V
      // de: aload 6
      // e0: athrow
      // e1: return
      // try (0 -> 9): 9 com/l7tech/objectmodel/FindException
      // try (27 -> 31): 32 com/l7tech/objectmodel/FindException
      // try (43 -> 49): 50 com/l7tech/objectmodel/FindException
      // try (55 -> 62): 65 org/hibernate/HibernateException
      // try (45 -> 63): 63 com/l7tech/objectmodel/FindException
      // try (27 -> 100): 103 null
      // try (103 -> 104): 103 null
   }

   @Transactional(readOnly = true)
   public List<CertEntryRow> findByThumbprint(String var1) throws FindException {
      return this.a(f[25], var1);
   }

   @Transactional(readOnly = true)
   public List<CertEntryRow> findBySki(String var1) throws FindException {
      return this.a(f[11], var1);
   }

   @Transactional(readOnly = true)
   public List<CertEntryRow> findByIssuerAndSerial(X500Principal param1, BigInteger param2) throws FindException {
      // $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: ifnull 0f
      // 04: aload 2
      // 05: ifnonnull 1b
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e: athrow
      // 0f: new java/lang/NullPointerException
      // 12: dup
      // 13: invokespecial java/lang/NullPointerException.<init> ()V
      // 16: athrow
      // 17: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a: athrow
      // 1b: aload 0
      // 1c: bipush 2
      // 1d: anewarray 430
      // 20: dup
      // 21: bipush 0
      // 22: new com/l7tech/util/Pair
      // 25: dup
      // 26: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 29: astore 3
      // 2a: aload 3
      // 2b: bipush 22
      // 2d: aaload
      // 2e: aload 1
      // 2f: invokestatic com/l7tech/common/io/CertUtils.getDN (Ljavax/security/auth/x500/X500Principal;)Ljava/lang/String;
      // 32: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 35: aastore
      // 36: dup
      // 37: bipush 1
      // 38: new com/l7tech/util/Pair
      // 3b: dup
      // 3c: aload 3
      // 3d: bipush 14
      // 3f: aaload
      // 40: aload 2
      // 41: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 44: aastore
      // 45: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.a ([Lcom/l7tech/util/Pair;)Ljava/util/List;
      // 48: areturn
      // try (0 -> 4): 5 com/l7tech/objectmodel/FindException
      // try (2 -> 11): 11 com/l7tech/objectmodel/FindException
   }

   @Transactional(readOnly = true)
   public List<CertEntryRow> findBySubjectDn(X500Principal var1) throws FindException {
      return this.a(f[7], CertUtils.getDN(var1));
   }

   public List<CertInfo> findAll() throws FindException {
      ArrayList var1 = new ArrayList();

      try {
         for (CertEntryRow var4 : (List)this.getHibernateTemplate().execute(new d(this))) {
            var1.add(new a(var4));
         }
      } catch (DataAccessException var5) {
         b.log(Level.SEVERE, var5.getMessage(), var5);
         throw new FindException(f[38], var5);
      }

      return Collections.unmodifiableList(var1);
   }

   private List<CertEntryRow> a(String var1, Object var2) throws FindException {
      return this.a(new Pair(var1, var2));
   }

   private List<CertEntryRow> a(Pair<String, Object>... param1) throws FindException {
      // $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: ifnull 10
      // 04: aload 1
      // 05: arraylength
      // 06: ifne 22
      // 09: goto 10
      // 0c: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f: athrow
      // 10: new java/lang/IllegalArgumentException
      // 13: dup
      // 14: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 17: bipush 31
      // 19: aaload
      // 1a: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 1d: athrow
      // 1e: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 21: athrow
      // 22: aload 0
      // 23: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.getHibernateTemplate ()Lorg/springframework/orm/hibernate5/HibernateTemplate;
      // 26: new com/l7tech/server/identity/cert/e
      // 29: dup
      // 2a: aload 0
      // 2b: aload 1
      // 2c: invokespecial com/l7tech/server/identity/cert/e.<init> (Lcom/l7tech/server/identity/cert/ClientCertManagerImp;[Lcom/l7tech/util/Pair;)V
      // 2f: invokevirtual org/springframework/orm/hibernate5/HibernateTemplate.execute (Lorg/springframework/orm/hibernate5/HibernateCallback;)Ljava/lang/Object;
      // 32: checkcast java/util/List
      // 35: areturn
      // 36: astore 2
      // 37: new com/l7tech/objectmodel/FindException
      // 3a: dup
      // 3b: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 3e: bipush 23
      // 40: aaload
      // 41: aload 2
      // 42: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 45: athrow
      // try (2 -> 15): 15 org/springframework/dao/DataAccessException
      // try (0 -> 5): 6 org/springframework/dao/DataAccessException
      // try (17 -> 26): 27 org/springframework/dao/DataAccessException
   }

   private CertEntryRow b(User param1) throws FindException {
      // $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: bipush 2
      // 02: anewarray 430
      // 05: dup
      // 06: bipush 0
      // 07: new com/l7tech/util/Pair
      // 0a: dup
      // 0b: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 0e: astore 4
      // 10: aload 4
      // 12: bipush 29
      // 14: aaload
      // 15: aload 1
      // 16: invokeinterface com/l7tech/identity/User.getProviderId ()Lcom/l7tech/objectmodel/Goid; 1
      // 1b: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 1e: aastore
      // 1f: dup
      // 20: bipush 1
      // 21: new com/l7tech/util/Pair
      // 24: dup
      // 25: aload 4
      // 27: bipush 8
      // 29: aaload
      // 2a: aload 1
      // 2b: invokeinterface com/l7tech/identity/User.getId ()Ljava/lang/String; 1
      // 30: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 33: aastore
      // 34: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.a ([Lcom/l7tech/util/Pair;)Ljava/util/List;
      // 37: astore 2
      // 38: aload 2
      // 39: invokeinterface java/util/List.size ()I 1
      // 3e: bipush 1
      // 3f: if_icmpne 51
      // 42: aload 2
      // 43: bipush 0
      // 44: invokeinterface java/util/List.get (I)Ljava/lang/Object; 2
      // 49: checkcast com/l7tech/identity/cert/CertEntryRow
      // 4c: areturn
      // 4d: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 50: athrow
      // 51: aload 1
      // 52: invokeinterface com/l7tech/identity/User.getLogin ()Ljava/lang/String; 1
      // 57: astore 3
      // 58: aload 3
      // 59: ifnull 6a
      // 5c: aload 3
      // 5d: invokevirtual java/lang/String.length ()I
      // 60: ifne 70
      // 63: goto 6a
      // 66: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 69: athrow
      // 6a: aconst_null
      // 6b: areturn
      // 6c: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6f: athrow
      // 70: aload 0
      // 71: bipush 2
      // 72: anewarray 430
      // 75: dup
      // 76: bipush 0
      // 77: new com/l7tech/util/Pair
      // 7a: dup
      // 7b: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // 7e: astore 4
      // 80: aload 4
      // 82: bipush 32
      // 84: aaload
      // 85: aload 1
      // 86: invokeinterface com/l7tech/identity/User.getProviderId ()Lcom/l7tech/objectmodel/Goid; 1
      // 8b: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 8e: aastore
      // 8f: dup
      // 90: bipush 1
      // 91: new com/l7tech/util/Pair
      // 94: dup
      // 95: aload 4
      // 97: bipush 0
      // 98: aaload
      // 99: aload 3
      // 9a: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 9d: aastore
      // 9e: invokevirtual com/l7tech/server/identity/cert/ClientCertManagerImp.a ([Lcom/l7tech/util/Pair;)Ljava/util/List;
      // a1: astore 2
      // a2: aload 2
      // a3: invokeinterface java/util/List.size ()I 1
      // a8: bipush 1
      // a9: if_icmpne bb
      // ac: aload 2
      // ad: bipush 0
      // ae: invokeinterface java/util/List.get (I)Ljava/lang/Object; 2
      // b3: checkcast com/l7tech/identity/cert/CertEntryRow
      // b6: areturn
      // b7: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // ba: athrow
      // bb: aload 2
      // bc: invokeinterface java/util/List.size ()I 1
      // c1: bipush 1
      // c2: if_icmple d7
      // c5: new com/l7tech/objectmodel/FindException
      // c8: dup
      // c9: getstatic com/l7tech/server/identity/cert/ClientCertManagerImp.f [Ljava/lang/String;
      // cc: bipush 9
      // ce: aaload
      // cf: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;)V
      // d2: athrow
      // d3: invokestatic com/l7tech/server/identity/cert/ClientCertManagerImp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // d6: athrow
      // d7: aconst_null
      // d8: areturn
      // try (29 -> 38): 38 com/l7tech/objectmodel/FindException
      // try (43 -> 48): 49 com/l7tech/objectmodel/FindException
      // try (45 -> 53): 53 com/l7tech/objectmodel/FindException
      // try (83 -> 92): 92 com/l7tech/objectmodel/FindException
      // try (94 -> 105): 105 com/l7tech/objectmodel/FindException
   }

   static {
      String[] var5 = new String[40];
      int var3 = 0;
      String var2 = "\u0018\u00183\u0005~\u0005\u0018\u00183\u0005~\u0012\u0007\u0016\"\u0005~\u000e'\u0017\u0012&\u00180\fi\u0000\u0005-L\u0019\u0017\u0016:KdId\u0015\u001b8Ld\u0001n\u0007W#\u0005d\u0001'\u001a\u00028\u0000\u0014\u0012\u0018&\u000ey\rD\u0011\u0005 >u\u001ab\u0000W2\u0003bI\u001f\u0000\u001f1\u001euIp\u0015\u0004t\u0002\u007fIb\f\u001e'\u0018y\u0007`T\u00141\u001edIa\u001b\u0005t\u0010\u0013\u0012 9c\fu7\u0012&\u00180\u000fh\u0006W\t\u0007\u00026\u0006u\ns0\u0019\u0006\u0001\u00041\u001eY\r&2\u0018!\u0002tIj\u001b\u00051Ld\u0001f\u001aW;\u0002uId\u0011\u0005 Lv\u0006uT\u0003<\u0005cIr\u0007\u0012&\u0013\u0001\u00041\u001e0\nf\u001a\u0019;\u00180\u000bbT\u0019!\u0000|\u0003\u0007\u001c='1\u0005&\u0003bIn\u001aW\u0017\tb\u001dn\u0012\u001e7\rd\fA\u0015\u0014 \u0003b\u0010)\u0013\u0012 %~\u001as\u0015\u00197\t&<\u001e6\tb\u0007f\u0000\u0012t\th\nb\u0004\u0003=\u0003~Ir\u0004\u00135\u0018y\u0007`T\u00141\u001edIn\u001a\u0011;\u0006\u0007\u0012&\u0005q\u0005\u0006\u0001\u00041\u001eY\r\"<\u001e6\tb\u0007f\u0000\u0012t\th\nb\u0004\u0003=\u0003~Iu\u0011\u0014;\u001et\u0000i\u0013W7\tb\u001d\u0016\u0006\u00127\u0003b\rI\u0011\u0000\u0001\u001fu\u001bD\u0011\u0005 Lv\u0006uT\u0013\u0001\u00041\u001eS\bi3\u0012:/u\u001bsT\u0011;\u001e0!<\u001e6\tb\u0007f\u0000\u0012t\th\nb\u0004\u0003=\u0003~Iu\u0011\u0001;\u0007y\u0007`T\u00141\u001ed;\u0000\u001f=\u001f0\u001ct\u0011\u0005t\u0005cId\u0001\u0005&\t~\u001dk\rW:\u0003dIf\u0018\u001b;\u001bu\r'\u0000\u0018t\u000bu\u0007b\u0006\u0016 \t0\b'\u001a\u0012#Ls\fu\u0000Mt-7\u0012&\u0018y\u000fn\u0017\u0016 \t0\fi\u0017\u00180\u0005~\u000e'\u0011\u000f7\t`\u001dn\u001b\u0019t\u001eu\nh\u0006\u0013=\u0002wId\u0011\u0005 \b\u001d\u0004'\u0019u\u001bC\u001a\u00167\u0018!\u0000t\u0007 \u0000W&\td\u001bn\u0011\u00011Ls\fu\u0000\u001a\u001a\u0018t\u000fu\u001bsT\u00051\u000f\u007f\u001bc\u0011\u0013t\n\u007f\u001b'\u0001\u00041\u001e0\u000e\u0000\u001f!\u0001r\u0019u\u001d\u0019 ?x\b6\r\u001a\u0018t\t~\u001du\rW2\u0003bI\u0019\u0017\u0016:KdId\u0015\u001b8Ld\u0001n\u0007W#\u0005d\u0001'\u001a\u00028\u0000!7\u0018!\u0000t\u0007 \u0000W2\u0005~\r'\u0001\u00041\u001e0\u001dhT\u0002$\bq\u001dbT\u00141\u001ed\b\u0004\u0005;\u001ay\rb\u0006!7\u0018!\u0000t\u0007 \u0000W2\u0005~\r'\u0001\u00041\u001e0\u001dhT\u0002$\bq\u001dbT\u00141\u001ed4\u0012\u001e1\u0000t\u0007f\u0019\u0012'Lq\u0007cT\u00015\u0000e\ftT\u001a;\u001fdIe\u0011W:\u0003~Di\u0001\u001b8Lq\u0007cT\u0019;\u00180\fj\u0004\u0003-\b\u0004\u0005;\u001ay\rb\u0006\u0013!\u00041\u001e0\nf\u001a\u0019;\u00180\u000bbT\u0019!\u0000|\rT\u001e:L`\u001bh\u0002\u001e0\tbI\u0013\u0006\u0012\"\u0003{\fR\u0007\u0012&/u\u001bsT\u0011;\u001e0\bT\u001e'\u001fe\fuT\u0013\u0001\u00070\rd\u0000i\u0013W7\tb\u001d'\u0011\u0019 \u001ei";
      int var4 = "\u0018\u00183\u0005~\u0005\u0018\u00183\u0005~\u0012\u0007\u0016\"\u0005~\u000e'\u0017\u0012&\u00180\fi\u0000\u0005-L\u0019\u0017\u0016:KdId\u0015\u001b8Ld\u0001n\u0007W#\u0005d\u0001'\u001a\u00028\u0000\u0014\u0012\u0018&\u000ey\rD\u0011\u0005 >u\u001ab\u0000W2\u0003bI\u001f\u0000\u001f1\u001euIp\u0015\u0004t\u0002\u007fIb\f\u001e'\u0018y\u0007`T\u00141\u001edIa\u001b\u0005t\u0010\u0013\u0012 9c\fu7\u0012&\u00180\u000fh\u0006W\t\u0007\u00026\u0006u\ns0\u0019\u0006\u0001\u00041\u001eY\r&2\u0018!\u0002tIj\u001b\u00051Ld\u0001f\u001aW;\u0002uId\u0011\u0005 Lv\u0006uT\u0003<\u0005cIr\u0007\u0012&\u0013\u0001\u00041\u001e0\nf\u001a\u0019;\u00180\u000bbT\u0019!\u0000|\u0003\u0007\u001c='1\u0005&\u0003bIn\u001aW\u0017\tb\u001dn\u0012\u001e7\rd\fA\u0015\u0014 \u0003b\u0010)\u0013\u0012 %~\u001as\u0015\u00197\t&<\u001e6\tb\u0007f\u0000\u0012t\th\nb\u0004\u0003=\u0003~Ir\u0004\u00135\u0018y\u0007`T\u00141\u001edIn\u001a\u0011;\u0006\u0007\u0012&\u0005q\u0005\u0006\u0001\u00041\u001eY\r\"<\u001e6\tb\u0007f\u0000\u0012t\th\nb\u0004\u0003=\u0003~Iu\u0011\u0014;\u001et\u0000i\u0013W7\tb\u001d\u0016\u0006\u00127\u0003b\rI\u0011\u0000\u0001\u001fu\u001bD\u0011\u0005 Lv\u0006uT\u0013\u0001\u00041\u001eS\bi3\u0012:/u\u001bsT\u0011;\u001e0!<\u001e6\tb\u0007f\u0000\u0012t\th\nb\u0004\u0003=\u0003~Iu\u0011\u0001;\u0007y\u0007`T\u00141\u001ed;\u0000\u001f=\u001f0\u001ct\u0011\u0005t\u0005cId\u0001\u0005&\t~\u001dk\rW:\u0003dIf\u0018\u001b;\u001bu\r'\u0000\u0018t\u000bu\u0007b\u0006\u0016 \t0\b'\u001a\u0012#Ls\fu\u0000Mt-7\u0012&\u0018y\u000fn\u0017\u0016 \t0\fi\u0017\u00180\u0005~\u000e'\u0011\u000f7\t`\u001dn\u001b\u0019t\u001eu\nh\u0006\u0013=\u0002wId\u0011\u0005 \b\u001d\u0004'\u0019u\u001bC\u001a\u00167\u0018!\u0000t\u0007 \u0000W&\td\u001bn\u0011\u00011Ls\fu\u0000\u001a\u001a\u0018t\u000fu\u001bsT\u00051\u000f\u007f\u001bc\u0011\u0013t\n\u007f\u001b'\u0001\u00041\u001e0\u000e\u0000\u001f!\u0001r\u0019u\u001d\u0019 ?x\b6\r\u001a\u0018t\t~\u001du\rW2\u0003bI\u0019\u0017\u0016:KdId\u0015\u001b8Ld\u0001n\u0007W#\u0005d\u0001'\u001a\u00028\u0000!7\u0018!\u0000t\u0007 \u0000W2\u0005~\r'\u0001\u00041\u001e0\u001dhT\u0002$\bq\u001dbT\u00141\u001ed\b\u0004\u0005;\u001ay\rb\u0006!7\u0018!\u0000t\u0007 \u0000W2\u0005~\r'\u0001\u00041\u001e0\u001dhT\u0002$\bq\u001dbT\u00141\u001ed4\u0012\u001e1\u0000t\u0007f\u0019\u0012'Lq\u0007cT\u00015\u0000e\ftT\u001a;\u001fdIe\u0011W:\u0003~Di\u0001\u001b8Lq\u0007cT\u0019;\u00180\fj\u0004\u0003-\b\u0004\u0005;\u001ay\rb\u0006\u0013!\u00041\u001e0\nf\u001a\u0019;\u00180\u000bbT\u0019!\u0000|\rT\u001e:L`\u001bh\u0002\u001e0\tbI\u0013\u0006\u0012\"\u0003{\fR\u0007\u0012&/u\u001bsT\u0011;\u001e0\bT\u001e'\u001fe\fuT\u0013\u0001\u00070\rd\u0000i\u0013W7\tb\u001d'\u0011\u0019 \u001ei"
         .length();
      char var1 = 5;
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     f = var5;
                     String[] var9 = f;
                     d = f[15];
                     c = var9[32];
                     e = var9[1];
                     b = Logger.getLogger(ClientCertManagerImp.class.getName());
                     return;
                  }

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

                  var2 = "4\u001b\"\u0003w\u0004#\u0003T%\ng\u0018m\u0012\u00022Op\u000fv\u0003\u001f\u0003\u001c2\u001dvJs\u0016\u0007w\u0001|Ja\u000f\u001d$\u001bz\u0004cW\u00172\u001dgJb\u0018\u0006w";
                  var4 = "4\u001b\"\u0003w\u0004#\u0003T%\ng\u0018m\u0012\u00022Op\u000fv\u0003\u001f\u0003\u001c2\u001dvJs\u0016\u0007w\u0001|Ja\u000f\u001d$\u001bz\u0004cW\u00172\u001dgJb\u0018\u0006w"
                     .length();
                  var1 = 22;
                  var7 = -1;
            }

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

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

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

      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 -> 118;
            case 1 -> 117;
            case 2 -> 86;
            case 3 -> 110;
            case 4 -> 18;
            case 5 -> 107;
            default -> 5;
         });
      }

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