/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.common.mime.ContentTypeHeader
 *  com.l7tech.gateway.common.audit.Audit
 *  com.l7tech.gateway.common.audit.AuditFactory
 *  com.l7tech.security.prov.JceProvider
 *  com.l7tech.util.Config
 *  com.l7tech.util.DateTimeConfigUtils
 *  com.l7tech.util.Functions
 *  com.l7tech.util.Functions$Unary
 *  com.l7tech.util.Functions$UnaryVoid
 *  com.l7tech.util.Option
 *  com.l7tech.util.Pair
 *  com.l7tech.util.TextUtils
 *  jakarta.inject.Inject
 *  org.jetbrains.annotations.NotNull
 *  org.jetbrains.annotations.Nullable
 *  org.springframework.beans.factory.InitializingBean
 */
package com.l7tech.server;

import com.l7tech.common.mime.ContentTypeHeader;
import com.l7tech.gateway.common.audit.Audit;
import com.l7tech.gateway.common.audit.AuditFactory;
import com.l7tech.security.prov.JceProvider;
import com.l7tech.server.a0;
import com.l7tech.server.a2;
import com.l7tech.server.a4;
import com.l7tech.server.a5;
import com.l7tech.server.az;
import com.l7tech.server.log.LoggingPrintStream;
import com.l7tech.util.Config;
import com.l7tech.util.DateTimeConfigUtils;
import com.l7tech.util.Functions;
import com.l7tech.util.Option;
import com.l7tech.util.Pair;
import com.l7tech.util.TextUtils;
import jakarta.inject.Inject;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.InitializingBean;

/*
 * Exception performing whole class analysis ignored.
 */
public class SimplePropertyChangeHandler
implements PropertyChangeListener,
InitializingBean {
    private final Logger a = Logger.getLogger(this.getClass().getName());
    private static final String b;
    private final Pattern c;
    private final Pattern d;
    private final Pattern e;
    private final Pattern f;
    private Audit g;
    @Inject
    private Config config;
    @Inject
    private AuditFactory auditFactory;
    @Inject
    private DateTimeConfigUtils dateParser;
    private static final String[] h;

    public SimplePropertyChangeHandler() {
        String[] stringArray = h;
        this.c = Pattern.compile(stringArray[4]);
        this.d = Pattern.compile(";");
        this.e = Pattern.compile(stringArray[22]);
        this.f = Pattern.compile(stringArray[34]);
    }

    public void afterPropertiesSet() throws Exception {
        this.g = this.auditFactory.newInstance((Object)this, this.a);
        this.d();
        this.a((Option<Level>)Option.some((Object)Level.INFO));
        this.b((Option<Level>)Option.some((Object)Level.WARNING));
        this.e();
        this.a(false);
        this.b(false);
    }

    @Override
    public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
        block16: {
            String string;
            block20: {
                block19: {
                    block18: {
                        block17: {
                            block15: {
                                string = propertyChangeEvent.getPropertyName();
                                try {
                                    if (!h[33].equals(string)) break block15;
                                    this.d();
                                    break block16;
                                }
                                catch (IllegalArgumentException illegalArgumentException) {
                                    throw SimplePropertyChangeHandler.a(illegalArgumentException);
                                }
                            }
                            try {
                                try {
                                    if (!h[37].equals(string) && !h[6].equals(string)) break block17;
                                }
                                catch (IllegalArgumentException illegalArgumentException) {
                                    throw SimplePropertyChangeHandler.a(illegalArgumentException);
                                }
                                this.e();
                                break block16;
                            }
                            catch (IllegalArgumentException illegalArgumentException) {
                                throw SimplePropertyChangeHandler.a(illegalArgumentException);
                            }
                        }
                        try {
                            if (!h[0].equals(string)) break block18;
                            this.a((Option<Level>)Option.none());
                            this.e();
                            break block16;
                        }
                        catch (IllegalArgumentException illegalArgumentException) {
                            throw SimplePropertyChangeHandler.a(illegalArgumentException);
                        }
                    }
                    try {
                        if (!h[18].equals(string)) break block19;
                        this.b((Option<Level>)Option.none());
                        this.e();
                        break block16;
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw SimplePropertyChangeHandler.a(illegalArgumentException);
                    }
                }
                try {
                    if (!h[12].equals(string)) break block20;
                    this.a(true);
                    break block16;
                }
                catch (IllegalArgumentException illegalArgumentException) {
                    throw SimplePropertyChangeHandler.a(illegalArgumentException);
                }
            }
            try {
                if (h[38].equals(string)) {
                    this.b(true);
                }
            }
            catch (IllegalArgumentException illegalArgumentException) {
                throw SimplePropertyChangeHandler.a(illegalArgumentException);
            }
        }
    }

    @NotNull
    ContentTypeHeader[] a() {
        ContentTypeHeader[] contentTypeHeaderArray;
        String string = this.config.getProperty(h[1]);
        List list = TextUtils.splitAndTransform((String)string, (Pattern)this.c, (Functions.Unary)new az(this));
        try {
            contentTypeHeaderArray = list.toArray(new ContentTypeHeader[list.size()]);
            if (contentTypeHeaderArray == null) {
                SimplePropertyChangeHandler.a(0);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw SimplePropertyChangeHandler.a(illegalArgumentException);
        }
        return contentTypeHeaderArray;
    }

    @NotNull
    List<String> b() {
        List list;
        String string = this.config.getProperty(h[2]);
        a0 a02 = new a0(this);
        try {
            list = TextUtils.splitAndTransform((String)string, (Pattern)this.d, (Functions.Unary)a02);
            if (list == null) {
                SimplePropertyChangeHandler.a(1);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw SimplePropertyChangeHandler.a(illegalArgumentException);
        }
        return list;
    }

    private boolean a(@NotNull String string, boolean bl2, @Nullable Functions.UnaryVoid<Exception> unaryVoid) {
        boolean bl3;
        block12: {
            try {
                if (string == null) {
                    SimplePropertyChangeHandler.a(2);
                }
            }
            catch (Exception exception) {
                throw SimplePropertyChangeHandler.a(exception);
            }
            bl3 = false;
            if (!string.isEmpty()) {
                try {
                    block11: {
                        try {
                            if (!bl2 || !DateTimeConfigUtils.isTimestampFormat((String)string)) break block11;
                        }
                        catch (Exception exception) {
                            throw SimplePropertyChangeHandler.a(exception);
                        }
                        bl3 = true;
                        break block12;
                    }
                    new SimpleDateFormat(string);
                    bl3 = true;
                }
                catch (Exception exception) {
                    try {
                        if (unaryVoid != null) {
                            unaryVoid.call((Object)exception);
                        }
                    }
                    catch (Exception exception2) {
                        throw SimplePropertyChangeHandler.a(exception2);
                    }
                }
            }
        }
        return bl3;
    }

    @NotNull
    List<Pair<String, Pattern>> c() {
        List list;
        String string = this.config.getProperty(h[21]);
        try {
            list = Functions.grepNotNull((Iterable)TextUtils.splitAndTransform((String)string, (Pattern)this.e, (Functions.Unary)new a2(this)));
            if (list == null) {
                SimplePropertyChangeHandler.a(3);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw SimplePropertyChangeHandler.a(illegalArgumentException);
        }
        return list;
    }

    private void d() {
        ContentTypeHeader[] contentTypeHeaderArray = this.a();
        ContentTypeHeader.setConfigurableTextualContentTypes((ContentTypeHeader[])contentTypeHeaderArray);
    }

    private void a(boolean bl2) {
        List<String> list = this.b();
        try {
            this.dateParser.setCustomDateFormats(list);
            if (bl2) {
                this.a.info(h[3]);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw SimplePropertyChangeHandler.a(illegalArgumentException);
        }
    }

    private void b(boolean bl2) {
        List<Pair<String, Pattern>> list = this.c();
        try {
            this.dateParser.setAutoDateFormats(list);
            if (bl2) {
                this.a.info(h[20]);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw SimplePropertyChangeHandler.a(illegalArgumentException);
        }
    }

    private void e() {
        block3: {
            block2: {
                String[] stringArray = h;
                boolean bl2 = this.config.getBooleanProperty(stringArray[28], false);
                String string = this.config.getProperty(stringArray[15], stringArray[36]);
                try {
                    if (!bl2) break block2;
                    JceProvider.getInstance().setDebugOptions(Collections.singletonMap(stringArray[17], string));
                    break block3;
                }
                catch (IllegalArgumentException illegalArgumentException) {
                    throw SimplePropertyChangeHandler.a(illegalArgumentException);
                }
            }
            JceProvider.getInstance().setDebugOptions(Collections.singletonMap(h[17], null));
        }
    }

    private void a(Option<Level> option) {
        String[] stringArray = h;
        this.a(option, stringArray[7], stringArray[19], Level.INFO, new a4(this));
    }

    private void b(Option<Level> option) {
        String[] stringArray = h;
        this.a(option, stringArray[27], stringArray[8], Level.WARNING, new a5(this));
    }

    private void a(Option<Level> option, String string, String string2, Level level, Functions.UnaryVoid<PrintStream> unaryVoid) {
        block8: {
            String[] stringArray;
            Level level2;
            block7: {
                String string3 = this.config.getProperty(string, level.getName());
                level2 = level;
                try {
                    level2 = Level.parse(string3);
                }
                catch (IllegalArgumentException illegalArgumentException) {
                    String string4 = string2;
                    String string5 = String.valueOf(level);
                    String string6 = string3;
                    stringArray = h;
                    this.a.warning(stringArray[23] + string6 + stringArray[26] + string5 + stringArray[30] + string4);
                }
                try {
                    try {
                        if (option.isSome() && ((Level)option.some()).equals(level2)) {
                        }
                        break block7;
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw SimplePropertyChangeHandler.a(illegalArgumentException);
                    }
                    this.a.finer(h[35] + string2 + h[5] + String.valueOf(level2));
                    break block8;
                }
                catch (IllegalArgumentException illegalArgumentException) {
                    throw SimplePropertyChangeHandler.a(illegalArgumentException);
                }
            }
            stringArray = h;
            this.a.config(stringArray[11] + string2 + stringArray[16] + String.valueOf(level2));
            unaryVoid.call((Object)new LoggingPrintStream(Logger.getLogger(string2), level2));
        }
    }

    /*
     * Exception decompiling
     */
    private static /* synthetic */ void a(int var0) {
        /*
         * This method has failed to decompile.  When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
         * 
         * org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [0[TRYBLOCK]], but top level block is 6[SWITCH]
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:435)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:484)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:736)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:850)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:278)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:201)
         *     at org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:94)
         *     at org.benf.cfr.reader.entities.Method.analyse(Method.java:531)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:1050)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:942)
         *     at org.benf.cfr.reader.Driver.doJarVersionTypes(Driver.java:257)
         *     at org.benf.cfr.reader.Driver.doJar(Driver.java:139)
         *     at org.benf.cfr.reader.CfrDriverImpl.analyse(CfrDriverImpl.java:76)
         *     at org.benf.cfr.reader.Main.main(Main.java:54)
         */
        throw new IllegalStateException("Decompilation failed");
    }

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

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[39];
                var3_1 = 0;
                var2_2 = "7#MO\u0017\u0014a.8fy\u0015\u0015B\u001848By\u0011$K#8_}\u000f3A58Or\u0017$W+)Y\u0016?-^y\u0017\u0019C>bIi\u0010\u0004A6\nEn\u000e\u0011Z(\u001d\t)Fs\u0002\u0014K?lIi\u0010\u0004A6lN}\u0017\u0015\u000e=#Xq\u0002\u0004]u\u000b\u0007\"\u0001`?\u0002\u0005'\u0010L7\u0014{;Ch\u000bPJ>*Ki\u000f\u0004\u000e7)\\y\u000fP\u000f2#ny\u0001\u0005I\b?FJ\u0002\u001c[>\u000e7#MO\u0017\u0014a.8fy\u0015\u0015B\u0006\b\u0018nY1\"\u00112?|}\u000f\u0019J\u001f-^y%\u001f\\6-^\u001b<)^_\u0016\u0003Z4!n}\u0017\u0015h4>G}\u0017\u0003}/>Cr\u0004\u0003\u0013\u0018#Dz\n\u0017[)%D{C\u0003Z))KqC\u0016?-^y\u0017\u0019C>bIi\u0010\u0004A6\nEn\u000e\u0011Z(>\u001a>Mi\u000e\u0015@/lLs\u0011Pn\u0015#^R\u0016\u001cB{<Kn\u0002\u001dK/)X<DU]|lEzCU]uiY<\u000e\u0005]/lDs\u0017PL>lDi\u000f\u001c*\u001b\u0002Eh-\u0005B7lGy\u0017\u0018A?l\u000foMU]{!_o\u0017P@48\nn\u0006\u0004[)\"\nr\u0016\u001cB\u000f2#ny\u0001\u0005I\b?FJ\u0002\u001c[>\f{;Ch\u000bPB>:OpC\u0003(?F\u000e7#MO\u0017\u0014k)>fy\u0015\u0015B\u0006\b\u0018nS6$(\t)Fs\u0002\u0014K?lKi\u0017\u001f\u000e?-^yC\u0016A)!Kh\u0010PO5(\nl\u0002\u0004Z>>DoM\u0014?-^y\u0017\u0019C>bKi\u0017\u001fh4>G}\u0017\u0003\u0002\u0007h\u0014\u001e>Xs\u0011P^:>Yu\r\u0017\u000e7)\\y\u000fP\u00052\"Zi\u0017-8#G3\u000fGZ>/B3\u0010\u0015\\-)X30\u0019C+ OL\u0011\u001f^>>^e \u0018O5+OT\u0002\u001eJ7)X\u0015{9Yu\r\u0017\u000e?)L}\u0016\u001cZ{ Oj\u0006\u001c\u000e\u000e7#MO\u0017\u0014k)>fy\u0015\u0015B\n2#ny\u0001\u0005I\b?F\u0019<)^]\u0016\u0004A\u001f-^y%\u001f\\6-^o0\u0004\\2\"Mo\u0005{*EnC-8#G3\u000fGZ>/B3\u0010\u0015\\-)X30\u0019C+ OL\u0011\u001f^>>^e \u0018O5+OT\u0002\u001eJ7)X\u0019<)^_\f\u001eH2+_n\u0006\u0014m4\"^y\r\u0004z\"<Oo\u001848By\u0011$K#8_}\u000f3A58Or\u0017$W+)Y\u0002\u0007\u0012\u0017\u0015#^<\u0000\u001f@=%Mi\u0011\u0019@<lYh\u0011\u0015O6l\u0003(?F";
                var4_3 = "7#MO\u0017\u0014a.8fy\u0015\u0015B\u001848By\u0011$K#8_}\u000f3A58Or\u0017$W+)Y\u0016?-^y\u0017\u0019C>bIi\u0010\u0004A6\nEn\u000e\u0011Z(\u001d\t)Fs\u0002\u0014K?lIi\u0010\u0004A6lN}\u0017\u0015\u000e=#Xq\u0002\u0004]u\u000b\u0007\"\u0001`?\u0002\u0005'\u0010L7\u0014{;Ch\u000bPJ>*Ki\u000f\u0004\u000e7)\\y\u000fP\u000f2#ny\u0001\u0005I\b?FJ\u0002\u001c[>\u000e7#MO\u0017\u0014a.8fy\u0015\u0015B\u0006\b\u0018nY1\"\u00112?|}\u000f\u0019J\u001f-^y%\u001f\\6-^\u001b<)^_\u0016\u0003Z4!n}\u0017\u0015h4>G}\u0017\u0003}/>Cr\u0004\u0003\u0013\u0018#Dz\n\u0017[)%D{C\u0003Z))KqC\u0016?-^y\u0017\u0019C>bIi\u0010\u0004A6\nEn\u000e\u0011Z(>\u001a>Mi\u000e\u0015@/lLs\u0011Pn\u0015#^R\u0016\u001cB{<Kn\u0002\u001dK/)X<DU]|lEzCU]uiY<\u000e\u0005]/lDs\u0017PL>lDi\u000f\u001c*\u001b\u0002Eh-\u0005B7lGy\u0017\u0018A?l\u000foMU]{!_o\u0017P@48\nn\u0006\u0004[)\"\nr\u0016\u001cB\u000f2#ny\u0001\u0005I\b?FJ\u0002\u001c[>\f{;Ch\u000bPB>:OpC\u0003(?F\u000e7#MO\u0017\u0014k)>fy\u0015\u0015B\u0006\b\u0018nS6$(\t)Fs\u0002\u0014K?lKi\u0017\u001f\u000e?-^yC\u0016A)!Kh\u0010PO5(\nl\u0002\u0004Z>>DoM\u0014?-^y\u0017\u0019C>bKi\u0017\u001fh4>G}\u0017\u0003\u0002\u0007h\u0014\u001e>Xs\u0011P^:>Yu\r\u0017\u000e7)\\y\u000fP\u00052\"Zi\u0017-8#G3\u000fGZ>/B3\u0010\u0015\\-)X30\u0019C+ OL\u0011\u001f^>>^e \u0018O5+OT\u0002\u001eJ7)X\u0015{9Yu\r\u0017\u000e?)L}\u0016\u001cZ{ Oj\u0006\u001c\u000e\u000e7#MO\u0017\u0014k)>fy\u0015\u0015B\n2#ny\u0001\u0005I\b?F\u0019<)^]\u0016\u0004A\u001f-^y%\u001f\\6-^o0\u0004\\2\"Mo\u0005{*EnC-8#G3\u000fGZ>/B3\u0010\u0015\\-)X30\u0019C+ OL\u0011\u001f^>>^e \u0018O5+OT\u0002\u001eJ7)X\u0019<)^_\f\u001eH2+_n\u0006\u0014m4\"^y\r\u0004z\"<Oo\u001848By\u0011$K#8_}\u000f3A58Or\u0017$W+)Y\u0002\u0007\u0012\u0017\u0015#^<\u0000\u001f@=%Mi\u0011\u0019@<lYh\u0011\u0015O6l\u0003(?F".length();
                var1_4 = 14;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = SimplePropertyChangeHandler.a(v0, SimplePropertyChangeHandler.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = " 1|k\u0013\u0017[\u001a-T\u0014-?Lk\u0005\u000bQ,pY{\u0005\rz&,Uo\u0005\u0011";
                    var4_3 = " 1|k\u0013\u0017[\u001a-T\u0014-?Lk\u0005\u000bQ,pY{\u0005\rz&,Uo\u0005\u0011".length();
                    var1_4 = 10;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 80;
                        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++] = SimplePropertyChangeHandler.a(v0, SimplePropertyChangeHandler.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;
            }
        }
        SimplePropertyChangeHandler.h = var5;
        SimplePropertyChangeHandler.b = SimplePropertyChangeHandler.h[17];
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x6C);
        }
        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 -> 25;
                    case 1 -> 14;
                    case 2 -> 104;
                    case 3 -> 94;
                    case 4 -> 33;
                    case 5 -> 50;
                    default -> 108;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

