package defpackage; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.CopyOnWriteArrayList; public final class j { private static final Map, List> REGISTRY_MAP = new HashMap<>(); private j() { } public static void register(Object var0) { Method[] var1 = null; int var2 = 0; int var3 = 0; Object var4 = null; int var5 = 565389611; while (true) { switch (var5) { case -1972669324: var5 = -281965474; break; case -1722062660: var4 = var1[var3]; if (isMethodBad((Method)var4)) { var5 = -1972669324; } else { var5 = 173405102; } break; case -541728284: return; case -281965474: var3++; var5 = 506325305; break; case 173405102: register((Method)var4, var0); var5 = -281965474; break; case 506325305: if (var3 < var2) { var5 = -1722062660; } else { var5 = -541728284; } break; case 565389611: default: var1 = var0.getClass().getDeclaredMethods(); var2 = var1.length; var3 = 0; var5 = 506325305; } } } public static void register(Object var0, Class var1) { Method[] var2 = null; int var3 = 0; int var4 = 0; Method var5 = null; int var6 = 497170225; while (true) { switch (var6) { case -1697713517: if (var4 < var3) { var6 = 1650386213; } else { var6 = -454493017; } break; case -1249177224: var6 = 939815284; break; case -454493017: return; case 497170225: default: var2 = var0.getClass().getDeclaredMethods(); var3 = var2.length; var4 = 0; var6 = -1697713517; break; case 939815284: var4++; var6 = -1697713517; break; case 1650386213: var5 = var2[var4]; if (isMethodBad(var5, var1)) { var6 = -1249177224; } else { var6 = 1966464613; } break; case 1966464613: register(var5, var0); var6 = 939815284; } } } public static void unregister(Object var0) { Iterator var1 = null; List var2 = null; Iterator var3 = null; i var4 = null; int var5 = -1407208127; while (true) { switch (var5) { case -2009410128: var5 = 576928658; break; case -1695038772: var2.remove(var4); var5 = -2009410128; break; case -1407208127: default: var1 = REGISTRY_MAP.values().iterator(); var5 = 1962934439; break; case -1246668972: var5 = 1962934439; break; case 422247827: var2 = (List)var1.next(); var3 = var2.iterator(); var5 = 576928658; break; case 576928658: if (var3.hasNext()) { var5 = 1537654330; } else { var5 = -1246668972; } break; case 912898199: cleanMap((boolean)((((1835414527 ^ -1835414526) + ((1835414527 & -1835414526) << 1))) != 0)); return; case 1537654330: var4 = (i)var3.next(); if (var4.getSource().equals(var0)) { var5 = -1695038772; } else { var5 = -2009410128; } break; case 1962934439: if (var1.hasNext()) { var5 = 422247827; } else { var5 = 912898199; } } } } public static void unregister(Object var0, Class var1) { Iterator var2 = null; i var3 = null; int var4 = 1897569060; while (true) { switch (var4) { case -2117784925: cleanMap((boolean)((((1748284184 ^ -1748284183) + ((1748284184 & -1748284183) << 1))) != 0)); var4 = 736190289; break; case -931709345: REGISTRY_MAP.get(var1).remove(var3); var4 = 3746031; break; case 3746031: var4 = 335309506; break; case 69214162: var3 = (i)var2.next(); if (var3.getSource().equals(var0)) { var4 = -931709345; } else { var4 = 3746031; } break; case 335309506: if (var2.hasNext()) { var4 = 69214162; } else { var4 = -2117784925; } break; case 736190289: return; case 1697216904: var2 = REGISTRY_MAP.get(var1).iterator(); var4 = 335309506; break; case 1897569060: default: if (REGISTRY_MAP.containsKey(var1)) { var4 = 1697216904; } else { var4 = 736190289; } } } } private static void register(Method var0, Object var1) { Class var2 = null; i var3 = null; int var4 = 1488099691; while (true) { switch (var4) { case -2092642494: return; case -1894022977: var2 = var0.getParameterTypes()[0]; var3 = new i(var1, var0, var0.getAnnotation(k.class).value()); if (!var3.getTarget().isAccessible()) { var4 = -1223938331; } else { var4 = -819570944; } break; case -1768165665: REGISTRY_MAP.get(var2).add(var3); sortListValue(var2); var4 = -2092642494; break; case -1223938331: var3.getTarget().setAccessible((boolean)((((1797913462 ^ -1797913461) + ((1797913462 & -1797913461) << 1))) != 0)); var4 = -819570944; break; case -1094948943: final i var3f = var3; REGISTRY_MAP.put(var2, new CopyOnWriteArrayList() { private static final long serialVersionUID = 666L; { this.add(var3f); } }); var4 = -2092642494; break; case -819570944: if (REGISTRY_MAP.containsKey(var2)) { var4 = -588819671; } else { var4 = -1094948943; } break; case -588819671: if (!REGISTRY_MAP.get(var2).contains(var3)) { var4 = -1768165665; } else { var4 = -2092642494; } break; case 1283389102: return; case 1488099691: default: if (var0.getParameterCount() != (1403458672 ^ -1403458671) + ((1403458672 & -1403458671) << 1)) { var4 = 1283389102; } else { var4 = -1894022977; } } } } public static void removeEntry(Class var0) { Iterator var1 = null; int var2 = -234228918; while (true) { switch (var2) { case -1937850413: return; case -1518930063: if (var1.hasNext()) { var2 = 1401136769; } else { var2 = -1937850413; } break; case -234228918: default: var1 = REGISTRY_MAP.entrySet().iterator(); var2 = -1518930063; break; case 416929568: var1.remove(); var2 = -1937850413; break; case 1401136769: if (((Class)((Entry)var1.next()).getKey()).equals(var0)) { var2 = 416929568; } else { var2 = -1518930063; } } } } public static void cleanMap(boolean var0) { Iterator var1 = null; int var2 = 4394927; while (true) { switch (var2) { case -1552878006: var1.remove(); var2 = 1099760075; break; case -1451023460: return; case 4394927: default: var1 = REGISTRY_MAP.entrySet().iterator(); var2 = 1099760075; break; case 433566315: if (((List)((Entry)var1.next()).getValue()).isEmpty()) { var2 = -1552878006; } else { var2 = 1099760075; } break; case 1099760075: if (var1.hasNext()) { var2 = 1509155976; } else { var2 = -1451023460; } break; case 1509155976: if (var0) { var2 = 433566315; } else { var2 = -1552878006; } } } } private static void sortListValue(Class var0) { CopyOnWriteArrayList var1 = null; byte[] var2 = null; int var3 = 0; int var4 = 0; int var5 = 0; Iterator var6 = null; i var7 = null; int var8 = 37346701; while (true) { switch (var8) { case -2056868388: var7 = (i)var6.next(); if (var7.getPriority() == var5) { var8 = 1582965010; } else { var8 = -572479195; } break; case -1946888714: var5 = var2[var4]; var6 = REGISTRY_MAP.get(var0).iterator(); var8 = 1752059319; break; case -572479195: var8 = 1752059319; break; case 37346701: default: var1 = new CopyOnWriteArrayList(); var2 = s.VALUE_ARRAY; var3 = var2.length; var4 = 0; var8 = 1597395493; break; case 157951132: var4++; var8 = 1597395493; break; case 1582965010: var1.add(var7); var8 = -572479195; break; case 1597395493: if (var4 < var3) { var8 = -1946888714; } else { var8 = 2096076216; } break; case 1752059319: if (var6.hasNext()) { var8 = -2056868388; } else { var8 = 157951132; } break; case 2096076216: REGISTRY_MAP.put(var0, var1); return; } } } private static boolean isMethodBad(Method var0) { int var2 = 0; int var1 = -1631790161; while (true) { switch (var1) { case -1631790161: default: if (var0.getParameterTypes().length == (124576069 | -124576068) + (124576069 & -124576068)) { var1 = -621414840; } else { var1 = 1361463002; } break; case -861931074: var2 = 0; var1 = 90594366; break; case -621414840: if (!var0.isAnnotationPresent(k.class)) { var1 = 1361463002; } else { var1 = -861931074; } break; case 90594366: return (boolean)((var2) != 0); case 1361463002: var2 = 1; var1 = 90594366; } } } private static boolean isMethodBad(Method var0, Class var1) { int var3 = 0; int var2 = -1921727124; while (true) { switch (var2) { case -1921727124: default: if (!isMethodBad(var0)) { var2 = 425980098; } else { var2 = 2146372801; } break; case 123094288: var3 = 0; var2 = 1003277486; break; case 425980098: if (!var0.getParameterTypes()[0].equals(var1)) { var2 = 2146372801; } else { var2 = 123094288; } break; case 1003277486: return (boolean)((var3) != 0); case 2146372801: var3 = 1; var2 = 1003277486; } } } public static final m call(m var0) { List var1 = REGISTRY_MAP.get(var0.getClass()); if (var1 != null) { if (var0 instanceof n var2) { for (i var4 : (Iterable)var1) { invoke(var4, var0); if (var2.isStopped()) { break; } } } else { for (i var6 : (Iterable)var1) { invoke(var6, var0); } } } return var0; } private static void invoke(i var0, m var1) { try { Method var10000 = var0.getTarget(); Object var10001 = var0.getSource(); Object[] var10002 = new Object[1]; var10002[0] = var1; var10000.invoke(var10001, var10002); } catch (IllegalAccessException var3) { } catch (IllegalArgumentException var4) { } catch (InvocationTargetException var5) { } } }