/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.common.io.PortRange
 *  com.l7tech.gateway.common.transport.SsgConnector
 *  com.l7tech.gateway.common.transport.firewall.SsgFirewallRule
 *  com.l7tech.util.ExceptionUtils
 *  com.l7tech.util.FileUtils
 *  com.l7tech.util.FileUtils$Saver
 *  com.l7tech.util.InetAddressUtil
 *  com.l7tech.util.IpProtocol
 *  org.jetbrains.annotations.NotNull
 */
package com.l7tech.server.util;

import com.l7tech.common.io.PortRange;
import com.l7tech.gateway.common.transport.SsgConnector;
import com.l7tech.gateway.common.transport.firewall.SsgFirewallRule;
import com.l7tech.server.util.l;
import com.l7tech.server.util.m;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.FileUtils;
import com.l7tech.util.InetAddressUtil;
import com.l7tech.util.IpProtocol;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.jetbrains.annotations.NotNull;

/*
 * Exception performing whole class analysis ignored.
 */
public class FirewallRules {
    protected static final Logger logger;
    private static final List<String> a;
    private static final List<String> b;
    private static final List<String> c;
    private static final List<String> d;
    private static final Map<String, List<String>> e;
    private static final Map<String, List<String>> f;
    private static final Pattern g;
    private static final String[] h;

    public static void writeFirewallDropfile(String string, Collection<SsgConnector> collection, IpProtocol ipProtocol) throws IOException {
        FileUtils.saveFileSafely((String)string, (FileUtils.Saver)new l(collection, ipProtocol));
    }

    public static void writeFirewallDropfileForRules(String string, Collection<SsgFirewallRule> collection, IpProtocol ipProtocol) throws IOException {
        FileUtils.saveFileSafely((String)string, (FileUtils.Saver)new m(collection, ipProtocol));
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     * Loose catch block
     * Enabled force condition propagation
     * Lifted jumps to return sites
     */
    static void a(OutputStream outputStream, Map<String, List<String>> map, IpProtocol ipProtocol) throws IOException {
        block19: {
            if (map == null) return;
            try {
                if (!map.isEmpty()) break block19;
                return;
                catch (IOException iOException) {
                    throw FirewallRules.a(iOException);
                }
            }
            catch (IOException iOException) {
                throw FirewallRules.a(iOException);
            }
        }
        PrintStream printStream = new PrintStream(outputStream);
        try {
            for (Map.Entry<String, List<String>> entry : map.entrySet()) {
                List<String> list;
                block20: {
                    list = entry.getValue();
                    if (list == null) continue;
                    try {
                        if (list.isEmpty()) {
                            continue;
                        }
                    }
                    catch (IOException iOException) {
                        throw FirewallRules.a(iOException);
                    }
                    if (!ipProtocol.equals((Object)IpProtocol.IPv6)) break block20;
                    try {
                        if (h[49].equalsIgnoreCase(entry.getKey())) {
                            continue;
                        }
                        break block20;
                        catch (IOException iOException) {
                            throw FirewallRules.a(iOException);
                        }
                    }
                    catch (IOException iOException) {
                        throw FirewallRules.a(iOException);
                    }
                }
                printStream.println("*" + entry.getKey().toLowerCase());
                for (String string : list) {
                    printStream.println(string);
                }
                String[] stringArray = h;
                printStream.println(stringArray[24]);
                printStream.println();
            }
            try {
                printStream.flush();
                if (!printStream.checkError()) return;
                throw new IOException(h[9]);
            }
            catch (IOException iOException) {
                throw FirewallRules.a(iOException);
            }
        }
        finally {
            printStream.flush();
        }
    }

    static Map<String, List<String>> a(Collection<SsgConnector> collection, IpProtocol ipProtocol) {
        LinkedHashMap<String, List<String>> linkedHashMap = new LinkedHashMap<String, List<String>>();
        for (SsgConnector ssgConnector : collection) {
            String string;
            ArrayList<String> arrayList;
            String string2;
            block16: {
                block15: {
                    String[] stringArray = h;
                    string2 = ssgConnector.getProperty(stringArray[50]);
                    try {
                        if (string2 != null && !string2.isEmpty()) break block15;
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw FirewallRules.a(illegalArgumentException);
                    }
                    stringArray = h;
                    string2 = stringArray[51];
                }
                if ((arrayList = (ArrayList<String>)linkedHashMap.get(string2)) == null) {
                    arrayList = new ArrayList<String>();
                }
                String string3 = ssgConnector.getProperty(SsgConnector.PROP_BIND_ADDRESS);
                string = null;
                try {
                    if (string3 == null || !ipProtocol.validateAddress(string3).isEmpty()) break block16;
                }
                catch (IllegalArgumentException illegalArgumentException) {
                    throw FirewallRules.a(illegalArgumentException);
                }
                string = FirewallRules.a(string3);
                try {
                    if (string == null) {
                        logger.log(Level.WARNING, h[44], string3);
                        continue;
                    }
                }
                catch (IllegalArgumentException illegalArgumentException) {
                    throw FirewallRules.a(illegalArgumentException);
                }
            }
            List list = ssgConnector.getTcpPortsUsed();
            for (PortRange portRange : list) {
                StringBuilder stringBuilder;
                block18: {
                    int n2;
                    int n3;
                    block17: {
                        stringBuilder = new StringBuilder();
                        n3 = portRange.getPortStart();
                        n2 = portRange.getPortEnd();
                        try {
                            stringBuilder.append(h[17]);
                            if (string != null) {
                                stringBuilder.append(h[8]);
                                stringBuilder.append(string);
                            }
                        }
                        catch (IllegalArgumentException illegalArgumentException) {
                            throw FirewallRules.a(illegalArgumentException);
                        }
                        try {
                            stringBuilder.append(h[30]);
                            if (n3 != n2) break block17;
                            stringBuilder.append(n3);
                            break block18;
                        }
                        catch (IllegalArgumentException illegalArgumentException) {
                            throw FirewallRules.a(illegalArgumentException);
                        }
                    }
                    stringBuilder.append(n3).append(":").append(n2);
                }
                stringBuilder.append(h[3]);
                arrayList.add(stringBuilder.toString());
            }
            linkedHashMap.put(string2, arrayList);
        }
        return linkedHashMap;
    }

    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    static Map<String, List<String>> b(@NotNull Collection<SsgFirewallRule> collection, @NotNull IpProtocol ipProtocol) {
        try {
            if (collection == null) {
                FirewallRules.a(0);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw FirewallRules.a(illegalArgumentException);
        }
        try {
            if (ipProtocol == null) {
                FirewallRules.a(1);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw FirewallRules.a(illegalArgumentException);
        }
        LinkedHashMap<String, List<String>> linkedHashMap = new LinkedHashMap<String, List<String>>();
        Iterator<SsgFirewallRule> iterator = collection.iterator();
        while (true) {
            StringBuilder stringBuilder;
            ArrayList<String> arrayList;
            String string;
            block62: {
                String string2;
                block63: {
                    String string3;
                    block60: {
                        block61: {
                            String[] stringArray;
                            SsgFirewallRule ssgFirewallRule;
                            block59: {
                                block58: {
                                    if (!iterator.hasNext()) {
                                        return linkedHashMap;
                                    }
                                    ssgFirewallRule = iterator.next();
                                    try {
                                        if (!ssgFirewallRule.isEnabled()) {
                                            continue;
                                        }
                                    }
                                    catch (IllegalArgumentException illegalArgumentException) {
                                        throw FirewallRules.a(illegalArgumentException);
                                    }
                                    stringArray = h;
                                    string = ssgFirewallRule.getProperty(stringArray[54]);
                                    try {
                                        if (string != null && !string.trim().isEmpty()) break block58;
                                    }
                                    catch (IllegalArgumentException illegalArgumentException) {
                                        throw FirewallRules.a(illegalArgumentException);
                                    }
                                    stringArray = h;
                                    string = stringArray[31];
                                }
                                if ((arrayList = (ArrayList<String>)linkedHashMap.get(string)) == null) {
                                    arrayList = new ArrayList<String>();
                                }
                                stringArray = h;
                                stringBuilder = new StringBuilder(stringArray[56]).append(ssgFirewallRule.getProperty(stringArray[60]));
                                String string4 = FirewallRules.a(ssgFirewallRule, a);
                                try {
                                    if (!string4.isEmpty()) {
                                        stringBuilder.append(" ").append(string4);
                                    }
                                }
                                catch (IllegalArgumentException illegalArgumentException) {
                                    throw FirewallRules.a(illegalArgumentException);
                                }
                                String string5 = FirewallRules.a(ssgFirewallRule);
                                String string6 = FirewallRules.a(ssgFirewallRule, f.get(string5));
                                try {
                                    if (!string6.isEmpty()) {
                                        stringBuilder.append(" ").append(string6);
                                    }
                                }
                                catch (IllegalArgumentException illegalArgumentException) {
                                    throw FirewallRules.a(illegalArgumentException);
                                }
                                stringArray = h;
                                String string7 = ssgFirewallRule.getProperty(stringArray[0]);
                                try {
                                    if (string7 == null || string7.isEmpty()) break block59;
                                }
                                catch (IllegalArgumentException illegalArgumentException) {
                                    throw FirewallRules.a(illegalArgumentException);
                                }
                                stringArray = h;
                                stringBuilder.append(" ").append(stringArray[32]).append(string7);
                                string3 = FirewallRules.a(ssgFirewallRule, e.get(string7));
                                try {
                                    try {
                                        if (string3 == null || string3.isEmpty()) break block59;
                                    }
                                    catch (IllegalArgumentException illegalArgumentException) {
                                        throw FirewallRules.a(illegalArgumentException);
                                    }
                                    stringBuilder.append(" ").append(string3);
                                }
                                catch (IllegalArgumentException illegalArgumentException) {
                                    throw FirewallRules.a(illegalArgumentException);
                                }
                            }
                            stringArray = h;
                            string3 = FirewallRules.a(ssgFirewallRule, stringArray[5]);
                            string2 = FirewallRules.a(ssgFirewallRule, stringArray[61]);
                            try {
                                try {
                                    try {
                                        try {
                                            if (!ipProtocol.equals((Object)IpProtocol.IPv4)) break block60;
                                            if (string3 == null) break block61;
                                        }
                                        catch (IllegalArgumentException illegalArgumentException) {
                                            throw FirewallRules.a(illegalArgumentException);
                                        }
                                        if (string3.isEmpty()) break block61;
                                    }
                                    catch (IllegalArgumentException illegalArgumentException) {
                                        throw FirewallRules.a(illegalArgumentException);
                                    }
                                    if (!InetAddressUtil.isValidIpv4Address((String)string3)) {
                                        continue;
                                    }
                                }
                                catch (IllegalArgumentException illegalArgumentException) {
                                    throw FirewallRules.a(illegalArgumentException);
                                }
                            }
                            catch (IllegalArgumentException illegalArgumentException) {
                                throw FirewallRules.a(illegalArgumentException);
                            }
                        }
                        try {
                            try {
                                try {
                                    if (string2 == null || string2.isEmpty()) break block62;
                                }
                                catch (IllegalArgumentException illegalArgumentException) {
                                    throw FirewallRules.a(illegalArgumentException);
                                }
                                if (!InetAddressUtil.isValidIpv4Address((String)string2)) {
                                    continue;
                                }
                                break block62;
                            }
                            catch (IllegalArgumentException illegalArgumentException) {
                                throw FirewallRules.a(illegalArgumentException);
                            }
                        }
                        catch (IllegalArgumentException illegalArgumentException) {
                            throw FirewallRules.a(illegalArgumentException);
                        }
                    }
                    try {
                        try {
                            try {
                                try {
                                    if (!ipProtocol.equals((Object)IpProtocol.IPv6)) break block62;
                                    if (string3 == null) break block63;
                                }
                                catch (IllegalArgumentException illegalArgumentException) {
                                    throw FirewallRules.a(illegalArgumentException);
                                }
                                if (string3.isEmpty()) break block63;
                            }
                            catch (IllegalArgumentException illegalArgumentException) {
                                throw FirewallRules.a(illegalArgumentException);
                            }
                            if (!InetAddressUtil.isValidIpv6Address((String)string3)) {
                                continue;
                            }
                        }
                        catch (IllegalArgumentException illegalArgumentException) {
                            throw FirewallRules.a(illegalArgumentException);
                        }
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw FirewallRules.a(illegalArgumentException);
                    }
                }
                try {
                    try {
                        try {
                            if (string2 == null || string2.isEmpty()) break block62;
                        }
                        catch (IllegalArgumentException illegalArgumentException) {
                            throw FirewallRules.a(illegalArgumentException);
                        }
                        if (!InetAddressUtil.isValidIpv6Address((String)string2)) {
                            continue;
                        }
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw FirewallRules.a(illegalArgumentException);
                    }
                }
                catch (IllegalArgumentException illegalArgumentException) {
                    throw FirewallRules.a(illegalArgumentException);
                }
            }
            arrayList.add(stringBuilder.toString());
            linkedHashMap.put(string, arrayList);
        }
    }

    private static String a(@NotNull SsgFirewallRule ssgFirewallRule, String string) {
        try {
            if (ssgFirewallRule == null) {
                FirewallRules.a(2);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw FirewallRules.a(illegalArgumentException);
        }
        String string2 = ssgFirewallRule.getProperty(string);
        if (string2 != null) {
            Matcher matcher = g.matcher(string2);
            try {
                if (matcher.matches()) {
                    return matcher.group(1);
                }
            }
            catch (IllegalArgumentException illegalArgumentException) {
                throw FirewallRules.a(illegalArgumentException);
            }
        }
        return null;
    }

    private static String a(@NotNull SsgFirewallRule ssgFirewallRule, List<String> list) {
        try {
            if (ssgFirewallRule == null) {
                FirewallRules.a(3);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw FirewallRules.a(illegalArgumentException);
        }
        StringBuilder stringBuilder = new StringBuilder();
        if (list != null) {
            for (String string : list) {
                String string2;
                String string3;
                block19: {
                    String string4;
                    block18: {
                        block17: {
                            try {
                                if (string.length() != 1) break block17;
                                string4 = "-";
                                break block18;
                            }
                            catch (IllegalArgumentException illegalArgumentException) {
                                throw FirewallRules.a(illegalArgumentException);
                            }
                        }
                        String[] stringArray = h;
                        string4 = stringArray[25];
                    }
                    string3 = string4;
                    string2 = ssgFirewallRule.getProperty(string);
                    try {
                        if (!string.equals(h[11]) && !string.equals(h[28])) break block19;
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw FirewallRules.a(illegalArgumentException);
                    }
                    String string5 = string2;
                    if (string5 != null) {
                        string2 = FirewallRules.a(string5);
                        try {
                            if (string2 == null) {
                                logger.log(Level.WARNING, h[47] + string + h[36], string5);
                                continue;
                            }
                        }
                        catch (IllegalArgumentException illegalArgumentException) {
                            throw FirewallRules.a(illegalArgumentException);
                        }
                    }
                }
                try {
                    try {
                        if (string2 == null || string2.trim().isEmpty()) continue;
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw FirewallRules.a(illegalArgumentException);
                    }
                    stringBuilder.append(string3).append(string).append(" ").append(string2).append(" ");
                }
                catch (IllegalArgumentException illegalArgumentException) {
                    throw FirewallRules.a(illegalArgumentException);
                }
            }
        }
        return stringBuilder.toString().trim();
    }

    private static String a(@NotNull SsgFirewallRule ssgFirewallRule) {
        try {
            if (ssgFirewallRule == null) {
                FirewallRules.a(4);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw FirewallRules.a(illegalArgumentException);
        }
        String string = ssgFirewallRule.getProperty(h[45]);
        if (string == null) {
            string = ssgFirewallRule.getProperty("p");
        }
        return string;
    }

    /*
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    private static String a(String string) {
        NetworkInterface networkInterface;
        block5: {
            String string2 = null;
            try {
                networkInterface = InetAddress.getByName(string).isLoopbackAddress() ? NetworkInterface.getByInetAddress(InetAddress.getLocalHost()) : NetworkInterface.getByInetAddress(InetAddress.getByName(string));
                try {
                    if (networkInterface == null) return string2;
                    break block5;
                }
                catch (IOException iOException) {
                    throw FirewallRules.a(iOException);
                }
            }
            catch (IOException iOException) {
                String[] stringArray = h;
                logger.log(Level.FINE, stringArray[4] + string + stringArray[37], ExceptionUtils.getDebugException((Throwable)iOException));
            }
            return string2;
        }
        while (networkInterface.isVirtual()) {
            networkInterface = networkInterface.getParent();
        }
        return networkInterface.getName();
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[64];
                var3_1 = 0;
                var2_2 = "*=\u0014(\u0010$-\n,@ik4!\u00166\u0004we2<\b&:\u0018?Dbd4\n`e\u0013xhDI\u0005\u0018-.\u0015&\u0018:Eb*4'Y<Lso2%\u00106L'd%<\u000e7[l*)&\r=[ak#-Y>Fu*)8Y\u007f\u00063'\f*Jb\u00063'\f*Jb\u000b'-\r\b[h~/+\u00164\u0004`e\u0010x\"\u0005:\u000b7['}(!\u0015=\tpx)<\u00106N'l):\u001c/Hkf`:\f4Lt\u000538\u0016*]\f)&T1Gso2.\u0018;L\u0005$8\u0016*]\u0004)+\u0014($#'\u0014wE0~%+\u0011wZbx6-\u000bw\\sc,g?1[b}!$\u0015\n\\ko3\u00033:\u001a\b4'T(Fu~3\u000f\u001bxCht''\u0001h0\u0016yR^`\n)8)*Fse#'\u0015\u0013#:\u001c9]bL):\u001c/Hkf\u0012=\u0015=Z\u00052=\u0015=Z\u0005$8\u0016*]\u0010$-\n,@ik4!\u00166\u0004we2<>\u0001:\u001e-Dbd4h\u001f7['J\u000e'\r\u0016\\kf`8\u0018*Hjo4-\u000bx\u000e\"ygh\u0016>\t\"ynm\nxDry4h\u00177]'h%h\u0017-Ek\u0006\u0003\u00074\u0015`S\u0002me\n4+\tuFw~)'\u0017\u000e4'T<Lt~)&\u0018,@hd\r/=\ru@i~%:\u001f9Jb\u0006\u0001\u000b:\u001dyS\u0017`e\tx]dz`e\u0014x]dz`eT<Yhx4h\u0006&!\u0015,Lu\u0003m\"Y\u000331\u0017\u000538\u0016*]\t4+\tuOkk';\u0011`>\u00184\\b*&:\u00165\tu\u007f,-W\u0002gf\u000b3'\f*Jb'0'\u000b,\u00042=\u0015=\f)&T1Gso2.\u0018;L\u0003$;\r\b\u0012\r=\u0011{BI\u0014\r/=\ru@i~%:\u001f9JbZ\u0003'\f4M'd/<Y<Lso2%\u00106L'c.<\u001c*Ofi%h\u001f7['C\u0010h\u0018<Muo3;Y\u007f\u000e|:=o^t\tsb);Y;Fid%+\r7['})$\u0015xKb*)&\u0018;Jby3!\u001b4L)\b0:\u0016,Fde,\t)+\u0014(\u0004ss0-@\u0003'\f4M'd/<Y<Lso2%\u00106L'c.<\u001c*Ofi%h\u001f7['C\u0010h\u0018<Muo3;Y\u007f\u000e|:=o^t\thg)<\r1G`*g\u000b$-\n,@ik4!\u00166\u0003\u000e\t-\u00054)\u001b4L\u0006&!\u0015,Lu\u00035,\t\u0004\u0004\u00068\f\u00054)\u001b4L\u00034+\t\t\u001bxCht''\u0001h\b0:\u0016,Fde,\n'-\r\u0017Ysc/&\n\u000b3'\f*Jb'0'\u000b,\u0005# \u00181G\u000b$-\n,@ik4!\u00166";
                var4_3 = "*=\u0014(\u0010$-\n,@ik4!\u00166\u0004we2<\b&:\u0018?Dbd4\n`e\u0013xhDI\u0005\u0018-.\u0015&\u0018:Eb*4'Y<Lso2%\u00106L'd%<\u000e7[l*)&\r=[ak#-Y>Fu*)8Y\u007f\u00063'\f*Jb\u00063'\f*Jb\u000b'-\r\b[h~/+\u00164\u0004`e\u0010x\"\u0005:\u000b7['}(!\u0015=\tpx)<\u00106N'l):\u001c/Hkf`:\f4Lt\u000538\u0016*]\f)&T1Gso2.\u0018;L\u0005$8\u0016*]\u0004)+\u0014($#'\u0014wE0~%+\u0011wZbx6-\u000bw\\sc,g?1[b}!$\u0015\n\\ko3\u00033:\u001a\b4'T(Fu~3\u000f\u001bxCht''\u0001h0\u0016yR^`\n)8)*Fse#'\u0015\u0013#:\u001c9]bL):\u001c/Hkf\u0012=\u0015=Z\u00052=\u0015=Z\u0005$8\u0016*]\u0010$-\n,@ik4!\u00166\u0004we2<>\u0001:\u001e-Dbd4h\u001f7['J\u000e'\r\u0016\\kf`8\u0018*Hjo4-\u000bx\u000e\"ygh\u0016>\t\"ynm\nxDry4h\u00177]'h%h\u0017-Ek\u0006\u0003\u00074\u0015`S\u0002me\n4+\tuFw~)'\u0017\u000e4'T<Lt~)&\u0018,@hd\r/=\ru@i~%:\u001f9Jb\u0006\u0001\u000b:\u001dyS\u0017`e\tx]dz`e\u0014x]dz`eT<Yhx4h\u0006&!\u0015,Lu\u0003m\"Y\u000331\u0017\u000538\u0016*]\t4+\tuOkk';\u0011`>\u00184\\b*&:\u00165\tu\u007f,-W\u0002gf\u000b3'\f*Jb'0'\u000b,\u00042=\u0015=\f)&T1Gso2.\u0018;L\u0003$;\r\b\u0012\r=\u0011{BI\u0014\r/=\ru@i~%:\u001f9JbZ\u0003'\f4M'd/<Y<Lso2%\u00106L'c.<\u001c*Ofi%h\u001f7['C\u0010h\u0018<Muo3;Y\u007f\u000e|:=o^t\tsb);Y;Fid%+\r7['})$\u0015xKb*)&\u0018;Jby3!\u001b4L)\b0:\u0016,Fde,\t)+\u0014(\u0004ss0-@\u0003'\f4M'd/<Y<Lso2%\u00106L'c.<\u001c*Ofi%h\u001f7['C\u0010h\u0018<Muo3;Y\u007f\u000e|:=o^t\thg)<\r1G`*g\u000b$-\n,@ik4!\u00166\u0003\u000e\t-\u00054)\u001b4L\u0006&!\u0015,Lu\u00035,\t\u0004\u0004\u00068\f\u00054)\u001b4L\u00034+\t\t\u001bxCht''\u0001h\b0:\u0016,Fde,\n'-\r\u0017Ysc/&\n\u000b3'\f*Jb'0'\u000b,\u0005# \u00181G\u000b$-\n,@ik4!\u00166".length();
                var1_4 = 4;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = FirewallRules.a(v0, FirewallRules.b(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "b}Is\u007f~+c}[|\b2)b}I}\u000b#+ckL\f-'\u0007\u001bSLd.0\u0016!P";
                    var4_3 = "b}Is\u007f~+c}[|\b2)b}I}\u000b#+ckL\f-'\u0007\u001bSLd.0\u0016!P".length();
                    var1_4 = 24;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 70;
                        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++] = FirewallRules.a(v0, FirewallRules.b(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;
            }
        }
        FirewallRules.h = var5;
        FirewallRules.logger = Logger.getLogger(FirewallRules.class.getName());
        var6_7 = new ArrayList<String>();
        var6_7.add("p");
        var0_6 = FirewallRules.h;
        var6_7.add(var0_6[57]);
        var6_7.add("s");
        var6_7.add(var0_6[15]);
        var6_7.add(var0_6[6]);
        var6_7.add("d");
        var6_7.add(var0_6[41]);
        var6_7.add(var0_6[48]);
        var6_7.add("i");
        var6_7.add(var0_6[40]);
        var6_7.add("o");
        var6_7.add(var0_6[43]);
        var6_7.add("f");
        var6_7.add(var0_6[2]);
        FirewallRules.a = Collections.unmodifiableList(var6_7);
        var7_8 = new ArrayList<String>();
        var7_8.add(var0_6[10]);
        var7_8.add(var0_6[38]);
        var7_8.add(var0_6[21]);
        var7_8.add(var0_6[22]);
        var7_8.add(var0_6[35]);
        var7_8.add(var0_6[33]);
        var7_8.add(var0_6[26]);
        FirewallRules.b = Collections.unmodifiableList(var7_8);
        var8_9 = new ArrayList<String>();
        var8_9.add(var0_6[34]);
        var8_9.add(var0_6[59]);
        var8_9.add(var0_6[12]);
        var8_9.add(var0_6[1]);
        FirewallRules.c = Collections.unmodifiableList(var8_9);
        var9_10 = new ArrayList<String>();
        var9_10.add(var0_6[46]);
        FirewallRules.d = Collections.unmodifiableList(var9_10);
        var10_11 = new ArrayList<String>();
        var10_11.add(var0_6[16]);
        var11_12 = new ArrayList<String>();
        var11_12.add(var0_6[27]);
        var12_13 = new HashMap<String, ArrayList<E>>();
        var12_13.put(var0_6[42], var10_11);
        var12_13.put(var0_6[53], var11_12);
        var12_13.put(var0_6[29], new ArrayList<E>());
        FirewallRules.e = Collections.unmodifiableMap(var12_13);
        var13_14 = new HashMap<String, List<String>>();
        var13_14.put(var0_6[55], FirewallRules.b);
        var13_14.put(var0_6[52], FirewallRules.c);
        var13_14.put(var0_6[13], FirewallRules.d);
        FirewallRules.f = Collections.unmodifiableMap(var13_14);
        FirewallRules.g = Pattern.compile(var0_6[62]);
    }

    /*
     * 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 2[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;
    }

    private static char[] b(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x46);
        }
        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 -> 12;
                    case 1 -> 4;
                    case 2 -> 53;
                    case 3 -> 20;
                    case 4 -> 101;
                    case 5 -> 75;
                    default -> 70;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

