package com.l7tech.server.security.cert;

import com.l7tech.common.http.GenericHttpClient;
import com.l7tech.common.http.GenericHttpHeader;
import com.l7tech.common.http.GenericHttpRequestParams;
import com.l7tech.common.http.GenericHttpResponse;
import com.l7tech.common.http.HttpConstants;
import com.l7tech.common.http.HttpMethod;
import com.l7tech.common.http.RerunnableHttpRequest;
import com.l7tech.common.mime.ContentTypeHeader;
import com.l7tech.security.cert.CertVerifier;
import com.l7tech.security.prov.JceProvider;
import com.l7tech.security.prov.ProviderUtil;
import com.l7tech.security.prov.bc.api.BCProxy;
import com.l7tech.security.types.CertificateValidationResult;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.TimeUnit;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.math.BigInteger;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.GeneralSecurityException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.PublicKey;
import java.security.SecureRandom;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.security.auth.x500.X500Principal;
import org.bouncycastle.asn1.ASN1BitString;
import org.bouncycastle.asn1.ASN1InputStream;
import org.bouncycastle.asn1.ASN1Integer;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.DERNull;
import org.bouncycastle.asn1.DEROctetString;
import org.bouncycastle.asn1.DERSequence;
import org.bouncycastle.asn1.ocsp.CertID;
import org.bouncycastle.asn1.ocsp.OCSPObjectIdentifiers;
import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.asn1.x509.Extension;
import org.bouncycastle.asn1.x509.Extensions;
import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
import org.bouncycastle.cert.ocsp.BasicOCSPResp;
import org.bouncycastle.cert.ocsp.CertificateID;
import org.bouncycastle.cert.ocsp.OCSPException;
import org.bouncycastle.cert.ocsp.OCSPReq;
import org.bouncycastle.cert.ocsp.OCSPReqBuilder;
import org.bouncycastle.cert.ocsp.OCSPResp;

public class OCSPClient {
   public static final String OID_AIA_OCSP_URL;
   private static final BCProxy a;
   private static final String b;
   private static final String c;
   private static final long d;
   private static final long e;
   private static final String f;
   private static final String g;
   private static final String h;
   private static final String i;
   private static final Random j;
   private static final Logger k;
   private final GenericHttpClient l;
   private final String m;
   private final X509Certificate n;
   private final OCSPClient.OCSPCertificateAuthorizer o;
   private static final String[] p;

   public OCSPClient(GenericHttpClient var1, String var2, X509Certificate var3, OCSPClient.OCSPCertificateAuthorizer var4) {
      if (var1 == null) {
         String[] var5 = p;
         throw new IllegalArgumentException(var5[37]);
      }

      try {
         if (var2 == null) {
            throw new IllegalArgumentException(p[48]);
         }
      } catch (IllegalArgumentException var6) {
         throw a(var6);
      }

      try {
         if (var3 == null) {
            throw new IllegalArgumentException(p[42]);
         }
      } catch (IllegalArgumentException var7) {
         throw a(var7);
      }

      this.l = var1;
      this.m = var2;
      this.n = var3;
      this.o = var4;
   }

   public OCSPClient.OCSPStatus getRevocationStatus(X509Certificate var1, boolean var2, boolean var3) throws OCSPClient.OCSPClientException {
      return this.a(var1, var2, var3);
   }

   public boolean isPermittedByIssuer(X509Certificate var1) throws OCSPClient.OCSPClientException {
      boolean var2 = false;

      try {
         List var3 = var1.getExtendedKeyUsage();

         try {
            if (var3 == null || !var3.contains(p[36])) {
               return var2;
            }
         } catch (GeneralSecurityException var4) {
            throw a(var4);
         }

         var1.checkValidity();
         CertVerifier.cachedVerify(var1, this.n);
         return true;
      } catch (GeneralSecurityException var5) {
         throw new OCSPClient.OCSPClientException(p[51], var5);
      }
   }

   public boolean shouldCheckRevocation(X509Certificate param1) throws OCSPClient.OCSPClientException {
      // $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/security/cert/X509Certificate.getNonCriticalExtensionOIDs ()Ljava/util/Set;
      // 04: astore 2
      // 05: aload 2
      // 06: ifnull 3d
      // 09: aload 2
      // 0a: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 0d: bipush 7
      // 0f: aaload
      // 10: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 15: ifeq 3d
      // 18: goto 1f
      // 1b: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e: athrow
      // 1f: getstatic com/l7tech/server/security/cert/OCSPClient.k Ljava/util/logging/Logger;
      // 22: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 25: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 28: bipush 8
      // 2a: aaload
      // 2b: aload 1
      // 2c: invokevirtual java/security/cert/X509Certificate.getSubjectDN ()Ljava/security/Principal;
      // 2f: invokeinterface java/security/Principal.getName ()Ljava/lang/String; 1
      // 34: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 37: bipush 0
      // 38: ireturn
      // 39: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3c: athrow
      // 3d: bipush 1
      // 3e: ireturn
      // try (3 -> 11): 12 com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // try (5 -> 25): 25 com/l7tech/server/security/cert/OCSPClient$OCSPClientException
   }

   static CertID a(X509Certificate var0, BigInteger var1) throws OCSPException {
      AlgorithmIdentifier var2;
      MessageDigest var3;
      PublicKey var4;
      DEROctetString var5;
      try {
         var2 = new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE);
         String[] var18 = p;
         var3 = JceProvider.getMessageDigest(var18[39], null);
         X500Principal var6 = var0.getSubjectX500Principal();
         var3.update(var6.getEncoded());
         var5 = new DEROctetString(var3.digest());
         var4 = var0.getPublicKey();
      } catch (NoSuchAlgorithmException var16) {
         StringBuilder var10002 = new StringBuilder();
         String[] var12 = p;
         throw new OCSPException(var10002.append(var12[28]).append(var16).toString(), var16);
      }

      try {
         ASN1InputStream var17 = new ASN1InputStream(var4.getEncoded());

         CertID var11;
         try {
            SubjectPublicKeyInfo var7 = SubjectPublicKeyInfo.getInstance(var17.readObject());
            ASN1BitString var8 = a.subjectPublicKeyInfoGetPublicKeyData(var7);
            var3.update(var8.getBytes());
            DEROctetString var9 = new DEROctetString(var3.digest());
            ASN1Integer var10 = new ASN1Integer(var1);
            var11 = new CertID(var2, var5, var9, var10);
         } catch (Throwable var14) {
            try {
               var17.close();
            } catch (Throwable var13) {
               var14.addSuppressed(var13);
            }

            throw var14;
         }

         var17.close();
         return var11;
      } catch (IOException var15) {
         throw new OCSPException(p[22] + var15, var15);
      }
   }

   byte[] a() {
      byte[] var1 = new byte[8];
      j.nextBytes(var1);
      return var1;
   }

   long b() {
      return System.currentTimeMillis();
   }

   private OCSPClient.OCSPStatus a(X509Certificate var1, boolean var2, boolean var3) throws OCSPClient.OCSPClientException {
      try {
         CertificateID var5 = new CertificateID(a(this.n, var1.getSerialNumber()));

         byte[] var10000;
         label21: {
            try {
               if (var2) {
                  var10000 = this.a();
                  break label21;
               }
            } catch (OCSPException var8) {
               throw a(var8);
            }

            var10000 = null;
         }

         byte[] var6 = var10000;
         OCSPReq var7 = a(var5, var6);
         return this.a(this.m, var7, var5, var3, var6);
      } catch (OCSPException | IOException var9) {
         throw new OCSPClient.OCSPClientException(p[50], var9);
      }
   }

   private static OCSPReq a(CertificateID var0, byte[] var1) throws OCSPException, IOException {
      OCSPReqBuilder var2 = new OCSPReqBuilder();
      var2.addRequest(var0);
      ArrayList var3 = new ArrayList();

      try {
         var3.add(
            new Extension(
               OCSPObjectIdentifiers.id_pkix_ocsp_response,
               false,
               new DEROctetString(new DERSequence(new ASN1Object[]{OCSPObjectIdentifiers.id_pkix_ocsp_basic}).getEncoded(p[5]))
            )
         );
         if (var1 != null) {
            var3.add(new Extension(OCSPObjectIdentifiers.id_pkix_ocsp_nonce, false, new DEROctetString(var1)));
         }
      } catch (OCSPException var4) {
         throw a(var4);
      }

      try {
         if (!var3.isEmpty()) {
            var2.setRequestExtensions(new Extensions(var3.toArray(new Extension[var3.size()])));
         }
      } catch (OCSPException var5) {
         throw a(var5);
      }

      return var2.build();
   }

   private OCSPClient.OCSPStatus a(String var1, OCSPReq var2, CertificateID var3, boolean var4, byte[] var5) throws OCSPClient.OCSPClientException {
      URL var6;
      try {
         var6 = new URL(var1);
      } catch (MalformedURLException var19) {
         String[] var14 = p;
         throw new OCSPClient.OCSPClientException(var14[24] + var1 + var14[31], var19);
      }

      GenericHttpRequestParams var7;
      byte[] var8;
      try {
         var8 = var2.getEncoded();
         var7 = new GenericHttpRequestParams(var6);
         String[] var26 = p;
         var7.setContentType(ContentTypeHeader.parseValue(var26[53]));
         var7.addExtraHeader(new GenericHttpHeader(HttpConstants.HEADER_ACCEPT, var26[26]));
         var7.setFollowRedirects(false);
         var7.setContentLength((long)var8.length);
      } catch (IOException var18) {
         String[] var25 = p;
         throw new OCSPClient.OCSPClientException(var25[32], var18);
      }

      try {
         RerunnableHttpRequest var9 = (RerunnableHttpRequest)this.l.createRequest(HttpMethod.POST, var7);

         OCSPClient.OCSPStatus var13;
         try {
            var9.setInputStreamFactory(() -> new ByteArrayInputStream(var8));
            GenericHttpResponse var10 = var9.getResponse();

            try {
               int var11 = var10.getStatus();

               try {
                  k.log(Level.FINER, p[20], new Object[]{var11, var1});
                  if (var11 != 200) {
                     throw new OCSPClient.OCSPClientException(p[29] + var11 + p[1] + var1 + p[21]);
                  }
               } catch (MalformedURLException var20) {
                  throw a(var20);
               }

               OCSPResp var12 = new OCSPResp(var10.getInputStream());
               var13 = this.a(var12, var3, var4, var5);
            } catch (Throwable var21) {
               if (var10 != null) {
                  try {
                     var10.close();
                  } catch (Throwable var16) {
                     var21.addSuppressed(var16);
                  }
               }

               throw var21;
            }

            try {
               if (var10 != null) {
                  var10.close();
               }
            } catch (MalformedURLException var22) {
               throw a(var22);
            }
         } catch (Throwable var23) {
            if (var9 != null) {
               try {
                  var9.close();
               } catch (Throwable var15) {
                  var23.addSuppressed(var15);
               }
            }

            throw var23;
         }

         try {
            if (var9 != null) {
               var9.close();
            }

            return var13;
         } catch (MalformedURLException var17) {
            throw a(var17);
         }
      } catch (IOException var24) {
         throw new OCSPClient.OCSPClientException(p[6], var24);
      }
   }

   private OCSPClient.OCSPStatus a(OCSPResp var1, CertificateID var2, boolean var3, byte[] var4) throws OCSPClient.OCSPClientException, IOException {
      int var6 = var1.getStatus();

      try {
         if (k.isLoggable(Level.FINER)) {
            k.log(Level.FINER, p[25], var6);
         }
      } catch (OCSPClient.OCSPClientException var8) {
         throw a(var8);
      }

      switch (var6) {
         case 0:
            return this.b(var1, var2, var3, var4);
         case 1:
            String[] var12 = p;
            throw new OCSPClient.OCSPClientStatusException(var12[14]);
         case 2:
            String[] var11 = p;
            throw new OCSPClient.OCSPClientStatusException(var11[27]);
         case 3:
            String[] var10 = p;
            throw new OCSPClient.OCSPClientStatusException(var10[33]);
         case 4:
         default:
            throw new OCSPClient.OCSPClientStatusException(p[0] + var6);
         case 5:
            String[] var9 = p;
            throw new OCSPClient.OCSPClientStatusException(var9[41]);
         case 6:
            String[] var7 = p;
            throw new OCSPClient.OCSPClientStatusException(var7[15]);
      }
   }

   private OCSPClient.OCSPStatus b(OCSPResp param1, CertificateID param2, boolean param3, byte[] param4) throws OCSPClient.OCSPClientException, 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: aconst_null
      // 001: astore 5
      // 003: aload 1
      // 004: invokevirtual org/bouncycastle/cert/ocsp/OCSPResp.getResponseObject ()Ljava/lang/Object;
      // 007: astore 7
      // 009: aload 7
      // 00b: instanceof org/bouncycastle/cert/ocsp/BasicOCSPResp
      // 00e: ifne 04a
      // 011: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 014: dup
      // 015: aload 7
      // 017: ifnonnull 02e
      // 01a: goto 021
      // 01d: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 020: athrow
      // 021: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 024: bipush 11
      // 026: aaload
      // 027: goto 036
      // 02a: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02d: athrow
      // 02e: aload 7
      // 030: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 033: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 036: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 039: astore 18
      // 03b: aload 18
      // 03d: bipush 38
      // 03f: aaload
      // 040: swap
      // 041: 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" ]
      // 046: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;)V
      // 049: athrow
      // 04a: aload 7
      // 04c: checkcast org/bouncycastle/cert/ocsp/BasicOCSPResp
      // 04f: astore 6
      // 051: goto 06a
      // 054: astore 7
      // 056: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 059: dup
      // 05a: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 05d: astore 18
      // 05f: aload 18
      // 061: bipush 40
      // 063: aaload
      // 064: aload 7
      // 066: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 069: athrow
      // 06a: aload 0
      // 06b: aload 6
      // 06d: iload 3
      // 06e: invokevirtual com/l7tech/server/security/cert/OCSPClient.a (Lorg/bouncycastle/cert/ocsp/BasicOCSPResp;Z)V
      // 071: aload 4
      // 073: ifnull 134
      // 076: aconst_null
      // 077: astore 7
      // 079: aload 6
      // 07b: getstatic org/bouncycastle/asn1/ocsp/OCSPObjectIdentifiers.id_pkix_ocsp_nonce Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
      // 07e: invokevirtual org/bouncycastle/cert/ocsp/BasicOCSPResp.getExtension (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/x509/Extension;
      // 081: astore 8
      // 083: aload 8
      // 085: ifnull 0ea
      // 088: aload 8
      // 08a: invokevirtual org/bouncycastle/asn1/x509/Extension.getExtnValue ()Lorg/bouncycastle/asn1/ASN1OctetString;
      // 08d: invokevirtual org/bouncycastle/asn1/ASN1OctetString.getEncoded ()[B
      // 090: astore 9
      // 092: aload 9
      // 094: ifnull 0ea
      // 097: new org/bouncycastle/asn1/ASN1InputStream
      // 09a: dup
      // 09b: aload 9
      // 09d: invokespecial org/bouncycastle/asn1/ASN1InputStream.<init> ([B)V
      // 0a0: astore 10
      // 0a2: aload 10
      // 0a4: invokevirtual org/bouncycastle/asn1/ASN1InputStream.readObject ()Lorg/bouncycastle/asn1/ASN1Primitive;
      // 0a7: invokestatic org/bouncycastle/asn1/ASN1OctetString.getInstance (Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
      // 0aa: astore 11
      // 0ac: aload 11
      // 0ae: invokevirtual org/bouncycastle/asn1/ASN1OctetString.getOctets ()[B
      // 0b1: astore 7
      // 0b3: aload 10
      // 0b5: invokevirtual org/bouncycastle/asn1/ASN1InputStream.close ()V
      // 0b8: goto 0d1
      // 0bb: astore 11
      // 0bd: aload 10
      // 0bf: invokevirtual org/bouncycastle/asn1/ASN1InputStream.close ()V
      // 0c2: goto 0ce
      // 0c5: astore 12
      // 0c7: aload 11
      // 0c9: aload 12
      // 0cb: invokevirtual java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
      // 0ce: aload 11
      // 0d0: athrow
      // 0d1: goto 0ea
      // 0d4: astore 10
      // 0d6: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 0d9: dup
      // 0da: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 0dd: astore 18
      // 0df: aload 18
      // 0e1: bipush 12
      // 0e3: aaload
      // 0e4: aload 10
      // 0e6: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0e9: athrow
      // 0ea: aload 7
      // 0ec: ifnonnull 100
      // 0ef: new com/l7tech/server/security/cert/OCSPClient$OCSPClientMissingNonceException
      // 0f2: dup
      // 0f3: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 0f6: bipush 2
      // 0f7: aaload
      // 0f8: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientMissingNonceException.<init> (Ljava/lang/String;)V
      // 0fb: athrow
      // 0fc: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ff: athrow
      // 100: aload 4
      // 102: aload 7
      // 104: invokestatic java/util/Arrays.equals ([B[B)Z
      // 107: ifne 134
      // 10a: new com/l7tech/server/security/cert/OCSPClient$OCSPClientMismatchNonceException
      // 10d: dup
      // 10e: aload 4
      // 110: invokestatic com/l7tech/util/HexUtils.hexDump ([B)Ljava/lang/String;
      // 113: aload 7
      // 115: invokestatic com/l7tech/util/HexUtils.hexDump ([B)Ljava/lang/String;
      // 118: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 11b: bipush 35
      // 11d: aaload
      // 11e: dup_x2
      // 11f: pop
      // 120: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 123: bipush 9
      // 125: aaload
      // 126: swap
      // 127: 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" ]
      // 12c: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientMismatchNonceException.<init> (Ljava/lang/String;)V
      // 12f: athrow
      // 130: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 133: athrow
      // 134: aload 0
      // 135: invokevirtual com/l7tech/server/security/cert/OCSPClient.b ()J
      // 138: lstore 7
      // 13a: aload 6
      // 13c: invokevirtual org/bouncycastle/cert/ocsp/BasicOCSPResp.getResponses ()[Lorg/bouncycastle/cert/ocsp/SingleResp;
      // 13f: astore 9
      // 141: aload 9
      // 143: arraylength
      // 144: istore 10
      // 146: bipush 0
      // 147: istore 11
      // 149: iload 11
      // 14b: iload 10
      // 14d: if_icmpge 21f
      // 150: aload 9
      // 152: iload 11
      // 154: aaload
      // 155: astore 12
      // 157: aload 12
      // 159: invokevirtual org/bouncycastle/cert/ocsp/SingleResp.getCertID ()Lorg/bouncycastle/cert/ocsp/CertificateID;
      // 15c: aload 2
      // 15d: invokevirtual org/bouncycastle/cert/ocsp/CertificateID.equals (Ljava/lang/Object;)Z
      // 160: ifeq 219
      // 163: aload 12
      // 165: invokevirtual org/bouncycastle/cert/ocsp/SingleResp.getThisUpdate ()Ljava/util/Date;
      // 168: astore 13
      // 16a: aload 13
      // 16c: ifnull 185
      // 16f: lload 7
      // 171: aload 13
      // 173: invokevirtual java/util/Date.getTime ()J
      // 176: lsub
      // 177: getstatic com/l7tech/server/security/cert/OCSPClient.d J
      // 17a: lcmp
      // 17b: ifle 197
      // 17e: goto 185
      // 181: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 184: athrow
      // 185: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 188: dup
      // 189: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 18c: bipush 44
      // 18e: aaload
      // 18f: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;)V
      // 192: athrow
      // 193: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 196: athrow
      // 197: aload 12
      // 199: invokevirtual org/bouncycastle/cert/ocsp/SingleResp.getNextUpdate ()Ljava/util/Date;
      // 19c: astore 14
      // 19e: aload 14
      // 1a0: ifnonnull 1aa
      // 1a3: lload 7
      // 1a5: lstore 15
      // 1a7: goto 1cf
      // 1aa: aload 14
      // 1ac: invokevirtual java/util/Date.getTime ()J
      // 1af: lstore 15
      // 1b1: lload 15
      // 1b3: getstatic com/l7tech/server/security/cert/OCSPClient.e J
      // 1b6: ladd
      // 1b7: lload 7
      // 1b9: lcmp
      // 1ba: ifgt 1cf
      // 1bd: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 1c0: dup
      // 1c1: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 1c4: bipush 10
      // 1c6: aaload
      // 1c7: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;)V
      // 1ca: athrow
      // 1cb: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1ce: athrow
      // 1cf: aload 12
      // 1d1: invokevirtual org/bouncycastle/cert/ocsp/SingleResp.getCertStatus ()Lorg/bouncycastle/cert/ocsp/CertificateStatus;
      // 1d4: astore 17
      // 1d6: aload 17
      // 1d8: instanceof org/bouncycastle/cert/ocsp/RevokedStatus
      // 1db: ifeq 1ef
      // 1de: new com/l7tech/server/security/cert/OCSPClient$OCSPStatus
      // 1e1: dup
      // 1e2: lload 15
      // 1e4: getstatic com/l7tech/security/types/CertificateValidationResult.REVOKED Lcom/l7tech/security/types/CertificateValidationResult;
      // 1e7: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPStatus.<init> (JLcom/l7tech/security/types/CertificateValidationResult;)V
      // 1ea: astore 5
      // 1ec: goto 21f
      // 1ef: aload 17
      // 1f1: instanceof org/bouncycastle/cert/ocsp/UnknownStatus
      // 1f4: ifeq 208
      // 1f7: new com/l7tech/server/security/cert/OCSPClient$OCSPStatus
      // 1fa: dup
      // 1fb: lload 15
      // 1fd: getstatic com/l7tech/security/types/CertificateValidationResult.UNKNOWN Lcom/l7tech/security/types/CertificateValidationResult;
      // 200: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPStatus.<init> (JLcom/l7tech/security/types/CertificateValidationResult;)V
      // 203: astore 5
      // 205: goto 21f
      // 208: new com/l7tech/server/security/cert/OCSPClient$OCSPStatus
      // 20b: dup
      // 20c: lload 15
      // 20e: getstatic com/l7tech/security/types/CertificateValidationResult.OK Lcom/l7tech/security/types/CertificateValidationResult;
      // 211: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPStatus.<init> (JLcom/l7tech/security/types/CertificateValidationResult;)V
      // 214: astore 5
      // 216: goto 21f
      // 219: iinc 11 1
      // 21c: goto 149
      // 21f: aload 5
      // 221: ifnonnull 236
      // 224: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 227: dup
      // 228: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 22b: bipush 30
      // 22d: aaload
      // 22e: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;)V
      // 231: athrow
      // 232: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 235: athrow
      // 236: aload 5
      // 238: areturn
      // try (8 -> 19): 19 org/bouncycastle/cert/ocsp/OCSPException
      // try (5 -> 12): 13 org/bouncycastle/cert/ocsp/OCSPException
      // try (2 -> 36): 37 org/bouncycastle/cert/ocsp/OCSPException
      // try (73 -> 80): 83 java/lang/Throwable
      // try (84 -> 86): 87 java/lang/Throwable
      // try (68 -> 93): 94 java/io/IOException
      // try (105 -> 114): 114 org/bouncycastle/cert/ocsp/OCSPException
      // try (116 -> 138): 138 org/bouncycastle/cert/ocsp/OCSPException
      // try (166 -> 175): 176 org/bouncycastle/cert/ocsp/OCSPException
      // try (168 -> 185): 185 org/bouncycastle/cert/ocsp/OCSPException
      // try (198 -> 211): 211 org/bouncycastle/cert/ocsp/OCSPException
      // try (245 -> 254): 254 org/bouncycastle/cert/ocsp/OCSPException
   }

   private void a(BasicOCSPResp param1, boolean param2) throws OCSPClient.OCSPClientException {
      // $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: new org/bouncycastle/operator/DefaultAlgorithmNameFinder
      // 003: dup
      // 004: invokespecial org/bouncycastle/operator/DefaultAlgorithmNameFinder.<init> ()V
      // 007: aload 1
      // 008: invokevirtual org/bouncycastle/cert/ocsp/BasicOCSPResp.getSignatureAlgorithmID ()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
      // 00b: invokevirtual org/bouncycastle/operator/DefaultAlgorithmNameFinder.getAlgorithmName (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Ljava/lang/String;
      // 00e: astore 3
      // 00f: new java/util/ArrayList
      // 012: dup
      // 013: invokespecial java/util/ArrayList.<init> ()V
      // 016: astore 5
      // 018: new org/bouncycastle/cert/jcajce/JcaX509CertificateConverter
      // 01b: dup
      // 01c: invokespecial org/bouncycastle/cert/jcajce/JcaX509CertificateConverter.<init> ()V
      // 01f: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 022: astore 12
      // 024: aload 12
      // 026: bipush 16
      // 028: aaload
      // 029: aload 12
      // 02b: bipush 19
      // 02d: aaload
      // 02e: invokestatic com/l7tech/util/ConfigFactory.getProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 031: invokevirtual org/bouncycastle/cert/jcajce/JcaX509CertificateConverter.setProvider (Ljava/lang/String;)Lorg/bouncycastle/cert/jcajce/JcaX509CertificateConverter;
      // 034: astore 6
      // 036: aload 1
      // 037: invokevirtual org/bouncycastle/cert/ocsp/BasicOCSPResp.getCerts ()[Lorg/bouncycastle/cert/X509CertificateHolder;
      // 03a: astore 7
      // 03c: aload 7
      // 03e: arraylength
      // 03f: istore 8
      // 041: bipush 0
      // 042: istore 9
      // 044: iload 9
      // 046: iload 8
      // 048: if_icmpge 080
      // 04b: aload 7
      // 04d: iload 9
      // 04f: aaload
      // 050: astore 10
      // 052: aload 5
      // 054: aload 6
      // 056: aload 10
      // 058: invokevirtual org/bouncycastle/cert/jcajce/JcaX509CertificateConverter.getCertificate (Lorg/bouncycastle/cert/X509CertificateHolder;)Ljava/security/cert/X509Certificate;
      // 05b: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 060: pop
      // 061: goto 07a
      // 064: astore 11
      // 066: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 069: dup
      // 06a: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 06d: astore 12
      // 06f: aload 12
      // 071: bipush 13
      // 073: aaload
      // 074: aload 11
      // 076: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 079: athrow
      // 07a: iinc 9 1
      // 07d: goto 044
      // 080: aload 0
      // 081: getfield com/l7tech/server/security/cert/OCSPClient.o Lcom/l7tech/server/security/cert/OCSPClient$OCSPCertificateAuthorizer;
      // 084: aload 0
      // 085: aload 5
      // 087: aload 5
      // 089: invokeinterface java/util/List.size ()I 1
      // 08e: anewarray 705
      // 091: invokeinterface java/util/List.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // 096: checkcast [Ljava/security/cert/X509Certificate;
      // 099: invokeinterface com/l7tech/server/security/cert/OCSPClient$OCSPCertificateAuthorizer.getAuthorizedSigner (Lcom/l7tech/server/security/cert/OCSPClient;[Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate; 3
      // 09e: astore 4
      // 0a0: aload 1
      // 0a1: invokevirtual org/bouncycastle/cert/ocsp/BasicOCSPResp.getTBSResponseData ()[B
      // 0a4: astore 7
      // 0a6: aload 1
      // 0a7: invokevirtual org/bouncycastle/cert/ocsp/BasicOCSPResp.getSignature ()[B
      // 0aa: astore 8
      // 0ac: aload 8
      // 0ae: ifnull 106
      // 0b1: aload 4
      // 0b3: ifnonnull 0cf
      // 0b6: goto 0bd
      // 0b9: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0bc: athrow
      // 0bd: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 0c0: dup
      // 0c1: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 0c4: bipush 17
      // 0c6: aaload
      // 0c7: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;)V
      // 0ca: athrow
      // 0cb: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ce: athrow
      // 0cf: aload 3
      // 0d0: invokestatic java/security/Signature.getInstance (Ljava/lang/String;)Ljava/security/Signature;
      // 0d3: astore 9
      // 0d5: aload 9
      // 0d7: aload 0
      // 0d8: aload 4
      // 0da: invokevirtual com/l7tech/server/security/cert/OCSPClient.a (Ljava/security/cert/Certificate;)Ljava/security/PublicKey;
      // 0dd: invokevirtual java/security/Signature.initVerify (Ljava/security/PublicKey;)V
      // 0e0: aload 9
      // 0e2: aload 7
      // 0e4: invokevirtual java/security/Signature.update ([B)V
      // 0e7: aload 9
      // 0e9: aload 8
      // 0eb: invokevirtual java/security/Signature.verify ([B)Z
      // 0ee: ifne 103
      // 0f1: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 0f4: dup
      // 0f5: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 0f8: bipush 43
      // 0fa: aaload
      // 0fb: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;)V
      // 0fe: athrow
      // 0ff: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 102: athrow
      // 103: goto 11c
      // 106: iload 2
      // 107: ifeq 11c
      // 10a: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 10d: dup
      // 10e: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 111: bipush 55
      // 113: aaload
      // 114: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;)V
      // 117: athrow
      // 118: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11b: athrow
      // 11c: goto 131
      // 11f: astore 7
      // 121: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 124: dup
      // 125: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 128: bipush 47
      // 12a: aaload
      // 12b: aload 7
      // 12d: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 130: athrow
      // 131: return
      // try (40 -> 46): 47 java/security/cert/CertificateException
      // try (118 -> 127): 127 java/security/cert/CertificateException
      // try (96 -> 115): 115 java/security/cert/CertificateException
      // try (79 -> 91): 91 java/security/cert/CertificateException
      // try (77 -> 81): 82 java/security/cert/CertificateException
      // try (71 -> 129): 130 java/security/GeneralSecurityException
   }

   private PublicKey a(Certificate param1) throws OCSPClient.OCSPClientException {
      // $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: instanceof java/security/cert/X509Certificate
      // 04: ifeq 70
      // 07: aload 1
      // 08: checkcast java/security/cert/X509Certificate
      // 0b: astore 2
      // 0c: aload 2
      // 0d: invokevirtual java/security/cert/X509Certificate.getCriticalExtensionOIDs ()Ljava/util/Set;
      // 10: astore 3
      // 11: aload 3
      // 12: ifnull 70
      // 15: aload 3
      // 16: invokeinterface java/util/Set.isEmpty ()Z 1
      // 1b: ifne 70
      // 1e: goto 25
      // 21: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 24: athrow
      // 25: aload 3
      // 26: getstatic com/l7tech/common/io/CertUtils.X509_OID_KEY_USAGE_EXTENSION Ljava/lang/String;
      // 29: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 2e: ifeq 70
      // 31: goto 38
      // 34: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 37: athrow
      // 38: aload 2
      // 39: invokevirtual java/security/cert/X509Certificate.getKeyUsage ()[Z
      // 3c: astore 4
      // 3e: aload 4
      // 40: ifnull 70
      // 43: aload 4
      // 45: bipush 0
      // 46: baload
      // 47: ifne 70
      // 4a: goto 51
      // 4d: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 50: athrow
      // 51: aload 4
      // 53: bipush 1
      // 54: baload
      // 55: ifne 70
      // 58: goto 5f
      // 5b: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5e: athrow
      // 5f: new com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // 62: dup
      // 63: getstatic com/l7tech/server/security/cert/OCSPClient.p [Ljava/lang/String;
      // 66: bipush 4
      // 67: aaload
      // 68: invokespecial com/l7tech/server/security/cert/OCSPClient$OCSPClientException.<init> (Ljava/lang/String;)V
      // 6b: athrow
      // 6c: invokestatic com/l7tech/server/security/cert/OCSPClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6f: athrow
      // 70: aload 1
      // 71: invokevirtual java/security/cert/Certificate.getPublicKey ()Ljava/security/PublicKey;
      // 74: areturn
      // try (9 -> 14): 15 com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // try (11 -> 21): 22 com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // try (27 -> 33): 34 com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // try (29 -> 40): 41 com/l7tech/server/security/cert/OCSPClient$OCSPClientException
      // try (36 -> 50): 50 com/l7tech/server/security/cert/OCSPClient$OCSPClientException
   }

   static {
      String[] var5 = new String[56];
      int var3 = 0;
      String var2 = "sAbx[n+RJc dH\u001bv\u000fUeX{'H\\b ny:I]= x\u007f)RZt Hd,C\u000f\u0012\u0001\u000farDfhTJtpDe,C]''?ilTP\u000be'HLb \\j;\u0006]bq^b:CK'b^\u007fhH@s [y-UJit\u000bb&\u0006[oe\u000by-U_hnXnhKJtsJl-\u0018G_wlBh)RFhn\u0004d+U_*rNz=C\\s;ilTP\u000by-U_hnXnhUF`nJ\u007f=TJ'vJg!BNsiDeh@NnlNod\u0006xuoElhMJ~ ^x)AJ)\u0003bjU\u001fn{SP\u000bn:T@u O~:OA` dH\u001bv\u000fueZ~-U[)\u0014\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0012\u0017)1\u0005>CilTP\u000bx!AAnnL++C]siMb+G[b P;5\u0006Gfs\u000b\u007f C\u000fnd\u0006{#OW*oHx8\u000bAhcCn+M\u000fbx_n&UFhn\n\n\u000feu_+/I['(ilTP\u000by-U_hnXnhO\\'s_j$C\u000f/nNs<\u0006ZwdJ\u007f-\u0006Kre\u0002\u0004hzKL\u001fc]uoY+8T@deXx!HH'rNx8IAte\u000be'HLb/c]uoY+8T@deXx!HH'cNy<OIncJ\u007f-U\u000fnn\u000bD\u000bu\u007f'rNx8IAte\u0005$ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0017r= ij,\u0006}bq^n;R%ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0010r= ~e)S[ooYb2CK'E@j.G<<CLo.Xn:PJu.Xn+S]ntR%'E\\wPYd>OKbrOilTP\u000by-U_hnXnhO\\'sBl&CK'b^\u007fhRGb Xb/HJu BxhSAlnD|&\u0006\u0007hr\u000bb;UZbr\u000bb;\u0006Aht\u000b{-TBnt_n,\u000f\u0001\u0019G_wlBh)RFhn\u0004d+U_*rNx8IAte\u0003uzI/tJtpDe;C\u000fOT\u007f[hU[ft^xh]\u001fz Md:\u0006`DS{+:C\\woEo-T\u000f|1V\u0002\u0001\u0001!V]hbGn%\u0006LueJ\u007f!HH'cNy<OIncJ\u007f-\u0006fC:\u000b'E@j.G<<CLo.Xn:PJu.Xn+S]ntR%'E\\wPYd>OKbr oAqaGb,\u0006zUL\u000bm'T\u000fHCx[hTJtpDe,C]'' ilTP\u000by-U_hnXnhU[ft^xhO\\''\fpx[\b .\u0019G_wlBh)RFhn\u0004d+U_*rNx8IAte(ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0014r= yn;V@idNyhc]uoY\u0015V]hbGn%\u0006LueJ\u007f!HH'Io1h!`NnlBe/\u0006Kre\u000b\u007f'\u0006gST{+;RNsuX++IKb \fEilTP\u000by-U_hnXnhB@bs\u000be'R\u000fdoE\u007f)OA'iEm'TBftBd&\u0006Ihr\u000by-WZbs_n,\u0006Lbr_b.OLftN%\u0002\u0001\u0001&c]uoY++TJftBe/\u0006`DS{+:C^reX\u007fhVNuaFn<C]t4ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0015r= yn;V@idNyhc]uoY+`r]~ gj<C].\u0003uzI\u001eilTP\u000be'HLb Fb;KNscC%hcWweH\u007f-B\u000f\u0011\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0015\u0001>\u0016N[sphg!CAs BxhTJvuBy-B\u001coAqaGb,\u0006`DS{+:C\\woEx-\u0006[~pN1h\u0005ugF-\u001a\u0019c]uoY+8T@deXx!HH'rNx8IAte3ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0013r= yn9SJtt\u000bX!AAft^y-\u0006}bq^b:CK\u0012O\\tuNyhO\\'rNz=O]bd&ilTP\u000by-U_hnXnhUF`nJ\u007f=TJ'wJxhH@s ]j$OK)5ilTP\u000by-U_hnXnhO\\'s_j$C\u000f/bNr'HK'mJs!KZj [n:KFstNohGHb)\u0012\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0012\u0017)1\u0011\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0015\u0001>(c]uoY+>C]nfRb&A\u000fHCx[hTJtpDe;C\u000ftiLe)RZue\u0005\u000fS]k BxhTJvuBy-B-E@j.G<<CLo.Xn:PJu.Xn+S]ntR%'E\\wMJs\u001aC\\woEx-gHb,c]uoY+*SFkdBe/\u0006`DS{+:C^reX\u007fh@@u Hn:RFaiHj<C\u00011c]uoY+>C]nfRb&A\u000fHCx[hTJtpDe;C\u000ftiLe-T\u000fdeY\u007f!@Fda_nf\u0014\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0012\u0017)1\u0005>\u0018G_wlBh)RFhn\u0004d+U_*rNz=C\\s";
      int var4 = "sAbx[n+RJc dH\u001bv\u000fUeX{'H\\b ny:I]= x\u007f)RZt Hd,C\u000f\u0012\u0001\u000farDfhTJtpDe,C]''?ilTP\u000be'HLb \\j;\u0006]bq^b:CK'b^\u007fhH@s [y-UJit\u000bb&\u0006[oe\u000by-U_hnXnhKJtsJl-\u0018G_wlBh)RFhn\u0004d+U_*rNz=C\\s;ilTP\u000by-U_hnXnhUF`nJ\u007f=TJ'vJg!BNsiDeh@NnlNod\u0006xuoElhMJ~ ^x)AJ)\u0003bjU\u001fn{SP\u000bn:T@u O~:OA` dH\u001bv\u000fueZ~-U[)\u0014\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0012\u0017)1\u0005>CilTP\u000bx!AAnnL++C]siMb+G[b P;5\u0006Gfs\u000b\u007f C\u000fnd\u0006{#OW*oHx8\u000bAhcCn+M\u000fbx_n&UFhn\n\n\u000feu_+/I['(ilTP\u000by-U_hnXnhO\\'s_j$C\u000f/nNs<\u0006ZwdJ\u007f-\u0006Kre\u0002\u0004hzKL\u001fc]uoY+8T@deXx!HH'rNx8IAte\u000be'HLb/c]uoY+8T@deXx!HH'cNy<OIncJ\u007f-U\u000fnn\u000bD\u000bu\u007f'rNx8IAte\u0005$ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0017r= ij,\u0006}bq^n;R%ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0010r= ~e)S[ooYb2CK'E@j.G<<CLo.Xn:PJu.Xn+S]ntR%'E\\wPYd>OKbrOilTP\u000by-U_hnXnhO\\'sBl&CK'b^\u007fhRGb Xb/HJu BxhSAlnD|&\u0006\u0007hr\u000bb;UZbr\u000bb;\u0006Aht\u000b{-TBnt_n,\u000f\u0001\u0019G_wlBh)RFhn\u0004d+U_*rNx8IAte\u0003uzI/tJtpDe;C\u000fOT\u007f[hU[ft^xh]\u001fz Md:\u0006`DS{+:C\\woEo-T\u000f|1V\u0002\u0001\u0001!V]hbGn%\u0006LueJ\u007f!HH'cNy<OIncJ\u007f-\u0006fC:\u000b'E@j.G<<CLo.Xn:PJu.Xn+S]ntR%'E\\wPYd>OKbr oAqaGb,\u0006zUL\u000bm'T\u000fHCx[hTJtpDe,C]'' ilTP\u000by-U_hnXnhU[ft^xhO\\''\fpx[\b .\u0019G_wlBh)RFhn\u0004d+U_*rNx8IAte(ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0014r= yn;V@idNyhc]uoY\u0015V]hbGn%\u0006LueJ\u007f!HH'Io1h!`NnlBe/\u0006Kre\u000b\u007f'\u0006gST{+;RNsuX++IKb \fEilTP\u000by-U_hnXnhB@bs\u000be'R\u000fdoE\u007f)OA'iEm'TBftBd&\u0006Ihr\u000by-WZbs_n,\u0006Lbr_b.OLftN%\u0002\u0001\u0001&c]uoY++TJftBe/\u0006`DS{+:C^reX\u007fhVNuaFn<C]t4ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0015r= yn;V@idNyhc]uoY+`r]~ gj<C].\u0003uzI\u001eilTP\u000be'HLb Fb;KNscC%hcWweH\u007f-B\u000f\u0011\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0015\u0001>\u0016N[sphg!CAs BxhTJvuBy-B\u001coAqaGb,\u0006`DS{+:C\\woEx-\u0006[~pN1h\u0005ugF-\u001a\u0019c]uoY+8T@deXx!HH'rNx8IAte3ilTP\u000bY-U_hnXnhc]uoY+\u0013\u0013r= yn9SJtt\u000bX!AAft^y-\u0006}bq^b:CK\u0012O\\tuNyhO\\'rNz=O]bd&ilTP\u000by-U_hnXnhUF`nJ\u007f=TJ'wJxhH@s ]j$OK)5ilTP\u000by-U_hnXnhO\\'s_j$C\u000f/bNr'HK'mJs!KZj [n:KFstNohGHb)\u0012\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0012\u0017)1\u0011\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0015\u0001>(c]uoY+>C]nfRb&A\u000fHCx[hTJtpDe;C\u000ftiLe)RZue\u0005\u000fS]k BxhTJvuBy-B-E@j.G<<CLo.Xn:PJu.Xn+S]ntR%'E\\wMJs\u001aC\\woEx-gHb,c]uoY+*SFkdBe/\u0006`DS{+:C^reX\u007fh@@u Hn:RFaiHj<C\u00011c]uoY+>C]nfRb&A\u000fHCx[hTJtpDe;C\u000ftiLe-T\u000fdeY\u007f!@Fda_nf\u0014\u0017\u00014.\u001d%y\b\u001a)5\u0005<f\u0012\u0017)1\u0005>\u0018G_wlBh)RFhn\u0004d+U_*rNz=C\\s"
         .length();
      char var1 = ',';
      int var7 = -1;

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

         while (true) {
            String var9 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     p = var5;
                     String[] var10 = p;
                     f = p[3];
                     h = var10[46];
                     OID_AIA_OCSP_URL = var10[45];
                     c = var10[34];
                     b = var10[23];
                     g = var10[18];
                     i = var10[52];
                     a = ProviderUtil.loadInstalledBCProxy();
                     String[] var8 = p;
                     d = ConfigFactory.getLongProperty(var8[49], TimeUnit.DAYS.toMillis(31L));
                     e = ConfigFactory.getTimeUnitProperty(var8[54], 0L);
                     j = new SecureRandom();
                     k = Logger.getLogger(OCSPClient.class.getName());
                     return;
                  }

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

                  var2 = "<9\u0013W>EE:5\u0016W!\u0017C)3\fW!\u0017R*$\u0017\r+\\^<%\u000e77\nE\n&\u001a\u0018&\u0017~90\r\u001c&3\u0010\u0015-)r\u0000T,&\u0011\u0017!\u0017\u001119\nY!\u001bV13\u001aY3\u001cU\u007f%\u0017\u001e<\u0013E*$\u001bY;\u0001\u0011-3\u000f\f;\u0000T;x";
                  var4 = "<9\u0013W>EE:5\u0016W!\u0017C)3\fW!\u0017R*$\u0017\r+\\^<%\u000e77\nE\n&\u001a\u0018&\u0017~90\r\u001c&3\u0010\u0015-)r\u0000T,&\u0011\u0017!\u0017\u001119\nY!\u001bV13\u001aY3\u001cU\u007f%\u0017\u001e<\u0013E*$\u001bY;\u0001\u0011-3\u000f\f;\u0000T;x"
                     .length();
                  var1 = '/';
                  var7 = -1;
            }

            var10000 = 35;
            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] ^ 18);
      }

      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 -> 124;
            case 1 -> 117;
            case 2 -> 93;
            case 3 -> 90;
            case 4 -> 113;
            case 5 -> 81;
            default -> 18;
         });
      }

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

   public interface OCSPCertificateAuthorizer {
      X509Certificate getAuthorizedSigner(OCSPClient var1, X509Certificate[] var2);
   }

   public static class OCSPClientException extends Exception {
      static final long serialVersionUID = 3395577658145896357L;

      public OCSPClientException(String var1) {
         super(var1);
      }

      public OCSPClientException(String var1, Throwable var2) {
         super(var1, var2);
      }
   }

   static final class OCSPClientMismatchNonceException extends OCSPClient.OCSPClientException {
      static final long serialVersionUID = -5771635489624184637L;

      public OCSPClientMismatchNonceException(String var1) {
         super(var1);
      }
   }

   static final class OCSPClientMissingNonceException extends OCSPClient.OCSPClientException {
      static final long serialVersionUID = -8039053656167843463L;

      public OCSPClientMissingNonceException(String var1) {
         super(var1);
      }
   }

   public static final class OCSPClientStatusException extends OCSPClient.OCSPClientException {
      static final long serialVersionUID = 4990586707811846193L;

      public OCSPClientStatusException(String var1) {
         super(var1);
      }
   }

   public static final class OCSPStatus {
      private final long a;
      private final CertificateValidationResult b;

      private OCSPStatus(long var1, CertificateValidationResult var3) {
         this.a = var1;
         this.b = var3;
      }

      public long getExpiry() {
         return this.a;
      }

      public CertificateValidationResult getResult() {
         return this.b;
      }
   }
}
