/*
 * Decompiled with CFR 0.152.
 */
package com.l7tech.server.policy.module;

import com.l7tech.server.policy.module.CustomAssertionClassLoader;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;

public class CustomAssertionPriorityClassLoader
extends CustomAssertionClassLoader {
    protected static final Logger logger;
    private static final String a;

    public CustomAssertionPriorityClassLoader(URL[] uRLArray) {
        super(uRLArray);
    }

    public CustomAssertionPriorityClassLoader(URL[] uRLArray, ClassLoader classLoader) {
        super(uRLArray, classLoader);
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    @Override
    protected Class<?> loadClass(String string, boolean bl2) throws ClassNotFoundException {
        Object object = this.getClassLoadingLock(string);
        synchronized (object) {
            Class<?> clazz = this.findLoadedClass(string);
            if (clazz == null) {
                try {
                    this.findClass(string);
                }
                catch (ClassNotFoundException classNotFoundException) {
                    logger.log(Level.FINEST, () -> a + string + "'");
                }
            }
            return super.loadClass(string, bl2);
        }
    }

    @Override
    public URL getResource(String string) {
        URL uRL = this.findResource(string);
        if (uRL == null) {
            uRL = super.getResource(string);
        }
        return uRL;
    }

    /*
     * Enabled aggressive block sorting
     */
    static {
        a = CustomAssertionPriorityClassLoader.a(90, CustomAssertionPriorityClassLoader.a("\bJ\"F\u001b.>$QwL\u0016`4kF;K\f}p\"KwI\n}$$HwK\f}59Q>E\u0011 p\bM2I\u0014. *W2D\u000b.3'D$Y_b?*A2XQ.\u0013'D$Y\u0011o=.\u001fw\r"));
        logger = Logger.getLogger(CustomAssertionPriorityClassLoader.class.getName());
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0xA);
        }
        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 -> 17;
                    case 1 -> 127;
                    case 2 -> 13;
                    case 3 -> 112;
                    case 4 -> 37;
                    case 5 -> 84;
                    default -> 10;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

