/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.common.io.CertUtils
 *  com.l7tech.identity.ldap.UserMappingConfig
 *  com.l7tech.util.ExceptionUtils
 *  com.l7tech.util.Pair
 */
package com.l7tech.server.identity.ldap;

import com.l7tech.common.io.CertUtils;
import com.l7tech.identity.ldap.UserMappingConfig;
import com.l7tech.server.identity.ldap.LdapCertificateCache;
import com.l7tech.server.identity.ldap.LdapUtils;
import com.l7tech.server.identity.ldap.k;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.Pair;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.concurrent.atomic.AtomicReference;
import javax.naming.NamingException;
import javax.naming.directory.Attributes;

class l
extends k {
    final UserMappingConfig[] val$mappings;
    final LdapCertificateCache.CertCacheKey val$certCacheKey;
    final AtomicReference val$outputHolder;
    private static final String[] a;

    l(LdapCertificateCache ldapCertificateCache, UserMappingConfig[] userMappingConfigArray, LdapCertificateCache.CertCacheKey certCacheKey, AtomicReference atomicReference) {
        this.val$mappings = userMappingConfigArray;
        this.val$certCacheKey = certCacheKey;
        this.val$outputHolder = atomicReference;
    }

    /*
     * Unable to fully structure code
     */
    @Override
    void a(String var1_1, Attributes var2_2) throws NamingException {
        for (UserMappingConfig var6_6 : this.val$mappings) {
            block7: {
                var7_7 = var6_6.getUserCertAttrName();
                if (var7_7 == null) ** GOTO lbl10
                try {
                    block8: {
                        if (!var7_7.trim().isEmpty()) break block7;
                        break block8;
                        catch (CertificateException v0) {
                            throw l.a(v0);
                        }
                    }
                    LdapCertificateCache.a.fine(l.a[1] + var6_6.getObjClass());
                    continue;
                }
                catch (CertificateException v1) {
                    throw l.a(v1);
                }
            }
            var8_8 = LdapUtils.a(var2_2, var7_7.trim());
            if (!(var8_8 instanceof byte[])) continue;
            LdapCertificateCache.a.fine(l.a[0] + (String)this.val$certCacheKey.getKey());
            try {
                var9_9 = CertUtils.decodeCert((byte[])((byte[])var8_8));
                if (!((String)this.val$certCacheKey.getValue()).equals(CertUtils.getThumbprintSHA1((X509Certificate)var9_9))) continue;
                this.val$outputHolder.set(new Pair((Object)var1_1, (Object)var9_9));
                break;
            }
            catch (CertificateException var9_10) {
                throw (NamingException)new NamingException(ExceptionUtils.getMessage((Throwable)var9_10)).initCause(var9_10);
            }
        }
    }

    private static CertificateException a(CertificateException certificateException) {
        return certificateException;
    }

    /*
     * Enabled aggressive block sorting
     */
    static {
        String[] stringArray = new String[2];
        int n2 = 0;
        String string = "\u0019e/-~\u0013\u0013\u007fi?1nZ\u00146i;7\u007f\u0013\u001b1*>*hV\u0011+e(::U\u001d-*C\u0011ez6iV\u0000\u007fi?1nZ\u00146i;7\u007f\u0013\u0013+~(*xF\u0006:*2\"i\u0013\u0010:o4cy\\\u001c9c=6hV\u0016\u007fl51:F\u0001:xz.{C\u00026d=c";
        int n3 = "\u0019e/-~\u0013\u0013\u007fi?1nZ\u00146i;7\u007f\u0013\u001b1*>*hV\u0011+e(::U\u001d-*C\u0011ez6iV\u0000\u007fi?1nZ\u00146i;7\u007f\u0013\u0013+~(*xF\u0006:*2\"i\u0013\u0010:o4cy\\\u001c9c=6hV\u0016\u007fl51:F\u0001:xz.{C\u00026d=c".length();
        int n4 = 37;
        int n5 = -1;
        while (true) {
            int n6 = ++n5;
            stringArray[n2++] = l.a(122, l.a(string.substring(n6, n6 + n4)));
            if ((n5 += n4) >= n3) {
                a = stringArray;
                return;
            }
            n4 = string.charAt(n5);
        }
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 8);
        }
        return cArray;
    }

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String a(int n2, char[] cArray) {
        char[] cArray2;
        block11: {
            int n3;
            int n4;
            int n5;
            block10: {
                n5 = n2;
                cArray2 = cArray;
                n4 = cArray.length;
                n3 = 0;
                if (!true) break block10;
                n4 = n4;
                if (n4 <= n3) break block11;
            }
            do {
                n5 = n5;
                cArray2 = cArray2;
                int n6 = n3;
                cArray2[n6] = (char)(cArray2[n6] ^ (n5 ^ (switch (n3 % 7) {
                    case 0 -> 37;
                    case 1 -> 112;
                    case 2 -> 32;
                    case 3 -> 57;
                    case 4 -> 96;
                    case 5 -> 73;
                    default -> 8;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

