/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.audit.AuditDetailMessage
 *  com.l7tech.gateway.common.audit.BootMessages
 *  com.l7tech.gateway.common.cluster.ClusterProperty
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.util.CollectionUtils
 *  com.l7tech.util.ExceptionUtils
 *  org.hibernate.TransactionException
 *  org.hibernate.exception.LockAcquisitionException
 *  org.springframework.beans.factory.InitializingBean
 *  org.springframework.context.ApplicationContext
 *  org.springframework.context.ApplicationEvent
 *  org.springframework.context.ApplicationListener
 *  org.springframework.context.event.ApplicationEventMulticaster
 *  org.springframework.context.support.ApplicationObjectSupport
 *  org.springframework.orm.hibernate5.HibernateOptimisticLockingFailureException
 *  org.springframework.transaction.PlatformTransactionManager
 *  org.springframework.transaction.support.TransactionCallback
 *  org.springframework.transaction.support.TransactionTemplate
 */
package com.l7tech.server.util;

import com.l7tech.gateway.common.audit.AuditDetailMessage;
import com.l7tech.gateway.common.audit.BootMessages;
import com.l7tech.gateway.common.cluster.ClusterProperty;
import com.l7tech.objectmodel.FindException;
import com.l7tech.server.audit.AuditContextUtils;
import com.l7tech.server.audit.Auditor;
import com.l7tech.server.cluster.ClusterPropertyManager;
import com.l7tech.server.event.system.Started;
import com.l7tech.server.event.system.Starting;
import com.l7tech.server.event.system.SystemEvent;
import com.l7tech.server.upgrade.FatalUpgradeException;
import com.l7tech.server.upgrade.NonfatalUpgradeException;
import com.l7tech.server.upgrade.UpgradeTask;
import com.l7tech.server.util.ac;
import com.l7tech.server.util.n;
import com.l7tech.util.CollectionUtils;
import com.l7tech.util.ExceptionUtils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.hibernate.TransactionException;
import org.hibernate.exception.LockAcquisitionException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ApplicationEventMulticaster;
import org.springframework.context.support.ApplicationObjectSupport;
import org.springframework.orm.hibernate5.HibernateOptimisticLockingFailureException;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionTemplate;

public class GatewaySanityChecker
extends ApplicationObjectSupport
implements InitializingBean {
    private static final Logger a;
    private static final String b;
    private static final Map<Class<? extends SystemEvent>, Set<String>> c;
    private final ClusterPropertyManager d;
    private final PlatformTransactionManager e;
    private Auditor f;
    private List<ClusterProperty> g;
    private UpgradeTask[] h;
    static final /* synthetic */ boolean i;
    private static final String[] j;

    public GatewaySanityChecker(PlatformTransactionManager platformTransactionManager, ClusterPropertyManager clusterPropertyManager) {
        this.e = platformTransactionManager;
        this.d = clusterPropertyManager;
        if (clusterPropertyManager == null) {
            throw new NullPointerException(j[23]);
        }
    }

    public void afterPropertiesSet() throws Exception {
        Collection collection;
        this.f = new Auditor((Object)this, this.getApplicationContext(), a);
        ApplicationContext applicationContext = this.getApplicationContext();
        String[] stringArray = j;
        ApplicationEventMulticaster applicationEventMulticaster = (ApplicationEventMulticaster)applicationContext.getBean(stringArray[14], ApplicationEventMulticaster.class);
        applicationEventMulticaster.addApplicationListener((ApplicationListener)new n(this));
        if (this.h != null) {
            for (UpgradeTask object22 : this.h) {
                this.a(object22, null);
            }
        }
        try {
            collection = this.d.findAll();
        }
        catch (FindException findException) {
            throw new RuntimeException(findException);
        }
        HashMap<Long, ClusterProperty> hashMap = new HashMap<Long, ClusterProperty>();
        ArrayList<Long> arrayList = new ArrayList<Long>();
        HashMap<Long, ClusterProperty> hashMap2 = new HashMap<Long, ClusterProperty>();
        ArrayList<Long> arrayList2 = new ArrayList<Long>();
        Object object = collection.iterator();
        while (object.hasNext()) {
            ClusterProperty clusterProperty = (ClusterProperty)object.next();
            String string = clusterProperty.getName();
            try {
                if (!string.startsWith(j[24]) || string.length() <= j[27].length()) continue;
            }
            catch (FindException findException) {
                throw GatewaySanityChecker.a((Exception)((Object)findException));
            }
            String string2 = clusterProperty.getValue();
            try {
                if (!this.a(string2)) {
                    String[] stringArray2 = new String[1];
                    stringArray2[0] = j[6] + string + "=" + string2;
                    this.f.logAndAudit((AuditDetailMessage)BootMessages.UPGRADE_TASK_IGNORED, stringArray2);
                    continue;
                }
            }
            catch (FindException findException) {
                throw GatewaySanityChecker.a((Exception)((Object)findException));
            }
            try {
                stringArray = j;
                long l2 = Long.parseLong(string.substring(stringArray[27].length()));
                try {
                    if (c.get(null).contains(string2)) {
                        hashMap2.put(l2, clusterProperty);
                        arrayList2.add(l2);
                        continue;
                    }
                }
                catch (FindException findException) {
                    throw GatewaySanityChecker.a((Exception)((Object)findException));
                }
                hashMap.put(l2, clusterProperty);
                arrayList.add(l2);
            }
            catch (NumberFormatException numberFormatException) {
                String[] stringArray3 = new String[1];
                stringArray = j;
                stringArray3[0] = stringArray[20] + string + stringArray[32] + ExceptionUtils.getMessage((Throwable)numberFormatException);
                this.f.logAndAudit((AuditDetailMessage)BootMessages.UPGRADE_TASK_IGNORED, stringArray3, numberFormatException);
            }
        }
        if (!arrayList2.isEmpty()) {
            Collections.sort(arrayList2);
            for (Long l3 : arrayList2) {
                ClusterProperty clusterProperty = (ClusterProperty)hashMap2.get(l3);
                try {
                    this.a(clusterProperty);
                }
                catch (FatalUpgradeException fatalUpgradeException) {
                    this.f.logAndAudit((AuditDetailMessage)BootMessages.UPGRADE_TASK_FATAL, new String[]{j[11] + ExceptionUtils.getMessage((Throwable)fatalUpgradeException)}, fatalUpgradeException);
                    throw fatalUpgradeException;
                }
            }
        }
        if (!arrayList.isEmpty()) {
            block26: {
                Collections.sort(arrayList);
                object = new ArrayList();
                for (Long l4 : arrayList) {
                    object.add((ClusterProperty)hashMap.get(l4));
                }
                try {
                    try {
                        if (i || !object.isEmpty()) break block26;
                    }
                    catch (FindException findException) {
                        throw GatewaySanityChecker.a((Exception)((Object)findException));
                    }
                    throw new AssertionError();
                }
                catch (FindException findException) {
                    throw GatewaySanityChecker.a((Exception)((Object)findException));
                }
            }
            this.g = object;
        } else {
            this.g = Collections.emptyList();
        }
    }

    public void setEarlyTasks(UpgradeTask[] upgradeTaskArray) {
        this.h = upgradeTaskArray;
    }

    private boolean a(String string) {
        for (Set<String> set : c.values()) {
            for (String string2 : set) {
                try {
                    if (!string2.equals(string)) continue;
                    return true;
                }
                catch (NullPointerException nullPointerException) {
                    throw GatewaySanityChecker.a(nullPointerException);
                }
            }
        }
        return false;
    }

    private void a(ClusterProperty clusterProperty) throws FatalUpgradeException {
        UpgradeTask upgradeTask;
        String string = clusterProperty.getName();
        String string2 = clusterProperty.getValue();
        String[] stringArray = j;
        a.info(stringArray[1] + string + "=" + string2);
        try {
            upgradeTask = this.b(string2);
        }
        catch (Exception exception) {
            String[] stringArray2 = new String[1];
            String string3 = ExceptionUtils.getMessage((Throwable)exception);
            String string4 = string2;
            String string5 = string;
            stringArray = j;
            stringArray2[0] = stringArray[43] + string5 + "=" + string4 + stringArray[42] + string3;
            this.f.logAndAudit((AuditDetailMessage)BootMessages.UPGRADE_TASK_IGNORED, stringArray2, exception);
            return;
        }
        this.a(upgradeTask, clusterProperty);
        a.info(j[18] + string);
    }

    private void a(UpgradeTask upgradeTask, ClusterProperty clusterProperty) throws FatalUpgradeException {
        FatalUpgradeException[] fatalUpgradeExceptionArray;
        NonfatalUpgradeException[] nonfatalUpgradeExceptionArray;
        block19: {
            nonfatalUpgradeExceptionArray = new NonfatalUpgradeException[]{null};
            fatalUpgradeExceptionArray = new FatalUpgradeException[]{null};
            boolean bl2 = AuditContextUtils.isSystem();
            AuditContextUtils.setSystem(true);
            try {
                new TransactionTemplate(this.e).execute((TransactionCallback)new ac(this, clusterProperty, upgradeTask, nonfatalUpgradeExceptionArray, fatalUpgradeExceptionArray));
            }
            catch (TransactionException transactionException) {
                try {
                    if (nonfatalUpgradeExceptionArray[0] != null || fatalUpgradeExceptionArray[0] != null) break block19;
                }
                catch (TransactionException transactionException2) {
                    throw GatewaySanityChecker.a((Exception)((Object)transactionException2));
                }
                String[] stringArray = new String[1];
                String[] stringArray2 = j;
                stringArray[0] = stringArray2[3] + ExceptionUtils.getMessage((Throwable)transactionException);
                this.f.logAndAudit((AuditDetailMessage)BootMessages.UPGRADE_TASK_NONFATAL, stringArray, transactionException);
                return;
            }
            catch (LockAcquisitionException | HibernateOptimisticLockingFailureException throwable) {
                block20: {
                    try {
                        ClusterProperty clusterProperty2 = (ClusterProperty)this.d.findByPrimaryKey(clusterProperty.getGoid());
                        if (clusterProperty2 != null) break block20;
                        String[] stringArray = j;
                        a.log(Level.INFO, stringArray[9]);
                        return;
                    }
                    catch (FindException findException) {
                        String[] stringArray = new String[1];
                        String[] stringArray3 = j;
                        stringArray[0] = stringArray3[30];
                        this.f.logAndAudit((AuditDetailMessage)BootMessages.UPGRADE_TASK_FATAL, stringArray, throwable);
                        throw new FatalUpgradeException(stringArray3[4], throwable);
                    }
                }
                String[] stringArray = new String[1];
                String[] stringArray4 = j;
                stringArray[0] = stringArray4[29];
                this.f.logAndAudit((AuditDetailMessage)BootMessages.UPGRADE_TASK_FATAL, stringArray);
                throw new FatalUpgradeException(stringArray4[31]);
            }
            finally {
                AuditContextUtils.setSystem(bl2);
            }
        }
        try {
            if (nonfatalUpgradeExceptionArray[0] != null) {
                this.f.logAndAudit((AuditDetailMessage)BootMessages.UPGRADE_TASK_NONFATAL, new String[]{ExceptionUtils.getMessage((Throwable)nonfatalUpgradeExceptionArray[0])}, nonfatalUpgradeExceptionArray[0]);
                return;
            }
        }
        catch (TransactionException transactionException) {
            throw GatewaySanityChecker.a((Exception)((Object)transactionException));
        }
        try {
            if (fatalUpgradeExceptionArray[0] != null) {
                this.f.logAndAudit((AuditDetailMessage)BootMessages.UPGRADE_TASK_FATAL, new String[]{ExceptionUtils.getMessage((Throwable)fatalUpgradeExceptionArray[0])}, fatalUpgradeExceptionArray[0]);
                throw new FatalUpgradeException(fatalUpgradeExceptionArray[0]);
            }
        }
        catch (TransactionException transactionException) {
            throw GatewaySanityChecker.a((Exception)((Object)transactionException));
        }
    }

    private UpgradeTask b(String string) throws ClassNotFoundException, IllegalAccessException, InstantiationException, ClassCastException {
        Class<?> clazz = Class.forName(string);
        return (UpgradeTask)clazz.newInstance();
    }

    /*
     * Loose catch block
     * Enabled force condition propagation
     * Lifted jumps to return sites
     */
    private void a(ApplicationEvent applicationEvent) {
        Set<String> set;
        block9: {
            if (!(applicationEvent instanceof SystemEvent)) return;
            SystemEvent systemEvent = (SystemEvent)applicationEvent;
            set = c.get(((Object)((Object)systemEvent)).getClass());
            if (set == null) return;
            try {
                if (!set.isEmpty()) break block9;
                return;
                catch (FatalUpgradeException fatalUpgradeException) {
                    throw GatewaySanityChecker.a(fatalUpgradeException);
                }
            }
            catch (FatalUpgradeException fatalUpgradeException) {
                throw GatewaySanityChecker.a(fatalUpgradeException);
            }
        }
        for (ClusterProperty clusterProperty : this.g) {
            try {
                if (!set.contains(clusterProperty.getValue())) continue;
                this.a(clusterProperty);
                continue;
            }
            catch (NullPointerException nullPointerException) {
                throw GatewaySanityChecker.a(nullPointerException);
            }
            {
                catch (FatalUpgradeException fatalUpgradeException) {
                    throw new IllegalStateException(j[44] + ExceptionUtils.getMessage((Throwable)fatalUpgradeException), fatalUpgradeException);
                }
            }
        }
    }

    /*
     * Unable to fully structure code
     */
    static {
        block12: {
            block11: {
                var5 = new String[48];
                var3_1 = 0;
                var2_2 = "\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LIz\u00140\u001b/\u001em-E6\u001bpM_\u00166\u0001rFE'FD\u0001lO^(E\u0001ThI_\"\u001bDB\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00150\u001b(\u001d\u007f>H\u0010\u0017txC%H\u0007\rUFO%T\u0000\u0011o|C\u000eT\r\u0010o(1\u001ayP\\,B\u0010\u0011x\bJ(H\b\u0001nM\f-T\u0016\u001drO\f<Q\u0003\u0006}LIiU\u0005\u0007w\u0012\fs1\u001a}J@,\u0001\u0010\u001b<ZY'\u0001\u0011\u0004{ZM-DD\u0000}[GiN\nTh@E:\u0001\n\u001bxM\u0000i@\n\u0010<KC<M\u0000TrGXiB\f\u0011\u007fC\f GD\u001dh\bD(RD\u0016yMBiB\u000b\u0019lDI=D\u0000To]O*D\u0017\u0007z]@%XD\u001br\bM'N\u0010\u001cyZ\f'N\u0000\u00112?\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00130\u001b(\u001bm-E-\u001au\\E(M4\u001bpAO0w\u0001\u0006oAC'R&\u0011\u001anMO&F\n\u001dfMHiT\u0014\u0013nIH,\u0001\u0010\u0015oC\f*M\u0005\u0007o\bB(L\u0001N<=\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u0013\u0010\u001b)\u001by9E\u0005\u0000ykC$L\u0011\u001au\\U\u001aB\f\u0011qI_2\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00100\u001b)\u001ay9E\u0005\u0000yzC%D\u0017:7\u001fuX\\ O\u0003TiXK;@\u0000\u0011<\\M:JD\\}D^,@\u0000\r<KC$Q\b\u0011hMHiN\nT}FC=I\u0001\u0006<FC-DMZ6\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00130\u001b(\u001ba F\u0016\u0015hM|&M\r\u0017uM_\u00157\u0000}ZX<QD\u0000}[GiG\u0005\u001dpMHs\u00016\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00100\u001b)\u001ao(O\u000b\u001auKM%H\u001e\u0011Xf_7\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LIp\u0013TDHG\u0015z\u0011T'sDY=H\u000b\u001aWAX:\u001b\u0005\u0004lDE*@\u0010\u001dsFi?D\n\u0000Q]@=H\u0007\u0015o\\I;3\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u0017Q s\u001d\u001c\u001cQ\u0000\u0015hM~&M\u0001\u00072\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00110\u001b+\u0019y9E\u0005\u0000yzC%D\u00173\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00100\u001b$\u0018e-s\u0001\u0012yZI'B\u0001\u0007\u0018'\u001bqX@,U\u0001\u0010<]\\.S\u0005\u0010y\bX(R\u000fN<8\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u0017Q s\u001d\u001c\u001cQ\u0003\u0006}LI\u0002D\u001d\u0007hG^,R2\r\u001ajI@ ED\u001bnLE'@\bTuF\f<Q\u0003\u0006}LIgU\u0005\u0007w\bO%T\u0017\u0000yZ\f9S\u000b\u0004yZX0\u001bDB\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u0010\u0010\u001b$\u0018y9E\u0005\u0000yoM=D\u0013\u0015eeM'@\u0003\u0011qMB=v\u0017\u0010pC\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LIz\u0017Q s\u001b\u001b\bE\u0000'}E\\%D)\u0011o[M.D4\u0011nEE:R\r\u001br[$'\u0018i[X,SD$nG\\,S\u0010\r<eM'@\u0003\u0011n\bE:\u0001\u0016\u0011m]E;D\u0000\r\u0011\u0004{ZM-DJ\u0000}[GgC\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI\u007f\u0010\u0010\u001b*\u0019\u0019\u001cQ\u0000\u0015hMk(U\u0001\u0003}Qa(O\u0005\u0013yEI'U3\u0007xD<\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00130\u001b)\u001by9E\u0005\u0000ybA:q\u0016\u001bjAH,S0\rlM\r\u0011\u0004{ZM-DJ\u0000}[GgB\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u0011\u0010\u001b+\u0019y9E\u0005\u0000yoM=D\u0013\u0015eeM'@\u0003\u0011qMB=v\u0017\u0010p_1\u001a}J@,\u0001\u0010\u001b<ZY'\u0001\u0011\u0004{ZM-DD\u0000}[GiN\nTh@E:\u0001\n\u001bxM\u0000i@\n\u0010<AXiV\u0005\u0007<FC=\u0001\u0017\u0001\u007fKI:R\u0002\u0001pDUiB\u000b\u0019lDI=D\u0000TsF\f(O\u000b\u0000tM^iO\u000b\u0010y\u0006b!\u001a\u007fGY'U\u0001\u0006yL\f(OD\u0001rMT9D\u0007\u0000yL\f,Y\u0007\u0011l\\E&OD\u0003tA@,\u0001\u0007\u001cyKG O\u0003TuN\f(O\u000b\u0000tM^iO\u000b\u0010y\bD(RD\u0017sE\\%D\u0010\u0011x\bX!H\u0017TiXK;@\u0000\u0011<\\M:J_1\u001a}J@,\u0001\u0010\u001b<ZY'\u0001\u0011\u0004{ZM-DD\u0000}[GiN\nTh@E:\u0001\n\u001bxM\u0000i@\n\u0010<AXiV\u0005\u0007<FC=\u0001\u0017\u0001\u007fKI:R\u0002\u0001pDUiB\u000b\u0019lDI=D\u0000TsF\f(O\u000b\u0000tM^iO\u000b\u0010y\u0006\u0002^T;\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00100\u001b$\u0018e-q\u0016\u001bjAH,S6\u0011zM^,O\u0007\u0011o8\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00140\u001b(\u001em-E4\u0015o[[&S\u00001dXE;X6\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LIq\u0010TFHG\u0014{\u0011T!lLM=D6\u001bpM_2\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00130\u001b)\u001by9E\u0005\u0000yzC%D\u00173\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u0012U s\u001d\u0018\u001cQ\u0000\u0015hM~&M\u0001\u0007D\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI\u007f\u00130\u001b+\u0018o(O\u000b\u001auKM%H\u001e\u0011ZMH\u001cR\u0001\u0006O]N#D\u0007\u0000Xf_;\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00130\u001b(\u001bm-E4\u001bpAO0q\u0001\u0006qA_:H\u000b\u001ao;\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00100\u001b)\u001am-E'\u0018i[X,S4\u0006sXI;U\r\u0011o1\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00100\u001b$\u0018\u007f O\u000f7sFJ F\u0002^T$1\u001a}J@,\u0001\u0010\u001b<AB:U\u0005\u001ahAM=DD\u0001lO^(E\u0001ThI_\"\u001bD\u001d#\u0015hM[(XD\u0007}FE=XD\u0017tMO\"\u0001\u0002\u0015uDI-\u001bD2\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00100\u001b$\u0018y9E\u0005\u0000yzC%D\u0017";
                var4_3 = "\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LIz\u00140\u001b/\u001em-E6\u001bpM_\u00166\u0001rFE'FD\u0001lO^(E\u0001ThI_\"\u001bDB\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00150\u001b(\u001d\u007f>H\u0010\u0017txC%H\u0007\rUFO%T\u0000\u0011o|C\u000eT\r\u0010o(1\u001ayP\\,B\u0010\u0011x\bJ(H\b\u0001nM\f-T\u0016\u001drO\f<Q\u0003\u0006}LIiU\u0005\u0007w\u0012\fs1\u001a}J@,\u0001\u0010\u001b<ZY'\u0001\u0011\u0004{ZM-DD\u0000}[GiN\nTh@E:\u0001\n\u001bxM\u0000i@\n\u0010<KC<M\u0000TrGXiB\f\u0011\u007fC\f GD\u001dh\bD(RD\u0016yMBiB\u000b\u0019lDI=D\u0000To]O*D\u0017\u0007z]@%XD\u001br\bM'N\u0010\u001cyZ\f'N\u0000\u00112?\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00130\u001b(\u001bm-E-\u001au\\E(M4\u001bpAO0w\u0001\u0006oAC'R&\u0011\u001anMO&F\n\u001dfMHiT\u0014\u0013nIH,\u0001\u0010\u0015oC\f*M\u0005\u0007o\bB(L\u0001N<=\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u0013\u0010\u001b)\u001by9E\u0005\u0000ykC$L\u0011\u001au\\U\u001aB\f\u0011qI_2\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00100\u001b)\u001ay9E\u0005\u0000yzC%D\u0017:7\u001fuX\\ O\u0003TiXK;@\u0000\u0011<\\M:JD\\}D^,@\u0000\r<KC$Q\b\u0011hMHiN\nT}FC=I\u0001\u0006<FC-DMZ6\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00130\u001b(\u001ba F\u0016\u0015hM|&M\r\u0017uM_\u00157\u0000}ZX<QD\u0000}[GiG\u0005\u001dpMHs\u00016\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00100\u001b)\u001ao(O\u000b\u001auKM%H\u001e\u0011Xf_7\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LIp\u0013TDHG\u0015z\u0011T'sDY=H\u000b\u001aWAX:\u001b\u0005\u0004lDE*@\u0010\u001dsFi?D\n\u0000Q]@=H\u0007\u0015o\\I;3\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u0017Q s\u001d\u001c\u001cQ\u0000\u0015hM~&M\u0001\u00072\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00110\u001b+\u0019y9E\u0005\u0000yzC%D\u00173\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00100\u001b$\u0018e-s\u0001\u0012yZI'B\u0001\u0007\u0018'\u001bqX@,U\u0001\u0010<]\\.S\u0005\u0010y\bX(R\u000fN<8\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u0017Q s\u001d\u001c\u001cQ\u0003\u0006}LI\u0002D\u001d\u0007hG^,R2\r\u001ajI@ ED\u001bnLE'@\bTuF\f<Q\u0003\u0006}LIgU\u0005\u0007w\bO%T\u0017\u0000yZ\f9S\u000b\u0004yZX0\u001bDB\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u0010\u0010\u001b$\u0018y9E\u0005\u0000yoM=D\u0013\u0015eeM'@\u0003\u0011qMB=v\u0017\u0010pC\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LIz\u0017Q s\u001b\u001b\bE\u0000'}E\\%D)\u0011o[M.D4\u0011nEE:R\r\u001br[$'\u0018i[X,SD$nG\\,S\u0010\r<eM'@\u0003\u0011n\bE:\u0001\u0016\u0011m]E;D\u0000\r\u0011\u0004{ZM-DJ\u0000}[GgC\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI\u007f\u0010\u0010\u001b*\u0019\u0019\u001cQ\u0000\u0015hMk(U\u0001\u0003}Qa(O\u0005\u0013yEI'U3\u0007xD<\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00130\u001b)\u001by9E\u0005\u0000ybA:q\u0016\u001bjAH,S0\rlM\r\u0011\u0004{ZM-DJ\u0000}[GgB\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u0011\u0010\u001b+\u0019y9E\u0005\u0000yoM=D\u0013\u0015eeM'@\u0003\u0011qMB=v\u0017\u0010p_1\u001a}J@,\u0001\u0010\u001b<ZY'\u0001\u0011\u0004{ZM-DD\u0000}[GiN\nTh@E:\u0001\n\u001bxM\u0000i@\n\u0010<AXiV\u0005\u0007<FC=\u0001\u0017\u0001\u007fKI:R\u0002\u0001pDUiB\u000b\u0019lDI=D\u0000TsF\f(O\u000b\u0000tM^iO\u000b\u0010y\u0006b!\u001a\u007fGY'U\u0001\u0006yL\f(OD\u0001rMT9D\u0007\u0000yL\f,Y\u0007\u0011l\\E&OD\u0003tA@,\u0001\u0007\u001cyKG O\u0003TuN\f(O\u000b\u0000tM^iO\u000b\u0010y\bD(RD\u0017sE\\%D\u0010\u0011x\bX!H\u0017TiXK;@\u0000\u0011<\\M:J_1\u001a}J@,\u0001\u0010\u001b<ZY'\u0001\u0011\u0004{ZM-DD\u0000}[GiN\nTh@E:\u0001\n\u001bxM\u0000i@\n\u0010<AXiV\u0005\u0007<FC=\u0001\u0017\u0001\u007fKI:R\u0002\u0001pDUiB\u000b\u0019lDI=D\u0000TsF\f(O\u000b\u0000tM^iO\u000b\u0010y\u0006\u0002^T;\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00100\u001b$\u0018e-q\u0016\u001bjAH,S6\u0011zM^,O\u0007\u0011o8\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00140\u001b(\u001em-E4\u0015o[[&S\u00001dXE;X6\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LIq\u0010TFHG\u0014{\u0011T!lLM=D6\u001bpM_2\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00130\u001b)\u001by9E\u0005\u0000yzC%D\u00173\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u0012U s\u001d\u0018\u001cQ\u0000\u0015hM~&M\u0001\u0007D\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI\u007f\u00130\u001b+\u0018o(O\u000b\u001auKM%H\u001e\u0011ZMH\u001cR\u0001\u0006O]N#D\u0007\u0000Xf_;\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI}\u00130\u001b(\u001bm-E4\u001bpAO0q\u0001\u0006qA_:H\u000b\u001ao;\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI|\u00100\u001b)\u001am-E'\u0018i[X,S4\u0006sXI;U\r\u0011o1\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00100\u001b$\u0018\u007f O\u000f7sFJ F\u0002^T$1\u001a}J@,\u0001\u0010\u001b<AB:U\u0005\u001ahAM=DD\u0001lO^(E\u0001ThI_\"\u001bD\u001d#\u0015hM[(XD\u0007}FE=XD\u0017tMO\"\u0001\u0002\u0015uDI-\u001bD2\u0007\u001bq\u0006@~U\u0001\u0017t\u0006_,S\u0012\u0011n\u0006Y9F\u0016\u0015xM\u0002\u001cQ\u0003\u0006}LI~\u00100\u001b$\u0018y9E\u0005\u0000yzC%D\u0017".length();
                var1_4 = 47;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = GatewaySanityChecker.a(v0, GatewaySanityChecker.c(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "ui\u0003t2\f'se\u0006t-^!`c\u001ct+K4dg\n?pn#qt\u000f>;\rbBiXkkz7rT\u00016;HFui\u0003t2\f'se\u0006t-^!`c\u001ct+K4dg\n?pn#qt\u000f>;\u0003b&4\u001a5f\tc&S\u001e>?O6Qg\u001a?)Z*[g\u0000;9^>sh\u001a\r-_?";
                    var4_3 = "ui\u0003t2\f'se\u0006t-^!`c\u001ct+K4dg\n?pn#qt\u000f>;\rbBiXkkz7rT\u00016;HFui\u0003t2\f'se\u0006t-^!`c\u001ct+K4dg\n?pn#qt\u000f>;\u0003b&4\u001a5f\tc&S\u001e>?O6Qg\u001a?)Z*[g\u0000;9^>sh\u001a\r-_?".length();
                    var1_4 = 48;
                    var0_5 = -1;
lbl22:
                    // 2 sources

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

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

                ** continue;
            }
        }
        GatewaySanityChecker.j = var5;
        GatewaySanityChecker.b = GatewaySanityChecker.j[27];
        try {
            v5 = GatewaySanityChecker.class.desiredAssertionStatus() == false;
        }
        catch (NullPointerException v6) {
            throw GatewaySanityChecker.a(v6);
        }
        GatewaySanityChecker.i = v5;
        GatewaySanityChecker.a = Logger.getLogger(GatewaySanityChecker.class.getName());
        v7 = new String[20];
        var0_6 = GatewaySanityChecker.j;
        v7[0] = var0_6[34];
        v7[1] = var0_6[2];
        v7[2] = var0_6[10];
        v7[3] = var0_6[19];
        v7[4] = var0_6[12];
        v7[5] = var0_6[40];
        v7[6] = var0_6[8];
        v7[7] = var0_6[36];
        v7[8] = var0_6[7];
        v7[9] = var0_6[26];
        v7[10] = var0_6[37];
        v7[11] = var0_6[25];
        v7[12] = var0_6[46];
        v7[13] = var0_6[38];
        v7[14] = var0_6[28];
        v7[15] = var0_6[41];
        v7[16] = var0_6[17];
        v7[17] = var0_6[33];
        v7[18] = var0_6[21];
        v7[19] = var0_6[47];
        GatewaySanityChecker.c = CollectionUtils.mapBuilder().put(null, (Object)CollectionUtils.set((Object[])v7)).put(Starting.class, (Object)CollectionUtils.set((Object[])new String[]{var0_6[22]})).put(Started.class, (Object)CollectionUtils.set((Object[])new String[]{var0_6[0], var0_6[39], var0_6[5], var0_6[15], var0_6[16], var0_6[45], var0_6[35], var0_6[13]})).unmodifiableMap();
    }

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

    private static char[] c(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x1F);
        }
        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 -> 90;
                    case 1 -> 74;
                    case 2 -> 34;
                    case 3 -> 22;
                    case 4 -> 18;
                    case 5 -> 119;
                    default -> 31;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

