/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.util.Cacheable
 */
package com.l7tech.server.util;

import com.l7tech.server.util.EntityCachingFactoryBean;
import com.l7tech.server.util.g;
import com.l7tech.server.util.h;
import com.l7tech.util.Cacheable;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.util.logging.Level;

class f
implements InvocationHandler {
    final EntityCachingFactoryBean this$0;
    private static final String[] a;

    f(EntityCachingFactoryBean entityCachingFactoryBean) {
        this.this$0 = entityCachingFactoryBean;
    }

    @Override
    public Object invoke(Object object, Method method, Object[] objectArray) throws Throwable {
        Object object2;
        block26: {
            g g2;
            Cacheable cacheable;
            block24: {
                h h2;
                block27: {
                    block25: {
                        block21: {
                            block23: {
                                block22: {
                                    cacheable = method.getAnnotation(Cacheable.class);
                                    h2 = null;
                                    g2 = null;
                                    try {
                                        try {
                                            if (cacheable == null) break block21;
                                            if (!EntityCachingFactoryBean.a.isLoggable(Level.FINEST)) break block22;
                                        }
                                        catch (Throwable throwable) {
                                            throw f.a(throwable);
                                        }
                                        EntityCachingFactoryBean.a.log(Level.FINEST, a[0], new Object[]{cacheable.relevantArg(), cacheable.maxAge()});
                                    }
                                    catch (Throwable throwable) {
                                        throw f.a(throwable);
                                    }
                                }
                                h2 = this.this$0.a(cacheable, objectArray, method);
                                g2 = (g)this.this$0.f.retrieve((Object)h2);
                                try {
                                    try {
                                        try {
                                            if (g2 == null || !g2.a()) break block21;
                                        }
                                        catch (Throwable throwable) {
                                            throw f.a(throwable);
                                        }
                                        if (!EntityCachingFactoryBean.a.isLoggable(Level.FINER)) break block23;
                                    }
                                    catch (Throwable throwable) {
                                        throw f.a(throwable);
                                    }
                                    EntityCachingFactoryBean.a.log(Level.FINER, a[1], new Object[]{method.getName(), objectArray[cacheable.relevantArg()]});
                                }
                                catch (Throwable throwable) {
                                    throw f.a(throwable);
                                }
                            }
                            g2 = null;
                        }
                        try {
                            try {
                                if (g2 != null) break block24;
                                if (!EntityCachingFactoryBean.a.isLoggable(Level.FINER)) break block25;
                            }
                            catch (Throwable throwable) {
                                throw f.a(throwable);
                            }
                            EntityCachingFactoryBean.a.log(Level.FINER, a[4], new Object[]{method.getName()});
                        }
                        catch (Throwable throwable) {
                            throw f.a(throwable);
                        }
                    }
                    object2 = method.invoke(this.this$0.e, objectArray);
                    try {
                        try {
                            if (cacheable == null) break block26;
                            if (!EntityCachingFactoryBean.a.isLoggable(Level.FINER)) break block27;
                        }
                        catch (Throwable throwable) {
                            throw f.a(throwable);
                        }
                        EntityCachingFactoryBean.a.log(Level.FINER, a[2], new Object[]{method.getName(), objectArray[cacheable.relevantArg()]});
                    }
                    catch (Throwable throwable) {
                        throw f.a(throwable);
                    }
                }
                long l2 = cacheable.maxAge();
                this.this$0.f.store((Object)h2, (Object)new g(this.this$0.b, object2, this.this$0.b.currentTimeMillis() + l2), l2);
                break block26;
            }
            try {
                if (EntityCachingFactoryBean.a.isLoggable(Level.FINER)) {
                    EntityCachingFactoryBean.a.log(Level.FINER, a[3], new Object[]{method.getName(), objectArray[cacheable.relevantArg()]});
                }
            }
            catch (Throwable throwable) {
                throw f.a(throwable);
            }
            object2 = g2.b;
        }
        return object2;
    }

    private static Throwable a(Throwable throwable) {
        return throwable;
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[5];
                var3_1 = 0;
                var2_2 = "N=j0S\u0014sz-k?VXu;/m0[@qo'l0\u0014Ub|sxnI\u00180v/{sUSu&52#\u0018\u0014EU!w~AGyu)#;LDyi+g~WUss+g~BU|n+#8[F0v+w6[P0<ixnI\u001377ns?FU}~:f,\u0014\u00137`\u007f~y\u0013\u001a4X/`6]Zw;8b2AQ0}!q~YQds!g~\u0013\u0013k+3$y\u0018\u0014`z<b3Q@uin$yO\u0005m<i-";
                var4_3 = "N=j0S\u0014sz-k?VXu;/m0[@qo'l0\u0014Ub|sxnI\u00180v/{sUSu&52#\u0018\u0014EU!w~AGyu)#;LDyi+g~WUss+g~BU|n+#8[F0v+w6[P0<ixnI\u001377ns?FU}~:f,\u0014\u00137`\u007f~y\u0013\u001a4X/`6]Zw;8b2AQ0}!q~YQds!g~\u0013\u0013k+3$y\u0018\u0014`z<b3Q@uin$yO\u0005m<i-".length();
                var1_4 = 48;
                var0_5 = -1;
lbl7:
                // 2 sources

                while (true) {
                    v0 = 121;
                    v1 = ++var0_5;
                    v2 = var2_2.substring(v1, v1 + var1_4);
                    v3 = -1;
                    break block9;
                    break;
                }
lbl13:
                // 1 sources

                while (true) {
                    var5[var3_1++] = f.a(v0, f.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "c\u0010G\u001d~9^W\u0000F\u0016}9KW\u000f[\u00169\u007fRDCC\u0016mqRRC\tTb)@\u0011D\u0002SixOW\u000eK\u0007|k\u001d\u0011DUBd>\u001a\u0018\u0018\u007f\rX\u001crpSQCC\u0016mqRRC\tTb)@\u0011D\u0000";
                    var4_3 = "c\u0010G\u001d~9^W\u0000F\u0016}9KW\u000f[\u00169\u007fRDCC\u0016mqRRC\tTb)@\u0011D\u0002SixOW\u000eK\u0007|k\u001d\u0011DUBd>\u001a\u0018\u0018\u007f\rX\u001crpSQCC\u0016mqRRC\tTb)@\u0011D\u0000".length();
                    var1_4 = 57;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 84;
                        v4 = ++var0_5;
                        v2 = var2_2.substring(v4, v4 + var1_4);
                        v3 = 0;
                        break block9;
                        break;
                    }
                    break;
                }
lbl28:
                // 1 sources

                while (true) {
                    var5[var3_1++] = f.a(v0, f.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    break block10;
                    break;
                }
            }
            switch (v3) {
                default: {
                    ** continue;
                }
                ** case 0:
lbl39:
                // 1 sources

                ** continue;
            }
        }
        f.a = var5;
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x69);
        }
        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 -> 98;
                    case 1 -> 55;
                    case 2 -> 122;
                    case 3 -> 39;
                    case 4 -> 77;
                    case 5 -> 77;
                    default -> 105;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

